treeselectjs 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ (function(C,m){typeof exports=="object"&&typeof module<"u"?module.exports=m():typeof define=="function"&&define.amd?define(m):(C=typeof globalThis<"u"?globalThis:C||self,C.Treeselect=m())})(this,function(){var O,y,H,x,he,Ft,G,ne,ue,jt,pe,qt,M,oe,P,j,me,$t,fe,Wt,Ce,Rt,be,Ut,ge,zt,we,Yt,ke,Kt,Ee,Xt,ve,Jt,Le,Zt,ye,Qt,xe,es,Se,ts,_e,ss,Ae,is,Te,ls,z,vt,F,B,_,Y,Ne,ns,Oe,os,Pe,as,Be,rs,Ve,cs,De,ds,K,Lt,Ie,hs,He,us,Ge,ps,X,yt,Me,ms,Fe,fs,je,Cs,qe,bs,$e,gs,We,ws,Re,ks,Ue,Es,ze,vs,Ye,Ls,Ke,ys,J,xt,Z,St,Xe,xs,h,p,q,Q,$,A,T,S,V,ee,_t,W,mt,Je,Ss,Ze,_s,Qe,As,et,Ts,tt,Ns,st,Os,it,Ps,lt,Bs,nt,Vs,ot,Ds,te,At,at,Is,R,ft,se,Tt,U,Ct,rt,Hs,ie,Nt,ct,Gs,dt,Ms,ht,Fs;"use strict";var Si=Object.defineProperty;var _i=(C,m,f)=>m in C?Si(C,m,{enumerable:!0,configurable:!0,writable:!0,value:f}):C[m]=f;var c=(C,m,f)=>(_i(C,typeof m!="symbol"?m+"":m,f),f),Et=(C,m,f)=>{if(!m.has(C))throw TypeError("Cannot "+f)};var n=(C,m,f)=>(Et(C,m,"read from private field"),f?f.call(C):m.get(C)),r=(C,m,f)=>{if(m.has(C))throw TypeError("Cannot add the same private member more than once");m instanceof WeakSet?m.add(C):m.set(C,f)},b=(C,m,f,ae)=>(Et(C,m,"write to private field"),ae?ae.call(C,f):m.set(C,f),f);var a=(C,m,f)=>(Et(C,m,"access private method"),f);const C="",m={arrowUp:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 15l-6-6-6 6"/></svg>',arrowDown:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>',arrowRight:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',attention:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',clear:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',cross:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',check:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>',partialCheck:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></svg>'},f=(l,e)=>{if(e.innerHTML="",typeof l=="string")e.innerHTML=l;else{const t=l.cloneNode(!0);e.appendChild(t)}},ae=l=>{const e=l?{...l}:{};return Object.keys(m).forEach(t=>{e[t]||(e[t]=m[t])}),e},js=l=>l.reduce((e,{name:t},s)=>(e+=t,s<l.length-1&&(e+=", "),e),"");class qs{constructor({value:e,showTags:t,tagsCountText:s,clearable:i,isAlwaysOpened:o,searchable:d,placeholder:u,disabled:g,isSingleSelect:w,id:k,iconElements:E,inputCallback:v,searchCallback:L,openCallback:D,closeCallback:I,keydownCallback:le,focusCallback:ut,blurCallback:kt,nameChangeCallback:pt}){r(this,he);r(this,G);r(this,ue);r(this,pe);r(this,M);r(this,P);r(this,me);r(this,fe);r(this,Ce);r(this,be);r(this,ge);r(this,we);r(this,ke);r(this,Ee);r(this,ve);r(this,Le);r(this,ye);r(this,xe);r(this,Se);r(this,_e);r(this,Ae);r(this,Te);r(this,z);c(this,"value");c(this,"showTags");c(this,"tagsCountText");c(this,"clearable");c(this,"isAlwaysOpened");c(this,"searchable");c(this,"placeholder");c(this,"disabled");c(this,"isSingleSelect");c(this,"id");c(this,"iconElements");c(this,"isOpened");c(this,"searchText");c(this,"srcElement");r(this,O,void 0);r(this,y,void 0);r(this,H,void 0);r(this,x,void 0);c(this,"inputCallback");c(this,"searchCallback");c(this,"openCallback");c(this,"closeCallback");c(this,"keydownCallback");c(this,"focusCallback");c(this,"blurCallback");c(this,"nameChangeCallback");this.value=e,this.showTags=t,this.tagsCountText=s,this.searchable=d,this.placeholder=u,this.clearable=i,this.isAlwaysOpened=o,this.disabled=g,this.isSingleSelect=w,this.id=k,this.iconElements=E,this.isOpened=!1,this.searchText="",b(this,O,a(this,Ce,Rt).call(this)),b(this,y,a(this,ve,Jt).call(this)),b(this,H,a(this,xe,es).call(this)),b(this,x,null),this.inputCallback=v,this.searchCallback=L,this.openCallback=D,this.closeCallback=I,this.keydownCallback=le,this.focusCallback=ut,this.blurCallback=kt,this.nameChangeCallback=pt,this.srcElement=a(this,me,$t).call(this,n(this,O),n(this,y),n(this,H)),a(this,he,Ft).call(this)}focus(){setTimeout(()=>n(this,y).focus(),0)}blur(){this.isOpened&&a(this,P,j).call(this),this.clearSearch(),n(this,y).blur()}updateValue(e){this.value=e,a(this,G,ne).call(this),a(this,M,oe).call(this)}removeItem(e){this.value=this.value.filter(t=>t.id!==e),a(this,z,vt).call(this),a(this,G,ne).call(this),a(this,M,oe).call(this)}clear(){this.value=[],a(this,z,vt).call(this),a(this,G,ne).call(this),this.clearSearch()}openClose(){a(this,P,j).call(this)}clearSearch(){this.searchText="",this.searchCallback(""),a(this,M,oe).call(this)}}O=new WeakMap,y=new WeakMap,H=new WeakMap,x=new WeakMap,he=new WeakSet,Ft=function(){a(this,G,ne).call(this),a(this,M,oe).call(this),a(this,ue,jt).call(this)},G=new WeakSet,ne=function(){if(n(this,O).innerHTML="",this.showTags){n(this,O).append(...a(this,be,Ut).call(this));const e=js(this.value);this.nameChangeCallback(e)}else{const e=a(this,Ee,Xt).call(this);n(this,O).appendChild(e),this.nameChangeCallback(e.innerText)}n(this,O).appendChild(n(this,y))},ue=new WeakSet,jt=function(){const e=[];n(this,H).innerHTML="",this.clearable&&e.push(a(this,Se,ts).call(this)),this.isAlwaysOpened||e.push(a(this,Ae,is).call(this,this.isOpened)),e.length&&n(this,H).append(...e)},pe=new WeakSet,qt=function(){if(!this.isAlwaysOpened&&n(this,x)){const e=this.isOpened?this.iconElements.arrowUp:this.iconElements.arrowDown;f(e,n(this,x))}},M=new WeakSet,oe=function(){var e;(e=this.value)!=null&&e.length?(n(this,y).removeAttribute("placeholder"),this.srcElement.classList.remove("treeselect-input--value-not-selected")):(n(this,y).setAttribute("placeholder",this.placeholder),this.srcElement.classList.add("treeselect-input--value-not-selected")),this.searchable?this.srcElement.classList.remove("treeselect-input--unsearchable"):this.srcElement.classList.add("treeselect-input--unsearchable"),this.isSingleSelect?this.srcElement.classList.add("treeselect-input--is-single-select"):this.srcElement.classList.remove("treeselect-input--is-single-select"),n(this,y).value=this.searchText},P=new WeakSet,j=function(){this.isOpened=!this.isOpened,a(this,pe,qt).call(this),this.isOpened?this.openCallback():this.closeCallback()},me=new WeakSet,$t=function(e,t,s){const i=document.createElement("div");return i.classList.add("treeselect-input"),i.setAttribute("tabindex","-1"),i.addEventListener("mousedown",o=>a(this,fe,Wt).call(this,o)),i.addEventListener("focus",()=>this.focusCallback(),!0),i.addEventListener("blur",()=>this.blurCallback(),!0),e.appendChild(t),i.append(e,s),i},fe=new WeakSet,Wt=function(e){e.stopPropagation(),this.isOpened||a(this,P,j).call(this),this.focus()},Ce=new WeakSet,Rt=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__tags"),e},be=new WeakSet,Ut=function(){return this.value.map(e=>{const t=document.createElement("div");t.classList.add("treeselect-input__tags-element"),t.setAttribute("tabindex","-1"),t.setAttribute("tag-id",e.id.toString()),t.setAttribute("title",e.name);const s=a(this,we,Yt).call(this,e.name),i=a(this,ke,Kt).call(this);return t.addEventListener("mousedown",o=>a(this,ge,zt).call(this,o,e.id)),t.append(s,i),t})},ge=new WeakSet,zt=function(e,t){e.preventDefault(),e.stopPropagation(),this.removeItem(t),this.focus()},we=new WeakSet,Yt=function(e){const t=document.createElement("span");return t.classList.add("treeselect-input__tags-name"),t.textContent=e,t},ke=new WeakSet,Kt=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__tags-cross"),f(this.iconElements.cross,e),e},Ee=new WeakSet,Xt=function(){const e=document.createElement("span");if(e.classList.add("treeselect-input__tags-count"),!this.value.length)return e.textContent="",e.setAttribute("title",""),e;const t=this.value.length===1?this.value[0].name:`${this.value.length} ${this.tagsCountText}`;return e.textContent=t,e.setAttribute("title",t),e},ve=new WeakSet,Jt=function(){const e=document.createElement("input");return e.classList.add("treeselect-input__edit"),this.id&&e.setAttribute("id",this.id),(!this.searchable||this.disabled)&&e.setAttribute("readonly","readonly"),this.disabled&&e.setAttribute("tabindex","-1"),e.addEventListener("keydown",t=>a(this,Le,Zt).call(this,t)),e.addEventListener("input",t=>a(this,ye,Qt).call(this,t,e)),e},Le=new WeakSet,Zt=function(e){e.stopPropagation();const t=e.key;t==="Backspace"&&!this.searchText.length&&this.value.length&&!this.showTags&&this.clear(),t==="Backspace"&&!this.searchText.length&&this.value.length&&this.removeItem(this.value[this.value.length-1].id),e.code==="Space"&&(!this.searchText||!this.searchable)&&a(this,P,j).call(this),(t==="Enter"||t==="ArrowDown"||t==="ArrowUp")&&e.preventDefault(),this.keydownCallback(e),t!=="Tab"&&this.focus()},ye=new WeakSet,Qt=function(e,t){e.stopPropagation();const s=this.searchText,i=t.value.trim();if(s.length===0&&i.length===0){t.value="";return}if(this.searchable){const o=e.target.value;this.searchCallback(o),this.isOpened||a(this,P,j).call(this)}else t.value="";this.searchText=t.value},xe=new WeakSet,es=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__operators"),e},Se=new WeakSet,ts=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__clear"),e.setAttribute("tabindex","-1"),f(this.iconElements.clear,e),e.addEventListener("mousedown",t=>a(this,_e,ss).call(this,t)),e},_e=new WeakSet,ss=function(e){e.preventDefault(),e.stopPropagation(),(this.searchText.length||this.value.length)&&this.clear(),this.focus()},Ae=new WeakSet,is=function(e){b(this,x,document.createElement("span")),n(this,x).classList.add("treeselect-input__arrow");const t=e?this.iconElements.arrowUp:this.iconElements.arrowDown;return f(t,n(this,x)),n(this,x).addEventListener("mousedown",s=>a(this,Te,ls).call(this,s)),n(this,x)},Te=new WeakSet,ls=function(e){e.stopPropagation(),e.preventDefault(),this.focus(),a(this,P,j).call(this)},z=new WeakSet,vt=function(){this.inputCallback(this.value)};const Ot=(l,e,t)=>{Us(e);const s=e.filter(i=>!i.disabled&&l.some(o=>o===i.id));if(t&&s.length){s[0].checked=!0;return}s.forEach(i=>{i.checked=!0;const o=bt(i,e);i.checked=o})},bt=({id:l,checked:e},t)=>{const s=t.find(o=>o.id===l);if(!s)return!1;const i=Pt(!!e,s,t);return Bt(s,t),i},Pt=(l,e,t)=>{if(!e.isGroup)return e.checked=e.disabled?!1:!!l,e.isPartialChecked=!1,e.checked;const s=t.filter(u=>u.childOf===e.id);return!l||e.disabled||e.isPartialChecked?(e.checked=!1,e.isPartialChecked=!1,gt(e,s,t),e.checked):Vt(s,t)?Dt(s)?(e.checked=!1,e.isPartialChecked=!1,e.disabled=!0,e.checked):(e.checked=!1,e.isPartialChecked=!0,s.forEach(u=>{Pt(l,u,t)}),e.checked):(e.checked=!0,e.isPartialChecked=!1,gt(e,s,t),e.checked)},Bt=(l,e)=>{const t=e.find(s=>s.id===l.childOf);t&&($s(t,e),Bt(t,e))},$s=(l,e)=>{const t=re(l,e);if(Dt(t)){l.checked=!1,l.isPartialChecked=!1,l.disabled=!0;return}if(Ws(t)){l.checked=!0,l.isPartialChecked=!1;return}if(Rs(t)){l.checked=!1,l.isPartialChecked=!0;return}l.checked=!1,l.isPartialChecked=!1},gt=({checked:l,disabled:e},t,s)=>{t.forEach(i=>{i.disabled=!!e,i.checked=!!l&&!i.disabled,i.isPartialChecked=!1;const o=re(i,s);gt({checked:l,disabled:e},o,s)})},Vt=(l,e)=>l.some(i=>i.disabled)?!0:l.some(i=>{if(i.isGroup){const o=re(i,e);return Vt(o,e)}return!1}),Dt=l=>l.every(e=>!!e.disabled),Ws=l=>l.every(e=>!!e.checked),Rs=l=>l.some(e=>!!e.checked||!!e.isPartialChecked),Us=l=>{l.forEach(e=>{e.checked=!1,e.isPartialChecked=!1})},zs=(l,e,t="",s=0)=>{const i=It(l,e,t,s);return Ks(i)},It=(l,e,t,s)=>l.reduce((i,o)=>{var w;const d=!!((w=o.children)!=null&&w.length),u=s>=e&&d,g=s>e;if(i.push({id:o.value,name:o.name,childOf:t,isGroup:d,checked:!1,isPartialChecked:!1,level:s,isClosed:u,hidden:g,disabled:o.disabled??!1}),d){const k=It(o.children,e,o.value,s+1);i.push(...k)}return i},[]),re=({id:l},e)=>e.filter(t=>t.childOf===l),Ys=l=>{const{ungroupedNodes:e,allGroupedNodes:t,allNodes:s}=l.reduce((o,d)=>(d.checked&&(o.allNodes.push(d),d.isGroup?o.allGroupedNodes.push(d):o.ungroupedNodes.push(d)),o),{ungroupedNodes:[],allGroupedNodes:[],allNodes:[]}),i=s.filter(o=>!t.some(({id:d})=>d===o.childOf));return{ungroupedNodes:e,groupedNodes:i,allNodes:s}},Ks=l=>(l.filter(t=>!!t.disabled).forEach(({id:t})=>bt({id:t,checked:!1},l)),l),ce=(l,{id:e,isClosed:t})=>{re({id:e},l).forEach(i=>{i.hidden=t??!1,i.isGroup&&!i.isClosed&&ce(l,{id:i.id,isClosed:t})})},Xs=l=>{l.filter(e=>e.isGroup&&!e.disabled&&(e.checked||e.isPartialChecked)).forEach(e=>{e.isClosed=!1,ce(l,e)})},Js=(l,e)=>{const t=Zs(l,e);l.forEach(s=>{t.some(({id:o})=>o===s.id)?(s.isGroup&&(s.isClosed=!1,ce(l,s)),s.hidden=!1):s.hidden=!0})},Zs=(l,e)=>l.reduce((t,s)=>{if(s.name.toLowerCase().includes(e.toLowerCase())){if(t.push(s),s.isGroup){const o=Ht(s.id,l);t.push(...o)}if(s.childOf){const o=Gt(s.childOf,l);t.push(...o)}}return t},[]),Ht=(l,e)=>e.reduce((t,s)=>(s.childOf===l&&(t.push(s),s.isGroup&&t.push(...Ht(s.id,e))),t),[]),Gt=(l,e)=>e.reduce((t,s)=>(s.id===l&&(t.push(s),s.childOf&&t.push(...Gt(s.childOf,e))),t),[]),Qs=l=>{const{duplications:e}=l.reduce((t,s)=>(t.allItems.some(i=>i.toString()===s.id.toString())&&t.duplications.push(s.id),t.allItems.push(s.id),t),{duplications:[],allItems:[]});e.length&&console.error(`Validation: You have duplicated values: ${e.join(", ")}! You should use unique values.`)},ei=(l,e,t,s,i,o,d,u)=>{Ot(l,e,i),u&&d&&Xs(e),de(e,t,s,o)},de=(l,e,t,s)=>{l.forEach(i=>{const o=e.querySelector(`[input-id="${i.id}"]`),d=N(o);o.checked=i.checked,ti(i,d,s),si(i,d),ii(i,d),li(i,d,t),ni(i,d),ai(i,d,l),oi(i,o,t)}),ri(l,e)},ti=(l,e,t)=>{l.checked?e.classList.add("treeselect-list__item--checked"):e.classList.remove("treeselect-list__item--checked"),Array.isArray(t)&&t[0]===l.id&&!l.disabled?e.classList.add("treeselect-list__item--single-selected"):e.classList.remove("treeselect-list__item--single-selected")},si=(l,e)=>{l.isPartialChecked?e.classList.add("treeselect-list__item--partial-checked"):e.classList.remove("treeselect-list__item--partial-checked")},ii=(l,e)=>{l.disabled?e.classList.add("treeselect-list__item--disabled"):e.classList.remove("treeselect-list__item--disabled")},li=(l,e,t)=>{if(l.isGroup){const s=e.querySelector(".treeselect-list__item-icon"),i=l.isClosed?t.arrowRight:t.arrowDown;f(i,s),l.isClosed?e.classList.add("treeselect-list__item--closed"):e.classList.remove("treeselect-list__item--closed")}},ni=(l,e)=>{l.hidden?e.classList.add("treeselect-list__item--hidden"):e.classList.remove("treeselect-list__item--hidden")},oi=(l,e,t)=>{const i=e.parentNode.querySelector(".treeselect-list__item-checkbox-icon");l.checked?f(t.check,i):l.isPartialChecked?f(t.partialCheck,i):i.innerHTML=""},ai=(l,e,t)=>{const s=l.level===0,i=20,o=5;if(s){const d=t.some(g=>g.isGroup&&g.level===l.level),u=!l.isGroup&&d?`${i}px`:`${o}px`;e.style.paddingLeft=l.isGroup?"0":u}else e.style.paddingLeft=l.isGroup?`${l.level*i}px`:`${l.level*i+i}px`;e.setAttribute("level",l.level.toString()),e.setAttribute("group",l.isGroup.toString())},ri=(l,e)=>{const t=l.some(i=>!i.hidden),s=e.querySelector(".treeselect-list__empty");t?s.classList.add("treeselect-list__empty--hidden"):s.classList.remove("treeselect-list__empty--hidden")},N=l=>l.parentNode.parentNode,Mt=(l,e)=>e.find(t=>t.id.toString()===l),ci=l=>N(l).querySelector(".treeselect-list__item-icon"),di=(l,e)=>{e&&Object.keys(e).forEach(t=>{const s=e[t];typeof s=="string"&&l.setAttribute(t,s)})};class hi{constructor({options:e,value:t,openLevel:s,listSlotHtmlComponent:i,emptyText:o,isSingleSelect:d,iconElements:u,showCount:g,disabledBranchNode:w,expandSelected:k,inputCallback:E,arrowClickCallback:v,mouseupCallback:L}){r(this,Ne);r(this,Oe);r(this,Pe);r(this,Be);r(this,Ve);r(this,De);r(this,K);r(this,Ie);r(this,He);r(this,Ge);r(this,X);r(this,Me);r(this,Fe);r(this,je);r(this,qe);r(this,$e);r(this,We);r(this,Re);r(this,Ue);r(this,ze);r(this,Ye);r(this,Ke);r(this,J);r(this,Z);r(this,Xe);c(this,"options");c(this,"value");c(this,"openLevel");c(this,"listSlotHtmlComponent");c(this,"emptyText");c(this,"isSingleSelect");c(this,"showCount");c(this,"disabledBranchNode");c(this,"expandSelected");c(this,"iconElements");c(this,"searchText");c(this,"flattedOptions");c(this,"flattedOptionsBeforeSearch");c(this,"selectedNodes");c(this,"srcElement");c(this,"inputCallback");c(this,"arrowClickCallback");c(this,"mouseupCallback");r(this,F,null);r(this,B,!0);r(this,_,[]);r(this,Y,!0);this.options=e,this.value=t,this.openLevel=s??0,this.listSlotHtmlComponent=i??null,this.emptyText=o??"No results found...",this.isSingleSelect=d??!1,this.showCount=g??!1,this.disabledBranchNode=w??!1,this.expandSelected=k??!1,this.iconElements=u,this.searchText="",this.flattedOptions=zs(this.options,this.openLevel),this.flattedOptionsBeforeSearch=this.flattedOptions,this.selectedNodes={nodes:[],groupedNodes:[]},this.srcElement=a(this,Pe,as).call(this),this.inputCallback=E,this.arrowClickCallback=v,this.mouseupCallback=L,Qs(this.flattedOptions)}updateValue(e){this.value=e,b(this,_,this.isSingleSelect?this.value:[]),ei(e,this.flattedOptions,this.srcElement,this.iconElements,this.isSingleSelect,n(this,_),this.expandSelected,n(this,Y)),b(this,Y,!1),a(this,Z,St).call(this)}updateSearchValue(e){if(e===this.searchText)return;const t=this.searchText===""&&e!=="";this.searchText=e,t&&(this.flattedOptionsBeforeSearch=JSON.parse(JSON.stringify(this.flattedOptions))),this.searchText===""&&(this.flattedOptions=this.flattedOptionsBeforeSearch.map(s=>{const i=this.flattedOptions.find(o=>o.id===s.id);return i.isClosed=s.isClosed,i.hidden=s.hidden,i}),this.flattedOptionsBeforeSearch=[]),this.searchText&&Js(this.flattedOptions,e),de(this.flattedOptions,this.srcElement,this.iconElements,n(this,_)),this.focusFirstListElement()}callKeyAction(e){b(this,B,!1);const t=this.srcElement.querySelector(".treeselect-list__item--focused");if(t==null?void 0:t.classList.contains("treeselect-list__item--hidden"))return;const i=e.key;i==="Enter"&&t&&t.dispatchEvent(new Event("mousedown")),(i==="ArrowLeft"||i==="ArrowRight")&&a(this,Ne,ns).call(this,t,e),(i==="ArrowDown"||i==="ArrowUp")&&a(this,Oe,os).call(this,t,i)}focusFirstListElement(){const e="treeselect-list__item--focused",t=this.srcElement.querySelector(`.${e}`),s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter(o=>window.getComputedStyle(N(o)).display!=="none");if(!s.length)return;t&&t.classList.remove(e),N(s[0]).classList.add(e)}isLastFocusedElementExist(){return!!n(this,F)}}F=new WeakMap,B=new WeakMap,_=new WeakMap,Y=new WeakMap,Ne=new WeakSet,ns=function(e,t){if(!e)return;const s=t.key,o=e.querySelector(".treeselect-list__item-checkbox").getAttribute("input-id"),d=Mt(o,this.flattedOptions),u=e.querySelector(".treeselect-list__item-icon");s==="ArrowLeft"&&!d.isClosed&&d.isGroup&&(u.dispatchEvent(new Event("mousedown")),t.preventDefault()),s==="ArrowRight"&&d.isClosed&&d.isGroup&&(u.dispatchEvent(new Event("mousedown")),t.preventDefault())},Oe=new WeakSet,os=function(e,t){var i;const s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter(o=>window.getComputedStyle(N(o)).display!=="none");if(s.length)if(!e)N(s[0]).classList.add("treeselect-list__item--focused");else{const o=s.findIndex(I=>N(I).classList.contains("treeselect-list__item--focused"));N(s[o]).classList.remove("treeselect-list__item--focused");const u=t==="ArrowDown"?o+1:o-1,g=t==="ArrowDown"?0:s.length-1,w=s[u]??s[g],k=!s[u],E=N(w);E.classList.add("treeselect-list__item--focused");const v=this.srcElement.getBoundingClientRect(),L=E.getBoundingClientRect();if(k&&t==="ArrowDown"){this.srcElement.scroll(0,0);return}if(k&&t==="ArrowUp"){this.srcElement.scroll(0,this.srcElement.scrollHeight);return}const D=((i=this.listSlotHtmlComponent)==null?void 0:i.clientHeight)??0;if(v.y+v.height<L.y+L.height+D){this.srcElement.scroll(0,this.srcElement.scrollTop+L.height);return}if(v.y>L.y){this.srcElement.scroll(0,this.srcElement.scrollTop-L.height);return}}},Pe=new WeakSet,as=function(){const e=a(this,Be,rs).call(this),t=a(this,K,Lt).call(this,this.options);e.append(...t);const s=a(this,He,us).call(this);e.append(s);const i=a(this,Ie,hs).call(this);return i&&e.append(i),e},Be=new WeakSet,rs=function(){const e=document.createElement("div");return e.classList.add("treeselect-list"),this.isSingleSelect&&e.classList.add("treeselect-list--single-select"),this.disabledBranchNode&&e.classList.add("treeselect-list--disabled-branch-node"),e.addEventListener("mouseout",t=>a(this,Ve,cs).call(this,t)),e.addEventListener("mousemove",()=>a(this,De,ds).call(this)),e.addEventListener("mouseup",()=>this.mouseupCallback(),!0),e},Ve=new WeakSet,cs=function(e){e.stopPropagation(),n(this,F)&&n(this,B)&&n(this,F).classList.add("treeselect-list__item--focused")},De=new WeakSet,ds=function(){b(this,B,!0)},K=new WeakSet,Lt=function(e){return e.reduce((t,s)=>{var o;if((o=s.children)!=null&&o.length){const d=a(this,Ge,ps).call(this,s),u=a(this,K,Lt).call(this,s.children);return d.append(...u),t.push(d),t}const i=a(this,X,yt).call(this,s,!1);return t.push(i),t},[])},Ie=new WeakSet,hs=function(){if(!this.listSlotHtmlComponent)return null;const e=document.createElement("div");return e.classList.add("treeselect-list__slot"),e.appendChild(this.listSlotHtmlComponent),e},He=new WeakSet,us=function(){const e=document.createElement("div");e.classList.add("treeselect-list__empty"),e.setAttribute("title",this.emptyText);const t=document.createElement("span");t.classList.add("treeselect-list__empty-icon"),f(this.iconElements.attention,t);const s=document.createElement("span");return s.classList.add("treeselect-list__empty-text"),s.textContent=this.emptyText,e.append(t,s),e},Ge=new WeakSet,ps=function(e){const t=document.createElement("div");t.setAttribute("group-container-id",e.value.toString()),t.classList.add("treeselect-list__group-container");const s=a(this,X,yt).call(this,e,!0);return t.appendChild(s),t},X=new WeakSet,yt=function(e,t){const s=a(this,Me,ms).call(this,e);if(t){const d=a(this,$e,gs).call(this);s.appendChild(d),s.classList.add("treeselect-list__item--group")}const i=a(this,Re,ks).call(this,e),o=a(this,Ue,Es).call(this,e,t);return s.append(i,o),s},Me=new WeakSet,ms=function(e){const t=document.createElement("div");return di(t,e.htmlAttr),t.setAttribute("tabindex","-1"),t.setAttribute("title",e.name),t.classList.add("treeselect-list__item"),t.addEventListener("mouseover",()=>a(this,Fe,fs).call(this,t),!0),t.addEventListener("mouseout",()=>a(this,je,Cs).call(this,t),!0),t.addEventListener("mousedown",s=>a(this,qe,bs).call(this,s,e)),t},Fe=new WeakSet,fs=function(e){n(this,B)&&a(this,J,xt).call(this,!0,e)},je=new WeakSet,Cs=function(e){n(this,B)&&(a(this,J,xt).call(this,!1,e),b(this,F,e))},qe=new WeakSet,bs=function(e,t){var o;if(e.preventDefault(),e.stopPropagation(),(o=this.flattedOptions.find(d=>d.id===t.value))==null?void 0:o.disabled)return;const i=e.target.querySelector(".treeselect-list__item-checkbox");i.checked=!i.checked,a(this,Ye,Ls).call(this,i,t)},$e=new WeakSet,gs=function(){const e=document.createElement("span");return e.setAttribute("tabindex","-1"),e.classList.add("treeselect-list__item-icon"),f(this.iconElements.arrowDown,e),e.addEventListener("mousedown",t=>a(this,We,ws).call(this,t)),e},We=new WeakSet,ws=function(e){e.preventDefault(),e.stopPropagation(),a(this,Ke,ys).call(this,e)},Re=new WeakSet,ks=function(e){const t=document.createElement("div");t.classList.add("treeselect-list__item-checkbox-container");const s=document.createElement("span");s.classList.add("treeselect-list__item-checkbox-icon"),s.innerHTML="";const i=document.createElement("input");return i.setAttribute("tabindex","-1"),i.setAttribute("type","checkbox"),i.setAttribute("input-id",e.value.toString()),i.classList.add("treeselect-list__item-checkbox"),t.append(s,i),t},Ue=new WeakSet,Es=function(e,t){const s=document.createElement("label");if(s.textContent=e.name,s.classList.add("treeselect-list__item-label"),t&&this.showCount){const i=a(this,ze,vs).call(this,e);s.appendChild(i)}return s},ze=new WeakSet,vs=function(e){const t=document.createElement("span"),s=this.flattedOptions.filter(i=>i.childOf===e.value);return t.textContent=`(${s.length})`,t.classList.add("treeselect-list__item-label-counter"),t},Ye=new WeakSet,Ls=function(e,t){const s=this.flattedOptions.find(i=>i.id===t.value);if(s){if(s!=null&&s.isGroup&&this.disabledBranchNode){const i=ci(e);i==null||i.dispatchEvent(new Event("mousedown"));return}if(this.isSingleSelect){const[i]=n(this,_);if(s.id===i)return;b(this,_,[s.id]),Ot([s.id],this.flattedOptions,this.isSingleSelect)}else{s.checked=e.checked;const i=bt(s,this.flattedOptions);e.checked=i}de(this.flattedOptions,this.srcElement,this.iconElements,n(this,_)),a(this,Xe,xs).call(this)}},Ke=new WeakSet,ys=function(e){var o,d;const t=(d=(o=e.target)==null?void 0:o.parentNode)==null?void 0:d.querySelector("[input-id]"),s=(t==null?void 0:t.getAttribute("input-id"))??null,i=Mt(s,this.flattedOptions);i&&(i.isClosed=!i.isClosed,ce(this.flattedOptions,i),de(this.flattedOptions,this.srcElement,this.iconElements,n(this,_)),this.arrowClickCallback())},J=new WeakSet,xt=function(e,t){const s="treeselect-list__item--focused";if(e){const i=Array.from(this.srcElement.querySelectorAll(`.${s}`));i.length&&i.forEach(o=>o.classList.remove(s)),t.classList.add(s)}else t.classList.remove(s)},Z=new WeakSet,St=function(){const{ungroupedNodes:e,groupedNodes:t}=Ys(this.flattedOptions);this.selectedNodes={nodes:e,groupedNodes:t}},Xe=new WeakSet,xs=function(){a(this,Z,St).call(this),this.inputCallback(this.selectedNodes),this.value=this.selectedNodes.nodes.map(e=>e.id)};const ui=({parentHtmlContainer:l,staticList:e,appendToBody:t,isSingleSelect:s,value:i,direction:o})=>{l||console.error("Validation: parentHtmlContainer prop is required!"),e&&t&&console.error("Validation: You should set staticList to false if you use appendToBody!"),s&&Array.isArray(i)&&console.error("Validation: if you use isSingleSelect prop, you should pass a single value!"),!s&&!Array.isArray(i)&&console.error("Validation: you should pass an array as a value!"),o&&o!=="auto"&&o!=="bottom"&&o!=="top"&&console.error("Validation: you should pass (auto | top | bottom | undefined) as a value for the direction prop!")},wt=l=>l.map(e=>e.id),pi=l=>l?Array.isArray(l)?l:[l]:[],mi=(l,e)=>{if(e){const[t]=l;return t}return l};class fi{constructor({parentHtmlContainer:e,value:t,options:s,openLevel:i,appendToBody:o,alwaysOpen:d,showTags:u,tagsCountText:g,clearable:w,searchable:k,placeholder:E,grouped:v,isGroupedValue:L,listSlotHtmlComponent:D,disabled:I,emptyText:le,staticList:ut,id:kt,isSingleSelect:pt,showCount:Ci,disabledBranchNode:bi,direction:gi,expandSelected:wi,saveScrollPosition:ki,iconElements:Ei,inputCallback:vi,openCallback:Li,closeCallback:yi,nameChangeCallback:xi}){r(this,ee);r(this,W);r(this,Je);r(this,Ze);r(this,Qe);r(this,et);r(this,tt);r(this,st);r(this,it);r(this,lt);r(this,nt);r(this,ot);r(this,te);r(this,at);r(this,R);r(this,se);r(this,U);r(this,rt);r(this,ie);r(this,ct);r(this,dt);r(this,ht);c(this,"parentHtmlContainer");c(this,"value");c(this,"options");c(this,"openLevel");c(this,"appendToBody");c(this,"alwaysOpen");c(this,"showTags");c(this,"tagsCountText");c(this,"clearable");c(this,"searchable");c(this,"placeholder");c(this,"grouped");c(this,"isGroupedValue");c(this,"listSlotHtmlComponent");c(this,"disabled");c(this,"emptyText");c(this,"staticList");c(this,"id");c(this,"isSingleSelect");c(this,"showCount");c(this,"disabledBranchNode");c(this,"direction");c(this,"expandSelected");c(this,"saveScrollPosition");c(this,"iconElements");c(this,"inputCallback");c(this,"openCallback");c(this,"closeCallback");c(this,"nameChangeCallback");c(this,"ungroupedValue");c(this,"groupedValue");c(this,"isListOpened");c(this,"selectedName");c(this,"srcElement");r(this,h,null);r(this,p,null);r(this,q,null);r(this,Q,0);r(this,$,0);r(this,A,null);r(this,T,null);r(this,S,null);r(this,V,null);ui({parentHtmlContainer:e,value:t,staticList:ut,appendToBody:o,isSingleSelect:pt}),this.parentHtmlContainer=e,this.value=[],this.options=s??[],this.openLevel=i??0,this.appendToBody=o??!1,this.alwaysOpen=!!(d&&!I),this.showTags=u??!0,this.tagsCountText=g??"elements selected",this.clearable=w??!0,this.searchable=k??!0,this.placeholder=E??"Search...",this.grouped=v??!0,this.isGroupedValue=L??!1,this.listSlotHtmlComponent=D??null,this.disabled=I??!1,this.emptyText=le??"No results found...",this.staticList=!!(ut&&!this.appendToBody),this.id=kt??"",this.isSingleSelect=pt??!1,this.showCount=Ci??!1,this.disabledBranchNode=bi??!1,this.direction=gi??"auto",this.expandSelected=wi??!1,this.saveScrollPosition=ki??!0,this.iconElements=ae(Ei),this.inputCallback=vi,this.openCallback=Li,this.closeCallback=yi,this.nameChangeCallback=xi,this.ungroupedValue=[],this.groupedValue=[],this.isListOpened=!1,this.selectedName="",this.srcElement=null,a(this,ee,_t).call(this,t)}mount(){a(this,ee,_t).call(this,this.value)}updateValue(e){var s;const t=n(this,h);if(t){const i=pi(e);t.updateValue(i);const{groupedNodes:o,nodes:d}=t.selectedNodes,u=this.grouped||this.isSingleSelect?o:d;(s=n(this,p))==null||s.updateValue(u),a(this,W,mt).call(this,{groupedNodes:o,nodes:d})}}destroy(){this.srcElement&&(a(this,te,At).call(this),this.srcElement.innerHTML="",this.srcElement=null,a(this,U,Ct).call(this,!0))}focus(){n(this,p)&&n(this,p).focus()}toggleOpenClose(){n(this,p)&&(n(this,p).openClose(),n(this,p).focus())}scrollWindowHandler(){this.updateListPosition()}focusWindowHandler(e){var s,i,o;((s=this.srcElement)==null?void 0:s.contains(e.target))||((i=n(this,h))==null?void 0:i.srcElement.contains(e.target))||((o=n(this,p))==null||o.blur(),a(this,U,Ct).call(this,!1),a(this,R,ft).call(this,!1))}blurWindowHandler(){var e;(e=n(this,p))==null||e.blur(),a(this,U,Ct).call(this,!1),a(this,R,ft).call(this,!1)}updateListPosition(){var D;const e=this.srcElement,t=(D=n(this,h))==null?void 0:D.srcElement;if(!e||!t)return;const{height:s}=t.getBoundingClientRect(),{x:i,y:o,height:d,width:u}=e.getBoundingClientRect(),g=window.innerHeight,w=o,k=g-o-d;let E=w>k&&w>=s&&k<s;if(this.direction!=="auto"&&(E=this.direction==="top"),this.appendToBody){(t.style.top!=="0px"||t.style.left!=="0px")&&(t.style.top="0px",t.style.left="0px");const I=i+window.scrollX,le=E?o+window.scrollY-s:o+window.scrollY+d;t.style.transform=`translate(${I}px,${le}px)`,t.style.width=`${u}px`}const v=E?"top":"bottom";t.getAttribute("direction")!==v&&(t.setAttribute("direction",v),a(this,at,Is).call(this,E,this.appendToBody))}}return h=new WeakMap,p=new WeakMap,q=new WeakMap,Q=new WeakMap,$=new WeakMap,A=new WeakMap,T=new WeakMap,S=new WeakMap,V=new WeakMap,ee=new WeakSet,_t=function(e){var o;this.destroy();const{container:t,list:s,input:i}=a(this,Je,Ss).call(this);this.srcElement=t,b(this,h,s),b(this,p,i),b(this,A,this.scrollWindowHandler.bind(this)),b(this,T,this.scrollWindowHandler.bind(this)),b(this,S,this.focusWindowHandler.bind(this)),b(this,V,this.blurWindowHandler.bind(this)),this.alwaysOpen&&((o=n(this,p))==null||o.openClose()),this.disabled?this.srcElement.classList.add("treeselect--disabled"):this.srcElement.classList.remove("treeselect--disabled"),this.updateValue(e??this.value)},W=new WeakSet,mt=function({groupedNodes:e,nodes:t}){this.ungroupedValue=t?wt(t):[],this.groupedValue=e?wt(e):[];const s=this.isGroupedValue||this.isSingleSelect?this.groupedValue:this.ungroupedValue;this.value=mi(s,this.isSingleSelect)},Je=new WeakSet,Ss=function(){const e=this.parentHtmlContainer;e.classList.add("treeselect");const t=new hi({options:this.options,value:this.ungroupedValue,openLevel:this.openLevel,listSlotHtmlComponent:this.listSlotHtmlComponent,emptyText:this.emptyText,isSingleSelect:this.isSingleSelect,showCount:this.showCount,disabledBranchNode:this.disabledBranchNode,expandSelected:this.expandSelected,iconElements:this.iconElements,inputCallback:d=>a(this,it,Ps).call(this,d),arrowClickCallback:()=>a(this,lt,Bs).call(this),mouseupCallback:()=>{var d;return(d=n(this,p))==null?void 0:d.focus()}}),{groupedNodes:s,nodes:i}=t.selectedNodes,o=new qs({value:this.grouped||this.isSingleSelect?s:i,showTags:this.showTags,tagsCountText:this.tagsCountText,clearable:this.clearable,isAlwaysOpened:this.alwaysOpen,searchable:this.searchable,placeholder:this.placeholder,disabled:this.disabled,isSingleSelect:this.isSingleSelect,id:this.id,iconElements:this.iconElements,inputCallback:d=>a(this,Ze,_s).call(this,d),searchCallback:d=>a(this,et,Ts).call(this,d),openCallback:()=>a(this,ot,Ds).call(this),closeCallback:()=>a(this,te,At).call(this),keydownCallback:d=>a(this,Qe,As).call(this,d),focusCallback:()=>a(this,tt,Ns).call(this),blurCallback:()=>a(this,st,Os).call(this),nameChangeCallback:d=>a(this,nt,Vs).call(this,d)});return this.appendToBody&&b(this,q,new ResizeObserver(()=>this.updateListPosition())),e.append(o.srcElement),{container:e,list:t,input:o}},Ze=new WeakSet,_s=function(e){var o,d,u,g,w;const t=wt(e);(o=n(this,h))==null||o.updateValue(t);const s=(u=(d=n(this,h))==null?void 0:d.selectedNodes)==null?void 0:u.nodes,i=(w=(g=n(this,h))==null?void 0:g.selectedNodes)==null?void 0:w.groupedNodes;a(this,W,mt).call(this,{groupedNodes:i,nodes:s}),a(this,ie,Nt).call(this)},Qe=new WeakSet,As=function(e){var t;this.isListOpened&&((t=n(this,h))==null||t.callKeyAction(e))},et=new WeakSet,Ts=function(e){n(this,$)&&clearTimeout(n(this,$)),b(this,$,setTimeout(()=>{var t;(t=n(this,h))==null||t.updateSearchValue(e),this.updateListPosition()},350))},tt=new WeakSet,Ns=function(){a(this,R,ft).call(this,!0),n(this,S)&&n(this,S)&&n(this,V)&&(document.addEventListener("mousedown",n(this,S),!0),document.addEventListener("focus",n(this,S),!0),window.addEventListener("blur",n(this,V)))},st=new WeakSet,Os=function(){setTimeout(()=>{var s,i;const e=(s=n(this,p))==null?void 0:s.srcElement.contains(document.activeElement),t=(i=n(this,h))==null?void 0:i.srcElement.contains(document.activeElement);!e&&!t&&this.blurWindowHandler()},1)},it=new WeakSet,Ps=function(e){var o,d,u,g;const{groupedNodes:t,nodes:s}=e,i=this.grouped||this.isSingleSelect?t:s;(o=n(this,p))==null||o.updateValue(i),a(this,W,mt).call(this,{groupedNodes:t,nodes:s}),this.isSingleSelect&&!this.alwaysOpen&&((d=n(this,p))==null||d.openClose(),(u=n(this,p))==null||u.clearSearch()),(g=n(this,p))==null||g.focus(),a(this,ie,Nt).call(this)},lt=new WeakSet,Bs=function(){var e;(e=n(this,p))==null||e.focus(),this.updateListPosition()},nt=new WeakSet,Vs=function(e){this.selectedName!==e&&(this.selectedName=e,a(this,ct,Gs).call(this))},ot=new WeakSet,Ds=function(){var e;this.isListOpened=!0,n(this,A)&&n(this,T)&&(window.addEventListener("scroll",n(this,A),!0),window.addEventListener("resize",n(this,T))),!(!n(this,h)||!this.srcElement)&&(this.appendToBody?(document.body.appendChild(n(this,h).srcElement),(e=n(this,q))==null||e.observe(this.srcElement)):this.srcElement.appendChild(n(this,h).srcElement),this.updateListPosition(),a(this,se,Tt).call(this,!0),a(this,rt,Hs).call(this),a(this,dt,Ms).call(this))},te=new WeakSet,At=function(){var t;this.alwaysOpen||(this.isListOpened=!1,n(this,A)&&n(this,T)&&(window.removeEventListener("scroll",n(this,A),!0),window.removeEventListener("resize",n(this,T))),!n(this,h)||!this.srcElement)||!(this.appendToBody?document.body.contains(n(this,h).srcElement):this.srcElement.contains(n(this,h).srcElement))||(b(this,Q,n(this,h).srcElement.scrollTop),this.appendToBody?(document.body.removeChild(n(this,h).srcElement),(t=n(this,q))==null||t.disconnect()):this.srcElement.removeChild(n(this,h).srcElement),a(this,se,Tt).call(this,!1),a(this,ht,Fs).call(this))},at=new WeakSet,Is=function(e,t){if(!n(this,h)||!n(this,p))return;const s=t?"treeselect-list--top-to-body":"treeselect-list--top",i=t?"treeselect-list--bottom-to-body":"treeselect-list--bottom";e?(n(this,h).srcElement.classList.add(s),n(this,h).srcElement.classList.remove(i),n(this,p).srcElement.classList.add("treeselect-input--top"),n(this,p).srcElement.classList.remove("treeselect-input--bottom")):(n(this,h).srcElement.classList.remove(s),n(this,h).srcElement.classList.add(i),n(this,p).srcElement.classList.remove("treeselect-input--top"),n(this,p).srcElement.classList.add("treeselect-input--bottom"))},R=new WeakSet,ft=function(e){!n(this,p)||!n(this,h)||(e?(n(this,p).srcElement.classList.add("treeselect-input--focused"),n(this,h).srcElement.classList.add("treeselect-list--focused")):(n(this,p).srcElement.classList.remove("treeselect-input--focused"),n(this,h).srcElement.classList.remove("treeselect-list--focused")))},se=new WeakSet,Tt=function(e){var t,s,i,o;e?(t=n(this,p))==null||t.srcElement.classList.add("treeselect-input--opened"):(s=n(this,p))==null||s.srcElement.classList.remove("treeselect-input--opened"),this.staticList?(i=n(this,h))==null||i.srcElement.classList.add("treeselect-list--static"):(o=n(this,h))==null||o.srcElement.classList.remove("treeselect-list--static")},U=new WeakSet,Ct=function(e){!n(this,A)||!n(this,T)||!n(this,S)||!n(this,V)||((!this.alwaysOpen||e)&&(window.removeEventListener("scroll",n(this,A),!0),window.removeEventListener("resize",n(this,T))),document.removeEventListener("mousedown",n(this,S),!0),document.removeEventListener("focus",n(this,S),!0),window.removeEventListener("blur",n(this,V)))},rt=new WeakSet,Hs=function(){var t,s,i;const e=(t=n(this,h))==null?void 0:t.isLastFocusedElementExist();this.saveScrollPosition&&e?(s=n(this,h))==null||s.srcElement.scroll(0,n(this,Q)):(i=n(this,h))==null||i.focusFirstListElement()},ie=new WeakSet,Nt=function(){var e;(e=this.srcElement)==null||e.dispatchEvent(new CustomEvent("input",{detail:this.value})),this.inputCallback&&this.inputCallback(this.value)},ct=new WeakSet,Gs=function(){var e;(e=this.srcElement)==null||e.dispatchEvent(new CustomEvent("name-change",{detail:this.selectedName})),this.nameChangeCallback&&this.nameChangeCallback(this.selectedName)},dt=new WeakSet,Ms=function(){var e;this.alwaysOpen||((e=this.srcElement)==null||e.dispatchEvent(new CustomEvent("open",{detail:this.value})),this.openCallback&&this.openCallback(this.value))},ht=new WeakSet,Fs=function(){var e;this.alwaysOpen||((e=this.srcElement)==null||e.dispatchEvent(new CustomEvent("close",{detail:this.value})),this.closeCallback&&this.closeCallback(this.value))},fi});
package/package.json CHANGED
@@ -1,53 +1,29 @@
1
1
  {
2
2
  "name": "treeselectjs",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Treeselect JS",
5
- "main": "dist/treeselectjs.cjs.js",
6
- "module": "dist/treeselectjs.mjs.js",
7
- "types": "dist/treeselectjs.d.ts",
8
- "targets": {
9
- "main": {
10
- "source": "src/treeselectjs.ts",
11
- "outputFormat": "commonjs",
12
- "isLibrary": true,
13
- "optimize": true,
14
- "sourceMap": false,
15
- "engines": {
16
- "browsers": "> 0.5%, last 2 versions, not dead"
17
- }
5
+ "main": "./dist/treeselectjs.umd.js",
6
+ "module": "./dist/treeselectjs.mjs",
7
+ "types": "./dist/treeselectjs.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/treeselectjs.mjs",
11
+ "require": "./dist/treeselectjs.umd.js"
18
12
  },
19
- "module": {
20
- "source": "src/treeselectjs.ts",
21
- "outputFormat": "esmodule",
22
- "isLibrary": true,
23
- "optimize": true,
24
- "sourceMap": false,
25
- "engines": {
26
- "browsers": "> 0.5%, last 2 versions, not dead"
27
- }
28
- },
29
- "types": {
30
- "isLibrary": true,
31
- "source": "src/treeselectjs.ts",
32
- "optimize": true,
33
- "sourceMap": false
34
- },
35
- "css": {
36
- "source": "src/treeselectjs.css",
37
- "distDir": "dist",
38
- "isLibrary": true,
39
- "optimize": true,
40
- "sourceMap": false
13
+ "./dist/treeselectjs.css": {
14
+ "import": "./dist/treeselectjs.css",
15
+ "require": "./dist/treeselectjs.css"
41
16
  }
42
17
  },
43
18
  "scripts": {
44
- "build": "parcel build",
45
- "watch": "parcel watch",
46
- "prettier": "prettier --w src && prettier --w demo"
47
- },
19
+ "dev": "vite",
20
+ "build": "tsc && vite build",
21
+ "preview": "vite preview",
22
+ "prettier": "prettier --w src && prettier --w app && prettier --w docs"
23
+ },
48
24
  "repository": {
49
25
  "type": "git",
50
- "url": "git+https://github.com/dipson88/treeselectjs.git"
26
+ "url": "https://github.com/dipson88/treeselectjs.git"
51
27
  },
52
28
  "keywords": [
53
29
  "treeselect",
@@ -65,12 +41,10 @@
65
41
  },
66
42
  "homepage": "https://github.com/dipson88/treeselectjs#readme",
67
43
  "devDependencies": {
68
- "@parcel/packager-ts": "^2.6.2",
69
- "@parcel/transformer-typescript-tsc": "^2.6.2",
70
- "@parcel/transformer-typescript-types": "^2.6.2",
71
- "parcel": "^2.6.2",
72
- "prettier": "^2.7.1",
73
- "typescript": "^4.7.4"
44
+ "prettier": "^2.8.7",
45
+ "typescript": "^4.9.3",
46
+ "vite": "^4.2.0",
47
+ "vite-plugin-dts": "^2.2.0"
74
48
  },
75
49
  "files": [
76
50
  "dist"
@@ -1 +0,0 @@
1
- function t(t,e,s,i){Object.defineProperty(t,e,{get:s,set:i,enumerable:!0,configurable:!0})}t(module.exports,"Treeselect",(function(){return pe}),(function(t){return pe=t}));var e={};t(e,"TreeselectInput",(function(){return M}),(function(t){return M=t}));const s={arrowUp:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 15l-6-6-6 6"/></svg>',arrowDown:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>',arrowRight:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',attention:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',clear:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',cross:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',check:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>',partialCheck:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></svg>'},i=(t,e)=>{if(e.innerHTML="","string"==typeof t)e.innerHTML=t;else{const s=t.cloneNode(!0);e.appendChild(s)}},l=t=>{const e=t?Object.assign({},t):{};return Object.keys(s).forEach((t=>{e[t]||(e[t]=s[t])})),e};var n,o,a,c,r,h,d,u,p,m,f,v,w,g,b,E,k,C,y,L,S,_,x,T,O,A,B,N,P=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},H=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};class M{focus(){setTimeout((()=>P(this,a,"f").focus()),0)}blur(){this.isOpened&&P(this,n,"m",f).call(this),this.clearSearch(),P(this,a,"f").blur()}updateValue(t){this.value=t,P(this,n,"m",d).call(this),P(this,n,"m",m).call(this)}removeItem(t){this.value=this.value.filter((e=>e.id!==t)),P(this,n,"m",N).call(this),P(this,n,"m",d).call(this),P(this,n,"m",m).call(this)}clear(){this.value=[],P(this,n,"m",N).call(this),P(this,n,"m",d).call(this),this.clearSearch()}openClose(){P(this,n,"m",f).call(this)}clearSearch(){this.searchText="",this.searchCallback(""),P(this,n,"m",m).call(this)}constructor({value:t,showTags:e,tagsCountText:s,clearable:i,isAlwaysOpened:l,searchable:d,placeholder:u,disabled:p,isSingleSelect:m,id:f,iconElements:w,inputCallback:b,searchCallback:E,openCallback:k,closeCallback:C,keydownCallback:y,focusCallback:S,blurCallback:_,nameChangeCallback:T}){n.add(this),o.set(this,void 0),a.set(this,void 0),c.set(this,void 0),r.set(this,void 0),this.value=t,this.showTags=e,this.tagsCountText=s,this.searchable=d,this.placeholder=u,this.clearable=i,this.isAlwaysOpened=l,this.disabled=p,this.isSingleSelect=m,this.id=f,this.iconElements=w,this.isOpened=!1,this.searchText="",H(this,o,P(this,n,"m",g).call(this),"f"),H(this,a,P(this,n,"m",L).call(this),"f"),H(this,c,P(this,n,"m",x).call(this),"f"),H(this,r,null,"f"),this.inputCallback=b,this.searchCallback=E,this.openCallback=k,this.closeCallback=C,this.keydownCallback=y,this.focusCallback=S,this.blurCallback=_,this.nameChangeCallback=T,this.srcElement=P(this,n,"m",v).call(this,P(this,o,"f"),P(this,a,"f"),P(this,c,"f")),P(this,n,"m",h).call(this)}}o=new WeakMap,a=new WeakMap,c=new WeakMap,r=new WeakMap,n=new WeakSet,h=function(){P(this,n,"m",d).call(this),P(this,n,"m",m).call(this),P(this,n,"m",u).call(this)},d=function(){if(P(this,o,"f").innerHTML="",this.showTags){P(this,o,"f").append(...P(this,n,"m",b).call(this));const e=(t=this.value).reduce(((e,{name:s},i)=>(e+=s,i<t.length-1&&(e+=", "),e)),"");this.nameChangeCallback(e)}else{const t=P(this,n,"m",y).call(this);P(this,o,"f").appendChild(t),this.nameChangeCallback(t.innerText)}var t;P(this,o,"f").appendChild(P(this,a,"f"))},u=function(){const t=[];P(this,c,"f").innerHTML="",this.clearable&&t.push(P(this,n,"m",T).call(this)),this.isAlwaysOpened||t.push(P(this,n,"m",A).call(this,this.isOpened)),t.length&&P(this,c,"f").append(...t)},p=function(){if(!this.isAlwaysOpened&&P(this,r,"f")){const t=this.isOpened?this.iconElements.arrowUp:this.iconElements.arrowDown;i(t,P(this,r,"f"))}},m=function(){var t;(null===(t=this.value)||void 0===t?void 0:t.length)?(P(this,a,"f").removeAttribute("placeholder"),this.srcElement.classList.remove("treeselect-input--value-not-selected")):(P(this,a,"f").setAttribute("placeholder",this.placeholder),this.srcElement.classList.add("treeselect-input--value-not-selected")),this.searchable?this.srcElement.classList.remove("treeselect-input--unsearchable"):this.srcElement.classList.add("treeselect-input--unsearchable"),this.isSingleSelect?this.srcElement.classList.add("treeselect-input--is-single-select"):this.srcElement.classList.remove("treeselect-input--is-single-select"),P(this,a,"f").value=this.searchText},f=function(){this.isOpened=!this.isOpened,P(this,n,"m",p).call(this),this.isOpened?this.openCallback():this.closeCallback()},v=function(t,e,s){const i=document.createElement("div");return i.classList.add("treeselect-input"),i.setAttribute("tabindex","-1"),i.addEventListener("mousedown",(t=>P(this,n,"m",w).call(this,t))),i.addEventListener("focus",(()=>this.focusCallback()),!0),i.addEventListener("blur",(()=>this.blurCallback()),!0),t.appendChild(e),i.append(t,s),i},w=function(t){t.preventDefault(),t.stopPropagation(),this.isOpened||P(this,n,"m",f).call(this),this.focus()},g=function(){const t=document.createElement("div");return t.classList.add("treeselect-input__tags"),t},b=function(){return this.value.map((t=>{const e=document.createElement("div");e.classList.add("treeselect-input__tags-element"),e.setAttribute("tabindex","-1"),e.setAttribute("tag-id",t.id.toString()),e.setAttribute("title",t.name);const s=P(this,n,"m",k).call(this,t.name),i=P(this,n,"m",C).call(this);return e.addEventListener("mousedown",(e=>P(this,n,"m",E).call(this,e,t.id))),e.append(s,i),e}))},E=function(t,e){t.preventDefault(),t.stopPropagation(),this.removeItem(e),this.focus()},k=function(t){const e=document.createElement("span");return e.classList.add("treeselect-input__tags-name"),e.textContent=t,e},C=function(){const t=document.createElement("span");return t.classList.add("treeselect-input__tags-cross"),i(this.iconElements.cross,t),t},y=function(){const t=document.createElement("span");if(t.classList.add("treeselect-input__tags-count"),!this.value.length)return t.textContent="",t.setAttribute("title",""),t;const e=1===this.value.length?this.value[0].name:`${this.value.length} ${this.tagsCountText}`;return t.textContent=e,t.setAttribute("title",e),t},L=function(){const t=document.createElement("input");return t.classList.add("treeselect-input__edit"),this.id&&t.setAttribute("id",this.id),this.searchable&&!this.disabled||t.setAttribute("readonly","readonly"),this.disabled&&t.setAttribute("tabindex","-1"),t.addEventListener("keydown",(t=>P(this,n,"m",S).call(this,t))),t.addEventListener("input",(e=>P(this,n,"m",_).call(this,e,t))),t},S=function(t){t.stopPropagation(),"Backspace"!==t.key||this.searchText.length||!this.value.length||this.showTags||this.clear(),"Backspace"===t.key&&!this.searchText.length&&this.value.length&&this.removeItem(this.value[this.value.length-1].id),"Space"!==t.code||this.searchText&&this.searchable||P(this,n,"m",f).call(this),"Enter"===t.key&&t.preventDefault(),this.keydownCallback(t.key),"Tab"!==t.key&&this.focus()},_=function(t,e){t.stopPropagation();const s=this.searchText,i=e.value.trim();if(0!==s.length||0!==i.length){if(this.searchable){const e=t.target.value;this.searchCallback(e),this.isOpened||P(this,n,"m",f).call(this)}else e.value="";this.searchText=e.value}else e.value=""},x=function(){const t=document.createElement("div");return t.classList.add("treeselect-input__operators"),t},T=function(){const t=document.createElement("span");return t.classList.add("treeselect-input__clear"),t.setAttribute("tabindex","-1"),i(this.iconElements.clear,t),t.addEventListener("mousedown",(t=>P(this,n,"m",O).call(this,t))),t},O=function(t){t.preventDefault(),t.stopPropagation(),(this.searchText.length||this.value.length)&&this.clear(),this.focus()},A=function(t){H(this,r,document.createElement("span"),"f"),P(this,r,"f").classList.add("treeselect-input__arrow");const e=t?this.iconElements.arrowUp:this.iconElements.arrowDown;return i(e,P(this,r,"f")),P(this,r,"f").addEventListener("mousedown",(t=>P(this,n,"m",B).call(this,t))),P(this,r,"f")},B=function(t){t.stopPropagation(),t.preventDefault(),this.focus(),P(this,n,"m",f).call(this)},N=function(){this.inputCallback(this.value)};var W={};t(W,"TreeselectList",(function(){return Ht}),(function(t){return Ht=t}));const G=(t,e,s="",i=0)=>t.reduce(((t,l)=>{var n;const o=!!(null===(n=l.children)||void 0===n?void 0:n.length),a=i>=e&&o,c=i>e;if(t.push({id:l.value,name:l.name,childOf:s,isGroup:o,checked:!1,isPartialChecked:!1,level:i,isClosed:a,hidden:c}),o){const s=G(l.children,e,l.value,i+1);t.push(...s)}return t}),[]),V=({id:t,checked:e},s)=>{s.forEach((i=>{i.childOf===t&&(i.checked=null==e||e,i.isPartialChecked=!1,i.isGroup&&V(i,s))}))},j=(t,e)=>{const s=e.find((e=>e.id===t)),i=e.filter((t=>t.childOf===(null==s?void 0:s.id)));if(!s)return;const l=i.every((t=>t.checked)),n=i.some((t=>t.isPartialChecked||t.checked))&&!l,o=!l&&!n;l&&(s.checked=!0,s.isPartialChecked=!1),n&&(s.checked=!1,s.isPartialChecked=!0),o&&(s.checked=!1,s.isPartialChecked=!1),s.childOf&&j(s.childOf,e)},q=({id:t,isGroup:e,childOf:s,checked:i},l,n)=>{e&&V({id:t,checked:i},l),s&&!n&&j(s,l)},D=(t,e)=>e.reduce(((s,i)=>(i.childOf===t&&(s.push(i),i.isGroup&&s.push(...D(i.id,e))),s)),[]),I=(t,e)=>e.reduce(((s,i)=>(i.id===t&&(s.push(i),i.childOf&&s.push(...I(i.childOf,e))),s)),[]),$=t=>{const{onlyGroupsIds:e,allItems:s}=t.reduce(((t,e)=>e.checked?(e.isGroup&&t.onlyGroupsIds.push(e.id),t.allItems.push(e),t):t),{onlyGroupsIds:[],allItems:[]});return s.filter((t=>!e.some((e=>e===t.childOf))))},R=(t,{id:e,isClosed:s})=>{t.filter((t=>t.childOf===e)).forEach((e=>{e.hidden=null!=s&&s,e.isGroup&&!e.isClosed&&R(t,{id:e.id,isClosed:s})}))},z=(t,e)=>{const s=((t,e)=>t.reduce(((s,i)=>{if(i.name.toLowerCase().includes(e.toLowerCase())){if(s.push(i),i.isGroup){const e=D(i.id,t);s.push(...e)}if(i.childOf){const e=I(i.childOf,t);s.push(...e)}}return s}),[]))(t,e);t.forEach((e=>{s.some((t=>t.id===e.id))?(e.isGroup&&(e.isClosed=!1,R(t,e)),e.hidden=!1):e.hidden=!0}))},U=(t,e,s)=>{(t=>{t.forEach((t=>{t.checked=!1,t.isPartialChecked=!1}))})(e);e.filter((e=>t.some((t=>t===e.id)))).forEach((t=>{t.checked=!0,t.isPartialChecked=!1,q(t,e,s)}))};var Y,F,J,K,X,Q,Z,tt,et,st,it,lt,nt,ot,at,ct,rt,ht,dt,ut,pt,mt,ft,vt,wt,gt,bt,Et,kt,Ct=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},yt=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};const Lt=(t,e,s,i)=>{t.forEach((l=>{const n=e.querySelector(`[input-id="${l.id}"]`),o=Nt(n);n.checked=l.checked,St(l,o,i),_t(l,o),xt(l,o,s),Tt(l,o),At(l,o,t),Ot(l,n,s)})),Bt(t,e)},St=(t,e,s)=>{t.checked?e.classList.add("treeselect-list__item--checked"):e.classList.remove("treeselect-list__item--checked"),Array.isArray(s)&&s[0]===t.id?e.classList.add("treeselect-list__item--single-selected"):e.classList.remove("treeselect-list__item--single-selected")},_t=(t,e)=>{t.isPartialChecked?e.classList.add("treeselect-list__item--partial-checked"):e.classList.remove("treeselect-list__item--partial-checked")},xt=(t,e,s)=>{if(t.isGroup){const l=e.querySelector(".treeselect-list__item-icon"),n=t.isClosed?s.arrowRight:s.arrowDown;i(n,l),t.isClosed?e.classList.add("treeselect-list__item--closed"):e.classList.remove("treeselect-list__item--closed")}},Tt=(t,e)=>{t.hidden?e.classList.add("treeselect-list__item--hidden"):e.classList.remove("treeselect-list__item--hidden")},Ot=(t,e,s)=>{const l=e.parentNode.querySelector(".treeselect-list__item-checkbox-icon");t.checked?i(s.check,l):t.isPartialChecked?i(s.partialCheck,l):l.innerHTML=""},At=(t,e,s)=>{if(0===t.level){const i=s.some((e=>e.isGroup&&e.level===t.level)),l=!t.isGroup&&i?"20px":"5px";e.style.paddingLeft=t.isGroup?"0":l}else e.style.paddingLeft=t.isGroup?20*t.level+"px":20*t.level+20+"px";e.setAttribute("level",t.level.toString()),e.setAttribute("group",t.isGroup.toString())},Bt=(t,e)=>{const s=t.some((t=>!t.hidden)),i=e.querySelector(".treeselect-list__empty");s?i.classList.add("treeselect-list__empty--hidden"):i.classList.remove("treeselect-list__empty--hidden")},Nt=t=>t.parentNode.parentNode,Pt=(t,e)=>e.find((e=>e.id.toString()===t));class Ht{updateValue(t){var e,s,i,l,n,o;this.value=t,yt(this,K,this.isSingleSelect?this.value:[],"f"),e=t,s=this.flattedOptions,i=this.srcElement,l=this.iconElements,n=this.isSingleSelect,o=Ct(this,K,"f"),U(e,s,n),Lt(s,i,l,o),Ct(this,Y,"m",Et).call(this)}updateSearchValue(t){if(t===this.searchText)return;const e=""===this.searchText&&""!==t;this.searchText=t,e&&(this.flattedOptionsBeforeSearch=JSON.parse(JSON.stringify(this.flattedOptions))),""===this.searchText&&(this.flattedOptions=this.flattedOptionsBeforeSearch.map((t=>{const e=this.flattedOptions.find((e=>e.id===t.id));return e.isClosed=t.isClosed,e.hidden=t.hidden,e})),this.flattedOptionsBeforeSearch=[]),this.searchText&&z(this.flattedOptions,t),Lt(this.flattedOptions,this.srcElement,this.iconElements,Ct(this,K,"f")),this.focusFirstListElement()}callKeyAction(t){yt(this,J,!1,"f");const e=this.srcElement.querySelector(".treeselect-list__item--focused");"Enter"===t&&e&&e.dispatchEvent(new Event("mousedown")),"ArrowLeft"!==t&&"ArrowRight"!==t||Ct(this,Y,"m",X).call(this,e,t),"ArrowDown"!==t&&"ArrowUp"!==t||Ct(this,Y,"m",Q).call(this,e,t)}focusFirstListElement(){const t="treeselect-list__item--focused",e=this.srcElement.querySelector(`.${t}`),s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((t=>"none"!==window.getComputedStyle(Nt(t)).display));if(!s.length)return;e&&e.classList.remove(t);Nt(s[0]).classList.add(t)}constructor({options:t,value:e,openLevel:s,listSlotHtmlComponent:i,emptyText:l,isSingleSelect:n,iconElements:o,showCount:a,disabledBranchNode:c,inputCallback:r,arrowClickCallback:h,mouseupCallback:d}){Y.add(this),F.set(this,null),J.set(this,!0),K.set(this,[]),this.options=t,this.value=e,this.openLevel=null!=s?s:0,this.listSlotHtmlComponent=null!=i?i:null,this.emptyText=null!=l?l:"No results found...",this.isSingleSelect=null!=n&&n,this.showCount=null!=a&&a,this.disabledBranchNode=null!=c&&c,this.iconElements=o,this.searchText="",this.flattedOptions=G(this.options,this.openLevel),this.flattedOptionsBeforeSearch=this.flattedOptions,this.selectedNodes={nodes:[],groupedNodes:[]},this.srcElement=Ct(this,Y,"m",Z).call(this),this.inputCallback=r,this.arrowClickCallback=h,this.mouseupCallback=d,this.updateValue(this.value),(t=>{const{duplications:e}=t.reduce(((t,e)=>(t.allItems.some((t=>t.toString()===e.id.toString()))&&t.duplications.push(e.id),t.allItems.push(e.id),t)),{duplications:[],allItems:[]});e.length&&console.error(`Validation: You have duplicated values: ${e.join(", ")}! You should use unique values.`)})(this.flattedOptions)}}F=new WeakMap,J=new WeakMap,K=new WeakMap,Y=new WeakSet,X=function(t,e){if(!t)return;const s=t.querySelector(".treeselect-list__item-checkbox").getAttribute("input-id"),i=Pt(s,this.flattedOptions),l=t.querySelector(".treeselect-list__item-icon");"ArrowLeft"===e&&!i.isClosed&&i.isGroup&&l.dispatchEvent(new Event("mousedown")),"ArrowRight"===e&&i.isClosed&&i.isGroup&&l.dispatchEvent(new Event("mousedown"))},Q=function(t,e){var s,i,l;const n=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((t=>"none"!==window.getComputedStyle(Nt(t)).display));if(n.length)if(t){const t=n.findIndex((t=>Nt(t).classList.contains("treeselect-list__item--focused")));Nt(n[t]).classList.remove("treeselect-list__item--focused");const o="ArrowDown"===e?t+1:t-1,a="ArrowDown"===e?0:n.length-1,c=null!==(s=n[o])&&void 0!==s?s:n[a],r=!n[o],h=Nt(c);h.classList.add("treeselect-list__item--focused");const d=this.srcElement.getBoundingClientRect(),u=h.getBoundingClientRect();if(r&&"ArrowDown"===e)return void this.srcElement.scroll(0,0);if(r&&"ArrowUp"===e)return void this.srcElement.scroll(0,this.srcElement.scrollHeight);const p=null!==(l=null===(i=this.listSlotHtmlComponent)||void 0===i?void 0:i.clientHeight)&&void 0!==l?l:0;if(d.y+d.height<u.y+u.height+p)return void this.srcElement.scroll(0,this.srcElement.scrollTop+u.height);if(d.y>u.y)return void this.srcElement.scroll(0,this.srcElement.scrollTop-u.height)}else{Nt(n[0]).classList.add("treeselect-list__item--focused")}},Z=function(){const t=Ct(this,Y,"m",tt).call(this),e=Ct(this,Y,"m",it).call(this,this.options);t.append(...e);const s=Ct(this,Y,"m",lt).call(this);s&&t.append(s);const i=Ct(this,Y,"m",nt).call(this);return t.append(i),t},tt=function(){const t=document.createElement("div");return t.classList.add("treeselect-list"),this.isSingleSelect&&t.classList.add("treeselect-list--single-select"),this.disabledBranchNode&&t.classList.add("treeselect-list--disabled-branch-node"),t.addEventListener("mouseout",(t=>Ct(this,Y,"m",et).call(this,t))),t.addEventListener("mousemove",(()=>Ct(this,Y,"m",st).call(this))),t.addEventListener("mouseup",(()=>this.mouseupCallback()),!0),t},et=function(t){t.stopPropagation(),Ct(this,F,"f")&&Ct(this,J,"f")&&Ct(this,F,"f").classList.add("treeselect-list__item--focused")},st=function(){yt(this,J,!0,"f")},it=function t(e){return e.reduce(((e,s)=>{var i;if(null===(i=s.children)||void 0===i?void 0:i.length){const i=Ct(this,Y,"m",ot).call(this,s),l=Ct(this,Y,"m",t).call(this,s.children);return i.append(...l),e.push(i),e}const l=Ct(this,Y,"m",at).call(this,s,!1);return e.push(l),e}),[])},lt=function(){if(!this.listSlotHtmlComponent)return null;const t=document.createElement("div");return t.classList.add("treeselect-list__slot"),t.appendChild(this.listSlotHtmlComponent),t},nt=function(){const t=document.createElement("div");t.classList.add("treeselect-list__empty"),t.setAttribute("title",this.emptyText);const e=document.createElement("span");e.classList.add("treeselect-list__empty-icon"),i(this.iconElements.attention,e);const s=document.createElement("span");return s.classList.add("treeselect-list__empty-text"),s.textContent=this.emptyText,t.append(e,s),t},ot=function(t){const e=document.createElement("div");e.setAttribute("group-container-id",t.value.toString()),e.classList.add("treeselect-list__group-container");const s=Ct(this,Y,"m",at).call(this,t,!0);return e.appendChild(s),e},at=function(t,e){const s=Ct(this,Y,"m",ct).call(this,t);if(e){const t=Ct(this,Y,"m",ut).call(this);s.appendChild(t),s.classList.add("treeselect-list__item--group")}const i=Ct(this,Y,"m",mt).call(this,t),l=Ct(this,Y,"m",ft).call(this,t,e);return s.append(i,l),s},ct=function(t){const e=document.createElement("div");return e.setAttribute("tabindex","-1"),e.setAttribute("title",t.name),e.classList.add("treeselect-list__item"),e.addEventListener("mouseover",(()=>Ct(this,Y,"m",rt).call(this,e)),!0),e.addEventListener("mouseout",(()=>Ct(this,Y,"m",ht).call(this,e)),!0),e.addEventListener("mousedown",(e=>Ct(this,Y,"m",dt).call(this,e,t))),e},rt=function(t){Ct(this,J,"f")&&Ct(this,Y,"m",bt).call(this,!0,t)},ht=function(t){Ct(this,J,"f")&&(Ct(this,Y,"m",bt).call(this,!1,t),yt(this,F,t,"f"))},dt=function(t,e){t.preventDefault(),t.stopPropagation();const s=t.target.querySelector(".treeselect-list__item-checkbox");s.checked=!s.checked,Ct(this,Y,"m",wt).call(this,s,e)},ut=function(){const t=document.createElement("span");return t.setAttribute("tabindex","-1"),t.classList.add("treeselect-list__item-icon"),i(this.iconElements.arrowDown,t),t.addEventListener("mousedown",(t=>Ct(this,Y,"m",pt).call(this,t))),t},pt=function(t){t.preventDefault(),t.stopPropagation(),Ct(this,Y,"m",gt).call(this,t)},mt=function(t){const e=document.createElement("div");e.classList.add("treeselect-list__item-checkbox-container");const s=document.createElement("span");s.classList.add("treeselect-list__item-checkbox-icon"),s.innerHTML="";const i=document.createElement("input");return i.setAttribute("tabindex","-1"),i.setAttribute("type","checkbox"),i.setAttribute("input-id",t.value.toString()),i.classList.add("treeselect-list__item-checkbox"),e.append(s,i),e},ft=function(t,e){const s=document.createElement("label");if(s.textContent=t.name,s.classList.add("treeselect-list__item-label"),e&&this.showCount){const e=Ct(this,Y,"m",vt).call(this,t);s.appendChild(e)}return s},vt=function(t){const e=document.createElement("span"),s=this.flattedOptions.filter((e=>e.childOf===t.value));return e.textContent=`(${s.length})`,e.classList.add("treeselect-list__item-label-counter"),e},wt=function(t,e){const s=this.flattedOptions.find((t=>t.id===e.value));if(s)if((null==s?void 0:s.isGroup)&&this.disabledBranchNode){const e=Nt(t).querySelector(".treeselect-list__item-icon");null==e||e.dispatchEvent(new Event("mousedown"))}else{if(this.isSingleSelect){const[t]=Ct(this,K,"f");if(s.id===t)return;yt(this,K,[s.id],"f"),U([s.id],this.flattedOptions,this.isSingleSelect)}else s.checked=t.checked,s.isPartialChecked=!1,q(s,this.flattedOptions,this.isSingleSelect);Lt(this.flattedOptions,this.srcElement,this.iconElements,Ct(this,K,"f")),Ct(this,Y,"m",kt).call(this)}},gt=function(t){var e,s,i;const l=null===(s=null===(e=t.target)||void 0===e?void 0:e.parentNode)||void 0===s?void 0:s.querySelector("[input-id]"),n=null!==(i=null==l?void 0:l.getAttribute("input-id"))&&void 0!==i?i:null,o=Pt(n,this.flattedOptions);o&&(o.isClosed=!o.isClosed,R(this.flattedOptions,o),Lt(this.flattedOptions,this.srcElement,this.iconElements,Ct(this,K,"f")),this.arrowClickCallback())},bt=function(t,e){const s="treeselect-list__item--focused";if(t){const t=Array.from(this.srcElement.querySelectorAll(`.${s}`));t.length&&t.forEach((t=>t.classList.remove(s))),e.classList.add(s)}else e.classList.remove(s)},Et=function(){var t;this.selectedNodes={nodes:(t=this.flattedOptions,t.filter((t=>t.checked&&!t.isGroup))),groupedNodes:$(this.flattedOptions)}},kt=function(){Ct(this,Y,"m",Et).call(this),this.inputCallback(this.selectedNodes),this.value=this.selectedNodes.nodes.map((t=>t.id))};var Mt,Wt,Gt,Vt,jt,qt,Dt,It,$t,Rt,zt,Ut,Yt,Ft,Jt,Kt,Xt,Qt,Zt,te,ee,se,ie,le,ne,oe,ae,ce,re=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},he=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};const de=t=>t.map((t=>t.id)),ue=t=>t?Array.isArray(t)?t:[t]:[];class pe{mount(){var t;this.destroy();const{container:e,list:s,input:i}=re(this,Mt,"m",$t).call(this);this.srcElement=e,he(this,Wt,s,"f"),he(this,Gt,i,"f"),he(this,jt,this.scrollWindowHandler.bind(this),"f"),he(this,qt,this.scrollWindowHandler.bind(this),"f"),he(this,Dt,this.focusWindowHandler.bind(this),"f"),he(this,It,this.blurWindowHandler.bind(this),"f"),this.alwaysOpen&&(null===(t=re(this,Gt,"f"))||void 0===t||t.openClose()),this.disabled?this.srcElement.classList.add("treeselect--disabled"):this.srcElement.classList.remove("treeselect--disabled")}updateValue(t){var e;const s=re(this,Wt,"f");if(s){const i=ue(t);s.updateValue(i);const{groupedNodes:l,nodes:n}=s.selectedNodes,o=this.grouped||this.isSingleSelect?l:n;null===(e=re(this,Gt,"f"))||void 0===e||e.updateValue(o)}}destroy(){this.srcElement&&(re(this,Mt,"m",Zt).call(this),this.srcElement.innerHTML="",this.srcElement=null,re(this,Mt,"m",ie).call(this,!0))}focus(){re(this,Gt,"f")&&re(this,Gt,"f").focus()}toggleOpenClose(){re(this,Gt,"f")&&(re(this,Gt,"f").openClose(),re(this,Gt,"f").focus())}scrollWindowHandler(){this.updateListPosition()}focusWindowHandler(t){var e,s,i;(null===(e=this.srcElement)||void 0===e?void 0:e.contains(t.target))||(null===(s=re(this,Wt,"f"))||void 0===s?void 0:s.srcElement.contains(t.target))||(null===(i=re(this,Gt,"f"))||void 0===i||i.blur(),re(this,Mt,"m",ie).call(this,!1),re(this,Mt,"m",ee).call(this,!1))}blurWindowHandler(){var t;null===(t=re(this,Gt,"f"))||void 0===t||t.blur(),re(this,Mt,"m",ie).call(this,!1),re(this,Mt,"m",ee).call(this,!1)}updateListPosition(){var t;const e=this.srcElement,s=null===(t=re(this,Wt,"f"))||void 0===t?void 0:t.srcElement;if(!e||!s)return;const{height:i}=s.getBoundingClientRect(),{x:l,y:n,height:o,width:a}=e.getBoundingClientRect(),c=window.innerHeight-n-o;let r=n>c&&n>=i&&c<i;if("auto"!==this.direction&&(r="top"===this.direction),this.appendToBody){"0px"===s.style.top&&"0px"===s.style.left||(s.style.top="0px",s.style.left="0px");const t=l+window.scrollX,e=r?n+window.scrollY-i:n+window.scrollY+o;s.style.transform=`translate(${t}px,${e}px)`,s.style.width=`${a}px`}const h=r?"top":"bottom";s.getAttribute("direction")!==h&&(s.setAttribute("direction",h),re(this,Mt,"m",te).call(this,r,this.appendToBody))}constructor({parentHtmlContainer:t,value:e,options:s,openLevel:i,appendToBody:n,alwaysOpen:o,showTags:a,tagsCountText:c,clearable:r,searchable:h,placeholder:d,grouped:u,isGroupedValue:p,listSlotHtmlComponent:m,disabled:f,emptyText:v,staticList:w,id:g,isSingleSelect:b,showCount:E,disabledBranchNode:k,direction:C,iconElements:y,inputCallback:L,openCallback:S,closeCallback:_,nameChangeCallback:x}){Mt.add(this),Wt.set(this,null),Gt.set(this,null),Vt.set(this,null),jt.set(this,null),qt.set(this,null),Dt.set(this,null),It.set(this,null),(({parentHtmlContainer:t,staticList:e,appendToBody:s,isSingleSelect:i,value:l,direction:n})=>{t||console.error("Validation: parentHtmlContainer prop is required!"),e&&s&&console.error("Validation: You should set staticList to false if you use appendToBody!"),i&&Array.isArray(l)&&console.error("Validation: if you use isSingleSelect prop, you should pass a single value!"),i||Array.isArray(l)||console.error("Validation: you should pass an array as a value!"),n&&"auto"!==n&&"bottom"!==n&&"top"!==n&&console.error("Validation: you should pass (auto | top | bottom | undefined) as a value for the direction prop!")})({parentHtmlContainer:t,value:e,staticList:w,appendToBody:n,isSingleSelect:b}),this.parentHtmlContainer=t,this.value=ue(e),this.options=null!=s?s:[],this.openLevel=null!=i?i:0,this.appendToBody=null!=n&&n,this.alwaysOpen=!(!o||f),this.showTags=null==a||a,this.tagsCountText=null!=c?c:"elements selected",this.clearable=null==r||r,this.searchable=null==h||h,this.placeholder=null!=d?d:"Search...",this.grouped=null==u||u,this.isGroupedValue=null!=p&&p,this.listSlotHtmlComponent=null!=m?m:null,this.disabled=null!=f&&f,this.emptyText=null!=v?v:"No results found...",this.staticList=!(!w||this.appendToBody),this.id=null!=g?g:"",this.isSingleSelect=null!=b&&b,this.showCount=null!=E&&E,this.disabledBranchNode=null!=k&&k,this.direction=null!=C?C:"auto",this.iconElements=l(y),this.inputCallback=L,this.openCallback=S,this.closeCallback=_,this.nameChangeCallback=x,this.groupedValue=[],this.isListOpened=!1,this.selectedName="",this.srcElement=null,this.mount()}}Wt=new WeakMap,Gt=new WeakMap,Vt=new WeakMap,jt=new WeakMap,qt=new WeakMap,Dt=new WeakMap,It=new WeakMap,Mt=new WeakSet,$t=function(){const t=this.parentHtmlContainer;t.classList.add("treeselect");const s=new(0,W.TreeselectList)({options:this.options,value:this.value,openLevel:this.openLevel,listSlotHtmlComponent:this.listSlotHtmlComponent,emptyText:this.emptyText,isSingleSelect:this.isSingleSelect,showCount:this.showCount,disabledBranchNode:this.disabledBranchNode,iconElements:this.iconElements,inputCallback:t=>re(this,Mt,"m",Jt).call(this,t),arrowClickCallback:()=>re(this,Mt,"m",Kt).call(this),mouseupCallback:()=>{var t;return null===(t=re(this,Gt,"f"))||void 0===t?void 0:t.focus()}}),{groupedNodes:i,nodes:l}=s.selectedNodes,n=new(0,e.TreeselectInput)({value:this.grouped||this.isSingleSelect?i:l,showTags:this.showTags,tagsCountText:this.tagsCountText,clearable:this.clearable,isAlwaysOpened:this.alwaysOpen,searchable:this.searchable,placeholder:this.placeholder,disabled:this.disabled,isSingleSelect:this.isSingleSelect,id:this.id,iconElements:this.iconElements,inputCallback:t=>re(this,Mt,"m",Rt).call(this,t),searchCallback:t=>re(this,Mt,"m",Ut).call(this,t),openCallback:()=>re(this,Mt,"m",Qt).call(this),closeCallback:()=>re(this,Mt,"m",Zt).call(this),keydownCallback:t=>re(this,Mt,"m",zt).call(this,t),focusCallback:()=>re(this,Mt,"m",Yt).call(this),blurCallback:()=>re(this,Mt,"m",Ft).call(this),nameChangeCallback:t=>re(this,Mt,"m",Xt).call(this,t)});return this.appendToBody&&he(this,Vt,new ResizeObserver((()=>this.updateListPosition())),"f"),t.append(n.srcElement),{container:t,list:s,input:n}},Rt=function(t){var e,s,i,l,n;const o=de(t);null===(e=re(this,Wt,"f"))||void 0===e||e.updateValue(o);const a=null===(i=null===(s=re(this,Wt,"f"))||void 0===s?void 0:s.selectedNodes)||void 0===i?void 0:i.nodes,c=null===(n=null===(l=re(this,Wt,"f"))||void 0===l?void 0:l.selectedNodes)||void 0===n?void 0:n.groupedNodes;this.value=a?de(a):[],this.groupedValue=c?de(c):[],re(this,Mt,"m",ne).call(this)},zt=function(t){var e;this.isListOpened&&(null===(e=re(this,Wt,"f"))||void 0===e||e.callKeyAction(t))},Ut=function(t){var e;null===(e=re(this,Wt,"f"))||void 0===e||e.updateSearchValue(t),this.updateListPosition()},Yt=function(){re(this,Mt,"m",ee).call(this,!0),re(this,Dt,"f")&&re(this,Dt,"f")&&re(this,It,"f")&&(document.addEventListener("mousedown",re(this,Dt,"f"),!0),document.addEventListener("focus",re(this,Dt,"f"),!0),window.addEventListener("blur",re(this,It,"f")))},Ft=function(){setTimeout((()=>{var t,e;const s=null===(t=re(this,Gt,"f"))||void 0===t?void 0:t.srcElement.contains(document.activeElement),i=null===(e=re(this,Wt,"f"))||void 0===e?void 0:e.srcElement.contains(document.activeElement);s||i||this.blurWindowHandler()}),1)},Jt=function(t){var e,s,i,l;const{groupedNodes:n,nodes:o}=t,a=this.grouped||this.isSingleSelect?n:o;null===(e=re(this,Gt,"f"))||void 0===e||e.updateValue(a),this.value=de(o),this.groupedValue=de(n),this.isSingleSelect&&!this.alwaysOpen&&(null===(s=re(this,Gt,"f"))||void 0===s||s.openClose(),null===(i=re(this,Gt,"f"))||void 0===i||i.clearSearch()),null===(l=re(this,Gt,"f"))||void 0===l||l.focus(),re(this,Mt,"m",ne).call(this)},Kt=function(){var t;null===(t=re(this,Gt,"f"))||void 0===t||t.focus(),this.updateListPosition()},Xt=function(t){this.selectedName!==t&&(this.selectedName=t,re(this,Mt,"m",oe).call(this))},Qt=function(){var t;this.isListOpened=!0,re(this,jt,"f")&&re(this,qt,"f")&&(window.addEventListener("scroll",re(this,jt,"f"),!0),window.addEventListener("resize",re(this,qt,"f"))),re(this,Wt,"f")&&this.srcElement&&(this.appendToBody?(document.body.appendChild(re(this,Wt,"f").srcElement),null===(t=re(this,Vt,"f"))||void 0===t||t.observe(this.srcElement)):this.srcElement.appendChild(re(this,Wt,"f").srcElement),this.updateListPosition(),re(this,Mt,"m",se).call(this,!0),re(this,Wt,"f").focusFirstListElement(),re(this,Mt,"m",ae).call(this))},Zt=function(){var t;if(this.alwaysOpen)return;if(this.isListOpened=!1,re(this,jt,"f")&&re(this,qt,"f")&&(window.removeEventListener("scroll",re(this,jt,"f"),!0),window.removeEventListener("resize",re(this,qt,"f"))),!re(this,Wt,"f")||!this.srcElement)return;(this.appendToBody?document.body.contains(re(this,Wt,"f").srcElement):this.srcElement.contains(re(this,Wt,"f").srcElement))&&(this.appendToBody?(document.body.removeChild(re(this,Wt,"f").srcElement),null===(t=re(this,Vt,"f"))||void 0===t||t.disconnect()):this.srcElement.removeChild(re(this,Wt,"f").srcElement),re(this,Mt,"m",se).call(this,!1),re(this,Mt,"m",ce).call(this))},te=function(t,e){if(!re(this,Wt,"f")||!re(this,Gt,"f"))return;const s=e?"treeselect-list--top-to-body":"treeselect-list--top",i=e?"treeselect-list--bottom-to-body":"treeselect-list--bottom";t?(re(this,Wt,"f").srcElement.classList.add(s),re(this,Wt,"f").srcElement.classList.remove(i),re(this,Gt,"f").srcElement.classList.add("treeselect-input--top"),re(this,Gt,"f").srcElement.classList.remove("treeselect-input--bottom")):(re(this,Wt,"f").srcElement.classList.remove(s),re(this,Wt,"f").srcElement.classList.add(i),re(this,Gt,"f").srcElement.classList.remove("treeselect-input--top"),re(this,Gt,"f").srcElement.classList.add("treeselect-input--bottom"))},ee=function(t){re(this,Gt,"f")&&re(this,Wt,"f")&&(t?(re(this,Gt,"f").srcElement.classList.add("treeselect-input--focused"),re(this,Wt,"f").srcElement.classList.add("treeselect-list--focused")):(re(this,Gt,"f").srcElement.classList.remove("treeselect-input--focused"),re(this,Wt,"f").srcElement.classList.remove("treeselect-list--focused")))},se=function(t){var e,s,i,l;t?null===(e=re(this,Gt,"f"))||void 0===e||e.srcElement.classList.add("treeselect-input--opened"):null===(s=re(this,Gt,"f"))||void 0===s||s.srcElement.classList.remove("treeselect-input--opened"),this.staticList?null===(i=re(this,Wt,"f"))||void 0===i||i.srcElement.classList.add("treeselect-list--static"):null===(l=re(this,Wt,"f"))||void 0===l||l.srcElement.classList.remove("treeselect-list--static")},ie=function(t){re(this,jt,"f")&&re(this,qt,"f")&&re(this,Dt,"f")&&re(this,It,"f")&&(this.alwaysOpen&&!t||(window.removeEventListener("scroll",re(this,jt,"f"),!0),window.removeEventListener("resize",re(this,qt,"f"))),document.removeEventListener("mousedown",re(this,Dt,"f"),!0),document.removeEventListener("focus",re(this,Dt,"f"),!0),window.removeEventListener("blur",re(this,It,"f")))},le=function(){return((t,e)=>{if(e){const[e]=t;return e}return t})(this.isGroupedValue||this.isSingleSelect?this.groupedValue:this.value,this.isSingleSelect)},ne=function(){var t;const e=re(this,Mt,"m",le).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("input",{detail:e})),this.inputCallback&&this.inputCallback(e)},oe=function(){var t;null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("name-change",{detail:this.selectedName})),this.nameChangeCallback&&this.nameChangeCallback(this.selectedName)},ae=function(){var t;const e=re(this,Mt,"m",le).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("open",{detail:e})),this.openCallback&&this.openCallback(e)},ce=function(){var t;const e=re(this,Mt,"m",le).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("close",{detail:e})),this.closeCallback&&this.closeCallback(e)};
@@ -1 +0,0 @@
1
- function t(t,e,s,i){Object.defineProperty(t,e,{get:s,set:i,enumerable:!0,configurable:!0})}var e={};t(e,"Treeselect",(function(){return me}),(function(t){return me=t}));var s={};t(s,"TreeselectInput",(function(){return W}),(function(t){return W=t}));const i={arrowUp:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 15l-6-6-6 6"/></svg>',arrowDown:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>',arrowRight:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',attention:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',clear:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',cross:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',check:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>',partialCheck:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></svg>'},l=(t,e)=>{if(e.innerHTML="","string"==typeof t)e.innerHTML=t;else{const s=t.cloneNode(!0);e.appendChild(s)}},n=t=>{const e=t?Object.assign({},t):{};return Object.keys(i).forEach((t=>{e[t]||(e[t]=i[t])})),e};var o,a,c,r,h,d,u,p,m,f,v,w,g,b,E,k,C,y,L,S,_,x,T,O,A,B,N,P,H=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},M=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};class W{focus(){setTimeout((()=>H(this,c,"f").focus()),0)}blur(){this.isOpened&&H(this,o,"m",v).call(this),this.clearSearch(),H(this,c,"f").blur()}updateValue(t){this.value=t,H(this,o,"m",u).call(this),H(this,o,"m",f).call(this)}removeItem(t){this.value=this.value.filter((e=>e.id!==t)),H(this,o,"m",P).call(this),H(this,o,"m",u).call(this),H(this,o,"m",f).call(this)}clear(){this.value=[],H(this,o,"m",P).call(this),H(this,o,"m",u).call(this),this.clearSearch()}openClose(){H(this,o,"m",v).call(this)}clearSearch(){this.searchText="",this.searchCallback(""),H(this,o,"m",f).call(this)}constructor({value:t,showTags:e,tagsCountText:s,clearable:i,isAlwaysOpened:l,searchable:n,placeholder:u,disabled:p,isSingleSelect:m,id:f,iconElements:v,inputCallback:g,searchCallback:E,openCallback:k,closeCallback:C,keydownCallback:y,focusCallback:L,blurCallback:_,nameChangeCallback:x}){o.add(this),a.set(this,void 0),c.set(this,void 0),r.set(this,void 0),h.set(this,void 0),this.value=t,this.showTags=e,this.tagsCountText=s,this.searchable=n,this.placeholder=u,this.clearable=i,this.isAlwaysOpened=l,this.disabled=p,this.isSingleSelect=m,this.id=f,this.iconElements=v,this.isOpened=!1,this.searchText="",M(this,a,H(this,o,"m",b).call(this),"f"),M(this,c,H(this,o,"m",S).call(this),"f"),M(this,r,H(this,o,"m",T).call(this),"f"),M(this,h,null,"f"),this.inputCallback=g,this.searchCallback=E,this.openCallback=k,this.closeCallback=C,this.keydownCallback=y,this.focusCallback=L,this.blurCallback=_,this.nameChangeCallback=x,this.srcElement=H(this,o,"m",w).call(this,H(this,a,"f"),H(this,c,"f"),H(this,r,"f")),H(this,o,"m",d).call(this)}}a=new WeakMap,c=new WeakMap,r=new WeakMap,h=new WeakMap,o=new WeakSet,d=function(){H(this,o,"m",u).call(this),H(this,o,"m",f).call(this),H(this,o,"m",p).call(this)},u=function(){if(H(this,a,"f").innerHTML="",this.showTags){H(this,a,"f").append(...H(this,o,"m",E).call(this));const e=(t=this.value).reduce(((e,{name:s},i)=>(e+=s,i<t.length-1&&(e+=", "),e)),"");this.nameChangeCallback(e)}else{const t=H(this,o,"m",L).call(this);H(this,a,"f").appendChild(t),this.nameChangeCallback(t.innerText)}var t;H(this,a,"f").appendChild(H(this,c,"f"))},p=function(){const t=[];H(this,r,"f").innerHTML="",this.clearable&&t.push(H(this,o,"m",O).call(this)),this.isAlwaysOpened||t.push(H(this,o,"m",B).call(this,this.isOpened)),t.length&&H(this,r,"f").append(...t)},m=function(){if(!this.isAlwaysOpened&&H(this,h,"f")){const t=this.isOpened?this.iconElements.arrowUp:this.iconElements.arrowDown;l(t,H(this,h,"f"))}},f=function(){var t;(null===(t=this.value)||void 0===t?void 0:t.length)?(H(this,c,"f").removeAttribute("placeholder"),this.srcElement.classList.remove("treeselect-input--value-not-selected")):(H(this,c,"f").setAttribute("placeholder",this.placeholder),this.srcElement.classList.add("treeselect-input--value-not-selected")),this.searchable?this.srcElement.classList.remove("treeselect-input--unsearchable"):this.srcElement.classList.add("treeselect-input--unsearchable"),this.isSingleSelect?this.srcElement.classList.add("treeselect-input--is-single-select"):this.srcElement.classList.remove("treeselect-input--is-single-select"),H(this,c,"f").value=this.searchText},v=function(){this.isOpened=!this.isOpened,H(this,o,"m",m).call(this),this.isOpened?this.openCallback():this.closeCallback()},w=function(t,e,s){const i=document.createElement("div");return i.classList.add("treeselect-input"),i.setAttribute("tabindex","-1"),i.addEventListener("mousedown",(t=>H(this,o,"m",g).call(this,t))),i.addEventListener("focus",(()=>this.focusCallback()),!0),i.addEventListener("blur",(()=>this.blurCallback()),!0),t.appendChild(e),i.append(t,s),i},g=function(t){t.preventDefault(),t.stopPropagation(),this.isOpened||H(this,o,"m",v).call(this),this.focus()},b=function(){const t=document.createElement("div");return t.classList.add("treeselect-input__tags"),t},E=function(){return this.value.map((t=>{const e=document.createElement("div");e.classList.add("treeselect-input__tags-element"),e.setAttribute("tabindex","-1"),e.setAttribute("tag-id",t.id.toString()),e.setAttribute("title",t.name);const s=H(this,o,"m",C).call(this,t.name),i=H(this,o,"m",y).call(this);return e.addEventListener("mousedown",(e=>H(this,o,"m",k).call(this,e,t.id))),e.append(s,i),e}))},k=function(t,e){t.preventDefault(),t.stopPropagation(),this.removeItem(e),this.focus()},C=function(t){const e=document.createElement("span");return e.classList.add("treeselect-input__tags-name"),e.textContent=t,e},y=function(){const t=document.createElement("span");return t.classList.add("treeselect-input__tags-cross"),l(this.iconElements.cross,t),t},L=function(){const t=document.createElement("span");if(t.classList.add("treeselect-input__tags-count"),!this.value.length)return t.textContent="",t.setAttribute("title",""),t;const e=1===this.value.length?this.value[0].name:`${this.value.length} ${this.tagsCountText}`;return t.textContent=e,t.setAttribute("title",e),t},S=function(){const t=document.createElement("input");return t.classList.add("treeselect-input__edit"),this.id&&t.setAttribute("id",this.id),this.searchable&&!this.disabled||t.setAttribute("readonly","readonly"),this.disabled&&t.setAttribute("tabindex","-1"),t.addEventListener("keydown",(t=>H(this,o,"m",_).call(this,t))),t.addEventListener("input",(e=>H(this,o,"m",x).call(this,e,t))),t},_=function(t){t.stopPropagation(),"Backspace"!==t.key||this.searchText.length||!this.value.length||this.showTags||this.clear(),"Backspace"===t.key&&!this.searchText.length&&this.value.length&&this.removeItem(this.value[this.value.length-1].id),"Space"!==t.code||this.searchText&&this.searchable||H(this,o,"m",v).call(this),"Enter"===t.key&&t.preventDefault(),this.keydownCallback(t.key),"Tab"!==t.key&&this.focus()},x=function(t,e){t.stopPropagation();const s=this.searchText,i=e.value.trim();if(0!==s.length||0!==i.length){if(this.searchable){const e=t.target.value;this.searchCallback(e),this.isOpened||H(this,o,"m",v).call(this)}else e.value="";this.searchText=e.value}else e.value=""},T=function(){const t=document.createElement("div");return t.classList.add("treeselect-input__operators"),t},O=function(){const t=document.createElement("span");return t.classList.add("treeselect-input__clear"),t.setAttribute("tabindex","-1"),l(this.iconElements.clear,t),t.addEventListener("mousedown",(t=>H(this,o,"m",A).call(this,t))),t},A=function(t){t.preventDefault(),t.stopPropagation(),(this.searchText.length||this.value.length)&&this.clear(),this.focus()},B=function(t){M(this,h,document.createElement("span"),"f"),H(this,h,"f").classList.add("treeselect-input__arrow");const e=t?this.iconElements.arrowUp:this.iconElements.arrowDown;return l(e,H(this,h,"f")),H(this,h,"f").addEventListener("mousedown",(t=>H(this,o,"m",N).call(this,t))),H(this,h,"f")},N=function(t){t.stopPropagation(),t.preventDefault(),this.focus(),H(this,o,"m",v).call(this)},P=function(){this.inputCallback(this.value)};var G={};t(G,"TreeselectList",(function(){return Mt}),(function(t){return Mt=t}));const V=(t,e,s="",i=0)=>t.reduce(((t,l)=>{var n;const o=!!(null===(n=l.children)||void 0===n?void 0:n.length),a=i>=e&&o,c=i>e;if(t.push({id:l.value,name:l.name,childOf:s,isGroup:o,checked:!1,isPartialChecked:!1,level:i,isClosed:a,hidden:c}),o){const s=V(l.children,e,l.value,i+1);t.push(...s)}return t}),[]),j=({id:t,checked:e},s)=>{s.forEach((i=>{i.childOf===t&&(i.checked=null==e||e,i.isPartialChecked=!1,i.isGroup&&j(i,s))}))},q=(t,e)=>{const s=e.find((e=>e.id===t)),i=e.filter((t=>t.childOf===(null==s?void 0:s.id)));if(!s)return;const l=i.every((t=>t.checked)),n=i.some((t=>t.isPartialChecked||t.checked))&&!l,o=!l&&!n;l&&(s.checked=!0,s.isPartialChecked=!1),n&&(s.checked=!1,s.isPartialChecked=!0),o&&(s.checked=!1,s.isPartialChecked=!1),s.childOf&&q(s.childOf,e)},D=({id:t,isGroup:e,childOf:s,checked:i},l,n)=>{e&&j({id:t,checked:i},l),s&&!n&&q(s,l)},I=(t,e)=>e.reduce(((s,i)=>(i.childOf===t&&(s.push(i),i.isGroup&&s.push(...I(i.id,e))),s)),[]),$=(t,e)=>e.reduce(((s,i)=>(i.id===t&&(s.push(i),i.childOf&&s.push(...$(i.childOf,e))),s)),[]),R=t=>{const{onlyGroupsIds:e,allItems:s}=t.reduce(((t,e)=>e.checked?(e.isGroup&&t.onlyGroupsIds.push(e.id),t.allItems.push(e),t):t),{onlyGroupsIds:[],allItems:[]});return s.filter((t=>!e.some((e=>e===t.childOf))))},z=(t,{id:e,isClosed:s})=>{t.filter((t=>t.childOf===e)).forEach((e=>{e.hidden=null!=s&&s,e.isGroup&&!e.isClosed&&z(t,{id:e.id,isClosed:s})}))},U=(t,e)=>{const s=((t,e)=>t.reduce(((s,i)=>{if(i.name.toLowerCase().includes(e.toLowerCase())){if(s.push(i),i.isGroup){const e=I(i.id,t);s.push(...e)}if(i.childOf){const e=$(i.childOf,t);s.push(...e)}}return s}),[]))(t,e);t.forEach((e=>{s.some((t=>t.id===e.id))?(e.isGroup&&(e.isClosed=!1,z(t,e)),e.hidden=!1):e.hidden=!0}))},Y=(t,e,s)=>{(t=>{t.forEach((t=>{t.checked=!1,t.isPartialChecked=!1}))})(e);e.filter((e=>t.some((t=>t===e.id)))).forEach((t=>{t.checked=!0,t.isPartialChecked=!1,D(t,e,s)}))};var F,J,K,X,Q,Z,tt,et,st,it,lt,nt,ot,at,ct,rt,ht,dt,ut,pt,mt,ft,vt,wt,gt,bt,Et,kt,Ct,yt=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},Lt=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};const St=(t,e,s,i)=>{t.forEach((l=>{const n=e.querySelector(`[input-id="${l.id}"]`),o=Pt(n);n.checked=l.checked,_t(l,o,i),xt(l,o),Tt(l,o,s),Ot(l,o),Bt(l,o,t),At(l,n,s)})),Nt(t,e)},_t=(t,e,s)=>{t.checked?e.classList.add("treeselect-list__item--checked"):e.classList.remove("treeselect-list__item--checked"),Array.isArray(s)&&s[0]===t.id?e.classList.add("treeselect-list__item--single-selected"):e.classList.remove("treeselect-list__item--single-selected")},xt=(t,e)=>{t.isPartialChecked?e.classList.add("treeselect-list__item--partial-checked"):e.classList.remove("treeselect-list__item--partial-checked")},Tt=(t,e,s)=>{if(t.isGroup){const i=e.querySelector(".treeselect-list__item-icon"),n=t.isClosed?s.arrowRight:s.arrowDown;l(n,i),t.isClosed?e.classList.add("treeselect-list__item--closed"):e.classList.remove("treeselect-list__item--closed")}},Ot=(t,e)=>{t.hidden?e.classList.add("treeselect-list__item--hidden"):e.classList.remove("treeselect-list__item--hidden")},At=(t,e,s)=>{const i=e.parentNode.querySelector(".treeselect-list__item-checkbox-icon");t.checked?l(s.check,i):t.isPartialChecked?l(s.partialCheck,i):i.innerHTML=""},Bt=(t,e,s)=>{if(0===t.level){const i=s.some((e=>e.isGroup&&e.level===t.level)),l=!t.isGroup&&i?"20px":"5px";e.style.paddingLeft=t.isGroup?"0":l}else e.style.paddingLeft=t.isGroup?20*t.level+"px":20*t.level+20+"px";e.setAttribute("level",t.level.toString()),e.setAttribute("group",t.isGroup.toString())},Nt=(t,e)=>{const s=t.some((t=>!t.hidden)),i=e.querySelector(".treeselect-list__empty");s?i.classList.add("treeselect-list__empty--hidden"):i.classList.remove("treeselect-list__empty--hidden")},Pt=t=>t.parentNode.parentNode,Ht=(t,e)=>e.find((e=>e.id.toString()===t));class Mt{updateValue(t){var e,s,i,l,n,o;this.value=t,Lt(this,X,this.isSingleSelect?this.value:[],"f"),e=t,s=this.flattedOptions,i=this.srcElement,l=this.iconElements,n=this.isSingleSelect,o=yt(this,X,"f"),Y(e,s,n),St(s,i,l,o),yt(this,F,"m",kt).call(this)}updateSearchValue(t){if(t===this.searchText)return;const e=""===this.searchText&&""!==t;this.searchText=t,e&&(this.flattedOptionsBeforeSearch=JSON.parse(JSON.stringify(this.flattedOptions))),""===this.searchText&&(this.flattedOptions=this.flattedOptionsBeforeSearch.map((t=>{const e=this.flattedOptions.find((e=>e.id===t.id));return e.isClosed=t.isClosed,e.hidden=t.hidden,e})),this.flattedOptionsBeforeSearch=[]),this.searchText&&U(this.flattedOptions,t),St(this.flattedOptions,this.srcElement,this.iconElements,yt(this,X,"f")),this.focusFirstListElement()}callKeyAction(t){Lt(this,K,!1,"f");const e=this.srcElement.querySelector(".treeselect-list__item--focused");"Enter"===t&&e&&e.dispatchEvent(new Event("mousedown")),"ArrowLeft"!==t&&"ArrowRight"!==t||yt(this,F,"m",Q).call(this,e,t),"ArrowDown"!==t&&"ArrowUp"!==t||yt(this,F,"m",Z).call(this,e,t)}focusFirstListElement(){const t="treeselect-list__item--focused",e=this.srcElement.querySelector(`.${t}`),s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((t=>"none"!==window.getComputedStyle(Pt(t)).display));if(!s.length)return;e&&e.classList.remove(t);Pt(s[0]).classList.add(t)}constructor({options:t,value:e,openLevel:s,listSlotHtmlComponent:i,emptyText:l,isSingleSelect:n,iconElements:o,showCount:a,disabledBranchNode:c,inputCallback:r,arrowClickCallback:h,mouseupCallback:d}){F.add(this),J.set(this,null),K.set(this,!0),X.set(this,[]),this.options=t,this.value=e,this.openLevel=null!=s?s:0,this.listSlotHtmlComponent=null!=i?i:null,this.emptyText=null!=l?l:"No results found...",this.isSingleSelect=null!=n&&n,this.showCount=null!=a&&a,this.disabledBranchNode=null!=c&&c,this.iconElements=o,this.searchText="",this.flattedOptions=V(this.options,this.openLevel),this.flattedOptionsBeforeSearch=this.flattedOptions,this.selectedNodes={nodes:[],groupedNodes:[]},this.srcElement=yt(this,F,"m",tt).call(this),this.inputCallback=r,this.arrowClickCallback=h,this.mouseupCallback=d,this.updateValue(this.value),(t=>{const{duplications:e}=t.reduce(((t,e)=>(t.allItems.some((t=>t.toString()===e.id.toString()))&&t.duplications.push(e.id),t.allItems.push(e.id),t)),{duplications:[],allItems:[]});e.length&&console.error(`Validation: You have duplicated values: ${e.join(", ")}! You should use unique values.`)})(this.flattedOptions)}}J=new WeakMap,K=new WeakMap,X=new WeakMap,F=new WeakSet,Q=function(t,e){if(!t)return;const s=t.querySelector(".treeselect-list__item-checkbox").getAttribute("input-id"),i=Ht(s,this.flattedOptions),l=t.querySelector(".treeselect-list__item-icon");"ArrowLeft"===e&&!i.isClosed&&i.isGroup&&l.dispatchEvent(new Event("mousedown")),"ArrowRight"===e&&i.isClosed&&i.isGroup&&l.dispatchEvent(new Event("mousedown"))},Z=function(t,e){var s,i,l;const n=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((t=>"none"!==window.getComputedStyle(Pt(t)).display));if(n.length)if(t){const t=n.findIndex((t=>Pt(t).classList.contains("treeselect-list__item--focused")));Pt(n[t]).classList.remove("treeselect-list__item--focused");const o="ArrowDown"===e?t+1:t-1,a="ArrowDown"===e?0:n.length-1,c=null!==(s=n[o])&&void 0!==s?s:n[a],r=!n[o],h=Pt(c);h.classList.add("treeselect-list__item--focused");const d=this.srcElement.getBoundingClientRect(),u=h.getBoundingClientRect();if(r&&"ArrowDown"===e)return void this.srcElement.scroll(0,0);if(r&&"ArrowUp"===e)return void this.srcElement.scroll(0,this.srcElement.scrollHeight);const p=null!==(l=null===(i=this.listSlotHtmlComponent)||void 0===i?void 0:i.clientHeight)&&void 0!==l?l:0;if(d.y+d.height<u.y+u.height+p)return void this.srcElement.scroll(0,this.srcElement.scrollTop+u.height);if(d.y>u.y)return void this.srcElement.scroll(0,this.srcElement.scrollTop-u.height)}else{Pt(n[0]).classList.add("treeselect-list__item--focused")}},tt=function(){const t=yt(this,F,"m",et).call(this),e=yt(this,F,"m",lt).call(this,this.options);t.append(...e);const s=yt(this,F,"m",nt).call(this);s&&t.append(s);const i=yt(this,F,"m",ot).call(this);return t.append(i),t},et=function(){const t=document.createElement("div");return t.classList.add("treeselect-list"),this.isSingleSelect&&t.classList.add("treeselect-list--single-select"),this.disabledBranchNode&&t.classList.add("treeselect-list--disabled-branch-node"),t.addEventListener("mouseout",(t=>yt(this,F,"m",st).call(this,t))),t.addEventListener("mousemove",(()=>yt(this,F,"m",it).call(this))),t.addEventListener("mouseup",(()=>this.mouseupCallback()),!0),t},st=function(t){t.stopPropagation(),yt(this,J,"f")&&yt(this,K,"f")&&yt(this,J,"f").classList.add("treeselect-list__item--focused")},it=function(){Lt(this,K,!0,"f")},lt=function t(e){return e.reduce(((e,s)=>{var i;if(null===(i=s.children)||void 0===i?void 0:i.length){const i=yt(this,F,"m",at).call(this,s),l=yt(this,F,"m",t).call(this,s.children);return i.append(...l),e.push(i),e}const l=yt(this,F,"m",ct).call(this,s,!1);return e.push(l),e}),[])},nt=function(){if(!this.listSlotHtmlComponent)return null;const t=document.createElement("div");return t.classList.add("treeselect-list__slot"),t.appendChild(this.listSlotHtmlComponent),t},ot=function(){const t=document.createElement("div");t.classList.add("treeselect-list__empty"),t.setAttribute("title",this.emptyText);const e=document.createElement("span");e.classList.add("treeselect-list__empty-icon"),l(this.iconElements.attention,e);const s=document.createElement("span");return s.classList.add("treeselect-list__empty-text"),s.textContent=this.emptyText,t.append(e,s),t},at=function(t){const e=document.createElement("div");e.setAttribute("group-container-id",t.value.toString()),e.classList.add("treeselect-list__group-container");const s=yt(this,F,"m",ct).call(this,t,!0);return e.appendChild(s),e},ct=function(t,e){const s=yt(this,F,"m",rt).call(this,t);if(e){const t=yt(this,F,"m",pt).call(this);s.appendChild(t),s.classList.add("treeselect-list__item--group")}const i=yt(this,F,"m",ft).call(this,t),l=yt(this,F,"m",vt).call(this,t,e);return s.append(i,l),s},rt=function(t){const e=document.createElement("div");return e.setAttribute("tabindex","-1"),e.setAttribute("title",t.name),e.classList.add("treeselect-list__item"),e.addEventListener("mouseover",(()=>yt(this,F,"m",ht).call(this,e)),!0),e.addEventListener("mouseout",(()=>yt(this,F,"m",dt).call(this,e)),!0),e.addEventListener("mousedown",(e=>yt(this,F,"m",ut).call(this,e,t))),e},ht=function(t){yt(this,K,"f")&&yt(this,F,"m",Et).call(this,!0,t)},dt=function(t){yt(this,K,"f")&&(yt(this,F,"m",Et).call(this,!1,t),Lt(this,J,t,"f"))},ut=function(t,e){t.preventDefault(),t.stopPropagation();const s=t.target.querySelector(".treeselect-list__item-checkbox");s.checked=!s.checked,yt(this,F,"m",gt).call(this,s,e)},pt=function(){const t=document.createElement("span");return t.setAttribute("tabindex","-1"),t.classList.add("treeselect-list__item-icon"),l(this.iconElements.arrowDown,t),t.addEventListener("mousedown",(t=>yt(this,F,"m",mt).call(this,t))),t},mt=function(t){t.preventDefault(),t.stopPropagation(),yt(this,F,"m",bt).call(this,t)},ft=function(t){const e=document.createElement("div");e.classList.add("treeselect-list__item-checkbox-container");const s=document.createElement("span");s.classList.add("treeselect-list__item-checkbox-icon"),s.innerHTML="";const i=document.createElement("input");return i.setAttribute("tabindex","-1"),i.setAttribute("type","checkbox"),i.setAttribute("input-id",t.value.toString()),i.classList.add("treeselect-list__item-checkbox"),e.append(s,i),e},vt=function(t,e){const s=document.createElement("label");if(s.textContent=t.name,s.classList.add("treeselect-list__item-label"),e&&this.showCount){const e=yt(this,F,"m",wt).call(this,t);s.appendChild(e)}return s},wt=function(t){const e=document.createElement("span"),s=this.flattedOptions.filter((e=>e.childOf===t.value));return e.textContent=`(${s.length})`,e.classList.add("treeselect-list__item-label-counter"),e},gt=function(t,e){const s=this.flattedOptions.find((t=>t.id===e.value));if(s)if((null==s?void 0:s.isGroup)&&this.disabledBranchNode){const e=Pt(t).querySelector(".treeselect-list__item-icon");null==e||e.dispatchEvent(new Event("mousedown"))}else{if(this.isSingleSelect){const[t]=yt(this,X,"f");if(s.id===t)return;Lt(this,X,[s.id],"f"),Y([s.id],this.flattedOptions,this.isSingleSelect)}else s.checked=t.checked,s.isPartialChecked=!1,D(s,this.flattedOptions,this.isSingleSelect);St(this.flattedOptions,this.srcElement,this.iconElements,yt(this,X,"f")),yt(this,F,"m",Ct).call(this)}},bt=function(t){var e,s,i;const l=null===(s=null===(e=t.target)||void 0===e?void 0:e.parentNode)||void 0===s?void 0:s.querySelector("[input-id]"),n=null!==(i=null==l?void 0:l.getAttribute("input-id"))&&void 0!==i?i:null,o=Ht(n,this.flattedOptions);o&&(o.isClosed=!o.isClosed,z(this.flattedOptions,o),St(this.flattedOptions,this.srcElement,this.iconElements,yt(this,X,"f")),this.arrowClickCallback())},Et=function(t,e){const s="treeselect-list__item--focused";if(t){const t=Array.from(this.srcElement.querySelectorAll(`.${s}`));t.length&&t.forEach((t=>t.classList.remove(s))),e.classList.add(s)}else e.classList.remove(s)},kt=function(){var t;this.selectedNodes={nodes:(t=this.flattedOptions,t.filter((t=>t.checked&&!t.isGroup))),groupedNodes:R(this.flattedOptions)}},Ct=function(){yt(this,F,"m",kt).call(this),this.inputCallback(this.selectedNodes),this.value=this.selectedNodes.nodes.map((t=>t.id))};var Wt,Gt,Vt,jt,qt,Dt,It,$t,Rt,zt,Ut,Yt,Ft,Jt,Kt,Xt,Qt,Zt,te,ee,se,ie,le,ne,oe,ae,ce,re,he=function(t,e,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(t):i?i.value:e.get(t)},de=function(t,e,s,i,l){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(t,s):l?l.value=s:e.set(t,s),s};const ue=t=>t.map((t=>t.id)),pe=t=>t?Array.isArray(t)?t:[t]:[];class me{mount(){var t;this.destroy();const{container:e,list:s,input:i}=he(this,Wt,"m",Rt).call(this);this.srcElement=e,de(this,Gt,s,"f"),de(this,Vt,i,"f"),de(this,qt,this.scrollWindowHandler.bind(this),"f"),de(this,Dt,this.scrollWindowHandler.bind(this),"f"),de(this,It,this.focusWindowHandler.bind(this),"f"),de(this,$t,this.blurWindowHandler.bind(this),"f"),this.alwaysOpen&&(null===(t=he(this,Vt,"f"))||void 0===t||t.openClose()),this.disabled?this.srcElement.classList.add("treeselect--disabled"):this.srcElement.classList.remove("treeselect--disabled")}updateValue(t){var e;const s=he(this,Gt,"f");if(s){const i=pe(t);s.updateValue(i);const{groupedNodes:l,nodes:n}=s.selectedNodes,o=this.grouped||this.isSingleSelect?l:n;null===(e=he(this,Vt,"f"))||void 0===e||e.updateValue(o)}}destroy(){this.srcElement&&(he(this,Wt,"m",te).call(this),this.srcElement.innerHTML="",this.srcElement=null,he(this,Wt,"m",le).call(this,!0))}focus(){he(this,Vt,"f")&&he(this,Vt,"f").focus()}toggleOpenClose(){he(this,Vt,"f")&&(he(this,Vt,"f").openClose(),he(this,Vt,"f").focus())}scrollWindowHandler(){this.updateListPosition()}focusWindowHandler(t){var e,s,i;(null===(e=this.srcElement)||void 0===e?void 0:e.contains(t.target))||(null===(s=he(this,Gt,"f"))||void 0===s?void 0:s.srcElement.contains(t.target))||(null===(i=he(this,Vt,"f"))||void 0===i||i.blur(),he(this,Wt,"m",le).call(this,!1),he(this,Wt,"m",se).call(this,!1))}blurWindowHandler(){var t;null===(t=he(this,Vt,"f"))||void 0===t||t.blur(),he(this,Wt,"m",le).call(this,!1),he(this,Wt,"m",se).call(this,!1)}updateListPosition(){var t;const e=this.srcElement,s=null===(t=he(this,Gt,"f"))||void 0===t?void 0:t.srcElement;if(!e||!s)return;const{height:i}=s.getBoundingClientRect(),{x:l,y:n,height:o,width:a}=e.getBoundingClientRect(),c=window.innerHeight-n-o;let r=n>c&&n>=i&&c<i;if("auto"!==this.direction&&(r="top"===this.direction),this.appendToBody){"0px"===s.style.top&&"0px"===s.style.left||(s.style.top="0px",s.style.left="0px");const t=l+window.scrollX,e=r?n+window.scrollY-i:n+window.scrollY+o;s.style.transform=`translate(${t}px,${e}px)`,s.style.width=`${a}px`}const h=r?"top":"bottom";s.getAttribute("direction")!==h&&(s.setAttribute("direction",h),he(this,Wt,"m",ee).call(this,r,this.appendToBody))}constructor({parentHtmlContainer:t,value:e,options:s,openLevel:i,appendToBody:l,alwaysOpen:o,showTags:a,tagsCountText:c,clearable:r,searchable:h,placeholder:d,grouped:u,isGroupedValue:p,listSlotHtmlComponent:m,disabled:f,emptyText:v,staticList:w,id:g,isSingleSelect:b,showCount:E,disabledBranchNode:k,direction:C,iconElements:y,inputCallback:L,openCallback:S,closeCallback:_,nameChangeCallback:x}){Wt.add(this),Gt.set(this,null),Vt.set(this,null),jt.set(this,null),qt.set(this,null),Dt.set(this,null),It.set(this,null),$t.set(this,null),(({parentHtmlContainer:t,staticList:e,appendToBody:s,isSingleSelect:i,value:l,direction:n})=>{t||console.error("Validation: parentHtmlContainer prop is required!"),e&&s&&console.error("Validation: You should set staticList to false if you use appendToBody!"),i&&Array.isArray(l)&&console.error("Validation: if you use isSingleSelect prop, you should pass a single value!"),i||Array.isArray(l)||console.error("Validation: you should pass an array as a value!"),n&&"auto"!==n&&"bottom"!==n&&"top"!==n&&console.error("Validation: you should pass (auto | top | bottom | undefined) as a value for the direction prop!")})({parentHtmlContainer:t,value:e,staticList:w,appendToBody:l,isSingleSelect:b}),this.parentHtmlContainer=t,this.value=pe(e),this.options=null!=s?s:[],this.openLevel=null!=i?i:0,this.appendToBody=null!=l&&l,this.alwaysOpen=!(!o||f),this.showTags=null==a||a,this.tagsCountText=null!=c?c:"elements selected",this.clearable=null==r||r,this.searchable=null==h||h,this.placeholder=null!=d?d:"Search...",this.grouped=null==u||u,this.isGroupedValue=null!=p&&p,this.listSlotHtmlComponent=null!=m?m:null,this.disabled=null!=f&&f,this.emptyText=null!=v?v:"No results found...",this.staticList=!(!w||this.appendToBody),this.id=null!=g?g:"",this.isSingleSelect=null!=b&&b,this.showCount=null!=E&&E,this.disabledBranchNode=null!=k&&k,this.direction=null!=C?C:"auto",this.iconElements=n(y),this.inputCallback=L,this.openCallback=S,this.closeCallback=_,this.nameChangeCallback=x,this.groupedValue=[],this.isListOpened=!1,this.selectedName="",this.srcElement=null,this.mount()}}Gt=new WeakMap,Vt=new WeakMap,jt=new WeakMap,qt=new WeakMap,Dt=new WeakMap,It=new WeakMap,$t=new WeakMap,Wt=new WeakSet,Rt=function(){const t=this.parentHtmlContainer;t.classList.add("treeselect");const e=new(0,G.TreeselectList)({options:this.options,value:this.value,openLevel:this.openLevel,listSlotHtmlComponent:this.listSlotHtmlComponent,emptyText:this.emptyText,isSingleSelect:this.isSingleSelect,showCount:this.showCount,disabledBranchNode:this.disabledBranchNode,iconElements:this.iconElements,inputCallback:t=>he(this,Wt,"m",Kt).call(this,t),arrowClickCallback:()=>he(this,Wt,"m",Xt).call(this),mouseupCallback:()=>{var t;return null===(t=he(this,Vt,"f"))||void 0===t?void 0:t.focus()}}),{groupedNodes:i,nodes:l}=e.selectedNodes,n=new(0,s.TreeselectInput)({value:this.grouped||this.isSingleSelect?i:l,showTags:this.showTags,tagsCountText:this.tagsCountText,clearable:this.clearable,isAlwaysOpened:this.alwaysOpen,searchable:this.searchable,placeholder:this.placeholder,disabled:this.disabled,isSingleSelect:this.isSingleSelect,id:this.id,iconElements:this.iconElements,inputCallback:t=>he(this,Wt,"m",zt).call(this,t),searchCallback:t=>he(this,Wt,"m",Yt).call(this,t),openCallback:()=>he(this,Wt,"m",Zt).call(this),closeCallback:()=>he(this,Wt,"m",te).call(this),keydownCallback:t=>he(this,Wt,"m",Ut).call(this,t),focusCallback:()=>he(this,Wt,"m",Ft).call(this),blurCallback:()=>he(this,Wt,"m",Jt).call(this),nameChangeCallback:t=>he(this,Wt,"m",Qt).call(this,t)});return this.appendToBody&&de(this,jt,new ResizeObserver((()=>this.updateListPosition())),"f"),t.append(n.srcElement),{container:t,list:e,input:n}},zt=function(t){var e,s,i,l,n;const o=ue(t);null===(e=he(this,Gt,"f"))||void 0===e||e.updateValue(o);const a=null===(i=null===(s=he(this,Gt,"f"))||void 0===s?void 0:s.selectedNodes)||void 0===i?void 0:i.nodes,c=null===(n=null===(l=he(this,Gt,"f"))||void 0===l?void 0:l.selectedNodes)||void 0===n?void 0:n.groupedNodes;this.value=a?ue(a):[],this.groupedValue=c?ue(c):[],he(this,Wt,"m",oe).call(this)},Ut=function(t){var e;this.isListOpened&&(null===(e=he(this,Gt,"f"))||void 0===e||e.callKeyAction(t))},Yt=function(t){var e;null===(e=he(this,Gt,"f"))||void 0===e||e.updateSearchValue(t),this.updateListPosition()},Ft=function(){he(this,Wt,"m",se).call(this,!0),he(this,It,"f")&&he(this,It,"f")&&he(this,$t,"f")&&(document.addEventListener("mousedown",he(this,It,"f"),!0),document.addEventListener("focus",he(this,It,"f"),!0),window.addEventListener("blur",he(this,$t,"f")))},Jt=function(){setTimeout((()=>{var t,e;const s=null===(t=he(this,Vt,"f"))||void 0===t?void 0:t.srcElement.contains(document.activeElement),i=null===(e=he(this,Gt,"f"))||void 0===e?void 0:e.srcElement.contains(document.activeElement);s||i||this.blurWindowHandler()}),1)},Kt=function(t){var e,s,i,l;const{groupedNodes:n,nodes:o}=t,a=this.grouped||this.isSingleSelect?n:o;null===(e=he(this,Vt,"f"))||void 0===e||e.updateValue(a),this.value=ue(o),this.groupedValue=ue(n),this.isSingleSelect&&!this.alwaysOpen&&(null===(s=he(this,Vt,"f"))||void 0===s||s.openClose(),null===(i=he(this,Vt,"f"))||void 0===i||i.clearSearch()),null===(l=he(this,Vt,"f"))||void 0===l||l.focus(),he(this,Wt,"m",oe).call(this)},Xt=function(){var t;null===(t=he(this,Vt,"f"))||void 0===t||t.focus(),this.updateListPosition()},Qt=function(t){this.selectedName!==t&&(this.selectedName=t,he(this,Wt,"m",ae).call(this))},Zt=function(){var t;this.isListOpened=!0,he(this,qt,"f")&&he(this,Dt,"f")&&(window.addEventListener("scroll",he(this,qt,"f"),!0),window.addEventListener("resize",he(this,Dt,"f"))),he(this,Gt,"f")&&this.srcElement&&(this.appendToBody?(document.body.appendChild(he(this,Gt,"f").srcElement),null===(t=he(this,jt,"f"))||void 0===t||t.observe(this.srcElement)):this.srcElement.appendChild(he(this,Gt,"f").srcElement),this.updateListPosition(),he(this,Wt,"m",ie).call(this,!0),he(this,Gt,"f").focusFirstListElement(),he(this,Wt,"m",ce).call(this))},te=function(){var t;if(this.alwaysOpen)return;if(this.isListOpened=!1,he(this,qt,"f")&&he(this,Dt,"f")&&(window.removeEventListener("scroll",he(this,qt,"f"),!0),window.removeEventListener("resize",he(this,Dt,"f"))),!he(this,Gt,"f")||!this.srcElement)return;(this.appendToBody?document.body.contains(he(this,Gt,"f").srcElement):this.srcElement.contains(he(this,Gt,"f").srcElement))&&(this.appendToBody?(document.body.removeChild(he(this,Gt,"f").srcElement),null===(t=he(this,jt,"f"))||void 0===t||t.disconnect()):this.srcElement.removeChild(he(this,Gt,"f").srcElement),he(this,Wt,"m",ie).call(this,!1),he(this,Wt,"m",re).call(this))},ee=function(t,e){if(!he(this,Gt,"f")||!he(this,Vt,"f"))return;const s=e?"treeselect-list--top-to-body":"treeselect-list--top",i=e?"treeselect-list--bottom-to-body":"treeselect-list--bottom";t?(he(this,Gt,"f").srcElement.classList.add(s),he(this,Gt,"f").srcElement.classList.remove(i),he(this,Vt,"f").srcElement.classList.add("treeselect-input--top"),he(this,Vt,"f").srcElement.classList.remove("treeselect-input--bottom")):(he(this,Gt,"f").srcElement.classList.remove(s),he(this,Gt,"f").srcElement.classList.add(i),he(this,Vt,"f").srcElement.classList.remove("treeselect-input--top"),he(this,Vt,"f").srcElement.classList.add("treeselect-input--bottom"))},se=function(t){he(this,Vt,"f")&&he(this,Gt,"f")&&(t?(he(this,Vt,"f").srcElement.classList.add("treeselect-input--focused"),he(this,Gt,"f").srcElement.classList.add("treeselect-list--focused")):(he(this,Vt,"f").srcElement.classList.remove("treeselect-input--focused"),he(this,Gt,"f").srcElement.classList.remove("treeselect-list--focused")))},ie=function(t){var e,s,i,l;t?null===(e=he(this,Vt,"f"))||void 0===e||e.srcElement.classList.add("treeselect-input--opened"):null===(s=he(this,Vt,"f"))||void 0===s||s.srcElement.classList.remove("treeselect-input--opened"),this.staticList?null===(i=he(this,Gt,"f"))||void 0===i||i.srcElement.classList.add("treeselect-list--static"):null===(l=he(this,Gt,"f"))||void 0===l||l.srcElement.classList.remove("treeselect-list--static")},le=function(t){he(this,qt,"f")&&he(this,Dt,"f")&&he(this,It,"f")&&he(this,$t,"f")&&(this.alwaysOpen&&!t||(window.removeEventListener("scroll",he(this,qt,"f"),!0),window.removeEventListener("resize",he(this,Dt,"f"))),document.removeEventListener("mousedown",he(this,It,"f"),!0),document.removeEventListener("focus",he(this,It,"f"),!0),window.removeEventListener("blur",he(this,$t,"f")))},ne=function(){return((t,e)=>{if(e){const[e]=t;return e}return t})(this.isGroupedValue||this.isSingleSelect?this.groupedValue:this.value,this.isSingleSelect)},oe=function(){var t;const e=he(this,Wt,"m",ne).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("input",{detail:e})),this.inputCallback&&this.inputCallback(e)},ae=function(){var t;null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("name-change",{detail:this.selectedName})),this.nameChangeCallback&&this.nameChangeCallback(this.selectedName)},ce=function(){var t;const e=he(this,Wt,"m",ne).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("open",{detail:e})),this.openCallback&&this.openCallback(e)},re=function(){var t;const e=he(this,Wt,"m",ne).call(this);null===(t=this.srcElement)||void 0===t||t.dispatchEvent(new CustomEvent("close",{detail:e})),this.closeCallback&&this.closeCallback(e)};export{me as Treeselect,e as default};