PageSourceSearch

https://www.vdma.eu/o/vdma-new-eu-theme/js/vdma-d3-script-loader-v4.js

js vdma.eu collected 2026-09-24 17:58:21 UTC 62,462 bytes, 18 lines download raw bytes

1
2const VDMAChartScriptsV4 = (function () {
3    return {
4        init: function () {
5            //Here we get script for the new charts
6            initChartV4();
7        }
8    };
9})();
10function initChartV4() {
11    !function(s,f){"use strict";const y=[function(e){P(e,e.dataFiltered,"bargroup-container",t=>"translate(0,"+e.y(t[e.yAxis.col])+")").append("rect").attr("y",t=>e.y.bandwidth()/2-(L?15:8)).attr("x",t=>t[e.xAxis.col]<0?e.x(t[e.xAxis.col]):e.x(0)).attr("width",t=>t[e.xAxis.col]<0?e.x(0)-e.x(t[e.xAxis.col]):e.x(t[e.xAxis.col])-e.x(0))},function(e){const t=e.d3Chart.querySelectorAll(".y-axis > .tick"),s=+t[0].attributes.transform.value.split(",")[1].slice(0,-1),i=+t[1].attributes.transform.value.split(",")[1].slice(0,-1)-s;P(e,e.subgroupData,"bargroup-container",(t,e)=>"translate(0,"+(s+i*e-5*(2*t.length-1))+")").selectAll("rect").data(t=>t).enter().append("rect").attr("y",(t,e,s)=>10*(s.length-e-1)*2).attr("width",t=>e.x(t[e.xAxis.col]))},function(l){if(l.svgGraph.append("g").attr("class","data-container"),["month","quarter"].includes(l.xAxis.type)){const n=[];l.lineData=n;let e=[],s=l.dataFiltered[0][l.sort.col];l.dataFiltered.forEach(t=>{s!=t[l.sort.col]&&(e.length&&n.push(e),e=[],s=t[l.sort.col]),isNaN(t[l.yAxis.col])||e.push(t)}),e.length&&n.push(e),l.lineData=n;let a;a="month"==l.xAxis.type?12:"quarter"==l.xAxis.type?4:1,l.subgroups.forEach(t=>{var s,e,i;F(l.svgGraph.select("g.data-container").append("path").attr("data-line-data",l.yAxis.col).attr("data-class","line-"+l.yAxis.col).attr("d",(s=l,e=t,t=n,i=a,d3.line().x((t,e)=>{e%=i;return s.x(t[0][s.xAxis.col].split("-")[1])+e*(s.x.bandwidth()/i)}).y(t=>{t=t.filter(t=>t[s.subgroup.col]===e);return s.y(t.length?t[0][s.yAxis.col]:0)})(t))),l),N(l.svgGraph.select("g.data-container").append("circle").attr("class","line-"+l.yAxis.col).attr("r",A).style("visibility","hidden"),l)}),F(l.svgGraph.selectAll("g.data-container path"),l),N(l.svgGraph.selectAll("g.data-container circle"),l)}else l.subgroupData=function(s){const t=[];return s.subgroups.forEach(e=>{t.push(s.dataFiltered.filter(t=>t[s.subgroup.col]===e))}),t}(l),l.subgroupData.forEach(t=>{var e=d3.line().x(t=>l.x(t[l.xAxis.col])+l.x.bandwidth()/2).y(t=>l.y(t[l.yAxis.col]));F(l.svgGraph.select("g.data-container").append("path").attr("d",e(t)),l),N(l.svgGraph.select("g.data-container").append("circle").attr("r",A).style("visibility","hidden"),l)})},function(e){const s=d3.scaleBand().domain(e.subgroups).range([0,e.x.bandwidth()]).padding(1.2);P(e,e.subgroupData,"bargroup-container",t=>"translate("+e.x(t[0][e.xAxis.col])+",0)").selectAll("rect").data(t=>t).enter().append("rect").attr("x",t=>s(t[e.subgroup.col])-5).attr("y",t=>e.y(t[e.yAxis.col])).attr("height",t=>e.chartHeight-e.y(t[e.yAxis.col]))},function(e){const s=L?15:8,t=(P(e,e.dataFiltered,"bargroup-container",!1).append("rect").attr("class",e.tooltipMapping[0]).attr("x",t=>e.x(t[e.xAxis.col])+e.x.bandwidth()/2-s).attr("y",t=>{t=t[e.zAxis.col];return 0<t?e.z(t):e.z(0)}).attr("height",t=>{t=t[e.zAxis.col];return 0<t?e.z(0)-e.z(t):e.z(t)-e.z(0)}),d3.line().x(t=>e.x(t[e.xAxis.col])+e.x.bandwidth()/2).y(t=>e.y(t[e.yAxis.col])));var i=e.svgGraph.select("g.data-container").append("path").attr("d",t(e.dataFiltered));F(i,e),N(e.svgGraph.select("g.data-container").append("circle").attr("class",e.tooltipMapping[1]).attr("r",A).style("visibility","hidden"),e)},function(i){const t=d3.stack().keys(i.subgroups).value((t,e)=>{for(var s of t)if(s[i.subgroup.col]===e)return s[i.yAxis.col]})(i.subgroupData),e=L?15:8;var s=i.svgGraph.append("g").attr("class","data-container").selectAll("g").data(t).join("g").attr("class","stacked-container").selectAll("rect").data(t=>t).join("rect").attr("data-id",(t,e)=>"r"+e).attr("x",t=>i.x(t.data[0][i.xAxis.col])+i.x.bandwidth()/2-e).attr("y",t=>i.y(t[1])).attr("height",(t,e)=>i.y(t[0])-i.y(t[1]));N(s,i)},function(e){P(e,e.dataFiltered,"bargroup-container",!1).append("rect").attr("class",e.tooltipMapping[0]).attr("x",t=>e.x(t[e.xAxis.col])).attr("y",t=>e.y(t[e.yAxis.col])).attr("width",t=>g/2-e.x(t[e.xAxis.col])),P(e,e.dataFiltered,"bargroup-container",!1).append("rect").attr("class",e.tooltipMapping[1]).attr("x",t=>e.w(0)).attr("y",t=>e.y(t[e.yAxis.col])).attr("width",t=>e.w(t[e.wAxis.col])-g/2).attr("height",e.y.bandwidth())},function(s){const t=d3.pie().value(t=>t[2]).sort(null),e=t(s.dataFiltered),i=.5*Math.min(400,+s.d3Chart.querySelector(".chart-svg").clientWidth),a=d3.arc().innerRadius(.7*i).outerRadius(.9*i),l=d3.arc().innerRadius(.7*i).outerRadius(i);s.svgGraph.append("g").attr("class","data-container").selectAll("allSlices").data(e).join("path").attr("d",a).on("mouseover",(t,e)=>
11{s.pieTitle.innerHTML=E(e.data[2],s.dataTypes[2]),s.pieSubtitle.innerHTML=e.data[1]}).on("mousemove",(t,e)=>{d3.select(t.target).attr("d",l)}).on("mouseout",(t,e)=>{s.pieTitle.innerHTML=H(s),s.pieSubtitle.innerHTML=s.pieData.subtitle,d3.select(t.target).attr("d",a)})},function(n){n.svgGraph.append("g").attr("class","data-container");const r=[[],[]];n.lineData=r;for(let i=0;i<n.yAxis.col.length;i++){let e=[],s=n.dataFiltered[0][n.sort.col];n.dataFiltered.forEach(t=>{s!=t[n.sort.col]&&(e.length&&r[i].push(e),e=[],s=t[n.sort.col]),t[n.yAxis.col[i]]&&e.push(t)}),e.length&&r[i].push(e)}n.lineData=r,n.subgroups.forEach(l=>{[0,1].forEach(t=>{var s,e,i,a;n.svgGraph.select("g.data-container").append("path").attr("data-line-data",n.yAxis.col[t]).attr("data-class","line-"+n.yAxis.col[t]).attr("d",(s=n,e=l,i=r[t],a=t,d3.line().x((t,e)=>{e%=12;return s.x(t[0][s.xAxis.col].split("-")[1])+e*(s.x.bandwidth()/12)}).y(t=>{t=t.filter(t=>t[s.subgroup.col]===e);return s.y(t.length?t[0][void 0!==a?s.yAxis.col[a]:s.yAxis.col]:0)})(i))),n.svgGraph.select("g.data-container").append("circle").attr("class","line-"+n.yAxis.col[t]).attr("r",A).style("visibility","hidden")})}),F(n.svgGraph.selectAll("g.data-container path"),n),N(n.svgGraph.selectAll("g.data-container circle"),n)},function(a){const t=a.table,e=t.querySelector("tbody");a.dataFiltered.forEach(s=>{const i=f.createElement("tr");a.tableData.columnsToShow.forEach(t=>{var e=f.createElement("td");e.innerHTML=E(s[t],a.dataTypes[t]),i.appendChild(e)}),e.appendChild(i)}),t.clientWidth-1>p&&a.d3Chart.classList.add("size-large")},function(e){P(e,e.dataFiltered,"bargroup-container",t=>"translate("+e.x(t[e.xAxis.col])+",0)").append("rect").attr("x",t=>e.x.bandwidth()/2-(L?15:8)).attr("y",t=>0<t[e.yAxis.col]?e.y(t[e.yAxis.col]):e.y(0)).attr("height",t=>0<t[e.yAxis.col]?e.y(0)-e.y(t[e.yAxis.col]):e.y(t[e.yAxis.col])-e.y(0))}],x={x:function(t,e,s,i){var a=i.dataTypes[s.col],l="number"==a||"float"==a,n=l?d3.scaleLinear():d3.scaleBand();6==i.chartType?n.range([(g-i.yAxisWidth)/2,0]):n.range([0,g-i.yAxisWidth-(i.zAxisWidth||0)]);var r=t.append("g").attr("class","x-axis");switch(i.chartType){case 0:!function(t,e,s,i,a){var l=d3.min(t,t=>t[i.col]),t=d3.max(t,t=>t[i.col]);l<0&&0<t?s.domain([1.2*l,1.1*t]):l<0?s.domain([1.1*l,0]):s.domain([0,1.1*t]);
11e.call(d3.axisBottom(s).tickSize(1.01*-a.chartHeight).tickPadding([c]).ticks(C?5:10)).call(t=>t.select(".domain").remove())}(e,r,n,s,i);break;case 1:case 3:case 6:!function(t,e,s,i,a,l){let n=[];t.forEach(t=>{n.push(t[i.col])}),l?s.domain([0,1.1*d3.max(n)]):(l=t.map(t=>t[i.col]),s.domain(l));e.call(d3.axisBottom(s).tickPadding([c]).tickSize(3===a.chartType?0:1.01*-a.chartHeight).ticks(C?5:10)).call(t=>t.select(".domain").remove())}(e,r,n,s,i,l);break;case 7:break;default:!function(t,e,s,i){t=t.map(t=>["month","quarter"].includes(i.type)?t[i.col].split("-")[1]:t[i.col]);s.domain(t),e.call(d3.axisBottom(s).tickPadding([c])).call(t=>t.select(".domain").remove())}(e,r,n,s)}return r.attr("transform",`translate(0,${i.chartHeight})`),n},y:function(t,e,s,i){var a=Array.isArray(s.col)?i.dataTypes[s.col[0]]:i.dataTypes[s.col],a="number"==a||"float"==a,l=a?d3.scaleLinear().range([i.chartHeight,0]):d3.scaleBand().range([0,i.chartHeight]),n=t.append("g").attr("class","y-axis");a?function(l,t,n,e){switch(e.chartType){case 2:var s=d3.min(l,t=>t[n.col]),i=d3.max(l,t=>t[n.col]);t.domain([n.min?s<0?Math.round(s*((100+(isNaN(n.min)?10:n.min))/100)):s*((100-(isNaN(n.min)?10:n.min))/100):s<0?Math.round(1.1*s):0,1.1*i]);break;case 4:s=d3.min(l,t=>t[n.col]),i=d3.max(l,t=>t[n.col]);t.domain([.9*s,1.1*i]);break;case 10:var a=d3.min(l,t=>t[n.col]),r=d3.max(l,t=>t[n.col]);t.domain([a<0?1.1*a:0,0<r?1.1*r:0]);break;case 8:a=d3.min(l,t=>d3.min([t[e.yAxis.col[0]],t[e.yAxis.col[1]]].filter(t=>null!=t))),r=d3.max(l,t=>d3.max(t.slice(e.yAxis.col[0],e.yAxis.col[1])));t.domain([.9*a,1.05*r]);break;default:{let a=0;if(n.type&&"sum"==n.type){let s=l[0][n.sumBy],i=0;for(let t=0,e=l.length;t<e;t++){var o=l[t];o[n.sumBy]!=s?(i>a&&(a=i),i=o[n.col],s=o[n.sumBy]):(i+=o[n.col],t==e-1&&i>a&&(a=i))}}else a=d3.max(l,t=>t[n.col]);t.domain([0,void 0!==n.max?a*((100+(isNaN(n.max)?10:n.max))/100):1.1*a]);break}}}(e,l,s,i):l.domain(e.map(t=>t[s.col]));switch(i.chartType){case 0:case 1:n.call(d3.axisLeft(l).tickSize(0).tickPadding([c])).call(t=>t.select(".domain").remove());break;case 6:l.padding(1-e.length/(i.chartHeight-30)*16),n.attr("transform",`translate(${g/2}, 0)`).call(d3.axisRight(l)).call(t=>t.select(".domain").remove()).call(t=>t.selectAll("line").remove()).selectAll("text").attr("transform","translate(18,-16)").attr("text-anchor","middle");default:n.call(d3.axisLeft(l).tickSize(i.zAxis?0:-g+w.left).tickPadding([c])).call(t=>t.select(".domain").remove())}let r=0;t.node().querySelectorAll("text").forEach(t=>{let e=t.getBoundingClientRect().width;(e=e||8*t.innerHTML.length)>r&&(r=e)}),i.yAxisWidth=6==i.chartType?0:r,[0,1,4,6].includes(i.chartType)||t.selectAll("g.y-axis g.tick line").attr("x2",g-r);return l},z:function(t,e,s,i){var a=d3.scaleLinear().range([i.chartHeight,0]),t=t.append("g").attr("class","z-axis"),l=d3.min(e,t=>t[s.col]),e=d3.max(e,t=>t[s.col]);a.domain([0<l?0:1.2*l,1.2*e]),t.call(d3.axisRight(a).tickSize(-g+i.yAxisWidth+w.right+w.left).tickPadding([c])).call(t=>t.select(".domain").remove());let n=0;t.node().querySelectorAll("text").forEach(t=>{let e=t.getBoundingClientRect().width;(e=e||8*t.innerHTML.length)>n&&(n=e)}),i.zAxisWidth=n,t.attr("transform",`translate(${g-i.yAxisWidth-n},0)`),L&&t.selectAll("text").style("text-anchor","end").attr("transform","translate(20,0)");return a},w:function(t,e,s,i){var a=d3.scaleLinear().range([g/2,g]),t=t.append("g").attr("class","w-axis"),e=d3.max(e.map(t=>t[s.col]));return a.domain([0,1.1*e]),t.attr("transform","translate(0,"+i.chartHeight+")").call(d3.axisBottom(a).ticks(C?5:10).tickSize(1.01*-i.chartHeight).tickPadding([c])).call(t=>t.select(".domain").remove()),a}},n={multiselect:function(s,t){const i=f.createElement("select");return i.setAttribute("multiple","multiple"),s.values=[...new Set(s.values)],s.values.forEach(t=>{var e=f.createElement("option");e.value=t,e.innerHTML=t,s.selected.includes(t)&&(e.selected=!0),i.appendChild(e)}),i},select:function(t,e){var s=f.createElement("div"),i=f.createElement("select");return s.classList.add("chart-filter"),s.classList.add("filter-select"),t.values=[...new Set(t.values)],t.values.forEac
11h(function(t,e,s){var i=f.createElement("option");i.value=s,i.innerHTML=s,e.selected==s&&(i.selected=!0);t.appendChild(i)}.bind(this,i,t)),s.appendChild(i),i.addEventListener("change",z),s}},i="https://waliferaydemo.azurewebsites.net/vdma-d3/",t={local:"http://localhost:7071/api/ChartFunction?",dev:"https://devmuk001-fa-api.azurewebsites.net/api/ChartFunction?",test:"https://testmuk001-fa-api.azurewebsites.net/api/ChartFunction?",prod:"https://vdmaazure-prodmuk001-prod-fa-001.azurewebsites.net/api/ChartFunction?"},e={local:"code=notneeded",dev:"code=bfygjMb_Zf2THxSMbLxsgBunwYplmmmwznBVzkpcJsIRAzFud6RmNA==",test:"code=t4J1WyOHEPNKe2mWiJxCYfWU1TZXHQplnwJW-jRKks4OAzFu9WmIRw==",prod:"code=EkeZMxU3Bw5wQNSnXbpxISRn0x4ean3KE_3ZbfuDitOCAzFup9yc9g=="},a=(d=s.location.search,d=(d=new URLSearchParams(d)).get("env"),t[d||"prod"]),l=(d=s.location.search,d=(d=new URLSearchParams(d)).get("env"),e[d||"prod"]),w={top:30,right:30,bottom:50,left:30},r={mobile:768,tablet:1024,desktop:1280},o=-1<f.documentElement.lang.indexOf("en"),A=7,c=20,L=f.body.clientWidth<r.mobile,C=f.body.clientWidth<r.tablet+1;var d;let h={},p=b(),u=v(),g=p-w.left-w.right,S=u-w.top-w.bottom,m;function v(){return L?p:.546875*p}function b(t){var e=(t?t.parentElement:f.body).clientWidth;return t&&t.parentElement.classList.contains("vdma-modal-content-info__body")?e<r.tablet?e:15*e/24:e<r.tablet?e<r.mobile?11*e/12:5*e/6:13*e/24}function E(t,e){if(""===t||null==t)return"";switch(e){case"float":case"percent":return d3.format(".1f")(t);case"number":return d3.format(",.0f")(t);default:return t}}function T(){var t,e;s.vdmaD3Loaded||(s.vdmaD3Loaded=!0,o||d3.formatDefaultLocale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),t=f.getElementsByTagName("head")[0],(e=f.createElement("link")).rel="stylesheet",e.href=i+"vdma-d3.css?v="+1e3*Math.random(),e.onload=O,t.appendChild(e))}function O(){var t=f.querySelectorAll(".vdma-chart");t[0]&&(p=b(t[0]),u=v(),g=p-w.left-w.right,S=u-w.top-w.bottom),t.forEach(s=>{s.style.removeProperty("padding");var t=a+l+"&ID="+s.getAttribute("data-id")+"&lang="+(o?"en":"de");fetch(t).then(t=>t.json()).then(t=>{var e;e=s,(t=t)&&((h[t.id]=t).d3Chart=function(t,e){var s=function(){var t=f.createElement("div");return t.classList.add("chart-section"),t.innerHTML=`
12			<div class="chart-filters"></div>
13			<div class="chart-container"></div>
14		`,t}();t.classList.add("chart-type-"+e.chartType),t.id="vdma-chart-"+e.id,t.appendChild(function(t){var e=f.createElement("div");return e.classList.add("title-section"),e.innerHTML=`
15			<p class='copy-200'>${t.title}</p>
16			<p class='copy-100'>${t.subTitle}</p>
17			<p class='label-note-050'>${t.source}</p>
18		`,e}(e)),t.appendChild(s),e.footNotes&&t.appendChild((()=>{const s=f.createElement("div");return s.classList.add("footnotes"),e.footNotes.forEach(t=>{var e;s.appendChild(((e=f.createElement("div")).classList.add("footnote"),e.classList.add("label-note-050"),e.innerHTML=t,e))}),s})());return e.filters.forEach(function(t,e,s,i,a){var l=n[i.type](i,t);l.setAttribute("data-data-id",t),l.setAttribute("data-filter-id",a),e.querySelector(".chart-filters").appendChild(l),"multiselect"==i.type&&new SlimSelect({select:l,settings:{showSearch:!0,searchPlaceholder:"Suchen",searchHighlight:!0,closeOnSelect:!1,allowDeselect:!0,placeholderText:"Option wählen",maxValuesShown:L?1:5,minSelected:1,maxValuesMessage:"{number} Einträge ausgewählt"},events:{afterChange:B}})}.bind(this,e.id,t,s)),t.querySelector(".chart-filters").appendChild(function(t){var e=f.createElement("a");return e.classList.add("download-select"),e.href=i+"vdma-chart-"+t+".png",e.setAttribute("download","vdma-chart-"+t+".png"),e.setAttribute("target","_blank"),e}(e.id)),t}(e,t),9===t.chartType?function(t,s){const e=f.createElement("table"),i=f.createElement("thead"),a=f.createElement("tbody"),l=s.tableData,n=f.createElement("tr");l.columnsToShow.forEach(t=>{var e=f.createElement("th");e.textContent=!l.titlesToShow||l.titlesToShow.includes(t)?l.columns[t]:"",e.setAttribute("data-index",t),l.sortable&&e.addEventListener("click",function(t,e){var s=t.table.querySelector(".sort"),i=e.target.getAttribute("data-index");s&&(s.getAttribute("data-index")===i?s.classList.toggle("asc"):(s.classList.remove("sort","asc"),e.target.classList.add("sort")));e.target.classList.add("sort"),k(t)}.bind(this,s)),n.appendChild(e)}),i.appendChild(n),e.appendChild(i),e.appendChild(a),l.sortable&&e.classList.add("sortable");l.size&&s.d3Chart.classList.add("size-"+l.size);
18l.separators&&l.separators.forEach(t=>{e.classList.add("separator-"+t)});e.classList.add("vdma-chart-table"),t.querySelector(".chart-container").appendChild(e),s.table=e}(e,t):(t.svgGraph=function(t){return d3.select("#vdma-chart-"+t.id+" .chart-container").append("svg").attr("class","chart-svg").attr("height",D(t)).attr("width",p).append("g")}(t),t.tooltip=function(t){return d3.select("#vdma-chart-"+t).append("div").attr("class","d3-tooltip")}(t.id),t.legend=function(t){return d3.select("#vdma-chart-"+t).append("div").attr("class","chart-legend")}(t.id)),k(t),t.pieData&&t.d3Chart.querySelector(".chart-container").appendChild(function(t){var e=f.createElement("div"),s=f.createElement("p"),i=f.createElement("p"),a=f.createElement("p");return e.setAttribute("class","pie-text"),s.setAttribute("class","pie-title"),i.setAttribute("class","pie-subtitle"),a.setAttribute("class","pie-unit"),s.innerHTML=H(t),i.innerHTML=t.pieData.subtitle,a.innerHTML=t.pieData.unit,e.appendChild(s),e.appendChild(a),e.appendChild(i),t.pieTitle=s,t.pieSubtitle=i,e}(t)),m||(m=t.d3Chart.clientWidth||t.d3Chart.parentElement.clientWidth-1,f.documentElement.style.setProperty("--width-without-scrollbar",m+"px")))}).catch(t=>{})})}function D(t){return 7==t.chartType?L?Math.min(400,p):Math.min(t.d3Chart.querySelector(".chart-section").getBoundingClientRect().width,400):u}function B(s){const i=f.getElementById(s[0].id).parentElement,t=i.getAttribute("data-data-id"),e=h[t];e.filters.forEach((t,e)=>{e==i.getAttribute("data-filter-id")&&(t.selected=s.map(t=>t.value))}),k(e)}function k(t){d3.selectAll("#vdma-chart-"+t.id+" g > *").remove(),9==t.chartType&&(t.table.querySelector("tbody").innerHTML=""),t.chartHeight=S;var s,e,i,c=t,a=(c.dataFiltered=JSON.parse(JSON.stringify(c.data)),c.tempData=[],c.filters.forEach(e=>{var s=e.col;switch(e.type){case"select":{var i=e;var a=c;var l=s;let t=a.dataFiltered.length-1;for(;0<=t;)i.cut?("start"==i.cut&&+i.selected>+a.dataFiltered[t][l]&&a.dataFiltered.splice(t,1),"end"==i.cut&&+i.selected<+a.dataFiltered[t][l]&&a.dataFiltered.splice(t,1)):i.connected?i.selected==a.dataFiltered[t][l]&&a.tempData.push(a.dataFiltered.slice(t,t+1)[0]):i.selected!=a.dataFiltered[t][l]&&a.dataFiltered.splice(t,1),--t;!i.connected&&a.tempData.length&&(a.dataFiltered=a.tempData)}break;case"multiselect":{var n=e;var r=c;var o=s;let t=r.dataFiltered.length-1;for(;0<=t;)n.selected.includes(r.dataFiltered[t][o])||r.dataFiltered.splice(t,1),--t}}}),c.tempData.length&&(c.dataFiltered=c.tempData),c);if(a.sort&&(a.sort.type&&["month","quarter"].includes(a.xAxis.type)?a.dataFiltered.sort((t,e)=>{e=e[a.sort.col].split("-"),t=t[a.sort.col].split("-"),e=new Date(e[1]+"-"+e[0]);return new Date(t[1]+"-"+t[0])-e}):(18!=a.id&&19!=a.id||(a.sort.order="desc"),a.dataFiltered.sort((t,e)=>a.sort.order&&"asc"==a.sort.order.toLowerCase()?t[a.sort.col]-e[a.sort.col]:e[a.sort.col]-t[a.sort.col]),18!=a.id&&19!=a.id||a.dataFiltered.push(a.dataFiltered.shift()))),9==a.chartType){var l=a;const h=l.table.querySelector(".sort"),p=h&&h.getAttribute("data-index"),u=h&&h.classList.contains("asc");h&&("string"===l.dataTypes[p]?l.dataFiltered.sort((t,e)=>u?t[p]>e[p]?1:e[p]>t[p]?-1:0:t[p]<e[p]?1:e[p]<t[p]?-1:0):l.dataFiltered.sort((t,e)=>u?t[p]-e[p]:e[p]-t[p]))}if(s=t,[0,9].includes(s.chartType)||(s.subgroups=[...new Set(s.dataFiltered.map(t=>t[s.subgroup.col]))],5==s.chartType&&(s.stackOrder?s.subgroups.sort((t,e)=>s.stackOrder.indexOf(e)-s.stackOrder.indexOf(t)):s.stackOrder=[...s.subgroups].reverse())),L){var n=t;switch(n.chartType){case 0:case 4:case 6:"year"==n.dataTypes[n.xAxis.col]?n.dataFiltered.splice(0,n.dataFiltered.length-5):n.dataFiltered.splice(5);break;case 10:n.dataFiltered.splice(0,n.dataFiltered.length-5);break;case 3:n.dataFiltered.splice(0,n.dataFiltered.length-10);break;case 5:n.dataFiltered.splice(0,(n.dataFiltered.length/n.subgroups.length-5)*n.subgroups.length)}}if([1,3,5].includes(t.chartType)&&(t.subgroupData=function(s){const t=[],i=s[s.subgroup.direction].col;let a=s.dataFiltered[0][i],l=s.stackOrder||!1,n=[];return s.dataFiltered.forEach(e=>{a!==e[i]&&(a=e[i],l=l||n.toSorted((t,e)=>t[s.yAxis.col]-e[s.yAxis.col]).map(t=>t[s.subgroup.col]),n.sort((t,e)=>l.indexOf(e[s.subgroup.col])-l.indexOf(t[s.subgroup.col])),t.push(n),n=[]),s.subgroups.forEach(t=>{e[s.subgroup.col]===t&&n.push(e)})}),n.sort((t,e)=>l.indexOf(e[s.subgroup.col])-l.indexOf(t[s.subgroup.col])),t.push(n),t}(t),t.subgroups=(e=t,[...new Set(e.subgroupData[0].map(t=>t[e.subgroup.col]))])),[0,1,6].includes(t.chartType)&&(l=function(t){let e=2*(t.subgroupData||t.dataFiltered).length*16;6==t.chartType&&(e*=L?1.8:1.2);return Math.max(e,S)}
18(t),d3.select("#vdma-chart-"+t.id+" .chart-svg").attr("height",l+w.bottom+w.top),t.chartHeight=l),i=t,["w","y","z","x"].forEach(t=>{i[t+"Axis"]&&(i[t]=x[t](i.svgGraph,i.dataFiltered,i[t+"Axis"],i))}),y[t.chartType](t),t.legendData){var r=t;if(r.legend){const g=Array.isArray(r.legendData)?r.legendData:r.subgroups,m=r.legend.node();m.innerHTML="",g.forEach(t=>{var e=f.createElement("div");e.setAttribute("class","legend-item"),e.innerHTML=t,m.appendChild(e)})}}if(t.svgGraph){r=t;if(L||6==r.chartType||r.subgroupData&&15<r.subgroupData.length||!r.subgroupData&&!r.lineData&&15<r.dataFiltered.length){const v=r.subgroupData&&20<r.subgroupData.length||!r.subgroupData&&20<r.dataFiltered.length,b=r.d3Chart.querySelectorAll(".x-axis text, .w-axis text");d3.selectAll(b).style("text-anchor","end").style("font-size",v?"12px":"14px").attr("dx",v?"-2em":"-1em").attr("dy",v?"-2.5em":".5em").attr("transform",v?"translate(10, -10) rotate(-90)":"translate(10, -10) rotate(-45)");let e=0;d3.selectAll(b).each(t=>{t=t.length*(v?8:5);t>e&&(e=t)}),r.d3Chart.querySelector("svg").setAttribute("height",D(r)+e/2)}var o,d=(7==t.chartType?t.d3Chart.querySelector(".chart-container"):t.d3Chart.querySelector(".data-container")).getBoundingClientRect().width,d=(t.dataContainerWidth=d||t.d3Chart.parentElement.clientWidth/24*(C?24:15)-t.yAxisWidth-(t.zAxisWidth||0)-w.left-w.right,7==t.chartType&&(o=Math.min(400,t.dataContainerWidth),t.d3Chart.querySelector(".chart-svg").setAttribute("width",o),t.pieTitle)&&(t.pieTitle.innerHTML=H(t),t.pieSubtitle.innerHTML=t.pieData.subtitle||""),7==t.chartType?`translate(${o/2},${o/2})`:`translate(${w.left+t.yAxisWidth},${w.top})`);t.svgGraph.attr("transform",d),t.subgroups&&1<t.subgroups.length&&(t.subgroups.length,t.d3Chart.className.includes("color-count")&&(o=t.d3Chart.className.split(" "),t.d3Chart.classList.remove(o.pop())),t.d3Chart.classList.add("color-count-"+t.subgroups.length))}}function z(t){const e=t.target,s=e.value,i=e.parentElement,a=i.getAttribute("data-data-id"),l=h[a];l.filters.forEach((t,e)=>{e==i.getAttribute("data-filter-id")&&(t.selected=s)}),k(l)}function q(s,i,a,l,n){for(let e=0,t=i.length;e<t;e++){var r,o,c=i[e];let t=c;-1<c.indexOf("[")&&(r=function(n,t,r,e){let o="";for(let l of t){const c=(l=l.slice(1,-1)).match(/\{([^}]+)\}/g);(e.data||e).forEach(t=>{let e=l;for(var s of c){var i,a=s.slice(1,s.length-1);isNaN(+a)?"ind"==a&&(i=n.target.classList[0].split("-")[1],e=e.replace(s,E(t[i],r.dataTypes[i]))):e=e.replace(s,E(Array.isArray(t)?t[a]:t,(Array.isArray(r.dataTypes[1])?r.dataTypes[1]:r.dataTypes)[a]))}o+=e})}return o}(s,c.match(/\[([^\]]+)\]/g),a,l),t=t.replace(/\[([^\]]+)\]/g,r));for(o of t.match(/\{([^}]+)\}/g)){var d=o.slice(1,-1);a.tooltipMapping?a.tooltipMapping.indexOf(n)==e&&(t=t.replace(o,E(l[d],a.dataTypes[d]))):t=t.replace(o,E((l.data?l.data[0]:Array.isArray(l[0])?l[0]:l)[d],a.dataTypes[d]))}if(t!=c)return t}}function V(t,e,s){var i=t.tooltipTemplates,i=(s=s||function(e,t){var s=e.subgroupData?e.dataFiltered.length/e.subgroupData.length:e.dataFiltered.length,i=(((i=e.d3Chart.parentElement.classList.contains("vdma-modal-content-info__body")?e.d3Chart.querySelector(".data-container").getBoundingClientRect():0)&&["month","quarter"].includes(e.xAxis.type)?i.width:e.dataContainerWidth)-A)/s,s=d3.pointer(t);let a=Math.round(s[0]/i),l=((a=t.target.attributes.getNamedItem("cidx")?t.target.attributes.getNamedItem("cidx").value:a)<0&&(a=0),e.subgroupData?e.subgroupData.map(t=>t[a]):e.dataFiltered[a]);return l=["month","quarter"].includes(e.xAxis.type)?e.dataFiltered.filter(t=>t[e.xAxis.col]==l[0]):l}(t,e),t.tooltipActive=!0,q(e,i,t,s,e.target.classList[0]));t.tooltip.html(i).style("visibility","visible"),(5==t.chartType?(t.svgGraph.selectAll(".data-container rect").classed("bar-not-active",!0),t.svgGraph.selectAll("[data-id='"+e.target.getAttribute("data-id")+"']")):(t.svgGraph.selectAll(".bargroup-container").classed("bar-not-active",!0),d3.select(e.target.parentElement))).classed("bar-not-active",!1)}function M(t){setTimeout(()=>{t.tooltipActive||t.svgGraph.selectAll("circle").style("visibility","hidden")},200)}function F(t,e){t.on("mousemove",function(a,l){const t=l.target.getAttribute("data-class"),e=a.subgroupData?a.dataFiltered.length/a.subgroupData.length:a.dataFiltered.length,s=a.d3Chart.parentElement.classList.contains("vdma-modal-content-info__body"),i=s?a.d3Chart.querySelector(".data-container").getBoundingClientRect():0,n=((i&&["month","quarter"].includes(a.xAxis.type)?i.width:a.dataContainerWidth)-A)/e,r=t?Math.round(d3.pointer(l)[0]/n):Math.floor(d3.pointer(l)[0]/n),o=a.svgGraph.selectAll("circle"+(t?"."+t:"")).style("visibility","visible");let c=a.subgroupData?a.subgroupData.map(t=>t[r]):[a.dataFiltered[r]],d,h;if("month"==a.xAxis.type){const p=c[0][0],u=p.split("-")[1],g=p.split("-")[0];d=a.x(u)+g*(a.x.bandwidth()/12),c=a.dataFiltered.filter(t=>t[a.xAxis.col]==p)}else if("quarter"==a.xAxis.type){const m=c[0][0],v=m.split("-")[1],b=m.split("-")[0];h=a.x(v)+b*(a.x.bandwidth()/4),c=a.dataFiltered.filter(t=>t[a.xAxis.col]==m)}c.forEach((s,i)=>{o.each(function(t,e){i==e&&("month"==a.xAxis.type?d3.select(this).attr("cx",d-5+"px").attr("cy",a.y(c.filter(t=>t[a.subgroup.col]===s[a.subgroup.col])[0][l.target.getAttribute("data-line-data")])):"quarter"==a.xAxis.type?d3.select(this).attr("cx",h-8.69+"px").attr("cy",a.y(c.filter(t=>t[a.subgroup.col]===s[a.subgroup.col])[0][l.target.getAttribute("data-line-data")])):d3.select(this).attr("cx",a.x(s[a.xAxis.col])+a.x.bandwidth()/2+"px").attr("cy",a.y(s[a.yAxis.col])+0+"px")).attr("cidx",r)})})}.bind(this,e)).on("mouseout",M.bind(this,e))}function N(t,e){return t.on("mouseover",V.bind(this,e)).on("mousemove",function(t,e){var s=t.tooltip.node(),i=t.d3Chart.parentElement.classList.contains("vdma-modal-content-info__body"),a=i?t.d3Chart.getBoundingClientRect():0,l=(i?e.clientY-a.top:e.clientY)-s.clientHeight-20,a=(i?e.clientX-a.left:e.clientX)-s.clientWidth/2;i&&t.tooltip.style("position","absolute"),t.tooltip.style("top",l+"px").style("left",a+"px")}.bind(this,e)).on("mouseout",function(t){t.tooltipActive=!1,t.tooltip.style("visibility","hidden"),t.svgGraph.selectAll(".bar-not-active").classed("bar-not-active",!1),M(t)}.bind(this,e))}function H(t){let e=(""+t.pieData.title).match(/\{([^}]+)\}/g)||t.pieData.title;return e=Array.isArray(e)&&"sum"===e[0].slice(1,-1)?E(t.dataFiltered.reduce((t,e)=>t+e[2],0),t.dataTypes[2]):e}function P(t,e,s,i){e=N(e=t.svgGraph.append("g").attr("class","data-container").selectAll("g").data(e).enter().append("g").attr("class",s),t);return i?e.attr("transform",i):e}s.addEventListener("load",function(){var t,e="d3-min-js";f.getElementById(e)?T():((t=f.createElement("script")).setAttribute("src",i+"d3.min.js"),t.setAttribute("id",e),f.body.appendChild(t),t.onload=T)},!1)}(window,document),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,function(){"use strict";function e(){return Math.random().toString(36).substring(2,10)}function a(i,a=50,l=!1){let n;return function(...t){const e=self,s=l&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,l||i.apply(e,t)},a),s&&i.apply(e,t)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class l{constructor(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t=t||{},this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected"}}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new r(e))}}
18class r{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class o{constructor(t,e){this.selectType="single",this.data=[],this.selectType=t,this.setData(e)}validateDataArray(t){if(!Array.isArray(t))return new Error("Data must be an array");for(var e of t){if(!(e instanceof n||"label"in e))return e instanceof r||"text"in e?this.validateOption(e):new Error("Data object must be a valid optgroup or option");if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(var s of e.options)return this.validateOption(s)}return null}validateOption(t){return"text"in t?null:new Error("Option must have a text")}partialToFullData(t){let s=[];return t.forEach(t=>{if(t instanceof n||"label"in t){let e=[];"options"in t&&t.options&&t.options.forEach(t=>{e.push(new r(t))}),0<e.length&&s.push(new n(t))}(t instanceof r||"text"in t)&&s.push(new r(t))}),s}setData(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t){this.setData(this.getData().concat(new r(t)))}setSelectedBy(t,e){let s=null,i=!1;for(var a of this.data){if(a instanceof n)for(var l of a.options)s=s||l,l.selected=!i&&e.includes(l[t]),l.selected&&"single"===this.selectType&&(i=!0);a instanceof r&&(s=s||a,a.selected=!i&&e.includes(a[t]),a.selected)&&"single"===this.selectType&&(i=!0)}"single"===this.selectType&&s&&!i&&(s.selected=!0)}getSelected(){let t=this.getSelectedOptions(),e=[];return t.forEach(t=>{e.push(t.value)}),e}getSelectedOptions(){return this.filter(t=>t.selected,!1)}getSelectedIDs(){let t=this.getSelectedOptions(),e=[];return t.forEach(t=>{e.push(t.id)}),e}getOptgroupByID(t){for(var e of this.data)if(e instanceof n&&e.id===t)return e;return null}getOptionByID(e){var t=this.filter(t=>t.id===e,!1);return t.length?t[0]:null}search(e,s){return""===(e=e.trim())?this.getData():this.filter(t=>s(t,e),!0)}filter(i,a){const l=[];return this.data.forEach(t=>{if(t instanceof n){let e=[];var s;t.options.forEach(t=>{i&&!i(t)||(a?e:l).push(new r(t))}),0<e.length&&((s=new n(t)).options=e,l.push(s))}t instanceof r&&(i&&!i(t)||l.push(new r(t)))}),l}getSelectType(){return this.selectType}}class c{constructor(t,e,s){this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=e,this.settings=t,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}enable(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}disable(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();var t=this.store.getSelectedOptions();t.length&&(t=t[t.length-1].id,t=this.content.list.querySelector('[data-id="'+t+'"]'))&&this.ensureElementInView(this.content.list,t)}close(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","fal
18se"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(const t of this.settings.class)""!==t.trim()&&(this.main.main.classList.add(t.trim()),this.content.main.classList.add(t.trim()));"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}mainDiv(){var t=document.createElement("div"),e=(t.dataset.id=this.settings.id,t.id=this.settings.id,t.tabIndex=0,t.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();var e=this.content.list.querySelector("."+this.classes.highlighted);return e&&e.click(),!1;case"Escape":return this.callbacks.close(),!1}},t.onclick=t=>{this.settings.disabled||(this.settings.isOpen?this.callbacks.close():this.callbacks.open())},document.createElement("div")),s=(e.classList.add(this.classes.values),t.appendChild(e),document.createElement("div")),i=(s.classList.add(this.classes.deselect),null==(i=this.store)?void 0:i.getSelectedOptions()),i=(!this.settings.allowDeselect||this.settings.isMultiple&&i&&i.length<=0?s.classList.add(this.classes.hide):s.classList.remove(this.classes.hide),s.onclick=e=>{if(e.stopPropagation(),!this.settings.disabled){let t=!0;var e=this.store.getSelectedOptions(),s=[];(t=this.callbacks.beforeChange?!0===this.callbacks.beforeChange(s,e):t)&&(this.settings.isMultiple?(this.callbacks.setSelected([],!1),this.updateDeselectAll()):this.callbacks.setSelected([""],!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange)&&this.callbacks.afterChange(s)}},document.createElementNS("http://www.w3.org/2000/svg","svg")),a=(i.setAttribute("viewBox","0 0 100 100"),document.createElementNS("http://www.w3.org/2000/svg","path")),l=(a.setAttribute("d",this.classes.deselectPath),i.appendChild(a),s.appendChild(i),t.appendChild(s),document.createElementNS("http://www.w3.org/2000/svg","svg")),n=(l.classList.add(this.classes.arrow),l.setAttribute("viewBox","0 0 100 100"),document.createElementNS("http://www.w3.org/2000/svg","path"));return n.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(n),t.appendChild(l),{main:t,values:e,deselect:{main:s,svg:i,path:a},arrow:{main:l,path:n}}}mainFocus(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}placeholder(){var t=this.store.filter(t=>t.placeholder,!1);let e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));t=document.createElement("div");return t.classList.add(this.classes.placeholder),t.innerHTML=e,t}renderValues(){this.settings.isMultiple?this.renderMultipleValues():this.renderSingleValue()}renderSingleValue(){const t=this.store.filter(t=>t.selected&&!t.placeholder,!1),e=0<t.length?t[0]:null;if(e){const t=document.createElement("div");t.classList.add(this.classes.single),e.html?t.innerHTML=e.html:t.innerText=e.text,this.main.values.innerHTML=t.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}renderMultipleValues(){let i=this.main.values.childNodes,a=this.store.filter(t=>t.selected&&t.display,!1);if(0===a.length)this.main.values.innerHTML=this.placeholder().outerHTML;else{{const i=this.main.values.querySelector("."+this.classes.placeholder);i&&i.remove()}if(a.length>this.settings.maxValuesShown){const i=document.createElement("div");i.classList.add(this.classes.max),i.textContent=this.settings.maxValuesMessage.replace("{number}",a.length.toString()),void(this.main.values.innerHTML=i.outerHTML)}else{{const i=this.main.values.querySelector("."+this.classes.max);i&&i.remove()}var e=[];for(let t=0;t<i.length;t++){const s=i[t],l=s.getAttribute("data-id");!l||a.filter(t=>t.id===l,!1).length||e.push(s)}for(const i of e)i.classList.add(this.classes.valueOut),setTimeout(()=>{this.main.values.hasChildNodes()&&this.main.values.contains(i)&&this.main.values.removeChild(i)},100);i=this.main.values.childNodes;for(let s=0;s<a.length;s++){let e=!0;for(let t=0;t<i.length;t++)a[s].id===String(i[t].dataset.id)&&(e=!1);e&&(0===i.length?this.main.values.appendChild(this.multipleValue(a[s])):0===s?this.main.values.insertBefore(this.multipleValue(a[s]),i[s]):i[s-1].insertAdjacentElement("afterend",this.multipleValue(a[s])))}this.updateDeselectAll()}}}multipleValue(a){var t=document.createElement("div");t.classList.add(this.classes.value),t.dataset.id=a.id;const e=document.createElement("div");if(e.classList.add(this.classes.valueText),e.innerText=a.text,t.appendChild(e),!a.mandatory){const e=document.createElement("div");e.classList.add(this.classes.valueDelete),e.onclick=e=>{if(e.preventDefault(),e.stopPropagation(),!this.settings.disabled){let t=!0;var e=this.store.getSelectedOptions(),s=e.filter(t=>t.selected&&t.id!==a.id,!0);if(!(this.settings.minSelected&&s.length<this.settings.minSelected)&&(t=this.callbacks.beforeChange?!0===this.callbacks.beforeChange(s,e):t)){var i=[];for(const e of s){if(e instanceof n)for(const t of e.options)i.push(t.value);e instanceof r&&i.push(e.value)}this.callbacks.setSelected(i,!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(s),this.updateDeselectAll()}}};var s=document.createElementNS("http://www.w3.org/2000/svg","svg"),i=(s.setAttribute("viewBox","0 0 100 100"),document.createElementNS("http://www.w3.org/2000/svg","path"));i.setAttribute("d",this.classes.optionDelete),s.appendChild(i),e.appendChild(s),t.appendChild(e)}return t}contentDiv(){var t=document.createElement("div"),e=(t.dataset.id=this.settings.id,t.id=this.settings.id,this.searchDiv()),s=(t.appendChild(e.main),this.listDiv());
18return t.appendChild(s),{main:t,search:e,list:s}}moveContent(){"relative"!==this.settings.contentPosition&&"down"!==this.settings.openPosition&&("up"===this.settings.openPosition||"up"===this.putContent())?this.moveContentAbove():this.moveContentBelow()}searchDiv(){const t=document.createElement("div"),e=document.createElement("input"),s=document.createElement("div");t.classList.add(this.classes.search);var i={main:t,input:e};if(this.settings.showSearch||(t.classList.add(this.classes.hide),e.readOnly=!0),e.type="search",e.placeholder=this.settings.searchPlaceholder,e.tabIndex=-1,e.setAttribute("aria-label",this.settings.searchPlaceholder),e.setAttribute("autocapitalize","off"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.oninput=a(t=>{this.callbacks.search(t.target.value)},100),e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case"Enter":case" ":if(this.callbacks.addable&&t.ctrlKey)return s.click(),!1;{const t=this.content.list.querySelector("."+this.classes.highlighted);if(t)return t.click(),!1}return!0}},t.appendChild(e),this.callbacks.addable){s.classList.add(this.classes.addable);const a=document.createElementNS("http://www.w3.org/2000/svg","svg"),e=(a.setAttribute("viewBox","0 0 100 100"),document.createElementNS("http://www.w3.org/2000/svg","path"));e.setAttribute("d",this.classes.addablePath),a.appendChild(e),s.appendChild(a),s.onclick=t=>{if(t.preventDefault(),t.stopPropagation(),this.callbacks.addable){t=this.content.search.input.value.trim();if(""===t)this.content.search.input.focus();else{const e=t=>{var e,t=new r(t);this.callbacks.addOption(t),this.settings.isMultiple?((e=this.store.getSelected()).push(t.value),this.callbacks.setSelected(e,!0)):this.callbacks.setSelected([t.value],!0),this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout(()=>{this.callbacks.close()},100)},s=this.callbacks.addable(t);!1!==s&&null!=s&&(s instanceof Promise?s.then(t=>{e("string"==typeof t?{text:t,value:t}:t)}):e("string"==typeof s?{text:s,value:s}:s))}}},t.appendChild(s),i.addable={main:s,svg:a,path:e}}return i}searchFocus(){this.content.search.input.focus()}getOptions(t=!1,e=!1,s=!1){let i="."+this.classes.option;return t&&(i+=":not(."+this.classes.placeholder+")"),e&&(i+=":not(."+this.classes.disabled+")"),s&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(e){var s=this.getOptions(!0,!0,!0);if(0!==s.length)if(1!==s.length||s[0].classList.contains(this.classes.highlighted)){for(let t=0;t<s.length;t++)if(s[t].classList.contains(this.classes.highlighted)){var i=s[t],i=(i.classList.remove(this.classes.highlighted),i.parentElement);if(i&&i.classList.contains(this.classes.open)){const e=i.querySelector("."+this.classes.optgroupLabel);e&&e.click()}i=s["down"===e?t+1<s.length?t+1:0:0<=t-1?t-1:s.length-1],i=(i.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,i),i.parentElement);if(i&&i.classList.contains(this.classes.close)){const e=i.querySelector("."+this.classes.optgroupLabel);e&&e.click()}return}s["down"===e?0:s.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,s["down"===e?0:s.length-1])}else s[0].classList.add(this.classes.highlighted)}listDiv(){var t=document.createElement("div");return t.classList.add(this.classes.list),t}renderError(t){this.content.list.innerHTML="";var e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}renderSearching(){this.content.list.innerHTML="";var t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}renderOptions(e){if(this.content.list.innerHTML="",0===e.length){const e=document.createElement("div");e.classList.add(this.classes.search),e.innerHTML=this.settings.searchText,void this.content.list.appendChild(e)}else for(const a of e){if(a instanceof n){const e=document.createElement("div");e.classList.add(this.classes.optgroup);var t=document.createElement("div"),i=(t.classList.add(this.classes.optgroupLabel),e.appendChild(t),document.createElement("div"));i.classList.add(this.classes.optgroupLabelText),i.textContent=a.label,t.appendChild(i);const n=document.createElement("div");if(n.classList.add(this.classes.optgroupActions),t.appendChild(n),this.settings.isMultiple&&a.selectAll){const e=document.createElement("div");e.classList.add(this.classes.optgroupSelectAll);let s=!0;for(const e of a.options)if(!e.selected){s=!1;break}s&&e.classList.add(this.classes.selected);i=document.createElement("span");i.textContent="Select All",e.appendChild(i);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 100 100"),e.appendChild(r);i=document.createElementNS("http://www.w3.org/2000/svg","path"),i=(i.setAttribute("d",this.classes.optgroupSelectAllBox),r.appendChild(i),document.createElementNS("http://www.w3.org/2000/svg","path"));i.setAttribute("d",this.classes.optgroupSelectAllCheck),r.appendChild(i),e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();var e=this.store.getSelected();if(s){const t=e.filter(t=>{for(const e of a.options)if(t===e.value)return!1;return!0});this.callbacks.setSelected(t,!0)}else{const t=e.concat(a.options.map(t=>t.value));this.callbacks.setSelected(t,!0)}}),n.appendChild(e)}if("off"!==a.closable){i=document.createElement("div");i.classList.add(this.classes.optgroupClosable);const r=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=(r.setAttribute("viewBox","0 0 100 100"),r.classList.add(this.classes.arrow),i.appendChild(r),document.createElementNS("http://www.w3.org/2000/svg","path"));r.appendChild(s),a.options.some(t=>t.selected)||""!==this.content.search.input.value.trim()?(i.classList.add(this.classes.open),s.setAttribute("d",this.classes.arrowOpen)):"open"===a.closable?(e.classList.add(this.classes.open),s.setAttribute("d",this.classes.arrowOpen)):"close"===a.closable&&(e.classList.add(this.classes.close),s.setAttribute("d",this.classes.arrowClose)),t.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),e.classList.contains(this.classes.close)?(e.classList.remove(this.classes.close),e.classList.add(this.classes.open),s.setAttribute("d",this.classes.arrowOpen)):(e.classList.remove(this.classes.open),e.classList.add(this.classes.close),s.setAttribute("d",this.classes.arrowClose))}),n.appendChild(i)}e.appendChild(t);for(const l of a.options)e.appendChild(this.option(l));this.content.list.appendChild(e)}a instanceof r&&this.content.list.appendChild(this.option(a))}}
18option(a){if(a.placeholder){const a=document.createElement("div");return a.classList.add(this.classes.option),a.classList.add(this.classes.hide),a}const e=document.createElement("div");return e.dataset.id=a.id,e.id=a.id,e.classList.add(this.classes.option),e.setAttribute("role","option"),a.class&&a.class.split(" ").forEach(t=>{e.classList.add(t)}),a.style&&(e.style.cssText=a.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?e.innerHTML=this.highlightText(""!==a.html?a.html:a.text,this.content.search.input.value,this.classes.searchHighlighter):""!==a.html?e.innerHTML=a.html:e.textContent=a.text,this.settings.showOptionTooltips&&e.textContent&&e.setAttribute("title",e.textContent),a.display||e.classList.add(this.classes.hide),a.disabled&&e.classList.add(this.classes.disabled),a.selected&&this.settings.hideSelected&&e.classList.add(this.classes.hide),a.selected?(e.classList.add(this.classes.selected),e.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",e.id)):(e.classList.remove(this.classes.selected),e.setAttribute("aria-selected","false")),e.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();const t=this.store.getSelected(),e=s.currentTarget,i=String(e.dataset.id);if(!(a.disabled||a.selected&&!this.settings.allowDeselect||this.settings.isMultiple&&this.settings.maxSelected<=t.length&&!a.selected||this.settings.isMultiple&&this.settings.minSelected>=t.length&&a.selected)){let t=!1;s=this.store.getSelectedOptions();let e=[];this.settings.isMultiple&&(e=a.selected?s.filter(t=>t.id!==i):s.concat(a)),this.settings.isMultiple||(e=a.selected?[]:[a]),this.callbacks.beforeChange||(t=!0),(t=this.callbacks.beforeChange?!1!==this.callbacks.beforeChange(e,s):t)&&(this.store.getOptionByID(i)||this.callbacks.addOption(a),this.callbacks.setSelected(e.map(t=>t.value),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange)&&this.callbacks.afterChange(e)}}),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;var a,l,e=new RegExp("("+e.trim()+")(?![^<]*>[^<>]*</)","i");return t.match(e)?(a=(l=t.match(e).index)+t.match(e)[0].toString().length,l=t.substring(l,a),i=i.replace(e,`<mark class="${s}">${l}</mark>`)):t}moveContentAbove(){var t=this.main.main.offsetHeight,e=this.content.main.offsetHeight,s=(this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove),this.main.main.getBoundingClientRect());this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=s.top+s.height+window.scrollY+"px",this.content.main.style.left=s.left+window.scrollX+"px",this.content.main.style.width=s.width+"px"}moveContentBelow(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);var t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+window.scrollY+"px",this.content.main.style.left=t.left+window.scrollX+"px",this.content.main.style.width=t.width+"px")}ensureElementInView(t,e){var s=t.scrollTop+t.offsetTop,i=s+t.clientHeight,a=e.offsetTop,e=a+e.clientHeight;a<s?t.scrollTop-=s-a:i<e&&(t.scrollTop+=e-i)}putContent(){var t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),s=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=s&&e.top>s?"up":"down"}updateDeselectAll(){var t,e,s,i,a;this.store&&this.settings&&(t=(t=this.store.getSelectedOptions())&&0<t.length,e=this.settings.isMultiple,s=this.settings.allowDeselect,i=this.main.deselect.main,a=this.classes.hide,!s||e&&!t?i.classList.add(a):i.classList.remove(a))}}class d{constructor(t){this.listen=!1,this.observer=null,this.select=t,this.select.addEventListener("change",this.valueChange.bind(this),{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}showUI(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}changeListen(t){(this.listen=t)&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}valueChange(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}observeCall(i){if(this.listen){let t=!1,e=!1,s=!1;for(const a of i)a.target===this.select&&("disabled"===a.attributeName&&(e=!0),"class"===a.attributeName)&&(t=!0),"OPTGROUP"!==a.target.nodeName&&"OPTION"!==a.target.nodeName||(s=!0);t&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),e&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),s&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}}getData(){var t=[];for(const e of this.select.childNodes)"OPTGROUP"===e.nodeName&&t.push(this.getDataFromOptgroup(e)),"OPTION"===e.nodeName&&t.push(this.getDataFromOption(e));return t}
18getDataFromOptgroup(t){var e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,closable:t.dataset?t.dataset.closable:"off",options:[]},s=t.childNodes;for(const t of s)"OPTION"===t.nodeName&&e.options.push(this.getDataFromOption(t));return e}getDataFromOption(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}getSelectedValues(){var t=[];const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const i of e)if("OPTION"===i.nodeName){const e=i;e.selected&&t.push(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(e.value)}}return t}setSelected(t){this.changeListen(!1);const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const i of e)if("OPTION"===i.nodeName){const e=i;e.selected=t.includes(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}this.changeListen(!0)}updateSelect(t,e,s){this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),s&&(this.select.className="",s.forEach(t=>{""!==t.trim()&&this.select.classList.add(t.trim())})),this.changeListen(!0)}updateOptions(t){this.changeListen(!1),this.select.innerHTML="";for(const e of t)e instanceof n&&this.select.appendChild(this.createOptgroup(e)),e instanceof r&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}createOptgroup(t){var e=document.createElement("optgroup");if(e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable),t.options)for(const s of t.options)e.appendChild(this.createOption(s));return e}createOption(i){const a=document.createElement("option");return a.id=i.id,a.value=i.value,a.innerHTML=i.text,""!==i.html&&a.setAttribute("data-html",i.html),i.selected&&(a.selected=i.selected),i.disabled&&(a.disabled=!0),!1===i.display&&(a.style.display="none"),i.placeholder&&a.setAttribute("data-placeholder","true"),i.mandatory&&a.setAttribute("data-mandatory","true"),i.class&&i.class.split(" ").forEach(t=>{a.classList.add(t)}),i.data&&"object"==typeof i.data&&Object.keys(i.data).forEach(t=>{var e,s;a.setAttribute("data-"+(s=(e=t).replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,t=>"-"+t.toLowerCase()),e[0]===e[0].toUpperCase()?s.substring(1):s),i.data[t])}),a}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange.bind(this)),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}return class{constructor(t){if(this.events={search:void 0,searchFilter:(t,e)=>-1!==t.text.toLowerCase().indexOf(e.toLowerCase()),addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=a(()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()}),this.windowScroll=a(()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()}),this.documentClick=t=>{function i(t,e){return e&&t&&t.classList&&t.classList.contains(e)||e&&t&&t.dataset&&t.dataset.id&&t.dataset.id===s?t:null}var e,s;this.settings.isOpen&&t.target&&(e=t.target,s=this.settings.id,!i(e,s))&&!function t(e,s){return e&&e!==document?i(e,s)?e:t(e.parentNode,s):null}(e,s)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof t.select?document.querySelector(t.select):t.select,this.selectEl)if("SELECT"!==this.selectEl.tagName)t.events&&t.events.error&&t.events.error(new Error("Element isnt of type select"));else{this.selectEl.dataset.ssid&&this.destroy(),this.settings=new l(t.settings);var e=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const s in t.events)t.events.hasOwnProperty(s)&&(-1!==e.indexOf(s)?this.events[s]=a(t.events[s],100):this.events[s]=t.events[s]);this.settings.disabled=(null!=(s=t.settings)&&s.disabled?t.settings:this.selectEl).disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new d(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=t=>{this.setSelected(t)},this.select.onClassChange=t=>{this.settings.class=t,this.render.updateClassStyles()},this.select.onDisabledChange=t=>{t?this.disable():this.enable()},this.select.onOptionsChange=t=>{this.setData(t)},this.store=new o(this.settings.isMultiple?"multiple":"single",t.data||this.select.getData()),t.data&&this.select.updateOptions(this.store.getData());var s={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable||void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange},s=(this.render=new c(this.settings,this.store,s),this.render.renderValues(),this.render.renderOptions(this.store.getData()),this.selectEl.getAttribute("aria-label")),i=this.selectEl.getAttribute("aria-labelledby");s?this.render.main.main.setAttribute("aria-label",s):i&&this.render.main.main.setAttribute("aria-labelledby",i),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),document.addEventListener("click",this.documentClick),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}else t.events&&t.events.error&&t.events.error(new Error("Could not find select element"))}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(t){var e=this.store.getSelected(),s=this.store.validateDataArray(t);s?this.events.error&&this.events.error(s):(this.store.setData(t),s=this.store.getData(),this.select.updateOptions(s),this.render.renderValues(),this.render.renderOptions(s),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions()))}getSelected(){return this.store.getSelected()}setSelected(t,e=!0){var s=this.store.getSelected(),t=(this.store.setSelectedBy("value",Array.isArray(t)?t:[t]),this.store.getData());this.select.updateOptions(t),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(t),e&&this.events.afterChange&&!i(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(e){var t=this.store.getSelected(),s=(this.store.getDataOptions().some(t=>{return t.value===(null!=(t=e.value)?t:e.text)})||this.store.addOption(e),this.store.getData());this.select.updateOptions(s),this.render.renderValues(),this.render.renderOptions(s),this.events.afterChange&&!i(t,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}open(){this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout(()=>{this.events.afterOpen&&this.events.afterOpen(),this.settings.isOpen&&(this.settings.isFullOpen=!0)},this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(t=null){this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout(()=>{this.events.afterClose&&this.events.afterClose()},this.settings.timeoutDelay),this.settings.intervalMove)&&clearInterval(this.settings.intervalMove)}
18search(t){var e;this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),this.events.search?(this.render.renderSearching(),(e=this.events.search(t,this.store.getSelectedOptions()))instanceof Promise?e.then(t=>{this.render.renderOptions(this.store.partialToFullData(t))}).catch(t=>{this.render.renderError("string"==typeof t?t:t.message)}):Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")):this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter))}destroy(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}});}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.