@contributte/datagrid 0.0.0-20251017-b1f8090 → 0.0.0-20251103-e63c020

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.
@@ -33,8 +33,8 @@ export class EditablePlugin implements DatagridPlugin {
33
33
 
34
34
  if (!cell.classList.contains("editing")) {
35
35
  cell.classList.add("editing");
36
- const originalValue = cell.innerHTML.replace(/<\/?br>/g, "\n");
37
- const valueToEdit = cell.getAttribute(EditableValueAttribute) ?? originalValue;
36
+ const originalValue = (cell.innerHTML.replace(/<\/?br>/g, "\n")).trim();
37
+ const valueToEdit = (cell.getAttribute(EditableValueAttribute) ?? originalValue).trim();
38
38
 
39
39
  cell.setAttribute("originalValue", originalValue);
40
40
  cell.setAttribute("valueToEdit", valueToEdit);
@@ -49,7 +49,8 @@ export class EditablePlugin implements DatagridPlugin {
49
49
  input = cell.querySelector("textarea")!;
50
50
  break;
51
51
  case "select":
52
- input = cell.querySelector(cell.getAttribute(EditableElementAttribute) ?? "")!;
52
+ cell.innerHTML = cell.getAttribute(EditableElementAttribute) ?? "";
53
+ input = cell.querySelector("select")!;
53
54
  input
54
55
  .querySelectorAll(`option[value='${valueToEdit}']`)
55
56
  .forEach(input => input.setAttribute("selected", "true"));
@@ -57,9 +58,11 @@ export class EditablePlugin implements DatagridPlugin {
57
58
  default:
58
59
  cell.innerHTML = `<input type='${type}' />`;
59
60
  input = cell.querySelector("input")!;
60
- input.setAttribute("value", valueToEdit.trim());
61
+ input.setAttribute("value", valueToEdit);
61
62
  }
62
63
 
64
+ input.focus();
65
+
63
66
  const attributes = JSON.parse(cell.getAttribute(EditableAttrsAttribute) ?? "{}");
64
67
  for (const key in attributes) {
65
68
  const value = attributes[key];
@@ -81,7 +84,9 @@ export class EditablePlugin implements DatagridPlugin {
81
84
  }) as any;
82
85
 
83
86
  if (type === "select") {
84
- cell.innerHTML = cell.querySelector(`option[value='${value}']`)?.innerHTML ?? "";
87
+ cell.innerHTML = (el instanceof HTMLSelectElement)
88
+ ? el.options[el.selectedIndex]?.text ?? value
89
+ : value;
85
90
  } else {
86
91
  if (response._datagrid_editable_new_value) {
87
92
  value = response._datagrid_editable_new_value;
@@ -4,7 +4,7 @@ const e=e=>{"loading"===document.readyState?document.addEventListener("DOMConten
4
4
  *
5
5
  * This file is part of the Nette Framework (https://nette.org)
6
6
  * Copyright (c) 2004 David Grudl (https://davidgrudl.com)
7
- */var b=(m||(m=1,v.exports=function(){class e{filled(e,t,i){return""!==i&&!1!==i&&null!==i&&(!Array.isArray(i)||i.length>0)&&(!(i instanceof FileList)||i.length>0)}blank(e,t,i){return!this.filled(e,t,i)}valid(e,t){return t.validateControl(e,void 0,!0)}equal(e,t,i){if(void 0===t)return null;let n=e=>"number"==typeof e||"string"==typeof e?""+e:!0===e?"1":"",r=Array.isArray(i)?i:[i],s=Array.isArray(t)?t:[t];e:for(let e of r){for(let t of s)if(n(e)===n(t))continue e;return!1}return r.length>0}notEqual(e,t,i){return void 0===t?null:!this.equal(e,t,i)}minLength(e,t,i){return(i="number"==typeof i?i.toString():i).length>=t}maxLength(e,t,i){return(i="number"==typeof i?i.toString():i).length<=t}length(e,t,i){return i="number"==typeof i?i.toString():i,(null===(t=Array.isArray(t)?t:[t,t])[0]||i.length>=t[0])&&(null===t[1]||i.length<=t[1])}email(e,t,i){return/^("([ !#-[\]-~]|\\[ -~])+"|[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*)@([0-9a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,61}[0-9a-z\u00C0-\u02FF\u0370-\u1EFF])?\.)+[a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,17}[a-z\u00C0-\u02FF\u0370-\u1EFF])?$/i.test(i)}url(e,t,i,n){return/^[a-z\d+.-]+:/.test(i)||(i="https://"+i),!!/^https?:\/\/((([-_0-9a-z\u00C0-\u02FF\u0370-\u1EFF]+\.)*[0-9a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,61}[0-9a-z\u00C0-\u02FF\u0370-\u1EFF])?\.)?[a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,17}[a-z\u00C0-\u02FF\u0370-\u1EFF])?|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[[0-9a-f:]{3,39}\])(:\d{1,5})?(\/\S*)?$/i.test(i)&&(n.value=i,!0)}regexp(e,t,i){let n="string"==typeof t&&t.match(/^\/(.*)\/([imu]*)$/);try{return n&&new RegExp(n[1],n[2].replace("u","")).test(i)}catch{return null}}pattern(e,t,i,n,r){if("string"!=typeof t)return null;try{let e;try{e=new RegExp("^(?:"+t+")$",r?"ui":"u")}catch{e=new RegExp("^(?:"+t+")$",r?"i":"")}return i instanceof FileList?Array.from(i).every(t=>e.test(t.name)):e.test(i)}catch{return null}}patternCaseInsensitive(e,t,i){return this.pattern(e,t,i,null,!0)}numeric(e,t,i){return/^[0-9]+$/.test(i)}integer(e,t,i,n){return!!/^-?[0-9]+$/.test(i)&&(n.value=parseFloat(i),!0)}float(e,t,i,n){return i=i.replace(/ +/g,"").replace(/,/g,"."),!!/^-?[0-9]*\.?[0-9]+$/.test(i)&&(n.value=parseFloat(i),!0)}min(e,t,i){return Number.isFinite(t)&&(i=parseFloat(i)),i>=t}max(e,t,i){return Number.isFinite(t)&&(i=parseFloat(i)),i<=t}range(e,t,i){return Array.isArray(t)?"time"===e.type&&t[0]>t[1]?i>=t[0]||i<=t[1]:(null===t[0]||this.min(e,t[0],i))&&(null===t[1]||this.max(e,t[1],i)):null}submitted(e){return e.form["nette-submittedBy"]===e}fileSize(e,t,i){return Array.from(i).every(e=>e.size<=t)}mimeType(e,t,i){let n=[];(t=Array.isArray(t)?t:[t]).forEach(e=>n.push("^"+e.replace(/([^\w])/g,"\\$1").replace("\\*",".*")+"$"));let r=new RegExp(n.join("|"));return Array.from(i).every(e=>!e.type||r.test(e.type))}image(e,t,i){return this.mimeType(e,t??["image/gif","image/png","image/jpeg","image/webp"],i)}static(e,t){return t}}class t{formErrors=[];validators=new e;#e={};#t={};#i=new WeakMap;#n(e,t){let i=e.elements.namedItem(t);return i instanceof RadioNodeList?i[0]:i}#r(e){let t=e.form.elements.namedItem(e.name);return t instanceof RadioNodeList?Array.from(t):[t]}#s(e){"loading"!==document.readyState?e.call(this):document.addEventListener("DOMContentLoaded",e)}getValue(e){return e instanceof HTMLInputElement?"radio"===e.type?this.#r(e).find(e=>e.checked)?.value??null:"file"===e.type?e.files:"checkbox"===e.type?e.name.endsWith("[]")?this.#r(e).filter(e=>e.checked).map(e=>e.value):e.checked:e.value.trim():e instanceof HTMLSelectElement?e.multiple?Array.from(e.selectedOptions,e=>e.value):e.selectedOptions[0]?.value??null:e instanceof HTMLTextAreaElement?e.value:e instanceof RadioNodeList?this.getValue(e[0]):null}getEffectiveValue(e,t=!1){let i=this.getValue(e);if(i===e.getAttribute("data-nette-empty-value")&&(i=""),t&&void 0===this.#e[e.name]){this.#e[e.name]=!0;let t={value:i};this.validateControl(e,void 0,!0,t),i=t.value,delete this.#e[e.name]}return i}validateControl(e,t,i=!1,n,r){t??=JSON.parse(e.getAttribute("data-nette-rules")??"[]"),n??={value:this.getEffectiveValue(e)},r??=!this.validateRule(e,":filled",null,n);for(let s of t){let t=s.op.match(/(~)?([^?]+)/),o=s.control?this.#n(e.form,s.control):e;if(s.neg=!!t[1],s.op=t[2],s.condition=!!s.rules,!o)continue;if(r&&!s.condition&&":filled"!==s.op)continue;let a=this.validateRule(o,s.op,s.arg,e===o?n:void 0);if(null!==a)if(s.neg&&(a=!a),s.condition&&a){if(!this.validateControl(e,s.rules,i,n,":blank"!==s.op&&r))return!1}else if(!s.condition&&!a){if(this.isDisabled(o))continue;if(!i){let t=Array.isArray(s.arg)?s.arg:[s.arg],i=s.msg.replace(/%(value|\d+)/g,(i,n)=>this.getValue("value"===n?o:e.form.elements.namedItem(t[n].control)));this.addError(o,i)}return!1}}return!0}validateForm(e,t=!1){let i,n=e.form??e;if(this.formErrors=[],null!==e.getAttribute("formnovalidate")){let t=JSON.parse(e.getAttribute("data-nette-validation-scope")??"[]");if(!t.length)return this.showFormErrors(n,[]),!0;i=new RegExp("^("+t.join("-|")+"-)")}for(let e of n.elements)if(e.willValidate&&e.validity.badInput)return e.reportValidity(),!1;for(let e of n.elements)if(e.getAttribute("data-nette-rules")&&(!i||e.name.replace(/]\[|\[|]|$/g,"-").match(i))&&!this.isDisabled(e)&&!this.validateControl(e,void 0,t)&&!this.formErrors.length)return!1;let r=!this.formErrors.length;return this.showFormErrors(n,this.formErrors),r}isDisabled(e){return"radio"===e.type?this.#r(e).every(e=>e.disabled):e.disabled}addError(e,t){this.formErrors.push({element:e,message:t})}showFormErrors(e,t){let i,n=[];for(let e of t)n.indexOf(e.message)<0&&(n.push(e.message),i??=e.element);n.length&&this.showModal(n.join("\n"),()=>{i?.focus()})}showModal(e,t){let i=document.createElement("dialog");if(!i.showModal)return alert(e),void t();let n=document.createElement("style");n.innerText=".netteFormsModal { text-align: center; margin: auto; border: 2px solid black; padding: 1rem } .netteFormsModal button { padding: .1em 2em }";let r=document.createElement("button");r.innerText="OK",r.onclick=()=>{i.remove(),t()},i.setAttribute("class","netteFormsModal"),i.innerText=e+"\n\n",i.append(n,r),document.body.append(i),i.showModal()}validateRule(e,t,i,n){if(e.validity.badInput)return":filled"===t;n??={value:this.getEffectiveValue(e,!0)};let r=":"===t.charAt(0)?t.substring(1):t;r=r.replace("::","_").replaceAll("\\","");let s=Array.isArray(i)?i:[i];return s=s.map(t=>{if(t?.control){let i=this.#n(e.form,t.control);return i===e?n.value:this.getEffectiveValue(i,!0)}return t}),"valid"===r&&(s[0]=this),this.validators[r]?this.validators[r](e,Array.isArray(i)?s:s[0],n.value,n):null}toggleForm(e,t){this.#t={};for(let i of Array.from(e.elements))i.getAttribute("data-nette-rules")&&this.toggleControl(i,void 0,null,!t);for(let e in this.#t)this.toggle(e,this.#t[e].state,this.#t[e].elem,t)}toggleControl(e,t,i=null,n=!1,r,s){t??=JSON.parse(e.getAttribute("data-nette-rules")??"[]"),r??={value:this.getEffectiveValue(e)},s??=!this.validateRule(e,":filled",null,r);let o,a=!1;for(let l of t){let t=l.op.match(/(~)?([^?]+)/),c=l.control?this.#n(e.form,l.control):e;if(l.neg=!!t[1],l.op=t[2],l.condition=!!l.rules,c&&(!s||l.condition||":filled"===l.op)){if(o=i,!1!==i){if(o=this.validateRule(c,l.op,l.arg,e===c?r:void 0),null===o)continue;l.neg&&(o=!o),l.condition||(i=o)}if(l.condition&&this.toggleControl(e,l.rules,o,n,r,":blank"!==l.op&&s)||l.toggle){a=!0,n&&this.#r(c).filter(e=>!this.#i.has(e)).forEach(t=>{t.addEventListener("change",t=>this.toggleForm(e.form,t)),this.#i.set(t,null)});for(let t in l.toggle??{})this.#t[t]??={elem:e,state:!1},this.#t[t].state||=l.toggle[t]?!!o:!o}}}return a}toggle(e,t,i,n){/^\w[\w.:-]*$/.test(e)&&(e="#"+e),Array.from(document.querySelectorAll(e)).forEach(e=>e.hidden=!t)}compactCheckboxes(e,t){let i={};for(let n of e.elements)n instanceof HTMLInputElement&&"checkbox"===n.type&&n.name.endsWith("[]")&&n.checked&&!n.disabled&&(t.delete(n.name),i[n.name]??=[],i[n.name].push(n.value));for(let e in i)t.set(e.substring(0,e.length-2),i[e].join(","))}initForm(e){"get"===e.method&&e.hasAttribute("data-nette-compact")&&e.addEventListener("formdata",t=>this.compactCheckboxes(e,t.formData)),Array.from(e.elements).some(e=>e.getAttribute("data-nette-rules"))&&(this.toggleForm(e),e.noValidate||(e.noValidate=!0,e.addEventListener("submit",t=>{this.validateForm(t.submitter||e)||(t.stopImmediatePropagation(),t.preventDefault())}),e.addEventListener("reset",()=>{setTimeout(()=>this.toggleForm(e))})))}initOnLoad(){this.#s(()=>{Array.from(document.forms).forEach(e=>this.initForm(e))})}}let i={"á":"a","ä":"a","č":"c","ď":"d","é":"e","ě":"e","í":"i","ľ":"l","ň":"n","ó":"o","ô":"o","ř":"r","š":"s","ť":"t","ú":"u","ů":"u","ý":"y","ž":"z"};function n(e){e=e.toLowerCase();let t="";for(let n=0;n<e.length;n++){let r=i[e.charAt(n)];t+=r||e.charAt(n)}return t.replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}var r="3.5.3";let s=new t;return s.version=r,s.webalize=n,s}()),v.exports),y=g(b);function _(e){return"Enter"===e.key}function w(){return null!=w?w:{}}function E(e,t=200){let i=null,n=!1;return(...r)=>{n||(i&&clearTimeout(i),i=setTimeout(()=>{const t=e(...r);var i;"object"==typeof(i=t)&&"function"==typeof i.then&&(n=!0,t.finally(()=>{n=!1}))},t))}}function A(e,t){e.split(/\s+/).forEach(e=>{t(e)})}class S{constructor(){this._events={}}on(e,t){A(e,e=>{const i=this._events[e]||[];i.push(t),this._events[e]=i})}off(e,t){var i=arguments.length;0!==i?A(e,e=>{if(1===i)return void delete this._events[e];const n=this._events[e];void 0!==n&&(n.splice(n.indexOf(t),1),this._events[e]=n)}):this._events={}}trigger(e,...t){var i=this;A(e,e=>{const n=i._events[e];void 0!==n&&n.forEach(e=>{e.apply(i,t)})})}}const k=e=>(e=e.filter(Boolean)).length<2?e[0]||"":1==T(e)?"["+e.join("")+"]":"(?:"+e.join("|")+")",O=e=>{if(!D(e))return e.join("");let t="",i=0;const n=()=>{i>1&&(t+="{"+i+"}")};return e.forEach((r,s)=>{r!==e[s-1]?(n(),t+=r,i=1):i++}),n(),t},C=e=>{let t=Array.from(e);return k(t)},D=e=>new Set(e).size!==e.length,x=e=>(e+"").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu,"\\$1"),T=e=>e.reduce((e,t)=>Math.max(e,L(t)),0),L=e=>Array.from(e).length,I=e=>{if(1===e.length)return[[e]];let t=[];const i=e.substring(1);return I(i).forEach(function(i){let n=i.slice(0);n[0]=e.charAt(0)+n[0],t.push(n),n=i.slice(0),n.unshift(e.charAt(0)),t.push(n)}),t},M=[[0,65535]];let F,N;const j={},P={"/":"⁄∕",0:"߀",a:"ⱥɐɑ",aa:"ꜳ",ae:"æǽǣ",ao:"ꜵ",au:"ꜷ",av:"ꜹꜻ",ay:"ꜽ",b:"ƀɓƃ",c:"ꜿƈȼↄ",d:"đɗɖᴅƌꮷԁɦ",e:"ɛǝᴇɇ",f:"ꝼƒ",g:"ǥɠꞡᵹꝿɢ",h:"ħⱨⱶɥ",i:"ɨı",j:"ɉȷ",k:"ƙⱪꝁꝃꝅꞣ",l:"łƚɫⱡꝉꝇꞁɭ",m:"ɱɯϻ",n:"ꞥƞɲꞑᴎлԉ",o:"øǿɔɵꝋꝍᴑ",oe:"œ",oi:"ƣ",oo:"ꝏ",ou:"ȣ",p:"ƥᵽꝑꝓꝕρ",q:"ꝗꝙɋ",r:"ɍɽꝛꞧꞃ",s:"ßȿꞩꞅʂ",t:"ŧƭʈⱦꞇ",th:"þ",tz:"ꜩ",u:"ʉ",v:"ʋꝟʌ",vy:"ꝡ",w:"ⱳ",y:"ƴɏỿ",z:"ƶȥɀⱬꝣ",hv:"ƕ"};for(let e in P){let t=P[e]||"";for(let i=0;i<t.length;i++){let n=t.substring(i,i+1);j[n]=e}}const H=new RegExp(Object.keys(j).join("|")+"|[̀-ͯ·ʾʼ]","gu"),q=(e,t="NFKD")=>e.normalize(t),R=e=>Array.from(e).reduce((e,t)=>e+B(t),""),B=e=>(e=q(e).toLowerCase().replace(H,e=>j[e]||""),q(e,"NFC"));const V=e=>{const t={},i=(e,i)=>{const n=t[e]||new Set,r=new RegExp("^"+C(n)+"$","iu");i.match(r)||(n.add(x(i)),t[e]=n)};for(let t of function*(e){for(const[t,i]of e)for(let e=t;e<=i;e++){let t=String.fromCharCode(e),i=R(t);i!=t.toLowerCase()&&(i.length>3||0!=i.length&&(yield{folded:i,composed:t,code_point:e}))}}(e))i(t.folded,t.folded),i(t.folded,t.composed);return t},z=e=>{const t=V(e),i={};let n=[];for(let e in t){let r=t[e];r&&(i[e]=C(r)),e.length>1&&n.push(x(e))}n.sort((e,t)=>t.length-e.length);const r=k(n);return N=new RegExp("^"+r,"u"),i},W=(e,t=1)=>(t=Math.max(t,e.length-1),k(I(e).map(e=>((e,t=1)=>{let i=0;return e=e.map(e=>(F[e]&&(i+=e.length),F[e]||e)),i>=t?O(e):""})(e,t)))),Y=(e,t=!0)=>{let i=e.length>1?1:0;return k(e.map(e=>{let n=[];const r=t?e.length():e.length()-1;for(let t=0;t<r;t++)n.push(W(e.substrs[t]||"",i));return O(n)}))},K=(e,t)=>{for(const i of t){if(i.start!=e.start||i.end!=e.end)continue;if(i.substrs.join("")!==e.substrs.join(""))continue;let t=e.parts;const n=e=>{for(const i of t){if(i.start===e.start&&i.substr===e.substr)return!1;if(1!=e.length&&1!=i.length){if(e.start<i.start&&e.end>i.start)return!0;if(i.start<e.start&&i.end>e.start)return!0}}return!1};if(!(i.parts.filter(n).length>0))return!0}return!1};class U{parts;substrs;start;end;constructor(){this.parts=[],this.substrs=[],this.start=0,this.end=0}add(e){e&&(this.parts.push(e),this.substrs.push(e.substr),this.start=Math.min(e.start,this.start),this.end=Math.max(e.end,this.end))}last(){return this.parts[this.parts.length-1]}length(){return this.parts.length}clone(e,t){let i=new U,n=JSON.parse(JSON.stringify(this.parts)),r=n.pop();for(const e of n)i.add(e);let s=t.substr.substring(0,e-r.start),o=s.length;return i.add({start:r.start,end:r.start+o,length:o,substr:s}),i}}const X=e=>{void 0===F&&(F=z(M)),e=R(e);let t="",i=[new U];for(let n=0;n<e.length;n++){let r=e.substring(n).match(N);const s=e.substring(n,n+1),o=r?r[0]:null;let a=[],l=new Set;for(const e of i){const t=e.last();if(!t||1==t.length||t.end<=n)if(o){const t=o.length;e.add({start:n,end:n+t,length:t,substr:o}),l.add("1")}else e.add({start:n,end:n+1,length:1,substr:s}),l.add("2");else if(o){let i=e.clone(n,t);const r=o.length;i.add({start:n,end:n+r,length:r,substr:o}),a.push(i)}else l.add("3")}if(a.length>0){a=a.sort((e,t)=>e.length()-t.length());for(let e of a)K(e,i)||i.push(e)}else if(n>0&&1==l.size&&!l.has("3")){t+=Y(i,!1);let e=new U;const n=i[0];n&&e.add(n.last()),i=[e]}}return t+=Y(i,!0),t},Q=(e,t)=>{if(e)return e[t]},G=(e,t)=>{if(e){for(var i,n=t.split(".");(i=n.shift())&&(e=e[i]););return e}},J=(e,t,i)=>{var n,r;return e?(e+="",null==t.regex||-1===(r=e.search(t.regex))?0:(n=t.string.length/e.length,0===r&&(n+=.5),n*i)):0},Z=(e,t)=>{var i=e[t];if("function"==typeof i)return i;i&&!Array.isArray(i)&&(e[t]=[i])},ee=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},te=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e<t?-1:0:(e=R(e+"").toLowerCase())>(t=R(t+"").toLowerCase())?1:t>e?-1:0;class ie{items;settings;constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[];const n=[],r=e.split(/\s+/);var s;return i&&(s=new RegExp("^("+Object.keys(i).map(x).join("|")+"):(.*)$")),r.forEach(e=>{let i,r=null,o=null;s&&(i=e.match(s))&&(r=i[1],e=i[2]),e.length>0&&(o=this.settings.diacritics?X(e)||null:x(e),o&&t&&(o="\\b"+o)),n.push({string:e,regex:o?new RegExp(o,"iu"):null,field:r})}),n}getScoreFunction(e,t){var i=this.prepareSearch(e,t);return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length;if(!i)return function(){return 0};const n=e.options.fields,r=e.weights,s=n.length,o=e.getAttrFn;if(!s)return function(){return 1};const a=1===s?function(e,t){const i=n[0].field;return J(o(t,i),e,r[i]||1)}:function(e,t){var i=0;if(e.field){const n=o(t,e.field);!e.regex&&n?i+=1/s:i+=J(n,e,1)}else ee(r,(n,r)=>{i+=J(o(t,r),e,n)});return i/s};return 1===i?function(e){return a(t[0],e)}:"and"===e.options.conjunction?function(e){var n,r=0;for(let i of t){if((n=a(i,e))<=0)return 0;r+=n}return r/i}:function(e){var n=0;return ee(t,t=>{n+=a(t,e)}),n/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t);return this._getSortFunction(i)}_getSortFunction(e){var t,i=[];const n=this,r=e.options,s=!e.query&&r.sort_empty?r.sort_empty:r.sort;if("function"==typeof s)return s.bind(this);const o=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)};if(s)for(let t of s)(e.query||"$score"!==t.field)&&i.push(t);if(e.query){t=!0;for(let e of i)if("$score"===e.field){t=!1;break}t&&i.unshift({field:"$score",direction:"desc"})}else i=i.filter(e=>"$score"!==e.field);return i.length?function(e,t){var n,r;for(let s of i){if(r=s.field,n=("desc"===s.direction?-1:1)*te(o(r,e),o(r,t)))return n}return 0}:null}prepareSearch(e,t){const i={};var n=Object.assign({},t);if(Z(n,"sort"),Z(n,"sort_empty"),n.fields){Z(n,"fields");const e=[];n.fields.forEach(t=>{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1}),n.fields=e}return{options:n,query:e.toLowerCase().trim(),tokens:this.tokenize(e,n.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:n.nesting?G:Q}}search(e,t){var i,n,r=this;n=this.prepareSearch(e,t),t=n.options,e=n.query;const s=t.score||r._getScoreFunction(n);e.length?ee(r.items,(e,r)=>{i=s(e),(!1===t.filter||i>0)&&n.items.push({score:i,id:r})}):ee(r.items,(e,t)=>{n.items.push({score:1,id:t})});const o=r._getSortFunction(n);return o&&n.items.sort(o),n.total=n.items.length,"number"==typeof t.limit&&(n.items=n.items.slice(0,t.limit)),n}}const ne=e=>null==e?null:re(e),re=e=>"boolean"==typeof e?e?"1":"0":e+"",se=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),oe=(e,t)=>{var i;return function(n,r){var s=this;i&&(s.loading=Math.max(s.loading-1,0),clearTimeout(i)),i=setTimeout(function(){i=null,s.loadedSearches[n]=!0,e.call(s,n,r)},t)}},ae=(e,t,i)=>{var n,r=e.trigger,s={};for(n of(e.trigger=function(){var i=arguments[0];if(-1===t.indexOf(i))return r.apply(e,arguments);s[i]=arguments},i.apply(e,[]),e.trigger=r,t))n in s&&r.apply(e,s[n])},le=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},ce=(e,t,i,n)=>{e.addEventListener(t,i,n)},de=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),ue=(e,t)=>{const i=e.getAttribute("id");return i||(e.setAttribute("id",t),t)},he=e=>e.replace(/[\\"']/g,"\\$&"),pe=(e,t)=>{t&&e.append(t)},fe=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},ge=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(me(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},me=e=>"string"==typeof e&&e.indexOf("<")>-1,ve=(e,t)=>{var i=document.createEvent("HTMLEvents");i.initEvent(t,!0,!1),e.dispatchEvent(i)},be=(e,t)=>{Object.assign(e.style,t)},ye=(e,...t)=>{var i=we(t);(e=Ee(e)).map(e=>{i.map(t=>{e.classList.add(t)})})},_e=(e,...t)=>{var i=we(t);(e=Ee(e)).map(e=>{i.map(t=>{e.classList.remove(t)})})},we=e=>{var t=[];return fe(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ee=e=>(Array.isArray(e)||(e=[e]),e),Ae=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e;e=e.parentNode}},Se=(e,t=0)=>t>0?e[e.length-1]:e[0],ke=(e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i},Oe=(e,t)=>{fe(t,(t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)})},Ce=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},De=(e,t)=>{if(null===t)return;if("string"==typeof t){if(!t.length)return;t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t);if(i&&e.data.length>0){var n=document.createElement("span");n.className="highlight";var r=e.splitText(i.index);r.splitText(i[0].length);var s=r.cloneNode(!0);return n.appendChild(s),Ce(r,n),1}return 0})(e):((e=>{1!==e.nodeType||!e.childNodes||/(script|style)/i.test(e.tagName)||"highlight"===e.className&&"SPAN"===e.tagName||Array.from(e.childNodes).forEach(e=>{i(e)})})(e),0);i(e)},xe="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey";var Te={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,refreshThrottle:300,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,controlInput:'<input type="text" autocomplete="off" size="1" />',copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return e.length>0},render:{}};function Le(e,t){var i=Object.assign({},Te,t),n=i.dataAttr,r=i.labelField,s=i.valueField,o=i.disabledField,a=i.optgroupField,l=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),u=e.getAttribute("placeholder")||e.getAttribute("data-placeholder");if(!u&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]');t&&(u=t.textContent)}var h={placeholder:u,options:[],optgroups:[],items:[],maxItems:null};return"select"===d?(()=>{var t,d=h.options,u={},p=1;let f=0;var g=e=>{var t=Object.assign({},e.dataset),i=n&&t[n];return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var n=ne(e.value);if(null!=n&&(n||i.allowEmptyOption)){if(u.hasOwnProperty(n)){if(t){var l=u[n][a];l?Array.isArray(l)?l.push(t):u[n][a]=[l,t]:u[n][a]=t}}else{var c=g(e);c[r]=c[r]||e.textContent,c[s]=c[s]||n,c[o]=c[o]||e.disabled,c[a]=c[a]||t,c.$option=e,c.$order=c.$order||++f,u[n]=c,d.push(c)}e.selected&&h.items.push(n)}};h.maxItems=e.hasAttribute("multiple")?null:1,fe(e.children,e=>{var i,n,r;"optgroup"===(t=e.tagName.toLowerCase())?((r=g(i=e))[l]=r[l]||i.getAttribute("label")||"",r[c]=r[c]||p++,r[o]=r[o]||i.disabled,r.$order=r.$order||++f,h.optgroups.push(r),n=r[c],fe(i.children,e=>{m(e,n)})):"option"===t&&m(e)})})():(()=>{const t=e.getAttribute(n);if(t)h.options=JSON.parse(t),fe(h.options,e=>{h.items.push(e[s])});else{var o=e.value.trim()||"";if(!i.allowEmptyOption&&!o.length)return;const t=o.split(i.delimiter);fe(t,e=>{const t={};t[r]=e,t[s]=e,h.options.push(t)}),h.items=t}})(),Object.assign({},Te,h,t)}var Ie=0;let Me=class extends(function(e){return e.plugins={},class extends e{constructor(){super(...arguments),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i;const n=this,r=[];if(Array.isArray(e))e.forEach(e=>{"string"==typeof e?r.push(e):(n.plugins.settings[e.name]=e.options,r.push(e.name))});else if(e)for(t in e)e.hasOwnProperty(t)&&(n.plugins.settings[t]=e[t],r.push(t));for(;i=r.shift();)n.require(i)}loadPlugin(t){var i=this,n=i.plugins,r=e.plugins[t];if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin');n.requested[t]=!0,n.loaded[t]=r.fn.apply(i,[i.plugins.settings[t]||{}]),n.names.push(t)}require(e){var t=this,i=t.plugins;if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")');t.loadPlugin(e)}return i.loaded[e]}}}(S)){constructor(e,t){var i;super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isReadOnly=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.ignoreHover=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],this.refreshTimeout=null,Ie++;var n=ge(e);if(n.tomselect)throw new Error("Tom Select already initialized on this element");n.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(n,null)).getPropertyValue("direction");const r=Le(n,t);this.settings=r,this.input=n,this.tabIndex=n.tabIndex||0,this.is_select_tag="select"===n.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=ue(n,"tomselect-"+Ie),this.isRequired=n.required,this.sifter=new ie(this.options,{diacritics:r.diacritics}),r.mode=r.mode||(1===r.maxItems?"single":"multi"),"boolean"!=typeof r.hideSelected&&(r.hideSelected="multi"===r.mode),"boolean"!=typeof r.hidePlaceholder&&(r.hidePlaceholder="multi"!==r.mode);var s=r.createFilter;"function"!=typeof s&&("string"==typeof s&&(s=new RegExp(s)),s instanceof RegExp?r.createFilter=e=>s.test(e):r.createFilter=e=>this.settings.duplicates||!this.options[e]),this.initializePlugins(r.plugins),this.setupCallbacks(),this.setupTemplates();const o=ge("<div>"),a=ge("<div>"),l=this._render("dropdown"),c=ge('<div role="listbox" tabindex="-1">'),d=this.input.getAttribute("class")||"",u=r.mode;var h;if(ye(o,r.wrapperClass,d,u),ye(a,r.controlClass),pe(o,a),ye(l,r.dropdownClass,u),r.copyClassesToDropdown&&ye(l,d),ye(c,r.dropdownContentClass),pe(l,c),ge(r.dropdownParent||o).appendChild(l),me(r.controlInput)){h=ge(r.controlInput);fe(["autocorrect","autocapitalize","autocomplete","spellcheck"],e=>{n.getAttribute(e)&&Oe(h,{[e]:n.getAttribute(e)})}),h.tabIndex=-1,a.appendChild(h),this.focus_node=h}else r.controlInput?(h=ge(r.controlInput),this.focus_node=h):(h=ge("<input/>"),this.focus_node=a);this.wrapper=o,this.dropdown=l,this.dropdown_content=c,this.control=a,this.control_input=h,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,n=e.dropdown,r=e.dropdown_content,s=e.wrapper,o=e.control,a=e.input,l=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown";Oe(r,{id:d}),Oe(l,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d});const u=ue(l,e.inputId+"-ts-control"),h="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",p=document.querySelector(h),f=e.focus.bind(e);if(p){ce(p,"click",f),Oe(p,{for:u});const t=ue(p,e.inputId+"-ts-label");Oe(l,{"aria-labelledby":t}),Oe(r,{"aria-labelledby":t})}if(s.style.width=a.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-");ye([s,n],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&Oe(a,{multiple:"multiple"}),t.placeholder&&Oe(i,{placeholder:t.placeholder}),!t.splitOn&&t.delimiter&&(t.splitOn=new RegExp("\\s*"+x(t.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=oe(t.load,t.loadThrottle)),ce(n,"mousemove",()=>{e.ignoreHover=!1}),ce(n,"mouseenter",t=>{var i=Ae(t.target,"[data-selectable]",n);i&&e.onOptionHover(t,i)},{capture:!0}),ce(n,"click",t=>{const i=Ae(t.target,"[data-selectable]");i&&(e.onOptionSelect(t,i),le(t,!0))}),ce(o,"click",t=>{var n=Ae(t.target,"[data-ts-item]",o);n&&e.onItemSelect(t,n)?le(t,!0):""==i.value&&(e.onClick(),le(t,!0))}),ce(l,"keydown",t=>e.onKeyDown(t)),ce(i,"keypress",t=>e.onKeyPress(t)),ce(i,"input",t=>e.onInput(t)),ce(l,"blur",t=>e.onBlur(t)),ce(l,"focus",t=>e.onFocus(t)),ce(i,"paste",t=>e.onPaste(t));const g=t=>{const r=t.composedPath()[0];if(!s.contains(r)&&!n.contains(r))return e.isFocused&&e.blur(),void e.inputState();r==i&&e.isOpen?t.stopPropagation():le(t,!0)},m=()=>{e.isOpen&&e.positionDropdown()};ce(document,"mousedown",g),ce(window,"scroll",m,c),ce(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",g),window.removeEventListener("scroll",m),window.removeEventListener("resize",m),p&&p.removeEventListener("click",f)},this.revertSettings={innerHTML:a.innerHTML,tabIndex:a.tabIndex},a.tabIndex=-1,a.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,ce(a,"invalid",()=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())}),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,a.disabled?e.disable():a.readOnly?e.setReadOnly(!0):e.enable(),e.on("change",this.onChange),ye(a,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),fe(t,e=>{this.registerOptionGroup(e)})}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,n={optgroup:e=>{let t=document.createElement("div");return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[i])+"</div>",option:(e,i)=>"<div>"+i(e[t])+"</div>",item:(e,i)=>"<div>"+i(e[t])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>&hellip;</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"};e.settings.render=Object.assign({},n,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?Le(t.input,{delimiter:t.settings.delimiter}):t.settings;t.setupOptions(i.options,i.optgroups),t.setValue(i.items||[],!0),t.lastQuery=null}onClick(){var e=this;if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus();e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){ve(this.input,"input"),ve(this.input,"change")}onPaste(e){var t=this;t.isInputHidden||t.isLocked?le(e):t.settings.splitOn&&setTimeout(()=>{var e=t.inputValue();if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn);fe(i,e=>{ne(e)&&(this.options[e]?t.addItem(e):t.createItem(e))})}},0)}onKeyPress(e){var t=this;if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which);return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void le(e)):void 0}le(e)}onKeyDown(e){var t=this;if(t.ignoreHover=!0,t.isLocked)9!==e.keyCode&&le(e);else{switch(e.keyCode){case 65:if(de(xe,e)&&""==t.control_input.value)return le(e),void t.selectAll();break;case 27:return t.isOpen&&(le(e,!0),t.close()),void t.clearActiveItems();case 40:if(!t.isOpen&&t.hasOptions)t.open();else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1);e&&t.setActiveOption(e)}return void le(e);case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1);e&&t.setActiveOption(e)}return void le(e);case 13:return void(t.canSelect(t.activeOption)?(t.onOptionSelect(e,t.activeOption),le(e)):(t.settings.create&&t.createItem()||document.activeElement==t.control_input&&t.isOpen)&&le(e));case 37:return void t.advanceSelection(-1,e);case 39:return void t.advanceSelection(1,e);case 9:return void(t.settings.selectOnTab&&(t.canSelect(t.activeOption)&&(t.onOptionSelect(e,t.activeOption),le(e)),t.settings.create&&t.createItem()&&le(e)));case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!de(xe,e)&&le(e)}}onInput(e){if(this.isLocked)return;const t=this.inputValue();this.lastValue!==t&&(this.lastValue=t,""!=t?(this.refreshTimeout&&window.clearTimeout(this.refreshTimeout),this.refreshTimeout=((e,t)=>t>0?window.setTimeout(e,t):(e.call(null),null))(()=>{this.refreshTimeout=null,this._onInput()},this.settings.refreshThrottle)):this._onInput())}_onInput(){const e=this.lastValue;this.settings.shouldLoad.call(this,e)&&this.load(e),this.refreshOptions(),this.trigger("type",e)}onOptionHover(e,t){this.ignoreHover||this.setActiveOption(t,!1)}onFocus(e){var t=this,i=t.isFocused;if(t.isDisabled||t.isReadOnly)return t.blur(),void le(e);t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.inputState(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this;if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1;var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")};t.settings.create&&t.settings.createOnBlur?t.createItem(null,i):i()}}}onOptionSelect(e,t){var i,n=this;t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?n.createItem(null,()=>{n.settings.closeAfterSelect&&n.close()}):void 0!==(i=t.dataset.value)&&(n.lastQuery=null,n.addItem(i),n.settings.closeAfterSelect&&n.close(),!n.settings.hideSelected&&e.type&&/click/.test(e.type)&&n.setActiveOption(t)))}canSelect(e){return!!(this.isOpen&&e&&this.dropdown_content.contains(e))}onItemSelect(e,t){var i=this;return!i.isLocked&&"multi"===i.settings.mode&&(le(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this;if(!t.canLoad(e))return;ye(t.wrapper,t.settings.loadingClass),t.loading++;const i=t.loadCallback.bind(t);t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this;i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||_e(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList;e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input;t.value!==e&&(t.value=e,ve(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){ae(this,t?[]:["change"],()=>{this.clear(t),this.addItems(e,t)})}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,n,r,s,o,a,l=this;if("single"!==l.settings.mode){if(!e)return l.clearActiveItems(),void(l.isFocused&&l.inputState());if("click"===(i=t&&t.type.toLowerCase())&&de("shiftKey",t)&&l.activeItems.length){for(a=l.getLastActive(),(r=Array.prototype.indexOf.call(l.control.children,a))>(s=Array.prototype.indexOf.call(l.control.children,e))&&(o=r,r=s,s=o),n=r;n<=s;n++)e=l.control.children[n],-1===l.activeItems.indexOf(e)&&l.setActiveItemClass(e);le(t)}else"click"===i&&de(xe,t)||"keydown"===i&&de("shiftKey",t)?e.classList.contains("active")?l.removeActiveItem(e):l.setActiveItemClass(e):(l.clearActiveItems(),l.setActiveItemClass(e));l.inputState(),l.isFocused||l.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active");i&&_e(i,"last-active"),ye(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e);this.activeItems.splice(t,1),_e(e,"active")}clearActiveItems(){_e(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,Oe(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),Oe(e,{"aria-selected":"true"}),ye(e,"active"),t&&this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return;const i=this.dropdown_content,n=i.clientHeight,r=i.scrollTop||0,s=e.offsetHeight,o=e.getBoundingClientRect().top-i.getBoundingClientRect().top+r;o+s>n+r?this.scroll(o-n+s,t):o<r&&this.scroll(o,t)}scroll(e,t){const i=this.dropdown_content;t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(_e(this.activeOption,"active"),Oe(this.activeOption,{"aria-selected":null})),this.activeOption=null,Oe(this.focus_node,{"aria-activedescendant":null})}selectAll(){const e=this;if("single"===e.settings.mode)return;const t=e.controlChildren();t.length&&(e.inputState(),e.close(),e.activeItems=t,fe(t,t=>{e.setActiveItemClass(t)}))}inputState(){var e=this;e.control.contains(e.control_input)&&(Oe(e.control_input,{placeholder:e.settings.placeholder}),e.activeItems.length>0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&Oe(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}inputValue(){return this.control_input.value.trim()}focus(){var e=this;e.isDisabled||e.isReadOnly||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout(()=>{e.ignoreFocus=!1,e.onFocus()},0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField;return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,n=this,r=this.getSearchOptions();if(n.settings.score&&"function"!=typeof(i=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function');return e!==n.lastQuery?(n.lastQuery=e,t=n.sifter.search(e,Object.assign(r,{score:i})),n.currentResults=t):t=Object.assign({},n.currentResults),n.settings.hideSelected&&(t.items=t.items.filter(e=>{let t=ne(e.id);return!(t&&-1!==n.items.indexOf(t))})),t}refreshOptions(e=!0){var t,i,n,r,s,o,a,l,c,d;const u={},h=[];var p=this,f=p.inputValue();const g=f===p.lastQuery||""==f&&null==p.lastQuery;var m=p.search(f),v=null,b=p.settings.shouldOpen||!1,y=p.dropdown_content;g&&(v=p.activeOption)&&(c=v.closest("[data-group]")),r=m.items.length,"number"==typeof p.settings.maxOptions&&(r=Math.min(r,p.settings.maxOptions)),r>0&&(b=!0);const _=(e,t)=>{let i=u[e];if(void 0!==i){let e=h[i];if(void 0!==e)return[i,e.fragment]}let n=document.createDocumentFragment();return i=h.length,h.push({fragment:n,order:t,optgroup:e}),[i,n]};for(t=0;t<r;t++){let e=m.items[t];if(!e)continue;let r=e.id,a=p.options[r];if(void 0===a)continue;let l=re(r),d=p.getOption(l,!0);for(p.settings.hideSelected||d.classList.toggle("selected",p.items.includes(l)),s=a[p.settings.optgroupField]||"",i=0,n=(o=Array.isArray(s)?s:[s])&&o.length;i<n;i++){s=o[i];let e=a.$order,t=p.optgroups[s];void 0===t?s="":e=t.$order;const[n,l]=_(s,e);i>0&&(d=d.cloneNode(!0),Oe(d,{id:a.$id+"-clone-"+i,"aria-selected":null}),d.classList.add("ts-cloned"),_e(d,"active"),p.activeOption&&p.activeOption.dataset.value==r&&c&&c.dataset.group===s.toString()&&(v=d)),l.appendChild(d),""!=s&&(u[s]=n)}}var w;p.settings.lockOptgroupOrder&&h.sort((e,t)=>e.order-t.order),a=document.createDocumentFragment(),fe(h,e=>{let t=e.fragment,i=e.optgroup;if(!t||!t.children.length)return;let n=p.optgroups[i];if(void 0!==n){let e=document.createDocumentFragment(),i=p.render("optgroup_header",n);pe(e,i),pe(e,t);let r=p.render("optgroup",{group:n,options:e});pe(a,r)}else pe(a,t)}),y.innerHTML="",pe(y,a),p.settings.highlight&&(w=y.querySelectorAll("span.highlight"),Array.prototype.forEach.call(w,function(e){var t=e.parentNode;t.replaceChild(e.firstChild,e),t.normalize()}),m.query.length&&m.tokens.length&&fe(m.tokens,e=>{De(y,e.regex)}));var E=e=>{let t=p.render(e,{input:f});return t&&(b=!0,y.insertBefore(t,y.firstChild)),t};if(p.loading?E("loading"):p.settings.shouldLoad.call(p,f)?0===m.items.length&&E("no_results"):E("not_loading"),(l=p.canCreate(f))&&(d=E("option_create")),p.hasOptions=m.items.length>0||l,b){if(m.items.length>0){if(v||"single"!==p.settings.mode||null==p.items[0]||(v=p.getOption(p.items[0])),!y.contains(v)){let e=0;d&&!p.settings.addPrecedence&&(e=1),v=p.selectable()[e]}}else d&&(v=d);e&&!p.isOpen&&(p.open(),p.scrollToOption(v,"auto")),p.setActiveOption(v)}else p.clearActiveOption(),e&&p.isOpen&&p.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this;if(Array.isArray(e))return i.addOptions(e,t),!1;const n=ne(e[i.settings.valueField]);return null!==n&&!i.options.hasOwnProperty(n)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[n]=e,i.lastQuery=null,t&&(i.userOptions[n]=t,i.trigger("option_add",n,e)),n)}addOptions(e,t=!1){fe(e,e=>{this.addOption(e,t)})}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=ne(e[this.settings.optgroupValueField]);return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i;t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this;var n,r;const s=ne(e),o=ne(t[i.settings.valueField]);if(null===s)return;const a=i.options[s];if(null==a)return;if("string"!=typeof o)throw new Error("Value must be set in option data");const l=i.getOption(s),c=i.getItem(s);if(t.$order=t.$order||a.$order,delete i.options[s],i.uncacheValue(o),i.options[o]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t);Ce(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}c&&(-1!==(r=i.items.indexOf(s))&&i.items.splice(r,1,o),n=i._render("item",t),c.classList.contains("active")&&ye(n,"active"),Ce(c,n)),i.lastQuery=null}removeOption(e,t){const i=this;e=re(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(e){const t=(e||this.clearFilter).bind(this);this.loadedSearches={},this.userOptions={},this.clearCache();const i={};fe(this.options,(e,n)=>{t(e,n)&&(i[n]=e)}),this.options=this.sifter.items=i,this.lastQuery=null,this.trigger("option_clear")}clearFilter(e,t){return this.items.indexOf(t)>=0}getOption(e,t=!1){const i=ne(e);if(null===i)return null;const n=this.options[i];if(null!=n){if(n.$div)return n.$div;if(t)return this._render("option",n)}return null}getAdjacent(e,t,i="option"){var n;if(!e)return null;n="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]");for(let i=0;i<n.length;i++)if(n[i]==e)return t>0?n[i+1]:n[i-1];return null}getItem(e){if("object"==typeof e)return e;var t=ne(e);return null!==t?this.control.querySelector(`[data-value="${he(t)}"]`):null}addItems(e,t){var i=this,n=Array.isArray(e)?e:[e];const r=(n=n.filter(e=>-1===i.items.indexOf(e)))[n.length-1];n.forEach(e=>{i.isPending=e!==r,i.addItem(e,t)})}addItem(e,t){ae(this,t?[]:["change","dropdown_close"],()=>{var i,n;const r=this,s=r.settings.mode,o=ne(e);if((!o||-1===r.items.indexOf(o)||("single"===s&&r.close(),"single"!==s&&r.settings.duplicates))&&null!==o&&r.options.hasOwnProperty(o)&&("single"===s&&r.clear(t),"multi"!==s||!r.isFull())){if(i=r._render("item",r.options[o]),r.control.contains(i)&&(i=i.cloneNode(!0)),n=r.isFull(),r.items.splice(r.caretPos,0,o),r.insertAtCaret(i),r.isSetup){if(!r.isPending&&r.settings.hideSelected){let e=r.getOption(o),t=r.getAdjacent(e,1);t&&r.setActiveOption(t)}r.isPending||r.settings.closeAfterSelect||r.refreshOptions(r.isFocused&&"single"!==s),0!=r.settings.closeAfterSelect&&r.isFull()?r.close():r.isPending||r.positionDropdown(),r.trigger("item_add",o,i),r.isPending||r.updateOriginalInput({silent:t})}(!r.isPending||!n&&r.isFull())&&(r.inputState(),r.refreshState())}})}removeItem(e=null,t){const i=this;if(!(e=i.getItem(e)))return;var n,r;const s=e.dataset.value;n=ke(e),e.remove(),e.classList.contains("active")&&(r=i.activeItems.indexOf(e),i.activeItems.splice(r,1),_e(e,"active")),i.items.splice(n,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(s)&&i.removeOption(s,t),n<i.caretPos&&i.setCaret(i.caretPos-1),i.updateOriginalInput({silent:t}),i.refreshState(),i.positionDropdown(),i.trigger("item_remove",s,e)}createItem(e=null,t=()=>{}){3===arguments.length&&(t=arguments[2]),"function"!=typeof t&&(t=()=>{});var i,n=this,r=n.caretPos;if(e=e||n.inputValue(),!n.canCreate(e))return t(),!1;n.lock();var s=!1,o=e=>{if(n.unlock(),!e||"object"!=typeof e)return t();var i=ne(e[n.settings.valueField]);if("string"!=typeof i)return t();n.setTextboxValue(),n.addOption(e,!0),n.setCaret(r),n.addItem(i),t(e),s=!0};return i="function"==typeof n.settings.create?n.settings.create.call(this,e,o):{[n.settings.labelField]:e,[n.settings.valueField]:e},s||o(i),!0}refreshItems(){var e=this;e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this;e.refreshValidityState();const t=e.isFull(),i=e.isLocked;e.wrapper.classList.toggle("rtl",e.rtl);const n=e.wrapper.classList;var r;n.toggle("focus",e.isFocused),n.toggle("disabled",e.isDisabled),n.toggle("readonly",e.isReadOnly),n.toggle("required",e.isRequired),n.toggle("invalid",!e.isValid),n.toggle("locked",i),n.toggle("full",t),n.toggle("input-active",e.isFocused&&!e.isInputHidden),n.toggle("dropdown-active",e.isOpen),n.toggle("has-options",(r=e.options,0===Object.keys(r).length)),n.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this;e.input.validity&&(e.isValid=e.input.validity.valid,e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this;var i,n;const r=t.input.querySelector('option[value=""]');if(t.is_select_tag){const s=[],o=t.input.querySelectorAll("option:checked").length;function a(e,i,n){return e||(e=ge('<option value="'+se(i)+'">'+se(n)+"</option>")),e!=r&&t.input.append(e),s.push(e),(e!=r||o>0)&&(e.selected=!0),e}t.input.querySelectorAll("option:checked").forEach(e=>{e.selected=!1}),0==t.items.length&&"single"==t.settings.mode?a(r,"",""):t.items.forEach(e=>{if(i=t.options[e],n=i[t.settings.labelField]||"",s.includes(i.$option)){a(t.input.querySelector(`option[value="${he(e)}"]:not(:checked)`),e,n)}else i.$option=a(i.$option,e,n)})}else t.input.value=t.getValue();t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this;e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,Oe(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),be(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),be(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen;e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.inputState()),t.isOpen=!1,Oe(t.focus_node,{"aria-expanded":"false"}),be(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,n=t.left+window.scrollX;be(this.dropdown,{width:t.width+"px",top:i+"px",left:n+"px"})}}clear(e){var t=this;if(t.items.length){var i=t.controlChildren();fe(i,e=>{t.removeItem(e,!0)}),t.inputState(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,n=t.control;n.insertBefore(e,n.children[i]||null),t.setCaret(i+1)}deleteSelection(e){var t,i,n,r,s,o=this;t=e&&8===e.keyCode?-1:1,i={start:(s=o.control_input).selectionStart||0,length:(s.selectionEnd||0)-(s.selectionStart||0)};const a=[];if(o.activeItems.length)r=Se(o.activeItems,t),n=ke(r),t>0&&n++,fe(o.activeItems,e=>a.push(e));else if((o.isFocused||"single"===o.settings.mode)&&o.items.length){const e=o.controlChildren();let n;t<0&&0===i.start&&0===i.length?n=e[o.caretPos-1]:t>0&&i.start===o.inputValue().length&&(n=e[o.caretPos]),void 0!==n&&a.push(n)}if(!o.shouldDelete(a,e))return!1;for(le(e,!0),void 0!==n&&o.setCaret(n);a.length;)o.removeItem(a.pop());return o.inputState(),o.positionDropdown(),o.refreshOptions(!1),!0}shouldDelete(e,t){const i=e.map(e=>e.dataset.value);return!(!i.length||"function"==typeof this.settings.onDelete&&!1===this.settings.onDelete(i,t))}advanceSelection(e,t){var i,n,r=this;r.rtl&&(e*=-1),r.inputValue().length||(de(xe,t)||de("shiftKey",t)?(n=(i=r.getLastActive(e))?i.classList.contains("active")?r.getAdjacent(i,e,"item"):i:e>0?r.control_input.nextElementSibling:r.control_input.previousElementSibling)&&(n.classList.contains("active")&&r.removeActiveItem(i),r.setActiveItemClass(n)):r.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active");if(t)return t;var i=this.control.querySelectorAll(".active");return i?Se(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.setLocked(!0)}unlock(){this.setLocked(!1)}setLocked(e=this.isReadOnly||this.isDisabled){this.isLocked=e,this.refreshState()}disable(){this.setDisabled(!0),this.close()}enable(){this.setDisabled(!1)}setDisabled(e){this.focus_node.tabIndex=e?-1:this.tabIndex,this.isDisabled=e,this.input.disabled=e,this.control_input.disabled=e,this.setLocked()}setReadOnly(e){this.isReadOnly=e,this.input.readOnly=e,this.control_input.readOnly=e,this.setLocked()}destroy(){var e=this,t=e.revertSettings;e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,_e(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){var i,n;const r=this;if("function"!=typeof this.settings.render[e])return null;if(!(n=r.settings.render[e].call(this,t,se)))return null;if(n=ge(n),"option"===e||"option_create"===e?t[r.settings.disabledField]?Oe(n,{"aria-disabled":"true"}):Oe(n,{"data-selectable":""}):"optgroup"===e&&(i=t.group[r.settings.optgroupValueField],Oe(n,{"data-group":i}),t.group[r.settings.disabledField]&&Oe(n,{"data-disabled":""})),"option"===e||"item"===e){const i=re(t[r.settings.valueField]);Oe(n,{"data-value":i}),"item"===e?(ye(n,r.settings.itemClass),Oe(n,{"data-ts-item":""})):(ye(n,r.settings.optionClass),Oe(n,{role:"option",id:t.$id}),t.$div=n,r.options[i]=t)}return n}_render(e,t){const i=this.render(e,t);if(null==i)throw"HTMLElement expected";return i}clearCache(){fe(this.options,e=>{e.$div&&(e.$div.remove(),delete e.$div)})}uncacheValue(e){const t=this.getOption(e);t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var n=this,r=n[t];n[t]=function(){var t,s;return"after"===e&&(t=r.apply(n,arguments)),s=i.apply(n,arguments),"instead"===e?s:("before"===e&&(t=r.apply(n,arguments)),t)}}};const Fe=e=>"boolean"==typeof e?e?"1":"0":e+"",Ne=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},je=e=>"string"==typeof e&&e.indexOf("<")>-1;const Pe=e=>"string"==typeof e&&e.indexOf("<")>-1;const $e=(e,t,i,n)=>{e.addEventListener(t,i,n)},He=e=>"string"==typeof e&&e.indexOf("<")>-1,qe=(e,t)=>{((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(t,(t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)})};const Re=e=>"string"==typeof e&&e.indexOf("<")>-1;const Be=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ve=e=>(Array.isArray(e)||(e=[e]),e);const ze=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(We(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},We=e=>"string"==typeof e&&e.indexOf("<")>-1,Ye=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ke=e=>(Array.isArray(e)||(e=[e]),e);const Ue=(e,t,i,n)=>{e.addEventListener(t,i,n)};const Xe=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},Qe=(e,t,i,n)=>{e.addEventListener(t,i,n)},Ge=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Je(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},Je=e=>"string"==typeof e&&e.indexOf("<")>-1;const Ze=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},et=e=>(Array.isArray(e)||(e=[e]),e);Me.define("change_listener",function(){var e,t,i,n;e=this.input,t="change",i=()=>{this.sync()},e.addEventListener(t,i,n)}),Me.define("checkbox_options",function(e){var t=this,i=t.onOptionSelect;t.settings.hideSelected=!1;const n=Object.assign({className:"tomselect-checkbox",checkedClassNames:void 0,uncheckedClassNames:void 0},e);var r=function(e,t){t?(e.checked=!0,n.uncheckedClassNames&&e.classList.remove(...n.uncheckedClassNames),n.checkedClassNames&&e.classList.add(...n.checkedClassNames)):(e.checked=!1,n.checkedClassNames&&e.classList.remove(...n.checkedClassNames),n.uncheckedClassNames&&e.classList.add(...n.uncheckedClassNames))},s=function(e){setTimeout(()=>{var t=e.querySelector("input."+n.className);t instanceof HTMLInputElement&&r(t,e.classList.contains("selected"))},1)};t.hook("after","setupTemplates",()=>{var e=t.settings.render.option;t.settings.render.option=(i,s)=>{var o=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(je(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(e.call(t,i,s)),a=document.createElement("input");n.className&&a.classList.add(n.className),a.addEventListener("click",function(e){Ne(e)}),a.type="checkbox";const l=null==(c=i[t.settings.valueField])?null:Fe(c);var c;return r(a,!!(l&&t.items.indexOf(l)>-1)),o.prepend(a),o}}),t.on("item_remove",e=>{var i=t.getOption(e);i&&(i.classList.remove("selected"),s(i))}),t.on("item_add",e=>{var i=t.getOption(e);i&&s(i)}),t.hook("instead","onOptionSelect",(e,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),t.removeItem(n.dataset.value),t.refreshOptions(),void Ne(e,!0);i.call(t,e,n),s(n)})}),Me.define("clear_button",function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`<div class="${e.className}" title="${e.title}">&#10799;</div>`},e);t.on("initialize",()=>{var e=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Pe(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(i.html(i));e.addEventListener("click",e=>{t.isLocked||(t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation())}),t.control.appendChild(e)})}),Me.define("drag_drop",function(){var e=this;if("multi"!==e.settings.mode)return;var t=e.lock,i=e.unlock;let n,r=!0;e.hook("after","setupTemplates",()=>{var t=e.settings.render.item;e.settings.render.item=(i,s)=>{const o=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(He(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(t.call(e,i,s));qe(o,{draggable:"true"});const a=e=>{e.preventDefault(),o.classList.add("ts-drag-over"),l(o,n)},l=(e,t)=>{var i,n,r;void 0!==t&&(((e,t)=>{do{var i;if(e==(t=null==(i=t)?void 0:i.previousElementSibling))return!0}while(t&&t.previousElementSibling);return!1})(t,o)?(n=t,null==(r=(i=e).parentNode)||r.insertBefore(n,i.nextSibling)):((e,t)=>{var i;null==(i=e.parentNode)||i.insertBefore(t,e)})(e,t))};return $e(o,"mousedown",e=>{r||((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(e),e.stopPropagation()}),$e(o,"dragstart",e=>{n=o,setTimeout(()=>{o.classList.add("ts-dragging")},0)}),$e(o,"dragenter",a),$e(o,"dragover",a),$e(o,"dragleave",()=>{o.classList.remove("ts-drag-over")}),$e(o,"dragend",()=>{var t;document.querySelectorAll(".ts-drag-over").forEach(e=>e.classList.remove("ts-drag-over")),null==(t=n)||t.classList.remove("ts-dragging"),n=void 0;var i=[];e.control.querySelectorAll("[data-value]").forEach(e=>{if(e.dataset.value){let t=e.dataset.value;t&&i.push(t)}}),e.setValue(i)}),o}}),e.hook("instead","lock",()=>(r=!1,t.call(e))),e.hook("instead","unlock",()=>(r=!0,i.call(e)))}),Me.define("dropdown_header",function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'<div class="'+e.headerClass+'"><div class="'+e.titleRowClass+'"><span class="'+e.labelClass+'">'+e.title+'</span><a class="'+e.closeClass+'">&times;</a></div></div>'},e);t.on("initialize",()=>{var e=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Re(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(i.html(i)),n=e.querySelector("."+i.closeClass);n&&n.addEventListener("click",e=>{((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(e,!0),t.close()}),t.dropdown.insertBefore(e,t.dropdown.firstChild)})}),Me.define("caret_position",function(){var e=this;e.hook("instead","setCaret",t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach((i,n)=>{n<t?e.control_input.insertAdjacentElement("beforebegin",i):e.control.appendChild(i)}):t=e.items.length,e.caretPos=t}),e.hook("instead","moveCaret",t=>{if(!e.isFocused)return;const i=e.getLastActive(t);if(i){const n=((e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i})(i);e.setCaret(t>0?n+1:n),e.setActiveItem(),((e,...t)=>{var i=Be(t);(e=Ve(e)).map(e=>{i.map(t=>{e.classList.remove(t)})})})(i,"last-active")}else e.setCaret(e.caretPos+t)})}),Me.define("dropdown_input",function(){const e=this;e.settings.shouldOpen=!0,e.hook("before","setup",()=>{e.focus_node=e.control,((e,...t)=>{var i=Ye(t);(e=Ke(e)).map(e=>{i.map(t=>{e.classList.add(t)})})})(e.control_input,"dropdown-input");const t=ze('<div class="dropdown-input-wrap">');t.append(e.control_input),e.dropdown.insertBefore(t,e.dropdown.firstChild);const i=ze('<input class="items-placeholder" tabindex="-1" />');i.placeholder=e.settings.placeholder||"",e.control.append(i)}),e.on("initialize",()=>{e.control_input.addEventListener("keydown",t=>{switch(t.keyCode){case 27:return e.isOpen&&(((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(t,!0),e.close()),void e.clearActiveItems();case 9:e.focus_node.tabIndex=-1}return e.onKeyDown.call(e,t)}),e.on("blur",()=>{e.focus_node.tabIndex=e.isDisabled?-1:e.tabIndex}),e.on("dropdown_open",()=>{e.control_input.focus()});const t=e.onBlur;var i,n,r,s;e.hook("instead","onBlur",i=>{if(!i||i.relatedTarget!=e.control_input)return t.call(e)}),i=e.control_input,n="blur",r=()=>e.onBlur(),i.addEventListener(n,r,s),e.hook("before","close",()=>{e.isOpen&&e.focus_node.focus({preventScroll:!0})})})}),Me.define("input_autogrow",function(){var e=this;e.on("initialize",()=>{var t=document.createElement("span"),i=e.control_input;t.style.cssText="position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ",e.wrapper.appendChild(t);for(const e of["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"])t.style[e]=i.style[e];var n=()=>{t.textContent=i.value,i.style.width=t.clientWidth+"px"};n(),e.on("update item_add item_remove",n),Ue(i,"input",n),Ue(i,"keyup",n),Ue(i,"blur",n),Ue(i,"update",n)})}),Me.define("no_backspace_delete",function(){var e=this,t=e.deleteSelection;this.hook("instead","deleteSelection",i=>!!e.activeItems.length&&t.call(e,i))}),Me.define("no_active_items",function(){this.hook("instead","setActiveItem",()=>{}),this.hook("instead","selectAll",()=>{})}),Me.define("optgroup_columns",function(){var e=this,t=e.onKeyDown;e.hook("instead","onKeyDown",i=>{var n,r,s,o;if(!e.isOpen||37!==i.keyCode&&39!==i.keyCode)return t.call(e,i);e.ignoreHover=!0,o=((e,t)=>{for(;e&&e.matches;){if(e.matches(t))return e;e=e.parentNode}})(e.activeOption,"[data-group]"),n=((e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i})(e.activeOption,"[data-selectable]"),o&&(o=37===i.keyCode?o.previousSibling:o.nextSibling)&&(r=(s=o.querySelectorAll("[data-selectable]"))[Math.min(s.length-1,n)])&&e.setActiveOption(r)})}),Me.define("remove_button",function(e){const t=Object.assign({label:"&times;",title:"Remove",className:"remove",append:!0},e);var i=this;if(t.append){var n='<a href="javascript:void(0)" class="'+t.className+'" tabindex="-1" title="'+((t.title+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")+'">')+t.label+"</a>";i.hook("after","setupTemplates",()=>{var e=i.settings.render.item;i.settings.render.item=(t,r)=>{var s=Ge(e.call(i,t,r)),o=Ge(n);return s.appendChild(o),Qe(o,"mousedown",e=>{Xe(e,!0)}),Qe(o,"click",e=>{i.isLocked||(Xe(e,!0),i.isLocked||i.shouldDelete([s],e)&&(i.removeItem(s),i.refreshOptions(!1),i.inputState()))}),s}})}}),Me.define("restore_on_backspace",function(e){const t=this,i=Object.assign({text:e=>e[t.settings.labelField]},e);t.on("item_remove",function(e){if(t.isFocused&&""===t.control_input.value.trim()){var n=t.options[e];n&&t.setTextboxValue(i.text.call(t,n))}})}),Me.define("virtual_scroll",function(){const e=this,t=e.canLoad,i=e.clearActiveOption,n=e.loadCallback;var r,s,o={},a=!1,l=[];if(e.settings.shouldLoadMore||(e.settings.shouldLoadMore=()=>{if(r.clientHeight/(r.scrollHeight-r.scrollTop)>.9)return!0;if(e.activeOption){var t=e.selectable();if(Array.from(t).indexOf(e.activeOption)>=t.length-2)return!0}return!1}),!e.settings.firstUrl)throw"virtual_scroll plugin requires a firstUrl() method";e.settings.sortField=[{field:"$order"},{field:"$score"}];const c=t=>!("number"==typeof e.settings.maxOptions&&r.children.length>=e.settings.maxOptions)&&!(!(t in o)||!o[t]),d=(t,i)=>e.items.indexOf(i)>=0||l.indexOf(i)>=0;e.setNextUrl=(e,t)=>{o[e]=t},e.getUrl=t=>{if(t in o){const e=o[t];return o[t]=!1,e}return e.clearPagination(),e.settings.firstUrl.call(e,t)},e.clearPagination=()=>{o={}},e.hook("instead","clearActiveOption",()=>{if(!a)return i.call(e)}),e.hook("instead","canLoad",i=>i in o?c(i):t.call(e,i)),e.hook("instead","loadCallback",(t,i)=>{if(a){if(s){const i=t[0];void 0!==i&&(s.dataset.value=i[e.settings.valueField])}}else e.clearOptions(d);n.call(e,t,i),a=!1}),e.hook("after","refreshOptions",()=>{const t=e.lastValue;var i;c(t)?(i=e.render("loading_more",{query:t}))&&(i.setAttribute("data-selectable",""),s=i):t in o&&!r.querySelector(".no-results")&&(i=e.render("no_more_results",{query:t})),i&&(((e,...t)=>{var i=Ze(t);(e=et(e)).map(e=>{i.map(t=>{e.classList.add(t)})})})(i,e.settings.optionClass),r.append(i))}),e.on("initialize",()=>{l=Object.keys(e.options),r=e.dropdown_content,e.settings.render=Object.assign({},{loading_more:()=>'<div class="loading-more-results">Loading more results ... </div>',no_more_results:()=>'<div class="no-more-results">No more results</div>'},e.settings.render),r.addEventListener("scroll",()=>{e.settings.shouldLoadMore.call(e)&&c(e.lastValue)&&(a||(a=!0,e.load.call(e,e.lastValue)))})})});class tt{constructor(e){this.datepicker=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initDatepicker(e)}),this.initDatepicker(e),!0}initDatepicker(e){const t=e.el.querySelectorAll("input[data-provide='datepicker']");t.length>=1&&this.datepicker.initDatepickers(Array.from(t),e)}}class it{constructor(e){this.nette=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initNetteForms(e)}),this.initNetteForms(e),!0}initNetteForms(e){var t,i;const n=null!==(i=null!==(t=this.nette)&&void 0!==t?t:w().Nette)&&void 0!==i?i:null;n&&e.el.querySelectorAll("form").forEach(e=>n.initForm(e))}}class nt{constructor(e){this.selectpicker=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initSelectpicker(e)}),this.initSelectpicker(e),!0}initSelectpicker(e){const t=e.el.querySelectorAll("select.selectpicker");t.length>=1&&this.selectpicker.initSelectpickers(Array.from(t),e)}}class rt{constructor(e){this.sortable=e}onDatagridInit(e){return e.ajax.addEventListener("before",e=>{}),this.sortable.initSortable(e),e.ajax.addEventListener("success",({detail:{payload:t}})=>{if(t._datagrid_sort){for(const i in t._datagrid_sort){const n=t._datagrid_sort[i],r=e.el.querySelector(`#datagrid-sort-${i}`);r&&(r.setAttribute("href",n),r.setAttribute("data-href",n))}this.sortable.initSortable(e)}if(t._datagrid_tree){const i=e.el.querySelector(`.datagrid-tree-item[data-id='${t._datagrid_tree}'] .datagrid-tree-item-children`);if(i&&t.snippets){i.classList.add("loaded");for(const e in t.snippets){const n=t.snippets[e],r=(new DOMParser).parseFromString(n,"text/html").firstElementChild;if(r){const t=document.createElement("div");t.id=e,t.classList.add("datagrid-tree-item"),t.setAttribute("data-id",e),r.hasAttribute("has-children")&&t.classList.add("has-children"),i.append(t)}}}this.sortable.initSortableTree(e)}}),!0}}class st{onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initPerPage(e),this.initChange(e)}),this.initPerPage(e),this.initChange(e),!0}initPerPage(e){e.el.querySelectorAll("select[data-autosubmit-per-page]").forEach(t=>{t.addEventListener("change",()=>{var i,n;let r=null===(i=t.parentElement)||void 0===i?void 0:i.querySelector("input[type=submit]");if(r||(r=null===(n=t.parentElement)||void 0===n?void 0:n.querySelector("button[type=submit]")),!(r instanceof HTMLElement))return;const s=r.closest("form");s&&e.ajax.submitForm(s)})})}initChange(e){e.el.querySelectorAll("[data-autosubmit]").forEach(t=>{const i=t.closest("form");i&&"true"!==t.dataset.listenersAttached&&(t.dataset.listenersAttached="true",t instanceof HTMLSelectElement?t.addEventListener("change",()=>e.ajax.submitForm(i)):t instanceof HTMLInputElement&&(t.hasAttribute("data-autosubmit-change")&&t.addEventListener("change",E(()=>e.ajax.submitForm(i))),t.addEventListener("keyup",E(t=>{if(_(t)||!function(e,t,i){const n=1===e.key.length?e.key.charCodeAt(0):0;return n>=t&&n<=i}(t,9,40)&&!function(e){return 2===e.key.length&&e.key.startsWith("F")}(t))return e.ajax.submitForm(i)}))))})}}class ot{onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.init(e)}),this.init(e)}init(e){let t=null;e.el.addEventListener("click",e=>{if(e.target instanceof HTMLElement&&e.target.classList.contains("col-checkbox")&&(t=e.target,e.shiftKey&&t)){const e=t.closest("tr");if(!e)return;const i=t.closest("tr");if(!i)return;const n=i.closest("tbody");if(!n)return;const r=Array.from(n.querySelectorAll("tr")),[s,o]=[i.rowIndex,e.rowIndex].sort();r.slice(s,o+1).forEach(e=>{const t=e.querySelector('.col-checkbox input[type="checkbox"]');t&&(t.checked=!0)})}});const i=Array.from(e.el.querySelectorAll(`input[data-check='${e.name}']:not([data-check-all])`)),n=e.el.querySelector(`input[data-check='${e.name}'][data-check-all]`),r=e.el.querySelector("select[name='group_action[group_action]']"),s=document.querySelectorAll(".row-group-actions *[type='submit']"),o=document.querySelector(".datagrid-selected-rows-count");return[...i,n].forEach(t=>{t&&t.addEventListener("change",()=>{if(t.hasAttribute("data-check-all")){if(e.name!==t.getAttribute("data-check-all"))return;if(i.forEach(e=>e.checked=t.checked),s.forEach(e=>e.disabled=!t.checked),r&&(r.disabled=!t.checked),o){const e=i.length;o.innerText=`${t.checked?e:0}/${e}`}return}n&&(n.checked=i.every(e=>e.checked));const a=i.filter(e=>e.checked),l=a.length>=1;s.forEach(e=>e.disabled=!l),r&&(r.disabled=!l),o&&(o.innerText=`${a.length}/${i.length}`)})}),!0}}const at="data-datagrid-confirm";class lt{onDatagridInit(e){return e.el.querySelectorAll(`[${at}]:not(.ajax)`).forEach(t=>t.addEventListener("click",t=>this.confirmEventHandler.call(e,t.target,t))),e.ajax.addEventListener("interact",t=>{e.el.contains(t.detail.element)&&this.confirmEventHandler.call(e,t.detail.element,t)}),!0}confirmEventHandler(e,t){var i;const n=null===(i=e.closest("a"))||void 0===i?void 0:i.getAttribute(at);n&&(window.confirm.bind(window)(n)||(t.stopPropagation(),t.preventDefault()))}}const ct="data-datagrid-editable-url";class dt{onDatagridInit(e){return e.ajax.addEventListener("success",t=>{this.initEditableCells(e)}),this.initEditableCells(e),!0}initEditableCells(e){e.el.querySelectorAll(`[${ct}]`).forEach(t=>{t.addEventListener("click",i=>{var n,r,s,o;if(!(t instanceof HTMLAnchorElement||t.classList.contains("datagrid-inline-edit")||t.classList.contains("editing"))){t.classList.add("editing");const i=t.innerHTML.replace(/<\/?br>/g,"\n"),a=null!==(n=t.getAttribute("data-datagrid-editable-value"))&&void 0!==n?n:i;t.setAttribute("originalValue",i),t.setAttribute("valueToEdit",a);const l=null!==(r=t.getAttribute("data-datagrid-editable-type"))&&void 0!==r?r:"text";let c;switch(l){case"textarea":t.innerHTML=`<textarea rows="${function(e){var t;const i=e.style.padding?parseInt(e.style.padding.replace(/[^-\d\.]/g,""),10):0,n=e.getBoundingClientRect().height,r=Math.round(parseFloat(null!==(t=e.style.lineHeight)&&void 0!==t?t:"0"));return Math.round((n-2*i)/r)}(t)}">${a}</textarea>`,c=t.querySelector("textarea");break;case"select":c=t.querySelector(null!==(s=t.getAttribute("data-datagrid-editable-element"))&&void 0!==s?s:""),c.querySelectorAll(`option[value='${a}']`).forEach(e=>e.setAttribute("selected","true"));break;default:t.innerHTML=`<input type='${l}' />`,c=t.querySelector("input"),c.setAttribute("value",a.trim())}const d=JSON.parse(null!==(o=t.getAttribute("datagrid-editable-attrs"))&&void 0!==o?o:"{}");for(const e in d){const t=d[e];c.setAttribute(e,t)}t.classList.remove("edited");const u=async n=>{var r,s,o;let c=n.value;if(c!==a)try{const i=await e.ajax.request({url:null!==(r=t.getAttribute(ct))&&void 0!==r?r:"",method:"POST",data:{value:c}});"select"===l?t.innerHTML=null!==(o=null===(s=t.querySelector(`option[value='${c}']`))||void 0===s?void 0:s.innerHTML)&&void 0!==o?o:"":(i._datagrid_editable_new_value&&(c=i._datagrid_editable_new_value),t.innerHTML=c),t.classList.add("edited")}catch(e){t.innerHTML=i,t.classList.add("edited-error")}else t.innerHTML=i;t.classList.remove("editing")};t.querySelectorAll("input, textarea, select").forEach(e=>{e.addEventListener("blur",()=>u(e)),e.addEventListener("keydown",n=>{if(_(n))return n.stopPropagation(),n.preventDefault(),u(e);(function(e){return"Escape"===e.key})(n)&&(n.stopPropagation(),n.preventDefault(),t.classList.remove("editing"),t.innerHTML=i)}),e instanceof HTMLSelectElement&&e.addEventListener("change",()=>u(e))})}})})}}class ut{onInit(e){}onDatagridInit(e){return e.ajax.addEventListener("success",({detail:{payload:t}})=>{var i,n;if(t._datagrid_name&&t._datagrid_name===e.name){if(t._datagrid_inline_edited||t._datagrid_inline_edit_cancel){const i=e.el.querySelector(".datagrid-inline-edit-trigger");if(t._datagrid_inline_edited){e.el.querySelectorAll(`tr[data-id='${t._datagrid_inline_edited}'] > td`).forEach(e=>{e.classList.add("edited")})}return void(null==i||i.classList.remove("hidden"))}if(t._datagrid_inline_adding){const t=e.el.querySelector(".datagrid-row-inline-add");t&&(t.classList.remove("datagrid-row-inline-add-hidden"),null===(i=t.querySelector("input:not([readonly]), textarea:not([readonly])"))||void 0===i||i.focus())}t._datagrid_inline_editing&&(null===(n=e.el.querySelector(".datagrid-inline-edit-trigger"))||void 0===n||n.classList.add("hidden")),e.el.querySelectorAll(".datagrid-inline-edit input").forEach(e=>{e.addEventListener("keydown",t=>{var i,n;if(_(t))return t.stopPropagation(),t.preventDefault(),null===(n=null===(i=e.closest("tr"))||void 0===i?void 0:i.querySelector(".col-action-inline-edit [name='inline_edit[submit]']"))||void 0===n?void 0:n.click()})}),e.el.querySelectorAll(".datagrid-inline-add input").forEach(e=>{e.addEventListener("keydown",t=>{var i,n;if(_(t))return t.stopPropagation(),t.preventDefault(),null===(n=null===(i=e.closest("tr"))||void 0===i?void 0:i.querySelector(".col-action-inline-edit [name='inline_add[submit]']"))||void 0===n?void 0:n.click()})}),e.el.querySelectorAll("[data-datagrid-cancel-inline-add]").forEach(e=>{e.addEventListener("mouseup",t=>{if(0===t.button){t.stopPropagation(),t.preventDefault();const i=e.closest(".datagrid-row-inline-add");i&&i.classList.add("datagrid-row-inline-add-hidden")}})})}}),!0}}class ht{onDatagridInit(e){return e.el.querySelectorAll("[data-toggle-detail-grid]").forEach(t=>{if(t.getAttribute("data-toggle-detail-grid")!==e.name)return;const i=t.getAttribute("data-toggle-detail");t.addEventListener("click",n=>{const r=e.el.querySelector(`.item-detail-${e.name}-id-${i}`);t.closest("tr"),r&&(r.classList.add("datagrid--content-row"),r.classList.toggle("is-active")),e.ajax.addEventListener("before",t=>{t.detail.params.url.includes(`do=${e.name}-getItemDetail`)&&t.detail.params.url.includes(`grid-id=${i}`)&&(t.stopPropagation(),t.preventDefault())})})}),e.ajax.addEventListener("success",({detail:{payload:t}})=>{var i;t._datagrid_redraw_item_id&&t._datagrid_redraw_item_class&&(null===(i=e.el.querySelector(`tr[data-id='${t._datagrid_redraw_item_id}']`))||void 0===i||i.setAttribute("class",t._datagrid_redraw_item_class))}),!0}}class pt{onDatagridInit(e){return e.ajax.addEventListener("before",e=>{}),e.ajax.addEventListener("success",({detail:{payload:e}})=>{var t,i;if(e._datagrid_tree){const n=e._datagrid_tree,r=document.querySelector(`.datagrid-tree-item[data-id="${n}"]`),s=document.querySelector(`.datagrid-tree-item[data-id="${n}"] .datagrid-tree-item-children`);if(s){if(s.classList.contains("showed")){if(s.innerHTML="",s.classList.remove("showed"),r){const e=r.querySelector("a.chevron");e&&(e.style.transform="rotate(0deg)")}return}if(s.classList.add("showed"),r){const e=r.querySelector("a.chevron");e&&(e.style.transform="rotate(90deg)")}const n=e.snippets;for(const e in n){const r=n[e],o=(new DOMParser).parseFromString(r,"text/html").querySelector("[data-id]"),a=null!==(t=null==o?void 0:o.getAttribute("data-id"))&&void 0!==t?t:"",l=`\n<div class="datagrid-tree-item" class='${null!==(i=null==o?void 0:o.hasAttribute("data-has-children"))&&void 0!==i&&i?"has-children":""}' id="${e}" data-id="${a}">${r}</div>`;s.innerHTML=l}}}}),!0}}
7
+ */var b=(m||(m=1,v.exports=function(){class e{filled(e,t,i){return""!==i&&!1!==i&&null!==i&&(!Array.isArray(i)||i.length>0)&&(!(i instanceof FileList)||i.length>0)}blank(e,t,i){return!this.filled(e,t,i)}valid(e,t){return t.validateControl(e,void 0,!0)}equal(e,t,i){if(void 0===t)return null;let n=e=>"number"==typeof e||"string"==typeof e?""+e:!0===e?"1":"",r=Array.isArray(i)?i:[i],s=Array.isArray(t)?t:[t];e:for(let e of r){for(let t of s)if(n(e)===n(t))continue e;return!1}return r.length>0}notEqual(e,t,i){return void 0===t?null:!this.equal(e,t,i)}minLength(e,t,i){return(i="number"==typeof i?i.toString():i).length>=t}maxLength(e,t,i){return(i="number"==typeof i?i.toString():i).length<=t}length(e,t,i){return i="number"==typeof i?i.toString():i,(null===(t=Array.isArray(t)?t:[t,t])[0]||i.length>=t[0])&&(null===t[1]||i.length<=t[1])}email(e,t,i){return/^("([ !#-[\]-~]|\\[ -~])+"|[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*)@([0-9a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,61}[0-9a-z\u00C0-\u02FF\u0370-\u1EFF])?\.)+[a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,17}[a-z\u00C0-\u02FF\u0370-\u1EFF])?$/i.test(i)}url(e,t,i,n){return/^[a-z\d+.-]+:/.test(i)||(i="https://"+i),!!/^https?:\/\/((([-_0-9a-z\u00C0-\u02FF\u0370-\u1EFF]+\.)*[0-9a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,61}[0-9a-z\u00C0-\u02FF\u0370-\u1EFF])?\.)?[a-z\u00C0-\u02FF\u0370-\u1EFF]([-0-9a-z\u00C0-\u02FF\u0370-\u1EFF]{0,17}[a-z\u00C0-\u02FF\u0370-\u1EFF])?|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[[0-9a-f:]{3,39}\])(:\d{1,5})?(\/\S*)?$/i.test(i)&&(n.value=i,!0)}regexp(e,t,i){let n="string"==typeof t&&t.match(/^\/(.*)\/([imu]*)$/);try{return n&&new RegExp(n[1],n[2].replace("u","")).test(i)}catch{return null}}pattern(e,t,i,n,r){if("string"!=typeof t)return null;try{let e;try{e=new RegExp("^(?:"+t+")$",r?"ui":"u")}catch{e=new RegExp("^(?:"+t+")$",r?"i":"")}return i instanceof FileList?Array.from(i).every(t=>e.test(t.name)):e.test(i)}catch{return null}}patternCaseInsensitive(e,t,i){return this.pattern(e,t,i,null,!0)}numeric(e,t,i){return/^[0-9]+$/.test(i)}integer(e,t,i,n){return!!/^-?[0-9]+$/.test(i)&&(n.value=parseFloat(i),!0)}float(e,t,i,n){return i=i.replace(/ +/g,"").replace(/,/g,"."),!!/^-?[0-9]*\.?[0-9]+$/.test(i)&&(n.value=parseFloat(i),!0)}min(e,t,i){return Number.isFinite(t)&&(i=parseFloat(i)),i>=t}max(e,t,i){return Number.isFinite(t)&&(i=parseFloat(i)),i<=t}range(e,t,i){return Array.isArray(t)?"time"===e.type&&t[0]>t[1]?i>=t[0]||i<=t[1]:(null===t[0]||this.min(e,t[0],i))&&(null===t[1]||this.max(e,t[1],i)):null}submitted(e){return e.form["nette-submittedBy"]===e}fileSize(e,t,i){return Array.from(i).every(e=>e.size<=t)}mimeType(e,t,i){let n=[];(t=Array.isArray(t)?t:[t]).forEach(e=>n.push("^"+e.replace(/([^\w])/g,"\\$1").replace("\\*",".*")+"$"));let r=new RegExp(n.join("|"));return Array.from(i).every(e=>!e.type||r.test(e.type))}image(e,t,i){return this.mimeType(e,t??["image/gif","image/png","image/jpeg","image/webp"],i)}static(e,t){return t}}class t{formErrors=[];validators=new e;#e={};#t={};#i=new WeakMap;#n(e,t){let i=e.elements.namedItem(t);return i instanceof RadioNodeList?i[0]:i}#r(e){let t=e.form.elements.namedItem(e.name);return t instanceof RadioNodeList?Array.from(t):[t]}#s(e){"loading"!==document.readyState?e.call(this):document.addEventListener("DOMContentLoaded",e)}getValue(e){return e instanceof HTMLInputElement?"radio"===e.type?this.#r(e).find(e=>e.checked)?.value??null:"file"===e.type?e.files:"checkbox"===e.type?e.name.endsWith("[]")?this.#r(e).filter(e=>e.checked).map(e=>e.value):e.checked:e.value.trim():e instanceof HTMLSelectElement?e.multiple?Array.from(e.selectedOptions,e=>e.value):e.selectedOptions[0]?.value??null:e instanceof HTMLTextAreaElement?e.value:e instanceof RadioNodeList?this.getValue(e[0]):null}getEffectiveValue(e,t=!1){let i=this.getValue(e);if(i===e.getAttribute("data-nette-empty-value")&&(i=""),t&&void 0===this.#e[e.name]){this.#e[e.name]=!0;let t={value:i};this.validateControl(e,void 0,!0,t),i=t.value,delete this.#e[e.name]}return i}validateControl(e,t,i=!1,n,r){t??=JSON.parse(e.getAttribute("data-nette-rules")??"[]"),n??={value:this.getEffectiveValue(e)},r??=!this.validateRule(e,":filled",null,n);for(let s of t){let t=s.op.match(/(~)?([^?]+)/),o=s.control?this.#n(e.form,s.control):e;if(s.neg=!!t[1],s.op=t[2],s.condition=!!s.rules,!o)continue;if(r&&!s.condition&&":filled"!==s.op)continue;let a=this.validateRule(o,s.op,s.arg,e===o?n:void 0);if(null!==a)if(s.neg&&(a=!a),s.condition&&a){if(!this.validateControl(e,s.rules,i,n,":blank"!==s.op&&r))return!1}else if(!s.condition&&!a){if(this.isDisabled(o))continue;if(!i){let t=Array.isArray(s.arg)?s.arg:[s.arg],i=s.msg.replace(/%(value|\d+)/g,(i,n)=>this.getValue("value"===n?o:e.form.elements.namedItem(t[n].control)));this.addError(o,i)}return!1}}return!0}validateForm(e,t=!1){let i,n=e.form??e;if(this.formErrors=[],null!==e.getAttribute("formnovalidate")){let t=JSON.parse(e.getAttribute("data-nette-validation-scope")??"[]");if(!t.length)return this.showFormErrors(n,[]),!0;i=new RegExp("^("+t.join("-|")+"-)")}for(let e of n.elements)if(e.willValidate&&e.validity.badInput)return e.reportValidity(),!1;for(let e of n.elements)if(e.getAttribute("data-nette-rules")&&(!i||e.name.replace(/]\[|\[|]|$/g,"-").match(i))&&!this.isDisabled(e)&&!this.validateControl(e,void 0,t)&&!this.formErrors.length)return!1;let r=!this.formErrors.length;return this.showFormErrors(n,this.formErrors),r}isDisabled(e){return"radio"===e.type?this.#r(e).every(e=>e.disabled):e.disabled}addError(e,t){this.formErrors.push({element:e,message:t})}showFormErrors(e,t){let i,n=[];for(let e of t)n.indexOf(e.message)<0&&(n.push(e.message),i??=e.element);n.length&&this.showModal(n.join("\n"),()=>{i?.focus()})}showModal(e,t){let i=document.createElement("dialog");if(!i.showModal)return alert(e),void t();let n=document.createElement("style");n.innerText=".netteFormsModal { text-align: center; margin: auto; border: 2px solid black; padding: 1rem } .netteFormsModal button { padding: .1em 2em }";let r=document.createElement("button");r.innerText="OK",r.onclick=()=>{i.remove(),t()},i.setAttribute("class","netteFormsModal"),i.innerText=e+"\n\n",i.append(n,r),document.body.append(i),i.showModal()}validateRule(e,t,i,n){if(e.validity.badInput)return":filled"===t;n??={value:this.getEffectiveValue(e,!0)};let r=":"===t.charAt(0)?t.substring(1):t;r=r.replace("::","_").replaceAll("\\","");let s=Array.isArray(i)?i:[i];return s=s.map(t=>{if(t?.control){let i=this.#n(e.form,t.control);return i===e?n.value:this.getEffectiveValue(i,!0)}return t}),"valid"===r&&(s[0]=this),this.validators[r]?this.validators[r](e,Array.isArray(i)?s:s[0],n.value,n):null}toggleForm(e,t){this.#t={};for(let i of Array.from(e.elements))i.getAttribute("data-nette-rules")&&this.toggleControl(i,void 0,null,!t);for(let e in this.#t)this.toggle(e,this.#t[e].state,this.#t[e].elem,t)}toggleControl(e,t,i=null,n=!1,r,s){t??=JSON.parse(e.getAttribute("data-nette-rules")??"[]"),r??={value:this.getEffectiveValue(e)},s??=!this.validateRule(e,":filled",null,r);let o,a=!1;for(let l of t){let t=l.op.match(/(~)?([^?]+)/),c=l.control?this.#n(e.form,l.control):e;if(l.neg=!!t[1],l.op=t[2],l.condition=!!l.rules,c&&(!s||l.condition||":filled"===l.op)){if(o=i,!1!==i){if(o=this.validateRule(c,l.op,l.arg,e===c?r:void 0),null===o)continue;l.neg&&(o=!o),l.condition||(i=o)}if(l.condition&&this.toggleControl(e,l.rules,o,n,r,":blank"!==l.op&&s)||l.toggle){a=!0,n&&this.#r(c).filter(e=>!this.#i.has(e)).forEach(t=>{t.addEventListener("change",t=>this.toggleForm(e.form,t)),this.#i.set(t,null)});for(let t in l.toggle??{})this.#t[t]??={elem:e,state:!1},this.#t[t].state||=l.toggle[t]?!!o:!o}}}return a}toggle(e,t,i,n){/^\w[\w.:-]*$/.test(e)&&(e="#"+e),Array.from(document.querySelectorAll(e)).forEach(e=>e.hidden=!t)}compactCheckboxes(e,t){let i={};for(let n of e.elements)n instanceof HTMLInputElement&&"checkbox"===n.type&&n.name.endsWith("[]")&&n.checked&&!n.disabled&&(t.delete(n.name),i[n.name]??=[],i[n.name].push(n.value));for(let e in i)t.set(e.substring(0,e.length-2),i[e].join(","))}initForm(e){"get"===e.method&&e.hasAttribute("data-nette-compact")&&e.addEventListener("formdata",t=>this.compactCheckboxes(e,t.formData)),Array.from(e.elements).some(e=>e.getAttribute("data-nette-rules"))&&(this.toggleForm(e),e.noValidate||(e.noValidate=!0,e.addEventListener("submit",t=>{this.validateForm(t.submitter||e)||(t.stopImmediatePropagation(),t.preventDefault())}),e.addEventListener("reset",()=>{setTimeout(()=>this.toggleForm(e))})))}initOnLoad(){this.#s(()=>{Array.from(document.forms).forEach(e=>this.initForm(e))})}}let i={"á":"a","ä":"a","č":"c","ď":"d","é":"e","ě":"e","í":"i","ľ":"l","ň":"n","ó":"o","ô":"o","ř":"r","š":"s","ť":"t","ú":"u","ů":"u","ý":"y","ž":"z"};function n(e){e=e.toLowerCase();let t="";for(let n=0;n<e.length;n++){let r=i[e.charAt(n)];t+=r||e.charAt(n)}return t.replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}var r="3.5.3";let s=new t;return s.version=r,s.webalize=n,s}()),v.exports),y=g(b);function _(e){return"Enter"===e.key}function w(){return null!=w?w:{}}function E(e,t=200){let i=null,n=!1;return(...r)=>{n||(i&&clearTimeout(i),i=setTimeout(()=>{const t=e(...r);var i;"object"==typeof(i=t)&&"function"==typeof i.then&&(n=!0,t.finally(()=>{n=!1}))},t))}}function A(e,t){e.split(/\s+/).forEach(e=>{t(e)})}class S{constructor(){this._events={}}on(e,t){A(e,e=>{const i=this._events[e]||[];i.push(t),this._events[e]=i})}off(e,t){var i=arguments.length;0!==i?A(e,e=>{if(1===i)return void delete this._events[e];const n=this._events[e];void 0!==n&&(n.splice(n.indexOf(t),1),this._events[e]=n)}):this._events={}}trigger(e,...t){var i=this;A(e,e=>{const n=i._events[e];void 0!==n&&n.forEach(e=>{e.apply(i,t)})})}}const k=e=>(e=e.filter(Boolean)).length<2?e[0]||"":1==T(e)?"["+e.join("")+"]":"(?:"+e.join("|")+")",O=e=>{if(!D(e))return e.join("");let t="",i=0;const n=()=>{i>1&&(t+="{"+i+"}")};return e.forEach((r,s)=>{r!==e[s-1]?(n(),t+=r,i=1):i++}),n(),t},C=e=>{let t=Array.from(e);return k(t)},D=e=>new Set(e).size!==e.length,x=e=>(e+"").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu,"\\$1"),T=e=>e.reduce((e,t)=>Math.max(e,L(t)),0),L=e=>Array.from(e).length,I=e=>{if(1===e.length)return[[e]];let t=[];const i=e.substring(1);return I(i).forEach(function(i){let n=i.slice(0);n[0]=e.charAt(0)+n[0],t.push(n),n=i.slice(0),n.unshift(e.charAt(0)),t.push(n)}),t},M=[[0,65535]];let F,N;const j={},P={"/":"⁄∕",0:"߀",a:"ⱥɐɑ",aa:"ꜳ",ae:"æǽǣ",ao:"ꜵ",au:"ꜷ",av:"ꜹꜻ",ay:"ꜽ",b:"ƀɓƃ",c:"ꜿƈȼↄ",d:"đɗɖᴅƌꮷԁɦ",e:"ɛǝᴇɇ",f:"ꝼƒ",g:"ǥɠꞡᵹꝿɢ",h:"ħⱨⱶɥ",i:"ɨı",j:"ɉȷ",k:"ƙⱪꝁꝃꝅꞣ",l:"łƚɫⱡꝉꝇꞁɭ",m:"ɱɯϻ",n:"ꞥƞɲꞑᴎлԉ",o:"øǿɔɵꝋꝍᴑ",oe:"œ",oi:"ƣ",oo:"ꝏ",ou:"ȣ",p:"ƥᵽꝑꝓꝕρ",q:"ꝗꝙɋ",r:"ɍɽꝛꞧꞃ",s:"ßȿꞩꞅʂ",t:"ŧƭʈⱦꞇ",th:"þ",tz:"ꜩ",u:"ʉ",v:"ʋꝟʌ",vy:"ꝡ",w:"ⱳ",y:"ƴɏỿ",z:"ƶȥɀⱬꝣ",hv:"ƕ"};for(let e in P){let t=P[e]||"";for(let i=0;i<t.length;i++){let n=t.substring(i,i+1);j[n]=e}}const H=new RegExp(Object.keys(j).join("|")+"|[̀-ͯ·ʾʼ]","gu"),q=(e,t="NFKD")=>e.normalize(t),R=e=>Array.from(e).reduce((e,t)=>e+B(t),""),B=e=>(e=q(e).toLowerCase().replace(H,e=>j[e]||""),q(e,"NFC"));const V=e=>{const t={},i=(e,i)=>{const n=t[e]||new Set,r=new RegExp("^"+C(n)+"$","iu");i.match(r)||(n.add(x(i)),t[e]=n)};for(let t of function*(e){for(const[t,i]of e)for(let e=t;e<=i;e++){let t=String.fromCharCode(e),i=R(t);i!=t.toLowerCase()&&(i.length>3||0!=i.length&&(yield{folded:i,composed:t,code_point:e}))}}(e))i(t.folded,t.folded),i(t.folded,t.composed);return t},z=e=>{const t=V(e),i={};let n=[];for(let e in t){let r=t[e];r&&(i[e]=C(r)),e.length>1&&n.push(x(e))}n.sort((e,t)=>t.length-e.length);const r=k(n);return N=new RegExp("^"+r,"u"),i},W=(e,t=1)=>(t=Math.max(t,e.length-1),k(I(e).map(e=>((e,t=1)=>{let i=0;return e=e.map(e=>(F[e]&&(i+=e.length),F[e]||e)),i>=t?O(e):""})(e,t)))),Y=(e,t=!0)=>{let i=e.length>1?1:0;return k(e.map(e=>{let n=[];const r=t?e.length():e.length()-1;for(let t=0;t<r;t++)n.push(W(e.substrs[t]||"",i));return O(n)}))},K=(e,t)=>{for(const i of t){if(i.start!=e.start||i.end!=e.end)continue;if(i.substrs.join("")!==e.substrs.join(""))continue;let t=e.parts;const n=e=>{for(const i of t){if(i.start===e.start&&i.substr===e.substr)return!1;if(1!=e.length&&1!=i.length){if(e.start<i.start&&e.end>i.start)return!0;if(i.start<e.start&&i.end>e.start)return!0}}return!1};if(!(i.parts.filter(n).length>0))return!0}return!1};class U{parts;substrs;start;end;constructor(){this.parts=[],this.substrs=[],this.start=0,this.end=0}add(e){e&&(this.parts.push(e),this.substrs.push(e.substr),this.start=Math.min(e.start,this.start),this.end=Math.max(e.end,this.end))}last(){return this.parts[this.parts.length-1]}length(){return this.parts.length}clone(e,t){let i=new U,n=JSON.parse(JSON.stringify(this.parts)),r=n.pop();for(const e of n)i.add(e);let s=t.substr.substring(0,e-r.start),o=s.length;return i.add({start:r.start,end:r.start+o,length:o,substr:s}),i}}const X=e=>{void 0===F&&(F=z(M)),e=R(e);let t="",i=[new U];for(let n=0;n<e.length;n++){let r=e.substring(n).match(N);const s=e.substring(n,n+1),o=r?r[0]:null;let a=[],l=new Set;for(const e of i){const t=e.last();if(!t||1==t.length||t.end<=n)if(o){const t=o.length;e.add({start:n,end:n+t,length:t,substr:o}),l.add("1")}else e.add({start:n,end:n+1,length:1,substr:s}),l.add("2");else if(o){let i=e.clone(n,t);const r=o.length;i.add({start:n,end:n+r,length:r,substr:o}),a.push(i)}else l.add("3")}if(a.length>0){a=a.sort((e,t)=>e.length()-t.length());for(let e of a)K(e,i)||i.push(e)}else if(n>0&&1==l.size&&!l.has("3")){t+=Y(i,!1);let e=new U;const n=i[0];n&&e.add(n.last()),i=[e]}}return t+=Y(i,!0),t},Q=(e,t)=>{if(e)return e[t]},G=(e,t)=>{if(e){for(var i,n=t.split(".");(i=n.shift())&&(e=e[i]););return e}},J=(e,t,i)=>{var n,r;return e?(e+="",null==t.regex||-1===(r=e.search(t.regex))?0:(n=t.string.length/e.length,0===r&&(n+=.5),n*i)):0},Z=(e,t)=>{var i=e[t];if("function"==typeof i)return i;i&&!Array.isArray(i)&&(e[t]=[i])},ee=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},te=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e<t?-1:0:(e=R(e+"").toLowerCase())>(t=R(t+"").toLowerCase())?1:t>e?-1:0;class ie{items;settings;constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[];const n=[],r=e.split(/\s+/);var s;return i&&(s=new RegExp("^("+Object.keys(i).map(x).join("|")+"):(.*)$")),r.forEach(e=>{let i,r=null,o=null;s&&(i=e.match(s))&&(r=i[1],e=i[2]),e.length>0&&(o=this.settings.diacritics?X(e)||null:x(e),o&&t&&(o="\\b"+o)),n.push({string:e,regex:o?new RegExp(o,"iu"):null,field:r})}),n}getScoreFunction(e,t){var i=this.prepareSearch(e,t);return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length;if(!i)return function(){return 0};const n=e.options.fields,r=e.weights,s=n.length,o=e.getAttrFn;if(!s)return function(){return 1};const a=1===s?function(e,t){const i=n[0].field;return J(o(t,i),e,r[i]||1)}:function(e,t){var i=0;if(e.field){const n=o(t,e.field);!e.regex&&n?i+=1/s:i+=J(n,e,1)}else ee(r,(n,r)=>{i+=J(o(t,r),e,n)});return i/s};return 1===i?function(e){return a(t[0],e)}:"and"===e.options.conjunction?function(e){var n,r=0;for(let i of t){if((n=a(i,e))<=0)return 0;r+=n}return r/i}:function(e){var n=0;return ee(t,t=>{n+=a(t,e)}),n/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t);return this._getSortFunction(i)}_getSortFunction(e){var t,i=[];const n=this,r=e.options,s=!e.query&&r.sort_empty?r.sort_empty:r.sort;if("function"==typeof s)return s.bind(this);const o=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)};if(s)for(let t of s)(e.query||"$score"!==t.field)&&i.push(t);if(e.query){t=!0;for(let e of i)if("$score"===e.field){t=!1;break}t&&i.unshift({field:"$score",direction:"desc"})}else i=i.filter(e=>"$score"!==e.field);return i.length?function(e,t){var n,r;for(let s of i){if(r=s.field,n=("desc"===s.direction?-1:1)*te(o(r,e),o(r,t)))return n}return 0}:null}prepareSearch(e,t){const i={};var n=Object.assign({},t);if(Z(n,"sort"),Z(n,"sort_empty"),n.fields){Z(n,"fields");const e=[];n.fields.forEach(t=>{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1}),n.fields=e}return{options:n,query:e.toLowerCase().trim(),tokens:this.tokenize(e,n.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:n.nesting?G:Q}}search(e,t){var i,n,r=this;n=this.prepareSearch(e,t),t=n.options,e=n.query;const s=t.score||r._getScoreFunction(n);e.length?ee(r.items,(e,r)=>{i=s(e),(!1===t.filter||i>0)&&n.items.push({score:i,id:r})}):ee(r.items,(e,t)=>{n.items.push({score:1,id:t})});const o=r._getSortFunction(n);return o&&n.items.sort(o),n.total=n.items.length,"number"==typeof t.limit&&(n.items=n.items.slice(0,t.limit)),n}}const ne=e=>null==e?null:re(e),re=e=>"boolean"==typeof e?e?"1":"0":e+"",se=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),oe=(e,t)=>{var i;return function(n,r){var s=this;i&&(s.loading=Math.max(s.loading-1,0),clearTimeout(i)),i=setTimeout(function(){i=null,s.loadedSearches[n]=!0,e.call(s,n,r)},t)}},ae=(e,t,i)=>{var n,r=e.trigger,s={};for(n of(e.trigger=function(){var i=arguments[0];if(-1===t.indexOf(i))return r.apply(e,arguments);s[i]=arguments},i.apply(e,[]),e.trigger=r,t))n in s&&r.apply(e,s[n])},le=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},ce=(e,t,i,n)=>{e.addEventListener(t,i,n)},de=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),ue=(e,t)=>{const i=e.getAttribute("id");return i||(e.setAttribute("id",t),t)},he=e=>e.replace(/[\\"']/g,"\\$&"),pe=(e,t)=>{t&&e.append(t)},fe=(e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},ge=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(me(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},me=e=>"string"==typeof e&&e.indexOf("<")>-1,ve=(e,t)=>{var i=document.createEvent("HTMLEvents");i.initEvent(t,!0,!1),e.dispatchEvent(i)},be=(e,t)=>{Object.assign(e.style,t)},ye=(e,...t)=>{var i=we(t);(e=Ee(e)).map(e=>{i.map(t=>{e.classList.add(t)})})},_e=(e,...t)=>{var i=we(t);(e=Ee(e)).map(e=>{i.map(t=>{e.classList.remove(t)})})},we=e=>{var t=[];return fe(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ee=e=>(Array.isArray(e)||(e=[e]),e),Ae=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e;e=e.parentNode}},Se=(e,t=0)=>t>0?e[e.length-1]:e[0],ke=(e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i},Oe=(e,t)=>{fe(t,(t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)})},Ce=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},De=(e,t)=>{if(null===t)return;if("string"==typeof t){if(!t.length)return;t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t);if(i&&e.data.length>0){var n=document.createElement("span");n.className="highlight";var r=e.splitText(i.index);r.splitText(i[0].length);var s=r.cloneNode(!0);return n.appendChild(s),Ce(r,n),1}return 0})(e):((e=>{1!==e.nodeType||!e.childNodes||/(script|style)/i.test(e.tagName)||"highlight"===e.className&&"SPAN"===e.tagName||Array.from(e.childNodes).forEach(e=>{i(e)})})(e),0);i(e)},xe="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey";var Te={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,refreshThrottle:300,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,controlInput:'<input type="text" autocomplete="off" size="1" />',copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return e.length>0},render:{}};function Le(e,t){var i=Object.assign({},Te,t),n=i.dataAttr,r=i.labelField,s=i.valueField,o=i.disabledField,a=i.optgroupField,l=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),u=e.getAttribute("placeholder")||e.getAttribute("data-placeholder");if(!u&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]');t&&(u=t.textContent)}var h={placeholder:u,options:[],optgroups:[],items:[],maxItems:null};return"select"===d?(()=>{var t,d=h.options,u={},p=1;let f=0;var g=e=>{var t=Object.assign({},e.dataset),i=n&&t[n];return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var n=ne(e.value);if(null!=n&&(n||i.allowEmptyOption)){if(u.hasOwnProperty(n)){if(t){var l=u[n][a];l?Array.isArray(l)?l.push(t):u[n][a]=[l,t]:u[n][a]=t}}else{var c=g(e);c[r]=c[r]||e.textContent,c[s]=c[s]||n,c[o]=c[o]||e.disabled,c[a]=c[a]||t,c.$option=e,c.$order=c.$order||++f,u[n]=c,d.push(c)}e.selected&&h.items.push(n)}};h.maxItems=e.hasAttribute("multiple")?null:1,fe(e.children,e=>{var i,n,r;"optgroup"===(t=e.tagName.toLowerCase())?((r=g(i=e))[l]=r[l]||i.getAttribute("label")||"",r[c]=r[c]||p++,r[o]=r[o]||i.disabled,r.$order=r.$order||++f,h.optgroups.push(r),n=r[c],fe(i.children,e=>{m(e,n)})):"option"===t&&m(e)})})():(()=>{const t=e.getAttribute(n);if(t)h.options=JSON.parse(t),fe(h.options,e=>{h.items.push(e[s])});else{var o=e.value.trim()||"";if(!i.allowEmptyOption&&!o.length)return;const t=o.split(i.delimiter);fe(t,e=>{const t={};t[r]=e,t[s]=e,h.options.push(t)}),h.items=t}})(),Object.assign({},Te,h,t)}var Ie=0;let Me=class extends(function(e){return e.plugins={},class extends e{constructor(){super(...arguments),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i;const n=this,r=[];if(Array.isArray(e))e.forEach(e=>{"string"==typeof e?r.push(e):(n.plugins.settings[e.name]=e.options,r.push(e.name))});else if(e)for(t in e)e.hasOwnProperty(t)&&(n.plugins.settings[t]=e[t],r.push(t));for(;i=r.shift();)n.require(i)}loadPlugin(t){var i=this,n=i.plugins,r=e.plugins[t];if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin');n.requested[t]=!0,n.loaded[t]=r.fn.apply(i,[i.plugins.settings[t]||{}]),n.names.push(t)}require(e){var t=this,i=t.plugins;if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")');t.loadPlugin(e)}return i.loaded[e]}}}(S)){constructor(e,t){var i;super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isReadOnly=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.ignoreHover=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],this.refreshTimeout=null,Ie++;var n=ge(e);if(n.tomselect)throw new Error("Tom Select already initialized on this element");n.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(n,null)).getPropertyValue("direction");const r=Le(n,t);this.settings=r,this.input=n,this.tabIndex=n.tabIndex||0,this.is_select_tag="select"===n.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=ue(n,"tomselect-"+Ie),this.isRequired=n.required,this.sifter=new ie(this.options,{diacritics:r.diacritics}),r.mode=r.mode||(1===r.maxItems?"single":"multi"),"boolean"!=typeof r.hideSelected&&(r.hideSelected="multi"===r.mode),"boolean"!=typeof r.hidePlaceholder&&(r.hidePlaceholder="multi"!==r.mode);var s=r.createFilter;"function"!=typeof s&&("string"==typeof s&&(s=new RegExp(s)),s instanceof RegExp?r.createFilter=e=>s.test(e):r.createFilter=e=>this.settings.duplicates||!this.options[e]),this.initializePlugins(r.plugins),this.setupCallbacks(),this.setupTemplates();const o=ge("<div>"),a=ge("<div>"),l=this._render("dropdown"),c=ge('<div role="listbox" tabindex="-1">'),d=this.input.getAttribute("class")||"",u=r.mode;var h;if(ye(o,r.wrapperClass,d,u),ye(a,r.controlClass),pe(o,a),ye(l,r.dropdownClass,u),r.copyClassesToDropdown&&ye(l,d),ye(c,r.dropdownContentClass),pe(l,c),ge(r.dropdownParent||o).appendChild(l),me(r.controlInput)){h=ge(r.controlInput);fe(["autocorrect","autocapitalize","autocomplete","spellcheck"],e=>{n.getAttribute(e)&&Oe(h,{[e]:n.getAttribute(e)})}),h.tabIndex=-1,a.appendChild(h),this.focus_node=h}else r.controlInput?(h=ge(r.controlInput),this.focus_node=h):(h=ge("<input/>"),this.focus_node=a);this.wrapper=o,this.dropdown=l,this.dropdown_content=c,this.control=a,this.control_input=h,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,n=e.dropdown,r=e.dropdown_content,s=e.wrapper,o=e.control,a=e.input,l=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown";Oe(r,{id:d}),Oe(l,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d});const u=ue(l,e.inputId+"-ts-control"),h="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",p=document.querySelector(h),f=e.focus.bind(e);if(p){ce(p,"click",f),Oe(p,{for:u});const t=ue(p,e.inputId+"-ts-label");Oe(l,{"aria-labelledby":t}),Oe(r,{"aria-labelledby":t})}if(s.style.width=a.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-");ye([s,n],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&Oe(a,{multiple:"multiple"}),t.placeholder&&Oe(i,{placeholder:t.placeholder}),!t.splitOn&&t.delimiter&&(t.splitOn=new RegExp("\\s*"+x(t.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=oe(t.load,t.loadThrottle)),ce(n,"mousemove",()=>{e.ignoreHover=!1}),ce(n,"mouseenter",t=>{var i=Ae(t.target,"[data-selectable]",n);i&&e.onOptionHover(t,i)},{capture:!0}),ce(n,"click",t=>{const i=Ae(t.target,"[data-selectable]");i&&(e.onOptionSelect(t,i),le(t,!0))}),ce(o,"click",t=>{var n=Ae(t.target,"[data-ts-item]",o);n&&e.onItemSelect(t,n)?le(t,!0):""==i.value&&(e.onClick(),le(t,!0))}),ce(l,"keydown",t=>e.onKeyDown(t)),ce(i,"keypress",t=>e.onKeyPress(t)),ce(i,"input",t=>e.onInput(t)),ce(l,"blur",t=>e.onBlur(t)),ce(l,"focus",t=>e.onFocus(t)),ce(i,"paste",t=>e.onPaste(t));const g=t=>{const r=t.composedPath()[0];if(!s.contains(r)&&!n.contains(r))return e.isFocused&&e.blur(),void e.inputState();r==i&&e.isOpen?t.stopPropagation():le(t,!0)},m=()=>{e.isOpen&&e.positionDropdown()};ce(document,"mousedown",g),ce(window,"scroll",m,c),ce(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",g),window.removeEventListener("scroll",m),window.removeEventListener("resize",m),p&&p.removeEventListener("click",f)},this.revertSettings={innerHTML:a.innerHTML,tabIndex:a.tabIndex},a.tabIndex=-1,a.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,ce(a,"invalid",()=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())}),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,a.disabled?e.disable():a.readOnly?e.setReadOnly(!0):e.enable(),e.on("change",this.onChange),ye(a,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),fe(t,e=>{this.registerOptionGroup(e)})}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,n={optgroup:e=>{let t=document.createElement("div");return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[i])+"</div>",option:(e,i)=>"<div>"+i(e[t])+"</div>",item:(e,i)=>"<div>"+i(e[t])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>&hellip;</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"};e.settings.render=Object.assign({},n,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?Le(t.input,{delimiter:t.settings.delimiter}):t.settings;t.setupOptions(i.options,i.optgroups),t.setValue(i.items||[],!0),t.lastQuery=null}onClick(){var e=this;if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus();e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){ve(this.input,"input"),ve(this.input,"change")}onPaste(e){var t=this;t.isInputHidden||t.isLocked?le(e):t.settings.splitOn&&setTimeout(()=>{var e=t.inputValue();if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn);fe(i,e=>{ne(e)&&(this.options[e]?t.addItem(e):t.createItem(e))})}},0)}onKeyPress(e){var t=this;if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which);return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void le(e)):void 0}le(e)}onKeyDown(e){var t=this;if(t.ignoreHover=!0,t.isLocked)9!==e.keyCode&&le(e);else{switch(e.keyCode){case 65:if(de(xe,e)&&""==t.control_input.value)return le(e),void t.selectAll();break;case 27:return t.isOpen&&(le(e,!0),t.close()),void t.clearActiveItems();case 40:if(!t.isOpen&&t.hasOptions)t.open();else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1);e&&t.setActiveOption(e)}return void le(e);case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1);e&&t.setActiveOption(e)}return void le(e);case 13:return void(t.canSelect(t.activeOption)?(t.onOptionSelect(e,t.activeOption),le(e)):(t.settings.create&&t.createItem()||document.activeElement==t.control_input&&t.isOpen)&&le(e));case 37:return void t.advanceSelection(-1,e);case 39:return void t.advanceSelection(1,e);case 9:return void(t.settings.selectOnTab&&(t.canSelect(t.activeOption)&&(t.onOptionSelect(e,t.activeOption),le(e)),t.settings.create&&t.createItem()&&le(e)));case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!de(xe,e)&&le(e)}}onInput(e){if(this.isLocked)return;const t=this.inputValue();this.lastValue!==t&&(this.lastValue=t,""!=t?(this.refreshTimeout&&window.clearTimeout(this.refreshTimeout),this.refreshTimeout=((e,t)=>t>0?window.setTimeout(e,t):(e.call(null),null))(()=>{this.refreshTimeout=null,this._onInput()},this.settings.refreshThrottle)):this._onInput())}_onInput(){const e=this.lastValue;this.settings.shouldLoad.call(this,e)&&this.load(e),this.refreshOptions(),this.trigger("type",e)}onOptionHover(e,t){this.ignoreHover||this.setActiveOption(t,!1)}onFocus(e){var t=this,i=t.isFocused;if(t.isDisabled||t.isReadOnly)return t.blur(),void le(e);t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.inputState(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this;if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1;var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")};t.settings.create&&t.settings.createOnBlur?t.createItem(null,i):i()}}}onOptionSelect(e,t){var i,n=this;t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?n.createItem(null,()=>{n.settings.closeAfterSelect&&n.close()}):void 0!==(i=t.dataset.value)&&(n.lastQuery=null,n.addItem(i),n.settings.closeAfterSelect&&n.close(),!n.settings.hideSelected&&e.type&&/click/.test(e.type)&&n.setActiveOption(t)))}canSelect(e){return!!(this.isOpen&&e&&this.dropdown_content.contains(e))}onItemSelect(e,t){var i=this;return!i.isLocked&&"multi"===i.settings.mode&&(le(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this;if(!t.canLoad(e))return;ye(t.wrapper,t.settings.loadingClass),t.loading++;const i=t.loadCallback.bind(t);t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this;i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||_e(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList;e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input;t.value!==e&&(t.value=e,ve(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){ae(this,t?[]:["change"],()=>{this.clear(t),this.addItems(e,t)})}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,n,r,s,o,a,l=this;if("single"!==l.settings.mode){if(!e)return l.clearActiveItems(),void(l.isFocused&&l.inputState());if("click"===(i=t&&t.type.toLowerCase())&&de("shiftKey",t)&&l.activeItems.length){for(a=l.getLastActive(),(r=Array.prototype.indexOf.call(l.control.children,a))>(s=Array.prototype.indexOf.call(l.control.children,e))&&(o=r,r=s,s=o),n=r;n<=s;n++)e=l.control.children[n],-1===l.activeItems.indexOf(e)&&l.setActiveItemClass(e);le(t)}else"click"===i&&de(xe,t)||"keydown"===i&&de("shiftKey",t)?e.classList.contains("active")?l.removeActiveItem(e):l.setActiveItemClass(e):(l.clearActiveItems(),l.setActiveItemClass(e));l.inputState(),l.isFocused||l.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active");i&&_e(i,"last-active"),ye(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e);this.activeItems.splice(t,1),_e(e,"active")}clearActiveItems(){_e(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,Oe(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),Oe(e,{"aria-selected":"true"}),ye(e,"active"),t&&this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return;const i=this.dropdown_content,n=i.clientHeight,r=i.scrollTop||0,s=e.offsetHeight,o=e.getBoundingClientRect().top-i.getBoundingClientRect().top+r;o+s>n+r?this.scroll(o-n+s,t):o<r&&this.scroll(o,t)}scroll(e,t){const i=this.dropdown_content;t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(_e(this.activeOption,"active"),Oe(this.activeOption,{"aria-selected":null})),this.activeOption=null,Oe(this.focus_node,{"aria-activedescendant":null})}selectAll(){const e=this;if("single"===e.settings.mode)return;const t=e.controlChildren();t.length&&(e.inputState(),e.close(),e.activeItems=t,fe(t,t=>{e.setActiveItemClass(t)}))}inputState(){var e=this;e.control.contains(e.control_input)&&(Oe(e.control_input,{placeholder:e.settings.placeholder}),e.activeItems.length>0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&Oe(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}inputValue(){return this.control_input.value.trim()}focus(){var e=this;e.isDisabled||e.isReadOnly||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout(()=>{e.ignoreFocus=!1,e.onFocus()},0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField;return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,n=this,r=this.getSearchOptions();if(n.settings.score&&"function"!=typeof(i=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function');return e!==n.lastQuery?(n.lastQuery=e,t=n.sifter.search(e,Object.assign(r,{score:i})),n.currentResults=t):t=Object.assign({},n.currentResults),n.settings.hideSelected&&(t.items=t.items.filter(e=>{let t=ne(e.id);return!(t&&-1!==n.items.indexOf(t))})),t}refreshOptions(e=!0){var t,i,n,r,s,o,a,l,c,d;const u={},h=[];var p=this,f=p.inputValue();const g=f===p.lastQuery||""==f&&null==p.lastQuery;var m=p.search(f),v=null,b=p.settings.shouldOpen||!1,y=p.dropdown_content;g&&(v=p.activeOption)&&(c=v.closest("[data-group]")),r=m.items.length,"number"==typeof p.settings.maxOptions&&(r=Math.min(r,p.settings.maxOptions)),r>0&&(b=!0);const _=(e,t)=>{let i=u[e];if(void 0!==i){let e=h[i];if(void 0!==e)return[i,e.fragment]}let n=document.createDocumentFragment();return i=h.length,h.push({fragment:n,order:t,optgroup:e}),[i,n]};for(t=0;t<r;t++){let e=m.items[t];if(!e)continue;let r=e.id,a=p.options[r];if(void 0===a)continue;let l=re(r),d=p.getOption(l,!0);for(p.settings.hideSelected||d.classList.toggle("selected",p.items.includes(l)),s=a[p.settings.optgroupField]||"",i=0,n=(o=Array.isArray(s)?s:[s])&&o.length;i<n;i++){s=o[i];let e=a.$order,t=p.optgroups[s];void 0===t?s="":e=t.$order;const[n,l]=_(s,e);i>0&&(d=d.cloneNode(!0),Oe(d,{id:a.$id+"-clone-"+i,"aria-selected":null}),d.classList.add("ts-cloned"),_e(d,"active"),p.activeOption&&p.activeOption.dataset.value==r&&c&&c.dataset.group===s.toString()&&(v=d)),l.appendChild(d),""!=s&&(u[s]=n)}}var w;p.settings.lockOptgroupOrder&&h.sort((e,t)=>e.order-t.order),a=document.createDocumentFragment(),fe(h,e=>{let t=e.fragment,i=e.optgroup;if(!t||!t.children.length)return;let n=p.optgroups[i];if(void 0!==n){let e=document.createDocumentFragment(),i=p.render("optgroup_header",n);pe(e,i),pe(e,t);let r=p.render("optgroup",{group:n,options:e});pe(a,r)}else pe(a,t)}),y.innerHTML="",pe(y,a),p.settings.highlight&&(w=y.querySelectorAll("span.highlight"),Array.prototype.forEach.call(w,function(e){var t=e.parentNode;t.replaceChild(e.firstChild,e),t.normalize()}),m.query.length&&m.tokens.length&&fe(m.tokens,e=>{De(y,e.regex)}));var E=e=>{let t=p.render(e,{input:f});return t&&(b=!0,y.insertBefore(t,y.firstChild)),t};if(p.loading?E("loading"):p.settings.shouldLoad.call(p,f)?0===m.items.length&&E("no_results"):E("not_loading"),(l=p.canCreate(f))&&(d=E("option_create")),p.hasOptions=m.items.length>0||l,b){if(m.items.length>0){if(v||"single"!==p.settings.mode||null==p.items[0]||(v=p.getOption(p.items[0])),!y.contains(v)){let e=0;d&&!p.settings.addPrecedence&&(e=1),v=p.selectable()[e]}}else d&&(v=d);e&&!p.isOpen&&(p.open(),p.scrollToOption(v,"auto")),p.setActiveOption(v)}else p.clearActiveOption(),e&&p.isOpen&&p.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this;if(Array.isArray(e))return i.addOptions(e,t),!1;const n=ne(e[i.settings.valueField]);return null!==n&&!i.options.hasOwnProperty(n)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[n]=e,i.lastQuery=null,t&&(i.userOptions[n]=t,i.trigger("option_add",n,e)),n)}addOptions(e,t=!1){fe(e,e=>{this.addOption(e,t)})}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=ne(e[this.settings.optgroupValueField]);return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i;t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this;var n,r;const s=ne(e),o=ne(t[i.settings.valueField]);if(null===s)return;const a=i.options[s];if(null==a)return;if("string"!=typeof o)throw new Error("Value must be set in option data");const l=i.getOption(s),c=i.getItem(s);if(t.$order=t.$order||a.$order,delete i.options[s],i.uncacheValue(o),i.options[o]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t);Ce(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}c&&(-1!==(r=i.items.indexOf(s))&&i.items.splice(r,1,o),n=i._render("item",t),c.classList.contains("active")&&ye(n,"active"),Ce(c,n)),i.lastQuery=null}removeOption(e,t){const i=this;e=re(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(e){const t=(e||this.clearFilter).bind(this);this.loadedSearches={},this.userOptions={},this.clearCache();const i={};fe(this.options,(e,n)=>{t(e,n)&&(i[n]=e)}),this.options=this.sifter.items=i,this.lastQuery=null,this.trigger("option_clear")}clearFilter(e,t){return this.items.indexOf(t)>=0}getOption(e,t=!1){const i=ne(e);if(null===i)return null;const n=this.options[i];if(null!=n){if(n.$div)return n.$div;if(t)return this._render("option",n)}return null}getAdjacent(e,t,i="option"){var n;if(!e)return null;n="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]");for(let i=0;i<n.length;i++)if(n[i]==e)return t>0?n[i+1]:n[i-1];return null}getItem(e){if("object"==typeof e)return e;var t=ne(e);return null!==t?this.control.querySelector(`[data-value="${he(t)}"]`):null}addItems(e,t){var i=this,n=Array.isArray(e)?e:[e];const r=(n=n.filter(e=>-1===i.items.indexOf(e)))[n.length-1];n.forEach(e=>{i.isPending=e!==r,i.addItem(e,t)})}addItem(e,t){ae(this,t?[]:["change","dropdown_close"],()=>{var i,n;const r=this,s=r.settings.mode,o=ne(e);if((!o||-1===r.items.indexOf(o)||("single"===s&&r.close(),"single"!==s&&r.settings.duplicates))&&null!==o&&r.options.hasOwnProperty(o)&&("single"===s&&r.clear(t),"multi"!==s||!r.isFull())){if(i=r._render("item",r.options[o]),r.control.contains(i)&&(i=i.cloneNode(!0)),n=r.isFull(),r.items.splice(r.caretPos,0,o),r.insertAtCaret(i),r.isSetup){if(!r.isPending&&r.settings.hideSelected){let e=r.getOption(o),t=r.getAdjacent(e,1);t&&r.setActiveOption(t)}r.isPending||r.settings.closeAfterSelect||r.refreshOptions(r.isFocused&&"single"!==s),0!=r.settings.closeAfterSelect&&r.isFull()?r.close():r.isPending||r.positionDropdown(),r.trigger("item_add",o,i),r.isPending||r.updateOriginalInput({silent:t})}(!r.isPending||!n&&r.isFull())&&(r.inputState(),r.refreshState())}})}removeItem(e=null,t){const i=this;if(!(e=i.getItem(e)))return;var n,r;const s=e.dataset.value;n=ke(e),e.remove(),e.classList.contains("active")&&(r=i.activeItems.indexOf(e),i.activeItems.splice(r,1),_e(e,"active")),i.items.splice(n,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(s)&&i.removeOption(s,t),n<i.caretPos&&i.setCaret(i.caretPos-1),i.updateOriginalInput({silent:t}),i.refreshState(),i.positionDropdown(),i.trigger("item_remove",s,e)}createItem(e=null,t=()=>{}){3===arguments.length&&(t=arguments[2]),"function"!=typeof t&&(t=()=>{});var i,n=this,r=n.caretPos;if(e=e||n.inputValue(),!n.canCreate(e))return t(),!1;n.lock();var s=!1,o=e=>{if(n.unlock(),!e||"object"!=typeof e)return t();var i=ne(e[n.settings.valueField]);if("string"!=typeof i)return t();n.setTextboxValue(),n.addOption(e,!0),n.setCaret(r),n.addItem(i),t(e),s=!0};return i="function"==typeof n.settings.create?n.settings.create.call(this,e,o):{[n.settings.labelField]:e,[n.settings.valueField]:e},s||o(i),!0}refreshItems(){var e=this;e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this;e.refreshValidityState();const t=e.isFull(),i=e.isLocked;e.wrapper.classList.toggle("rtl",e.rtl);const n=e.wrapper.classList;var r;n.toggle("focus",e.isFocused),n.toggle("disabled",e.isDisabled),n.toggle("readonly",e.isReadOnly),n.toggle("required",e.isRequired),n.toggle("invalid",!e.isValid),n.toggle("locked",i),n.toggle("full",t),n.toggle("input-active",e.isFocused&&!e.isInputHidden),n.toggle("dropdown-active",e.isOpen),n.toggle("has-options",(r=e.options,0===Object.keys(r).length)),n.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this;e.input.validity&&(e.isValid=e.input.validity.valid,e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this;var i,n;const r=t.input.querySelector('option[value=""]');if(t.is_select_tag){const s=[],o=t.input.querySelectorAll("option:checked").length;function a(e,i,n){return e||(e=ge('<option value="'+se(i)+'">'+se(n)+"</option>")),e!=r&&t.input.append(e),s.push(e),(e!=r||o>0)&&(e.selected=!0),e}t.input.querySelectorAll("option:checked").forEach(e=>{e.selected=!1}),0==t.items.length&&"single"==t.settings.mode?a(r,"",""):t.items.forEach(e=>{if(i=t.options[e],n=i[t.settings.labelField]||"",s.includes(i.$option)){a(t.input.querySelector(`option[value="${he(e)}"]:not(:checked)`),e,n)}else i.$option=a(i.$option,e,n)})}else t.input.value=t.getValue();t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this;e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,Oe(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),be(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),be(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen;e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.inputState()),t.isOpen=!1,Oe(t.focus_node,{"aria-expanded":"false"}),be(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,n=t.left+window.scrollX;be(this.dropdown,{width:t.width+"px",top:i+"px",left:n+"px"})}}clear(e){var t=this;if(t.items.length){var i=t.controlChildren();fe(i,e=>{t.removeItem(e,!0)}),t.inputState(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,n=t.control;n.insertBefore(e,n.children[i]||null),t.setCaret(i+1)}deleteSelection(e){var t,i,n,r,s,o=this;t=e&&8===e.keyCode?-1:1,i={start:(s=o.control_input).selectionStart||0,length:(s.selectionEnd||0)-(s.selectionStart||0)};const a=[];if(o.activeItems.length)r=Se(o.activeItems,t),n=ke(r),t>0&&n++,fe(o.activeItems,e=>a.push(e));else if((o.isFocused||"single"===o.settings.mode)&&o.items.length){const e=o.controlChildren();let n;t<0&&0===i.start&&0===i.length?n=e[o.caretPos-1]:t>0&&i.start===o.inputValue().length&&(n=e[o.caretPos]),void 0!==n&&a.push(n)}if(!o.shouldDelete(a,e))return!1;for(le(e,!0),void 0!==n&&o.setCaret(n);a.length;)o.removeItem(a.pop());return o.inputState(),o.positionDropdown(),o.refreshOptions(!1),!0}shouldDelete(e,t){const i=e.map(e=>e.dataset.value);return!(!i.length||"function"==typeof this.settings.onDelete&&!1===this.settings.onDelete(i,t))}advanceSelection(e,t){var i,n,r=this;r.rtl&&(e*=-1),r.inputValue().length||(de(xe,t)||de("shiftKey",t)?(n=(i=r.getLastActive(e))?i.classList.contains("active")?r.getAdjacent(i,e,"item"):i:e>0?r.control_input.nextElementSibling:r.control_input.previousElementSibling)&&(n.classList.contains("active")&&r.removeActiveItem(i),r.setActiveItemClass(n)):r.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active");if(t)return t;var i=this.control.querySelectorAll(".active");return i?Se(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.setLocked(!0)}unlock(){this.setLocked(!1)}setLocked(e=this.isReadOnly||this.isDisabled){this.isLocked=e,this.refreshState()}disable(){this.setDisabled(!0),this.close()}enable(){this.setDisabled(!1)}setDisabled(e){this.focus_node.tabIndex=e?-1:this.tabIndex,this.isDisabled=e,this.input.disabled=e,this.control_input.disabled=e,this.setLocked()}setReadOnly(e){this.isReadOnly=e,this.input.readOnly=e,this.control_input.readOnly=e,this.setLocked()}destroy(){var e=this,t=e.revertSettings;e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,_e(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){var i,n;const r=this;if("function"!=typeof this.settings.render[e])return null;if(!(n=r.settings.render[e].call(this,t,se)))return null;if(n=ge(n),"option"===e||"option_create"===e?t[r.settings.disabledField]?Oe(n,{"aria-disabled":"true"}):Oe(n,{"data-selectable":""}):"optgroup"===e&&(i=t.group[r.settings.optgroupValueField],Oe(n,{"data-group":i}),t.group[r.settings.disabledField]&&Oe(n,{"data-disabled":""})),"option"===e||"item"===e){const i=re(t[r.settings.valueField]);Oe(n,{"data-value":i}),"item"===e?(ye(n,r.settings.itemClass),Oe(n,{"data-ts-item":""})):(ye(n,r.settings.optionClass),Oe(n,{role:"option",id:t.$id}),t.$div=n,r.options[i]=t)}return n}_render(e,t){const i=this.render(e,t);if(null==i)throw"HTMLElement expected";return i}clearCache(){fe(this.options,e=>{e.$div&&(e.$div.remove(),delete e.$div)})}uncacheValue(e){const t=this.getOption(e);t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var n=this,r=n[t];n[t]=function(){var t,s;return"after"===e&&(t=r.apply(n,arguments)),s=i.apply(n,arguments),"instead"===e?s:("before"===e&&(t=r.apply(n,arguments)),t)}}};const Fe=e=>"boolean"==typeof e?e?"1":"0":e+"",Ne=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},je=e=>"string"==typeof e&&e.indexOf("<")>-1;const Pe=e=>"string"==typeof e&&e.indexOf("<")>-1;const $e=(e,t,i,n)=>{e.addEventListener(t,i,n)},He=e=>"string"==typeof e&&e.indexOf("<")>-1,qe=(e,t)=>{((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(t,(t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)})};const Re=e=>"string"==typeof e&&e.indexOf("<")>-1;const Be=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ve=e=>(Array.isArray(e)||(e=[e]),e);const ze=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(We(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},We=e=>"string"==typeof e&&e.indexOf("<")>-1,Ye=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},Ke=e=>(Array.isArray(e)||(e=[e]),e);const Ue=(e,t,i,n)=>{e.addEventListener(t,i,n)};const Xe=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},Qe=(e,t,i,n)=>{e.addEventListener(t,i,n)},Ge=e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Je(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)},Je=e=>"string"==typeof e&&e.indexOf("<")>-1;const Ze=e=>{var t=[];return((e,t)=>{if(Array.isArray(e))e.forEach(t);else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)})(e,e=>{"string"==typeof e&&(e=e.trim().split(/[\t\n\f\r\s]/)),Array.isArray(e)&&(t=t.concat(e))}),t.filter(Boolean)},et=e=>(Array.isArray(e)||(e=[e]),e);Me.define("change_listener",function(){var e,t,i,n;e=this.input,t="change",i=()=>{this.sync()},e.addEventListener(t,i,n)}),Me.define("checkbox_options",function(e){var t=this,i=t.onOptionSelect;t.settings.hideSelected=!1;const n=Object.assign({className:"tomselect-checkbox",checkedClassNames:void 0,uncheckedClassNames:void 0},e);var r=function(e,t){t?(e.checked=!0,n.uncheckedClassNames&&e.classList.remove(...n.uncheckedClassNames),n.checkedClassNames&&e.classList.add(...n.checkedClassNames)):(e.checked=!1,n.checkedClassNames&&e.classList.remove(...n.checkedClassNames),n.uncheckedClassNames&&e.classList.add(...n.uncheckedClassNames))},s=function(e){setTimeout(()=>{var t=e.querySelector("input."+n.className);t instanceof HTMLInputElement&&r(t,e.classList.contains("selected"))},1)};t.hook("after","setupTemplates",()=>{var e=t.settings.render.option;t.settings.render.option=(i,s)=>{var o=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(je(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(e.call(t,i,s)),a=document.createElement("input");n.className&&a.classList.add(n.className),a.addEventListener("click",function(e){Ne(e)}),a.type="checkbox";const l=null==(c=i[t.settings.valueField])?null:Fe(c);var c;return r(a,!!(l&&t.items.indexOf(l)>-1)),o.prepend(a),o}}),t.on("item_remove",e=>{var i=t.getOption(e);i&&(i.classList.remove("selected"),s(i))}),t.on("item_add",e=>{var i=t.getOption(e);i&&s(i)}),t.hook("instead","onOptionSelect",(e,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),t.removeItem(n.dataset.value),t.refreshOptions(),void Ne(e,!0);i.call(t,e,n),s(n)})}),Me.define("clear_button",function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`<div class="${e.className}" title="${e.title}">&#10799;</div>`},e);t.on("initialize",()=>{var e=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Pe(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(i.html(i));e.addEventListener("click",e=>{t.isLocked||(t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation())}),t.control.appendChild(e)})}),Me.define("drag_drop",function(){var e=this;if("multi"!==e.settings.mode)return;var t=e.lock,i=e.unlock;let n,r=!0;e.hook("after","setupTemplates",()=>{var t=e.settings.render.item;e.settings.render.item=(i,s)=>{const o=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(He(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(t.call(e,i,s));qe(o,{draggable:"true"});const a=e=>{e.preventDefault(),o.classList.add("ts-drag-over"),l(o,n)},l=(e,t)=>{var i,n,r;void 0!==t&&(((e,t)=>{do{var i;if(e==(t=null==(i=t)?void 0:i.previousElementSibling))return!0}while(t&&t.previousElementSibling);return!1})(t,o)?(n=t,null==(r=(i=e).parentNode)||r.insertBefore(n,i.nextSibling)):((e,t)=>{var i;null==(i=e.parentNode)||i.insertBefore(t,e)})(e,t))};return $e(o,"mousedown",e=>{r||((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(e),e.stopPropagation()}),$e(o,"dragstart",e=>{n=o,setTimeout(()=>{o.classList.add("ts-dragging")},0)}),$e(o,"dragenter",a),$e(o,"dragover",a),$e(o,"dragleave",()=>{o.classList.remove("ts-drag-over")}),$e(o,"dragend",()=>{var t;document.querySelectorAll(".ts-drag-over").forEach(e=>e.classList.remove("ts-drag-over")),null==(t=n)||t.classList.remove("ts-dragging"),n=void 0;var i=[];e.control.querySelectorAll("[data-value]").forEach(e=>{if(e.dataset.value){let t=e.dataset.value;t&&i.push(t)}}),e.setValue(i)}),o}}),e.hook("instead","lock",()=>(r=!1,t.call(e))),e.hook("instead","unlock",()=>(r=!0,i.call(e)))}),Me.define("dropdown_header",function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'<div class="'+e.headerClass+'"><div class="'+e.titleRowClass+'"><span class="'+e.labelClass+'">'+e.title+'</span><a class="'+e.closeClass+'">&times;</a></div></div>'},e);t.on("initialize",()=>{var e=(e=>{if(e.jquery)return e[0];if(e instanceof HTMLElement)return e;if(Re(e)){var t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild}return document.querySelector(e)})(i.html(i)),n=e.querySelector("."+i.closeClass);n&&n.addEventListener("click",e=>{((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(e,!0),t.close()}),t.dropdown.insertBefore(e,t.dropdown.firstChild)})}),Me.define("caret_position",function(){var e=this;e.hook("instead","setCaret",t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach((i,n)=>{n<t?e.control_input.insertAdjacentElement("beforebegin",i):e.control.appendChild(i)}):t=e.items.length,e.caretPos=t}),e.hook("instead","moveCaret",t=>{if(!e.isFocused)return;const i=e.getLastActive(t);if(i){const n=((e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i})(i);e.setCaret(t>0?n+1:n),e.setActiveItem(),((e,...t)=>{var i=Be(t);(e=Ve(e)).map(e=>{i.map(t=>{e.classList.remove(t)})})})(i,"last-active")}else e.setCaret(e.caretPos+t)})}),Me.define("dropdown_input",function(){const e=this;e.settings.shouldOpen=!0,e.hook("before","setup",()=>{e.focus_node=e.control,((e,...t)=>{var i=Ye(t);(e=Ke(e)).map(e=>{i.map(t=>{e.classList.add(t)})})})(e.control_input,"dropdown-input");const t=ze('<div class="dropdown-input-wrap">');t.append(e.control_input),e.dropdown.insertBefore(t,e.dropdown.firstChild);const i=ze('<input class="items-placeholder" tabindex="-1" />');i.placeholder=e.settings.placeholder||"",e.control.append(i)}),e.on("initialize",()=>{e.control_input.addEventListener("keydown",t=>{switch(t.keyCode){case 27:return e.isOpen&&(((e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())})(t,!0),e.close()),void e.clearActiveItems();case 9:e.focus_node.tabIndex=-1}return e.onKeyDown.call(e,t)}),e.on("blur",()=>{e.focus_node.tabIndex=e.isDisabled?-1:e.tabIndex}),e.on("dropdown_open",()=>{e.control_input.focus()});const t=e.onBlur;var i,n,r,s;e.hook("instead","onBlur",i=>{if(!i||i.relatedTarget!=e.control_input)return t.call(e)}),i=e.control_input,n="blur",r=()=>e.onBlur(),i.addEventListener(n,r,s),e.hook("before","close",()=>{e.isOpen&&e.focus_node.focus({preventScroll:!0})})})}),Me.define("input_autogrow",function(){var e=this;e.on("initialize",()=>{var t=document.createElement("span"),i=e.control_input;t.style.cssText="position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ",e.wrapper.appendChild(t);for(const e of["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"])t.style[e]=i.style[e];var n=()=>{t.textContent=i.value,i.style.width=t.clientWidth+"px"};n(),e.on("update item_add item_remove",n),Ue(i,"input",n),Ue(i,"keyup",n),Ue(i,"blur",n),Ue(i,"update",n)})}),Me.define("no_backspace_delete",function(){var e=this,t=e.deleteSelection;this.hook("instead","deleteSelection",i=>!!e.activeItems.length&&t.call(e,i))}),Me.define("no_active_items",function(){this.hook("instead","setActiveItem",()=>{}),this.hook("instead","selectAll",()=>{})}),Me.define("optgroup_columns",function(){var e=this,t=e.onKeyDown;e.hook("instead","onKeyDown",i=>{var n,r,s,o;if(!e.isOpen||37!==i.keyCode&&39!==i.keyCode)return t.call(e,i);e.ignoreHover=!0,o=((e,t)=>{for(;e&&e.matches;){if(e.matches(t))return e;e=e.parentNode}})(e.activeOption,"[data-group]"),n=((e,t)=>{if(!e)return-1;t=t||e.nodeName;for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++;return i})(e.activeOption,"[data-selectable]"),o&&(o=37===i.keyCode?o.previousSibling:o.nextSibling)&&(r=(s=o.querySelectorAll("[data-selectable]"))[Math.min(s.length-1,n)])&&e.setActiveOption(r)})}),Me.define("remove_button",function(e){const t=Object.assign({label:"&times;",title:"Remove",className:"remove",append:!0},e);var i=this;if(t.append){var n='<a href="javascript:void(0)" class="'+t.className+'" tabindex="-1" title="'+((t.title+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")+'">')+t.label+"</a>";i.hook("after","setupTemplates",()=>{var e=i.settings.render.item;i.settings.render.item=(t,r)=>{var s=Ge(e.call(i,t,r)),o=Ge(n);return s.appendChild(o),Qe(o,"mousedown",e=>{Xe(e,!0)}),Qe(o,"click",e=>{i.isLocked||(Xe(e,!0),i.isLocked||i.shouldDelete([s],e)&&(i.removeItem(s),i.refreshOptions(!1),i.inputState()))}),s}})}}),Me.define("restore_on_backspace",function(e){const t=this,i=Object.assign({text:e=>e[t.settings.labelField]},e);t.on("item_remove",function(e){if(t.isFocused&&""===t.control_input.value.trim()){var n=t.options[e];n&&t.setTextboxValue(i.text.call(t,n))}})}),Me.define("virtual_scroll",function(){const e=this,t=e.canLoad,i=e.clearActiveOption,n=e.loadCallback;var r,s,o={},a=!1,l=[];if(e.settings.shouldLoadMore||(e.settings.shouldLoadMore=()=>{if(r.clientHeight/(r.scrollHeight-r.scrollTop)>.9)return!0;if(e.activeOption){var t=e.selectable();if(Array.from(t).indexOf(e.activeOption)>=t.length-2)return!0}return!1}),!e.settings.firstUrl)throw"virtual_scroll plugin requires a firstUrl() method";e.settings.sortField=[{field:"$order"},{field:"$score"}];const c=t=>!("number"==typeof e.settings.maxOptions&&r.children.length>=e.settings.maxOptions)&&!(!(t in o)||!o[t]),d=(t,i)=>e.items.indexOf(i)>=0||l.indexOf(i)>=0;e.setNextUrl=(e,t)=>{o[e]=t},e.getUrl=t=>{if(t in o){const e=o[t];return o[t]=!1,e}return e.clearPagination(),e.settings.firstUrl.call(e,t)},e.clearPagination=()=>{o={}},e.hook("instead","clearActiveOption",()=>{if(!a)return i.call(e)}),e.hook("instead","canLoad",i=>i in o?c(i):t.call(e,i)),e.hook("instead","loadCallback",(t,i)=>{if(a){if(s){const i=t[0];void 0!==i&&(s.dataset.value=i[e.settings.valueField])}}else e.clearOptions(d);n.call(e,t,i),a=!1}),e.hook("after","refreshOptions",()=>{const t=e.lastValue;var i;c(t)?(i=e.render("loading_more",{query:t}))&&(i.setAttribute("data-selectable",""),s=i):t in o&&!r.querySelector(".no-results")&&(i=e.render("no_more_results",{query:t})),i&&(((e,...t)=>{var i=Ze(t);(e=et(e)).map(e=>{i.map(t=>{e.classList.add(t)})})})(i,e.settings.optionClass),r.append(i))}),e.on("initialize",()=>{l=Object.keys(e.options),r=e.dropdown_content,e.settings.render=Object.assign({},{loading_more:()=>'<div class="loading-more-results">Loading more results ... </div>',no_more_results:()=>'<div class="no-more-results">No more results</div>'},e.settings.render),r.addEventListener("scroll",()=>{e.settings.shouldLoadMore.call(e)&&c(e.lastValue)&&(a||(a=!0,e.load.call(e,e.lastValue)))})})});class tt{constructor(e){this.datepicker=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initDatepicker(e)}),this.initDatepicker(e),!0}initDatepicker(e){const t=e.el.querySelectorAll("input[data-provide='datepicker']");t.length>=1&&this.datepicker.initDatepickers(Array.from(t),e)}}class it{constructor(e){this.nette=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initNetteForms(e)}),this.initNetteForms(e),!0}initNetteForms(e){var t,i;const n=null!==(i=null!==(t=this.nette)&&void 0!==t?t:w().Nette)&&void 0!==i?i:null;n&&e.el.querySelectorAll("form").forEach(e=>n.initForm(e))}}class nt{constructor(e){this.selectpicker=e}onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initSelectpicker(e)}),this.initSelectpicker(e),!0}initSelectpicker(e){const t=e.el.querySelectorAll("select.selectpicker");t.length>=1&&this.selectpicker.initSelectpickers(Array.from(t),e)}}class rt{constructor(e){this.sortable=e}onDatagridInit(e){return e.ajax.addEventListener("before",e=>{}),this.sortable.initSortable(e),e.ajax.addEventListener("success",({detail:{payload:t}})=>{if(t._datagrid_sort){for(const i in t._datagrid_sort){const n=t._datagrid_sort[i],r=e.el.querySelector(`#datagrid-sort-${i}`);r&&(r.setAttribute("href",n),r.setAttribute("data-href",n))}this.sortable.initSortable(e)}if(t._datagrid_tree){const i=e.el.querySelector(`.datagrid-tree-item[data-id='${t._datagrid_tree}'] .datagrid-tree-item-children`);if(i&&t.snippets){i.classList.add("loaded");for(const e in t.snippets){const n=t.snippets[e],r=(new DOMParser).parseFromString(n,"text/html").firstElementChild;if(r){const t=document.createElement("div");t.id=e,t.classList.add("datagrid-tree-item"),t.setAttribute("data-id",e),r.hasAttribute("has-children")&&t.classList.add("has-children"),i.append(t)}}}this.sortable.initSortableTree(e)}}),!0}}class st{onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.initPerPage(e),this.initChange(e)}),this.initPerPage(e),this.initChange(e),!0}initPerPage(e){e.el.querySelectorAll("select[data-autosubmit-per-page]").forEach(t=>{t.addEventListener("change",()=>{var i,n;let r=null===(i=t.parentElement)||void 0===i?void 0:i.querySelector("input[type=submit]");if(r||(r=null===(n=t.parentElement)||void 0===n?void 0:n.querySelector("button[type=submit]")),!(r instanceof HTMLElement))return;const s=r.closest("form");s&&e.ajax.submitForm(s)})})}initChange(e){e.el.querySelectorAll("[data-autosubmit]").forEach(t=>{const i=t.closest("form");i&&"true"!==t.dataset.listenersAttached&&(t.dataset.listenersAttached="true",t instanceof HTMLSelectElement?t.addEventListener("change",()=>e.ajax.submitForm(i)):t instanceof HTMLInputElement&&(t.hasAttribute("data-autosubmit-change")&&t.addEventListener("change",E(()=>e.ajax.submitForm(i))),t.addEventListener("keyup",E(t=>{if(_(t)||!function(e,t,i){const n=1===e.key.length?e.key.charCodeAt(0):0;return n>=t&&n<=i}(t,9,40)&&!function(e){return 2===e.key.length&&e.key.startsWith("F")}(t))return e.ajax.submitForm(i)}))))})}}class ot{onDatagridInit(e){return e.ajax.addEventListener("complete",t=>{this.init(e)}),this.init(e)}init(e){let t=null;e.el.addEventListener("click",e=>{if(e.target instanceof HTMLElement&&e.target.classList.contains("col-checkbox")&&(t=e.target,e.shiftKey&&t)){const e=t.closest("tr");if(!e)return;const i=t.closest("tr");if(!i)return;const n=i.closest("tbody");if(!n)return;const r=Array.from(n.querySelectorAll("tr")),[s,o]=[i.rowIndex,e.rowIndex].sort();r.slice(s,o+1).forEach(e=>{const t=e.querySelector('.col-checkbox input[type="checkbox"]');t&&(t.checked=!0)})}});const i=Array.from(e.el.querySelectorAll(`input[data-check='${e.name}']:not([data-check-all])`)),n=e.el.querySelector(`input[data-check='${e.name}'][data-check-all]`),r=e.el.querySelector("select[name='group_action[group_action]']"),s=document.querySelectorAll(".row-group-actions *[type='submit']"),o=document.querySelector(".datagrid-selected-rows-count");return[...i,n].forEach(t=>{t&&t.addEventListener("change",()=>{if(t.hasAttribute("data-check-all")){if(e.name!==t.getAttribute("data-check-all"))return;if(i.forEach(e=>e.checked=t.checked),s.forEach(e=>e.disabled=!t.checked),r&&(r.disabled=!t.checked),o){const e=i.length;o.innerText=`${t.checked?e:0}/${e}`}return}n&&(n.checked=i.every(e=>e.checked));const a=i.filter(e=>e.checked),l=a.length>=1;s.forEach(e=>e.disabled=!l),r&&(r.disabled=!l),o&&(o.innerText=`${a.length}/${i.length}`)})}),!0}}const at="data-datagrid-confirm";class lt{onDatagridInit(e){return e.el.querySelectorAll(`[${at}]:not(.ajax)`).forEach(t=>t.addEventListener("click",t=>this.confirmEventHandler.call(e,t.target,t))),e.ajax.addEventListener("interact",t=>{e.el.contains(t.detail.element)&&this.confirmEventHandler.call(e,t.detail.element,t)}),!0}confirmEventHandler(e,t){var i;const n=null===(i=e.closest("a"))||void 0===i?void 0:i.getAttribute(at);n&&(window.confirm.bind(window)(n)||(t.stopPropagation(),t.preventDefault()))}}const ct="data-datagrid-editable-url";class dt{onDatagridInit(e){return e.ajax.addEventListener("success",t=>{this.initEditableCells(e)}),this.initEditableCells(e),!0}initEditableCells(e){e.el.querySelectorAll(`[${ct}]`).forEach(t=>{t.addEventListener("click",i=>{var n,r,s,o;if(!(t instanceof HTMLAnchorElement||t.classList.contains("datagrid-inline-edit")||t.classList.contains("editing"))){t.classList.add("editing");const i=t.innerHTML.replace(/<\/?br>/g,"\n").trim(),a=(null!==(n=t.getAttribute("data-datagrid-editable-value"))&&void 0!==n?n:i).trim();t.setAttribute("originalValue",i),t.setAttribute("valueToEdit",a);const l=null!==(r=t.getAttribute("data-datagrid-editable-type"))&&void 0!==r?r:"text";let c;switch(l){case"textarea":t.innerHTML=`<textarea rows="${function(e){var t;const i=e.style.padding?parseInt(e.style.padding.replace(/[^-\d\.]/g,""),10):0,n=e.getBoundingClientRect().height,r=Math.round(parseFloat(null!==(t=e.style.lineHeight)&&void 0!==t?t:"0"));return Math.round((n-2*i)/r)}(t)}">${a}</textarea>`,c=t.querySelector("textarea");break;case"select":t.innerHTML=null!==(s=t.getAttribute("data-datagrid-editable-element"))&&void 0!==s?s:"",c=t.querySelector("select"),c.querySelectorAll(`option[value='${a}']`).forEach(e=>e.setAttribute("selected","true"));break;default:t.innerHTML=`<input type='${l}' />`,c=t.querySelector("input"),c.setAttribute("value",a)}c.focus();const d=JSON.parse(null!==(o=t.getAttribute("datagrid-editable-attrs"))&&void 0!==o?o:"{}");for(const e in d){const t=d[e];c.setAttribute(e,t)}t.classList.remove("edited");const u=async n=>{var r,s,o;let c=n.value;if(c!==a)try{const i=await e.ajax.request({url:null!==(r=t.getAttribute(ct))&&void 0!==r?r:"",method:"POST",data:{value:c}});"select"===l?t.innerHTML=n instanceof HTMLSelectElement&&null!==(o=null===(s=n.options[n.selectedIndex])||void 0===s?void 0:s.text)&&void 0!==o?o:c:(i._datagrid_editable_new_value&&(c=i._datagrid_editable_new_value),t.innerHTML=c),t.classList.add("edited")}catch(e){t.innerHTML=i,t.classList.add("edited-error")}else t.innerHTML=i;t.classList.remove("editing")};t.querySelectorAll("input, textarea, select").forEach(e=>{e.addEventListener("blur",()=>u(e)),e.addEventListener("keydown",n=>{if(_(n))return n.stopPropagation(),n.preventDefault(),u(e);(function(e){return"Escape"===e.key})(n)&&(n.stopPropagation(),n.preventDefault(),t.classList.remove("editing"),t.innerHTML=i)}),e instanceof HTMLSelectElement&&e.addEventListener("change",()=>u(e))})}})})}}class ut{onInit(e){}onDatagridInit(e){return e.ajax.addEventListener("success",({detail:{payload:t}})=>{var i,n;if(t._datagrid_name&&t._datagrid_name===e.name){if(t._datagrid_inline_edited||t._datagrid_inline_edit_cancel){const i=e.el.querySelector(".datagrid-inline-edit-trigger");if(t._datagrid_inline_edited){e.el.querySelectorAll(`tr[data-id='${t._datagrid_inline_edited}'] > td`).forEach(e=>{e.classList.add("edited")})}return void(null==i||i.classList.remove("hidden"))}if(t._datagrid_inline_adding){const t=e.el.querySelector(".datagrid-row-inline-add");t&&(t.classList.remove("datagrid-row-inline-add-hidden"),null===(i=t.querySelector("input:not([readonly]), textarea:not([readonly])"))||void 0===i||i.focus())}t._datagrid_inline_editing&&(null===(n=e.el.querySelector(".datagrid-inline-edit-trigger"))||void 0===n||n.classList.add("hidden")),e.el.querySelectorAll(".datagrid-inline-edit input").forEach(e=>{e.addEventListener("keydown",t=>{var i,n;if(_(t))return t.stopPropagation(),t.preventDefault(),null===(n=null===(i=e.closest("tr"))||void 0===i?void 0:i.querySelector(".col-action-inline-edit [name='inline_edit[submit]']"))||void 0===n?void 0:n.click()})}),e.el.querySelectorAll(".datagrid-inline-add input").forEach(e=>{e.addEventListener("keydown",t=>{var i,n;if(_(t))return t.stopPropagation(),t.preventDefault(),null===(n=null===(i=e.closest("tr"))||void 0===i?void 0:i.querySelector(".col-action-inline-edit [name='inline_add[submit]']"))||void 0===n?void 0:n.click()})}),e.el.querySelectorAll("[data-datagrid-cancel-inline-add]").forEach(e=>{e.addEventListener("mouseup",t=>{if(0===t.button){t.stopPropagation(),t.preventDefault();const i=e.closest(".datagrid-row-inline-add");i&&i.classList.add("datagrid-row-inline-add-hidden")}})})}}),!0}}class ht{onDatagridInit(e){return e.el.querySelectorAll("[data-toggle-detail-grid]").forEach(t=>{if(t.getAttribute("data-toggle-detail-grid")!==e.name)return;const i=t.getAttribute("data-toggle-detail");t.addEventListener("click",n=>{const r=e.el.querySelector(`.item-detail-${e.name}-id-${i}`);t.closest("tr"),r&&(r.classList.add("datagrid--content-row"),r.classList.toggle("is-active")),e.ajax.addEventListener("before",t=>{t.detail.params.url.includes(`do=${e.name}-getItemDetail`)&&t.detail.params.url.includes(`grid-id=${i}`)&&(t.stopPropagation(),t.preventDefault())})})}),e.ajax.addEventListener("success",({detail:{payload:t}})=>{var i;t._datagrid_redraw_item_id&&t._datagrid_redraw_item_class&&(null===(i=e.el.querySelector(`tr[data-id='${t._datagrid_redraw_item_id}']`))||void 0===i||i.setAttribute("class",t._datagrid_redraw_item_class))}),!0}}class pt{onDatagridInit(e){return e.ajax.addEventListener("before",e=>{}),e.ajax.addEventListener("success",({detail:{payload:e}})=>{var t,i;if(e._datagrid_tree){const n=e._datagrid_tree,r=document.querySelector(`.datagrid-tree-item[data-id="${n}"]`),s=document.querySelector(`.datagrid-tree-item[data-id="${n}"] .datagrid-tree-item-children`);if(s){if(s.classList.contains("showed")){if(s.innerHTML="",s.classList.remove("showed"),r){const e=r.querySelector("a.chevron");e&&(e.style.transform="rotate(0deg)")}return}if(s.classList.add("showed"),r){const e=r.querySelector("a.chevron");e&&(e.style.transform="rotate(90deg)")}const n=e.snippets;for(const e in n){const r=n[e],o=(new DOMParser).parseFromString(r,"text/html").querySelector("[data-id]"),a=null!==(t=null==o?void 0:o.getAttribute("data-id"))&&void 0!==t?t:"",l=`\n<div class="datagrid-tree-item" class='${null!==(i=null==o?void 0:o.hasAttribute("data-has-children"))&&void 0!==i&&i?"has-children":""}' id="${e}" data-id="${a}">${r}</div>`;s.innerHTML=l}}}}),!0}}
8
8
  /**!
9
9
  * Sortable 1.15.6
10
10
  * @author RubaXa <trash@rubaxa.org>