treeselectjs 0.5.8 → 0.7.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.
- package/README.md +52 -13
- package/dist/treeselectjs.cjs.js +1 -1
- package/dist/treeselectjs.css +1 -1
- package/dist/treeselectjs.d.ts +12 -2
- package/dist/treeselectjs.mjs.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -98,16 +98,38 @@ slot.addEventListener('click', (e) => {
|
|
|
98
98
|
alert('Slot click!')
|
|
99
99
|
})
|
|
100
100
|
```
|
|
101
|
+
---
|
|
101
102
|
|
|
102
103
|
### Props
|
|
104
|
+
|
|
105
|
+
#### Core props
|
|
103
106
|
Name | Type (default) | Description
|
|
104
107
|
------------- | ------------- | -------------
|
|
105
108
|
**parentHtmlContainer** | HTMLElement (required!) | It should be a HTML element (div), it will be changed to the list container.
|
|
106
109
|
**value** | Array[String \| Number] ([]) | An array of `value` from `options` prop. This value will be selected on load of the treeselect. You can call `updateValue` to update prop or set value `treeselect.value` and call `mount`. The `value` changes if you check/uncheck checkboxes or remove tags from the input.
|
|
107
|
-
**options** | Array[Object] ([]) | It is an array of objects ```{
|
|
110
|
+
**options** | Array[Object] ([]) | It is an array of objects ```{name: String, value: String, disabled?: Boolean, htmlAttr?: object, children: [] }```, where children are the same array of objects. Do not use duplicated `value` field. But you can use duplicated names. [Read more](#option-description).
|
|
111
|
+
**disabled** | Boolean (false) | List will be disabled.
|
|
112
|
+
**id** | String ('') | id attribute for the accessibility.
|
|
113
|
+
**isSingleSelect** | Boolean (false) | Converts multi-select to the single value select. Checkboxes will be removed. You should pass only one id instead of array of values. Also you can set **showTags** to false. It helps to show treeselect as a dropdown.
|
|
114
|
+
**isGroupedValue** | Boolean (false) | Return groups if they selected instead of separate ids. Treeselect returns only leaves ids by default.
|
|
115
|
+
|
|
116
|
+
#### List settings props
|
|
117
|
+
Name | Type (default) | Description
|
|
118
|
+
------------- | ------------- | -------------
|
|
119
|
+
**disabledBranchNode** | Boolean (false) | It is impossible to select groups. You can select only leaves.
|
|
108
120
|
**openLevel** | Number (0) | All groups will be opened to this level.
|
|
109
121
|
**appendToBody** | Boolean (false) | List will be appended to the body instead of the input container.
|
|
110
122
|
**alwaysOpen** | Boolean (false) | List will be always opened. You can use it for comfortable style changing. If you what to use it as an opened list, turn `staticList` to `true`.
|
|
123
|
+
**staticList** | Boolean (false) | Add the list as a static DOM element. List doesn't overlap content. This prop will be ignored if you use `appendToBody`.
|
|
124
|
+
**emptyText** | String ('No results found...') | A empty list text.
|
|
125
|
+
**listSlotHtmlComponent** | HTMLElement (null) | It should be a HTML element, it will be append to the end of the list.
|
|
126
|
+
**direction** | String (auto) | A force direction for the list. Supported values: `auto`, `top`, `bottom`.
|
|
127
|
+
**expandSelected** | Boolean (false) | All groups which have checked values will be expanded on the init.
|
|
128
|
+
**saveScrollPosition** | Boolean (true) | The list saves the last scroll position before close. If you open the list your scroll will be on the previous position. If you set the value to `false` - the scroll will have position 0 and the first item will be focused every time.
|
|
129
|
+
|
|
130
|
+
#### Input settings props
|
|
131
|
+
Name | Type (default) | Description
|
|
132
|
+
------------- | ------------- | -------------
|
|
111
133
|
**showTags** | Boolean (true) | Selected values look like tags. The false value shows results as '{count} elements selected'. You can change text if you use `tagsCountText` prop. For one selected element, you will see a name of this element.
|
|
112
134
|
**tagsCountText** | String ('elements selected') | This text will be shown if you use 'showTags'. This text will be inserted after the count of the selected elements - ```'{count} {tagsCountText}'```.
|
|
113
135
|
**showCount** | Boolean (false) | Shows count of children near the group's name.
|
|
@@ -115,21 +137,34 @@ Name | Type (default) | Description
|
|
|
115
137
|
**searchable** | Boolean (true) | Search is available.
|
|
116
138
|
**placeholder** | String ('Search...') | Placeholder text.
|
|
117
139
|
**grouped** | Boolean (true) | Show groups in the input and group leafs if all group selected.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
**id** | String ('') | id attribute for the accessibility.
|
|
123
|
-
**isSingleSelect** | Boolean (false) | Converts multi-select to the single value select. Checkboxes will be removed. You should pass only one id instead of array of values. Also you can set **showTags** to false. It helps to show treeselect as a dropdown.
|
|
124
|
-
**isGroupedValue** | Boolean (false) | Return groups if they selected instead of separate ids. Treeselect returns only leaves ids by default.
|
|
125
|
-
**disabledBranchNode** | Boolean (false) | It is impossible to select groups. You can select only leaves.
|
|
126
|
-
**direction** | String (auto) | A force direction for the list. Supported values: `auto`, `top`, `bottom`.
|
|
127
|
-
**iconElements** | Object({ arrowUp, ... }) | Object contains all svg icons. You can use HTMLElement or a String to reset values from the default Object. Object: ```iconElements: { arrowUp, arrowDown, arrowRight, attention, clear, cross, check, partialCheck }```. After reset of icon you have to update styles if it is necessary, use `alwaysOpen` prop for more comfortable work with styles changes.
|
|
140
|
+
|
|
141
|
+
#### Callback props
|
|
142
|
+
Name | Type (default) | Description
|
|
143
|
+
------------- | ------------- | -------------
|
|
128
144
|
**inputCallback** | (value) => void (undefined) | Callback method for `input` if you don't want to to eventListener.
|
|
129
145
|
**openCallback** | (value) => void (undefined) | Callback method for `open` if you don't want to use eventListener.
|
|
130
146
|
**closeCallback** | (value) => void (undefined) | Callback method for `close` if you don't want to use eventListener.
|
|
131
147
|
**nameChangeCallback** | (name) => void (undefined) | Callback method for `name-change` if you don't want to use eventListener.
|
|
132
148
|
|
|
149
|
+
#### Additional props
|
|
150
|
+
Name | Type (default) | Description
|
|
151
|
+
------------- | ------------- | -------------
|
|
152
|
+
**iconElements** | Object({ arrowUp, ... }) | Object contains all svg icons. You can use HTMLElement or a String to reset values from the default Object. Object: ```iconElements: { arrowUp, arrowDown, arrowRight, attention, clear, cross, check, partialCheck }```. After reset of icon you have to update styles if it is necessary, use `alwaysOpen` prop for more comfortable work with styles changes.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### Option description
|
|
157
|
+
Is is description of the one option of the [`options`](#core-props) prop:
|
|
158
|
+
Name | Type | Description
|
|
159
|
+
------------- | ------------- | -------------
|
|
160
|
+
**value** | String \| Number (required!) | It is a value of the node. **It should be unique!**
|
|
161
|
+
**name** | String (required!) | It is the name of the node. **Can be duplicated.**
|
|
162
|
+
**disabled** | Boolean (optional) | The node will be disabled. It is an optional field, you can skip it if no need to work with disabled values.
|
|
163
|
+
**htmlAttr** | Object (optional) | The object of the HTML attributes, the value of the object should be a String type. These attributes will be merged into the node HTML tag.
|
|
164
|
+
**children** | {name: String, value: String, disabled?: Boolean, htmlAttr?: object, children: [] }[] | Children are the same array of objects.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
133
168
|
### Emits
|
|
134
169
|
Name | Return Type | Description
|
|
135
170
|
------------- | ------------- | -------------
|
|
@@ -138,6 +173,8 @@ Name | Return Type | Description
|
|
|
138
173
|
**close** | Array[String \| Number] | Returns selected ids, action is triggered on closing the list. Add `eventListener` or use `closeCallback` prop to get value.
|
|
139
174
|
**name-change** | String | Returns selected name inside the input, action is triggered on on change the list. Add `eventListener` or use `nameChangeCallback` prop to get name.
|
|
140
175
|
|
|
176
|
+
---
|
|
177
|
+
|
|
141
178
|
### Methods
|
|
142
179
|
Name | Params | Description
|
|
143
180
|
------------- | ------------- | -------------
|
|
@@ -147,12 +184,14 @@ Name | Params | Description
|
|
|
147
184
|
**focus** | None | Focuses treeselect input without open/close state changes.
|
|
148
185
|
**toggleOpenClose** | None | Open or close treeselect list and focus treeselect input.
|
|
149
186
|
|
|
187
|
+
---
|
|
188
|
+
|
|
150
189
|
### Notes
|
|
151
190
|
1) If you want to change the padding of the element you can use CSS selector. I've added **'group'** and **'level'** attributes, but you have to use **!important**.
|
|
152
191
|
2) If you want to update props, set props to the entity of the class and then call **mount()** method.
|
|
153
192
|
3) Use **updateValue()** method to update only the value.
|
|
154
193
|
4) If you need to delete List from the DOM when you don't need treeselect anymore - call **destroy()**.
|
|
155
|
-
5) Do not use **duplicated** values for the options. You will see a error with duplicated values.
|
|
194
|
+
5) Do not use **duplicated** values for the options. You will see a error with duplicated values. But you can use duplicated names.
|
|
156
195
|
6) **Value** prop inside the **options** prop should be a **String** or **Number**.
|
|
157
196
|
7) If you use **isSingleSelect** prop, you should pass only a single **id** as a value.
|
|
158
|
-
8) If you use **isSingleSelect** prop, you can set **showTags** to false. It helps to show treeselect as a dropdown. Also you can disable selecting of group's nodes with help of **disabledBranchNode**.
|
|
197
|
+
8) If you use **isSingleSelect** prop, you can set **showTags** to false. It helps to show treeselect as a dropdown. Also you can disable selecting of group's nodes with help of **disabledBranchNode**.
|
package/dist/treeselectjs.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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;s.style.transform="";const{y:i,height:l}=s.getBoundingClientRect(),{x:n,y:o,height:a,width:c}=e.getBoundingClientRect(),r=window.innerHeight-o-a;let h=o>r&&o>=l&&r<l;"auto"!==this.direction&&(h="top"===this.direction),this.appendToBody&&(s.style.transform=h?`translateY(${o-i-l}px)`:`translateY(${o+a-i}px)`,s.style.width=`${c}px`,s.style.left=`${n+window.scrollX}px`);const d=h?"top":"bottom";s.getAttribute("direction")!==d&&(s.setAttribute("direction",d),re(this,Mt,"m",te).call(this,h,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
|
+
function e(e,t,s,i){Object.defineProperty(e,t,{get:s,set:i,enumerable:!0,configurable:!0})}e(module.exports,"Treeselect",(function(){return Nt}),(function(e){return Nt=e}));var t={};e(t,"TreeselectInput",(function(){return M}),(function(e){return M=e}));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=(e,t)=>{if(t.innerHTML="","string"==typeof e)t.innerHTML=e;else{const s=e.cloneNode(!0);t.appendChild(s)}},l=e=>{const t=e?Object.assign({},e):{};return Object.keys(s).forEach((e=>{t[e]||(t[e]=s[e])})),t};var n,o,a,c,r,h,d,u,p,m,f,v,w,g,b,k,E,C,y,L,S,x,_,T,O,A,N,P,B=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},H=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,s),s};class M{focus(){setTimeout((()=>B(this,a,"f").focus()),0)}blur(){this.isOpened&&B(this,n,"m",f).call(this),this.clearSearch(),B(this,a,"f").blur()}updateValue(e){this.value=e,B(this,n,"m",d).call(this),B(this,n,"m",m).call(this)}removeItem(e){this.value=this.value.filter((t=>t.id!==e)),B(this,n,"m",P).call(this),B(this,n,"m",d).call(this),B(this,n,"m",m).call(this)}clear(){this.value=[],B(this,n,"m",P).call(this),B(this,n,"m",d).call(this),this.clearSearch()}openClose(){B(this,n,"m",f).call(this)}clearSearch(){this.searchText="",this.searchCallback(""),B(this,n,"m",m).call(this)}constructor({value:e,showTags:t,tagsCountText:s,clearable:i,isAlwaysOpened:l,searchable:d,placeholder:u,disabled:p,isSingleSelect:m,id:f,iconElements:w,inputCallback:b,searchCallback:k,openCallback:E,closeCallback:C,keydownCallback:y,focusCallback:S,blurCallback:x,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=e,this.showTags=t,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,B(this,n,"m",g).call(this),"f"),H(this,a,B(this,n,"m",L).call(this),"f"),H(this,c,B(this,n,"m",_).call(this),"f"),H(this,r,null,"f"),this.inputCallback=b,this.searchCallback=k,this.openCallback=E,this.closeCallback=C,this.keydownCallback=y,this.focusCallback=S,this.blurCallback=x,this.nameChangeCallback=T,this.srcElement=B(this,n,"m",v).call(this,B(this,o,"f"),B(this,a,"f"),B(this,c,"f")),B(this,n,"m",h).call(this)}}o=new WeakMap,a=new WeakMap,c=new WeakMap,r=new WeakMap,n=new WeakSet,h=function(){B(this,n,"m",d).call(this),B(this,n,"m",m).call(this),B(this,n,"m",u).call(this)},d=function(){if(B(this,o,"f").innerHTML="",this.showTags){B(this,o,"f").append(...B(this,n,"m",b).call(this));const t=(e=this.value).reduce(((t,{name:s},i)=>(t+=s,i<e.length-1&&(t+=", "),t)),"");this.nameChangeCallback(t)}else{const e=B(this,n,"m",y).call(this);B(this,o,"f").appendChild(e),this.nameChangeCallback(e.innerText)}var e;B(this,o,"f").appendChild(B(this,a,"f"))},u=function(){const e=[];B(this,c,"f").innerHTML="",this.clearable&&e.push(B(this,n,"m",T).call(this)),this.isAlwaysOpened||e.push(B(this,n,"m",A).call(this,this.isOpened)),e.length&&B(this,c,"f").append(...e)},p=function(){if(!this.isAlwaysOpened&&B(this,r,"f")){const e=this.isOpened?this.iconElements.arrowUp:this.iconElements.arrowDown;i(e,B(this,r,"f"))}},m=function(){var e;(null===(e=this.value)||void 0===e?void 0:e.length)?(B(this,a,"f").removeAttribute("placeholder"),this.srcElement.classList.remove("treeselect-input--value-not-selected")):(B(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"),B(this,a,"f").value=this.searchText},f=function(){this.isOpened=!this.isOpened,B(this,n,"m",p).call(this),this.isOpened?this.openCallback():this.closeCallback()},v=function(e,t,s){const i=document.createElement("div");return i.classList.add("treeselect-input"),i.setAttribute("tabindex","-1"),i.addEventListener("mousedown",(e=>B(this,n,"m",w).call(this,e))),i.addEventListener("focus",(()=>this.focusCallback()),!0),i.addEventListener("blur",(()=>this.blurCallback()),!0),e.appendChild(t),i.append(e,s),i},w=function(e){e.stopPropagation(),this.isOpened||B(this,n,"m",f).call(this),this.focus()},g=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__tags"),e},b=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=B(this,n,"m",E).call(this,e.name),i=B(this,n,"m",C).call(this);return t.addEventListener("mousedown",(t=>B(this,n,"m",k).call(this,t,e.id))),t.append(s,i),t}))},k=function(e,t){e.preventDefault(),e.stopPropagation(),this.removeItem(t),this.focus()},E=function(e){const t=document.createElement("span");return t.classList.add("treeselect-input__tags-name"),t.textContent=e,t},C=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__tags-cross"),i(this.iconElements.cross,e),e},y=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=1===this.value.length?this.value[0].name:`${this.value.length} ${this.tagsCountText}`;return e.textContent=t,e.setAttribute("title",t),e},L=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",(e=>B(this,n,"m",S).call(this,e))),e.addEventListener("input",(t=>B(this,n,"m",x).call(this,t,e))),e},S=function(e){e.stopPropagation();const t=e.key;"Backspace"!==t||this.searchText.length||!this.value.length||this.showTags||this.clear(),"Backspace"===t&&!this.searchText.length&&this.value.length&&this.removeItem(this.value[this.value.length-1].id),"Space"!==e.code||this.searchText&&this.searchable||B(this,n,"m",f).call(this),"Enter"!==t&&"ArrowDown"!==t&&"ArrowUp"!==t||e.preventDefault(),this.keydownCallback(e),"Tab"!==t&&this.focus()},x=function(e,t){e.stopPropagation();const s=this.searchText,i=t.value.trim();if(0!==s.length||0!==i.length){if(this.searchable){const t=e.target.value;this.searchCallback(t),this.isOpened||B(this,n,"m",f).call(this)}else t.value="";this.searchText=t.value}else t.value=""},_=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__operators"),e},T=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__clear"),e.setAttribute("tabindex","-1"),i(this.iconElements.clear,e),e.addEventListener("mousedown",(e=>B(this,n,"m",O).call(this,e))),e},O=function(e){e.preventDefault(),e.stopPropagation(),(this.searchText.length||this.value.length)&&this.clear(),this.focus()},A=function(e){H(this,r,document.createElement("span"),"f"),B(this,r,"f").classList.add("treeselect-input__arrow");const t=e?this.iconElements.arrowUp:this.iconElements.arrowDown;return i(t,B(this,r,"f")),B(this,r,"f").addEventListener("mousedown",(e=>B(this,n,"m",N).call(this,e))),B(this,r,"f")},N=function(e){e.stopPropagation(),e.preventDefault(),this.focus(),B(this,n,"m",f).call(this)},P=function(){this.inputCallback(this.value)};var W={};e(W,"TreeselectList",(function(){return Je}),(function(e){return Je=e}));const V=(e,t,s)=>{F(t);const i=t.filter((t=>!t.disabled&&e.some((e=>e===t.id))));s&&i.length?i[0].checked=!0:i.forEach((e=>{e.checked=!0;const s=G(e,t);e.checked=s}))},G=({id:e,checked:t},s)=>{const i=s.find((t=>t.id===e));if(!i)return!1;const l=j(!!t,i,s);return D(i,s),l},j=(e,t,s)=>{if(!t.isGroup)return t.checked=!t.disabled&&!!e,t.isPartialChecked=!1,t.checked;const i=s.filter((e=>e.childOf===t.id));if(!e||t.disabled||t.isPartialChecked)return t.checked=!1,t.isPartialChecked=!1,$(t,i,s),t.checked;if(!I(i,s))return t.checked=!0,t.isPartialChecked=!1,$(t,i,s),t.checked;return R(i)?(t.checked=!1,t.isPartialChecked=!1,t.disabled=!0,t.checked):(t.checked=!1,t.isPartialChecked=!0,i.forEach((t=>{j(e,t,s)})),t.checked)},D=(e,t)=>{const s=t.find((t=>t.id===e.childOf));s&&(q(s,t),D(s,t))},q=(e,t)=>{const s=K(e,t);if(R(s))return e.checked=!1,e.isPartialChecked=!1,void(e.disabled=!0);if(U(s))return e.checked=!0,void(e.isPartialChecked=!1);if(z(s))return e.checked=!1,void(e.isPartialChecked=!0);e.checked=!1,e.isPartialChecked=!1},$=({checked:e,disabled:t},s,i)=>{s.forEach((s=>{s.disabled=!!t,s.checked=!!e&&!s.disabled,s.isPartialChecked=!1;const l=K(s,i);$({checked:e,disabled:t},l,i)}))},I=(e,t)=>{if(e.some((e=>e.disabled)))return!0;return e.some((e=>{if(e.isGroup){const s=K(e,t);return I(s,t)}return!1}))},R=e=>e.every((e=>!!e.disabled)),U=e=>e.every((e=>!!e.checked)),z=e=>e.some((e=>!!e.checked||!!e.isPartialChecked)),F=e=>{e.forEach((e=>{e.checked=!1,e.isPartialChecked=!1}))},Y=(e,t,s="",i=0)=>{const l=J(e,t,s,i);return Q(l)},J=(e,t,s,i)=>e.reduce(((e,l)=>{var n,o;const a=!!(null===(n=l.children)||void 0===n?void 0:n.length),c=i>=t&&a,r=i>t;if(e.push({id:l.value,name:l.name,childOf:s,isGroup:a,checked:!1,isPartialChecked:!1,level:i,isClosed:c,hidden:r,disabled:null!==(o=l.disabled)&&void 0!==o&&o}),a){const s=J(l.children,t,l.value,i+1);e.push(...s)}return e}),[]),K=({id:e},t)=>t.filter((t=>t.childOf===e)),X=e=>{const{ungroupedNodes:t,allGroupedNodes:s,allNodes:i}=e.reduce(((e,t)=>t.checked?(e.allNodes.push(t),t.isGroup?e.allGroupedNodes.push(t):e.ungroupedNodes.push(t),e):e),{ungroupedNodes:[],allGroupedNodes:[],allNodes:[]});return{ungroupedNodes:t,groupedNodes:i.filter((e=>!s.some((({id:t})=>t===e.childOf)))),allNodes:i}},Q=e=>(e.filter((e=>!!e.disabled)).forEach((({id:t})=>G({id:t,checked:!1},e))),e),Z=(e,{id:t,isClosed:s})=>{K({id:t},e).forEach((t=>{t.hidden=null!=s&&s,t.isGroup&&!t.isClosed&&Z(e,{id:t.id,isClosed:s})}))},ee=e=>{e.filter((e=>e.isGroup&&!e.disabled&&(e.checked||e.isPartialChecked))).forEach((t=>{t.isClosed=!1,Z(e,t)}))},te=(e,t)=>{const s=se(e,t);e.forEach((t=>{s.some((({id:e})=>e===t.id))?(t.isGroup&&(t.isClosed=!1,Z(e,t)),t.hidden=!1):t.hidden=!0}))},se=(e,t)=>e.reduce(((s,i)=>{if(i.name.toLowerCase().includes(t.toLowerCase())){if(s.push(i),i.isGroup){const t=ie(i.id,e);s.push(...t)}if(i.childOf){const t=le(i.childOf,e);s.push(...t)}}return s}),[]),ie=(e,t)=>t.reduce(((s,i)=>(i.childOf===e&&(s.push(i),i.isGroup&&s.push(...ie(i.id,t))),s)),[]),le=(e,t)=>t.reduce(((s,i)=>(i.id===e&&(s.push(i),i.childOf&&s.push(...le(i.childOf,t))),s)),[]);var ne,oe,ae,ce,re,he,de,ue,pe,me,fe,ve,we,ge,be,ke,Ee,Ce,ye,Le,Se,xe,_e,Te,Oe,Ae,Ne,Pe,Be,He,Me=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},We=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,s),s};const Ve=(e,t,s,i,l,n,o,a)=>{V(e,t,l),a&&o&&ee(t),Ge(t,s,i,n)},Ge=(e,t,s,i)=>{e.forEach((l=>{const n=t.querySelector(`[input-id="${l.id}"]`),o=Fe(n);n.checked=l.checked,je(l,o,i),De(l,o),qe(l,o),$e(l,o,s),Ie(l,o),Ue(l,o,e),Re(l,n,s)})),ze(e,t)},je=(e,t,s)=>{e.checked?t.classList.add("treeselect-list__item--checked"):t.classList.remove("treeselect-list__item--checked"),Array.isArray(s)&&s[0]===e.id&&!e.disabled?t.classList.add("treeselect-list__item--single-selected"):t.classList.remove("treeselect-list__item--single-selected")},De=(e,t)=>{e.isPartialChecked?t.classList.add("treeselect-list__item--partial-checked"):t.classList.remove("treeselect-list__item--partial-checked")},qe=(e,t)=>{e.disabled?t.classList.add("treeselect-list__item--disabled"):t.classList.remove("treeselect-list__item--disabled")},$e=(e,t,s)=>{if(e.isGroup){const l=t.querySelector(".treeselect-list__item-icon"),n=e.isClosed?s.arrowRight:s.arrowDown;i(n,l),e.isClosed?t.classList.add("treeselect-list__item--closed"):t.classList.remove("treeselect-list__item--closed")}},Ie=(e,t)=>{e.hidden?t.classList.add("treeselect-list__item--hidden"):t.classList.remove("treeselect-list__item--hidden")},Re=(e,t,s)=>{const l=t.parentNode.querySelector(".treeselect-list__item-checkbox-icon");e.checked?i(s.check,l):e.isPartialChecked?i(s.partialCheck,l):l.innerHTML=""},Ue=(e,t,s)=>{if(0===e.level){const i=s.some((t=>t.isGroup&&t.level===e.level)),l=!e.isGroup&&i?"20px":"5px";t.style.paddingLeft=e.isGroup?"0":l}else t.style.paddingLeft=e.isGroup?20*e.level+"px":20*e.level+20+"px";t.setAttribute("level",e.level.toString()),t.setAttribute("group",e.isGroup.toString())},ze=(e,t)=>{const s=e.some((e=>!e.hidden)),i=t.querySelector(".treeselect-list__empty");s?i.classList.add("treeselect-list__empty--hidden"):i.classList.remove("treeselect-list__empty--hidden")},Fe=e=>e.parentNode.parentNode,Ye=(e,t)=>t.find((t=>t.id.toString()===e));class Je{updateValue(e){this.value=e,We(this,ce,this.isSingleSelect?this.value:[],"f"),Ve(e,this.flattedOptions,this.srcElement,this.iconElements,this.isSingleSelect,Me(this,ce,"f"),this.expandSelected,Me(this,re,"f")),We(this,re,!1,"f"),Me(this,ne,"m",Be).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((e=>{const t=this.flattedOptions.find((t=>t.id===e.id));return t.isClosed=e.isClosed,t.hidden=e.hidden,t})),this.flattedOptionsBeforeSearch=[]),this.searchText&&te(this.flattedOptions,e),Ge(this.flattedOptions,this.srcElement,this.iconElements,Me(this,ce,"f")),this.focusFirstListElement()}callKeyAction(e){We(this,ae,!1,"f");const t=this.srcElement.querySelector(".treeselect-list__item--focused");if(null==t?void 0:t.classList.contains("treeselect-list__item--hidden"))return;const s=e.key;"Enter"===s&&t&&t.dispatchEvent(new Event("mousedown")),"ArrowLeft"!==s&&"ArrowRight"!==s||Me(this,ne,"m",he).call(this,t,e),"ArrowDown"!==s&&"ArrowUp"!==s||Me(this,ne,"m",de).call(this,t,s)}focusFirstListElement(){const e="treeselect-list__item--focused",t=this.srcElement.querySelector(`.${e}`),s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((e=>"none"!==window.getComputedStyle(Fe(e)).display));if(!s.length)return;t&&t.classList.remove(e);Fe(s[0]).classList.add(e)}isLastFocusedElementExist(){return!!Me(this,oe,"f")}constructor({options:e,value:t,openLevel:s,listSlotHtmlComponent:i,emptyText:l,isSingleSelect:n,iconElements:o,showCount:a,disabledBranchNode:c,expandSelected:r,inputCallback:h,arrowClickCallback:d,mouseupCallback:u}){ne.add(this),oe.set(this,null),ae.set(this,!0),ce.set(this,[]),re.set(this,!0),this.options=e,this.value=t,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.expandSelected=null!=r&&r,this.iconElements=o,this.searchText="",this.flattedOptions=Y(this.options,this.openLevel),this.flattedOptionsBeforeSearch=this.flattedOptions,this.selectedNodes={nodes:[],groupedNodes:[]},this.srcElement=Me(this,ne,"m",ue).call(this),this.inputCallback=h,this.arrowClickCallback=d,this.mouseupCallback=u,(e=>{const{duplications:t}=e.reduce(((e,t)=>(e.allItems.some((e=>e.toString()===t.id.toString()))&&e.duplications.push(t.id),e.allItems.push(t.id),e)),{duplications:[],allItems:[]});t.length&&console.error(`Validation: You have duplicated values: ${t.join(", ")}! You should use unique values.`)})(this.flattedOptions)}}oe=new WeakMap,ae=new WeakMap,ce=new WeakMap,re=new WeakMap,ne=new WeakSet,he=function(e,t){if(!e)return;const s=t.key,i=e.querySelector(".treeselect-list__item-checkbox").getAttribute("input-id"),l=Ye(i,this.flattedOptions),n=e.querySelector(".treeselect-list__item-icon");"ArrowLeft"===s&&!l.isClosed&&l.isGroup&&(n.dispatchEvent(new Event("mousedown")),t.preventDefault()),"ArrowRight"===s&&l.isClosed&&l.isGroup&&(n.dispatchEvent(new Event("mousedown")),t.preventDefault())},de=function(e,t){var s,i,l;const n=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((e=>"none"!==window.getComputedStyle(Fe(e)).display));if(n.length)if(e){const e=n.findIndex((e=>Fe(e).classList.contains("treeselect-list__item--focused")));Fe(n[e]).classList.remove("treeselect-list__item--focused");const o="ArrowDown"===t?e+1:e-1,a="ArrowDown"===t?0:n.length-1,c=null!==(s=n[o])&&void 0!==s?s:n[a],r=!n[o],h=Fe(c);h.classList.add("treeselect-list__item--focused");const d=this.srcElement.getBoundingClientRect(),u=h.getBoundingClientRect();if(r&&"ArrowDown"===t)return void this.srcElement.scroll(0,0);if(r&&"ArrowUp"===t)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{Fe(n[0]).classList.add("treeselect-list__item--focused")}},ue=function(){const e=Me(this,ne,"m",pe).call(this),t=Me(this,ne,"m",ve).call(this,this.options);e.append(...t);const s=Me(this,ne,"m",ge).call(this);e.append(s);const i=Me(this,ne,"m",we).call(this);return i&&e.append(i),e},pe=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",(e=>Me(this,ne,"m",me).call(this,e))),e.addEventListener("mousemove",(()=>Me(this,ne,"m",fe).call(this))),e.addEventListener("mouseup",(()=>this.mouseupCallback()),!0),e},me=function(e){e.stopPropagation(),Me(this,oe,"f")&&Me(this,ae,"f")&&Me(this,oe,"f").classList.add("treeselect-list__item--focused")},fe=function(){We(this,ae,!0,"f")},ve=function e(t){return t.reduce(((t,s)=>{var i;if(null===(i=s.children)||void 0===i?void 0:i.length){const i=Me(this,ne,"m",be).call(this,s),l=Me(this,ne,"m",e).call(this,s.children);return i.append(...l),t.push(i),t}const l=Me(this,ne,"m",ke).call(this,s,!1);return t.push(l),t}),[])},we=function(){if(!this.listSlotHtmlComponent)return null;const e=document.createElement("div");return e.classList.add("treeselect-list__slot"),e.appendChild(this.listSlotHtmlComponent),e},ge=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"),i(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},be=function(e){const t=document.createElement("div");t.setAttribute("group-container-id",e.value.toString()),t.classList.add("treeselect-list__group-container");const s=Me(this,ne,"m",ke).call(this,e,!0);return t.appendChild(s),t},ke=function(e,t){const s=Me(this,ne,"m",Ee).call(this,e);if(t){const e=Me(this,ne,"m",Se).call(this);s.appendChild(e),s.classList.add("treeselect-list__item--group")}const i=Me(this,ne,"m",_e).call(this,e),l=Me(this,ne,"m",Te).call(this,e,t);return s.append(i,l),s},Ee=function(e){const t=document.createElement("div");return((e,t)=>{t&&Object.keys(t).forEach((s=>{const i=t[s];"string"==typeof i&&e.setAttribute(s,i)}))})(t,e.htmlAttr),t.setAttribute("tabindex","-1"),t.setAttribute("title",e.name),t.classList.add("treeselect-list__item"),t.addEventListener("mouseover",(()=>Me(this,ne,"m",Ce).call(this,t)),!0),t.addEventListener("mouseout",(()=>Me(this,ne,"m",ye).call(this,t)),!0),t.addEventListener("mousedown",(t=>Me(this,ne,"m",Le).call(this,t,e))),t},Ce=function(e){Me(this,ae,"f")&&Me(this,ne,"m",Pe).call(this,!0,e)},ye=function(e){Me(this,ae,"f")&&(Me(this,ne,"m",Pe).call(this,!1,e),We(this,oe,e,"f"))},Le=function(e,t){var s;e.preventDefault(),e.stopPropagation();if(null===(s=this.flattedOptions.find((e=>e.id===t.value)))||void 0===s?void 0:s.disabled)return;const i=e.target.querySelector(".treeselect-list__item-checkbox");i.checked=!i.checked,Me(this,ne,"m",Ae).call(this,i,t)},Se=function(){const e=document.createElement("span");return e.setAttribute("tabindex","-1"),e.classList.add("treeselect-list__item-icon"),i(this.iconElements.arrowDown,e),e.addEventListener("mousedown",(e=>Me(this,ne,"m",xe).call(this,e))),e},xe=function(e){e.preventDefault(),e.stopPropagation(),Me(this,ne,"m",Ne).call(this,e)},_e=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},Te=function(e,t){const s=document.createElement("label");if(s.textContent=e.name,s.classList.add("treeselect-list__item-label"),t&&this.showCount){const t=Me(this,ne,"m",Oe).call(this,e);s.appendChild(t)}return s},Oe=function(e){const t=document.createElement("span"),s=this.flattedOptions.filter((t=>t.childOf===e.value));return t.textContent=`(${s.length})`,t.classList.add("treeselect-list__item-label-counter"),t},Ae=function(e,t){const s=this.flattedOptions.find((e=>e.id===t.value));if(s)if((null==s?void 0:s.isGroup)&&this.disabledBranchNode){const t=Fe(e).querySelector(".treeselect-list__item-icon");null==t||t.dispatchEvent(new Event("mousedown"))}else{if(this.isSingleSelect){const[e]=Me(this,ce,"f");if(s.id===e)return;We(this,ce,[s.id],"f"),V([s.id],this.flattedOptions,this.isSingleSelect)}else{s.checked=e.checked;const t=G(s,this.flattedOptions);e.checked=t}Ge(this.flattedOptions,this.srcElement,this.iconElements,Me(this,ce,"f")),Me(this,ne,"m",He).call(this)}},Ne=function(e){var t,s,i;const l=null===(s=null===(t=e.target)||void 0===t?void 0:t.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=Ye(n,this.flattedOptions);o&&(o.isClosed=!o.isClosed,Z(this.flattedOptions,o),Ge(this.flattedOptions,this.srcElement,this.iconElements,Me(this,ce,"f")),this.arrowClickCallback())},Pe=function(e,t){const s="treeselect-list__item--focused";if(e){const e=Array.from(this.srcElement.querySelectorAll(`.${s}`));e.length&&e.forEach((e=>e.classList.remove(s))),t.classList.add(s)}else t.classList.remove(s)},Be=function(){const{ungroupedNodes:e,groupedNodes:t}=X(this.flattedOptions);this.selectedNodes={nodes:e,groupedNodes:t}},He=function(){Me(this,ne,"m",Be).call(this),this.inputCallback(this.selectedNodes),this.value=this.selectedNodes.nodes.map((e=>e.id))};var Ke,Xe,Qe,Ze,et,tt,st,it,lt,nt,ot,at,ct,rt,ht,dt,ut,pt,mt,ft,vt,wt,gt,bt,kt,Et,Ct,yt,Lt,St,xt,_t,Tt=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},Ot=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,s),s};const At=e=>e.map((e=>e.id));class Nt{mount(){Tt(this,Ke,"m",ot).call(this,this.value)}updateValue(e){var t;const s=Tt(this,Xe,"f");if(s){const i=(e=>e?Array.isArray(e)?e:[e]:[])(e);s.updateValue(i);const{groupedNodes:l,nodes:n}=s.selectedNodes,o=this.grouped||this.isSingleSelect?l:n;null===(t=Tt(this,Qe,"f"))||void 0===t||t.updateValue(o),Tt(this,Ke,"m",at).call(this,{groupedNodes:l,nodes:n})}}destroy(){this.srcElement&&(Tt(this,Ke,"m",gt).call(this),this.srcElement.innerHTML="",this.srcElement=null,Tt(this,Ke,"m",Ct).call(this,!0))}focus(){Tt(this,Qe,"f")&&Tt(this,Qe,"f").focus()}toggleOpenClose(){Tt(this,Qe,"f")&&(Tt(this,Qe,"f").openClose(),Tt(this,Qe,"f").focus())}scrollWindowHandler(){this.updateListPosition()}focusWindowHandler(e){var t,s,i;(null===(t=this.srcElement)||void 0===t?void 0:t.contains(e.target))||(null===(s=Tt(this,Xe,"f"))||void 0===s?void 0:s.srcElement.contains(e.target))||(null===(i=Tt(this,Qe,"f"))||void 0===i||i.blur(),Tt(this,Ke,"m",Ct).call(this,!1),Tt(this,Ke,"m",kt).call(this,!1))}blurWindowHandler(){var e;null===(e=Tt(this,Qe,"f"))||void 0===e||e.blur(),Tt(this,Ke,"m",Ct).call(this,!1),Tt(this,Ke,"m",kt).call(this,!1)}updateListPosition(){var e;const t=this.srcElement,s=null===(e=Tt(this,Xe,"f"))||void 0===e?void 0:e.srcElement;if(!t||!s)return;const{height:i}=s.getBoundingClientRect(),{x:l,y:n,height:o,width:a}=t.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 e=l+window.scrollX,t=r?n+window.scrollY-i:n+window.scrollY+o;s.style.transform=`translate(${e}px,${t}px)`,s.style.width=`${a}px`}const h=r?"top":"bottom";s.getAttribute("direction")!==h&&(s.setAttribute("direction",h),Tt(this,Ke,"m",bt).call(this,r,this.appendToBody))}constructor({parentHtmlContainer:e,value:t,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:k,disabledBranchNode:E,direction:C,expandSelected:y,saveScrollPosition:L,iconElements:S,inputCallback:x,openCallback:_,closeCallback:T,nameChangeCallback:O}){Ke.add(this),Xe.set(this,null),Qe.set(this,null),Ze.set(this,null),et.set(this,0),tt.set(this,0),st.set(this,null),it.set(this,null),lt.set(this,null),nt.set(this,null),(({parentHtmlContainer:e,staticList:t,appendToBody:s,isSingleSelect:i,value:l,direction:n})=>{e||console.error("Validation: parentHtmlContainer prop is required!"),t&&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:e,value:t,staticList:w,appendToBody:n,isSingleSelect:b}),this.parentHtmlContainer=e,this.value=[],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!=k&&k,this.disabledBranchNode=null!=E&&E,this.direction=null!=C?C:"auto",this.expandSelected=null!=y&&y,this.saveScrollPosition=null==L||L,this.iconElements=l(S),this.inputCallback=x,this.openCallback=_,this.closeCallback=T,this.nameChangeCallback=O,this.ungroupedValue=[],this.groupedValue=[],this.isListOpened=!1,this.selectedName="",this.srcElement=null,Tt(this,Ke,"m",ot).call(this,t)}}Xe=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,et=new WeakMap,tt=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,nt=new WeakMap,Ke=new WeakSet,ot=function(e){var t;this.destroy();const{container:s,list:i,input:l}=Tt(this,Ke,"m",ct).call(this);this.srcElement=s,Ot(this,Xe,i,"f"),Ot(this,Qe,l,"f"),Ot(this,st,this.scrollWindowHandler.bind(this),"f"),Ot(this,it,this.scrollWindowHandler.bind(this),"f"),Ot(this,lt,this.focusWindowHandler.bind(this),"f"),Ot(this,nt,this.blurWindowHandler.bind(this),"f"),this.alwaysOpen&&(null===(t=Tt(this,Qe,"f"))||void 0===t||t.openClose()),this.disabled?this.srcElement.classList.add("treeselect--disabled"):this.srcElement.classList.remove("treeselect--disabled"),this.updateValue(null!=e?e:this.value)},at=function({groupedNodes:e,nodes:t}){this.ungroupedValue=t?At(t):[],this.groupedValue=e?At(e):[];const s=this.isGroupedValue||this.isSingleSelect?this.groupedValue:this.ungroupedValue;this.value=((e,t)=>{if(t){const[t]=e;return t}return e})(s,this.isSingleSelect)},ct=function(){const e=this.parentHtmlContainer;e.classList.add("treeselect");const s=new(0,W.TreeselectList)({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:e=>Tt(this,Ke,"m",mt).call(this,e),arrowClickCallback:()=>Tt(this,Ke,"m",ft).call(this),mouseupCallback:()=>{var e;return null===(e=Tt(this,Qe,"f"))||void 0===e?void 0:e.focus()}}),{groupedNodes:i,nodes:l}=s.selectedNodes,n=new(0,t.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:e=>Tt(this,Ke,"m",rt).call(this,e),searchCallback:e=>Tt(this,Ke,"m",dt).call(this,e),openCallback:()=>Tt(this,Ke,"m",wt).call(this),closeCallback:()=>Tt(this,Ke,"m",gt).call(this),keydownCallback:e=>Tt(this,Ke,"m",ht).call(this,e),focusCallback:()=>Tt(this,Ke,"m",ut).call(this),blurCallback:()=>Tt(this,Ke,"m",pt).call(this),nameChangeCallback:e=>Tt(this,Ke,"m",vt).call(this,e)});return this.appendToBody&&Ot(this,Ze,new ResizeObserver((()=>this.updateListPosition())),"f"),e.append(n.srcElement),{container:e,list:s,input:n}},rt=function(e){var t,s,i,l,n;const o=At(e);null===(t=Tt(this,Xe,"f"))||void 0===t||t.updateValue(o);const a=null===(i=null===(s=Tt(this,Xe,"f"))||void 0===s?void 0:s.selectedNodes)||void 0===i?void 0:i.nodes,c=null===(n=null===(l=Tt(this,Xe,"f"))||void 0===l?void 0:l.selectedNodes)||void 0===n?void 0:n.groupedNodes;Tt(this,Ke,"m",at).call(this,{groupedNodes:c,nodes:a}),Tt(this,Ke,"m",Lt).call(this)},ht=function(e){var t;this.isListOpened&&(null===(t=Tt(this,Xe,"f"))||void 0===t||t.callKeyAction(e))},dt=function(e){Tt(this,tt,"f")&&clearTimeout(Tt(this,tt,"f")),Ot(this,tt,setTimeout((()=>{var t;null===(t=Tt(this,Xe,"f"))||void 0===t||t.updateSearchValue(e),this.updateListPosition()}),350),"f")},ut=function(){Tt(this,Ke,"m",kt).call(this,!0),Tt(this,lt,"f")&&Tt(this,lt,"f")&&Tt(this,nt,"f")&&(document.addEventListener("mousedown",Tt(this,lt,"f"),!0),document.addEventListener("focus",Tt(this,lt,"f"),!0),window.addEventListener("blur",Tt(this,nt,"f")))},pt=function(){setTimeout((()=>{var e,t;const s=null===(e=Tt(this,Qe,"f"))||void 0===e?void 0:e.srcElement.contains(document.activeElement),i=null===(t=Tt(this,Xe,"f"))||void 0===t?void 0:t.srcElement.contains(document.activeElement);s||i||this.blurWindowHandler()}),1)},mt=function(e){var t,s,i,l;const{groupedNodes:n,nodes:o}=e,a=this.grouped||this.isSingleSelect?n:o;null===(t=Tt(this,Qe,"f"))||void 0===t||t.updateValue(a),Tt(this,Ke,"m",at).call(this,{groupedNodes:n,nodes:o}),this.isSingleSelect&&!this.alwaysOpen&&(null===(s=Tt(this,Qe,"f"))||void 0===s||s.openClose(),null===(i=Tt(this,Qe,"f"))||void 0===i||i.clearSearch()),null===(l=Tt(this,Qe,"f"))||void 0===l||l.focus(),Tt(this,Ke,"m",Lt).call(this)},ft=function(){var e;null===(e=Tt(this,Qe,"f"))||void 0===e||e.focus(),this.updateListPosition()},vt=function(e){this.selectedName!==e&&(this.selectedName=e,Tt(this,Ke,"m",St).call(this))},wt=function(){var e;this.isListOpened=!0,Tt(this,st,"f")&&Tt(this,it,"f")&&(window.addEventListener("scroll",Tt(this,st,"f"),!0),window.addEventListener("resize",Tt(this,it,"f"))),Tt(this,Xe,"f")&&this.srcElement&&(this.appendToBody?(document.body.appendChild(Tt(this,Xe,"f").srcElement),null===(e=Tt(this,Ze,"f"))||void 0===e||e.observe(this.srcElement)):this.srcElement.appendChild(Tt(this,Xe,"f").srcElement),this.updateListPosition(),Tt(this,Ke,"m",Et).call(this,!0),Tt(this,Ke,"m",yt).call(this),Tt(this,Ke,"m",xt).call(this))},gt=function(){var e;if(this.alwaysOpen)return;if(this.isListOpened=!1,Tt(this,st,"f")&&Tt(this,it,"f")&&(window.removeEventListener("scroll",Tt(this,st,"f"),!0),window.removeEventListener("resize",Tt(this,it,"f"))),!Tt(this,Xe,"f")||!this.srcElement)return;(this.appendToBody?document.body.contains(Tt(this,Xe,"f").srcElement):this.srcElement.contains(Tt(this,Xe,"f").srcElement))&&(Ot(this,et,Tt(this,Xe,"f").srcElement.scrollTop,"f"),this.appendToBody?(document.body.removeChild(Tt(this,Xe,"f").srcElement),null===(e=Tt(this,Ze,"f"))||void 0===e||e.disconnect()):this.srcElement.removeChild(Tt(this,Xe,"f").srcElement),Tt(this,Ke,"m",Et).call(this,!1),Tt(this,Ke,"m",_t).call(this))},bt=function(e,t){if(!Tt(this,Xe,"f")||!Tt(this,Qe,"f"))return;const s=t?"treeselect-list--top-to-body":"treeselect-list--top",i=t?"treeselect-list--bottom-to-body":"treeselect-list--bottom";e?(Tt(this,Xe,"f").srcElement.classList.add(s),Tt(this,Xe,"f").srcElement.classList.remove(i),Tt(this,Qe,"f").srcElement.classList.add("treeselect-input--top"),Tt(this,Qe,"f").srcElement.classList.remove("treeselect-input--bottom")):(Tt(this,Xe,"f").srcElement.classList.remove(s),Tt(this,Xe,"f").srcElement.classList.add(i),Tt(this,Qe,"f").srcElement.classList.remove("treeselect-input--top"),Tt(this,Qe,"f").srcElement.classList.add("treeselect-input--bottom"))},kt=function(e){Tt(this,Qe,"f")&&Tt(this,Xe,"f")&&(e?(Tt(this,Qe,"f").srcElement.classList.add("treeselect-input--focused"),Tt(this,Xe,"f").srcElement.classList.add("treeselect-list--focused")):(Tt(this,Qe,"f").srcElement.classList.remove("treeselect-input--focused"),Tt(this,Xe,"f").srcElement.classList.remove("treeselect-list--focused")))},Et=function(e){var t,s,i,l;e?null===(t=Tt(this,Qe,"f"))||void 0===t||t.srcElement.classList.add("treeselect-input--opened"):null===(s=Tt(this,Qe,"f"))||void 0===s||s.srcElement.classList.remove("treeselect-input--opened"),this.staticList?null===(i=Tt(this,Xe,"f"))||void 0===i||i.srcElement.classList.add("treeselect-list--static"):null===(l=Tt(this,Xe,"f"))||void 0===l||l.srcElement.classList.remove("treeselect-list--static")},Ct=function(e){Tt(this,st,"f")&&Tt(this,it,"f")&&Tt(this,lt,"f")&&Tt(this,nt,"f")&&(this.alwaysOpen&&!e||(window.removeEventListener("scroll",Tt(this,st,"f"),!0),window.removeEventListener("resize",Tt(this,it,"f"))),document.removeEventListener("mousedown",Tt(this,lt,"f"),!0),document.removeEventListener("focus",Tt(this,lt,"f"),!0),window.removeEventListener("blur",Tt(this,nt,"f")))},yt=function(){var e,t,s;const i=null===(e=Tt(this,Xe,"f"))||void 0===e?void 0:e.isLastFocusedElementExist();this.saveScrollPosition&&i?null===(t=Tt(this,Xe,"f"))||void 0===t||t.srcElement.scroll(0,Tt(this,et,"f")):null===(s=Tt(this,Xe,"f"))||void 0===s||s.focusFirstListElement()},Lt=function(){var e;null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("input",{detail:this.value})),this.inputCallback&&this.inputCallback(this.value)},St=function(){var e;null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("name-change",{detail:this.selectedName})),this.nameChangeCallback&&this.nameChangeCallback(this.selectedName)},xt=function(){var e;this.alwaysOpen||(null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("open",{detail:this.value})),this.openCallback&&this.openCallback(this.value))},_t=function(){var e;this.alwaysOpen||(null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("close",{detail:this.value})),this.closeCallback&&this.closeCallback(this.value))};
|
package/dist/treeselectjs.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.treeselect-input{width:100%;box-sizing:border-box;min-height:37px;cursor:text;background-color:#fff;border:1px solid #d7dde4;border-radius:4px;flex-wrap:wrap;align-items:center;padding:2px 40px 2px 4px;display:flex;position:relative}.treeselect-input--unsearchable{cursor:default}.treeselect-input--unsearchable .treeselect-input__edit{caret-color:#0000;cursor:default}.treeselect-input--unsearchable .treeselect-input__edit:focus{z-index:-1;position:absolute}.treeselect-input--value-not-selected.treeselect-input--unsearchable .treeselect-input__edit:focus{z-index:auto;width:100%;position:static}.treeselect-input--value-not-selected .treeselect-
|
|
1
|
+
.treeselect-input{width:100%;box-sizing:border-box;min-height:37px;cursor:text;background-color:#fff;border:1px solid #d7dde4;border-radius:4px;flex-wrap:wrap;align-items:center;padding:2px 40px 2px 4px;display:flex;position:relative}.treeselect-input--unsearchable{cursor:default}.treeselect-input--unsearchable .treeselect-input__edit{caret-color:#0000;cursor:default}.treeselect-input--unsearchable .treeselect-input__edit:focus{z-index:-1;min-width:0;width:0;position:absolute;left:0}.treeselect-input--value-not-selected .treeselect-input__edit,.treeselect-input--value-not-selected.treeselect-input--unsearchable .treeselect-input__edit:focus{z-index:auto;width:100%;max-width:100%;position:static}.treeselect-input--value-not-selected .treeselect-input__tags{gap:0}.treeselect-input__tags{max-width:100%;width:100%;box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.treeselect-input__tags-element{cursor:pointer;max-width:100%;box-sizing:border-box;background-color:#d7dde4;border-radius:2px;align-items:center;padding:2px 5px;font-size:14px;display:inline-flex}.treeselect-input__tags-element:hover{background-color:#c5c7cb}.treeselect-input__tags-element:hover .treeselect-input__tags-cross svg{stroke:#eb4c42}.treeselect-input__tags-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.treeselect-input__tags-cross{margin-left:2px;display:flex}.treeselect-input__tags-cross svg{width:12px;height:12px}.treeselect-input__tags-count{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.treeselect-input__edit{text-overflow:ellipsis;width:100%;max-width:calc(100% - 45px);z-index:-1;min-width:0;border:none;flex:1;padding:0;font-size:14px;position:absolute}.treeselect-input__edit:focus{min-width:30px;max-width:100%;z-index:auto;outline:none;position:static}.treeselect-input__operators{max-width:40px;display:flex;position:absolute;right:2px}.treeselect-input__clear{cursor:pointer;display:flex}.treeselect-input__clear svg{stroke:#c5c7cb;width:17px;min-width:17px;height:20px}.treeselect-input__clear:hover svg{stroke:#838790}.treeselect-input__arrow{cursor:pointer;display:flex}.treeselect-input__arrow svg{stroke:#c5c7cb;width:20px;min-width:20px;height:20px}.treeselect-input__arrow:hover svg{stroke:#838790}.treeselect-list{width:100%;box-sizing:border-box;max-height:300px;background-color:#fff;border:1px solid #d7dde4;overflow-y:auto}.treeselect-list__group-container{box-sizing:border-box}.treeselect-list__item{box-sizing:border-box;cursor:pointer;height:30px;align-items:center;display:flex}.treeselect-list__item:focus{outline:none}.treeselect-list__item--focused{background-color:azure!important}.treeselect-list__item--hidden{display:none}.treeselect-list__item-icon{cursor:pointer;height:20px;width:20px;min-width:20px;align-items:center;display:flex}.treeselect-list__item-icon svg{pointer-events:none;width:100%;height:100%;stroke:#c5c7cb}.treeselect-list__item-icon *{pointer-events:none}.treeselect-list__item-icon:hover svg{stroke:#838790}.treeselect-list__item-checkbox-container{width:20px;height:20px;min-width:20px;pointer-events:none;box-sizing:border-box;background-color:#fff;border:1px solid #d7dde4;border-radius:3px;position:relative}.treeselect-list__item-checkbox-container svg{height:100%;width:100%;position:absolute}.treeselect-list__item-checkbox{width:0;height:0;pointer-events:none;z-index:-1;margin:0;position:absolute}.treeselect-list__item-checkbox-icon{height:100%;width:100%;text-align:left;position:absolute;top:0;left:0}.treeselect-list__item-label{width:100%;text-overflow:ellipsis;word-break:keep-all;white-space:nowrap;pointer-events:none;text-align:left;padding-left:5px;font-size:14px;overflow:hidden}.treeselect-list__item-label-counter{color:#838790;margin-left:3px;font-size:13px}.treeselect-list__empty{height:30px;align-items:center;padding-left:4px;display:flex}.treeselect-list__empty--hidden{display:none}.treeselect-list__empty-icon{align-items:center;display:flex}.treeselect-list__empty-text{text-overflow:ellipsis;word-break:keep-all;white-space:nowrap;padding-left:5px;font-size:14px;overflow:hidden}.treeselect-list__slot{box-sizing:border-box;width:100%;max-width:100%;background-color:#fff;position:sticky;bottom:0}.treeselect-list.treeselect-list--single-select .treeselect-list__item-checkbox-container,.treeselect-list.treeselect-list--disabled-branch-node .treeselect-list__item--group .treeselect-list__item-checkbox-container{display:none}.treeselect-list__item--checked{background-color:#e9f1f1}.treeselect-list.treeselect-list--single-select .treeselect-list__item--checked{background-color:#0000}.treeselect-list.treeselect-list--single-select .treeselect-list__item--single-selected{background-color:#e9f1f1}.treeselect-list__item .treeselect-list__item-checkbox-container svg{stroke:#0000}.treeselect-list__item--checked .treeselect-list__item-checkbox-container svg,.treeselect-list__item--partial-checked .treeselect-list__item-checkbox-container svg{stroke:#fff}.treeselect-list__item--checked .treeselect-list__item-checkbox-container,.treeselect-list__item--partial-checked .treeselect-list__item-checkbox-container{background-color:#52c67e}.treeselect-list__item--disabled .treeselect-list__item-checkbox-container{background-color:#e9f1f1}.treeselect-list__item--disabled .treeselect-list__item-label{color:#c5c7cb}.treeselect{width:100%;box-sizing:border-box;position:relative}.treeselect--disabled{pointer-events:none}.treeselect-list{box-sizing:border-box;z-index:1000;border-radius:4px;position:absolute;left:0}.treeselect .treeselect-list{position:absolute}.treeselect .treeselect-list--static{position:static}.treeselect-input--focused{border-color:#101010}.treeselect-input--opened.treeselect-input--top{border-top-color:#0000;border-top-left-radius:0;border-top-right-radius:0}.treeselect-input--opened.treeselect-input--bottom{border-bottom-color:#0000;border-bottom-left-radius:0;border-bottom-right-radius:0}.treeselect-list--focused{border-color:#101010}.treeselect-list--top,.treeselect-list--top-to-body{border-bottom-color:#d7dde4;border-bottom-left-radius:0;border-bottom-right-radius:0}.treeselect-list--bottom,.treeselect-list--bottom-to-body{border-top-color:#d7dde4;border-top-left-radius:0;border-top-right-radius:0}.treeselect-list--top{bottom:100%;left:0}.treeselect-list--bottom{top:100%;left:0}
|
package/dist/treeselectjs.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ type ValueOptionType = string | number;
|
|
|
2
2
|
type OptionType = {
|
|
3
3
|
value: ValueOptionType;
|
|
4
4
|
name: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
htmlAttr?: object;
|
|
5
7
|
children: OptionType[];
|
|
6
8
|
};
|
|
7
9
|
type DirectionType = 'auto' | 'top' | 'bottom';
|
|
@@ -28,7 +30,10 @@ interface ITreeselect {
|
|
|
28
30
|
showCount: boolean;
|
|
29
31
|
disabledBranchNode: boolean;
|
|
30
32
|
direction: DirectionType;
|
|
33
|
+
expandSelected: boolean;
|
|
34
|
+
saveScrollPosition: boolean;
|
|
31
35
|
iconElements: IconsType;
|
|
36
|
+
ungroupedValue: ValueOptionType[];
|
|
32
37
|
groupedValue: ValueOptionType[];
|
|
33
38
|
isListOpened: boolean;
|
|
34
39
|
selectedName: string;
|
|
@@ -66,6 +71,8 @@ interface ITreeselectParams {
|
|
|
66
71
|
showCount?: boolean;
|
|
67
72
|
disabledBranchNode?: boolean;
|
|
68
73
|
direction?: DirectionType;
|
|
74
|
+
expandSelected?: boolean;
|
|
75
|
+
saveScrollPosition?: boolean;
|
|
69
76
|
iconElements?: Partial<IconsType>;
|
|
70
77
|
inputCallback?: (value: ValueOptionType[] | ValueOptionType) => void;
|
|
71
78
|
openCallback?: (value: ValueOptionType[] | ValueOptionType) => void;
|
|
@@ -85,7 +92,7 @@ type IconsType = {
|
|
|
85
92
|
export class Treeselect implements ITreeselect {
|
|
86
93
|
#private;
|
|
87
94
|
parentHtmlContainer: HTMLElement;
|
|
88
|
-
value: ValueOptionType[];
|
|
95
|
+
value: ValueOptionType[] | ValueOptionType;
|
|
89
96
|
options: OptionType[];
|
|
90
97
|
openLevel: number;
|
|
91
98
|
appendToBody: boolean;
|
|
@@ -106,16 +113,19 @@ export class Treeselect implements ITreeselect {
|
|
|
106
113
|
showCount: boolean;
|
|
107
114
|
disabledBranchNode: boolean;
|
|
108
115
|
direction: DirectionType;
|
|
116
|
+
expandSelected: boolean;
|
|
117
|
+
saveScrollPosition: boolean;
|
|
109
118
|
iconElements: IconsType;
|
|
110
119
|
inputCallback: ((value: ValueOptionType[] | ValueOptionType) => void) | undefined;
|
|
111
120
|
openCallback: ((value: ValueOptionType[] | ValueOptionType) => void) | undefined;
|
|
112
121
|
closeCallback: ((value: ValueOptionType[] | ValueOptionType) => void) | undefined;
|
|
113
122
|
nameChangeCallback: ((name: string) => void) | undefined;
|
|
123
|
+
ungroupedValue: ValueOptionType[];
|
|
114
124
|
groupedValue: ValueOptionType[];
|
|
115
125
|
isListOpened: boolean;
|
|
116
126
|
selectedName: string;
|
|
117
127
|
srcElement: HTMLElement | null;
|
|
118
|
-
constructor({ parentHtmlContainer, value, options, openLevel, appendToBody, alwaysOpen, showTags, tagsCountText, clearable, searchable, placeholder, grouped, isGroupedValue, listSlotHtmlComponent, disabled, emptyText, staticList, id, isSingleSelect, showCount, disabledBranchNode, direction, iconElements, inputCallback, openCallback, closeCallback, nameChangeCallback }: ITreeselectParams);
|
|
128
|
+
constructor({ parentHtmlContainer, value, options, openLevel, appendToBody, alwaysOpen, showTags, tagsCountText, clearable, searchable, placeholder, grouped, isGroupedValue, listSlotHtmlComponent, disabled, emptyText, staticList, id, isSingleSelect, showCount, disabledBranchNode, direction, expandSelected, saveScrollPosition, iconElements, inputCallback, openCallback, closeCallback, nameChangeCallback }: ITreeselectParams);
|
|
119
129
|
mount(): void;
|
|
120
130
|
updateValue(newValue: ValueOptionType[] | ValueOptionType): void;
|
|
121
131
|
destroy(): void;
|
package/dist/treeselectjs.mjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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;s.style.transform="";const{y:i,height:l}=s.getBoundingClientRect(),{x:n,y:o,height:a,width:c}=e.getBoundingClientRect(),r=window.innerHeight-o-a;let h=o>r&&o>=l&&r<l;"auto"!==this.direction&&(h="top"===this.direction),this.appendToBody&&(s.style.transform=h?`translateY(${o-i-l}px)`:`translateY(${o+a-i}px)`,s.style.width=`${c}px`,s.style.left=`${n+window.scrollX}px`);const d=h?"top":"bottom";s.getAttribute("direction")!==d&&(s.setAttribute("direction",d),he(this,Wt,"m",ee).call(this,h,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};
|
|
1
|
+
function e(e,t,s,i){Object.defineProperty(e,t,{get:s,set:i,enumerable:!0,configurable:!0})}var t={};e(t,"Treeselect",(function(){return Pt}),(function(e){return Pt=e}));var s={};e(s,"TreeselectInput",(function(){return W}),(function(e){return W=e}));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=(e,t)=>{if(t.innerHTML="","string"==typeof e)t.innerHTML=e;else{const s=e.cloneNode(!0);t.appendChild(s)}},n=e=>{const t=e?Object.assign({},e):{};return Object.keys(i).forEach((e=>{t[e]||(t[e]=i[e])})),t};var o,a,c,r,h,d,u,p,m,f,v,w,g,b,k,E,C,y,L,S,x,_,T,O,A,N,P,B,H=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},M=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,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(e){this.value=e,H(this,o,"m",u).call(this),H(this,o,"m",f).call(this)}removeItem(e){this.value=this.value.filter((t=>t.id!==e)),H(this,o,"m",B).call(this),H(this,o,"m",u).call(this),H(this,o,"m",f).call(this)}clear(){this.value=[],H(this,o,"m",B).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:e,showTags:t,tagsCountText:s,clearable:i,isAlwaysOpened:l,searchable:n,placeholder:u,disabled:p,isSingleSelect:m,id:f,iconElements:v,inputCallback:g,searchCallback:k,openCallback:E,closeCallback:C,keydownCallback:y,focusCallback:L,blurCallback:x,nameChangeCallback:_}){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=e,this.showTags=t,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=k,this.openCallback=E,this.closeCallback=C,this.keydownCallback=y,this.focusCallback=L,this.blurCallback=x,this.nameChangeCallback=_,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",k).call(this));const t=(e=this.value).reduce(((t,{name:s},i)=>(t+=s,i<e.length-1&&(t+=", "),t)),"");this.nameChangeCallback(t)}else{const e=H(this,o,"m",L).call(this);H(this,a,"f").appendChild(e),this.nameChangeCallback(e.innerText)}var e;H(this,a,"f").appendChild(H(this,c,"f"))},p=function(){const e=[];H(this,r,"f").innerHTML="",this.clearable&&e.push(H(this,o,"m",O).call(this)),this.isAlwaysOpened||e.push(H(this,o,"m",N).call(this,this.isOpened)),e.length&&H(this,r,"f").append(...e)},m=function(){if(!this.isAlwaysOpened&&H(this,h,"f")){const e=this.isOpened?this.iconElements.arrowUp:this.iconElements.arrowDown;l(e,H(this,h,"f"))}},f=function(){var e;(null===(e=this.value)||void 0===e?void 0:e.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(e,t,s){const i=document.createElement("div");return i.classList.add("treeselect-input"),i.setAttribute("tabindex","-1"),i.addEventListener("mousedown",(e=>H(this,o,"m",g).call(this,e))),i.addEventListener("focus",(()=>this.focusCallback()),!0),i.addEventListener("blur",(()=>this.blurCallback()),!0),e.appendChild(t),i.append(e,s),i},g=function(e){e.stopPropagation(),this.isOpened||H(this,o,"m",v).call(this),this.focus()},b=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__tags"),e},k=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=H(this,o,"m",C).call(this,e.name),i=H(this,o,"m",y).call(this);return t.addEventListener("mousedown",(t=>H(this,o,"m",E).call(this,t,e.id))),t.append(s,i),t}))},E=function(e,t){e.preventDefault(),e.stopPropagation(),this.removeItem(t),this.focus()},C=function(e){const t=document.createElement("span");return t.classList.add("treeselect-input__tags-name"),t.textContent=e,t},y=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__tags-cross"),l(this.iconElements.cross,e),e},L=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=1===this.value.length?this.value[0].name:`${this.value.length} ${this.tagsCountText}`;return e.textContent=t,e.setAttribute("title",t),e},S=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",(e=>H(this,o,"m",x).call(this,e))),e.addEventListener("input",(t=>H(this,o,"m",_).call(this,t,e))),e},x=function(e){e.stopPropagation();const t=e.key;"Backspace"!==t||this.searchText.length||!this.value.length||this.showTags||this.clear(),"Backspace"===t&&!this.searchText.length&&this.value.length&&this.removeItem(this.value[this.value.length-1].id),"Space"!==e.code||this.searchText&&this.searchable||H(this,o,"m",v).call(this),"Enter"!==t&&"ArrowDown"!==t&&"ArrowUp"!==t||e.preventDefault(),this.keydownCallback(e),"Tab"!==t&&this.focus()},_=function(e,t){e.stopPropagation();const s=this.searchText,i=t.value.trim();if(0!==s.length||0!==i.length){if(this.searchable){const t=e.target.value;this.searchCallback(t),this.isOpened||H(this,o,"m",v).call(this)}else t.value="";this.searchText=t.value}else t.value=""},T=function(){const e=document.createElement("div");return e.classList.add("treeselect-input__operators"),e},O=function(){const e=document.createElement("span");return e.classList.add("treeselect-input__clear"),e.setAttribute("tabindex","-1"),l(this.iconElements.clear,e),e.addEventListener("mousedown",(e=>H(this,o,"m",A).call(this,e))),e},A=function(e){e.preventDefault(),e.stopPropagation(),(this.searchText.length||this.value.length)&&this.clear(),this.focus()},N=function(e){M(this,h,document.createElement("span"),"f"),H(this,h,"f").classList.add("treeselect-input__arrow");const t=e?this.iconElements.arrowUp:this.iconElements.arrowDown;return l(t,H(this,h,"f")),H(this,h,"f").addEventListener("mousedown",(e=>H(this,o,"m",P).call(this,e))),H(this,h,"f")},P=function(e){e.stopPropagation(),e.preventDefault(),this.focus(),H(this,o,"m",v).call(this)},B=function(){this.inputCallback(this.value)};var V={};e(V,"TreeselectList",(function(){return Ke}),(function(e){return Ke=e}));const G=(e,t,s)=>{Y(t);const i=t.filter((t=>!t.disabled&&e.some((e=>e===t.id))));s&&i.length?i[0].checked=!0:i.forEach((e=>{e.checked=!0;const s=j(e,t);e.checked=s}))},j=({id:e,checked:t},s)=>{const i=s.find((t=>t.id===e));if(!i)return!1;const l=D(!!t,i,s);return q(i,s),l},D=(e,t,s)=>{if(!t.isGroup)return t.checked=!t.disabled&&!!e,t.isPartialChecked=!1,t.checked;const i=s.filter((e=>e.childOf===t.id));if(!e||t.disabled||t.isPartialChecked)return t.checked=!1,t.isPartialChecked=!1,I(t,i,s),t.checked;if(!R(i,s))return t.checked=!0,t.isPartialChecked=!1,I(t,i,s),t.checked;return U(i)?(t.checked=!1,t.isPartialChecked=!1,t.disabled=!0,t.checked):(t.checked=!1,t.isPartialChecked=!0,i.forEach((t=>{D(e,t,s)})),t.checked)},q=(e,t)=>{const s=t.find((t=>t.id===e.childOf));s&&($(s,t),q(s,t))},$=(e,t)=>{const s=X(e,t);if(U(s))return e.checked=!1,e.isPartialChecked=!1,void(e.disabled=!0);if(z(s))return e.checked=!0,void(e.isPartialChecked=!1);if(F(s))return e.checked=!1,void(e.isPartialChecked=!0);e.checked=!1,e.isPartialChecked=!1},I=({checked:e,disabled:t},s,i)=>{s.forEach((s=>{s.disabled=!!t,s.checked=!!e&&!s.disabled,s.isPartialChecked=!1;const l=X(s,i);I({checked:e,disabled:t},l,i)}))},R=(e,t)=>{if(e.some((e=>e.disabled)))return!0;return e.some((e=>{if(e.isGroup){const s=X(e,t);return R(s,t)}return!1}))},U=e=>e.every((e=>!!e.disabled)),z=e=>e.every((e=>!!e.checked)),F=e=>e.some((e=>!!e.checked||!!e.isPartialChecked)),Y=e=>{e.forEach((e=>{e.checked=!1,e.isPartialChecked=!1}))},J=(e,t,s="",i=0)=>{const l=K(e,t,s,i);return Z(l)},K=(e,t,s,i)=>e.reduce(((e,l)=>{var n,o;const a=!!(null===(n=l.children)||void 0===n?void 0:n.length),c=i>=t&&a,r=i>t;if(e.push({id:l.value,name:l.name,childOf:s,isGroup:a,checked:!1,isPartialChecked:!1,level:i,isClosed:c,hidden:r,disabled:null!==(o=l.disabled)&&void 0!==o&&o}),a){const s=K(l.children,t,l.value,i+1);e.push(...s)}return e}),[]),X=({id:e},t)=>t.filter((t=>t.childOf===e)),Q=e=>{const{ungroupedNodes:t,allGroupedNodes:s,allNodes:i}=e.reduce(((e,t)=>t.checked?(e.allNodes.push(t),t.isGroup?e.allGroupedNodes.push(t):e.ungroupedNodes.push(t),e):e),{ungroupedNodes:[],allGroupedNodes:[],allNodes:[]});return{ungroupedNodes:t,groupedNodes:i.filter((e=>!s.some((({id:t})=>t===e.childOf)))),allNodes:i}},Z=e=>(e.filter((e=>!!e.disabled)).forEach((({id:t})=>j({id:t,checked:!1},e))),e),ee=(e,{id:t,isClosed:s})=>{X({id:t},e).forEach((t=>{t.hidden=null!=s&&s,t.isGroup&&!t.isClosed&&ee(e,{id:t.id,isClosed:s})}))},te=e=>{e.filter((e=>e.isGroup&&!e.disabled&&(e.checked||e.isPartialChecked))).forEach((t=>{t.isClosed=!1,ee(e,t)}))},se=(e,t)=>{const s=ie(e,t);e.forEach((t=>{s.some((({id:e})=>e===t.id))?(t.isGroup&&(t.isClosed=!1,ee(e,t)),t.hidden=!1):t.hidden=!0}))},ie=(e,t)=>e.reduce(((s,i)=>{if(i.name.toLowerCase().includes(t.toLowerCase())){if(s.push(i),i.isGroup){const t=le(i.id,e);s.push(...t)}if(i.childOf){const t=ne(i.childOf,e);s.push(...t)}}return s}),[]),le=(e,t)=>t.reduce(((s,i)=>(i.childOf===e&&(s.push(i),i.isGroup&&s.push(...le(i.id,t))),s)),[]),ne=(e,t)=>t.reduce(((s,i)=>(i.id===e&&(s.push(i),i.childOf&&s.push(...ne(i.childOf,t))),s)),[]);var oe,ae,ce,re,he,de,ue,pe,me,fe,ve,we,ge,be,ke,Ee,Ce,ye,Le,Se,xe,_e,Te,Oe,Ae,Ne,Pe,Be,He,Me,We=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},Ve=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,s),s};const Ge=(e,t,s,i,l,n,o,a)=>{G(e,t,l),a&&o&&te(t),je(t,s,i,n)},je=(e,t,s,i)=>{e.forEach((l=>{const n=t.querySelector(`[input-id="${l.id}"]`),o=Ye(n);n.checked=l.checked,De(l,o,i),qe(l,o),$e(l,o),Ie(l,o,s),Re(l,o),ze(l,o,e),Ue(l,n,s)})),Fe(e,t)},De=(e,t,s)=>{e.checked?t.classList.add("treeselect-list__item--checked"):t.classList.remove("treeselect-list__item--checked"),Array.isArray(s)&&s[0]===e.id&&!e.disabled?t.classList.add("treeselect-list__item--single-selected"):t.classList.remove("treeselect-list__item--single-selected")},qe=(e,t)=>{e.isPartialChecked?t.classList.add("treeselect-list__item--partial-checked"):t.classList.remove("treeselect-list__item--partial-checked")},$e=(e,t)=>{e.disabled?t.classList.add("treeselect-list__item--disabled"):t.classList.remove("treeselect-list__item--disabled")},Ie=(e,t,s)=>{if(e.isGroup){const i=t.querySelector(".treeselect-list__item-icon"),n=e.isClosed?s.arrowRight:s.arrowDown;l(n,i),e.isClosed?t.classList.add("treeselect-list__item--closed"):t.classList.remove("treeselect-list__item--closed")}},Re=(e,t)=>{e.hidden?t.classList.add("treeselect-list__item--hidden"):t.classList.remove("treeselect-list__item--hidden")},Ue=(e,t,s)=>{const i=t.parentNode.querySelector(".treeselect-list__item-checkbox-icon");e.checked?l(s.check,i):e.isPartialChecked?l(s.partialCheck,i):i.innerHTML=""},ze=(e,t,s)=>{if(0===e.level){const i=s.some((t=>t.isGroup&&t.level===e.level)),l=!e.isGroup&&i?"20px":"5px";t.style.paddingLeft=e.isGroup?"0":l}else t.style.paddingLeft=e.isGroup?20*e.level+"px":20*e.level+20+"px";t.setAttribute("level",e.level.toString()),t.setAttribute("group",e.isGroup.toString())},Fe=(e,t)=>{const s=e.some((e=>!e.hidden)),i=t.querySelector(".treeselect-list__empty");s?i.classList.add("treeselect-list__empty--hidden"):i.classList.remove("treeselect-list__empty--hidden")},Ye=e=>e.parentNode.parentNode,Je=(e,t)=>t.find((t=>t.id.toString()===e));class Ke{updateValue(e){this.value=e,Ve(this,re,this.isSingleSelect?this.value:[],"f"),Ge(e,this.flattedOptions,this.srcElement,this.iconElements,this.isSingleSelect,We(this,re,"f"),this.expandSelected,We(this,he,"f")),Ve(this,he,!1,"f"),We(this,oe,"m",He).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((e=>{const t=this.flattedOptions.find((t=>t.id===e.id));return t.isClosed=e.isClosed,t.hidden=e.hidden,t})),this.flattedOptionsBeforeSearch=[]),this.searchText&&se(this.flattedOptions,e),je(this.flattedOptions,this.srcElement,this.iconElements,We(this,re,"f")),this.focusFirstListElement()}callKeyAction(e){Ve(this,ce,!1,"f");const t=this.srcElement.querySelector(".treeselect-list__item--focused");if(null==t?void 0:t.classList.contains("treeselect-list__item--hidden"))return;const s=e.key;"Enter"===s&&t&&t.dispatchEvent(new Event("mousedown")),"ArrowLeft"!==s&&"ArrowRight"!==s||We(this,oe,"m",de).call(this,t,e),"ArrowDown"!==s&&"ArrowUp"!==s||We(this,oe,"m",ue).call(this,t,s)}focusFirstListElement(){const e="treeselect-list__item--focused",t=this.srcElement.querySelector(`.${e}`),s=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((e=>"none"!==window.getComputedStyle(Ye(e)).display));if(!s.length)return;t&&t.classList.remove(e);Ye(s[0]).classList.add(e)}isLastFocusedElementExist(){return!!We(this,ae,"f")}constructor({options:e,value:t,openLevel:s,listSlotHtmlComponent:i,emptyText:l,isSingleSelect:n,iconElements:o,showCount:a,disabledBranchNode:c,expandSelected:r,inputCallback:h,arrowClickCallback:d,mouseupCallback:u}){oe.add(this),ae.set(this,null),ce.set(this,!0),re.set(this,[]),he.set(this,!0),this.options=e,this.value=t,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.expandSelected=null!=r&&r,this.iconElements=o,this.searchText="",this.flattedOptions=J(this.options,this.openLevel),this.flattedOptionsBeforeSearch=this.flattedOptions,this.selectedNodes={nodes:[],groupedNodes:[]},this.srcElement=We(this,oe,"m",pe).call(this),this.inputCallback=h,this.arrowClickCallback=d,this.mouseupCallback=u,(e=>{const{duplications:t}=e.reduce(((e,t)=>(e.allItems.some((e=>e.toString()===t.id.toString()))&&e.duplications.push(t.id),e.allItems.push(t.id),e)),{duplications:[],allItems:[]});t.length&&console.error(`Validation: You have duplicated values: ${t.join(", ")}! You should use unique values.`)})(this.flattedOptions)}}ae=new WeakMap,ce=new WeakMap,re=new WeakMap,he=new WeakMap,oe=new WeakSet,de=function(e,t){if(!e)return;const s=t.key,i=e.querySelector(".treeselect-list__item-checkbox").getAttribute("input-id"),l=Je(i,this.flattedOptions),n=e.querySelector(".treeselect-list__item-icon");"ArrowLeft"===s&&!l.isClosed&&l.isGroup&&(n.dispatchEvent(new Event("mousedown")),t.preventDefault()),"ArrowRight"===s&&l.isClosed&&l.isGroup&&(n.dispatchEvent(new Event("mousedown")),t.preventDefault())},ue=function(e,t){var s,i,l;const n=Array.from(this.srcElement.querySelectorAll(".treeselect-list__item-checkbox")).filter((e=>"none"!==window.getComputedStyle(Ye(e)).display));if(n.length)if(e){const e=n.findIndex((e=>Ye(e).classList.contains("treeselect-list__item--focused")));Ye(n[e]).classList.remove("treeselect-list__item--focused");const o="ArrowDown"===t?e+1:e-1,a="ArrowDown"===t?0:n.length-1,c=null!==(s=n[o])&&void 0!==s?s:n[a],r=!n[o],h=Ye(c);h.classList.add("treeselect-list__item--focused");const d=this.srcElement.getBoundingClientRect(),u=h.getBoundingClientRect();if(r&&"ArrowDown"===t)return void this.srcElement.scroll(0,0);if(r&&"ArrowUp"===t)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{Ye(n[0]).classList.add("treeselect-list__item--focused")}},pe=function(){const e=We(this,oe,"m",me).call(this),t=We(this,oe,"m",we).call(this,this.options);e.append(...t);const s=We(this,oe,"m",be).call(this);e.append(s);const i=We(this,oe,"m",ge).call(this);return i&&e.append(i),e},me=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",(e=>We(this,oe,"m",fe).call(this,e))),e.addEventListener("mousemove",(()=>We(this,oe,"m",ve).call(this))),e.addEventListener("mouseup",(()=>this.mouseupCallback()),!0),e},fe=function(e){e.stopPropagation(),We(this,ae,"f")&&We(this,ce,"f")&&We(this,ae,"f").classList.add("treeselect-list__item--focused")},ve=function(){Ve(this,ce,!0,"f")},we=function e(t){return t.reduce(((t,s)=>{var i;if(null===(i=s.children)||void 0===i?void 0:i.length){const i=We(this,oe,"m",ke).call(this,s),l=We(this,oe,"m",e).call(this,s.children);return i.append(...l),t.push(i),t}const l=We(this,oe,"m",Ee).call(this,s,!1);return t.push(l),t}),[])},ge=function(){if(!this.listSlotHtmlComponent)return null;const e=document.createElement("div");return e.classList.add("treeselect-list__slot"),e.appendChild(this.listSlotHtmlComponent),e},be=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"),l(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},ke=function(e){const t=document.createElement("div");t.setAttribute("group-container-id",e.value.toString()),t.classList.add("treeselect-list__group-container");const s=We(this,oe,"m",Ee).call(this,e,!0);return t.appendChild(s),t},Ee=function(e,t){const s=We(this,oe,"m",Ce).call(this,e);if(t){const e=We(this,oe,"m",xe).call(this);s.appendChild(e),s.classList.add("treeselect-list__item--group")}const i=We(this,oe,"m",Te).call(this,e),l=We(this,oe,"m",Oe).call(this,e,t);return s.append(i,l),s},Ce=function(e){const t=document.createElement("div");return((e,t)=>{t&&Object.keys(t).forEach((s=>{const i=t[s];"string"==typeof i&&e.setAttribute(s,i)}))})(t,e.htmlAttr),t.setAttribute("tabindex","-1"),t.setAttribute("title",e.name),t.classList.add("treeselect-list__item"),t.addEventListener("mouseover",(()=>We(this,oe,"m",ye).call(this,t)),!0),t.addEventListener("mouseout",(()=>We(this,oe,"m",Le).call(this,t)),!0),t.addEventListener("mousedown",(t=>We(this,oe,"m",Se).call(this,t,e))),t},ye=function(e){We(this,ce,"f")&&We(this,oe,"m",Be).call(this,!0,e)},Le=function(e){We(this,ce,"f")&&(We(this,oe,"m",Be).call(this,!1,e),Ve(this,ae,e,"f"))},Se=function(e,t){var s;e.preventDefault(),e.stopPropagation();if(null===(s=this.flattedOptions.find((e=>e.id===t.value)))||void 0===s?void 0:s.disabled)return;const i=e.target.querySelector(".treeselect-list__item-checkbox");i.checked=!i.checked,We(this,oe,"m",Ne).call(this,i,t)},xe=function(){const e=document.createElement("span");return e.setAttribute("tabindex","-1"),e.classList.add("treeselect-list__item-icon"),l(this.iconElements.arrowDown,e),e.addEventListener("mousedown",(e=>We(this,oe,"m",_e).call(this,e))),e},_e=function(e){e.preventDefault(),e.stopPropagation(),We(this,oe,"m",Pe).call(this,e)},Te=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},Oe=function(e,t){const s=document.createElement("label");if(s.textContent=e.name,s.classList.add("treeselect-list__item-label"),t&&this.showCount){const t=We(this,oe,"m",Ae).call(this,e);s.appendChild(t)}return s},Ae=function(e){const t=document.createElement("span"),s=this.flattedOptions.filter((t=>t.childOf===e.value));return t.textContent=`(${s.length})`,t.classList.add("treeselect-list__item-label-counter"),t},Ne=function(e,t){const s=this.flattedOptions.find((e=>e.id===t.value));if(s)if((null==s?void 0:s.isGroup)&&this.disabledBranchNode){const t=Ye(e).querySelector(".treeselect-list__item-icon");null==t||t.dispatchEvent(new Event("mousedown"))}else{if(this.isSingleSelect){const[e]=We(this,re,"f");if(s.id===e)return;Ve(this,re,[s.id],"f"),G([s.id],this.flattedOptions,this.isSingleSelect)}else{s.checked=e.checked;const t=j(s,this.flattedOptions);e.checked=t}je(this.flattedOptions,this.srcElement,this.iconElements,We(this,re,"f")),We(this,oe,"m",Me).call(this)}},Pe=function(e){var t,s,i;const l=null===(s=null===(t=e.target)||void 0===t?void 0:t.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=Je(n,this.flattedOptions);o&&(o.isClosed=!o.isClosed,ee(this.flattedOptions,o),je(this.flattedOptions,this.srcElement,this.iconElements,We(this,re,"f")),this.arrowClickCallback())},Be=function(e,t){const s="treeselect-list__item--focused";if(e){const e=Array.from(this.srcElement.querySelectorAll(`.${s}`));e.length&&e.forEach((e=>e.classList.remove(s))),t.classList.add(s)}else t.classList.remove(s)},He=function(){const{ungroupedNodes:e,groupedNodes:t}=Q(this.flattedOptions);this.selectedNodes={nodes:e,groupedNodes:t}},Me=function(){We(this,oe,"m",He).call(this),this.inputCallback(this.selectedNodes),this.value=this.selectedNodes.nodes.map((e=>e.id))};var Xe,Qe,Ze,et,tt,st,it,lt,nt,ot,at,ct,rt,ht,dt,ut,pt,mt,ft,vt,wt,gt,bt,kt,Et,Ct,yt,Lt,St,xt,_t,Tt,Ot=function(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)},At=function(e,t,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 t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?l.call(e,s):l?l.value=s:t.set(e,s),s};const Nt=e=>e.map((e=>e.id));class Pt{mount(){Ot(this,Xe,"m",at).call(this,this.value)}updateValue(e){var t;const s=Ot(this,Qe,"f");if(s){const i=(e=>e?Array.isArray(e)?e:[e]:[])(e);s.updateValue(i);const{groupedNodes:l,nodes:n}=s.selectedNodes,o=this.grouped||this.isSingleSelect?l:n;null===(t=Ot(this,Ze,"f"))||void 0===t||t.updateValue(o),Ot(this,Xe,"m",ct).call(this,{groupedNodes:l,nodes:n})}}destroy(){this.srcElement&&(Ot(this,Xe,"m",bt).call(this),this.srcElement.innerHTML="",this.srcElement=null,Ot(this,Xe,"m",yt).call(this,!0))}focus(){Ot(this,Ze,"f")&&Ot(this,Ze,"f").focus()}toggleOpenClose(){Ot(this,Ze,"f")&&(Ot(this,Ze,"f").openClose(),Ot(this,Ze,"f").focus())}scrollWindowHandler(){this.updateListPosition()}focusWindowHandler(e){var t,s,i;(null===(t=this.srcElement)||void 0===t?void 0:t.contains(e.target))||(null===(s=Ot(this,Qe,"f"))||void 0===s?void 0:s.srcElement.contains(e.target))||(null===(i=Ot(this,Ze,"f"))||void 0===i||i.blur(),Ot(this,Xe,"m",yt).call(this,!1),Ot(this,Xe,"m",Et).call(this,!1))}blurWindowHandler(){var e;null===(e=Ot(this,Ze,"f"))||void 0===e||e.blur(),Ot(this,Xe,"m",yt).call(this,!1),Ot(this,Xe,"m",Et).call(this,!1)}updateListPosition(){var e;const t=this.srcElement,s=null===(e=Ot(this,Qe,"f"))||void 0===e?void 0:e.srcElement;if(!t||!s)return;const{height:i}=s.getBoundingClientRect(),{x:l,y:n,height:o,width:a}=t.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 e=l+window.scrollX,t=r?n+window.scrollY-i:n+window.scrollY+o;s.style.transform=`translate(${e}px,${t}px)`,s.style.width=`${a}px`}const h=r?"top":"bottom";s.getAttribute("direction")!==h&&(s.setAttribute("direction",h),Ot(this,Xe,"m",kt).call(this,r,this.appendToBody))}constructor({parentHtmlContainer:e,value:t,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:k,disabledBranchNode:E,direction:C,expandSelected:y,saveScrollPosition:L,iconElements:S,inputCallback:x,openCallback:_,closeCallback:T,nameChangeCallback:O}){Xe.add(this),Qe.set(this,null),Ze.set(this,null),et.set(this,null),tt.set(this,0),st.set(this,0),it.set(this,null),lt.set(this,null),nt.set(this,null),ot.set(this,null),(({parentHtmlContainer:e,staticList:t,appendToBody:s,isSingleSelect:i,value:l,direction:n})=>{e||console.error("Validation: parentHtmlContainer prop is required!"),t&&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:e,value:t,staticList:w,appendToBody:l,isSingleSelect:b}),this.parentHtmlContainer=e,this.value=[],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!=k&&k,this.disabledBranchNode=null!=E&&E,this.direction=null!=C?C:"auto",this.expandSelected=null!=y&&y,this.saveScrollPosition=null==L||L,this.iconElements=n(S),this.inputCallback=x,this.openCallback=_,this.closeCallback=T,this.nameChangeCallback=O,this.ungroupedValue=[],this.groupedValue=[],this.isListOpened=!1,this.selectedName="",this.srcElement=null,Ot(this,Xe,"m",at).call(this,t)}}Qe=new WeakMap,Ze=new WeakMap,et=new WeakMap,tt=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,nt=new WeakMap,ot=new WeakMap,Xe=new WeakSet,at=function(e){var t;this.destroy();const{container:s,list:i,input:l}=Ot(this,Xe,"m",rt).call(this);this.srcElement=s,At(this,Qe,i,"f"),At(this,Ze,l,"f"),At(this,it,this.scrollWindowHandler.bind(this),"f"),At(this,lt,this.scrollWindowHandler.bind(this),"f"),At(this,nt,this.focusWindowHandler.bind(this),"f"),At(this,ot,this.blurWindowHandler.bind(this),"f"),this.alwaysOpen&&(null===(t=Ot(this,Ze,"f"))||void 0===t||t.openClose()),this.disabled?this.srcElement.classList.add("treeselect--disabled"):this.srcElement.classList.remove("treeselect--disabled"),this.updateValue(null!=e?e:this.value)},ct=function({groupedNodes:e,nodes:t}){this.ungroupedValue=t?Nt(t):[],this.groupedValue=e?Nt(e):[];const s=this.isGroupedValue||this.isSingleSelect?this.groupedValue:this.ungroupedValue;this.value=((e,t)=>{if(t){const[t]=e;return t}return e})(s,this.isSingleSelect)},rt=function(){const e=this.parentHtmlContainer;e.classList.add("treeselect");const t=new(0,V.TreeselectList)({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:e=>Ot(this,Xe,"m",ft).call(this,e),arrowClickCallback:()=>Ot(this,Xe,"m",vt).call(this),mouseupCallback:()=>{var e;return null===(e=Ot(this,Ze,"f"))||void 0===e?void 0:e.focus()}}),{groupedNodes:i,nodes:l}=t.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:e=>Ot(this,Xe,"m",ht).call(this,e),searchCallback:e=>Ot(this,Xe,"m",ut).call(this,e),openCallback:()=>Ot(this,Xe,"m",gt).call(this),closeCallback:()=>Ot(this,Xe,"m",bt).call(this),keydownCallback:e=>Ot(this,Xe,"m",dt).call(this,e),focusCallback:()=>Ot(this,Xe,"m",pt).call(this),blurCallback:()=>Ot(this,Xe,"m",mt).call(this),nameChangeCallback:e=>Ot(this,Xe,"m",wt).call(this,e)});return this.appendToBody&&At(this,et,new ResizeObserver((()=>this.updateListPosition())),"f"),e.append(n.srcElement),{container:e,list:t,input:n}},ht=function(e){var t,s,i,l,n;const o=Nt(e);null===(t=Ot(this,Qe,"f"))||void 0===t||t.updateValue(o);const a=null===(i=null===(s=Ot(this,Qe,"f"))||void 0===s?void 0:s.selectedNodes)||void 0===i?void 0:i.nodes,c=null===(n=null===(l=Ot(this,Qe,"f"))||void 0===l?void 0:l.selectedNodes)||void 0===n?void 0:n.groupedNodes;Ot(this,Xe,"m",ct).call(this,{groupedNodes:c,nodes:a}),Ot(this,Xe,"m",St).call(this)},dt=function(e){var t;this.isListOpened&&(null===(t=Ot(this,Qe,"f"))||void 0===t||t.callKeyAction(e))},ut=function(e){Ot(this,st,"f")&&clearTimeout(Ot(this,st,"f")),At(this,st,setTimeout((()=>{var t;null===(t=Ot(this,Qe,"f"))||void 0===t||t.updateSearchValue(e),this.updateListPosition()}),350),"f")},pt=function(){Ot(this,Xe,"m",Et).call(this,!0),Ot(this,nt,"f")&&Ot(this,nt,"f")&&Ot(this,ot,"f")&&(document.addEventListener("mousedown",Ot(this,nt,"f"),!0),document.addEventListener("focus",Ot(this,nt,"f"),!0),window.addEventListener("blur",Ot(this,ot,"f")))},mt=function(){setTimeout((()=>{var e,t;const s=null===(e=Ot(this,Ze,"f"))||void 0===e?void 0:e.srcElement.contains(document.activeElement),i=null===(t=Ot(this,Qe,"f"))||void 0===t?void 0:t.srcElement.contains(document.activeElement);s||i||this.blurWindowHandler()}),1)},ft=function(e){var t,s,i,l;const{groupedNodes:n,nodes:o}=e,a=this.grouped||this.isSingleSelect?n:o;null===(t=Ot(this,Ze,"f"))||void 0===t||t.updateValue(a),Ot(this,Xe,"m",ct).call(this,{groupedNodes:n,nodes:o}),this.isSingleSelect&&!this.alwaysOpen&&(null===(s=Ot(this,Ze,"f"))||void 0===s||s.openClose(),null===(i=Ot(this,Ze,"f"))||void 0===i||i.clearSearch()),null===(l=Ot(this,Ze,"f"))||void 0===l||l.focus(),Ot(this,Xe,"m",St).call(this)},vt=function(){var e;null===(e=Ot(this,Ze,"f"))||void 0===e||e.focus(),this.updateListPosition()},wt=function(e){this.selectedName!==e&&(this.selectedName=e,Ot(this,Xe,"m",xt).call(this))},gt=function(){var e;this.isListOpened=!0,Ot(this,it,"f")&&Ot(this,lt,"f")&&(window.addEventListener("scroll",Ot(this,it,"f"),!0),window.addEventListener("resize",Ot(this,lt,"f"))),Ot(this,Qe,"f")&&this.srcElement&&(this.appendToBody?(document.body.appendChild(Ot(this,Qe,"f").srcElement),null===(e=Ot(this,et,"f"))||void 0===e||e.observe(this.srcElement)):this.srcElement.appendChild(Ot(this,Qe,"f").srcElement),this.updateListPosition(),Ot(this,Xe,"m",Ct).call(this,!0),Ot(this,Xe,"m",Lt).call(this),Ot(this,Xe,"m",_t).call(this))},bt=function(){var e;if(this.alwaysOpen)return;if(this.isListOpened=!1,Ot(this,it,"f")&&Ot(this,lt,"f")&&(window.removeEventListener("scroll",Ot(this,it,"f"),!0),window.removeEventListener("resize",Ot(this,lt,"f"))),!Ot(this,Qe,"f")||!this.srcElement)return;(this.appendToBody?document.body.contains(Ot(this,Qe,"f").srcElement):this.srcElement.contains(Ot(this,Qe,"f").srcElement))&&(At(this,tt,Ot(this,Qe,"f").srcElement.scrollTop,"f"),this.appendToBody?(document.body.removeChild(Ot(this,Qe,"f").srcElement),null===(e=Ot(this,et,"f"))||void 0===e||e.disconnect()):this.srcElement.removeChild(Ot(this,Qe,"f").srcElement),Ot(this,Xe,"m",Ct).call(this,!1),Ot(this,Xe,"m",Tt).call(this))},kt=function(e,t){if(!Ot(this,Qe,"f")||!Ot(this,Ze,"f"))return;const s=t?"treeselect-list--top-to-body":"treeselect-list--top",i=t?"treeselect-list--bottom-to-body":"treeselect-list--bottom";e?(Ot(this,Qe,"f").srcElement.classList.add(s),Ot(this,Qe,"f").srcElement.classList.remove(i),Ot(this,Ze,"f").srcElement.classList.add("treeselect-input--top"),Ot(this,Ze,"f").srcElement.classList.remove("treeselect-input--bottom")):(Ot(this,Qe,"f").srcElement.classList.remove(s),Ot(this,Qe,"f").srcElement.classList.add(i),Ot(this,Ze,"f").srcElement.classList.remove("treeselect-input--top"),Ot(this,Ze,"f").srcElement.classList.add("treeselect-input--bottom"))},Et=function(e){Ot(this,Ze,"f")&&Ot(this,Qe,"f")&&(e?(Ot(this,Ze,"f").srcElement.classList.add("treeselect-input--focused"),Ot(this,Qe,"f").srcElement.classList.add("treeselect-list--focused")):(Ot(this,Ze,"f").srcElement.classList.remove("treeselect-input--focused"),Ot(this,Qe,"f").srcElement.classList.remove("treeselect-list--focused")))},Ct=function(e){var t,s,i,l;e?null===(t=Ot(this,Ze,"f"))||void 0===t||t.srcElement.classList.add("treeselect-input--opened"):null===(s=Ot(this,Ze,"f"))||void 0===s||s.srcElement.classList.remove("treeselect-input--opened"),this.staticList?null===(i=Ot(this,Qe,"f"))||void 0===i||i.srcElement.classList.add("treeselect-list--static"):null===(l=Ot(this,Qe,"f"))||void 0===l||l.srcElement.classList.remove("treeselect-list--static")},yt=function(e){Ot(this,it,"f")&&Ot(this,lt,"f")&&Ot(this,nt,"f")&&Ot(this,ot,"f")&&(this.alwaysOpen&&!e||(window.removeEventListener("scroll",Ot(this,it,"f"),!0),window.removeEventListener("resize",Ot(this,lt,"f"))),document.removeEventListener("mousedown",Ot(this,nt,"f"),!0),document.removeEventListener("focus",Ot(this,nt,"f"),!0),window.removeEventListener("blur",Ot(this,ot,"f")))},Lt=function(){var e,t,s;const i=null===(e=Ot(this,Qe,"f"))||void 0===e?void 0:e.isLastFocusedElementExist();this.saveScrollPosition&&i?null===(t=Ot(this,Qe,"f"))||void 0===t||t.srcElement.scroll(0,Ot(this,tt,"f")):null===(s=Ot(this,Qe,"f"))||void 0===s||s.focusFirstListElement()},St=function(){var e;null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("input",{detail:this.value})),this.inputCallback&&this.inputCallback(this.value)},xt=function(){var e;null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("name-change",{detail:this.selectedName})),this.nameChangeCallback&&this.nameChangeCallback(this.selectedName)},_t=function(){var e;this.alwaysOpen||(null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("open",{detail:this.value})),this.openCallback&&this.openCallback(this.value))},Tt=function(){var e;this.alwaysOpen||(null===(e=this.srcElement)||void 0===e||e.dispatchEvent(new CustomEvent("close",{detail:this.value})),this.closeCallback&&this.closeCallback(this.value))};export{Pt as Treeselect,t as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "treeselectjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Treeselect JS",
|
|
5
5
|
"main": "dist/treeselectjs.cjs.js",
|
|
6
6
|
"module": "dist/treeselectjs.mjs.js",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"repository": {
|
|
49
49
|
"type": "git",
|
|
50
|
-
"url": "
|
|
50
|
+
"url": "https://github.com/dipson88/treeselectjs.git"
|
|
51
51
|
},
|
|
52
52
|
"keywords": [
|
|
53
53
|
"treeselect",
|