@slickgrid-universal/vanilla-force-bundle 4.0.1-alpha.1 → 4.0.2

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.
@@ -8,12 +8,12 @@ Arguments: `+Array.prototype.slice.call(re).join("")+`
8
8
  `+W.join("</span><span class='flatpickr-weekday'>")+`
9
9
  </span>
10
10
  `}}function Te(){t.calendarContainer.classList.add("hasWeeks");var L=Xt("div","flatpickr-weekwrapper");L.appendChild(Xt("span","flatpickr-weekday",t.l10n.weekAbbreviation));var W=Xt("div","flatpickr-weeks");return L.appendChild(W),{weekWrapper:L,weekNumbers:W}}function J(L,W){W===void 0&&(W=!0);var oe=W?L:L-t.currentMonth;oe<0&&t._hidePrevMonthArrow===!0||oe>0&&t._hideNextMonthArrow===!0||(t.currentMonth+=oe,(t.currentMonth<0||t.currentMonth>11)&&(t.currentYear+=t.currentMonth>11?1:-1,t.currentMonth=(t.currentMonth+12)%12,ze("onYearChange"),N()),U(),ze("onMonthChange"),nt())}function de(L,W){if(L===void 0&&(L=!0),W===void 0&&(W=!0),t.input.value="",t.altInput!==void 0&&(t.altInput.value=""),t.mobileInput!==void 0&&(t.mobileInput.value=""),t.selectedDates=[],t.latestSelectedDateObj=void 0,W===!0&&(t.currentYear=t._initialDate.getFullYear(),t.currentMonth=t._initialDate.getMonth()),t.config.enableTime===!0){var oe=Yh(t.config),Ce=oe.hours,Me=oe.minutes,Ke=oe.seconds;g(Ce,Me,Ke)}t.redraw(),L&&ze("onChange")}function Ne(){t.isOpen=!1,t.isMobile||(t.calendarContainer!==void 0&&t.calendarContainer.classList.remove("open"),t._input!==void 0&&t._input.classList.remove("active")),ze("onClose")}function Fe(){t.config!==void 0&&ze("onDestroy");for(var L=t._handlers.length;L--;)t._handlers[L].remove();if(t._handlers=[],t.mobileInput)t.mobileInput.parentNode&&t.mobileInput.parentNode.removeChild(t.mobileInput),t.mobileInput=void 0;else if(t.calendarContainer&&t.calendarContainer.parentNode)if(t.config.static&&t.calendarContainer.parentNode){var W=t.calendarContainer.parentNode;if(W.lastChild&&W.removeChild(W.lastChild),W.parentNode){for(;W.firstChild;)W.parentNode.insertBefore(W.firstChild,W);W.parentNode.removeChild(W)}}else t.calendarContainer.parentNode.removeChild(t.calendarContainer);t.altInput&&(t.input.type="text",t.altInput.parentNode&&t.altInput.parentNode.removeChild(t.altInput),delete t.altInput),t.input&&(t.input.type=t.input._type,t.input.classList.remove("flatpickr-input"),t.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(oe){try{delete t[oe]}catch{}})}function ge(L){return t.calendarContainer.contains(L)}function Ze(L){if(t.isOpen&&!t.config.inline){var W=Es(L),oe=ge(W),Ce=W===t.input||W===t.altInput||t.element.contains(W)||L.path&&L.path.indexOf&&(~L.path.indexOf(t.input)||~L.path.indexOf(t.altInput)),Me=!Ce&&!oe&&!ge(L.relatedTarget),Ke=!t.config.ignoredFocusElements.some(function(mt){return mt.contains(W)});Me&&Ke&&(t.config.allowInput&&t.setDate(t._input.value,!1,t.config.altInput?t.config.altFormat:t.config.dateFormat),t.timeContainer!==void 0&&t.minuteElement!==void 0&&t.hourElement!==void 0&&t.input.value!==""&&t.input.value!==void 0&&h(),t.close(),t.config&&t.config.mode==="range"&&t.selectedDates.length===1&&t.clear(!1))}}function Et(L){if(!(!L||t.config.minDate&&L<t.config.minDate.getFullYear()||t.config.maxDate&&L>t.config.maxDate.getFullYear())){var W=L,oe=t.currentYear!==W;t.currentYear=W||t.currentYear,t.config.maxDate&&t.currentYear===t.config.maxDate.getFullYear()?t.currentMonth=Math.min(t.config.maxDate.getMonth(),t.currentMonth):t.config.minDate&&t.currentYear===t.config.minDate.getFullYear()&&(t.currentMonth=Math.max(t.config.minDate.getMonth(),t.currentMonth)),oe&&(t.redraw(),ze("onYearChange"),N())}}function Ye(L,W){var oe;W===void 0&&(W=!0);var Ce=t.parseDate(L,void 0,W);if(t.config.minDate&&Ce&&Ss(Ce,t.config.minDate,W!==void 0?W:!t.minDateHasTime)<0||t.config.maxDate&&Ce&&Ss(Ce,t.config.maxDate,W!==void 0?W:!t.maxDateHasTime)>0)return!1;if(!t.config.enable&&t.config.disable.length===0)return!0;if(Ce===void 0)return!1;for(var Me=!!t.config.enable,Ke=(oe=t.config.enable)!==null&&oe!==void 0?oe:t.config.disable,mt=0,Qe=void 0;mt<Ke.length;mt++){if(Qe=Ke[mt],typeof Qe=="function"&&Qe(Ce))return Me;if(Qe instanceof Date&&Ce!==void 0&&Qe.getTime()===Ce.getTime())return Me;if(typeof Qe=="string"){var wt=t.parseDate(Qe,void 0,!0);return wt&&wt.getTime()===Ce.getTime()?Me:!Me}else if(typeof Qe=="object"&&Ce!==void 0&&Qe.from&&Qe.to&&Ce.getTime()>=Qe.from.getTime()&&Ce.getTime()<=Qe.to.getTime())return Me}return!Me}function st(L){return t.daysContainer!==void 0?L.className.indexOf("hidden")===-1&&L.className.indexOf("flatpickr-disabled")===-1&&t.daysContainer.contains(L):!1}function ft(L){var W=L.target===t._input,oe=t._input.value.trimEnd()!==St();W&&oe&&!(L.relatedTarget&&ge(L.relatedTarget))&&t.setDate(t._input.value,!0,L.target===t.altInput?t.config.altFormat:t.config.dateFormat)}function Ge(L){var W=Es(L),oe=t.config.wrap?a.contains(W):W===t._input,Ce=t.config.allowInput,Me=t.isOpen&&(!Ce||!oe),Ke=t.config.inline&&oe&&!Ce;if(L.keyCode===13&&oe){if(Ce)return t.setDate(t._input.value,!0,W===t.altInput?t.config.altFormat:t.config.dateFormat),t.close(),W.blur();t.open()}else if(ge(W)||Me||Ke){var mt=!!t.timeContainer&&t.timeContainer.contains(W);switch(L.keyCode){case 13:mt?(L.preventDefault(),h(),Ae()):Ue(L);break;case 27:L.preventDefault(),Ae();break;case 8:case 46:oe&&!t.config.allowInput&&(L.preventDefault(),t.clear());break;case 37:case 39:if(!mt&&!oe){L.preventDefault();var Qe=n();if(t.daysContainer!==void 0&&(Ce===!1||Qe&&st(Qe))){var wt=L.keyCode===39?1:-1;L.ctrlKey?(L.stopPropagation(),J(wt),te(ee(1),0)):te(void 0,wt)}}else t.hourElement&&t.hourElement.focus();break;case 38:case 40:L.preventDefault();var Je=L.keyCode===40?1:-1;t.daysContainer&&W.$i!==void 0||W===t.input||W===t.altInput?L.ctrlKey?(L.stopPropagation(),Et(t.currentYear-Je),te(ee(1),0)):mt||te(void 0,Je*7):W===t.currentYearElement?Et(t.currentYear-Je):t.config.enableTime&&(!mt&&t.hourElement&&t.hourElement.focus(),h(L),t._debouncedChange());break;case 9:if(mt){var lt=[t.hourElement,t.minuteElement,t.secondElement,t.amPM].concat(t.pluginElements).filter(function(wi){return wi}),Ht=lt.indexOf(W);if(Ht!==-1){var fi=lt[Ht+(L.shiftKey?-1:1)];L.preventDefault(),(fi||t._input).focus()}}else!t.config.noCalendar&&t.daysContainer&&t.daysContainer.contains(W)&&L.shiftKey&&(L.preventDefault(),t._input.focus());break}}if(t.amPM!==void 0&&W===t.amPM)switch(L.key){case t.l10n.amPM[0].charAt(0):case t.l10n.amPM[0].charAt(0).toLowerCase():t.amPM.textContent=t.l10n.amPM[0],f(),Mt();break;case t.l10n.amPM[1].charAt(0):case t.l10n.amPM[1].charAt(0).toLowerCase():t.amPM.textContent=t.l10n.amPM[1],f(),Mt();break}(oe||ge(W))&&ze("onKeyDown",L)}function Wt(L,W){if(W===void 0&&(W="flatpickr-day"),!(t.selectedDates.length!==1||L&&(!L.classList.contains(W)||L.classList.contains("flatpickr-disabled")))){for(var oe=L?L.dateObj.getTime():t.days.firstElementChild.dateObj.getTime(),Ce=t.parseDate(t.selectedDates[0],void 0,!0).getTime(),Me=Math.min(oe,t.selectedDates[0].getTime()),Ke=Math.max(oe,t.selectedDates[0].getTime()),mt=!1,Qe=0,wt=0,Je=Me;Je<Ke;Je+=Lg.DAY)Ye(new Date(Je),!0)||(mt=mt||Je>Me&&Je<Ke,Je<Ce&&(!Qe||Je>Qe)?Qe=Je:Je>Ce&&(!wt||Je<wt)&&(wt=Je));var lt=Array.from(t.rContainer.querySelectorAll("*:nth-child(-n+"+t.config.showMonths+") > ."+W));lt.forEach(function(Ht){var fi=Ht.dateObj,wi=fi.getTime(),Gi=Qe>0&&wi<Qe||wt>0&&wi>wt;if(Gi){Ht.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(as){Ht.classList.remove(as)});return}else if(mt&&!Gi)return;["startRange","inRange","endRange","notAllowed"].forEach(function(as){Ht.classList.remove(as)}),L!==void 0&&(L.classList.add(oe<=t.selectedDates[0].getTime()?"startRange":"endRange"),Ce<oe&&wi===Ce?Ht.classList.add("startRange"):Ce>oe&&wi===Ce&&Ht.classList.add("endRange"),wi>=Qe&&(wt===0||wi<=wt)&&Pg(wi,Ce,oe)&&Ht.classList.add("inRange"))})}}function Lt(){t.isOpen&&!t.config.static&&!t.config.inline&&Z()}function x(L,W){if(W===void 0&&(W=t._positionElement),t.isMobile===!0){if(L){L.preventDefault();var oe=Es(L);oe&&oe.blur()}t.mobileInput!==void 0&&(t.mobileInput.focus(),t.mobileInput.click()),ze("onOpen");return}else if(t._input.disabled||t.config.inline)return;var Ce=t.isOpen;t.isOpen=!0,Ce||(t.calendarContainer.classList.add("open"),t._input.classList.add("active"),ze("onOpen"),Z(W)),t.config.enableTime===!0&&t.config.noCalendar===!0&&t.config.allowInput===!1&&(L===void 0||!t.timeContainer.contains(L.relatedTarget))&&setTimeout(function(){return t.hourElement.select()},50)}function G(L){return function(W){var oe=t.config["_"+L+"Date"]=t.parseDate(W,t.config.dateFormat),Ce=t.config["_"+(L==="min"?"max":"min")+"Date"];oe!==void 0&&(t[L==="min"?"minDateHasTime":"maxDateHasTime"]=oe.getHours()>0||oe.getMinutes()>0||oe.getSeconds()>0),t.selectedDates&&(t.selectedDates=t.selectedDates.filter(function(Me){return Ye(Me)}),!t.selectedDates.length&&L==="min"&&p(oe),Mt()),t.daysContainer&&(ie(),oe!==void 0?t.currentYearElement[L]=oe.getFullYear().toString():t.currentYearElement.removeAttribute(L),t.currentYearElement.disabled=!!Ce&&oe!==void 0&&Ce.getFullYear()===oe.getFullYear())}}function ce(){var L=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],W=es(es({},JSON.parse(JSON.stringify(a.dataset||{}))),e),oe={};t.config.parseDate=W.parseDate,t.config.formatDate=W.formatDate,Object.defineProperty(t.config,"enable",{get:function(){return t.config._enable},set:function(lt){t.config._enable=Qt(lt)}}),Object.defineProperty(t.config,"disable",{get:function(){return t.config._disable},set:function(lt){t.config._disable=Qt(lt)}});var Ce=W.mode==="time";if(!W.dateFormat&&(W.enableTime||Ce)){var Me=Ni.defaultConfig.dateFormat||Vr.dateFormat;oe.dateFormat=W.noCalendar||Ce?"H:i"+(W.enableSeconds?":S":""):Me+" H:i"+(W.enableSeconds?":S":"")}if(W.altInput&&(W.enableTime||Ce)&&!W.altFormat){var Ke=Ni.defaultConfig.altFormat||Vr.altFormat;oe.altFormat=W.noCalendar||Ce?"h:i"+(W.enableSeconds?":S K":" K"):Ke+(" h:i"+(W.enableSeconds?":S":"")+" K")}Object.defineProperty(t.config,"minDate",{get:function(){return t.config._minDate},set:G("min")}),Object.defineProperty(t.config,"maxDate",{get:function(){return t.config._maxDate},set:G("max")});var mt=function(lt){return function(Ht){t.config[lt==="min"?"_minTime":"_maxTime"]=t.parseDate(Ht,"H:i:S")}};Object.defineProperty(t.config,"minTime",{get:function(){return t.config._minTime},set:mt("min")}),Object.defineProperty(t.config,"maxTime",{get:function(){return t.config._maxTime},set:mt("max")}),W.mode==="time"&&(t.config.noCalendar=!0,t.config.enableTime=!0),Object.assign(t.config,oe,W);for(var Qe=0;Qe<L.length;Qe++)t.config[L[Qe]]=t.config[L[Qe]]===!0||t.config[L[Qe]]==="true";Vh.filter(function(lt){return t.config[lt]!==void 0}).forEach(function(lt){t.config[lt]=Wh(t.config[lt]||[]).map(r)}),t.isMobile=!t.config.disableMobile&&!t.config.inline&&t.config.mode==="single"&&!t.config.disable.length&&!t.config.enable&&!t.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(var Qe=0;Qe<t.config.plugins.length;Qe++){var wt=t.config.plugins[Qe](t)||{};for(var Je in wt)Vh.indexOf(Je)>-1?t.config[Je]=Wh(wt[Je]).map(r).concat(t.config[Je]):typeof W[Je]>"u"&&(t.config[Je]=wt[Je])}W.altInputClass||(t.config.altInputClass=H().className+" "+t.config.altInputClass),ze("onParseConfig")}function H(){return t.config.wrap?a.querySelector("[data-input]"):a}function B(){typeof t.config.locale!="object"&&typeof Ni.l10ns[t.config.locale]>"u"&&t.config.errorHandler(new Error("flatpickr: invalid locale "+t.config.locale)),t.l10n=es(es({},Ni.l10ns.default),typeof t.config.locale=="object"?t.config.locale:t.config.locale!=="default"?Ni.l10ns[t.config.locale]:void 0),fr.D="("+t.l10n.weekdays.shorthand.join("|")+")",fr.l="("+t.l10n.weekdays.longhand.join("|")+")",fr.M="("+t.l10n.months.shorthand.join("|")+")",fr.F="("+t.l10n.months.longhand.join("|")+")",fr.K="("+t.l10n.amPM[0]+"|"+t.l10n.amPM[1]+"|"+t.l10n.amPM[0].toLowerCase()+"|"+t.l10n.amPM[1].toLowerCase()+")";var L=es(es({},e),JSON.parse(JSON.stringify(a.dataset||{})));L.time_24hr===void 0&&Ni.defaultConfig.time_24hr===void 0&&(t.config.time_24hr=t.l10n.time_24hr),t.formatDate=Sc(t),t.parseDate=Gh({config:t.config,l10n:t.l10n})}function Z(L){if(typeof t.config.position=="function")return void t.config.position(t,L);if(t.calendarContainer!==void 0){ze("onPreCalendarPosition");var W=L||t._positionElement,oe=Array.prototype.reduce.call(t.calendarContainer.children,function(Oi,Si){return Oi+Si.offsetHeight},0),Ce=t.calendarContainer.offsetWidth,Me=t.config.position.split(" "),Ke=Me[0],mt=Me.length>1?Me[1]:null,Qe=W.getBoundingClientRect(),wt=window.innerHeight-Qe.bottom,Je=Ke==="above"||Ke!=="below"&&wt<oe&&Qe.top>oe,lt=window.pageYOffset+Qe.top+(Je?-oe-2:W.offsetHeight+2);if(rs(t.calendarContainer,"arrowTop",!Je),rs(t.calendarContainer,"arrowBottom",Je),!t.config.inline){var Ht=window.pageXOffset+Qe.left,fi=!1,wi=!1;mt==="center"?(Ht-=(Ce-Qe.width)/2,fi=!0):mt==="right"&&(Ht-=Ce-Qe.width,wi=!0),rs(t.calendarContainer,"arrowLeft",!fi&&!wi),rs(t.calendarContainer,"arrowCenter",fi),rs(t.calendarContainer,"arrowRight",wi);var Gi=window.document.body.offsetWidth-(window.pageXOffset+Qe.right),as=Ht+Ce>window.document.body.offsetWidth,Ws=Gi+Ce>window.document.body.offsetWidth;if(rs(t.calendarContainer,"rightMost",as),!t.config.static)if(t.calendarContainer.style.top=lt+"px",!as)t.calendarContainer.style.left=Ht+"px",t.calendarContainer.style.right="auto";else if(!Ws)t.calendarContainer.style.left="auto",t.calendarContainer.style.right=Gi+"px";else{var gn=Ee();if(gn===void 0)return;var tt=window.document.body.offsetWidth,le=Math.max(0,tt/2-Ce/2),Le=".flatpickr-calendar.centerMost:before",it=".flatpickr-calendar.centerMost:after",Gt=gn.cssRules.length,Ei="{left:"+Qe.left+"px;right:auto;}";rs(t.calendarContainer,"rightMost",!1),rs(t.calendarContainer,"centerMost",!0),gn.insertRule(Le+","+it+Ei,Gt),t.calendarContainer.style.left=le+"px",t.calendarContainer.style.right="auto"}}}}function Ee(){for(var L=null,W=0;W<document.styleSheets.length;W++){var oe=document.styleSheets[W];if(oe.cssRules){try{oe.cssRules}catch{continue}L=oe;break}}return L??ye()}function ye(){var L=document.createElement("style");return document.head.appendChild(L),L.sheet}function ie(){t.config.noCalendar||t.isMobile||(N(),nt(),U())}function Ae(){t._input.focus(),window.navigator.userAgent.indexOf("MSIE")!==-1||navigator.msMaxTouchPoints!==void 0?setTimeout(t.close,0):t.close()}function Ue(L){L.preventDefault(),L.stopPropagation();var W=function(lt){return lt.classList&&lt.classList.contains("flatpickr-day")&&!lt.classList.contains("flatpickr-disabled")&&!lt.classList.contains("notAllowed")},oe=Ec(Es(L),W);if(oe!==void 0){var Ce=oe,Me=t.latestSelectedDateObj=new Date(Ce.dateObj.getTime()),Ke=(Me.getMonth()<t.currentMonth||Me.getMonth()>t.currentMonth+t.config.showMonths-1)&&t.config.mode!=="range";if(t.selectedDateElem=Ce,t.config.mode==="single")t.selectedDates=[Me];else if(t.config.mode==="multiple"){var mt=ut(Me);mt?t.selectedDates.splice(parseInt(mt),1):t.selectedDates.push(Me)}else t.config.mode==="range"&&(t.selectedDates.length===2&&t.clear(!1,!1),t.latestSelectedDateObj=Me,t.selectedDates.push(Me),Ss(Me,t.selectedDates[0],!0)!==0&&t.selectedDates.sort(function(lt,Ht){return lt.getTime()-Ht.getTime()}));if(f(),Ke){var Qe=t.currentYear!==Me.getFullYear();t.currentYear=Me.getFullYear(),t.currentMonth=Me.getMonth(),Qe&&(ze("onYearChange"),N()),ze("onMonthChange")}if(nt(),U(),Mt(),!Ke&&t.config.mode!=="range"&&t.config.showMonths===1?K(Ce):t.selectedDateElem!==void 0&&t.hourElement===void 0&&t.selectedDateElem&&t.selectedDateElem.focus(),t.hourElement!==void 0&&t.hourElement!==void 0&&t.hourElement.focus(),t.config.closeOnSelect){var wt=t.config.mode==="single"&&!t.config.enableTime,Je=t.config.mode==="range"&&t.selectedDates.length===2&&!t.config.enableTime;(wt||Je)&&Ae()}w()}}var De={locale:[B,pe],showMonths:[ue,o,_e],minDate:[S],maxDate:[S],positionElement:[se],clickOpens:[function(){t.config.clickOpens===!0?(C(t._input,"focus",t.open),C(t._input,"click",t.open)):(t._input.removeEventListener("focus",t.open),t._input.removeEventListener("click",t.open))}]};function Se(L,W){if(L!==null&&typeof L=="object"){Object.assign(t.config,L);for(var oe in L)De[oe]!==void 0&&De[oe].forEach(function(Ce){return Ce()})}else t.config[L]=W,De[L]!==void 0?De[L].forEach(function(Ce){return Ce()}):Vh.indexOf(L)>-1&&(t.config[L]=Wh(W));t.redraw(),Mt(!0)}function xt(L,W){var oe=[];if(L instanceof Array)oe=L.map(function(Ce){return t.parseDate(Ce,W)});else if(L instanceof Date||typeof L=="number")oe=[t.parseDate(L,W)];else if(typeof L=="string")switch(t.config.mode){case"single":case"time":oe=[t.parseDate(L,W)];break;case"multiple":oe=L.split(t.config.conjunction).map(function(Ce){return t.parseDate(Ce,W)});break;case"range":oe=L.split(t.l10n.rangeSeparator).map(function(Ce){return t.parseDate(Ce,W)});break}else t.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(L)));t.selectedDates=t.config.allowInvalidPreload?oe:oe.filter(function(Ce){return Ce instanceof Date&&Ye(Ce,!1)}),t.config.mode==="range"&&t.selectedDates.sort(function(Ce,Me){return Ce.getTime()-Me.getTime()})}function rt(L,W,oe){if(W===void 0&&(W=!1),oe===void 0&&(oe=t.config.dateFormat),L!==0&&!L||L instanceof Array&&L.length===0)return t.clear(W);xt(L,oe),t.latestSelectedDateObj=t.selectedDates[t.selectedDates.length-1],t.redraw(),S(void 0,W),p(),t.selectedDates.length===0&&t.clear(!1),Mt(W),W&&ze("onChange")}function Qt(L){return L.slice().map(function(W){return typeof W=="string"||typeof W=="number"||W instanceof Date?t.parseDate(W,void 0,!0):W&&typeof W=="object"&&W.from&&W.to?{from:t.parseDate(W.from,void 0),to:t.parseDate(W.to,void 0)}:W}).filter(function(W){return W})}function M(){t.selectedDates=[],t.now=t.parseDate(t.config.now)||new Date;var L=t.config.defaultDate||((t.input.nodeName==="INPUT"||t.input.nodeName==="TEXTAREA")&&t.input.placeholder&&t.input.value===t.input.placeholder?null:t.input.value);L&&xt(L,t.config.dateFormat),t._initialDate=t.selectedDates.length>0?t.selectedDates[0]:t.config.minDate&&t.config.minDate.getTime()>t.now.getTime()?t.config.minDate:t.config.maxDate&&t.config.maxDate.getTime()<t.now.getTime()?t.config.maxDate:t.now,t.currentYear=t._initialDate.getFullYear(),t.currentMonth=t._initialDate.getMonth(),t.selectedDates.length>0&&(t.latestSelectedDateObj=t.selectedDates[0]),t.config.minTime!==void 0&&(t.config.minTime=t.parseDate(t.config.minTime,"H:i")),t.config.maxTime!==void 0&&(t.config.maxTime=t.parseDate(t.config.maxTime,"H:i")),t.minDateHasTime=!!t.config.minDate&&(t.config.minDate.getHours()>0||t.config.minDate.getMinutes()>0||t.config.minDate.getSeconds()>0),t.maxDateHasTime=!!t.config.maxDate&&(t.config.maxDate.getHours()>0||t.config.maxDate.getMinutes()>0||t.config.maxDate.getSeconds()>0)}function z(){if(t.input=H(),!t.input){t.config.errorHandler(new Error("Invalid input element specified"));return}t.input._type=t.input.type,t.input.type="text",t.input.classList.add("flatpickr-input"),t._input=t.input,t.config.altInput&&(t.altInput=Xt(t.input.nodeName,t.config.altInputClass),t._input=t.altInput,t.altInput.placeholder=t.input.placeholder,t.altInput.disabled=t.input.disabled,t.altInput.required=t.input.required,t.altInput.tabIndex=t.input.tabIndex,t.altInput.type="text",t.input.setAttribute("type","hidden"),!t.config.static&&t.input.parentNode&&t.input.parentNode.insertBefore(t.altInput,t.input.nextSibling)),t.config.allowInput||t._input.setAttribute("readonly","readonly"),se()}function se(){t._positionElement=t.config.positionElement||t._input}function fe(){var L=t.config.enableTime?t.config.noCalendar?"time":"datetime-local":"date";t.mobileInput=Xt("input",t.input.className+" flatpickr-mobile"),t.mobileInput.tabIndex=1,t.mobileInput.type=L,t.mobileInput.disabled=t.input.disabled,t.mobileInput.required=t.input.required,t.mobileInput.placeholder=t.input.placeholder,t.mobileFormatStr=L==="datetime-local"?"Y-m-d\\TH:i:S":L==="date"?"Y-m-d":"H:i:S",t.selectedDates.length>0&&(t.mobileInput.defaultValue=t.mobileInput.value=t.formatDate(t.selectedDates[0],t.mobileFormatStr)),t.config.minDate&&(t.mobileInput.min=t.formatDate(t.config.minDate,"Y-m-d")),t.config.maxDate&&(t.mobileInput.max=t.formatDate(t.config.maxDate,"Y-m-d")),t.input.getAttribute("step")&&(t.mobileInput.step=String(t.input.getAttribute("step"))),t.input.type="hidden",t.altInput!==void 0&&(t.altInput.type="hidden");try{t.input.parentNode&&t.input.parentNode.insertBefore(t.mobileInput,t.input.nextSibling)}catch{}C(t.mobileInput,"change",function(W){t.setDate(Es(W).value,!1,t.mobileFormatStr),ze("onChange"),ze("onClose")})}function Xe(L){if(t.isOpen===!0)return t.close();t.open(L)}function ze(L,W){if(t.config!==void 0){var oe=t.config[L];if(oe!==void 0&&oe.length>0)for(var Ce=0;oe[Ce]&&Ce<oe.length;Ce++)oe[Ce](t.selectedDates,t.input.value,t,W);L==="onChange"&&(t.input.dispatchEvent(Ve("change")),t.input.dispatchEvent(Ve("input")))}}function Ve(L){var W=document.createEvent("Event");return W.initEvent(L,!0,!0),W}function ut(L){for(var W=0;W<t.selectedDates.length;W++){var oe=t.selectedDates[W];if(oe instanceof Date&&Ss(oe,L)===0)return""+W}return!1}function yt(L){return t.config.mode!=="range"||t.selectedDates.length<2?!1:Ss(L,t.selectedDates[0])>=0&&Ss(L,t.selectedDates[1])<=0}function nt(){t.config.noCalendar||t.isMobile||!t.monthNav||(t.yearElements.forEach(function(L,W){var oe=new Date(t.currentYear,t.currentMonth,1);oe.setMonth(t.currentMonth+W),t.config.showMonths>1||t.config.monthSelectorType==="static"?t.monthElements[W].textContent=$a(oe.getMonth(),t.config.shorthandCurrentMonth,t.l10n)+" ":t.monthsDropdownContainer.value=oe.getMonth().toString(),L.value=oe.getFullYear().toString()}),t._hidePrevMonthArrow=t.config.minDate!==void 0&&(t.currentYear===t.config.minDate.getFullYear()?t.currentMonth<=t.config.minDate.getMonth():t.currentYear<t.config.minDate.getFullYear()),t._hideNextMonthArrow=t.config.maxDate!==void 0&&(t.currentYear===t.config.maxDate.getFullYear()?t.currentMonth+1>t.config.maxDate.getMonth():t.currentYear>t.config.maxDate.getFullYear()))}function St(L){var W=L||(t.config.altInput?t.config.altFormat:t.config.dateFormat);return t.selectedDates.map(function(oe){return t.formatDate(oe,W)}).filter(function(oe,Ce,Me){return t.config.mode!=="range"||t.config.enableTime||Me.indexOf(oe)===Ce}).join(t.config.mode!=="range"?t.config.conjunction:t.l10n.rangeSeparator)}function Mt(L){L===void 0&&(L=!0),t.mobileInput!==void 0&&t.mobileFormatStr&&(t.mobileInput.value=t.latestSelectedDateObj!==void 0?t.formatDate(t.latestSelectedDateObj,t.mobileFormatStr):""),t.input.value=St(t.config.dateFormat),t.altInput!==void 0&&(t.altInput.value=St(t.config.altFormat)),L!==!1&&ze("onValueUpdate")}function Li(L){var W=Es(L),oe=t.prevMonthNav.contains(W),Ce=t.nextMonthNav.contains(W);oe||Ce?J(oe?-1:1):t.yearElements.indexOf(W)>=0?W.select():W.classList.contains("arrowUp")?t.changeYear(t.currentYear+1):W.classList.contains("arrowDown")&&t.changeYear(t.currentYear-1)}function qi(L){L.preventDefault();var W=L.type==="keydown",oe=Es(L),Ce=oe;t.amPM!==void 0&&oe===t.amPM&&(t.amPM.textContent=t.l10n.amPM[zs(t.amPM.textContent===t.l10n.amPM[0])]);var Me=parseFloat(Ce.getAttribute("min")),Ke=parseFloat(Ce.getAttribute("max")),mt=parseFloat(Ce.getAttribute("step")),Qe=parseInt(Ce.value,10),wt=L.delta||(W?L.which===38?1:-1:0),Je=Qe+mt*wt;if(typeof Ce.value<"u"&&Ce.value.length===2){var lt=Ce===t.hourElement,Ht=Ce===t.minuteElement;Je<Me?(Je=Ke+Je+zs(!lt)+(zs(lt)&&zs(!t.amPM)),Ht&&I(void 0,-1,t.hourElement)):Je>Ke&&(Je=Ce===t.hourElement?Je-Ke-zs(!t.amPM):Me,Ht&&I(void 0,1,t.hourElement)),t.amPM&&lt&&(mt===1?Je+Qe===23:Math.abs(Je-Qe)>mt)&&(t.amPM.textContent=t.l10n.amPM[zs(t.amPM.textContent===t.l10n.amPM[0])]),Ce.value=ps(Je)}}return s(),t}function Wr(a,e){for(var t=Array.prototype.slice.call(a).filter(function(r){return r instanceof HTMLElement}),i=[],s=0;s<t.length;s++){var n=t[s];try{if(n.getAttribute("data-fp-omit")!==null)continue;n._flatpickr!==void 0&&(n._flatpickr.destroy(),n._flatpickr=void 0),n._flatpickr=Hg(n,e||{}),i.push(n._flatpickr)}catch(r){console.error(r)}}return i.length===1?i[0]:i}typeof HTMLElement<"u"&&typeof HTMLCollection<"u"&&typeof NodeList<"u"&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(a){return Wr(this,a)},HTMLElement.prototype.flatpickr=function(a){return Wr([this],a)});var Ni=function(a,e){return typeof a=="string"?Wr(window.document.querySelectorAll(a),e):a instanceof Node?Wr([a],e):Wr(a,e)};Ni.defaultConfig={},Ni.l10ns={en:es({},Bo),default:es({},Bo)},Ni.localize=function(a){Ni.l10ns.default=es(es({},Ni.l10ns.default),a)},Ni.setDefaults=function(a){Ni.defaultConfig=es(es({},Ni.defaultConfig),a)},Ni.parseDate=Gh({}),Ni.formatDate=Sc({}),Ni.compareDates=Ss,typeof jQuery<"u"&&typeof jQuery.fn<"u"&&(jQuery.fn.flatpickr=function(a){return Wr(this,a)}),Date.prototype.fp_incr=function(a){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof a=="string"?parseInt(a,10):a))},typeof window<"u"&&(window.flatpickr=Ni);class xc{constructor(e){this.translaterService=e,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this.inputFilterType="range",this.searchTerms=[],this._bindEventService=new Pi}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())??{}}get columnFilter(){var e;return((e=this.columnDef)==null?void 0:e.filter)||{}}get currentDateOrDates(){return this._currentDateOrDates}get defaultOperator(){return this.inputFilterType==="compound"?at.empty:this.gridOptions.defaultFilterRangeOperator||at.rangeInclusive}get flatpickrOptions(){return this._flatpickrOptions||{}}get operator(){var e;return this.inputFilterType==="compound"?this._operator||this.columnFilter.operator||this.defaultOperator:((e=this.columnFilter)==null?void 0:e.operator)??this.defaultOperator}set operator(e){this.inputFilterType==="compound"?this._operator=e:this.columnFilter&&(this.columnFilter.operator=e)}init(e){if(!e)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=e.grid,this.callback=e.callback,this.columnDef=e.columnDef,this.inputFilterType==="compound"&&(this.operator=e.operator||""),this.searchTerms=(e==null?void 0:e.searchTerms)??[],this.filterContainerElm=e.filterContainerElm;const t=this.inputFilterType==="compound"?Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"":this.searchTerms;this._filterElm=this.createDomFilterElement(t),this._bindEventService.bind(this._filterDivInputElm,"keyup",this.onTriggerEvent.bind(this)),this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this))}clear(e=!0){this.flatInstance&&(this._clearFilterTriggered=!0,this._shouldTriggerQuery=e,this.searchTerms=[],this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.flatInstance.input&&this.flatInstance.clear()),this._filterElm.classList.remove("filled"),this._filterDivInputElm.classList.remove("filled")}destroy(){var e,t,i,s,n;this._bindEventService.unbindAll(),typeof((e=this.flatInstance)==null?void 0:e.destroy)=="function"&&(this.flatInstance.destroy(),this.flatInstance.element&&Fa(this.flatInstance)),Pt(this.filterContainerElm),Pt(this._filterDivInputElm),(t=this._filterDivInputElm)==null||t.remove(),(i=this.filterContainerElm)==null||i.remove(),(s=this._selectOperatorElm)==null||s.remove(),(n=this._filterElm)==null||n.remove()}hide(){var e;typeof((e=this.flatInstance)==null?void 0:e.close)=="function"&&this.flatInstance.close()}show(){var e;typeof((e=this.flatInstance)==null?void 0:e.open)=="function"&&this.flatInstance.open()}getValues(){return this._currentDateOrDates}setValues(e,t){let i;this.inputFilterType==="compound"?i=Array.isArray(e)?e[0]:e:typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?i=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(i=e),this.flatInstance&&(this._currentDateOrDates=e&&i?i:void 0,this.flatInstance.setDate(this._currentDateOrDates||""));const s=this.getValues()||[];if(this.getValues()||Array.isArray(s)&&s.length>0&&e?(this._filterElm.classList.add("filled"),this._filterDivInputElm.classList.add("filled")):(this._filterElm.classList.remove("filled"),this._filterDivInputElm.classList.remove("filled")),this.operator=t||this.defaultOperator,t&&this._selectOperatorElm){const n=Lr(this.operator);this._selectOperatorElm.value=n}}buildDatePickerInput(e){var f,p,g,v,C,w;const t=((f=this.columnDef)==null?void 0:f.id)??"",i=Ro(this.columnFilter.type||this.columnDef.type||$.dateIso),s=Ro(this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||$.dateUtc),n=((p=this.columnFilter)==null?void 0:p.filterOptions)??{};let r=((n==null?void 0:n.locale)??((v=(g=this.translaterService)==null?void 0:g.getCurrentLanguage)==null?void 0:v.call(g)))||this.gridOptions.locale||"en";(r==null?void 0:r.length)>2&&(r=r.substring(0,2));let o;if(this.inputFilterType==="compound")e&&(o=e,this._currentDateOrDates=e);else if(typeof e=="string"||Array.isArray(e)&&typeof e[0]=="string"&&e[0].indexOf("..")>0?o=typeof e=="string"?[e]:e[0].split(".."):Array.isArray(e)&&(o=e),Array.isArray(o)){this._currentDateOrDates=o;const y=fs(this.columnFilter.type||this.columnDef.type||$.dateIso);this._currentDateStrings=o.map(S=>Vi(S).format(y))}const h={defaultDate:o||"",altInput:!0,altFormat:s,dateFormat:i,mode:this.inputFilterType==="range"?"range":"single",wrap:!0,closeOnSelect:!0,locale:r,onChange:(y,S)=>{if(this.inputFilterType==="compound")this._currentValue=S,this._currentDateOrDates=Array.isArray(y)&&y[0]||void 0;else if(Array.isArray(y)){this._currentDateOrDates=y;const I=fs(this.columnDef.outputType||this.columnFilter.type||this.columnDef.type||$.dateIso);this._currentDateStrings=y.map(F=>Vi(F).format(I)),this._currentValue=this._currentDateStrings.join("..")}const O=h.enableTime?new Event("keyup"):void 0;this.onTriggerEvent(O)},errorHandler:y=>{y.toString().includes("invalid locale")&&console.warn(`[Slickgrid-Universal] Flatpickr missing locale imports (${r}), will revert to English as the default locale.
11
- See Flatpickr Localization for more info, for example if we want to use French, then we can import it with: import 'flatpickr/dist/l10n/fr';`)}};s&&(s==="Z"||s.toLowerCase().includes("h"))&&(h.enableTime=!0),this._flatpickrOptions={...h,...n};let u=((C=this.gridOptions)==null?void 0:C.defaultFilterPlaceholder)??"";(w=this.columnFilter)!=null&&w.placeholder&&(u=this.columnFilter.placeholder);const c=Y("div",{className:"flatpickr"});return this.inputFilterType==="range"&&c.classList.add("search-filter",`filter-${t}`),c.appendChild(Y("input",{type:"text",className:"form-control",placeholder:u,dataset:{input:"",columnid:`${t}`}})),this.flatInstance=Ni(c,this._flatpickrOptions),c}getOperatorOptionValues(){var e;return(e=this.columnFilter)!=null&&e.compoundOperatorList?this.columnFilter.compoundOperatorList:zh(this.gridOptions,this.translaterService)}createDomFilterElement(e){var i;const t=((i=this.columnDef)==null?void 0:i.id)??"";if(Pt(this.filterContainerElm),this._filterDivInputElm=this.buildDatePickerInput(e),this.inputFilterType==="range")return Array.isArray(e)&&e.length>0&&e[0]!==""&&(this._filterDivInputElm.classList.add("filled"),this._currentDateOrDates=e,this._currentValue=e[0]),this._filterDivInputElm&&this.filterContainerElm.appendChild(this._filterDivInputElm),this._filterDivInputElm;{this._selectOperatorElm=Bh(this.getOperatorOptionValues(),this.grid);const s=Y("div",{className:`form-group search-filter filter-${t}`}),n=Y("div",{className:"input-group flatpickr"},s);if(Y("div",{className:"input-group-addon input-group-prepend operator"},n).appendChild(this._selectOperatorElm),n.appendChild(this._filterDivInputElm),this.operator){const o=Lr(this.operator);this._selectOperatorElm.value=o}return e!==""&&(this._filterDivInputElm.classList.add("filled"),this._currentDateOrDates=e,this._currentValue=e),s&&this.filterContainerElm.appendChild(s),s}}onTriggerEvent(e){if(this._clearFilterTriggered)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterElm.classList.remove("filled");else if(this.inputFilterType==="range")this._currentDateStrings?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled"),this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentDateStrings?this._currentDateStrings:[this._currentValue],operator:this.operator||"",shouldTriggerQuery:this._shouldTriggerQuery});else if(this.inputFilterType==="compound"&&this._selectOperatorElm){const t=this._selectOperatorElm.value;this._currentValue?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled"),(!(this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput===void 0)||this._currentDateOrDates!==void 0)&&this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentValue?[this._currentValue]:null,operator:t||"",shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}}class Bg extends xc{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Oc{constructor(e){this.translaterService=e}filterCollection(e,t,i=Nr.chain){let s=[];if(Array.isArray(t)){s=i===Nr.merge?[]:[...e];for(const n of t)if(i===Nr.merge){const r=this.singleFilterCollection(e,n);s=Zu([...s,...r])}else s=this.singleFilterCollection(s,n)}else s=this.singleFilterCollection(e,t);return s}singleFilterCollection(e,t){let i=[];if(t){const s=t.property,n=t.operator||at.equal,r=typeof t.value>"u"?"":t.value;switch(n){case at.equal:s?i=e.filter(o=>o[s]===r):i=e.filter(o=>o===r);break;case at.contains:s?i=e.filter(o=>{var h;return((h=o[s])==null?void 0:h.toString().indexOf(r.toString()))!==-1}):i=e.filter(o=>o!=null&&o.toString().indexOf(r.toString())!==-1);break;case at.notContains:s?i=e.filter(o=>{var h;return((h=o[s])==null?void 0:h.toString().indexOf(r.toString()))===-1}):i=e.filter(o=>o!=null&&o.toString().indexOf(r.toString())===-1);break;case at.notEqual:default:s?i=e.filter(o=>o[s]!==r):i=e.filter(o=>o!==r)}}return i}sortCollection(e,t,i,s){if(s&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let n=[];if(i){if(Array.isArray(i))n=t.sort((r,o)=>{var h,u;for(let c=0,f=i.length;c<f;c++){const p=i[c];if(p!=null&&p.property){const g=p.sortDesc?ni.desc:ni.asc,v=p.property,C=(p==null?void 0:p.fieldType)??(e==null?void 0:e.type)??$.string,w=s?((h=this.translaterService)==null?void 0:h.translate)&&this.translaterService.translate(r[v]||" "):r[v],y=s?((u=this.translaterService)==null?void 0:u.translate)&&this.translaterService.translate(o[v]||" "):o[v],S=Br(C,w,y,g,e);if(S!==ni.neutral)return S}}return ni.neutral});else if(i!=null&&i.property){const r=i.property,o=i.sortDesc?ni.desc:ni.asc,h=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??$.string;n=t.sort((u,c)=>{var v,C;const f=s?((v=this.translaterService)==null?void 0:v.translate)&&this.translaterService.translate(u[r]||" "):u[r],p=s?((C=this.translaterService)==null?void 0:C.translate)&&this.translaterService.translate(c[r]||" "):c[r],g=Br(h,f,p,o,e);return g!==ni.neutral?g:ni.neutral})}else if(i&&!i.property){const r=i.sortDesc?ni.desc:ni.asc,o=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??$.string;n=t.sort((h,u)=>{var g,v;const c=s?((g=this.translaterService)==null?void 0:g.translate)&&this.translaterService.translate(h||" "):h,f=s?((v=this.translaterService)==null?void 0:v.translate)&&this.translaterService.translate(u||" "):u,p=Br(o,c,f,r,e);return p!==ni.neutral?p:ni.neutral})}}return n}}class zg{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var f,p,g,v,C,w,y,S,O,I,F,X;if(this.sharedService.gridOptions&&this.sharedService.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((f=this.sharedService.gridOptions)==null?void 0:f[t])??{},n=((p=this.sharedService.gridOptions)==null?void 0:p.enableTranslate)??!1,r=((g=this.sharedService.gridOptions)==null?void 0:g.locales)??Oe.locales,o=s==null?void 0:s[e],h=s==null?void 0:s[`${e}Key`],u=this.sharedService.gridOptions,c=Ls(u);if(h&&((v=this.translaterService)!=null&&v.translate))i=this.translaterService.translate(h||" ");else switch(e){case"commandTitle":i=o||n&&((C=this.translaterService)==null?void 0:C.getCurrentLanguage)&&((w=this.translaterService)==null?void 0:w.translate(`${c}COMMANDS`||" "))||(r==null?void 0:r.TEXT_COMMANDS);break;case"columnTitle":i=o||n&&((y=this.translaterService)==null?void 0:y.getCurrentLanguage)&&((S=this.translaterService)==null?void 0:S.translate(`${c}COLUMNS`||" "))||(r==null?void 0:r.TEXT_COLUMNS);break;case"forceFitTitle":i=o||n&&((O=this.translaterService)==null?void 0:O.getCurrentLanguage)&&((I=this.translaterService)==null?void 0:I.translate(`${c}FORCE_FIT_COLUMNS`||" "))||(r==null?void 0:r.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=o||n&&((F=this.translaterService)==null?void 0:F.getCurrentLanguage)&&((X=this.translaterService)==null?void 0:X.translate(`${c}SYNCHRONOUS_RESIZE`||" "))||(r==null?void 0:r.TEXT_SYNCHRONOUS_RESIZE);break;default:i=o;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const r of e)r.hasOwnProperty(t)&&(r[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,r[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var o,h;let s="";const n=(o=this.sharedService)==null?void 0:o.gridOptions,r=(n==null?void 0:n.locales)??Oe.locales;return i?s=i:n.enableTranslate&&((h=this.translaterService)!=null&&h.translate)?s=this.translaterService.translate(e||" "):t in r?s=r[t]:s=t,s}}class li{constructor(e,t){if(this.event=e,this.args=t,this._isPropagationStopped=!1,this._isImmediatePropagationStopped=!1,this._isDefaultPrevented=!1,this.returnValue=void 0,this.nativeEvent=e,this._arguments=t,e){const i=["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","type","which","x","y"];for(const s of i)this[s]=e[s]}this.target=this.nativeEvent?this.nativeEvent.target:void 0}stopPropagation(){var e;this._isPropagationStopped=!0,(e=this.nativeEvent)==null||e.stopPropagation()}isPropagationStopped(){return this._isPropagationStopped}stopImmediatePropagation(){this._isImmediatePropagationStopped=!0,this.nativeEvent&&this.nativeEvent.stopImmediatePropagation()}isImmediatePropagationStopped(){return this._isImmediatePropagationStopped}getNativeEvent(){return this.nativeEvent}preventDefault(){this.nativeEvent&&this.nativeEvent.preventDefault(),this._isDefaultPrevented=!0}isDefaultPrevented(){return this.nativeEvent?this.nativeEvent.defaultPrevented:this._isDefaultPrevented}addReturnValue(e){this.returnValue===void 0&&e!==void 0&&(this.returnValue=e)}getReturnValue(){return this.returnValue}getArguments(){return this._arguments}}class $e{get subscriberCount(){return this._handlers.length}constructor(e,t){this.eventName=e,this.pubSub=t,this._handlers=[],this._pubSubService=t}subscribe(e){this._handlers.push(e)}unsubscribe(e){for(let t=this._handlers.length-1;t>=0;t--)this._handlers[t]===e&&this._handlers.splice(t,1)}notify(e,t,i){var n;const s=t instanceof li?t:new li(t,e);i=i||this;for(let r=0;r<this._handlers.length&&!(s.isPropagationStopped()||s.isImmediatePropagationStopped());r++){const o=this._handlers[r].call(i,s,e);s.addReturnValue(o)}if(typeof((n=this._pubSubService)==null?void 0:n.publish)=="function"&&this.eventName){const r=this._pubSubService.publish(this.eventName,{args:e,eventData:s});s.addReturnValue(r)}return s}setPubSubService(e){this._pubSubService=e}}class hi{constructor(){this.handlers=[]}get subscriberCount(){return this.handlers.length}subscribe(e,t){return this.handlers.push({event:e,handler:t}),e.subscribe(t),this}unsubscribe(e,t){let i=this.handlers.length;for(;i--;)if(this.handlers[i].event===e&&this.handlers[i].handler===t){this.handlers.splice(i,1),e.unsubscribe(t);return}return this}unsubscribeAll(){let e=this.handlers.length;for(;e--;)this.handlers[e].event.unsubscribe(this.handlers[e].handler);return this.handlers=[],this}}class Ts{constructor(e,t,i,s){i===void 0&&s===void 0&&(i=e,s=t),this.fromRow=Math.min(e,i),this.fromCell=Math.min(t,s),this.toRow=Math.max(e,i),this.toCell=Math.max(t,s)}isSingleCell(){return this.fromRow===this.toRow&&this.fromCell===this.toCell}isSingleRow(){return this.fromRow===this.toRow}contains(e,t){return e>=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell}toString(){return this.isSingleCell()?`(${this.fromRow}:${this.fromCell})`:`(${this.fromRow}:${this.fromCell} - ${this.toRow}:${this.toCell})`}}class Ac{constructor(){this.__nonDataRow=!0}}class Ya extends Ac{constructor(){super(),this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}equals(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title}}class Vg extends Ac{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class Wg{constructor(){this.activeEditController=null}isActive(e){return e?this.activeEditController===e:this.activeEditController!==null}activate(e){if(e!==this.activeEditController){if(this.activeEditController!==null)throw new Error("SlickEditorLock.activate: an editController is still active, can't activate another editController");if(!e.commitCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .commitCurrentEdit()");if(!e.cancelCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .cancelCurrentEdit()");this.activeEditController=e}}deactivate(e){if(this.activeEditController){if(this.activeEditController!==e)throw new Error("SlickEditorLock.deactivate: specified editController is not the currently active one");this.activeEditController=null}}commitCurrentEdit(){return this.activeEditController?this.activeEditController.commitCurrentEdit():!0}cancelCurrentEdit(){return this.activeEditController?this.activeEditController.cancelCurrentEdit():!0}}class ne{static isFunction(e){return typeof e=="function"&&typeof e.nodeType!="number"&&typeof e.item!="function"}static isPlainObject(e){if(!e||ne.toString.call(e)!=="[object Object]")return!1;const t=ne.getProto(e);if(!t)return!0;const i=ne.hasOwn.call(t,"constructor")&&t.constructor;return typeof i=="function"&&ne.fnToString.call(i)===ne.ObjectFunctionString}static extend(...e){let t,i,s,n,r,o,h=e[0],u=1,c=!1;const f=e.length;if(h===!0?(c=h,h=e[u]||{},u++):h=h||{},typeof h!="object"&&!ne.isFunction(h)&&(h={}),f===1)return e[0];for(u===f&&(h=this,u--);u<f;u++)if(jt(t=e[u]))for(i in t)n=t[i],!(i==="__proto__"||h===n)&&(c&&n&&(ne.isPlainObject(n)||(r=Array.isArray(n)))?(s=h[i],r&&!Array.isArray(s)?o=[]:!r&&!ne.isPlainObject(s)?o={}:o=s,r=!1,h[i]=ne.extend(c,o,n)):n!==void 0&&(h[i]=n));return h}static noop(){}static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;ne.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;ne.setStyleSize(e,"width",t)}}static setStyleSize(e,t,i){typeof i=="function"&&(i=i()),e.style[t]=typeof i=="string"?i:`${i}px`}static isHidden(e){return e.offsetWidth===0&&e.offsetHeight===0}static parents(e,t){const i=[],s=t===":visible",n=t===":hidden";for(;(e=e.parentNode)&&e!==document&&!(!e||!e.parentNode);)n?ne.isHidden(e)&&i.push(e):s?ne.isHidden(e)||i.push(e):(!t||e.matches(t))&&i.push(e);return i}static toFloat(e){const t=parseFloat(e);return isNaN(t)?0:t}static show(e,t=""){Array.isArray(e)?e.forEach(i=>i.style.display=t):e.style.display=t}static hide(e){Array.isArray(e)?e.forEach(t=>t.style.display="none"):e.style.display="none"}static applyDefaults(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}static addSlickEventPubSubWhenDefined(e,t){if(e)for(const i in t)t[i]instanceof $e&&typeof t[i].setPubSubService=="function"&&t[i].setPubSubService(e)}}ne.getProto=Object.getPrototypeOf,ne.class2type={},ne.toString=ne.class2type.toString,ne.hasOwn=ne.class2type.hasOwnProperty,ne.fnToString=ne.hasOwn.toString,ne.ObjectFunctionString=ne.fnToString.call(Object),ne.storage={_storage:new WeakMap,put:function(a,e,t){this._storage.has(a)||this._storage.set(a,new Map),this._storage.get(a).set(e,t)},get:function(a,e){const t=this._storage.get(a);return t?t.get(e):null},remove:function(a,e){const t=this._storage.get(a).delete(e);return this._storage.get(a).size!==0&&this._storage.delete(a),t}};const ja=new Wg,Ug="slick-edit-preclick";class Rc{constructor(e){this.pluginName="SlickGroupItemMetadataProvider",this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new hi,this._options=ne.extend(!0,{},this._defaults,e)}get eventHandler(){return this._eventHandler}get dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}init(e,t){this._grid=e,this._options={...this._defaults,...t},this._eventHandler.subscribe(e.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(e.onKeyDown,this.handleGridKeyDown.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}getOptions(){return this._options}setOptions(e){this._options={...this._options,...e}}getGroupRowMetadata(e){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(e==null?void 0:e.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter||void 0,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editor:null}}}}getTotalsRowMetadata(e){var t;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((t=e==null?void 0:e.group)==null?void 0:t.level)||0}`,formatter:this._options.totalsFormatter,editor:null}}defaultGroupCellFormatter(e,t,i,s,n){var p,g;if(!this._options.enableExpandCollapse)return n.title;const r=n.level||0,o=((p=this._options)==null?void 0:p.indentation)??15,h=`${r*o}px`,u=n.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass,c=(g=this.gridOptions)!=null&&g.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;c.appendChild(Y("span",{className:`${this._options.toggleCssClass} ${u}`,ariaExpanded:String(!n.collapsed),style:{marginLeft:h}}));const f=Y("span",{className:this._options.groupTitleCssClass||""});return f.setAttribute("level",r),n.title instanceof HTMLElement?f.appendChild(n.title):this._grid.applyHtmlCode(f,n.title??""),c.appendChild(f),c}defaultTotalsCellFormatter(e,t,i,s,n,r){var o;return((o=s==null?void 0:s.groupTotalsFormatter)==null?void 0:o.call(s,n,s,r))??""}handleGridClick(e,t){var n;const i=e.target,s=(n=this._grid)==null?void 0:n.getDataItem(t.row);s instanceof Ya&&i.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}handleGridKeyDown(e){var t;if(this._options.enableExpandCollapse&&e.key===" "){const i=(t=this._grid)==null?void 0:t.getActiveCell();if(i){const s=this._grid.getDataItem(i.row);s instanceof Ya&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}}}handleDataViewExpandOrCollapse(e){var i;const t=(i=this._grid)==null?void 0:i.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),e.collapsed?this.dataView.expandGroup(e.groupingKey):this.dataView.collapseGroup(e.groupingKey)}}class Gg{constructor(e,t){this.externalPubSub=t,this.defaults={groupItemMetadataProvider:null,inlineFilters:!1,useCSPSafeFilter:!1},this.idProperty="id",this.items=[],this.rows=[],this.idxById=new Map,this.rowsById=void 0,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.suspend=!1,this.isBulkSuspend=!1,this.bulkDeleteIds=new Map,this.sortAsc=!0,this.refreshHints={},this.prevRefreshHints={},this.filteredItems=[],this.filterCache=[],this.groupingInfoDefaults={getter:void 0,formatter:void 0,comparer:(i,s)=>i.value===s.value?0:i.value>s.value?1:-1,predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},this.groupingInfos=[],this.groups=[],this.toggledGroupsByLevel=[],this.groupingDelimiter=":|:",this.selectedRowIds=[],this.pagesize=0,this.pagenum=0,this.totalRows=0,this.onBeforePagingInfoChanged=new $e("onBeforePagingInfoChanged",t),this.onGroupExpanded=new $e("onGroupExpanded",t),this.onGroupCollapsed=new $e("onGroupCollapsed",t),this.onPagingInfoChanged=new $e("onPagingInfoChanged",t),this.onRowCountChanged=new $e("onRowCountChanged",t),this.onRowsChanged=new $e("onRowsChanged",t),this.onRowsOrCountChanged=new $e("onRowsOrCountChanged",t),this.onSelectedRowIdsChanged=new $e("onSelectedRowIdsChanged",t),this.onSetItemsCalled=new $e("onSetItemsCalled",t),this._options=ne.extend(!0,{},this.defaults,e)}beginUpdate(e){this.suspend=!0,this.isBulkSuspend=e===!0}endUpdate(){const e=this.isBulkSuspend;this.isBulkSuspend=!1,this.suspend=!1,e&&(this.processBulkDelete(),this.ensureIdUniqueness()),this.refresh()}destroy(){this.items=[],this.idProperty="id",this.idxById=null,this.rowsById=null,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.sortComparer=null,this.filterCache=[],this.filteredItems=[],this.compiledFilter=null,this.compiledFilterCSPSafe=null,this.compiledFilterWithCaching=null,this.compiledFilterWithCachingCSPSafe=null,this._grid&&this._grid.onSelectedRowsChanged&&this._grid.onCellCssStylesChanged&&(this._grid.onSelectedRowsChanged.unsubscribe(),this._grid.onCellCssStylesChanged.unsubscribe()),this.onRowsOrCountChanged&&this.onRowsOrCountChanged.unsubscribe()}setRefreshHints(e){this.refreshHints=e}setFilterArgs(e){this.filterArgs=e}processBulkDelete(){if(!this.idxById)return;let e,t,i=0;for(let s=0,n=this.items.length;s<n;s++){if(t=this.items[s],e=t[this.idProperty],e===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.bulkDeleteIds.has(e)?this.idxById.delete(e):(this.items[i]=t,this.idxById.set(e,i),++i)}this.items.length=i,this.bulkDeleteIds=new Map}updateIdxById(e){if(this.isBulkSuspend||!this.idxById)return;e=e||0;let t;for(let i=e,s=this.items.length;i<s;i++){if(t=this.items[i][this.idProperty],t===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.idxById.set(t,i)}}ensureIdUniqueness(){if(this.isBulkSuspend||!this.idxById)return;let e;for(let t=0,i=this.items.length;t<i;t++)if(e=this.items[t][this.idProperty],e===void 0||this.idxById.get(e)!==t)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property")}getItems(){return this.items}getIdPropertyName(){return this.idProperty}setItems(e,t){t!==void 0&&(this.idProperty=t),this.items=this.filteredItems=e,this.onSetItemsCalled.notify({idProperty:this.idProperty,itemCount:this.items.length},null,this),this.idxById=new Map,this.updateIdxById(),this.ensureIdUniqueness(),this.refresh()}setPagingOptions(e){this.onBeforePagingInfoChanged.notify(this.getPagingInfo(),null,this).getReturnValue()!==!1&&(jt(e.pageSize)&&(this.pagesize=e.pageSize,this.pagenum=this.pagesize?Math.min(this.pagenum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1)):0),jt(e.pageNum)&&(this.pagenum=Math.min(e.pageNum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1))),this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),this.refresh())}getPagingInfo(){const e=this.pagesize?Math.max(1,Math.ceil(this.totalRows/this.pagesize)):1;return{pageSize:this.pagesize,pageNum:this.pagenum,totalRows:this.totalRows,totalPages:e,dataView:this}}sort(e,t){this.sortAsc=t,this.sortComparer=e,t===!1&&this.items.reverse(),this.items.sort(e),t===!1&&this.items.reverse(),this.idxById=new Map,this.updateIdxById(),this.refresh()}reSort(){this.sortComparer&&this.sort(this.sortComparer,this.sortAsc)}getFilteredItems(){return this.filteredItems}getFilteredItemCount(){return this.filteredItems.length}getFilter(){return this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter}setFilter(e){this.filterCSPSafe=e,this.filter=e,this._options.inlineFilters&&(this.compiledFilterCSPSafe=this.compileFilterCSPSafe,this.compiledFilterWithCachingCSPSafe=this.compileFilterWithCachingCSPSafe,this.compiledFilter=this.compileFilter(this._options.useCSPSafeFilter),this.compiledFilterWithCaching=this.compileFilterWithCaching(this._options.useCSPSafeFilter)),this.refresh()}getGrouping(){return this.groupingInfos}setGrouping(e){this._options.groupItemMetadataProvider||(this._options.groupItemMetadataProvider=new Rc),this.groups=[],this.toggledGroupsByLevel=[],e=e||[],this.groupingInfos=e instanceof Array?e:[e];for(let t=0;t<this.groupingInfos.length;t++){const i=this.groupingInfos[t]=ne.extend(!0,{},this.groupingInfoDefaults,this.groupingInfos[t]);i.getterIsAFn=typeof i.getter=="function",i.compiledAccumulators=[];let s=i.aggregators.length;for(;s--;)i.compiledAccumulators[s]=this.compileAccumulatorLoop(i.aggregators[s]);this.toggledGroupsByLevel[t]={}}this.refresh()}getItemByIdx(e){return this.items[e]}getIdxById(e){var t;return(t=this.idxById)==null?void 0:t.get(e)}ensureRowsByIdCache(){if(!this.rowsById){this.rowsById={};for(let e=0,t=this.rows.length;e<t;e++)this.rowsById[this.rows[e][this.idProperty]]=e}}getRowByItem(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e[this.idProperty]]}getRowById(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e]}getItemById(e){return this.items[this.idxById.get(e)]}mapItemsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const r=(i=this.rowsById)==null?void 0:i[e[s][this.idProperty]];jt(r)&&(t[t.length]=r)}return t}mapIdsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const r=(i=this.rowsById)==null?void 0:i[e[s]];jt(r)&&(t[t.length]=r)}return t}mapRowsToIds(e){const t=[];for(let i=0,s=e.length;i<s;i++)if(e[i]<this.rows.length){const n=this.rows[e[i]];t[t.length]=n[this.idProperty]}return t}updateSingleItem(e,t){var i;if(this.idxById){if(!this.idxById.has(e))throw new Error("[SlickGrid DataView] Invalid id");if(e!==t[this.idProperty]){const s=t[this.idProperty];if(!jt(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a null id");if(this.idxById.has(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a non-unique id");this.idxById.set(s,this.idxById.get(e)),this.idxById.delete(e),(i=this.updated)!=null&&i[e]&&delete this.updated[e],e=s}this.items[this.idxById.get(e)]=t,this.updated||(this.updated={}),this.updated[e]=!0}}updateItem(e,t){this.updateSingleItem(e,t),this.refresh()}updateItems(e,t){if(e.length!==t.length)throw new Error("[SlickGrid DataView] Mismatch on the length of ids and items provided to update");for(let i=0,s=t.length;i<s;i++)this.updateSingleItem(e[i],t[i]);this.refresh()}insertItem(e,t){this.items.splice(e,0,t),this.updateIdxById(e),this.refresh()}insertItems(e,t){Array.prototype.splice.apply(this.items,[e,0].concat(t)),this.updateIdxById(e),this.refresh()}addItem(e){this.items.push(e),this.updateIdxById(this.items.length-1),this.refresh()}addItems(e){this.items=this.items.concat(e),this.updateIdxById(this.items.length-e.length),this.refresh()}deleteItem(e){if(this.idxById)if(this.isBulkSuspend)this.bulkDeleteIds.set(e,!0);else{const t=this.idxById.get(e);if(t===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(e),this.items.splice(t,1),this.updateIdxById(t),this.refresh()}}deleteItems(e){if(!(e.length===0||!this.idxById))if(this.isBulkSuspend)for(let t=0,i=e.length;t<i;t++){const s=e[t];if(this.idxById.get(s)===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.bulkDeleteIds.set(s,!0)}else{const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i],r=this.idxById.get(n);if(r===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(n),t.push(r)}t.sort();for(let i=t.length-1;i>=0;--i)this.items.splice(t[i],1);this.updateIdxById(t[0]),this.refresh()}}sortedAddItem(e){if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedAddItem() requires a sort comparer, use sort()");this.insertItem(this.sortedIndex(e),e)}sortedUpdateItem(e,t){if(!this.idxById)return;if(!this.idxById.has(e)||e!==t[this.idProperty])throw new Error("[SlickGrid DataView] Invalid or non-matching id "+this.idxById.get(e));if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedUpdateItem() requires a sort comparer, use sort()");const i=this.getItemById(e);this.sortComparer(i,t)!==0?(this.deleteItem(e),this.sortedAddItem(t)):this.updateItem(e,t)}sortedIndex(e){let t=0,i=this.items.length;for(;t<i;){const s=t+i>>>1;this.sortComparer(this.items[s],e)===-1?t=s+1:i=s}return t}getItemCount(){return this.items.length}getLength(){return this.rows.length}getItem(e){var i;const t=this.rows[e];if(t!=null&&t.__group&&t.totals&&!((i=t.totals)!=null&&i.initialized)){const s=this.groupingInfos[t.level];s.displayTotalsRow||(this.calculateTotals(t.totals),t.title=s.formatter?s.formatter(t):t.value)}else t!=null&&t.__groupTotals&&!t.initialized&&this.calculateTotals(t);return t}getItemMetadata(e){const t=this.rows[e];return t===void 0?null:t.__group?this._options.groupItemMetadataProvider.getGroupRowMetadata(t):t.__groupTotals?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t):null}expandCollapseAllGroups(e,t){if(jt(e))this.toggledGroupsByLevel[e]={},this.groupingInfos[e].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:e,groupingKey:null}):this.onGroupExpanded.notify({level:e,groupingKey:null});else for(let i=0;i<this.groupingInfos.length;i++)this.toggledGroupsByLevel[i]={},this.groupingInfos[i].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:i,groupingKey:null}):this.onGroupExpanded.notify({level:i,groupingKey:null});this.refresh()}collapseAllGroups(e){this.expandCollapseAllGroups(e,!0)}expandAllGroups(e){this.expandCollapseAllGroups(e,!1)}expandCollapseGroup(e,t,i){this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed^i,this.refresh()}collapseGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(s=i,n=i.split(this.groupingDelimiter).length-1):(s=e.join(this.groupingDelimiter),n=e.length-1),this.expandCollapseGroup(n,s,!0),this.onGroupCollapsed.notify({level:n,groupingKey:s})}expandGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(n=i.split(this.groupingDelimiter).length-1,s=i):(n=e.length-1,s=e.join(this.groupingDelimiter)),this.expandCollapseGroup(n,s,!1),this.onGroupExpanded.notify({level:n,groupingKey:s})}getGroups(){return this.groups}extractGroups(e,t){var c,f;let i,s;const n=[],r={};let o;const h=t?t.level+1:0,u=this.groupingInfos[h];for(let p=0,g=((c=u.predefinedValues)==null?void 0:c.length)??0;p<g;p++)s=(f=u.predefinedValues)==null?void 0:f[p],i=r[s],i||(i=new Ya,i.value=s,i.level=h,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,r[s]=i);for(let p=0,g=e.length;p<g;p++)o=e[p],s=u.getterIsAFn?u.getter(o):o[u.getter],i=r[s],i||(i=new Ya,i.value=s,i.level=h,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,r[s]=i),i.rows[i.count++]=o;if(h<this.groupingInfos.length-1)for(let p=0;p<n.length;p++)i=n[p],i.groups=this.extractGroups(i.rows,i);return n.length&&this.addTotals(n,h),n.sort(this.groupingInfos[h].comparer),n}calculateTotals(e){var o;const t=e.group,i=this.groupingInfos[(t==null?void 0:t.level)??0],s=t.level===this.groupingInfos.length;let n,r=i.aggregators.length;if(!s&&i.aggregateChildGroups){let h=((o=t.groups)==null?void 0:o.length)??0;for(;h--;)t.groups[h].totals.initialized||this.calculateTotals(t.groups[h].totals)}for(;r--;)n=i.aggregators[r],n.init(),!s&&i.aggregateChildGroups?i.compiledAccumulators[r].call(n,t.groups):i.compiledAccumulators[r].call(n,t.rows),n.storeResult(e);e.initialized=!0}addGroupTotals(e){const t=this.groupingInfos[e.level],i=new Vg;i.group=e,e.totals=i,t.lazyTotalsCalculation||this.calculateTotals(i)}addTotals(e,t){var h,u;t=t||0;const i=this.groupingInfos[t],s=i.collapsed,n=this.toggledGroupsByLevel[t];let r=e.length,o;for(;r--;)o=e[r],!(o.collapsed&&!i.aggregateCollapsed)&&(o.groups&&this.addTotals(o.groups,t+1),(h=i.aggregators)!=null&&h.length&&(i.aggregateEmpty||o.rows.length||(u=o.groups)!=null&&u.length)&&this.addGroupTotals(o),o.collapsed=s^n[o.groupingKey],o.title=i.formatter?i.formatter(o):o.value)}flattenGroupedRows(e,t){t=t||0;const i=this.groupingInfos[t],s=[];let n,r=0,o;for(let h=0,u=e.length;h<u;h++){if(o=e[h],s[r++]=o,!o.collapsed){n=o.groups?this.flattenGroupedRows(o.groups,t+1):o.rows;for(let c=0,f=n.length;c<f;c++)s[r++]=n[c]}o.totals&&i.displayTotalsRow&&(!o.collapsed||i.aggregateCollapsed)&&(s[r++]=o.totals)}return s}getFunctionInfo(e){const s=e.toString().indexOf("function")>=0?/^function[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/:/^[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/,n=e.toString().match(s)||[];return{params:n[1].split(","),body:n[2]}}compileAccumulatorLoop(e){if(e.accumulate){const t=this.getFunctionInfo(e.accumulate),i=new Function("_items","for (var "+t.params[0]+", _i=0, _il=_items.length; _i<_il; _i++) {"+t.params[0]+" = _items[_i]; "+t.body+"}"),s="compiledAccumulatorLoop";return i.displayName=s,i.name=this.setFunctionName(i,s),i}else return function(){}}compileFilterCSPSafe(e,t){if(typeof this.filterCSPSafe!="function")return[];const i=[],s=e.length;for(let n=0;n<s;n++)this.filterCSPSafe(e[n],t)&&i.push(e[n]);return i}compileFilter(e=!1){if(e)return null;const t=this.getFunctionInfo(this.filter),i="{ continue _coreloop; }$1",s="{ _retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let r=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");r=r.replace(/\$filter\$/gi,n),r=r.replace(/\$item\$/gi,t.params[0]),r=r.replace(/\$args\$/gi,t.params[1]);const o=new Function("_items,_args",r),h="compiledFilter";return o.displayName=h,o.name=this.setFunctionName(o,h),o}compileFilterWithCaching(e=!1){if(e)return null;const t=this.getFunctionInfo(this.filter),i="{ continue _coreloop; }$1",s="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let r=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");r=r.replace(/\$filter\$/gi,n),r=r.replace(/\$item\$/gi,t.params[0]),r=r.replace(/\$args\$/gi,t.params[1]);const o=new Function("_items,_args,_cache",r),h="compiledFilterWithCaching";return o.displayName=h,o.name=this.setFunctionName(o,h),o}compileFilterWithCachingCSPSafe(e,t,i){if(typeof this.filterCSPSafe!="function")return[];const s=[],n=e.length;for(let r=0;r<n;r++)(i[r]||this.filterCSPSafe(e[r],t))&&s.push(e[r]);return s}setFunctionName(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch{e.name=t}}uncompiledFilter(e,t){var n;const i=[];let s=0;for(let r=0,o=e.length;r<o;r++)(n=this.filter)!=null&&n.call(this,e[r],t)&&(i[s++]=e[r]);return i}uncompiledFilterWithCaching(e,t,i){var o;const s=[];let n=0,r;for(let h=0,u=e.length;h<u;h++)r=e[h],i[h]?s[n++]=r:(o=this.filter)!=null&&o.call(this,r,t)&&(s[n++]=r,i[h]=!0);return s}getFilteredAndPagedItems(e){if(this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter){let i,s;this._options.useCSPSafeFilter?(i=this._options.inlineFilters?this.compiledFilterCSPSafe:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCachingCSPSafe:this.uncompiledFilterWithCaching):(i=this._options.inlineFilters?this.compiledFilter:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCaching:this.uncompiledFilterWithCaching),this.refreshHints.isFilterNarrowing?this.filteredItems=i.call(this,this.filteredItems,this.filterArgs):this.refreshHints.isFilterExpanding?this.filteredItems=s.call(this,e,this.filterArgs,this.filterCache):this.refreshHints.isFilterUnchanged||(this.filteredItems=i.call(this,e,this.filterArgs))}else this.filteredItems=this.pagesize?e:e.concat();let t;return this.pagesize?(this.filteredItems.length<=this.pagenum*this.pagesize&&(this.filteredItems.length===0?this.pagenum=0:this.pagenum=Math.floor((this.filteredItems.length-1)/this.pagesize)),t=this.filteredItems.slice(this.pagesize*this.pagenum,this.pagesize*this.pagenum+this.pagesize)):t=this.filteredItems,{totalRows:this.filteredItems.length,rows:t}}getRowDiffs(e,t){var u,c,f;let i,s,n;const r=[];let o=0,h=Math.max(t.length,e.length);(u=this.refreshHints)!=null&&u.ignoreDiffsBefore&&(o=Math.max(0,Math.min(t.length,this.refreshHints.ignoreDiffsBefore))),(c=this.refreshHints)!=null&&c.ignoreDiffsAfter&&(h=Math.min(t.length,Math.max(0,this.refreshHints.ignoreDiffsAfter)));for(let p=o,g=e.length;p<h;p++)p>=g?r[r.length]=p:(i=t[p],s=e[p],(!i||this.groupingInfos.length&&(n=i.__nonDataRow||s.__nonDataRow)&&i.__group!==s.__group||i.__group&&!i.equals(s)||n&&(i.__groupTotals||s.__groupTotals)||i[this.idProperty]!==s[this.idProperty]||(f=this.updated)!=null&&f[i[this.idProperty]])&&(r[r.length]=p));return r}recalc(e){this.rowsById=void 0,(this.refreshHints.isFilterNarrowing!==this.prevRefreshHints.isFilterNarrowing||this.refreshHints.isFilterExpanding!==this.prevRefreshHints.isFilterExpanding)&&(this.filterCache=[]);const t=this.getFilteredAndPagedItems(e);this.totalRows=t.totalRows;let i=t.rows;this.groups=[],this.groupingInfos.length&&(this.groups=this.extractGroups(i),this.groups.length&&(i=this.flattenGroupedRows(this.groups)));const s=this.getRowDiffs(this.rows,i);return this.rows=i,s}refresh(){if(this.suspend)return;const e=ne.extend(!0,{},this.getPagingInfo()),t=this.rows.length,i=this.totalRows;let s=this.recalc(this.items);this.pagesize&&this.totalRows<this.pagenum*this.pagesize&&(this.pagenum=Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1),s=this.recalc(this.items)),this.updated=null,this.prevRefreshHints=this.refreshHints,this.refreshHints={},i!==this.totalRows&&this.onBeforePagingInfoChanged.notify(e,null,this).getReturnValue()!==!1&&this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),t!==this.rows.length&&this.onRowCountChanged.notify({previous:t,current:this.rows.length,itemCount:this.items.length,dataView:this,callingOnRowsChanged:s.length>0},null,this),s.length>0&&this.onRowsChanged.notify({rows:s,itemCount:this.items.length,dataView:this,calledOnRowCountChanged:t!==this.rows.length},null,this),(t!==this.rows.length||s.length>0)&&this.onRowsOrCountChanged.notify({rowsDiff:s,previousRowCount:t,currentRowCount:this.rows.length,itemCount:this.items.length,rowCountChanged:t!==this.rows.length,rowsChanged:s.length>0,dataView:this},null,this)}syncGridSelection(e,t,i){this._grid=e;let s;this.selectedRowIds=this.mapRowsToIds(e.getSelectedRows());const n=o=>{o===!1?this.selectedRowIds=[]:this.selectedRowIds.sort().join(",")!==o.sort().join(",")&&(this.selectedRowIds=o)},r=()=>{if((this.selectedRowIds||[]).length>0&&!s){s=!0;const o=this.mapIdsToRows(this.selectedRowIds||[]);if(!t){const h={grid:this._grid,ids:this.mapRowsToIds(o),rows:o,dataView:this};this.preSelectedRowIdsChangeFn(h),this.onSelectedRowIdsChanged.notify(Object.assign(h,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this)}e.setSelectedRows(o),s=!1}};return e.onSelectedRowsChanged.subscribe((o,h)=>{if(!s){const u=this.mapRowsToIds(h.rows),c={grid:this._grid,ids:u,rows:h.rows,added:!0,dataView:this};this.preSelectedRowIdsChangeFn(c),this.onSelectedRowIdsChanged.notify(Object.assign(c,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this)}}),this.preSelectedRowIdsChangeFn=o=>{var h;if(!s){if(s=!0,typeof o.added>"u")n(o.ids);else{let c;o.added?i&&e.getOptions().multiSelect?c=((h=this.selectedRowIds)==null?void 0:h.filter(p=>this.getRowById(p)===void 0)).concat(o.ids):c=o.ids:i&&e.getOptions().multiSelect?c=this.selectedRowIds.filter(f=>o.ids.indexOf(f)===-1):c=[],n(c)}s=!1}},this.onRowsOrCountChanged.subscribe(r.bind(this)),this.onSelectedRowIdsChanged}getAllSelectedIds(){return this.selectedRowIds}getAllSelectedFilteredIds(){return this.getAllSelectedFilteredItems().map(e=>e[this.idProperty])}setSelectedIds(e,t){var h;let i=t==null?void 0:t.isRowBeingAdded;const s=t==null?void 0:t.shouldTriggerEvent,n=t==null?void 0:t.applyRowSelectionToGrid;i!==!1&&(i=!0);const r=this.mapIdsToRows(e),o={grid:this._grid,ids:e,rows:r,added:i,dataView:this};(h=this.preSelectedRowIdsChangeFn)==null||h.call(this,o),s!==!1&&this.onSelectedRowIdsChanged.notify(Object.assign(o,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this),n!==!1&&this._grid&&this._grid.setSelectedRows(r)}getAllSelectedItems(){const e=[];return this.getAllSelectedIds().forEach(i=>{e.push(this.getItemById(i))}),e}getAllSelectedFilteredItems(){return Array.isArray(this.selectedRowIds)?this.filteredItems.filter(t=>this.selectedRowIds.some(i=>t[this.idProperty]===i))||[]:[]}syncGridCellCssStyles(e,t){let i,s;const n=o=>{i={};for(const h in o)if(o){const u=this.rows[h][this.idProperty];i[u]=o[h]}};n(e.getCellCssStyles(t));const r=()=>{var o;if(i){s=!0,this.ensureRowsByIdCache();const h={};for(const u in i)if(i){const c=(o=this.rowsById)==null?void 0:o[u];jt(c)&&(h[c]=i[u])}e.setCellCssStyles(t,h),s=!1}};e.onCellCssStylesChanged.subscribe((o,h)=>{s||t!==h.key||(h.hash?n(h.hash):(e.onCellCssStylesChanged.unsubscribe(),this.onRowsOrCountChanged.unsubscribe(r)))}),this.onRowsOrCountChanged.subscribe(r.bind(this))}}/**!
11
+ See Flatpickr Localization for more info, for example if we want to use French, then we can import it with: import 'flatpickr/dist/l10n/fr';`)}};s&&(s==="Z"||s.toLowerCase().includes("h"))&&(h.enableTime=!0),this._flatpickrOptions={...h,...n};let u=((C=this.gridOptions)==null?void 0:C.defaultFilterPlaceholder)??"";(w=this.columnFilter)!=null&&w.placeholder&&(u=this.columnFilter.placeholder);const c=Y("div",{className:"flatpickr"});return this.inputFilterType==="range"&&c.classList.add("search-filter",`filter-${t}`),c.appendChild(Y("input",{type:"text",className:"form-control",placeholder:u,dataset:{input:"",columnid:`${t}`}})),this.flatInstance=Ni(c,this._flatpickrOptions),c}getOperatorOptionValues(){var e;return(e=this.columnFilter)!=null&&e.compoundOperatorList?this.columnFilter.compoundOperatorList:zh(this.gridOptions,this.translaterService)}createDomFilterElement(e){var i;const t=((i=this.columnDef)==null?void 0:i.id)??"";if(Pt(this.filterContainerElm),this._filterDivInputElm=this.buildDatePickerInput(e),this.inputFilterType==="range")return Array.isArray(e)&&e.length>0&&e[0]!==""&&(this._filterDivInputElm.classList.add("filled"),this._currentDateOrDates=e,this._currentValue=e[0]),this._filterDivInputElm&&this.filterContainerElm.appendChild(this._filterDivInputElm),this._filterDivInputElm;{this._selectOperatorElm=Bh(this.getOperatorOptionValues(),this.grid);const s=Y("div",{className:`form-group search-filter filter-${t}`}),n=Y("div",{className:"input-group flatpickr"},s);if(Y("div",{className:"input-group-addon input-group-prepend operator"},n).appendChild(this._selectOperatorElm),n.appendChild(this._filterDivInputElm),this.operator){const o=Lr(this.operator);this._selectOperatorElm.value=o}return e!==""&&(this._filterDivInputElm.classList.add("filled"),this._currentDateOrDates=e,this._currentValue=e),s&&this.filterContainerElm.appendChild(s),s}}onTriggerEvent(e){if(this._clearFilterTriggered)this.callback(e,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterElm.classList.remove("filled");else if(this.inputFilterType==="range")this._currentDateStrings?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled"),this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentDateStrings?this._currentDateStrings:[this._currentValue],operator:this.operator||"",shouldTriggerQuery:this._shouldTriggerQuery});else if(this.inputFilterType==="compound"&&this._selectOperatorElm){const t=this._selectOperatorElm.value;this._currentValue?this._filterElm.classList.add("filled"):this._filterElm.classList.remove("filled"),(!(this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput===void 0)||this._currentDateOrDates!==void 0)&&this.callback(e,{columnDef:this.columnDef,searchTerms:this._currentValue?[this._currentValue]:null,operator:t||"",shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0}}class Bg extends xc{constructor(e){super(e),this.translaterService=e,this.inputFilterType="compound"}}class Oc{constructor(e){this.translaterService=e}filterCollection(e,t,i=Nr.chain){let s=[];if(Array.isArray(t)){s=i===Nr.merge?[]:[...e];for(const n of t)if(i===Nr.merge){const r=this.singleFilterCollection(e,n);s=Zu([...s,...r])}else s=this.singleFilterCollection(s,n)}else s=this.singleFilterCollection(e,t);return s}singleFilterCollection(e,t){let i=[];if(t){const s=t.property,n=t.operator||at.equal,r=typeof t.value>"u"?"":t.value;switch(n){case at.equal:s?i=e.filter(o=>o[s]===r):i=e.filter(o=>o===r);break;case at.contains:s?i=e.filter(o=>{var h;return((h=o[s])==null?void 0:h.toString().indexOf(r.toString()))!==-1}):i=e.filter(o=>o!=null&&o.toString().indexOf(r.toString())!==-1);break;case at.notContains:s?i=e.filter(o=>{var h;return((h=o[s])==null?void 0:h.toString().indexOf(r.toString()))===-1}):i=e.filter(o=>o!=null&&o.toString().indexOf(r.toString())===-1);break;case at.notEqual:default:s?i=e.filter(o=>o[s]!==r):i=e.filter(o=>o!==r)}}return i}sortCollection(e,t,i,s){if(s&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let n=[];if(i){if(Array.isArray(i))n=t.sort((r,o)=>{var h,u;for(let c=0,f=i.length;c<f;c++){const p=i[c];if(p!=null&&p.property){const g=p.sortDesc?ni.desc:ni.asc,v=p.property,C=(p==null?void 0:p.fieldType)??(e==null?void 0:e.type)??$.string,w=s?((h=this.translaterService)==null?void 0:h.translate)&&this.translaterService.translate(r[v]||" "):r[v],y=s?((u=this.translaterService)==null?void 0:u.translate)&&this.translaterService.translate(o[v]||" "):o[v],S=Br(C,w,y,g,e);if(S!==ni.neutral)return S}}return ni.neutral});else if(i!=null&&i.property){const r=i.property,o=i.sortDesc?ni.desc:ni.asc,h=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??$.string;n=t.sort((u,c)=>{var v,C;const f=s?((v=this.translaterService)==null?void 0:v.translate)&&this.translaterService.translate(u[r]||" "):u[r],p=s?((C=this.translaterService)==null?void 0:C.translate)&&this.translaterService.translate(c[r]||" "):c[r],g=Br(h,f,p,o,e);return g!==ni.neutral?g:ni.neutral})}else if(i&&!i.property){const r=i.sortDesc?ni.desc:ni.asc,o=(i==null?void 0:i.fieldType)??(e==null?void 0:e.type)??$.string;n=t.sort((h,u)=>{var g,v;const c=s?((g=this.translaterService)==null?void 0:g.translate)&&this.translaterService.translate(h||" "):h,f=s?((v=this.translaterService)==null?void 0:v.translate)&&this.translaterService.translate(u||" "):u,p=Br(o,c,f,r,e);return p!==ni.neutral?p:ni.neutral})}}return n}}class zg{constructor(e,t,i){this.sharedService=e,this.backendUtilities=t,this.translaterService=i}getPickerTitleOutputString(e,t){var f,p,g,v,C,w,y,S,O,I,F,X;if(this.sharedService.gridOptions&&this.sharedService.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');let i="";const s=((f=this.sharedService.gridOptions)==null?void 0:f[t])??{},n=((p=this.sharedService.gridOptions)==null?void 0:p.enableTranslate)??!1,r=((g=this.sharedService.gridOptions)==null?void 0:g.locales)??Oe.locales,o=s==null?void 0:s[e],h=s==null?void 0:s[`${e}Key`],u=this.sharedService.gridOptions,c=Ls(u);if(h&&((v=this.translaterService)!=null&&v.translate))i=this.translaterService.translate(h||" ");else switch(e){case"commandTitle":i=o||n&&((C=this.translaterService)==null?void 0:C.getCurrentLanguage)&&((w=this.translaterService)==null?void 0:w.translate(`${c}COMMANDS`||" "))||(r==null?void 0:r.TEXT_COMMANDS);break;case"columnTitle":i=o||n&&((y=this.translaterService)==null?void 0:y.getCurrentLanguage)&&((S=this.translaterService)==null?void 0:S.translate(`${c}COLUMNS`||" "))||(r==null?void 0:r.TEXT_COLUMNS);break;case"forceFitTitle":i=o||n&&((O=this.translaterService)==null?void 0:O.getCurrentLanguage)&&((I=this.translaterService)==null?void 0:I.translate(`${c}FORCE_FIT_COLUMNS`||" "))||(r==null?void 0:r.TEXT_FORCE_FIT_COLUMNS);break;case"syncResizeTitle":i=o||n&&((F=this.translaterService)==null?void 0:F.getCurrentLanguage)&&((X=this.translaterService)==null?void 0:X.translate(`${c}SYNCHRONOUS_RESIZE`||" "))||(r==null?void 0:r.TEXT_SYNCHRONOUS_RESIZE);break;default:i=o;break}return i}readjustFrozenColumnIndexWhenNeeded(e,t,i){if(e>=0){const s=i.findIndex(n=>n.id===this.sharedService.frozenVisibleColumnId);s>=0&&s!==e&&(this.sharedService.gridOptions.frozenColumn=s,this.sharedService.slickGrid.setOptions({frozenColumn:s})),Array.isArray(i)&&Array.isArray(t)&&i.length!==t.length&&this.sharedService.slickGrid.setColumns(i)}}refreshBackendDataset(e){var i;let t=this.sharedService.gridOptions;e&&(t={...this.sharedService.gridOptions,...e},this.sharedService.gridOptions=t),(i=this.backendUtilities)==null||i.refreshBackendDataset(t)}runOverrideFunctionWhenExists(e,t){return typeof e=="function"?!!e.call(this,t):!0}sortItems(e,t){Array.isArray(e)&&e.sort((i,s)=>i&&s&&i.hasOwnProperty(t)&&s.hasOwnProperty(t)?i[t]-s[t]:0)}translateItems(e,t,i){var s,n;if(Array.isArray(e))for(const r of e)r.hasOwnProperty(t)&&(r[i]=(n=(s=this.translaterService)==null?void 0:s.translate)==null?void 0:n.call(s,r[t]))}translateMenuItemsFromTitleKey(e,t="commandItems"){for(const i of e)typeof i=="object"&&(i.titleKey&&(i.title=this.translateWhenEnabledAndServiceExist(`${i.titleKey}`,`TEXT_${i.titleKey}`)),i.subMenuTitleKey&&(i.subMenuTitle=this.translateWhenEnabledAndServiceExist(`${i.subMenuTitleKey}`,`TEXT_${i.subMenuTitleKey}`))),Array.isArray(i==null?void 0:i[t])&&this.translateMenuItemsFromTitleKey(i==null?void 0:i[t])}translateWhenEnabledAndServiceExist(e,t,i){var o,h;let s="";const n=(o=this.sharedService)==null?void 0:o.gridOptions,r=(n==null?void 0:n.locales)??Oe.locales;return i?s=i:n.enableTranslate&&((h=this.translaterService)!=null&&h.translate)?s=this.translaterService.translate(e||" "):t in r?s=r[t]:s=t,s}}class li{constructor(e,t){if(this.event=e,this.args=t,this._isPropagationStopped=!1,this._isImmediatePropagationStopped=!1,this._isDefaultPrevented=!1,this.returnValue=void 0,this.nativeEvent=e,this._arguments=t,e){const i=["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","type","which","x","y"];for(const s of i)this[s]=e[s]}this.target=this.nativeEvent?this.nativeEvent.target:void 0}stopPropagation(){var e;this._isPropagationStopped=!0,(e=this.nativeEvent)==null||e.stopPropagation()}isPropagationStopped(){return this._isPropagationStopped}stopImmediatePropagation(){this._isImmediatePropagationStopped=!0,this.nativeEvent&&this.nativeEvent.stopImmediatePropagation()}isImmediatePropagationStopped(){return this._isImmediatePropagationStopped}getNativeEvent(){return this.nativeEvent}preventDefault(){this.nativeEvent&&this.nativeEvent.preventDefault(),this._isDefaultPrevented=!0}isDefaultPrevented(){return this.nativeEvent?this.nativeEvent.defaultPrevented:this._isDefaultPrevented}addReturnValue(e){this.returnValue===void 0&&e!==void 0&&(this.returnValue=e)}getReturnValue(){return this.returnValue}getArguments(){return this._arguments}}class $e{get subscriberCount(){return this._handlers.length}constructor(e,t){this.eventName=e,this.pubSub=t,this._handlers=[],this._pubSubService=t}subscribe(e){this._handlers.push(e)}unsubscribe(e){for(let t=this._handlers.length-1;t>=0;t--)this._handlers[t]===e&&this._handlers.splice(t,1)}notify(e,t,i){var n;const s=t instanceof li?t:new li(t,e);i=i||this;for(let r=0;r<this._handlers.length&&!(s.isPropagationStopped()||s.isImmediatePropagationStopped());r++){const o=this._handlers[r].call(i,s,e);s.addReturnValue(o)}if(typeof((n=this._pubSubService)==null?void 0:n.publish)=="function"&&this.eventName){const r=this._pubSubService.publish(this.eventName,{args:e,eventData:s});s.addReturnValue(r)}return s}setPubSubService(e){this._pubSubService=e}}class hi{constructor(){this.handlers=[]}get subscriberCount(){return this.handlers.length}subscribe(e,t){return this.handlers.push({event:e,handler:t}),e.subscribe(t),this}unsubscribe(e,t){let i=this.handlers.length;for(;i--;)if(this.handlers[i].event===e&&this.handlers[i].handler===t){this.handlers.splice(i,1),e.unsubscribe(t);return}return this}unsubscribeAll(){let e=this.handlers.length;for(;e--;)this.handlers[e].event.unsubscribe(this.handlers[e].handler);return this.handlers=[],this}}class Ts{constructor(e,t,i,s){i===void 0&&s===void 0&&(i=e,s=t),this.fromRow=Math.min(e,i),this.fromCell=Math.min(t,s),this.toRow=Math.max(e,i),this.toCell=Math.max(t,s)}isSingleCell(){return this.fromRow===this.toRow&&this.fromCell===this.toCell}isSingleRow(){return this.fromRow===this.toRow}contains(e,t){return e>=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell}toString(){return this.isSingleCell()?`(${this.fromRow}:${this.fromCell})`:`(${this.fromRow}:${this.fromCell} - ${this.toRow}:${this.toCell})`}}class Ac{constructor(){this.__nonDataRow=!0}}class Ya extends Ac{constructor(){super(),this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}equals(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title}}class Vg extends Ac{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class Wg{constructor(){this.activeEditController=null}isActive(e){return e?this.activeEditController===e:this.activeEditController!==null}activate(e){if(e!==this.activeEditController){if(this.activeEditController!==null)throw new Error("SlickEditorLock.activate: an editController is still active, can't activate another editController");if(!e.commitCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .commitCurrentEdit()");if(!e.cancelCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .cancelCurrentEdit()");this.activeEditController=e}}deactivate(e){if(this.activeEditController){if(this.activeEditController!==e)throw new Error("SlickEditorLock.deactivate: specified editController is not the currently active one");this.activeEditController=null}}commitCurrentEdit(){return this.activeEditController?this.activeEditController.commitCurrentEdit():!0}cancelCurrentEdit(){return this.activeEditController?this.activeEditController.cancelCurrentEdit():!0}}class ne{static isFunction(e){return typeof e=="function"&&typeof e.nodeType!="number"&&typeof e.item!="function"}static isPlainObject(e){if(!e||ne.toString.call(e)!=="[object Object]")return!1;const t=ne.getProto(e);if(!t)return!0;const i=ne.hasOwn.call(t,"constructor")&&t.constructor;return typeof i=="function"&&ne.fnToString.call(i)===ne.ObjectFunctionString}static extend(...e){let t,i,s,n,r,o,h=e[0],u=1,c=!1;const f=e.length;if(h===!0?(c=h,h=e[u]||{},u++):h=h||{},typeof h!="object"&&!ne.isFunction(h)&&(h={}),f===1)return e[0];for(u===f&&(h=this,u--);u<f;u++)if(jt(t=e[u]))for(i in t)n=t[i],!(i==="__proto__"||h===n)&&(c&&n&&(ne.isPlainObject(n)||(r=Array.isArray(n)))?(s=h[i],r&&!Array.isArray(s)?o=[]:!r&&!ne.isPlainObject(s)?o={}:o=s,r=!1,h[i]=ne.extend(c,o,n)):n!==void 0&&(h[i]=n));return h}static noop(){}static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;ne.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;ne.setStyleSize(e,"width",t)}}static setStyleSize(e,t,i){typeof i=="function"&&(i=i()),e.style[t]=typeof i=="string"?i:`${i}px`}static isHidden(e){return e.offsetWidth===0&&e.offsetHeight===0}static parents(e,t){const i=[],s=t===":visible",n=t===":hidden";for(;(e=e.parentNode)&&e!==document&&!(!e||!e.parentNode);)n?ne.isHidden(e)&&i.push(e):s?ne.isHidden(e)||i.push(e):(!t||e.matches(t))&&i.push(e);return i}static toFloat(e){const t=parseFloat(e);return isNaN(t)?0:t}static show(e,t=""){Array.isArray(e)?e.forEach(i=>i.style.display=t):e.style.display=t}static hide(e){Array.isArray(e)?e.forEach(t=>t.style.display="none"):e.style.display="none"}static applyDefaults(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}static addSlickEventPubSubWhenDefined(e,t){if(e)for(const i in t)t[i]instanceof $e&&typeof t[i].setPubSubService=="function"&&t[i].setPubSubService(e)}}ne.getProto=Object.getPrototypeOf,ne.class2type={},ne.toString=ne.class2type.toString,ne.hasOwn=ne.class2type.hasOwnProperty,ne.fnToString=ne.hasOwn.toString,ne.ObjectFunctionString=ne.fnToString.call(Object),ne.storage={_storage:new WeakMap,put:function(a,e,t){this._storage.has(a)||this._storage.set(a,new Map),this._storage.get(a).set(e,t)},get:function(a,e){const t=this._storage.get(a);return t?t.get(e):null},remove:function(a,e){const t=this._storage.get(a).delete(e);return this._storage.get(a).size!==0&&this._storage.delete(a),t}};const ja=new Wg,Ug="slick-edit-preclick";class Rc{constructor(e){this.pluginName="SlickGroupItemMetadataProvider",this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new hi,this._options=ne.extend(!0,{},this._defaults,e)}get eventHandler(){return this._eventHandler}get dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}init(e,t){this._grid=e,this._options={...this._defaults,...t},this._eventHandler.subscribe(e.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(e.onKeyDown,this.handleGridKeyDown.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}getOptions(){return this._options}setOptions(e){this._options={...this._options,...e}}getGroupRowMetadata(e){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(e==null?void 0:e.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter||void 0,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editor:null}}}}getTotalsRowMetadata(e){var t;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((t=e==null?void 0:e.group)==null?void 0:t.level)||0}`,formatter:this._options.totalsFormatter,editor:null}}defaultGroupCellFormatter(e,t,i,s,n){var p,g;if(!this._options.enableExpandCollapse)return n.title;const r=n.level||0,o=((p=this._options)==null?void 0:p.indentation)??15,h=`${r*o}px`,u=n.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass,c=(g=this.gridOptions)!=null&&g.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;c.appendChild(Y("span",{className:`${this._options.toggleCssClass} ${u}`,ariaExpanded:String(!n.collapsed),style:{marginLeft:h}}));const f=Y("span",{className:this._options.groupTitleCssClass||""});return f.setAttribute("level",r),n.title instanceof HTMLElement||n.title instanceof DocumentFragment?f.appendChild(n.title):this._grid.applyHtmlCode(f,n.title??""),c.appendChild(f),c}defaultTotalsCellFormatter(e,t,i,s,n,r){var o;return((o=s==null?void 0:s.groupTotalsFormatter)==null?void 0:o.call(s,n,s,r))??""}handleGridClick(e,t){var n;const i=e.target,s=(n=this._grid)==null?void 0:n.getDataItem(t.row);s instanceof Ya&&i.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}handleGridKeyDown(e){var t;if(this._options.enableExpandCollapse&&e.key===" "){const i=(t=this._grid)==null?void 0:t.getActiveCell();if(i){const s=this._grid.getDataItem(i.row);s instanceof Ya&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}}}handleDataViewExpandOrCollapse(e){var i;const t=(i=this._grid)==null?void 0:i.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),e.collapsed?this.dataView.expandGroup(e.groupingKey):this.dataView.collapseGroup(e.groupingKey)}}class Gg{constructor(e,t){this.externalPubSub=t,this.defaults={groupItemMetadataProvider:null,inlineFilters:!1,useCSPSafeFilter:!1},this.idProperty="id",this.items=[],this.rows=[],this.idxById=new Map,this.rowsById=void 0,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.suspend=!1,this.isBulkSuspend=!1,this.bulkDeleteIds=new Map,this.sortAsc=!0,this.refreshHints={},this.prevRefreshHints={},this.filteredItems=[],this.filterCache=[],this.groupingInfoDefaults={getter:void 0,formatter:void 0,comparer:(i,s)=>i.value===s.value?0:i.value>s.value?1:-1,predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},this.groupingInfos=[],this.groups=[],this.toggledGroupsByLevel=[],this.groupingDelimiter=":|:",this.selectedRowIds=[],this.pagesize=0,this.pagenum=0,this.totalRows=0,this.onBeforePagingInfoChanged=new $e("onBeforePagingInfoChanged",t),this.onGroupExpanded=new $e("onGroupExpanded",t),this.onGroupCollapsed=new $e("onGroupCollapsed",t),this.onPagingInfoChanged=new $e("onPagingInfoChanged",t),this.onRowCountChanged=new $e("onRowCountChanged",t),this.onRowsChanged=new $e("onRowsChanged",t),this.onRowsOrCountChanged=new $e("onRowsOrCountChanged",t),this.onSelectedRowIdsChanged=new $e("onSelectedRowIdsChanged",t),this.onSetItemsCalled=new $e("onSetItemsCalled",t),this._options=ne.extend(!0,{},this.defaults,e)}beginUpdate(e){this.suspend=!0,this.isBulkSuspend=e===!0}endUpdate(){const e=this.isBulkSuspend;this.isBulkSuspend=!1,this.suspend=!1,e&&(this.processBulkDelete(),this.ensureIdUniqueness()),this.refresh()}destroy(){this.items=[],this.idProperty="id",this.idxById=null,this.rowsById=null,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.sortComparer=null,this.filterCache=[],this.filteredItems=[],this.compiledFilter=null,this.compiledFilterCSPSafe=null,this.compiledFilterWithCaching=null,this.compiledFilterWithCachingCSPSafe=null,this._grid&&this._grid.onSelectedRowsChanged&&this._grid.onCellCssStylesChanged&&(this._grid.onSelectedRowsChanged.unsubscribe(),this._grid.onCellCssStylesChanged.unsubscribe()),this.onRowsOrCountChanged&&this.onRowsOrCountChanged.unsubscribe()}setRefreshHints(e){this.refreshHints=e}setFilterArgs(e){this.filterArgs=e}processBulkDelete(){if(!this.idxById)return;let e,t,i=0;for(let s=0,n=this.items.length;s<n;s++){if(t=this.items[s],e=t[this.idProperty],e===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.bulkDeleteIds.has(e)?this.idxById.delete(e):(this.items[i]=t,this.idxById.set(e,i),++i)}this.items.length=i,this.bulkDeleteIds=new Map}updateIdxById(e){if(this.isBulkSuspend||!this.idxById)return;e=e||0;let t;for(let i=e,s=this.items.length;i<s;i++){if(t=this.items[i][this.idProperty],t===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.idxById.set(t,i)}}ensureIdUniqueness(){if(this.isBulkSuspend||!this.idxById)return;let e;for(let t=0,i=this.items.length;t<i;t++)if(e=this.items[t][this.idProperty],e===void 0||this.idxById.get(e)!==t)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property")}getItems(){return this.items}getIdPropertyName(){return this.idProperty}setItems(e,t){t!==void 0&&(this.idProperty=t),this.items=this.filteredItems=e,this.onSetItemsCalled.notify({idProperty:this.idProperty,itemCount:this.items.length},null,this),this.idxById=new Map,this.updateIdxById(),this.ensureIdUniqueness(),this.refresh()}setPagingOptions(e){this.onBeforePagingInfoChanged.notify(this.getPagingInfo(),null,this).getReturnValue()!==!1&&(jt(e.pageSize)&&(this.pagesize=e.pageSize,this.pagenum=this.pagesize?Math.min(this.pagenum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1)):0),jt(e.pageNum)&&(this.pagenum=Math.min(e.pageNum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1))),this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),this.refresh())}getPagingInfo(){const e=this.pagesize?Math.max(1,Math.ceil(this.totalRows/this.pagesize)):1;return{pageSize:this.pagesize,pageNum:this.pagenum,totalRows:this.totalRows,totalPages:e,dataView:this}}sort(e,t){this.sortAsc=t,this.sortComparer=e,t===!1&&this.items.reverse(),this.items.sort(e),t===!1&&this.items.reverse(),this.idxById=new Map,this.updateIdxById(),this.refresh()}reSort(){this.sortComparer&&this.sort(this.sortComparer,this.sortAsc)}getFilteredItems(){return this.filteredItems}getFilteredItemCount(){return this.filteredItems.length}getFilter(){return this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter}setFilter(e){this.filterCSPSafe=e,this.filter=e,this._options.inlineFilters&&(this.compiledFilterCSPSafe=this.compileFilterCSPSafe,this.compiledFilterWithCachingCSPSafe=this.compileFilterWithCachingCSPSafe,this.compiledFilter=this.compileFilter(this._options.useCSPSafeFilter),this.compiledFilterWithCaching=this.compileFilterWithCaching(this._options.useCSPSafeFilter)),this.refresh()}getGrouping(){return this.groupingInfos}setGrouping(e){this._options.groupItemMetadataProvider||(this._options.groupItemMetadataProvider=new Rc),this.groups=[],this.toggledGroupsByLevel=[],e=e||[],this.groupingInfos=e instanceof Array?e:[e];for(let t=0;t<this.groupingInfos.length;t++){const i=this.groupingInfos[t]=ne.extend(!0,{},this.groupingInfoDefaults,this.groupingInfos[t]);i.getterIsAFn=typeof i.getter=="function",i.compiledAccumulators=[];let s=i.aggregators.length;for(;s--;)i.compiledAccumulators[s]=this.compileAccumulatorLoop(i.aggregators[s]);this.toggledGroupsByLevel[t]={}}this.refresh()}getItemByIdx(e){return this.items[e]}getIdxById(e){var t;return(t=this.idxById)==null?void 0:t.get(e)}ensureRowsByIdCache(){if(!this.rowsById){this.rowsById={};for(let e=0,t=this.rows.length;e<t;e++)this.rowsById[this.rows[e][this.idProperty]]=e}}getRowByItem(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e[this.idProperty]]}getRowById(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e]}getItemById(e){return this.items[this.idxById.get(e)]}mapItemsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const r=(i=this.rowsById)==null?void 0:i[e[s][this.idProperty]];jt(r)&&(t[t.length]=r)}return t}mapIdsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const r=(i=this.rowsById)==null?void 0:i[e[s]];jt(r)&&(t[t.length]=r)}return t}mapRowsToIds(e){const t=[];for(let i=0,s=e.length;i<s;i++)if(e[i]<this.rows.length){const n=this.rows[e[i]];t[t.length]=n[this.idProperty]}return t}updateSingleItem(e,t){var i;if(this.idxById){if(!this.idxById.has(e))throw new Error("[SlickGrid DataView] Invalid id");if(e!==t[this.idProperty]){const s=t[this.idProperty];if(!jt(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a null id");if(this.idxById.has(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a non-unique id");this.idxById.set(s,this.idxById.get(e)),this.idxById.delete(e),(i=this.updated)!=null&&i[e]&&delete this.updated[e],e=s}this.items[this.idxById.get(e)]=t,this.updated||(this.updated={}),this.updated[e]=!0}}updateItem(e,t){this.updateSingleItem(e,t),this.refresh()}updateItems(e,t){if(e.length!==t.length)throw new Error("[SlickGrid DataView] Mismatch on the length of ids and items provided to update");for(let i=0,s=t.length;i<s;i++)this.updateSingleItem(e[i],t[i]);this.refresh()}insertItem(e,t){this.items.splice(e,0,t),this.updateIdxById(e),this.refresh()}insertItems(e,t){Array.prototype.splice.apply(this.items,[e,0].concat(t)),this.updateIdxById(e),this.refresh()}addItem(e){this.items.push(e),this.updateIdxById(this.items.length-1),this.refresh()}addItems(e){this.items=this.items.concat(e),this.updateIdxById(this.items.length-e.length),this.refresh()}deleteItem(e){if(this.idxById)if(this.isBulkSuspend)this.bulkDeleteIds.set(e,!0);else{const t=this.idxById.get(e);if(t===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(e),this.items.splice(t,1),this.updateIdxById(t),this.refresh()}}deleteItems(e){if(!(e.length===0||!this.idxById))if(this.isBulkSuspend)for(let t=0,i=e.length;t<i;t++){const s=e[t];if(this.idxById.get(s)===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.bulkDeleteIds.set(s,!0)}else{const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i],r=this.idxById.get(n);if(r===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(n),t.push(r)}t.sort();for(let i=t.length-1;i>=0;--i)this.items.splice(t[i],1);this.updateIdxById(t[0]),this.refresh()}}sortedAddItem(e){if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedAddItem() requires a sort comparer, use sort()");this.insertItem(this.sortedIndex(e),e)}sortedUpdateItem(e,t){if(!this.idxById)return;if(!this.idxById.has(e)||e!==t[this.idProperty])throw new Error("[SlickGrid DataView] Invalid or non-matching id "+this.idxById.get(e));if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedUpdateItem() requires a sort comparer, use sort()");const i=this.getItemById(e);this.sortComparer(i,t)!==0?(this.deleteItem(e),this.sortedAddItem(t)):this.updateItem(e,t)}sortedIndex(e){let t=0,i=this.items.length;for(;t<i;){const s=t+i>>>1;this.sortComparer(this.items[s],e)===-1?t=s+1:i=s}return t}getItemCount(){return this.items.length}getLength(){return this.rows.length}getItem(e){var i;const t=this.rows[e];if(t!=null&&t.__group&&t.totals&&!((i=t.totals)!=null&&i.initialized)){const s=this.groupingInfos[t.level];s.displayTotalsRow||(this.calculateTotals(t.totals),t.title=s.formatter?s.formatter(t):t.value)}else t!=null&&t.__groupTotals&&!t.initialized&&this.calculateTotals(t);return t}getItemMetadata(e){const t=this.rows[e];return t===void 0?null:t.__group?this._options.groupItemMetadataProvider.getGroupRowMetadata(t):t.__groupTotals?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t):null}expandCollapseAllGroups(e,t){if(jt(e))this.toggledGroupsByLevel[e]={},this.groupingInfos[e].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:e,groupingKey:null}):this.onGroupExpanded.notify({level:e,groupingKey:null});else for(let i=0;i<this.groupingInfos.length;i++)this.toggledGroupsByLevel[i]={},this.groupingInfos[i].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:i,groupingKey:null}):this.onGroupExpanded.notify({level:i,groupingKey:null});this.refresh()}collapseAllGroups(e){this.expandCollapseAllGroups(e,!0)}expandAllGroups(e){this.expandCollapseAllGroups(e,!1)}expandCollapseGroup(e,t,i){this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed^i,this.refresh()}collapseGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(s=i,n=i.split(this.groupingDelimiter).length-1):(s=e.join(this.groupingDelimiter),n=e.length-1),this.expandCollapseGroup(n,s,!0),this.onGroupCollapsed.notify({level:n,groupingKey:s})}expandGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(n=i.split(this.groupingDelimiter).length-1,s=i):(n=e.length-1,s=e.join(this.groupingDelimiter)),this.expandCollapseGroup(n,s,!1),this.onGroupExpanded.notify({level:n,groupingKey:s})}getGroups(){return this.groups}extractGroups(e,t){var c,f;let i,s;const n=[],r={};let o;const h=t?t.level+1:0,u=this.groupingInfos[h];for(let p=0,g=((c=u.predefinedValues)==null?void 0:c.length)??0;p<g;p++)s=(f=u.predefinedValues)==null?void 0:f[p],i=r[s],i||(i=new Ya,i.value=s,i.level=h,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,r[s]=i);for(let p=0,g=e.length;p<g;p++)o=e[p],s=u.getterIsAFn?u.getter(o):o[u.getter],i=r[s],i||(i=new Ya,i.value=s,i.level=h,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,r[s]=i),i.rows[i.count++]=o;if(h<this.groupingInfos.length-1)for(let p=0;p<n.length;p++)i=n[p],i.groups=this.extractGroups(i.rows,i);return n.length&&this.addTotals(n,h),n.sort(this.groupingInfos[h].comparer),n}calculateTotals(e){var o;const t=e.group,i=this.groupingInfos[(t==null?void 0:t.level)??0],s=t.level===this.groupingInfos.length;let n,r=i.aggregators.length;if(!s&&i.aggregateChildGroups){let h=((o=t.groups)==null?void 0:o.length)??0;for(;h--;)t.groups[h].totals.initialized||this.calculateTotals(t.groups[h].totals)}for(;r--;)n=i.aggregators[r],n.init(),!s&&i.aggregateChildGroups?i.compiledAccumulators[r].call(n,t.groups):i.compiledAccumulators[r].call(n,t.rows),n.storeResult(e);e.initialized=!0}addGroupTotals(e){const t=this.groupingInfos[e.level],i=new Vg;i.group=e,e.totals=i,t.lazyTotalsCalculation||this.calculateTotals(i)}addTotals(e,t){var h,u;t=t||0;const i=this.groupingInfos[t],s=i.collapsed,n=this.toggledGroupsByLevel[t];let r=e.length,o;for(;r--;)o=e[r],!(o.collapsed&&!i.aggregateCollapsed)&&(o.groups&&this.addTotals(o.groups,t+1),(h=i.aggregators)!=null&&h.length&&(i.aggregateEmpty||o.rows.length||(u=o.groups)!=null&&u.length)&&this.addGroupTotals(o),o.collapsed=s^n[o.groupingKey],o.title=i.formatter?i.formatter(o):o.value)}flattenGroupedRows(e,t){t=t||0;const i=this.groupingInfos[t],s=[];let n,r=0,o;for(let h=0,u=e.length;h<u;h++){if(o=e[h],s[r++]=o,!o.collapsed){n=o.groups?this.flattenGroupedRows(o.groups,t+1):o.rows;for(let c=0,f=n.length;c<f;c++)s[r++]=n[c]}o.totals&&i.displayTotalsRow&&(!o.collapsed||i.aggregateCollapsed)&&(s[r++]=o.totals)}return s}getFunctionInfo(e){const s=e.toString().indexOf("function")>=0?/^function[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/:/^[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/,n=e.toString().match(s)||[];return{params:n[1].split(","),body:n[2]}}compileAccumulatorLoop(e){if(e.accumulate){const t=this.getFunctionInfo(e.accumulate),i=new Function("_items","for (var "+t.params[0]+", _i=0, _il=_items.length; _i<_il; _i++) {"+t.params[0]+" = _items[_i]; "+t.body+"}"),s="compiledAccumulatorLoop";return i.displayName=s,i.name=this.setFunctionName(i,s),i}else return function(){}}compileFilterCSPSafe(e,t){if(typeof this.filterCSPSafe!="function")return[];const i=[],s=e.length;for(let n=0;n<s;n++)this.filterCSPSafe(e[n],t)&&i.push(e[n]);return i}compileFilter(e=!1){if(e)return null;const t=this.getFunctionInfo(this.filter),i="{ continue _coreloop; }$1",s="{ _retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let r=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");r=r.replace(/\$filter\$/gi,n),r=r.replace(/\$item\$/gi,t.params[0]),r=r.replace(/\$args\$/gi,t.params[1]);const o=new Function("_items,_args",r),h="compiledFilter";return o.displayName=h,o.name=this.setFunctionName(o,h),o}compileFilterWithCaching(e=!1){if(e)return null;const t=this.getFunctionInfo(this.filter),i="{ continue _coreloop; }$1",s="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let r=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");r=r.replace(/\$filter\$/gi,n),r=r.replace(/\$item\$/gi,t.params[0]),r=r.replace(/\$args\$/gi,t.params[1]);const o=new Function("_items,_args,_cache",r),h="compiledFilterWithCaching";return o.displayName=h,o.name=this.setFunctionName(o,h),o}compileFilterWithCachingCSPSafe(e,t,i){if(typeof this.filterCSPSafe!="function")return[];const s=[],n=e.length;for(let r=0;r<n;r++)(i[r]||this.filterCSPSafe(e[r],t))&&s.push(e[r]);return s}setFunctionName(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch{e.name=t}}uncompiledFilter(e,t){var n;const i=[];let s=0;for(let r=0,o=e.length;r<o;r++)(n=this.filter)!=null&&n.call(this,e[r],t)&&(i[s++]=e[r]);return i}uncompiledFilterWithCaching(e,t,i){var o;const s=[];let n=0,r;for(let h=0,u=e.length;h<u;h++)r=e[h],i[h]?s[n++]=r:(o=this.filter)!=null&&o.call(this,r,t)&&(s[n++]=r,i[h]=!0);return s}getFilteredAndPagedItems(e){if(this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter){let i,s;this._options.useCSPSafeFilter?(i=this._options.inlineFilters?this.compiledFilterCSPSafe:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCachingCSPSafe:this.uncompiledFilterWithCaching):(i=this._options.inlineFilters?this.compiledFilter:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCaching:this.uncompiledFilterWithCaching),this.refreshHints.isFilterNarrowing?this.filteredItems=i.call(this,this.filteredItems,this.filterArgs):this.refreshHints.isFilterExpanding?this.filteredItems=s.call(this,e,this.filterArgs,this.filterCache):this.refreshHints.isFilterUnchanged||(this.filteredItems=i.call(this,e,this.filterArgs))}else this.filteredItems=this.pagesize?e:e.concat();let t;return this.pagesize?(this.filteredItems.length<=this.pagenum*this.pagesize&&(this.filteredItems.length===0?this.pagenum=0:this.pagenum=Math.floor((this.filteredItems.length-1)/this.pagesize)),t=this.filteredItems.slice(this.pagesize*this.pagenum,this.pagesize*this.pagenum+this.pagesize)):t=this.filteredItems,{totalRows:this.filteredItems.length,rows:t}}getRowDiffs(e,t){var u,c,f;let i,s,n;const r=[];let o=0,h=Math.max(t.length,e.length);(u=this.refreshHints)!=null&&u.ignoreDiffsBefore&&(o=Math.max(0,Math.min(t.length,this.refreshHints.ignoreDiffsBefore))),(c=this.refreshHints)!=null&&c.ignoreDiffsAfter&&(h=Math.min(t.length,Math.max(0,this.refreshHints.ignoreDiffsAfter)));for(let p=o,g=e.length;p<h;p++)p>=g?r[r.length]=p:(i=t[p],s=e[p],(!i||this.groupingInfos.length&&(n=i.__nonDataRow||s.__nonDataRow)&&i.__group!==s.__group||i.__group&&!i.equals(s)||n&&(i.__groupTotals||s.__groupTotals)||i[this.idProperty]!==s[this.idProperty]||(f=this.updated)!=null&&f[i[this.idProperty]])&&(r[r.length]=p));return r}recalc(e){this.rowsById=void 0,(this.refreshHints.isFilterNarrowing!==this.prevRefreshHints.isFilterNarrowing||this.refreshHints.isFilterExpanding!==this.prevRefreshHints.isFilterExpanding)&&(this.filterCache=[]);const t=this.getFilteredAndPagedItems(e);this.totalRows=t.totalRows;let i=t.rows;this.groups=[],this.groupingInfos.length&&(this.groups=this.extractGroups(i),this.groups.length&&(i=this.flattenGroupedRows(this.groups)));const s=this.getRowDiffs(this.rows,i);return this.rows=i,s}refresh(){if(this.suspend)return;const e=ne.extend(!0,{},this.getPagingInfo()),t=this.rows.length,i=this.totalRows;let s=this.recalc(this.items);this.pagesize&&this.totalRows<this.pagenum*this.pagesize&&(this.pagenum=Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1),s=this.recalc(this.items)),this.updated=null,this.prevRefreshHints=this.refreshHints,this.refreshHints={},i!==this.totalRows&&this.onBeforePagingInfoChanged.notify(e,null,this).getReturnValue()!==!1&&this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),t!==this.rows.length&&this.onRowCountChanged.notify({previous:t,current:this.rows.length,itemCount:this.items.length,dataView:this,callingOnRowsChanged:s.length>0},null,this),s.length>0&&this.onRowsChanged.notify({rows:s,itemCount:this.items.length,dataView:this,calledOnRowCountChanged:t!==this.rows.length},null,this),(t!==this.rows.length||s.length>0)&&this.onRowsOrCountChanged.notify({rowsDiff:s,previousRowCount:t,currentRowCount:this.rows.length,itemCount:this.items.length,rowCountChanged:t!==this.rows.length,rowsChanged:s.length>0,dataView:this},null,this)}syncGridSelection(e,t,i){this._grid=e;let s;this.selectedRowIds=this.mapRowsToIds(e.getSelectedRows());const n=o=>{o===!1?this.selectedRowIds=[]:this.selectedRowIds.sort().join(",")!==o.sort().join(",")&&(this.selectedRowIds=o)},r=()=>{if((this.selectedRowIds||[]).length>0&&!s){s=!0;const o=this.mapIdsToRows(this.selectedRowIds||[]);if(!t){const h={grid:this._grid,ids:this.mapRowsToIds(o),rows:o,dataView:this};this.preSelectedRowIdsChangeFn(h),this.onSelectedRowIdsChanged.notify(Object.assign(h,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this)}e.setSelectedRows(o),s=!1}};return e.onSelectedRowsChanged.subscribe((o,h)=>{if(!s){const u=this.mapRowsToIds(h.rows),c={grid:this._grid,ids:u,rows:h.rows,added:!0,dataView:this};this.preSelectedRowIdsChangeFn(c),this.onSelectedRowIdsChanged.notify(Object.assign(c,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this)}}),this.preSelectedRowIdsChangeFn=o=>{var h;if(!s){if(s=!0,typeof o.added>"u")n(o.ids);else{let c;o.added?i&&e.getOptions().multiSelect?c=((h=this.selectedRowIds)==null?void 0:h.filter(p=>this.getRowById(p)===void 0)).concat(o.ids):c=o.ids:i&&e.getOptions().multiSelect?c=this.selectedRowIds.filter(f=>o.ids.indexOf(f)===-1):c=[],n(c)}s=!1}},this.onRowsOrCountChanged.subscribe(r.bind(this)),this.onSelectedRowIdsChanged}getAllSelectedIds(){return this.selectedRowIds}getAllSelectedFilteredIds(){return this.getAllSelectedFilteredItems().map(e=>e[this.idProperty])}setSelectedIds(e,t){var h;let i=t==null?void 0:t.isRowBeingAdded;const s=t==null?void 0:t.shouldTriggerEvent,n=t==null?void 0:t.applyRowSelectionToGrid;i!==!1&&(i=!0);const r=this.mapIdsToRows(e),o={grid:this._grid,ids:e,rows:r,added:i,dataView:this};(h=this.preSelectedRowIdsChangeFn)==null||h.call(this,o),s!==!1&&this.onSelectedRowIdsChanged.notify(Object.assign(o,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new li,this),n!==!1&&this._grid&&this._grid.setSelectedRows(r)}getAllSelectedItems(){const e=[];return this.getAllSelectedIds().forEach(i=>{e.push(this.getItemById(i))}),e}getAllSelectedFilteredItems(){return Array.isArray(this.selectedRowIds)?this.filteredItems.filter(t=>this.selectedRowIds.some(i=>t[this.idProperty]===i))||[]:[]}syncGridCellCssStyles(e,t){let i,s;const n=o=>{i={};for(const h in o)if(o){const u=this.rows[h][this.idProperty];i[u]=o[h]}};n(e.getCellCssStyles(t));const r=()=>{var o;if(i){s=!0,this.ensureRowsByIdCache();const h={};for(const u in i)if(i){const c=(o=this.rowsById)==null?void 0:o[u];jt(c)&&(h[c]=i[u])}e.setCellCssStyles(t,h),s=!1}};e.onCellCssStylesChanged.subscribe((o,h)=>{s||t!==h.key||(h.hash?n(h.hash):(e.onCellCssStylesChanged.unsubscribe(),this.onRowsOrCountChanged.unsubscribe(r)))}),this.onRowsOrCountChanged.subscribe(r.bind(this))}}/**!
12
12
  * Sortable 1.15.1
13
13
  * @author RubaXa <trash@rubaxa.org>
14
14
  * @author owenm <owen23355@gmail.com>
15
15
  * @license MIT
16
- */function Ic(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(a);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable})),t.push.apply(t,i)}return t}function un(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ic(Object(t),!0).forEach(function(i){$g(a,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):Ic(Object(t)).forEach(function(i){Object.defineProperty(a,i,Object.getOwnPropertyDescriptor(t,i))})}return a}function Xa(a){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Xa=function(e){return typeof e}:Xa=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xa(a)}function $g(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Rn(){return Rn=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},Rn.apply(this,arguments)}function Yg(a,e){if(a==null)return{};var t={},i=Object.keys(a),s,n;for(n=0;n<i.length;n++)s=i[n],!(e.indexOf(s)>=0)&&(t[s]=a[s]);return t}function jg(a,e){if(a==null)return{};var t=Yg(a,e),i,s;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(a,i)&&(t[i]=a[i])}return t}var Xg="1.15.1";function In(a){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(a)}var kn=In(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Vo=In(/Edge/i),kc=In(/firefox/i),Wo=In(/safari/i)&&!In(/chrome/i)&&!In(/android/i),Dc=In(/iP(ad|od|hone)/i),Fc=In(/chrome/i)&&In(/android/i),Pc={capture:!1,passive:!1};function Kt(a,e,t){a.addEventListener(e,t,!kn&&Pc)}function $t(a,e,t){a.removeEventListener(e,t,!kn&&Pc)}function Ka(a,e){if(e){if(e[0]===">"&&(e=e.substring(1)),a)try{if(a.matches)return a.matches(e);if(a.msMatchesSelector)return a.msMatchesSelector(e);if(a.webkitMatchesSelector)return a.webkitMatchesSelector(e)}catch{return!1}return!1}}function Kg(a){return a.host&&a!==document&&a.host.nodeType?a.host:a.parentNode}function cn(a,e,t,i){if(a){t=t||document;do{if(e!=null&&(e[0]===">"?a.parentNode===t&&Ka(a,e):Ka(a,e))||i&&a===t)return a;if(a===t)break}while(a=Kg(a))}return null}var Nc=/\s+/g;function xs(a,e,t){if(a&&e)if(a.classList)a.classList[t?"add":"remove"](e);else{var i=(" "+a.className+" ").replace(Nc," ").replace(" "+e+" "," ");a.className=(i+(t?" "+e:"")).replace(Nc," ")}}function pt(a,e,t){var i=a&&a.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(a,""):a.currentStyle&&(t=a.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function Ur(a,e){var t="";if(typeof a=="string")t=a;else do{var i=pt(a,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(a=a.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function Lc(a,e,t){if(a){var i=a.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function fn(){var a=document.scrollingElement;return a||document.documentElement}function Wi(a,e,t,i,s){if(!(!a.getBoundingClientRect&&a!==window)){var n,r,o,h,u,c,f;if(a!==window&&a.parentNode&&a!==fn()?(n=a.getBoundingClientRect(),r=n.top,o=n.left,h=n.bottom,u=n.right,c=n.height,f=n.width):(r=0,o=0,h=window.innerHeight,u=window.innerWidth,c=window.innerHeight,f=window.innerWidth),(e||t)&&a!==window&&(s=s||a.parentNode,!kn))do if(s&&s.getBoundingClientRect&&(pt(s,"transform")!=="none"||t&&pt(s,"position")!=="static")){var p=s.getBoundingClientRect();r-=p.top+parseInt(pt(s,"border-top-width")),o-=p.left+parseInt(pt(s,"border-left-width")),h=r+n.height,u=o+n.width;break}while(s=s.parentNode);if(i&&a!==window){var g=Ur(s||a),v=g&&g.a,C=g&&g.d;g&&(r/=C,o/=v,f/=v,c/=C,h=r+c,u=o+f)}return{top:r,left:o,bottom:h,right:u,width:f,height:c}}}function Mc(a){var e=Wi(a),t=parseInt(pt(a,"padding-left")),i=parseInt(pt(a,"padding-top")),s=parseInt(pt(a,"padding-right")),n=parseInt(pt(a,"padding-bottom"));return e.top+=i+parseInt(pt(a,"border-top-width")),e.left+=t+parseInt(pt(a,"border-left-width")),e.width=a.clientWidth-t-s,e.height=a.clientHeight-i-n,e.bottom=e.top+e.height,e.right=e.left+e.width,e}function Hc(a,e,t){for(var i=Kn(a,!0),s=Wi(a)[e];i;){var n=Wi(i)[t],r=void 0;if(t==="top"||t==="left"?r=s>=n:r=s<=n,!r)return i;if(i===fn())break;i=Kn(i,!1)}return!1}function Gr(a,e,t,i){for(var s=0,n=0,r=a.children;n<r.length;){if(r[n].style.display!=="none"&&r[n]!==ct.ghost&&(i||r[n]!==ct.dragged)&&cn(r[n],t.draggable,a,!1)){if(s===e)return r[n];s++}n++}return null}function jh(a,e){for(var t=a.lastElementChild;t&&(t===ct.ghost||pt(t,"display")==="none"||e&&!Ka(t,e));)t=t.previousElementSibling;return t||null}function Vs(a,e){var t=0;if(!a||!a.parentNode)return-1;for(;a=a.previousElementSibling;)a.nodeName.toUpperCase()!=="TEMPLATE"&&a!==ct.clone&&(!e||Ka(a,e))&&t++;return t}function Bc(a){var e=0,t=0,i=fn();if(a)do{var s=Ur(a),n=s.a,r=s.d;e+=a.scrollLeft*n,t+=a.scrollTop*r}while(a!==i&&(a=a.parentNode));return[e,t]}function qg(a,e){for(var t in a)if(a.hasOwnProperty(t)){for(var i in e)if(e.hasOwnProperty(i)&&e[i]===a[t][i])return Number(t)}return-1}function Kn(a,e){if(!a||!a.getBoundingClientRect)return fn();var t=a,i=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var s=pt(t);if(t.clientWidth<t.scrollWidth&&(s.overflowX=="auto"||s.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(s.overflowY=="auto"||s.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return fn();if(i||e)return t;i=!0}}while(t=t.parentNode);return fn()}function Zg(a,e){if(a&&e)for(var t in e)e.hasOwnProperty(t)&&(a[t]=e[t]);return a}function Xh(a,e){return Math.round(a.top)===Math.round(e.top)&&Math.round(a.left)===Math.round(e.left)&&Math.round(a.height)===Math.round(e.height)&&Math.round(a.width)===Math.round(e.width)}var Uo;function zc(a,e){return function(){if(!Uo){var t=arguments,i=this;t.length===1?a.call(i,t[0]):a.apply(i,t),Uo=setTimeout(function(){Uo=void 0},e)}}}function Qg(){clearTimeout(Uo),Uo=void 0}function Vc(a,e,t){a.scrollLeft+=e,a.scrollTop+=t}function Wc(a){var e=window.Polymer,t=window.jQuery||window.Zepto;return e&&e.dom?e.dom(a).cloneNode(!0):t?t(a).clone(!0)[0]:a.cloneNode(!0)}var Os="Sortable"+new Date().getTime();function Jg(){var a=[],e;return{captureAnimationState:function(){if(a=[],!!this.options.animation){var i=[].slice.call(this.el.children);i.forEach(function(s){if(!(pt(s,"display")==="none"||s===ct.ghost)){a.push({target:s,rect:Wi(s)});var n=un({},a[a.length-1].rect);if(s.thisAnimationDuration){var r=Ur(s,!0);r&&(n.top-=r.f,n.left-=r.e)}s.fromRect=n}})}},addAnimationState:function(i){a.push(i)},removeAnimationState:function(i){a.splice(qg(a,{target:i}),1)},animateAll:function(i){var s=this;if(!this.options.animation){clearTimeout(e),typeof i=="function"&&i();return}var n=!1,r=0;a.forEach(function(o){var h=0,u=o.target,c=u.fromRect,f=Wi(u),p=u.prevFromRect,g=u.prevToRect,v=o.rect,C=Ur(u,!0);C&&(f.top-=C.f,f.left-=C.e),u.toRect=f,u.thisAnimationDuration&&Xh(p,f)&&!Xh(c,f)&&(v.top-f.top)/(v.left-f.left)===(c.top-f.top)/(c.left-f.left)&&(h=t_(v,p,g,s.options)),Xh(f,c)||(u.prevFromRect=c,u.prevToRect=f,h||(h=s.options.animation),s.animate(u,v,f,h)),h&&(n=!0,r=Math.max(r,h),clearTimeout(u.animationResetTimer),u.animationResetTimer=setTimeout(function(){u.animationTime=0,u.prevFromRect=null,u.fromRect=null,u.prevToRect=null,u.thisAnimationDuration=null},h),u.thisAnimationDuration=h)}),clearTimeout(e),n?e=setTimeout(function(){typeof i=="function"&&i()},r):typeof i=="function"&&i(),a=[]},animate:function(i,s,n,r){if(r){pt(i,"transition",""),pt(i,"transform","");var o=Ur(this.el),h=o&&o.a,u=o&&o.d,c=(s.left-n.left)/(h||1),f=(s.top-n.top)/(u||1);i.animatingX=!!c,i.animatingY=!!f,pt(i,"transform","translate3d("+c+"px,"+f+"px,0)"),this.forRepaintDummy=e_(i),pt(i,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),pt(i,"transform","translate3d(0,0,0)"),typeof i.animated=="number"&&clearTimeout(i.animated),i.animated=setTimeout(function(){pt(i,"transition",""),pt(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},r)}}}}function e_(a){return a.offsetWidth}function t_(a,e,t,i){return Math.sqrt(Math.pow(e.top-a.top,2)+Math.pow(e.left-a.left,2))/Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))*i.animation}var $r=[],Kh={initializeByDefault:!0},Go={mount:function(e){for(var t in Kh)Kh.hasOwnProperty(t)&&!(t in e)&&(e[t]=Kh[t]);$r.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),$r.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";$r.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][n]&&t[r.pluginName][n](un({sortable:t},i)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](un({sortable:t},i)))})},initializePlugins:function(e,t,i,s){$r.forEach(function(o){var h=o.pluginName;if(!(!e.options[h]&&!o.initializeByDefault)){var u=new o(e,t,e.options);u.sortable=e,u.options=e.options,e[h]=u,Rn(i,u.defaults)}});for(var n in e.options)if(e.options.hasOwnProperty(n)){var r=this.modifyOption(e,n,e.options[n]);typeof r<"u"&&(e.options[n]=r)}},getEventProperties:function(e,t){var i={};return $r.forEach(function(s){typeof s.eventProperties=="function"&&Rn(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return $r.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function i_(a){var e=a.sortable,t=a.rootEl,i=a.name,s=a.targetEl,n=a.cloneEl,r=a.toEl,o=a.fromEl,h=a.oldIndex,u=a.newIndex,c=a.oldDraggableIndex,f=a.newDraggableIndex,p=a.originalEvent,g=a.putSortable,v=a.extraEventProperties;if(e=e||t&&t[Os],!!e){var C,w=e.options,y="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!kn&&!Vo?C=new CustomEvent(i,{bubbles:!0,cancelable:!0}):(C=document.createEvent("Event"),C.initEvent(i,!0,!0)),C.to=r||t,C.from=o||t,C.item=s||t,C.clone=n,C.oldIndex=h,C.newIndex=u,C.oldDraggableIndex=c,C.newDraggableIndex=f,C.originalEvent=p,C.pullMode=g?g.lastPutMode:void 0;var S=un(un({},v),Go.getEventProperties(i,e));for(var O in S)C[O]=S[O];t&&t.dispatchEvent(C),w[y]&&w[y].call(e,C)}}var s_=["evt"],ms=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=jg(i,s_);Go.pluginEvent.bind(ct)(e,t,un({dragEl:We,parentEl:Di,ghostEl:At,rootEl:Ci,nextEl:pr,lastDownEl:qa,cloneEl:xi,cloneHidden:qn,dragStarted:Yo,putSortable:Ki,activeSortable:ct.active,originalEvent:s,oldIndex:Yr,oldDraggableIndex:$o,newIndex:As,newDraggableIndex:Zn,hideGhostForTarget:Kc,unhideGhostForTarget:qc,cloneNowHidden:function(){qn=!0},cloneNowShown:function(){qn=!1},dispatchSortableEvent:function(o){os({sortable:t,name:o,originalEvent:s})}},n))};function os(a){i_(un({putSortable:Ki,cloneEl:xi,targetEl:We,rootEl:Ci,oldIndex:Yr,oldDraggableIndex:$o,newIndex:As,newDraggableIndex:Zn},a))}var We,Di,At,Ci,pr,qa,xi,qn,Yr,As,$o,Zn,Za,Ki,jr=!1,Qa=!1,Ja=[],mr,en,qh,Zh,Uc,Gc,Yo,Xr,jo,Xo=!1,el=!1,tl,ts,Qh=[],Jh=!1,il=[],sl=typeof document<"u",nl=Dc,$c=Vo||kn?"cssFloat":"float",n_=sl&&!Fc&&!Dc&&"draggable"in document.createElement("div"),Yc=function(){if(sl){if(kn)return!1;var a=document.createElement("x");return a.style.cssText="pointer-events:auto",a.style.pointerEvents==="auto"}}(),jc=function(e,t){var i=pt(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=Gr(e,0,t),r=Gr(e,1,t),o=n&&pt(n),h=r&&pt(r),u=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+Wi(n).width,c=h&&parseInt(h.marginLeft)+parseInt(h.marginRight)+Wi(r).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&o.float&&o.float!=="none"){var f=o.float==="left"?"left":"right";return r&&(h.clear==="both"||h.clear===f)?"vertical":"horizontal"}return n&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||u>=s&&i[$c]==="none"||r&&i[$c]==="none"&&u+c>s)?"vertical":"horizontal"},r_=function(e,t,i){var s=i?e.left:e.top,n=i?e.right:e.bottom,r=i?e.width:e.height,o=i?t.left:t.top,h=i?t.right:t.bottom,u=i?t.width:t.height;return s===o||n===h||s+r/2===o+u/2},o_=function(e,t){var i;return Ja.some(function(s){var n=s[Os].options.emptyInsertThreshold;if(!(!n||jh(s))){var r=Wi(s),o=e>=r.left-n&&e<=r.right+n,h=t>=r.top-n&&t<=r.bottom+n;if(o&&h)return i=s}}),i},Xc=function(e){function t(n,r){return function(o,h,u,c){var f=o.options.group.name&&h.options.group.name&&o.options.group.name===h.options.group.name;if(n==null&&(r||f))return!0;if(n==null||n===!1)return!1;if(r&&n==="clone")return n;if(typeof n=="function")return t(n(o,h,u,c),r)(o,h,u,c);var p=(r?o:h).options.group.name;return n===!0||typeof n=="string"&&n===p||n.join&&n.indexOf(p)>-1}}var i={},s=e.group;(!s||Xa(s)!="object")&&(s={name:s}),i.name=s.name,i.checkPull=t(s.pull,!0),i.checkPut=t(s.put),i.revertClone=s.revertClone,e.group=i},Kc=function(){!Yc&&At&&pt(At,"display","none")},qc=function(){!Yc&&At&&pt(At,"display","")};sl&&!Fc&&document.addEventListener("click",function(a){if(Qa)return a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),Qa=!1,!1},!0);var gr=function(e){if(We){e=e.touches?e.touches[0]:e;var t=o_(e.clientX,e.clientY);if(t){var i={};for(var s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[Os]._onDragOver(i)}}},a_=function(e){We&&We.parentNode[Os]._isOutsideThisEl(e.target)};function ct(a,e){if(!(a&&a.nodeType&&a.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(a));this.el=a,this.options=e=Rn({},e),a[Os]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(a.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return jc(a,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,o){r.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:ct.supportPointer!==!1&&"PointerEvent"in window&&!Wo,emptyInsertThreshold:5};Go.initializePlugins(this,a,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Xc(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:n_,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Kt(a,"pointerdown",this._onTapStart):(Kt(a,"mousedown",this._onTapStart),Kt(a,"touchstart",this._onTapStart)),this.nativeDraggable&&(Kt(a,"dragover",this),Kt(a,"dragenter",this)),Ja.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Rn(this,Jg())}ct.prototype={constructor:ct,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Xr=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,We):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,s=this.options,n=s.preventOnFilter,r=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,h=(o||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||h,c=s.filter;if(m_(i),!We&&!(/mousedown|pointerdown/.test(r)&&e.button!==0||s.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Wo&&h&&h.tagName.toUpperCase()==="SELECT")&&(h=cn(h,s.draggable,i,!1),!(h&&h.animated)&&qa!==h)){if(Yr=Vs(h),$o=Vs(h,s.draggable),typeof c=="function"){if(c.call(this,e,h,this)){os({sortable:t,rootEl:u,name:"filter",targetEl:h,toEl:i,fromEl:i}),ms("filter",t,{evt:e}),n&&e.cancelable&&e.preventDefault();return}}else if(c&&(c=c.split(",").some(function(f){if(f=cn(u,f.trim(),i,!1),f)return os({sortable:t,rootEl:f,name:"filter",targetEl:h,fromEl:i,toEl:i}),ms("filter",t,{evt:e}),!0}),c)){n&&e.cancelable&&e.preventDefault();return}s.handle&&!cn(u,s.handle,i,!1)||this._prepareDragStart(e,o,h)}}},_prepareDragStart:function(e,t,i){var s=this,n=s.el,r=s.options,o=n.ownerDocument,h;if(i&&!We&&i.parentNode===n){var u=Wi(i);if(Ci=n,We=i,Di=We.parentNode,pr=We.nextSibling,qa=i,Za=r.group,ct.dragged=We,mr={target:We,clientX:(t||e).clientX,clientY:(t||e).clientY},Uc=mr.clientX-u.left,Gc=mr.clientY-u.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,We.style["will-change"]="all",h=function(){if(ms("delayEnded",s,{evt:e}),ct.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!kc&&s.nativeDraggable&&(We.draggable=!0),s._triggerDragStart(e,t),os({sortable:s,name:"choose",originalEvent:e}),xs(We,r.chosenClass,!0)},r.ignore.split(",").forEach(function(c){Lc(We,c.trim(),ed)}),Kt(o,"dragover",gr),Kt(o,"mousemove",gr),Kt(o,"touchmove",gr),Kt(o,"mouseup",s._onDrop),Kt(o,"touchend",s._onDrop),Kt(o,"touchcancel",s._onDrop),kc&&this.nativeDraggable&&(this.options.touchStartThreshold=4,We.draggable=!0),ms("delayStart",this,{evt:e}),r.delay&&(!r.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Vo||kn))){if(ct.eventCanceled){this._onDrop();return}Kt(o,"mouseup",s._disableDelayedDrag),Kt(o,"touchend",s._disableDelayedDrag),Kt(o,"touchcancel",s._disableDelayedDrag),Kt(o,"mousemove",s._delayedDragTouchMoveHandler),Kt(o,"touchmove",s._delayedDragTouchMoveHandler),r.supportPointer&&Kt(o,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(h,r.delay)}else h()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){We&&ed(We),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;$t(e,"mouseup",this._disableDelayedDrag),$t(e,"touchend",this._disableDelayedDrag),$t(e,"touchcancel",this._disableDelayedDrag),$t(e,"mousemove",this._delayedDragTouchMoveHandler),$t(e,"touchmove",this._delayedDragTouchMoveHandler),$t(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?Kt(document,"pointermove",this._onTouchMove):t?Kt(document,"touchmove",this._onTouchMove):Kt(document,"mousemove",this._onTouchMove):(Kt(We,"dragend",this),Kt(Ci,"dragstart",this._onDragStart));try{document.selection?ol(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(jr=!1,Ci&&We){ms("dragStarted",this,{evt:t}),this.nativeDraggable&&Kt(document,"dragover",a_);var i=this.options;!e&&xs(We,i.dragClass,!1),xs(We,i.ghostClass,!0),ct.active=this,e&&this._appendGhost(),os({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(en){this._lastX=en.clientX,this._lastY=en.clientY,Kc();for(var e=document.elementFromPoint(en.clientX,en.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(en.clientX,en.clientY),e!==t);)t=e;if(We.parentNode[Os]._isOutsideThisEl(e),t)do{if(t[Os]){var i=void 0;if(i=t[Os]._onDragOver({clientX:en.clientX,clientY:en.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);qc()}},_onTouchMove:function(e){if(mr){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,r=At&&Ur(At,!0),o=At&&r&&r.a,h=At&&r&&r.d,u=nl&&ts&&Bc(ts),c=(n.clientX-mr.clientX+s.x)/(o||1)+(u?u[0]-Qh[0]:0)/(o||1),f=(n.clientY-mr.clientY+s.y)/(h||1)+(u?u[1]-Qh[1]:0)/(h||1);if(!ct.active&&!jr){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(At){r?(r.e+=c-(qh||0),r.f+=f-(Zh||0)):r={a:1,b:0,c:0,d:1,e:c,f};var p="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");pt(At,"webkitTransform",p),pt(At,"mozTransform",p),pt(At,"msTransform",p),pt(At,"transform",p),qh=c,Zh=f,en=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!At){var e=this.options.fallbackOnBody?document.body:Ci,t=Wi(We,!0,nl,!0,e),i=this.options;if(nl){for(ts=e;pt(ts,"position")==="static"&&pt(ts,"transform")==="none"&&ts!==document;)ts=ts.parentNode;ts!==document.body&&ts!==document.documentElement?(ts===document&&(ts=fn()),t.top+=ts.scrollTop,t.left+=ts.scrollLeft):ts=fn(),Qh=Bc(ts)}At=We.cloneNode(!0),xs(At,i.ghostClass,!1),xs(At,i.fallbackClass,!0),xs(At,i.dragClass,!0),pt(At,"transition",""),pt(At,"transform",""),pt(At,"box-sizing","border-box"),pt(At,"margin",0),pt(At,"top",t.top),pt(At,"left",t.left),pt(At,"width",t.width),pt(At,"height",t.height),pt(At,"opacity","0.8"),pt(At,"position",nl?"absolute":"fixed"),pt(At,"zIndex","100000"),pt(At,"pointerEvents","none"),ct.ghost=At,e.appendChild(At),pt(At,"transform-origin",Uc/parseInt(At.style.width)*100+"% "+Gc/parseInt(At.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(ms("dragStart",this,{evt:e}),ct.eventCanceled){this._onDrop();return}ms("setupClone",this),ct.eventCanceled||(xi=Wc(We),xi.removeAttribute("id"),xi.draggable=!1,xi.style["will-change"]="",this._hideClone(),xs(xi,this.options.chosenClass,!1),ct.clone=xi),i.cloneId=ol(function(){ms("clone",i),!ct.eventCanceled&&(i.options.removeCloneOnHide||Ci.insertBefore(xi,We),i._hideClone(),os({sortable:i,name:"clone"}))}),!t&&xs(We,n.dragClass,!0),t?(Qa=!0,i._loopId=setInterval(i._emulateDragOver,50)):($t(document,"mouseup",i._onDrop),$t(document,"touchend",i._onDrop),$t(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,We)),Kt(document,"drop",i),pt(We,"transform","translateZ(0)")),jr=!0,i._dragStartId=ol(i._dragStarted.bind(i,t,e)),Kt(document,"selectstart",i),Yo=!0,Wo&&pt(document.body,"user-select","none")},_onDragOver:function(e){var t=this.el,i=e.target,s,n,r,o=this.options,h=o.group,u=ct.active,c=Za===h,f=o.sort,p=Ki||u,g,v=this,C=!1;if(Jh)return;function w(_e,pe){ms(_e,v,un({evt:e,isOwner:c,axis:g?"vertical":"horizontal",revert:r,dragRect:s,targetRect:n,canSort:f,fromSortable:p,target:i,completed:S,onMove:function(J,de){return rl(Ci,t,We,s,J,Wi(J),e,de)},changed:O},pe))}function y(){w("dragOverAnimationCapture"),v.captureAnimationState(),v!==p&&p.captureAnimationState()}function S(_e){return w("dragOverCompleted",{insertion:_e}),_e&&(c?u._hideClone():u._showClone(v),v!==p&&(xs(We,Ki?Ki.options.ghostClass:u.options.ghostClass,!1),xs(We,o.ghostClass,!0)),Ki!==v&&v!==ct.active?Ki=v:v===ct.active&&Ki&&(Ki=null),p===v&&(v._ignoreWhileAnimating=i),v.animateAll(function(){w("dragOverAnimationComplete"),v._ignoreWhileAnimating=null}),v!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(i===We&&!We.animated||i===t&&!i.animated)&&(Xr=null),!o.dragoverBubble&&!e.rootEl&&i!==document&&(We.parentNode[Os]._isOutsideThisEl(e.target),!_e&&gr(e)),!o.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),C=!0}function O(){As=Vs(We),Zn=Vs(We,o.draggable),os({sortable:v,name:"change",toEl:t,newIndex:As,newDraggableIndex:Zn,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=cn(i,o.draggable,t,!0),w("dragOver"),ct.eventCanceled)return C;if(We.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||v._ignoreWhileAnimating===i)return S(!1);if(Qa=!1,u&&!o.disabled&&(c?f||(r=Di!==Ci):Ki===this||(this.lastPutMode=Za.checkPull(this,u,We,e))&&h.checkPut(this,u,We,e))){if(g=this._getDirection(e,i)==="vertical",s=Wi(We),w("dragOverValid"),ct.eventCanceled)return C;if(r)return Di=Ci,y(),this._hideClone(),w("revert"),ct.eventCanceled||(pr?Ci.insertBefore(We,pr):Ci.appendChild(We)),S(!0);var I=jh(t,o.draggable);if(!I||u_(e,g,this)&&!I.animated){if(I===We)return S(!1);if(I&&t===e.target&&(i=I),i&&(n=Wi(i)),rl(Ci,t,We,s,i,n,e,!!i)!==!1)return y(),I&&I.nextSibling?t.insertBefore(We,I.nextSibling):t.appendChild(We),Di=t,O(),S(!0)}else if(I&&d_(e,g,this)){var F=Gr(t,0,o,!0);if(F===We)return S(!1);if(i=F,n=Wi(i),rl(Ci,t,We,s,i,n,e,!1)!==!1)return y(),t.insertBefore(We,F),Di=t,O(),S(!0)}else if(i.parentNode===t){n=Wi(i);var X=0,K,ee=We.parentNode!==t,Q=!r_(We.animated&&We.toRect||s,i.animated&&i.toRect||n,g),te=g?"top":"left",me=Hc(i,"top","top")||Hc(We,"top","top"),U=me?me.scrollTop:void 0;Xr!==i&&(K=n[te],Xo=!1,el=!Q&&o.invertSwap||ee),X=c_(e,i,n,g,Q?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,el,Xr===i);var N;if(X!==0){var A=Vs(We);do A-=X,N=Di.children[A];while(N&&(pt(N,"display")==="none"||N===At))}if(X===0||N===i)return S(!1);Xr=i,jo=X;var ue=i.nextElementSibling,Be=!1;Be=X===1;var be=rl(Ci,t,We,s,i,n,e,Be);if(be!==!1)return(be===1||be===-1)&&(Be=be===1),Jh=!0,setTimeout(h_,30),y(),Be&&!ue?t.appendChild(We):i.parentNode.insertBefore(We,Be?ue:i),me&&Vc(me,0,U-me.scrollTop),Di=We.parentNode,K!==void 0&&!el&&(tl=Math.abs(K-Wi(i)[te])),O(),S(!0)}if(t.contains(We))return S(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){$t(document,"mousemove",this._onTouchMove),$t(document,"touchmove",this._onTouchMove),$t(document,"pointermove",this._onTouchMove),$t(document,"dragover",gr),$t(document,"mousemove",gr),$t(document,"touchmove",gr)},_offUpEvents:function(){var e=this.el.ownerDocument;$t(e,"mouseup",this._onDrop),$t(e,"touchend",this._onDrop),$t(e,"pointerup",this._onDrop),$t(e,"touchcancel",this._onDrop),$t(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;if(As=Vs(We),Zn=Vs(We,i.draggable),ms("drop",this,{evt:e}),Di=We&&We.parentNode,As=Vs(We),Zn=Vs(We,i.draggable),ct.eventCanceled){this._nulling();return}jr=!1,el=!1,Xo=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),td(this.cloneId),td(this._dragStartId),this.nativeDraggable&&($t(document,"drop",this),$t(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Wo&&pt(document.body,"user-select",""),pt(We,"transform",""),e&&(Yo&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),At&&At.parentNode&&At.parentNode.removeChild(At),(Ci===Di||Ki&&Ki.lastPutMode!=="clone")&&xi&&xi.parentNode&&xi.parentNode.removeChild(xi),We&&(this.nativeDraggable&&$t(We,"dragend",this),ed(We),We.style["will-change"]="",Yo&&!jr&&xs(We,Ki?Ki.options.ghostClass:this.options.ghostClass,!1),xs(We,this.options.chosenClass,!1),os({sortable:this,name:"unchoose",toEl:Di,newIndex:null,newDraggableIndex:null,originalEvent:e}),Ci!==Di?(As>=0&&(os({rootEl:Di,name:"add",toEl:Di,fromEl:Ci,originalEvent:e}),os({sortable:this,name:"remove",toEl:Di,originalEvent:e}),os({rootEl:Di,name:"sort",toEl:Di,fromEl:Ci,originalEvent:e}),os({sortable:this,name:"sort",toEl:Di,originalEvent:e})),Ki&&Ki.save()):As!==Yr&&As>=0&&(os({sortable:this,name:"update",toEl:Di,originalEvent:e}),os({sortable:this,name:"sort",toEl:Di,originalEvent:e})),ct.active&&((As==null||As===-1)&&(As=Yr,Zn=$o),os({sortable:this,name:"end",toEl:Di,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){ms("nulling",this),Ci=We=Di=At=pr=xi=qa=qn=mr=en=Yo=As=Zn=Yr=$o=Xr=jo=Ki=Za=ct.dragged=ct.ghost=ct.clone=ct.active=null,il.forEach(function(e){e.checked=!0}),il.length=qh=Zh=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":We&&(this._onDragOver(e),l_(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,s=0,n=i.length,r=this.options;s<n;s++)t=i[s],cn(t,r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||p_(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,r){var o=s.children[r];cn(o,this.options.draggable,s,!1)&&(i[n]=o)},this),t&&this.captureAnimationState(),e.forEach(function(n){i[n]&&(s.removeChild(i[n]),s.appendChild(i[n]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return cn(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Go.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Xc(i)},destroy:function(){ms("destroy",this);var e=this.el;e[Os]=null,$t(e,"mousedown",this._onTapStart),$t(e,"touchstart",this._onTapStart),$t(e,"pointerdown",this._onTapStart),this.nativeDraggable&&($t(e,"dragover",this),$t(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ja.splice(Ja.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!qn){if(ms("hideClone",this),ct.eventCanceled)return;pt(xi,"display","none"),this.options.removeCloneOnHide&&xi.parentNode&&xi.parentNode.removeChild(xi),qn=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(qn){if(ms("showClone",this),ct.eventCanceled)return;We.parentNode==Ci&&!this.options.group.revertClone?Ci.insertBefore(xi,We):pr?Ci.insertBefore(xi,pr):Ci.appendChild(xi),this.options.group.revertClone&&this.animate(We,xi),pt(xi,"display",""),qn=!1}}};function l_(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.cancelable&&a.preventDefault()}function rl(a,e,t,i,s,n,r,o){var h,u=a[Os],c=u.options.onMove,f;return window.CustomEvent&&!kn&&!Vo?h=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(h=document.createEvent("Event"),h.initEvent("move",!0,!0)),h.to=e,h.from=a,h.dragged=t,h.draggedRect=i,h.related=s||e,h.relatedRect=n||Wi(e),h.willInsertAfter=o,h.originalEvent=r,a.dispatchEvent(h),c&&(f=c.call(u,h,r)),f}function ed(a){a.draggable=!1}function h_(){Jh=!1}function d_(a,e,t){var i=Wi(Gr(t.el,0,t.options,!0)),s=Mc(t.el),n=10;return e?a.clientX<s.left-n||a.clientY<i.top&&a.clientX<i.right:a.clientY<s.top-n||a.clientY<i.bottom&&a.clientX<i.left}function u_(a,e,t){var i=Wi(jh(t.el,t.options.draggable)),s=Mc(t.el),n=10;return e?a.clientX>s.right+n||a.clientY>i.bottom&&a.clientX>i.left:a.clientY>s.bottom+n||a.clientX>i.right&&a.clientY>i.top}function c_(a,e,t,i,s,n,r,o){var h=i?a.clientY:a.clientX,u=i?t.height:t.width,c=i?t.top:t.left,f=i?t.bottom:t.right,p=!1;if(!r){if(o&&tl<u*s){if(!Xo&&(jo===1?h>c+u*n/2:h<f-u*n/2)&&(Xo=!0),Xo)p=!0;else if(jo===1?h<c+tl:h>f-tl)return-jo}else if(h>c+u*(1-s)/2&&h<f-u*(1-s)/2)return f_(e)}return p=p||r,p&&(h<c+u*n/2||h>f-u*n/2)?h>c+u/2?1:-1:0}function f_(a){return Vs(We)<Vs(a)?1:-1}function p_(a){for(var e=a.tagName+a.className+a.src+a.href+a.textContent,t=e.length,i=0;t--;)i+=e.charCodeAt(t);return i.toString(36)}function m_(a){il.length=0;for(var e=a.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&il.push(i)}}function ol(a){return setTimeout(a,0)}function td(a){return clearTimeout(a)}sl&&Kt(document,"touchmove",function(a){(ct.active||jr)&&a.cancelable&&a.preventDefault()}),ct.utils={on:Kt,off:$t,css:pt,find:Lc,is:function(e,t){return!!cn(e,t,e,!1)},extend:Zg,throttle:zc,closest:cn,toggleClass:xs,clone:Wc,index:Vs,nextTick:ol,cancelNextTick:td,detectDirection:jc,getChild:Gr},ct.get=function(a){return a[Os]},ct.mount=function(){for(var a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];e[0].constructor===Array&&(e=e[0]),e.forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(ct.utils=un(un({},ct.utils),i.utils)),Go.mount(i)})},ct.create=function(a,e){return new ct(a,e)},ct.version=Xg;var Ui=[],Ko,id,sd=!1,nd,rd,al,qo;function g_(){function a(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return a.prototype={dragStarted:function(t){var i=t.originalEvent;this.sortable.nativeDraggable?Kt(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Kt(document,"pointermove",this._handleFallbackAutoScroll):i.touches?Kt(document,"touchmove",this._handleFallbackAutoScroll):Kt(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?$t(document,"dragover",this._handleAutoScroll):($t(document,"pointermove",this._handleFallbackAutoScroll),$t(document,"touchmove",this._handleFallbackAutoScroll),$t(document,"mousemove",this._handleFallbackAutoScroll)),Zc(),ll(),Qg()},nulling:function(){al=id=Ko=sd=qo=nd=rd=null,Ui.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,i){var s=this,n=(t.touches?t.touches[0]:t).clientX,r=(t.touches?t.touches[0]:t).clientY,o=document.elementFromPoint(n,r);if(al=t,i||this.options.forceAutoScrollFallback||Vo||kn||Wo){od(t,this.options,o,i);var h=Kn(o,!0);sd&&(!qo||n!==nd||r!==rd)&&(qo&&Zc(),qo=setInterval(function(){var u=Kn(document.elementFromPoint(n,r),!0);u!==h&&(h=u,ll()),od(t,s.options,u,i)},10),nd=n,rd=r)}else{if(!this.options.bubbleScroll||Kn(o,!0)===fn()){ll();return}od(t,this.options,Kn(o,!1),!1)}}},Rn(a,{pluginName:"scroll",initializeByDefault:!0})}function ll(){Ui.forEach(function(a){clearInterval(a.pid)}),Ui=[]}function Zc(){clearInterval(qo)}var od=zc(function(a,e,t,i){if(e.scroll){var s=(a.touches?a.touches[0]:a).clientX,n=(a.touches?a.touches[0]:a).clientY,r=e.scrollSensitivity,o=e.scrollSpeed,h=fn(),u=!1,c;id!==t&&(id=t,ll(),Ko=e.scroll,c=e.scrollFn,Ko===!0&&(Ko=Kn(t,!0)));var f=0,p=Ko;do{var g=p,v=Wi(g),C=v.top,w=v.bottom,y=v.left,S=v.right,O=v.width,I=v.height,F=void 0,X=void 0,K=g.scrollWidth,ee=g.scrollHeight,Q=pt(g),te=g.scrollLeft,me=g.scrollTop;g===h?(F=O<K&&(Q.overflowX==="auto"||Q.overflowX==="scroll"||Q.overflowX==="visible"),X=I<ee&&(Q.overflowY==="auto"||Q.overflowY==="scroll"||Q.overflowY==="visible")):(F=O<K&&(Q.overflowX==="auto"||Q.overflowX==="scroll"),X=I<ee&&(Q.overflowY==="auto"||Q.overflowY==="scroll"));var U=F&&(Math.abs(S-s)<=r&&te+O<K)-(Math.abs(y-s)<=r&&!!te),N=X&&(Math.abs(w-n)<=r&&me+I<ee)-(Math.abs(C-n)<=r&&!!me);if(!Ui[f])for(var A=0;A<=f;A++)Ui[A]||(Ui[A]={});(Ui[f].vx!=U||Ui[f].vy!=N||Ui[f].el!==g)&&(Ui[f].el=g,Ui[f].vx=U,Ui[f].vy=N,clearInterval(Ui[f].pid),(U!=0||N!=0)&&(u=!0,Ui[f].pid=setInterval((function(){i&&this.layer===0&&ct.active._onTouchMove(al);var ue=Ui[this.layer].vy?Ui[this.layer].vy*o:0,Be=Ui[this.layer].vx?Ui[this.layer].vx*o:0;typeof c=="function"&&c.call(ct.dragged.parentNode[Os],Be,ue,a,al,Ui[this.layer].el)!=="continue"||Vc(Ui[this.layer].el,Be,ue)}).bind({layer:f}),24))),f++}while(e.bubbleScroll&&p!==h&&(p=Kn(p,!1)));sd=u}},30),Qc=function(e){var t=e.originalEvent,i=e.putSortable,s=e.dragEl,n=e.activeSortable,r=e.dispatchSortableEvent,o=e.hideGhostForTarget,h=e.unhideGhostForTarget;if(t){var u=i||n;o();var c=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,f=document.elementFromPoint(c.clientX,c.clientY);h(),u&&!u.el.contains(f)&&(r("spill"),this.onSpill({dragEl:s,putSortable:i}))}};function ad(){}ad.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var s=Gr(this.sortable.el,this.startIndex,this.options);s?this.sortable.el.insertBefore(t,s):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:Qc},Rn(ad,{pluginName:"revertOnSpill"});function ld(){}ld.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable,s=i||this.sortable;s.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),s.animateAll()},drop:Qc},Rn(ld,{pluginName:"removeOnSpill"}),ct.mount(new g_),ct.mount(ld,ad);function Jc(a){let{containerElement:e}=a;const{onDragInit:t,onDragStart:i,onDrag:s,onDragEnd:n}=a;let r,o,h,u,c,f;e||(e=document.body);let p={dragSource:e,dragHandle:null};function g(){e&&(e.addEventListener("mousedown",w),e.addEventListener("touchstart",w))}function v(O,I,F){typeof O=="function"&&O(I,F)}function C(){e&&(e.removeEventListener("mousedown",w),e.removeEventListener("touchstart",w))}function w(O){var X;r=O.target;const I=((X=O==null?void 0:O.touches)==null?void 0:X[0])??O,{target:F}=I;if(!a.allowDragFrom||a.allowDragFrom&&r.matches(a.allowDragFrom)||a.allowDragFromClosest&&r.closest(a.allowDragFromClosest)){p.dragHandle=r;const K=Oh();o=K.left+I.clientX,h=K.top+I.clientY,u=I.clientX-I.clientX,c=I.clientY-I.clientY,p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(t,O,p),document.body.addEventListener("mousemove",y),document.body.addEventListener("touchmove",y),document.body.addEventListener("mouseup",S),document.body.addEventListener("touchend",S),document.body.addEventListener("touchcancel",S)}}function y(O){var X;const I=((X=O==null?void 0:O.touches)==null?void 0:X[0])??O;u=I.clientX-o,c=I.clientY-h;const{target:F}=I;f||(p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(i,O,p),f=!0),p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(s,O,p)}function S(O){if(document.body.removeEventListener("mousemove",y),document.body.removeEventListener("touchmove",y),document.body.removeEventListener("mouseup",S),document.body.removeEventListener("touchend",S),document.body.removeEventListener("touchcancel",S),f){const{target:I}=O;p=Object.assign(p,{target:I}),v(n,O,p),f=!1}}return g(),{destroy:C}}function ef(a){const{element:e,onMouseWheel:t}=a;function i(){e.removeEventListener("wheel",n),e.removeEventListener("mousewheel",n)}function s(){e.addEventListener("wheel",n),e.addEventListener("mousewheel",n)}function n(r){const o=r||window.event;let h=0,u=0,c=0;o.wheelDelta&&(h=o.wheelDelta/120),o.detail&&(h=-o.detail/3),c=h,o.axis!==void 0&&o.axis===o.HORIZONTAL_AXIS&&(c=0,u=-1*h),o.wheelDeltaY!==void 0&&(c=o.wheelDeltaY/120),o.wheelDeltaX!==void 0&&(u=-1*o.wheelDeltaX/120),typeof t=="function"&&t(r,h,u,c)}return s(),{destroy:i}}function tf(a){const{resizeableElement:e,resizeableHandleElement:t,onResizeStart:i,onResize:s,onResizeEnd:n}=a;if(!t||typeof t.addEventListener!="function")throw new Error("[SlickResizable] You did not provide a valid html element that will be used for the handle to resize.");function r(){t.addEventListener("mousedown",u),t.addEventListener("touchstart",u)}function o(){typeof(t==null?void 0:t.removeEventListener)=="function"&&(t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",u))}function h(p,g){typeof p=="function"&&p(g,{resizeableElement:e,resizeableHandleElement:t})}function u(p){p.preventDefault();const g=p.touches?p.changedTouches[0]:p;h(i,g),document.body.addEventListener("mousemove",c),document.body.addEventListener("mouseup",f),document.body.addEventListener("touchmove",c),document.body.addEventListener("touchend",f)}function c(p){p.preventDefault&&p.type!=="touchmove"&&p.preventDefault();const g=p.touches?p.changedTouches[0]:p;typeof s=="function"&&s(g,{resizeableElement:e,resizeableHandleElement:t})}function f(p){const g=p.touches?p.changedTouches[0]:p;h(n,g),document.body.removeEventListener("mousemove",c),document.body.removeEventListener("mouseup",f),document.body.removeEventListener("touchmove",c),document.body.removeEventListener("touchend",f)}return r(),{destroy:o}}class __{constructor(e,t,i,s,n){this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.slickGridVersion="5.5.0",this.cid="",this.canvas=null,this.canvas_context=null,this._defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableHtmlRendering:!0,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,autoEditNewRow:!0,autoCommitEdit:!1,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,nonce:"",editorLock:ja,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",selectedCellCssClass:"selected",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,frozenRightViewportMinWidth:100,throwWhenFrozenNotAllViewable:!1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter:this.defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:void 0,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,scrollRenderThrottling:50,suppressCssChangesOnHiddenInit:!1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,sanitizer:void 0,mixinDefaults:!1,shadowRoot:void 0},this._columnDefaults={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0,hidden:!1},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new Pi,this.initialized=!1,this.uid=`slickgrid_${Math.round(1e6*Math.random())}`,this._groupHeaders=[],this._headerScroller=[],this._headers=[],this._boundAncestors=[],this.viewportH=0,this.viewportW=0,this.canvasWidth=0,this.canvasWidthL=0,this.canvasWidthR=0,this.headersWidth=0,this.headersWidthL=0,this.headersWidthR=0,this.viewportHasHScroll=!1,this.viewportHasVScroll=!1,this.headerColumnWidthDiff=0,this.headerColumnHeightDiff=0,this.cellWidthDiff=0,this.cellHeightDiff=0,this.hasFrozenRows=!1,this.frozenRowsHeight=0,this.actualFrozenRow=-1,this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.topPanelH=0,this.headerRowH=0,this.footerRowH=0,this.tabbingDirection=1,this.activeCellNode=null,this.currentEditor=null,this.rowsCache={},this.renderedRows=0,this.numVisibleRows=0,this.prevScrollTop=0,this.scrollTop=0,this.lastRenderedScrollTop=0,this.lastRenderedScrollLeft=0,this.prevScrollLeft=0,this.scrollLeft=0,this.selectedRows=[],this.plugins=[],this.cellCssClasses={},this.columnsById={},this.sortColumns=[],this.columnPosLeft=[],this.columnPosRight=[],this.pagingActive=!1,this.pagingIsLastPage=!1,this.h_editorLoader=null,this.h_render=null,this.h_postrender=null,this.h_postrenderCleanup=null,this.postProcessedRows={},this.postProcessToRow=null,this.postProcessFromRow=null,this.postProcessedCleanupQueue=[],this.postProcessgroupId=0,this.counter_rows_rendered=0,this.counter_rows_removed=0,this.cssShow={position:"absolute",visibility:"hidden",display:"block"},this._hiddenParents=[],this.oldProps=[],this.enforceFrozenRowHeightRecalc=!1,this.columnResizeDragging=!1,this.slickDraggableInstance=null,this.slickMouseWheelInstances=[],this.slickResizableInstances=[],this.logMessageMaxCount=30,this.onActiveCellChanged=new $e("onActiveCellChanged",n),this.onActiveCellPositionChanged=new $e("onActiveCellPositionChanged",n),this.onAddNewRow=new $e("onAddNewRow",n),this.onAutosizeColumns=new $e("onAutosizeColumns",n),this.onBeforeAppendCell=new $e("onBeforeAppendCell",n),this.onBeforeCellEditorDestroy=new $e("onBeforeCellEditorDestroy",n),this.onBeforeColumnsResize=new $e("onBeforeColumnsResize",n),this.onBeforeDestroy=new $e("onBeforeDestroy",n),this.onBeforeEditCell=new $e("onBeforeEditCell",n),this.onBeforeFooterRowCellDestroy=new $e("onBeforeFooterRowCellDestroy",n),this.onBeforeHeaderCellDestroy=new $e("onBeforeHeaderCellDestroy",n),this.onBeforeHeaderRowCellDestroy=new $e("onBeforeHeaderRowCellDestroy",n),this.onBeforeSetColumns=new $e("onBeforeSetColumns",n),this.onBeforeSort=new $e("onBeforeSort",n),this.onBeforeUpdateColumns=new $e("onBeforeUpdateColumns",n),this.onCellChange=new $e("onCellChange",n),this.onCellCssStylesChanged=new $e("onCellCssStylesChanged",n),this.onClick=new $e("onClick",n),this.onColumnsReordered=new $e("onColumnsReordered",n),this.onColumnsDrag=new $e("onColumnsDrag",n),this.onColumnsResized=new $e("onColumnsResized",n),this.onColumnsResizeDblClick=new $e("onColumnsResizeDblClick",n),this.onCompositeEditorChange=new $e("onCompositeEditorChange",n),this.onContextMenu=new $e("onContextMenu",n),this.onDrag=new $e("onDrag",n),this.onDblClick=new $e("onDblClick",n),this.onDragInit=new $e("onDragInit",n),this.onDragStart=new $e("onDragStart",n),this.onDragEnd=new $e("onDragEnd",n),this.onFooterClick=new $e("onFooterClick",n),this.onFooterContextMenu=new $e("onFooterContextMenu",n),this.onFooterRowCellRendered=new $e("onFooterRowCellRendered",n),this.onHeaderCellRendered=new $e("onHeaderCellRendered",n),this.onHeaderClick=new $e("onHeaderClick",n),this.onHeaderContextMenu=new $e("onHeaderContextMenu",n),this.onHeaderMouseEnter=new $e("onHeaderMouseEnter",n),this.onHeaderMouseLeave=new $e("onHeaderMouseLeave",n),this.onHeaderRowCellRendered=new $e("onHeaderRowCellRendered",n),this.onHeaderRowMouseEnter=new $e("onHeaderRowMouseEnter",n),this.onHeaderRowMouseLeave=new $e("onHeaderRowMouseLeave",n),this.onKeyDown=new $e("onKeyDown",n),this.onMouseEnter=new $e("onMouseEnter",n),this.onMouseLeave=new $e("onMouseLeave",n),this.onRendered=new $e("onRendered",n),this.onScroll=new $e("onScroll",n),this.onSelectedRowsChanged=new $e("onSelectedRowsChanged",n),this.onSetOptions=new $e("onSetOptions",n),this.onActivateChangedOptions=new $e("onActivateChangedOptions",n),this.onSort=new $e("onSort",n),this.onValidationError=new $e("onValidationError",n),this.onViewportChanged=new $e("onViewportChanged",n),this.initialize(s)}init(){this.finishInitialization()}applyHtmlCode(e,t="",i){var s;if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment)(i==null?void 0:i.emptyTarget)!==!1&&Pt(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!jt(t)&&!e.innerHTML)return;let r=t;if(typeof r=="number"||typeof r=="boolean")e.textContent=r;else{if(typeof((s=this._options)==null?void 0:s.sanitizer)=="function")r=this._options.sanitizer(t);else if(typeof(Xn==null?void 0:Xn.sanitize)=="function"){const o=(i==null?void 0:i.sanitizerOptions)??this._options.sanitizerOptions??{ADD_ATTR:["level"],RETURN_TRUSTED_TYPE:!0};r=Xn.sanitize(t,o)}this._options.enableHtmlRendering&&r?e.innerHTML=r:e.textContent=r}}}initialize(e){if(typeof this.container=="string"?this._container=document.querySelector(this.container):this._container=this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);if(e!=null&&e.mixinDefaults?(e||(this._options={}),ne.applyDefaults(this._options,this._defaults)):this._options=ne.extend(!0,{},this._defaults,e),this.scrollThrottle=this.actionThrottle(this.render.bind(this),this._options.scrollRenderThrottling),this.maxSupportedCssHeight=this.maxSupportedCssHeight||this.getMaxSupportedCssHeight(),this.validateAndEnforceOptions(),this._columnDefaults.width=this._options.defaultColumnWidth,this._options.suppressCssChangesOnHiddenInit||this.cacheCssForHiddenInit(),this.updateColumnProps(),this._options.enableColumnReorder&&(!ct||!ct.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},Pt(this._container),this._container.style.overflow="hidden",this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("ui-widget");const t=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(t.position)||(this._container.style.position="relative"),this._focusSink=Y("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._paneHeaderL=Y("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=Y("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=Y("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=Y("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=Y("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=Y("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=Y("div",{className:"slick-preheader-panel ui-state-default slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=Y("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=Y("div",{className:"slick-preheader-panel ui-state-default slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=Y("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(ne.hide(this._preHeaderPanelScroller),ne.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=Y("div",{className:"slick-header ui-state-default slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=Y("div",{className:"slick-header ui-state-default slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=Y("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=Y("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=Y("div",{className:"slick-headerrow ui-state-default slick-state-default"},this._paneTopL),this._headerRowScrollerR=Y("div",{className:"slick-headerrow ui-state-default slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=Y("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=Y("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=Y("div",{className:"slick-top-panel-scroller ui-state-default slick-state-default"},this._paneTopL),this._topPanelScrollerR=Y("div",{className:"slick-top-panel-scroller ui-state-default slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=Y("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=Y("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(i=>{ne.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{ne.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{ne.hide(i)}),this._viewportTopL=Y("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=Y("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=Y("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=Y("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-right",tabIndex:0},this._paneBottomR),this._viewport=[this._viewportTopL,this._viewportTopR,this._viewportBottomL,this._viewportBottomR],this._options.viewportClass&&this._viewport.forEach(i=>{i.classList.add(...(this._options.viewportClass||"").split(" "))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=Y("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=Y("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=Y("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=Y("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-right",tabIndex:0},this._viewportBottomR),this._canvas=[this._canvasTopL,this._canvasTopR,this._canvasBottomL,this._canvasBottomR],this.scrollbarDimensions=this.scrollbarDimensions||this.measureScrollbar(),this._activeCanvasNode=this._canvasTopL,this._preHeaderPanelSpacer&&ne.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{ne.width(i,this.getHeadersWidth())}),ne.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),ne.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=Y("div",{className:"slick-footerrow ui-state-default slick-state-default"},this._paneTopR),this._footerRowScrollerL=Y("div",{className:"slick-footerrow ui-state-default slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),ne.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),ne.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=Y("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=Y("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(i=>{ne.hide(i)})),this._focusSink2=this._focusSink.cloneNode(!0),this._container.appendChild(this._focusSink2),this._options.explicitInitialization||this.finishInitialization()}finishInitialization(){this.initialized||(this.initialized=!0,this.getViewportWidth(),this.getViewportHeight(),this.measureCellPaddingAndBorder(),this.disableSelection(this._headers),this._options.enableTextSelectionOnCells||this._viewport.forEach(e=>{this._bindingEventService.bind(e,"selectstart",t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement})}),this.setFrozenOptions(),this.setPaneVisibility(),this.setScroller(),this.setOverflow(),this.updateColumnCaches(),this.createColumnHeaders(),this.createColumnFooter(),this.setupColumnSort(),this.createCssRules(),this.resizeCanvas(),this.bindAncestorScrollEvents(),this._bindingEventService.bind(this._container,"resize",this.resizeCanvas.bind(this)),this._viewport.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(e=>{this.slickMouseWheelInstances.push(ef({element:e,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createPreHeaderPanel&&this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind(this._focusSink,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(this._focusSink2,"keydown",this.handleKeyDown.bind(this)),this._canvas.forEach(e=>{this._bindingEventService.bind(e,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(e,"click",this.handleClick.bind(this)),this._bindingEventService.bind(e,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(e,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(e,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(e,"mouseout",this.handleCellMouseOut.bind(this))}),Jc&&(this.slickDraggableInstance=Jc({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",onDragInit:this.handleDragInit.bind(this),onDragStart:this.handleDragStart.bind(this),onDrag:this.handleDrag.bind(this),onDragEnd:this.handleDragEnd.bind(this)})),this._options.suppressCssChangesOnHiddenInit||this.restoreCssFromHiddenInit())}cacheCssForHiddenInit(){this._hiddenParents=ne.parents(this._container,":hidden");for(const e of this._hiddenParents){const t={};for(const i in this.cssShow)this.cssShow&&(t[i]=e.style[i],e.style[i]=this.cssShow[i]);this.oldProps.push(t)}}restoreCssFromHiddenInit(){let e=0;for(const t of this._hiddenParents){const i=this.oldProps[e++];for(const s in this.cssShow)this.cssShow&&(t.style[s]=i[s])}}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(e){this.plugins.unshift(e),e.init(this)}unregisterPlugin(e){var t;for(let i=this.plugins.length;i>=0;i--)if(this.plugins[i]===e){(t=this.plugins[i])==null||t.destroy(),this.plugins.splice(i,1);break}}getPluginByName(e){var t;for(let i=this.plugins.length-1;i>=0;i--)if(((t=this.plugins[i])==null?void 0:t.pluginName)===e)return this.plugins[i]}setSelectionModel(e){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=e,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(e,t){return this._getContainerElement(this.getCanvases(),e,t)}getActiveCanvasNode(e){return e===void 0?this._activeCanvasNode:(e instanceof li&&(e=e.getNativeEvent()),this._activeCanvasNode=e==null?void 0:e.target.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(e,t){return this._getContainerElement(this.getViewports(),e,t)}getViewports(){return this._viewport}getActiveViewportNode(e){return this.setActiveViewportNode(e),this._activeViewportNode}setActiveViewportNode(e){return e instanceof li&&(e=e.getNativeEvent()),this._activeViewportNode=e==null?void 0:e.target.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(e,t,i){if(!e)return;t||(t=0),i||(i=0);const s=typeof t=="number"?t:this.getColumnIndex(t),n=this.hasFrozenRows&&i>=this.actualFrozenRow+(this._options.frozenBottom?0:1),r=this.hasFrozenColumns()&&s>this._options.frozenColumn;return e[(n?2:0)+(r?1:0)]}measureScrollbar(){let e="";this._viewport.forEach(n=>e+=n.className);const t=Y("div",{className:e,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),i=Y("div",{style:{width:"200px",height:"200px",overflow:"auto"}},t),s={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};return i.remove(),t.remove(),s}getHeadersWidth(){var s,n,r,o;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const e=!this._options.autoHeight;let t=0;const i=this.columns.length;for(t=0;t<i;t++){if(!this.columns[t]||this.columns[t].hidden)continue;const h=this.columns[t].width;this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=h||0:this.headersWidthL+=h||0}return e&&(this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=((s=this.scrollbarDimensions)==null?void 0:s.width)??0:this.headersWidthL+=((n=this.scrollbarDimensions)==null?void 0:n.width)??0),this.hasFrozenColumns()?(this.headersWidthL=this.headersWidthL+1e3,this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.headersWidthL,this.headersWidthR+=((r=this.scrollbarDimensions)==null?void 0:r.width)??0):(this.headersWidthL+=((o=this.scrollbarDimensions)==null?void 0:o.width)??0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidth=this.headersWidthL+this.headersWidthR,Math.max(this.headersWidth,this.viewportW)+1e3}getHeadersWidthL(){var e;return this.headersWidthL=0,this.columns.forEach((t,i)=>{t.hidden||this._options.frozenColumn>-1&&i>this._options.frozenColumn||(this.headersWidthL+=t.width||0)}),this.hasFrozenColumns()?this.headersWidthL+=1e3:(this.headersWidthL+=((e=this.scrollbarDimensions)==null?void 0:e.width)??0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidthL}getHeadersWidthR(){var e;return this.headersWidthR=0,this.columns.forEach((t,i)=>{t.hidden||this._options.frozenColumn>-1&&i>this._options.frozenColumn&&(this.headersWidthR+=t.width||0)}),this.hasFrozenColumns()&&(this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.getHeadersWidthL(),this.headersWidthR+=((e=this.scrollbarDimensions)==null?void 0:e.width)??0),this.headersWidthR}getCanvasWidth(){var s;const e=this.viewportHasVScroll?this.viewportW-(((s=this.scrollbarDimensions)==null?void 0:s.width)??0):this.viewportW;let t=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;t--;)!this.columns[t]||this.columns[t].hidden||(this.hasFrozenColumns()&&t>this._options.frozenColumn?this.canvasWidthR+=this.columns[t].width||0:this.canvasWidthL+=this.columns[t].width||0);let i=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const n=Math.max(i,e)-i;n>0&&(i+=n,this.hasFrozenColumns()?this.canvasWidthR+=n:this.canvasWidthL+=n)}return i}updateCanvasWidth(e){var r,o,h,u,c;const t=this.canvasWidth,i=this.canvasWidthL,s=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth();const n=this.canvasWidth!==t||this.canvasWidthL!==i||this.canvasWidthR!==s;if(n||this.hasFrozenColumns()||this.hasFrozenRows)if(ne.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),ne.width(this._headerL,this.headersWidthL),ne.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const f=ne.width(this._container)||0;if(f>0&&this.canvasWidthL>f&&this._options.throwWhenFrozenNotAllViewable)throw new Error("[SlickGrid] Frozen columns cannot be wider than the actual grid container width. Make sure to have less columns freezed or make your grid container wider");ne.width(this._canvasTopR,this.canvasWidthR),ne.width(this._paneHeaderL,this.canvasWidthL),ne.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),ne.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),ne.width(this._paneTopL,this.canvasWidthL),ne.setStyleSize(this._paneTopR,"left",this.canvasWidthL),ne.width(this._paneTopR,this.viewportW-this.canvasWidthL),ne.width(this._headerRowScrollerL,this.canvasWidthL),ne.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),ne.width(this._headerRowL,this.canvasWidthL),ne.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(ne.width(this._footerRowScrollerL,this.canvasWidthL),ne.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),ne.width(this._footerRowL,this.canvasWidthL),ne.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&ne.width(this._preHeaderPanel,this.canvasWidth),ne.width(this._viewportTopL,this.canvasWidthL),ne.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(ne.width(this._paneBottomL,this.canvasWidthL),ne.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),ne.width(this._viewportBottomL,this.canvasWidthL),ne.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),ne.width(this._canvasBottomL,this.canvasWidthL),ne.width(this._canvasBottomR,this.canvasWidthR))}else ne.width(this._paneHeaderL,"100%"),ne.width(this._paneTopL,"100%"),ne.width(this._headerRowScrollerL,"100%"),ne.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(ne.width(this._footerRowScrollerL,"100%"),ne.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&ne.width(this._preHeaderPanel,this.canvasWidth),ne.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(ne.width(this._viewportBottomL,"100%"),ne.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((r=this.scrollbarDimensions)==null?void 0:r.width)??0),ne.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll?((o=this.scrollbarDimensions)==null?void 0:o.width)??0:0)),ne.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll?((h=this.scrollbarDimensions)==null?void 0:h.width)??0:0)),this._options.createFooterRow&&(ne.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll?((u=this.scrollbarDimensions)==null?void 0:u.width)??0:0)),ne.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll?((c=this.scrollbarDimensions)==null?void 0:c.width)??0:0))),(n||e)&&this.applyColumnWidths()}disableSelection(e){e.forEach(t=>{t.setAttribute("unselectable","on"),t.style.mozUserSelect="none",this._bindingEventService.bind(t,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let e=1e6;const t=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,i=Y("div",{style:{display:"hidden"}},document.body);for(;;){const s=e*2;ne.height(i,s);const n=ne.height(i);if(s>t||n!==s)break;e=s}return i.remove(),e}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var e,t;return{width:this.viewportHasVScroll?((e=this.scrollbarDimensions)==null?void 0:e.width)??0:0,height:this.viewportHasHScroll?((t=this.scrollbarDimensions)==null?void 0:t.height)??0:0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let e=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(e=e.parentNode)!==document.body&&e;)(e===this._viewportTopL||e.scrollWidth!==e.clientWidth||e.scrollHeight!==e.clientHeight)&&(this._boundAncestors.push(e),this._bindingEventService.bind(e,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(e=>{this._bindingEventService.unbindByEventName(e,"scroll")}),this._boundAncestors=[]}updateColumnHeader(e,t,i){if(!this.initialized)return;const s=this.getColumnIndex(e);if(!jt(s))return;const n=this.columns[s],r=this.getColumnByIndex(s);r&&(t!==void 0&&(this.columns[s].name=t),i!==void 0&&(this.columns[s].toolTip=i),this.trigger(this.onBeforeHeaderCellDestroy,{node:r,column:n,grid:this}),r.setAttribute("title",i||""),t!==void 0&&this.applyHtmlCode(r.children[0],t),this.trigger(this.onHeaderCellRendered,{node:r,column:n,grid:this}))}getHeader(e){if(!e)return this.hasFrozenColumns()?this._headers:this._headerL;const t=this.getColumnIndex(e.id);return this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(e){const t=typeof e=="number"?e:this.getColumnIndex(e),i=this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?t<=this._options.frozenColumn?t:t-this._options.frozenColumn-1:t;return i.children[s]}getHeaderRow(){return this.hasFrozenColumns()?this._headerRows:this._headerRows[0]}getFooterRow(){return this.hasFrozenColumns()?this._footerRow:this._footerRow[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getHeaderRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._headerRowL:(i=this._headerRowR,t-=this._options.frozenColumn+1):i=this._headerRowL,i.children[t]}getFooterRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._footerRowL:(i=this._footerRowR,t-=this._options.frozenColumn+1):i=this._footerRowL,i.children[t]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(e=>{e.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");this.trigger(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),Pt(this._footerRowL),Pt(this._footerRowR);for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=Y("div",{className:`ui-state-default slick-state-default slick-footerrow-column l${e} r${e}`},this.hasFrozenColumns()&&e>this._options.frozenColumn?this._footerRowR:this._footerRowL),s=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;s&&i.classList.add(s),ne.storage.put(i,"column",t),this.trigger(this.onFooterRowCellRendered,{node:i,column:t,grid:this})}}}handleHeaderMouseHoverOn(e){e==null||e.target.classList.add("ui-state-hover","slick-state-hover")}handleHeaderMouseHoverOff(e){e==null||e.target.classList.remove("ui-state-hover","slick-state-hover")}createColumnHeaders(){this._headers.forEach(e=>{e.querySelectorAll(".slick-header-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),Pt(this._headerL),Pt(this._headerR),this.getHeadersWidth(),ne.width(this._headerL,this.headersWidthL),ne.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),Pt(this._headerRowL),Pt(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=ne.storage.get(t,"column");i&&this.trigger(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),Pt(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),Pt(this._footerRowR)));for(let e=0;e<this.columns.length;e++){const t=this.columns[e],i=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerRowL:this._headerRowR:this._headerRowL,n=Y("div",{id:`${this.uid+t.id}`,dataset:{id:String(t.id)},className:"ui-state-default slick-state-default slick-header-column",title:t.toolTip||""},i),r=Y("span",{className:"slick-column-name"},n);this.applyHtmlCode(r,t.name),ne.width(n,t.width-this.headerColumnWidthDiff);let o=t.headerCssClass||null;if(o&&n.classList.add(...o.split(" ")),o=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null,o&&n.classList.add(o),this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseEnter.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseLeave.bind(this)),ne.storage.put(n,"column",t),(this._options.enableColumnReorder||t.sortable)&&(this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseHoverOn.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseHoverOff.bind(this))),t.hasOwnProperty("headerCellAttrs")&&t.headerCellAttrs instanceof Object)for(const h in t.headerCellAttrs)t.headerCellAttrs.hasOwnProperty(h)&&n.setAttribute(h,t.headerCellAttrs[h]);if(t.sortable&&(n.classList.add("slick-header-sortable"),Y("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},n),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&Y("div",{className:"slick-sort-indicator-numbered"},n)),this.trigger(this.onHeaderCellRendered,{node:n,column:t,grid:this}),this._options.showHeaderRow){const h=Y("div",{className:`ui-state-default slick-state-default slick-headerrow-column l${e} r${e}`},s),u=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;u&&h.classList.add(u),this._bindingEventService.bind(h,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(h,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),ne.storage.put(h,"column",t),this.trigger(this.onHeaderRowCellRendered,{node:h,column:t,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const h=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],u=Y("div",{className:`ui-state-default slick-state-default slick-footerrow-column l${e} r${e}`},h);ne.storage.put(u,"column",t),this.trigger(this.onFooterRowCellRendered,{node:u,column:t,grid:this})}}this.setSortColumns(this.sortColumns),this.setupColumnResize(),this._options.enableColumnReorder&&(typeof this._options.enableColumnReorder=="function"?this._options.enableColumnReorder(this,this._headers,this.headerColumnWidthDiff,this.setColumns,this.setupColumnResize,this.columns,this.getColumnIndex,this.uid,this.trigger):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(e=>{this._bindingEventService.bind(e,"click",t=>{var n;if(this.columnResizeDragging||t.target.classList.contains("slick-resizable-handle"))return;const i=t.target.closest(".slick-header-column");if(!i)return;const s=ne.storage.get(i,"column");if(s.sortable){if(!((n=this.getEditorLock())!=null&&n.commitCurrentEdit()))return;const r=this.sortColumns.slice();let o=null,h=0;for(;h<this.sortColumns.length;h++)if(this.sortColumns[h].columnId===s.id){o=this.sortColumns[h],o.sortAsc=!o.sortAsc;break}const u=!!o;this._options.tristateMultiColumnSort?(o||(o={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s}),u&&o.sortAsc&&(this.sortColumns.splice(h,1),o=null),this._options.multiColumnSort||(this.sortColumns=[]),o&&(!u||!this._options.multiColumnSort)&&this.sortColumns.push(o)):t.metaKey&&this._options.multiColumnSort?o&&this.sortColumns.splice(h,1):((!t.shiftKey&&!t.metaKey||!this._options.multiColumnSort)&&(this.sortColumns=[]),o?this.sortColumns.length===0&&this.sortColumns.push(o):(o={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s},this.sortColumns.push(o)));let c;this._options.multiColumnSort?c={multiColumnSort:!0,previousSortColumns:r,sortCols:this.sortColumns.map(f=>({columnId:this.columns[this.getColumnIndex(f.columnId)].id,sortCol:this.columns[this.getColumnIndex(f.columnId)],sortAsc:f.sortAsc}))}:c={multiColumnSort:!1,previousSortColumns:r,columnId:this.sortColumns.length>0?s.id:null,sortCol:this.sortColumns.length>0?s:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.trigger(this.onBeforeSort,c,t).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.trigger(this.onSort,c,t))}})})}currentPositionInHeader(e){let t=0;return this._headers.forEach(i=>{i.querySelectorAll(".slick-header-column").forEach((n,r)=>{n.id===e&&(t=r)})}),t}remove(e,t){const i=e.lastIndexOf(t);i>-1&&(e.splice(i,1),this.remove(e,t))}setupColumnReorder(){var r,o;(r=this.sortableSideLeftInstance)==null||r.destroy(),(o=this.sortableSideRightInstance)==null||o.destroy();let e=null;const t=()=>this._viewportScrollContainerX.scrollLeft=this._viewportScrollContainerX.scrollLeft+10,i=()=>this._viewportScrollContainerX.scrollLeft=this._viewportScrollContainerX.scrollLeft-10;let s;const n={animation:50,direction:"horizontal",chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),onStart:h=>{s=!this.hasFrozenColumns()||ui(h.item).left>ui(this._viewportScrollContainerX).left,s&&h.originalEvent.pageX>this._container.clientWidth?e||(e=setInterval(t,100)):s&&h.originalEvent.pageX<ui(this._viewportScrollContainerX).left?e||(e=setInterval(i,100)):(clearInterval(e),e=null)},onEnd:h=>{var p,g,v;clearInterval(e),e=null;let u;if(!((p=this.getEditorLock())!=null&&p.commitCurrentEdit()))return;let c=((g=this.sortableSideLeftInstance)==null?void 0:g.toArray())??[];c=c.concat(((v=this.sortableSideRightInstance)==null?void 0:v.toArray())??[]);const f=[];for(let C=0;C<c.length;C++)f.push(this.columns[this.getColumnIndex(c[C])]);this.setColumns(f),this.trigger(this.onColumnsReordered,{impactedColumns:this.getImpactedColumns(u)}),h.stopPropagation(),this.setupColumnResize(),this.activeCellNode&&this.setFocus()}};this.sortableSideLeftInstance=ct.create(this._headerL,n),this.sortableSideRightInstance=ct.create(this._headerR,n)}getHeaderChildren(){const e=Array.from(this._headers[0].children),t=Array.from(this._headers[1].children);return e.concat(t)}getImpactedColumns(e){let t=[];if(e)for(let i=e.start;i<=e.end;i++)t.push(this.columns[i]);else t=this.columns;return t}handleResizeableHandleDoubleClick(e){const t=e.target.parentElement.id.replace(this.uid,"");this.trigger(this.onColumnsResizeDblClick,{triggeredByColumn:t})}setupColumnResize(){if(typeof tf>"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');let e,t,i,s,n,r,o,h=-1,u=0;const c=this.getHeaderChildren();for(let f=0;f<c.length;f++)c[f].querySelectorAll(".slick-resizable-handle").forEach(v=>v.remove()),!(f>=this.columns.length||!this.columns[f]||this.columns[f].hidden)&&this.columns[f].resizable&&(o===void 0&&(o=f),h=f);if(o!==void 0)for(let f=0;f<c.length;f++){const p=c[f];if(f>=this.columns.length||!this.columns[f]||this.columns[f].hidden||f<o||this._options.forceFitColumns&&f>=h)continue;const g=Y("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},p);this._bindingEventService.bind(g,"dblclick",this.handleResizeableHandleDoubleClick.bind(this)),this.slickResizableInstances.push(tf({resizeableElement:p,resizeableHandleElement:g,onResizeStart:(v,C)=>{var F;const w=v.touches?v.changedTouches[0]:v;if(!((F=this.getEditorLock())!=null&&F.commitCurrentEdit()))return!1;s=w.pageX,u=0,C.resizeableElement.classList.add("slick-header-column-active");let y=null,S=null;for(let X=0;X<c.length;X++)X>=this.columns.length||!this.columns[X]||this.columns[X].hidden||(this.columns[X].previousWidth=c[X].offsetWidth);if(this._options.forceFitColumns)for(y=0,S=0,e=f+1;e<this.columns.length;e++)i=this.columns[e],i&&i.resizable&&!i.hidden&&(S!==null&&(i.maxWidth?S+=i.maxWidth-(i.previousWidth||0):S=null),y+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));let O=0,I=0;for(e=0;e<=f;e++)i=this.columns[e],i&&i.resizable&&!i.hidden&&(I!==null&&(i.maxWidth?I+=i.maxWidth-(i.previousWidth||0):I=null),O+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));y===null&&(y=1e5),O===null&&(O=1e5),S===null&&(S=1e5),I===null&&(I=1e5),r=s+Math.min(y,I),n=s-Math.min(O,S)},onResize:(v,C)=>{var K;const w=v.touches?v.changedTouches[0]:v;this.columnResizeDragging=!0;let y;const S=Math.min(r,Math.max(n,w.pageX))-s;let O,I=0,F=0;const X=this.viewportHasVScroll?this.viewportW-(((K=this.scrollbarDimensions)==null?void 0:K.width)??0):this.viewportW;if(S<0){for(O=S,e=f;e>=0;e--)i=this.columns[e],i&&i.resizable&&!i.hidden&&(y=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),O&&(i.previousWidth||0)+O<y?(O+=(i.previousWidth||0)-y,i.width=y):(i.width=(i.previousWidth||0)+O,O=0));for(t=0;t<=f;t++)i=this.columns[t],!(!i||i.hidden)&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O?(O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+O,O=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);else for(e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O?(O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+O,O=0))}else{for(O=S,I=0,F=0,e=f;e>=0;e--)if(i=this.columns[e],!(!i||i.hidden)&&i.resizable)if(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O)O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth;else{const ee=(i.previousWidth||0)+O,Q=this.canvasWidthL+O;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(ee>u&&Q<X-this._options.frozenRightViewportMinWidth&&(u=ee),i.width=Q+this._options.frozenRightViewportMinWidth>X?u:ee):i.width=ee,O=0}for(t=0;t<=f;t++)i=this.columns[t],!(!i||i.hidden)&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(y=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),O&&(i.previousWidth||0)+O<y?(O+=(i.previousWidth||0)-y,i.width=y):(i.width=(i.previousWidth||0)+O,O=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);else for(e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0)}this.hasFrozenColumns()&&I!==this.canvasWidthL&&(ne.width(this._headerL,I+1e3),ne.setStyleSize(this._paneHeaderR,"left",I)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.trigger(this.onColumnsDrag,{triggeredByColumn:C.resizeableElement,resizeHandle:C.resizeableHandleElement})},onResizeEnd:(v,C)=>{C.resizeableElement.classList.remove("slick-header-column-active");const w=C.resizeableElement.id.replace(this.uid,"");this.trigger(this.onBeforeColumnsResize,{triggeredByColumn:w}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let y;for(e=0;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(y=c[e].offsetWidth,i.previousWidth!==y&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.trigger(this.onColumnsResized,{triggeredByColumn:w}),setTimeout(()=>{this.columnResizeDragging=!1},300)}}))}}getVBoxDelta(e){const t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=getComputedStyle(e);let s=0;return t.forEach(n=>s+=ne.toFloat(i[n])),s}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn<this.columns.length?parseInt(this._options.frozenColumn,10):-1,this._options.frozenRow>-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const e=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?e-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneVisibility(){this.hasFrozenColumns()?(ne.show(this._paneHeaderR),ne.show(this._paneTopR),this.hasFrozenRows?(ne.show(this._paneBottomL),ne.show(this._paneBottomR)):(ne.hide(this._paneBottomR),ne.hide(this._paneBottomL))):(ne.hide(this._paneHeaderR),ne.hide(this._paneTopR),ne.hide(this._paneBottomR),this.hasFrozenRows?ne.show(this._paneBottomL):(ne.hide(this._paneBottomR),ne.hide(this._paneBottomL)))}setOverflow(){this._viewportTopL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportTopR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?this.hasFrozenRows?"scroll":"auto":this.hasFrozenRows?"scroll":"auto",this._viewportBottomL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportBottomR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"auto"):(this.hasFrozenRows,"auto"),this._options.viewportClass&&(this._viewportTopL.classList.add(...this._options.viewportClass.split(" ")),this._viewportTopR.classList.add(...this._options.viewportClass.split(" ")),this._viewportBottomL.classList.add(...this._options.viewportClass.split(" ")),this._viewportBottomR.classList.add(...this._options.viewportClass.split(" ")))}setScroller(){this.hasFrozenColumns()?(this._headerScrollContainer=this._headerScrollerR,this._headerRowScrollContainer=this._headerRowScrollerR,this._footerRowScrollContainer=this._footerRowScrollerR,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomR,this._viewportScrollContainerY=this._viewportTopR):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomR:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopR):(this._headerScrollContainer=this._headerScrollerL,this._headerRowScrollContainer=this._headerRowScrollerL,this._footerRowScrollContainer=this._footerRowScrollerL,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomL,this._viewportScrollContainerY=this._viewportTopL):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomL:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopL)}measureCellPaddingAndBorder(){const e=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let s=Y("div",{className:"ui-state-default slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),n=getComputedStyle(s);n.boxSizing!=="border-box"&&(e.forEach(o=>this.headerColumnWidthDiff+=ne.toFloat(n[o])),t.forEach(o=>this.headerColumnHeightDiff+=ne.toFloat(n[o]))),s.remove();const r=Y("div",{className:"slick-row"},this._canvas[0]);s=Y("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},r),n=getComputedStyle(s),n.boxSizing!=="border-box"&&(e.forEach(o=>this.cellWidthDiff+=ne.toFloat(n[o])),t.forEach(o=>this.cellHeightDiff+=ne.toFloat(n[o]))),r.remove(),this.absoluteColumnMinWidth=Math.max(this.headerColumnWidthDiff,this.cellWidthDiff)}createCssRules(){this._style=document.createElement("style"),this._style.nonce=this._options.nonce||"",(this._options.shadowRoot||document.head).appendChild(this._style);const e=this._options.rowHeight-this.cellHeightDiff,t=[`.${this.uid} .slick-group-header-column { left: 1000px; }`,`.${this.uid} .slick-header-column { left: 1000px; }`,`.${this.uid} .slick-top-panel { height: ${this._options.topPanelHeight}px; }`,`.${this.uid} .slick-preheader-panel { height: ${this._options.preHeaderPanelHeight}px; }`,`.${this.uid} .slick-headerrow-columns { height: ${this._options.headerRowHeight}px; }`,`.${this.uid} .slick-footerrow-columns { height: ${this._options.footerRowHeight}px; }`,`.${this.uid} .slick-cell { height: ${e}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],i=this._style.sheet;if(i){for(const s of t)i.insertRule(s);for(let s=0;s<this.columns.length;s++)!this.columns[s]||this.columns[s].hidden||(i.insertRule(`.${this.uid} .l${s} { }`),i.insertRule(`.${this.uid} .r${s} { }`))}else this.createCssRulesAlternative(t)}createCssRulesAlternative(e){const t=document.createElement("template");t.innerHTML='<style type="text/css" rel="stylesheet" />',this._style=t.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let i=0;i<this.columns.length;i++)!this.columns[i]||this.columns[i].hidden||(e.push(`.${this.uid} .l${i} { }`),e.push(`.${this.uid} .r${i} { }`));this._style.styleSheet?this._style.styleSheet.cssText=e.join(" "):this._style.appendChild(document.createTextNode(e.join(" ")))}getColumnCssRules(e){let t;if(!this.stylesheet){const i=(this._options.shadowRoot||document).styleSheets;for(this._options.devMode&&typeof this._options.devMode.ownerNodeIndex=="number"&&this._options.devMode.ownerNodeIndex>=0&&(i[this._options.devMode.ownerNodeIndex].ownerNode=this._style),t=0;t<i.length;t++){const o=i[t];if((o.ownerNode||o.owningElement)===this._style){this.stylesheet=o;break}}if(!this.stylesheet)throw new Error("SlickGrid Cannot find stylesheet.");this.columnCssRulesL=[],this.columnCssRulesR=[];const s=this.stylesheet.cssRules||this.stylesheet.rules;let n,r;for(t=0;t<s.length;t++){const o=s[t].selectorText;(n=/\.l\d+/.exec(o))?(r=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesL[r]=s[t]):(n=/\.r\d+/.exec(o))&&(r=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesR[r]=s[t])}}return{left:this.columnCssRulesL[e],right:this.columnCssRulesR[e]}}removeCssRules(){var e;(e=this._style)==null||e.remove(),this.stylesheet=null}destroy(e){var n,r,o,h;this._bindingEventService.unbindAll(),this.slickDraggableInstance=this.destroyAllInstances(this.slickDraggableInstance),this.slickMouseWheelInstances=this.destroyAllInstances(this.slickMouseWheelInstances),this.slickResizableInstances=this.destroyAllInstances(this.slickResizableInstances),(n=this.getEditorLock())==null||n.cancelCurrentEdit(),this.trigger(this.onBeforeDestroy,{});let t=this.plugins.length;for(;t--;)this.unregisterPlugin(this.plugins[t]);this._options.enableColumnReorder&&typeof((r=this.sortableSideLeftInstance)==null?void 0:r.destroy)=="function"&&((o=this.sortableSideLeftInstance)==null||o.destroy(),(h=this.sortableSideRightInstance)==null||h.destroy()),this.unbindAncestorScrollEvents(),this._bindingEventService.unbindByEventName(this._container,"resize"),this.removeCssRules(),this._canvas.forEach(u=>{this._bindingEventService.unbindByEventName(u,"keydown"),this._bindingEventService.unbindByEventName(u,"click"),this._bindingEventService.unbindByEventName(u,"dblclick"),this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"mouseover"),this._bindingEventService.unbindByEventName(u,"mouseout")}),this._viewport.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._headerScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"click")}),this._headerRowScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._footerRow&&this._footerRow.forEach(u=>{this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const i=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(i,u=>{this._bindingEventService.unbindByEventName(u,"dblclick")});const s=this._container.querySelectorAll(".slick-header-column");[].forEach.call(s,u=>{this._bindingEventService.unbindByEventName(u,"mouseenter"),this._bindingEventService.unbindByEventName(u,"mouseleave"),this._bindingEventService.unbindByEventName(u,"mouseenter"),this._bindingEventService.unbindByEventName(u,"mouseleave")}),Pt(this._container),this._container.classList.remove(this.uid),e&&this.destroyAllElements()}destroyAllInstances(e){if(e){const t=Array.isArray(e)?e:[e];let i;for(;jt(i=t.pop());)i&&typeof i.destroy=="function"&&i.destroy()}return e=Array.isArray(e)?[]:null,e}destroyAllElements(){this._activeCanvasNode=null,this._activeViewportNode=null,this._boundAncestors=null,this._canvas=null,this._canvasTopL=null,this._canvasTopR=null,this._canvasBottomL=null,this._canvasBottomR=null,this._container=null,this._focusSink=null,this._focusSink2=null,this._groupHeaders=null,this._groupHeadersL=null,this._groupHeadersR=null,this._headerL=null,this._headerR=null,this._headers=null,this._headerRows=null,this._headerRowL=null,this._headerRowR=null,this._headerRowSpacerL=null,this._headerRowSpacerR=null,this._headerRowScrollContainer=null,this._headerRowScroller=null,this._headerRowScrollerL=null,this._headerRowScrollerR=null,this._headerScrollContainer=null,this._headerScroller=null,this._headerScrollerL=null,this._headerScrollerR=null,this._hiddenParents=null,this._footerRow=null,this._footerRowL=null,this._footerRowR=null,this._footerRowSpacerL=null,this._footerRowSpacerR=null,this._footerRowScroller=null,this._footerRowScrollerL=null,this._footerRowScrollerR=null,this._footerRowScrollContainer=null,this._preHeaderPanel=null,this._preHeaderPanelR=null,this._preHeaderPanelScroller=null,this._preHeaderPanelScrollerR=null,this._preHeaderPanelSpacer=null,this._preHeaderPanelSpacerR=null,this._topPanels=null,this._topPanelScrollers=null,this._style=null,this._topPanelScrollerL=null,this._topPanelScrollerR=null,this._topPanelL=null,this._topPanelR=null,this._paneHeaderL=null,this._paneHeaderR=null,this._paneTopL=null,this._paneTopR=null,this._paneBottomL=null,this._paneBottomR=null,this._viewport=null,this._viewportTopL=null,this._viewportTopR=null,this._viewportBottomL=null,this._viewportBottomR=null,this._viewportScrollContainerX=null,this._viewportScrollContainerY=null}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){var u;let e,t,i=0,s=0,n=0;const r=[],o=this.viewportHasVScroll?this.viewportW-(((u=this.scrollbarDimensions)==null?void 0:u.width)??0):this.viewportW;for(e=0;e<this.columns.length;e++)t=this.columns[e],!(!t||t.hidden)&&(r.push(t.width||0),s+=t.width||0,t.resizable&&(i+=(t.width||0)-Math.max(t.minWidth||0,this.absoluteColumnMinWidth)));for(n=s;s>o&&i;){const c=(s-o)/i;for(e=0;e<this.columns.length&&s>o;e++){if(t=this.columns[e],!t||t.hidden)continue;const f=r[e];if(!t.resizable||f<=t.minWidth||f<=this.absoluteColumnMinWidth)continue;const p=Math.max(t.minWidth,this.absoluteColumnMinWidth);let g=Math.floor(c*(f-p))||1;g=Math.min(g,f-p),s-=g,i-=g,r[e]-=g}if(n<=s)break;n=s}for(n=s;s<o;){const c=o/s;for(e=0;e<this.columns.length&&s<o;e++){if(t=this.columns[e],!t||t.hidden)continue;const f=r[e];let p;!t.resizable||t.maxWidth<=f?p=0:p=Math.min(Math.floor(c*f)-f,t.maxWidth-f||1e6)||1,s+=p,r[e]+=s<=o?p:0}if(n>=s)break;n=s}let h=!1;for(e=0;e<this.columns.length;e++)!t||t.hidden||(this.columns[e].rerenderOnResize&&this.columns[e].width!==r[e]&&(h=!0),this.columns[e].width=r[e]);this.reRenderColumns(h)}reRenderColumns(e){this.applyColumnHeaderWidths(),this.updateCanvasWidth(!0),this.trigger(this.onAutosizeColumns,{columns:this.columns}),e&&(this.invalidateAllRows(),this.render())}getVisibleColumns(){return this.columns.filter(e=>!e.hidden)}trigger(e,t,i){const s=i||new li(i,t),n=t||{};return n.grid=this,e.notify(n,s,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(e){return this.columnsById[e]}applyColumnHeaderWidths(){if(!this.initialized)return;let e=0;const t=this.getVisibleColumns();this._headers.forEach(i=>{for(let s=0;s<i.children.length;s++,e++){const n=i.children[s],o=((t[e]||{}).width||0)-this.headerColumnWidthDiff;ne.width(n)!==o&&ne.width(n,o)}}),this.updateColumnCaches()}applyColumnWidths(){var s;let e=0,t=0,i;for(let n=0;n<this.columns.length;n++)(s=this.columns[n])!=null&&s.hidden||(t=this.columns[n].width||0,i=this.getColumnCssRules(n),i.left.style.left=`${e}px`,i.right.style.right=(this._options.frozenColumn!==-1&&n>this._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-e-t+"px",this._options.frozenColumn!==n&&(e+=this.columns[n].width)),this._options.frozenColumn===n&&(e=0)}setSortColumn(e,t){this.setSortColumns([{columnId:e,sortAsc:t}])}getColumnByIndex(e){let t;return this._headers.every(i=>{const s=i.children.length;return e<s?(t=i.children[e],!1):(e-=s,!0)}),t}setSortColumns(e){this.sortColumns=e;const t=this._options.numberedMultiColumnSort&&this.sortColumns.length>1;this._headers.forEach(s=>{let n=s.querySelectorAll(".slick-header-column-sorted");n.forEach(r=>{r.classList.remove("slick-header-column-sorted")}),n=s.querySelectorAll(".slick-sort-indicator"),n.forEach(r=>{r.classList.remove("slick-sort-indicator-asc"),r.classList.remove("slick-sort-indicator-desc")}),n=s.querySelectorAll(".slick-sort-indicator-numbered"),n.forEach(r=>{r.textContent=""})});let i=1;this.sortColumns.forEach(s=>{jt(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(jt(n)){const r=this.getColumnByIndex(n);if(r){r.classList.add("slick-header-column-sorted");let o=r.querySelector(".slick-sort-indicator");o==null||o.classList.add(s.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),t&&(o=r.querySelector(".slick-sort-indicator-numbered"),o&&(o.textContent=String(i)))}}i++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(e,t){var r;const i=e.getNativeEvent(),s=this.selectedRows.slice(0);this.selectedRows=[];const n={};for(let o=0;o<t.length;o++)for(let h=t[o].fromRow;h<=t[o].toRow;h++){n[h]||(this.selectedRows.push(h),n[h]={});for(let u=t[o].fromCell;u<=t[o].toCell;u++)this.canCellBeSelected(h,u)&&(n[h][this.columns[u].id]=this._options.selectedCellCssClass)}if(this.setCellCssStyles(this._options.selectedCellCssClass||"",n),this.simpleArrayEquals(s,this.selectedRows)){const o=((r=i==null?void 0:i.detail)==null?void 0:r.caller)??"click",h=this.getSelectedRows().filter(c=>s.indexOf(c)<0),u=s.filter(c=>this.getSelectedRows().indexOf(c)<0);this.trigger(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:o,changedSelectedRows:h,changedUnselectedRows:u},e)}}simpleArrayEquals(e,t){return Array.isArray(e)&&Array.isArray(t)&&t.sort().toString()!==e.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let e=0;for(let t=0,i=this.columns.length;t<i;t++)!this.columns[t]||this.columns[t].hidden||(this.columnPosLeft[t]=e,this.columnPosRight[t]=e+(this.columns[t].width||0),this._options.frozenColumn===t?e=0:e+=this.columns[t].width||0)}updateColumnProps(){this.columnsById={};for(let e=0;e<this.columns.length;e++){let t=this.columns[e];t.width&&(t.widthRequest=t.width),this._options.mixinDefaults?ne.applyDefaults(t,this._columnDefaults):t=this.columns[e]=ne.extend({},this._columnDefaults,t),this.columnsById[t.id]=e,t.minWidth&&(t.width||0)<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&(t.width||0)>t.maxWidth&&(t.width=t.maxWidth)}}setColumns(e){this.trigger(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:e,grid:this}),this.columns=e,this.updateColumnsInternal()}updateColumns(){this.trigger(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var e;this.updateColumnProps(),this.updateColumnCaches(),this.initialized&&(this.setPaneVisibility(),this.setOverflow(),this.invalidateAllRows(),this.createColumnHeaders(),this.createColumnFooter(),this.removeCssRules(),this.createCssRules(),this.resizeCanvas(),this.updateCanvasWidth(),this.applyColumnWidths(),this.handleScroll(),(e=this.getSelectionModel())==null||e.refreshSelections())}getOptions(){return this._options}setOptions(e,t,i,s){this.prepareForOptionsChange(),this._options.enableAddRow!==e.enableAddRow&&this.invalidateRow(this.getDataLength()),e.frozenColumn&&(this.getViewports().forEach(r=>r.scrollLeft=0),this.handleScroll());const n=ne.extend(!0,{},this._options);this._options=ne.extend(this._options,e),this.trigger(this.onSetOptions,{optionsBefore:n,optionsAfter:this._options}),this.internal_setOptions(t,i,s)}activateChangedOptions(e,t,i){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.trigger(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(e,t,i)}prepareForOptionsChange(){this.getEditorLock().commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(e,t,i){this._options.showColumnHeader!==void 0&&this.setColumnHeaderVisibility(this._options.showColumnHeader),this.validateAndEnforceOptions(),this.setFrozenOptions(),this._options.frozenBottom!==void 0&&(this.enforceFrozenRowHeightRecalc=!0),this._viewport.forEach(s=>{s.style.overflowY=this._options.autoHeight?"hidden":"auto"}),e||this.render(),this.setScroller(),i||this.setOverflow(),t||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(s=>{this.slickMouseWheelInstances.push(ef({element:s,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(e,t){this.data=e,this.invalidateAllRows(),this.updateRowCount(),t&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var e;return this.data.getLength?this.data.getLength():((e=this.data)==null?void 0:e.length)??0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(e){return this.data.getItem?this.data.getItem(e):this.data[e]}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(e,t,i){this._options[e]!==i&&(this._options[e]=i,i?(ne.show(t),this.resizeCanvas()):(ne.hide(t),this.resizeCanvas()))}setTopPanelVisibility(e){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,e)}setHeaderRowVisibility(e){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,e)}setColumnHeaderVisibility(e){this.togglePanelVisibility("showColumnHeader",this._headerScroller,e)}setFooterRowVisibility(e){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,e)}setPreHeaderPanelVisibility(e){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],e)}getContainerNode(){return this._container}getRowTop(e){return this._options.rowHeight*e-this.offset}getRowFromPosition(e){return Math.floor((e+this.offset)/this._options.rowHeight)}scrollTo(e){var s;e=Math.max(e,0),e=Math.min(e,(this.th||0)-ne.height(this._viewportScrollContainerY)+(this.viewportHasHScroll||this.hasFrozenColumns()?((s=this.scrollbarDimensions)==null?void 0:s.height)??0:0));const t=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(e/(this.ph||0)));const i=e-this.offset;if(this.offset!==t){const n=this.getVisibleRange(i);this.cleanupRows(n),this.updateRowPositions()}this.prevScrollTop!==i&&(this.vScrollDir=this.prevScrollTop+t<i+this.offset?1:-1,this.lastRenderedScrollTop=this.scrollTop=this.prevScrollTop=i,this.hasFrozenColumns()&&(this._viewportTopL.scrollTop=i),this.hasFrozenRows&&(this._viewportBottomL.scrollTop=this._viewportBottomR.scrollTop=i),this._viewportScrollContainerY&&(this._viewportScrollContainerY.scrollTop=i),this.trigger(this.onViewportChanged,{}))}defaultFormatter(e,t,i){return jt(i)?(i+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}getFormatter(e,t){var n,r,o;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e),s=(i==null?void 0:i.columns)&&(i.columns[t.id]||i.columns[this.getColumnIndex(t.id)]);return(s==null?void 0:s.formatter)||(i==null?void 0:i.formatter)||t.formatter||((o=this._options.formatterFactory)==null?void 0:o.getFormatter(t))||this._options.defaultFormatter}getEditor(e,t){var r,o,h,u,c,f;const i=this.columns[t],s=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,e),n=s==null?void 0:s.columns;return((h=n==null?void 0:n[i.id])==null?void 0:h.editor)!==void 0?n[i.id].editor:((u=n==null?void 0:n[t])==null?void 0:u.editor)!==void 0?n[t].editor:i.editor||((f=(c=this._options)==null?void 0:c.editorFactory)==null?void 0:f.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){var C,w;const r=this.getDataItem(i),o=i<n&&!r;let h="slick-row"+(this.hasFrozenRows&&i<=this._options.frozenRow?" frozen":"")+(o?" loading":"")+(i===this.activeRow&&this._options.showCellSelection?" active":"")+(i%2===1?" odd":" even");r||(h+=" "+this._options.addNewRowCssClass);const u=(w=(C=this.data)==null?void 0:C.getItemMetadata)==null?void 0:w.call(C,i);u!=null&&u.cssClasses&&(h+=" "+u.cssClasses);const c=this.getFrozenRowOffset(i),f=Y("div",{className:`ui-widget-content ${h}`,style:{top:`${this.getRowTop(i)-c}px`}});let p;e.push(f),this.hasFrozenColumns()&&(p=f.cloneNode(!0),t.push(p));let g,v;for(let y=0,S=this.columns.length;y<S;y++)if(v=this.columns[y],!(!v||v.hidden)){if(g=1,u!=null&&u.columns){const O=u.columns[v.id]||u.columns[y];g=(O==null?void 0:O.colspan)||1,g==="*"&&(g=S-y)}if(this.columnPosRight[Math.min(S-1,y+g-1)]>s.leftPx){if(!v.alwaysRenderColumn&&this.columnPosLeft[y]>s.rightPx)break;this.hasFrozenColumns()&&y>this._options.frozenColumn?this.appendCellHtml(p,i,y,g,r):this.appendCellHtml(f,i,y,g,r)}else(v.alwaysRenderColumn||this.hasFrozenColumns()&&y<=this._options.frozenColumn)&&this.appendCellHtml(f,i,y,g,r);g>1&&(y+=g-1)}}appendCellHtml(e,t,i,s,n){var C;const r=this.columns[i];let o="slick-cell l"+i+" r"+Math.min(this.columns.length-1,i+s-1)+(r.cssClass?" "+r.cssClass:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(o+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(o+=" active");for(const w in this.cellCssClasses)(C=this.cellCssClasses[w][t])!=null&&C[r.id]&&(o+=" "+this.cellCssClasses[w][t][r.id]);let h=null,u="";n&&(h=this.getDataItemValueForColumn(n,r),u=this.getFormatter(t,r)(t,i,h,r,n,this),u==null&&(u=""));const f=this.trigger(this.onBeforeAppendCell,{row:t,cell:i,value:h,dataContext:n}).getReturnValue();let p=typeof f=="string"?f:"";u!=null&&u.addClasses&&(p+=(p?" ":"")+u.addClasses);const g=u!=null&&u.toolTip?`${u.toolTip}`:"",v=document.createElement("div");if(v.className=`${o} ${p||""}`.trim(),v.setAttribute("title",g),r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object)for(const w in r.cellAttrs)r.cellAttrs.hasOwnProperty(w)&&v.setAttribute(w,r.cellAttrs[w]);if(n){const w=Mr(u)?u:u.html||u.text;this.applyHtmlCode(v,w)}e.appendChild(v),u.insertElementAfterTarget&&Xu(v,u.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){for(const t in this.rowsCache)if(this.rowsCache){let i=+t,s=!0;this.hasFrozenRows&&(this._options.frozenBottom&&i>=this.actualFrozenRow||!this._options.frozenBottom&&i<=this.actualFrozenRow)&&(s=!1),(i=parseInt(t,10))!==this.activeRow&&(i<e.top||i>e.bottom)&&s&&this.removeRowFromCache(i)}this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal();for(const e in this.rowsCache)this.rowsCache&&this.removeRowFromCache(+e);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(e){if(!e||!e.length)return;this.vScrollDir=0;const t=e.length;for(let i=0;i<t;i++)this.currentEditor&&this.activeRow===e[i]&&this.makeActiveCellNormal(),this.rowsCache[e[i]]&&this.removeRowFromCache(e[i]);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRow(e){!e&&e!==0||this.invalidateRows([e])}queuePostProcessedRowForCleanup(e,t,i){var s;this.postProcessgroupId++;for(const n in t)t.hasOwnProperty(n)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e.cellNodesByColumnIdx[+n],columnIdx:+n,rowIdx:i});e.rowNode||(e.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:e.rowNode}),(s=e.rowNode)==null||s.forEach(n=>n.remove())}queuePostProcessedCellForCleanup(e,t,i){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e,columnIdx:t,rowIdx:i}),e.remove()}removeRowFromCache(e){var i;const t=this.rowsCache[e];!t||!t.rowNode||(this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[e]?this.queuePostProcessedRowForCleanup(t,this.postProcessedRows[e],e):(i=t.rowNode)==null||i.forEach(s=>{var n;return(n=s.parentElement)==null?void 0:n.removeChild(s)}),delete this.rowsCache[e],delete this.postProcessedRows[e],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(e,t,i){if(e==null&&(e=""),Mr(e)){this.applyHtmlCode(t,e);return}const s=e.html||e.text;this.applyHtmlCode(t,s),e.removeClasses&&!i&&e.removeClasses.split(" ").forEach(r=>t.classList.remove(r)),e.addClasses&&e.addClasses.split(" ").forEach(r=>t.classList.add(r)),e.toolTip&&t.setAttribute("title",e.toolTip)}updateCell(e,t){const i=this.getCellNode(e,t);if(!i)return;const s=this.columns[t],n=this.getDataItem(e);if(this.currentEditor&&this.activeRow===e&&this.activeCell===t)this.currentEditor.loadValue(n);else{const r=n?this.getFormatter(e,s)(e,t,this.getDataItemValueForColumn(n,s),s,n,this):"";this.applyFormatResultToCellNode(r,i),this.invalidatePostProcessingResults(e)}}updateRow(e){const t=this.rowsCache[e];if(!t)return;this.ensureCellNodesInRowsCache(e);let i;const s=this.getDataItem(e);for(const n in t.cellNodesByColumnIdx){if(!t.cellNodesByColumnIdx.hasOwnProperty(n))continue;const r=+n,o=this.columns[r],h=t.cellNodesByColumnIdx[r];e===this.activeRow&&r===this.activeCell&&this.currentEditor?this.currentEditor.loadValue(s):s?(i=this.getFormatter(e,o)(e,r,this.getDataItemValueForColumn(s,o),o,s,this),this.applyFormatResultToCellNode(i,h)):Pt(h)}this.invalidatePostProcessingResults(e)}getViewportRowCount(){var i;const e=this.getViewportHeight(),t=((i=this.getScrollbarDimensions())==null?void 0:i.height)??0;return Math.floor((e-t)/this._options.rowHeight)}getViewportHeight(){var e;if((!this._options.autoHeight||this._options.frozenColumn!==-1)&&(this.topPanelH=this._options.showTopPanel?this._options.topPanelHeight+this.getVBoxDelta(this._topPanelScrollers[0]):0,this.headerRowH=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,this.footerRowH=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0),this._options.autoHeight){let t=this._paneHeaderL.offsetHeight;t+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,t+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,t+=this.getCanvasWidth()>this.viewportW?((e=this.scrollbarDimensions)==null?void 0:e.height)??0:0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?t:0)}else{const t=this._options.showColumnHeader?ne.toFloat(ne.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,i=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,s=getComputedStyle(this._container);this.viewportH=ne.toFloat(s.height)-ne.toFloat(s.paddingTop)-ne.toFloat(s.paddingBottom)-t-this.topPanelH-this.headerRowH-this.footerRowH-i}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportWidth(){return this.viewportW=parseFloat(Pa(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var t,i,s;if(!this.initialized)return;if(this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.getViewportWidth(),this.getViewportHeight(),this.hasFrozenRows?this._options.frozenBottom?(this.paneTopH=this.viewportH-this.frozenRowsHeight-(((t=this.scrollbarDimensions)==null?void 0:t.height)??0),this.paneBottomH=this.frozenRowsHeight+(((i=this.scrollbarDimensions)==null?void 0:i.height)??0)):(this.paneTopH=this.frozenRowsHeight,this.paneBottomH=this.viewportH-this.frozenRowsHeight):this.paneTopH=this.viewportH,this.paneTopH+=this.topPanelH+this.headerRowH+this.footerRowH,this.hasFrozenColumns()&&this._options.autoHeight&&(this.paneTopH+=((s=this.scrollbarDimensions)==null?void 0:s.height)??0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const n=getComputedStyle(this._headerScrollerL);ne.height(this._container,this.paneTopH+ne.toFloat(n.height))}this._paneTopL.style.position="relative"}ne.setStyleSize(this._paneTopL,"top",ne.height(this._paneHeaderL)||(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0)),ne.height(this._paneTopL,this.paneTopH);const e=this._paneTopL.offsetTop+this.paneTopH;this._options.autoHeight||ne.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()?(ne.setStyleSize(this._paneTopR,"top",ne.height(this._paneHeaderL)),ne.height(this._paneTopR,this.paneTopH),ne.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(ne.setStyleSize(this._paneBottomL,"top",e),ne.height(this._paneBottomL,this.paneBottomH),ne.setStyleSize(this._paneBottomR,"top",e),ne.height(this._paneBottomR,this.paneBottomH),ne.height(this._viewportBottomR,this.paneBottomH))):this.hasFrozenRows&&(ne.width(this._paneBottomL,"100%"),ne.height(this._paneBottomL,this.paneBottomH),ne.setStyleSize(this._paneBottomL,"top",e)),this.hasFrozenRows?(ne.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(ne.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&ne.height(this._canvasBottomR,this.frozenRowsHeight)):(ne.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&ne.height(this._canvasTopR,this.frozenRowsHeight))):ne.height(this._viewportTopR,this.viewportTopH),(!this.scrollbarDimensions||!this.scrollbarDimensions.width)&&(this.scrollbarDimensions=this.measureScrollbar()),this._options.forceFitColumns&&this.legacyAutosizeColumns(),this.updateRowCount(),this.handleScroll(),this.lastRenderedScrollLeft=-1,this.render()}updatePagingStatusFromView(e){this.pagingActive=e.pageSize!==0,this.pagingIsLastPage=e.pageNum===e.totalPages-1}updateRowCount(){var u,c;if(!this.initialized)return;const e=this.getDataLength(),t=this.getDataLengthIncludingAddNew();let i=0,s=this.hasFrozenRows&&!this._options.frozenBottom?ne.height(this._canvasBottomL):ne.height(this._canvasTopL);this.hasFrozenRows?i=this.getDataLength()-this._options.frozenRow:i=t+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const n=ne.height(this._viewportScrollContainerY),r=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&i*this._options.rowHeight>n,this.makeActiveCellNormal();const o=e-1;for(const f in this.rowsCache)Number(f)>o&&this.removeRowFromCache(+f);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>o&&this.resetActiveCell(),s=this.h,this._options.autoHeight?this.h=this._options.rowHeight*i:(this.th=Math.max(this._options.rowHeight*i,n-(((u=this.scrollbarDimensions)==null?void 0:u.height)??0)),this.th<this.maxSupportedCssHeight?(this.h=this.ph=this.th,this.n=1,this.cj=0):(this.h=this.maxSupportedCssHeight,this.ph=this.h/100,this.n=Math.floor(this.th/this.ph),this.cj=(this.th-this.h)/(this.n-1))),(this.h!==s||this.enforceFrozenRowHeightRecalc)&&(this.hasFrozenRows&&!this._options.frozenBottom?(ne.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&ne.height(this._canvasBottomR,this.h)):(ne.height(this._canvasTopL,this.h),ne.height(this._canvasTopR,this.h)),this.scrollTop=this._viewportScrollContainerY.scrollTop,this.enforceFrozenRowHeightRecalc=!1);const h=this.scrollTop+this.offset<=this.th-n;this.th===0||this.scrollTop===0?this.page=this.offset=0:h?this.scrollTo(this.scrollTop+this.offset):this.scrollTo(this.th-n+(((c=this.scrollbarDimensions)==null?void 0:c.height)??0)),this.h!==s&&this._options.autoHeight&&this.resizeCanvas(),this._options.forceFitColumns&&r!==this.viewportHasVScroll&&this.legacyAutosizeColumns(),this.updateCanvasWidth(!1)}getViewport(e,t){return this.getVisibleRange(e,t)}getVisibleRange(e,t){return e??(e=this.scrollTop),t??(t=this.scrollLeft),{top:this.getRowFromPosition(e),bottom:this.getRowFromPosition(e+this.viewportH)+1,leftPx:t,rightPx:t+this.viewportW}}getRenderedRange(e,t){const i=this.getVisibleRange(e,t),s=Math.round(this.viewportH/this._options.rowHeight),n=this._options.minRowBuffer;return this.vScrollDir===-1?(i.top-=s,i.bottom+=n):this.vScrollDir===1?(i.top-=n,i.bottom+=s):(i.top-=n,i.bottom+=n),i.top=Math.max(0,i.top),i.bottom=Math.min(this.getDataLengthIncludingAddNew()-1,i.bottom),i.leftPx-=this.viewportW,i.rightPx+=this.viewportW,i.leftPx=Math.max(0,i.leftPx),i.rightPx=Math.min(this.canvasWidth,i.rightPx),i}ensureCellNodesInRowsCache(e){var i;const t=this.rowsCache[e];if(t!=null&&t.cellRenderQueue.length&&((i=t.rowNode)!=null&&i.length)){const s=t.rowNode;let n=Array.from(s[0].children);s.length>1&&(n=n.concat(Array.from(s[1].children)));let r=n.length-1;for(;t.cellRenderQueue.length;){const o=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[o]=n[r--]}}}cleanUpCells(e,t){var o,h;if(this.hasFrozenRows&&(this._options.frozenBottom&&t>this.actualFrozenRow||t<=this.actualFrozenRow))return;const i=this.rowsCache[t],s=[];for(const u in i.cellNodesByColumnIdx){if(!i.cellNodesByColumnIdx.hasOwnProperty(u))continue;const c=+u;if(c<=this._options.frozenColumn||Array.isArray(this.columns)&&this.columns[c]&&this.columns[c].alwaysRenderColumn)continue;const f=i.cellColSpans[c];(this.columnPosLeft[c]>e.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(c||0)+f-1)]<e.leftPx)&&(t===this.activeRow&&Number(c)===this.activeCell||s.push(c))}let n,r;for(;jt(n=s.pop());)r=i.cellNodesByColumnIdx[n],this._options.enableAsyncPostRenderCleanup&&((o=this.postProcessedRows[t])!=null&&o[n])?this.queuePostProcessedCellForCleanup(r,n,t):(h=r.parentElement)==null||h.removeChild(r),delete i.cellColSpans[n],delete i.cellNodesByColumnIdx[n],this.postProcessedRows[t]&&delete this.postProcessedRows[t][n]}cleanUpAndRenderCells(e){var u,c;let t;const i=document.createElement("div"),s=[];let n,r;for(let f=e.top,p=e.bottom;f<=p;f++){if(t=this.rowsCache[f],!t)continue;this.ensureCellNodesInRowsCache(f),this.cleanUpCells(e,f),n=0;let g=((c=(u=this.data)==null?void 0:u.getItemMetadata)==null?void 0:c.call(u,f))??{};g=g==null?void 0:g.columns;const v=this.getDataItem(f);for(let C=0,w=this.columns.length;C<w;C++){if(!this.columns[C]||this.columns[C].hidden)continue;if(this.columnPosLeft[C]>e.rightPx)break;if(jt(r=t.cellColSpans[C])){C+=r>1?r-1:0;continue}if(r=1,g){const S=g[this.columns[C].id]||g[C];r=(S==null?void 0:S.colspan)??1,r==="*"&&(r=w-C)}const y=r;this.columnPosRight[Math.min(w-1,C+y-1)]>e.leftPx&&(this.appendCellHtml(i,f,C,y,v),n++),C+=y>1?y-1:0}n&&s.push(f)}if(!i.children.length)return;let o,h;for(;jt(o=s.pop());){t=this.rowsCache[o];let f;for(;jt(f=t.cellRenderQueue.pop());)h=i.lastChild,h&&(this.hasFrozenColumns()&&f>this._options.frozenColumn?t.rowNode[1].appendChild(h):t.rowNode[0].appendChild(h),t.cellNodesByColumnIdx[f]=h)}}renderRows(e){var u,c,f,p;const t=[],i=[],s=[];let n=!1;const r=this.getDataLength();for(let g=e.top,v=e.bottom;g<=v;g++)this.rowsCache[g]||this.hasFrozenRows&&this._options.frozenBottom&&g===this.getDataLength()||(this.renderedRows++,s.push(g),this.rowsCache[g]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(t,i,g,e,r),this.activeCellNode&&this.activeRow===g&&(n=!0),this.counter_rows_rendered++);if(!s.length)return;const o=document.createElement("div"),h=document.createElement("div");t.forEach(g=>o.appendChild(g)),i.forEach(g=>h.appendChild(g));for(let g=0,v=s.length;g<v;g++)this.hasFrozenRows&&s[g]>=this.actualFrozenRow?this.hasFrozenColumns()?(u=this.rowsCache)!=null&&u.hasOwnProperty(s[g])&&o.firstChild&&h.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild,h.firstChild],this._canvasBottomL.appendChild(o.firstChild),this._canvasBottomR.appendChild(h.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(s[g])&&o.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild],this._canvasBottomL.appendChild(o.firstChild)):this.hasFrozenColumns()?(f=this.rowsCache)!=null&&f.hasOwnProperty(s[g])&&o.firstChild&&h.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild,h.firstChild],this._canvasTopL.appendChild(o.firstChild),this._canvasTopR.appendChild(h.firstChild)):(p=this.rowsCache)!=null&&p.hasOwnProperty(s[g])&&o.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild],this._canvasTopL.appendChild(o.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}startPostProcessing(){this._options.enableAsyncPostRender&&(clearTimeout(this.h_postrender),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay))}invalidatePostProcessingResults(e){for(const t in this.postProcessedRows[e])this.postProcessedRows[e].hasOwnProperty(t)&&(this.postProcessedRows[e][t]="C");this.postProcessFromRow=Math.min(this.postProcessFromRow,e),this.postProcessToRow=Math.max(this.postProcessToRow,e),this.startPostProcessing()}updateRowPositions(){for(const e in this.rowsCache)if(this.rowsCache){const t=e?parseInt(e,10):0;ne.setStyleSize(this.rowsCache[t].rowNode[0],"top",this.getRowTop(t))}}render(){if(!this.initialized)return;this.scrollThrottle.dequeue();const e=this.getVisibleRange(),t=this.getRenderedRange();if(this.cleanupRows(t),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const i=ne.extend(!0,{},t);this._options.frozenBottom?(i.top=this.actualFrozenRow,i.bottom=this.getDataLength()):(i.top=0,i.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(i)}this.cleanUpAndRenderCells(t)}this.renderRows(t),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:t.leftPx,rightPx:t.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:t.leftPx,rightPx:t.rightPx})),this.postProcessFromRow=e.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,e.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.h_render=null,this.trigger(this.onRendered,{startRow:e.top,endRow:e.bottom,grid:this})}handleHeaderRowScroll(){const e=this._headerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleFooterRowScroll(){const e=this._footerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleElementScroll(e){const t=e.scrollLeft;t!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=t)}handleScroll(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(e){let t=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,i=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;t=Math.max(0,t),i=Math.max(0,i),this.scrollTop>t&&(this.scrollTop=t),this.scrollLeft>i&&(this.scrollLeft=i);const s=Math.abs(this.scrollTop-this.prevScrollTop),n=Math.abs(this.scrollLeft-this.prevScrollLeft);if(n&&(this.prevScrollLeft=this.scrollLeft,this._viewportScrollContainerX.scrollLeft=this.scrollLeft,this._headerScrollContainer.scrollLeft=this.scrollLeft,this._topPanelScrollers[0].scrollLeft=this.scrollLeft,this._options.createFooterRow&&(this._footerRowScrollContainer.scrollLeft=this.scrollLeft),this._options.createPreHeaderPanel&&(this.hasFrozenColumns()?this._preHeaderPanelScrollerR.scrollLeft=this.scrollLeft:this._preHeaderPanelScroller.scrollLeft=this.scrollLeft),this.hasFrozenColumns()?(this.hasFrozenRows&&(this._viewportTopR.scrollLeft=this.scrollLeft),this._headerRowScrollerR.scrollLeft=this.scrollLeft):(this.hasFrozenRows&&(this._viewportTopL.scrollLeft=this.scrollLeft),this._headerRowScrollerL.scrollLeft=this.scrollLeft)),s&&!this._options.autoHeight)if(this.vScrollDir=this.prevScrollTop<this.scrollTop?1:-1,this.prevScrollTop=this.scrollTop,e&&(this._viewportScrollContainerY.scrollTop=this.scrollTop),this.hasFrozenColumns()&&(this.hasFrozenRows&&!this._options.frozenBottom?this._viewportBottomL.scrollTop=this.scrollTop:this._viewportTopL.scrollTop=this.scrollTop),s<this.viewportH)this.scrollTo(this.scrollTop+this.offset);else{const r=this.offset;this.h===this.viewportH?this.page=0:this.page=Math.min(this.n-1,Math.floor(this.scrollTop*((this.th-this.viewportH)/(this.h-this.viewportH))*(1/this.ph))),this.offset=Math.round(this.page*this.cj),r!==this.offset&&this.invalidateAllRows()}if(n||s){const r=Math.abs(this.lastRenderedScrollLeft-this.scrollLeft),o=Math.abs(this.lastRenderedScrollTop-this.scrollTop);(r>20||o>20)&&(this._options.forceSyncScrolling||o<this.viewportH&&r<this.viewportW?this.render():this.scrollThrottle.enqueue(),this.trigger(this.onViewportChanged,{}))}return this.trigger(this.onScroll,{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}),!!(n||s)}actionThrottle(e,t){let i=!1,s=!1;const n=()=>{i?s=!0:o()},r=()=>{s=!1},o=()=>{i=!0,setTimeout(h,t),e.call(this)},h=()=>{s?(r(),o()):i=!1};return{enqueue:n.bind(this),dequeue:r.bind(this)}}asyncPostProcessRows(){const e=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const t=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,i=this.rowsCache[t];if(!(!i||t>=e)){this.postProcessedRows[t]||(this.postProcessedRows[t]={}),this.ensureCellNodesInRowsCache(t);for(const s in i.cellNodesByColumnIdx){if(!i.cellNodesByColumnIdx.hasOwnProperty(s))continue;const n=+s,r=this.columns[n],o=this.postProcessedRows[t][n];if(r.asyncPostRender&&o!=="R"){const h=i.cellNodesByColumnIdx[n];h&&r.asyncPostRender(h,t,this.getDataItem(t),r,o==="C"),this.postProcessedRows[t][n]="R"}}this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const e=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===e;){const t=this.postProcessedCleanupQueue.shift();if((t==null?void 0:t.actionType)==="R"&&t.node.forEach(i=>{i.remove()}),(t==null?void 0:t.actionType)==="C"){const i=this.columns[t.columnIdx];i.asyncPostRenderCleanup&&t.node&&i.asyncPostRenderCleanup(t.node,t.rowIdx,i)}}this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(e,t){let i,s,n,r;for(const o in this.rowsCache)if(this.rowsCache){if(r=t==null?void 0:t[o],n=e==null?void 0:e[o],r)for(s in r)(!n||r[s]!==n[s])&&(i=this.getCellNode(+o,this.getColumnIndex(s)),i&&i.classList.remove(r[s]));if(n)for(s in n)(!r||r[s]!==n[s])&&(i=this.getCellNode(+o,this.getColumnIndex(s)),i&&i.classList.add(n[s]))}}addCellCssStyles(e,t){if(this.cellCssClasses[e])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${e}" already exists.`);this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,null),this.trigger(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}removeCellCssStyles(e){this.cellCssClasses[e]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[e]),delete this.cellCssClasses[e],this.trigger(this.onCellCssStylesChanged,{key:e,hash:null,grid:this}))}setCellCssStyles(e,t){const i=this.cellCssClasses[e];this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,i),this.trigger(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}getCellCssStyles(e){return this.cellCssClasses[e]}flashCell(e,t,i){i=i||250;const s=(n,r)=>{r<1||setTimeout(()=>{r%2===0?n.classList.add(this._options.cellFlashingCssClass||""):n.classList.remove(this._options.cellFlashingCssClass||""),s(n,r-1)},i)};if(this.rowsCache[e]){const n=this.getCellNode(e,t);n&&s(n,5)}}handleMouseWheel(e,t,i,s){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10,this._handleScroll(!0)&&e.preventDefault()}handleDragInit(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.trigger(this.onDragInit,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDragStart(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.trigger(this.onDragStart,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDrag(e,t){return this.trigger(this.onDrag,t,e).getReturnValue()}handleDragEnd(e,t){this.trigger(this.onDragEnd,t,e)}handleKeyDown(e){var s,n,r,o;let i=this.trigger(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},e).isImmediatePropagationStopped();if(!i&&!e.shiftKey&&!e.altKey){if(this._options.editable&&((s=this.currentEditor)!=null&&s.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(String(e.which))>-1)return;e.key==="Home"?i=e.ctrlKey?this.navigateTop():this.navigateRowStart():e.key==="End"&&(i=e.ctrlKey?this.navigateBottom():this.navigateRowEnd())}if(!i)if(!e.shiftKey&&!e.altKey&&!e.ctrlKey){if(this._options.editable&&((n=this.currentEditor)!=null&&n.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(String(e.which))>-1)return;if(e.key==="Escape"){if(!((r=this.getEditorLock())!=null&&r.isActive()))return;this.cancelEditAndSetFocus()}else e.key==="PageDown"?(this.navigatePageDown(),i=!0):e.key==="PageUp"?(this.navigatePageUp(),i=!0):e.key==="ArrowLeft"?i=this.navigateLeft():e.key==="ArrowRight"?i=this.navigateRight():e.key==="ArrowUp"?i=this.navigateUp():e.key==="ArrowDown"?i=this.navigateDown():e.key==="Tab"?i=this.navigateNext():e.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(o=this.getEditorLock())!=null&&o.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,e)),i=!0)}else e.key==="Tab"&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&(i=this.navigatePrev());i&&(e.stopPropagation(),e.preventDefault())}handleClick(e){var s,n,r;const t=e instanceof li?e.getNativeEvent():e;if(!this.currentEditor&&(t.target!==document.activeElement||t.target.classList.contains("slick-cell"))){const o=this.getTextSelection();this.setFocus(),this.setTextSelection(o)}const i=this.getCellFromEvent(t);if(!(!i||this.currentEditor!==null&&this.activeRow===i.row&&this.activeCell===i.cell)&&(e=this.trigger(this.onClick,{row:i.row,cell:i.cell},e||t),!e.isImmediatePropagationStopped()&&this.canCellBeActive(i.row,i.cell)&&(!((s=this.getEditorLock())!=null&&s.isActive())||(n=this.getEditorLock())!=null&&n.commitCurrentEdit()))){this.scrollRowIntoView(i.row,!1);const o=((r=t.target)==null?void 0:r.className)===Ug,h=this.columns[i.cell],u=!!(this._options.editable&&(h!=null&&h.editor)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(i.row,i.cell),null,o,u,t)}}handleContextMenu(e){const t=e.target.closest(".slick-cell");t&&(this.activeCellNode===t&&this.currentEditor!==null||this.trigger(this.onContextMenu,{},e))}handleDblClick(e){const t=this.getCellFromEvent(e);!t||this.currentEditor!==null&&this.activeRow===t.row&&this.activeCell===t.cell||(this.trigger(this.onDblClick,{row:t.row,cell:t.cell},e),!e.defaultPrevented&&this._options.editable&&this.gotoCell(t.row,t.cell,!0,e))}handleHeaderMouseEnter(e){const t=ne.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.trigger(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=ne.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.trigger(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=ne.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.trigger(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=ne.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.trigger(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderContextMenu(e){const t=e.target.closest(".slick-header-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onHeaderContextMenu,{column:i},e)}handleHeaderClick(e){if(this.columnResizeDragging)return;const t=e.target.closest(".slick-header-column"),i=t&&ne.storage.get(t,"column");i&&this.trigger(this.onHeaderClick,{column:i},e)}handleFooterContextMenu(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onFooterClick,{column:i},e)}handleCellMouseOver(e){this.trigger(this.onMouseEnter,{},e)}handleCellMouseOut(e){this.trigger(this.onMouseLeave,{},e)}cellExists(e,t){return!(e<0||e>=this.getDataLength()||t<0||t>=this.columns.length)}getCellFromPoint(e,t){const i=this.getRowFromPosition(t);let s=0,n=0;for(let r=0;r<this.columns.length&&n<e;r++)!this.columns[r]||this.columns[r].hidden||(n+=this.columns[r].width,s++);return s<0&&(s=0),{row:i,cell:s-1}}getCellFromNode(e){const t=/l\d+/.exec(e.className);if(!t)throw new Error(`SlickGrid getCellFromNode: cannot get cell - ${e.className}`);return parseInt(t[0].substr(1,t[0].length-1),10)}getRowFromNode(e){var t;for(const i in this.rowsCache)if(this.rowsCache){for(const s in this.rowsCache[i].rowNode)if(((t=this.rowsCache[i].rowNode)==null?void 0:t[+s])===e)return i?parseInt(i,10):0}return null}getFrozenRowOffset(e){let t=0;return this.hasFrozenRows?this._options.frozenBottom?e>=this.actualFrozenRow?this.h<this.viewportTopH?t=this.actualFrozenRow*this._options.rowHeight:t=this.h:t=0:e>=this.actualFrozenRow?t=this.frozenRowsHeight:t=0:t=0,t}getCellFromEvent(e){const t=e instanceof li?e.getNativeEvent():e,i=t.touches?t.touches[0]:t,s=t.target.closest(".slick-cell");if(!s)return null;let n=this.getRowFromNode(s.parentNode);if(this.hasFrozenRows){let o=0;const h=ui(ne.parents(s,".grid-canvas")[0]);ne.parents(s,".grid-canvas-bottom").length&&(o=this._options.frozenBottom?ne.height(this._canvasTopL):this.frozenRowsHeight),n=this.getCellFromPoint(i.clientX-h.left,i.clientY-h.top+o+document.documentElement.scrollTop).row}const r=this.getCellFromNode(s);return!jt(n)||!jt(r)?null:{row:n,cell:r}}getCellNodeBox(e,t){var h;if(!this.cellExists(e,t))return null;const i=this.getFrozenRowOffset(e),s=this.getRowTop(e)-i,n=s+this._options.rowHeight-1;let r=0;for(let u=0;u<t;u++)!this.columns[u]||this.columns[u].hidden||(r+=this.columns[u].width||0,this._options.frozenColumn===u&&(r=0));const o=r+(((h=this.columns[t])==null?void 0:h.width)||0);return{top:s,left:r,bottom:n,right:o}}resetActiveCell(){this.setActiveCellInternal(null,!1)}focus(){this.setFocus()}setFocus(){this.tabbingDirection===-1?this._focusSink.focus():this._focusSink2.focus()}scrollCellIntoView(e,t,i){if(this.scrollRowIntoView(e,i),t<=this._options.frozenColumn)return;const s=this.getColspan(e,t);this.internalScrollColumnIntoView(this.columnPosLeft[t],this.columnPosRight[t+(s>1?s-1:0)])}internalScrollColumnIntoView(e,t){var s;const i=this.scrollLeft+ne.width(this._viewportScrollContainerX)-(this.viewportHasVScroll?((s=this.scrollbarDimensions)==null?void 0:s.width)??0:0);e<this.scrollLeft?(this._viewportScrollContainerX.scrollLeft=e,this.handleScroll(),this.render()):t>i&&(this._viewportScrollContainerX.scrollLeft=Math.min(e,t-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(e){this.internalScrollColumnIntoView(this.columnPosLeft[e],this.columnPosRight[e])}setActiveCellInternal(e,t,i,s,n){var r,o,h,u;if(jt(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(o=(r=this.rowsCache[this.activeRow])==null?void 0:r.rowNode)==null||o.forEach(c=>c.classList.remove("active"))),this.activeCellNode=e,jt(this.activeCellNode)){const c=ui(this.activeCellNode);let f=Math.floor(ui(ne.parents(this.activeCellNode,".grid-canvas")[0]).top);const p=ne.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&p&&(f-=this._options.frozenBottom?ne.height(this._canvasTopL):this.frozenRowsHeight);const g=this.getCellFromPoint(c.left,Math.ceil(c.top)-f);this.activeRow=g.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!jt(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(u=(h=this.rowsCache[this.activeRow])==null?void 0:h.rowNode)==null||u.forEach(v=>v.classList.add("active"))),this._options.editable&&t&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(clearTimeout(this.h_editorLoader),this._options.asyncEditorLoading?this.h_editorLoader=setTimeout(()=>{this.makeActiveCellEditable(void 0,i,n)},this._options.asyncEditorLoadDelay):this.makeActiveCellEditable(void 0,i,n))}else this.activeRow=this.activeCell=null;s||this.trigger(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var e;if((e=document.selection)!=null&&e.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const t=window.getSelection();t!=null&&t.removeAllRanges&&t.removeAllRanges()}}isCellPotentiallyEditable(e,t){const i=this.getDataLength();return!(e<i&&!this.getDataItem(e)||this.columns[t].cannotTriggerInsert&&e>=i||!this.columns[t]||this.columns[t].hidden||!this.getEditor(e,t))}makeActiveCellNormal(e=!1){var t;if(this.currentEditor){if(this.trigger(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const i=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),i){const s=this.columns[this.activeCell],r=this.getFormatter(this.activeRow,s)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(i,s),s,i,this);this.applyFormatResultToCellNode(r,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}e&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(t=this.getEditorLock())==null||t.deactivate(this.editController)}}editActiveCell(e,t,i){this.makeActiveCellEditable(e,t,i)}makeActiveCellEditable(e,t,i){var u,c,f,p,g,v;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when this._options.editable is false");if(clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const s=this.columns[this.activeCell],n=this.getDataItem(this.activeRow);if(this.trigger(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:n,column:s,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(u=this.getEditorLock())==null||u.activate(this.editController),this.activeCellNode.classList.add("editable");const r=e||this.getEditor(this.activeRow,this.activeCell);!e&&!r.suppressClearOnEdit&&Pt(this.activeCellNode);let o=(f=(c=this.data)==null?void 0:c.getItemMetadata)==null?void 0:f.call(c,this.activeRow);o=o==null?void 0:o.columns;const h=o&&(o[s.id]||o[this.activeCell]);this.currentEditor=new r({grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:h,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)}),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&((p=this.currentEditor)!=null&&p.preClick)&&this.currentEditor.preClick()),this.serializedEditorValue=(g=this.currentEditor)==null?void 0:g.serializeValue(),(v=this.currentEditor)!=null&&v.position&&this.handleActiveCellPositionChange()}commitEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&this.navigateDown())}cancelEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.cancelCurrentEdit()&&this.setFocus()}absBox(e){const t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:e.offsetWidth,height:e.offsetWidth,visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;let i=e.offsetParent;for(;(e=e.parentNode)!==document.body&&!(!e||!e.parentNode);){const s=getComputedStyle(e);t.visible&&e.scrollHeight!==e.offsetHeight&&s.overflowY!=="visible"&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!==e.offsetWidth&&s.overflowX!=="visible"&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===i&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,i=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width}return t}getActiveCellPosition(){return this.absBox(this.activeCellNode)}getGridPosition(){return this.absBox(this._container)}handleActiveCellPositionChange(){if(this.activeCellNode&&(this.trigger(this.onActiveCellPositionChanged,{}),this.currentEditor)){const e=this.getActiveCellPosition();this.currentEditor.show&&this.currentEditor.hide&&(e.visible?this.currentEditor.show():this.currentEditor.hide()),this.currentEditor.position&&this.currentEditor.position(e)}}getCellEditor(){return this.currentEditor}getActiveCell(){return this.activeCellNode?{row:this.activeRow,cell:this.activeCell}:null}getActiveCellNode(){return this.activeCellNode}getTextSelection(){let e=null;if(window.getSelection){const t=window.getSelection();((t==null?void 0:t.rangeCount)??0)>0&&(e=t.getRangeAt(0))}return e}setTextSelection(e){if(window.getSelection&&e){const t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}}scrollRowIntoView(e,t){var i;if(!this.hasFrozenRows||!this._options.frozenBottom&&e>this.actualFrozenRow-1||this._options.frozenBottom&&e<this.actualFrozenRow-1){const s=ne.height(this._viewportScrollContainerY),n=this.hasFrozenRows&&!this._options.frozenBottom?e-this._options.frozenRow:e,r=n*this._options.rowHeight,o=(n+1)*this._options.rowHeight-s+(this.viewportHasHScroll?((i=this.scrollbarDimensions)==null?void 0:i.height)??0:0);(n+1)*this._options.rowHeight>this.scrollTop+s+this.offset?(this.scrollTo(t?r:o),this.render()):n*this._options.rowHeight<this.scrollTop+this.offset&&(this.scrollTo(t?o:r),this.render())}}scrollRowToTop(e){this.scrollTo(e*this._options.rowHeight),this.render()}scrollPage(e){const t=e*this.numVisibleRows,i=this.scrollTop+this._options.rowHeight-1;if(this.scrollTo((this.getRowFromPosition(i)+t)*this._options.rowHeight),this.render(),this._options.enableCellNavigation&&jt(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);let r=0,o=null;const h=this.activePosX;for(;r<=this.activePosX;)this.canCellBeActive(s,r)&&(o=r),r+=this.getColspan(s,r);o!==null?(this.setActiveCellInternal(this.getCellNode(s,o)),this.activePosX=h):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){this.navigateToRow(this.getDataLength()-1)}navigateToRow(e){const t=this.getDataLength();if(!t)return!0;if(e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0),this._options.enableCellNavigation&&jt(this.activeRow)){let i=0,s=null;const n=this.activePosX;for(;i<=this.activePosX;)this.canCellBeActive(e,i)&&(s=i),i+=this.getColspan(e,i);s!==null?(this.setActiveCellInternal(this.getCellNode(e,s)),this.activePosX=n):this.resetActiveCell()}return!0}getColspan(e,t){var r,o;const i=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,e);if(!i||!i.columns)return 1;const s=i.columns[this.columns[t].id]||i.columns[t];let n=s==null?void 0:s.colspan;return n==="*"?n=this.columns.length-t:n=n||1,n}findFirstFocusableCell(e){let t=0;for(;t<this.columns.length;){if(this.canCellBeActive(e,t))return t;t+=this.getColspan(e,t)}return null}findLastFocusableCell(e){let t=0,i=null;for(;t<this.columns.length;)this.canCellBeActive(e,t)&&(i=t),t+=this.getColspan(e,t);return i}gotoRight(e,t,i){if(t>=this.columns.length)return null;do t+=this.getColspan(e,t);while(t<this.columns.length&&!this.canCellBeActive(e,t));return t<this.columns.length?{row:e,cell:t,posX:t}:null}gotoLeft(e,t,i){if(t<=0)return null;const s=this.findFirstFocusableCell(e);if(s===null||s>=t)return null;let n={row:e,cell:s,posX:s},r;for(;;){if(r=this.gotoRight(n.row,n.cell,n.posX),!r)return null;if(r.cell>=t)return n;n=r}}gotoDown(e,t,i){let s;const n=this.getDataLengthIncludingAddNew();for(;;){if(++e>=n)return null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return{row:e,cell:s,posX:i}}}gotoUp(e,t,i){let s;for(;;){if(--e<0)return null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return{row:e,cell:s,posX:i}}}gotoNext(e,t,i){if(!jt(e)&&!jt(t)&&(e=t=i=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};const s=this.gotoRight(e,t,i);if(s)return s;let n=null;const r=this.getDataLengthIncludingAddNew();for(e===r-1&&e--;++e<r;)if(n=this.findFirstFocusableCell(e),n!==null)return{row:e,cell:n,posX:n};return null}gotoPrev(e,t,i){if(!jt(e)&&!jt(t)&&(e=this.getDataLengthIncludingAddNew()-1,t=i=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};let s,n;for(;!s&&(s=this.gotoLeft(e,t,i),!s);){if(--e<0)return null;t=0,n=this.findLastFocusableCell(e),n!==null&&(s={row:e,cell:n,posX:n})}return s}gotoRowStart(e,t,i){const s=this.findFirstFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}gotoRowEnd(e,t,i){const s=this.findLastFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}navigateRight(){return this.navigate("right")}navigateLeft(){return this.navigate("left")}navigateDown(){return this.navigate("down")}navigateUp(){return this.navigate("up")}navigateNext(){return this.navigate("next")}navigatePrev(){return this.navigate("prev")}navigateRowStart(){return this.navigate("home")}navigateRowEnd(){return this.navigate("end")}navigate(e){var r;if(!this._options.enableCellNavigation||!this.activeCellNode&&e!=="prev"&&e!=="next")return!1;if(!((r=this.getEditorLock())!=null&&r.commitCurrentEdit()))return!0;this.setFocus();const t={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1};this.tabbingDirection=t[e];const n={up:this.gotoUp,down:this.gotoDown,left:this.gotoLeft,right:this.gotoRight,prev:this.gotoPrev,next:this.gotoNext,home:this.gotoRowStart,end:this.gotoRowEnd}[e].call(this,this.activeRow,this.activeCell,this.activePosX);if(n){if(this.hasFrozenRows&&this._options.frozenBottom&&n.row===this.getDataLength())return;const o=n.row===this.getDataLength();return(!this._options.frozenBottom&&n.row>=this.actualFrozenRow||this._options.frozenBottom&&n.row<this.actualFrozenRow)&&this.scrollCellIntoView(n.row,n.cell,!o&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(n.row,n.cell)),this.activePosX=n.posX,!0}else return this.setActiveCellInternal(this.getCellNode(this.activeRow,this.activeCell)),!1}getCellNode(e,t){if(this.rowsCache[e]){this.ensureCellNodesInRowsCache(e);try{return this.rowsCache[e].cellNodesByColumnIdx.length>t?this.rowsCache[e].cellNodesByColumnIdx[t]:null}catch{return this.rowsCache[e].cellNodesByColumnIdx[t]}}return null}setActiveCell(e,t,i,s,n){this.initialized&&(e>this.getDataLength()||e<0||t>=this.columns.length||t<0||this._options.enableCellNavigation&&(this.scrollCellIntoView(e,t,!1),this.setActiveCellInternal(this.getCellNode(e,t),i,s,n)))}setActiveRow(e,t,i){this.initialized&&(e>this.getDataLength()||e<0||(t??0)>=this.columns.length||(t??0)<0||(this.activeRow=e,i||this.scrollCellIntoView(e,t||0,!1)))}canCellBeActive(e,t){var n,r,o,h;if(!this._options.enableCellNavigation||e>=this.getDataLengthIncludingAddNew()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e);if((i==null?void 0:i.focusable)!==void 0)return!!i.focusable;const s=i==null?void 0:i.columns;return((o=s==null?void 0:s[this.columns[t].id])==null?void 0:o.focusable)!==void 0?!!s[this.columns[t].id].focusable:((h=s==null?void 0:s[t])==null?void 0:h.focusable)!==void 0?!!s[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){var n,r;if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e);if((i==null?void 0:i.selectable)!==void 0)return!!i.selectable;const s=(i==null?void 0:i.columns)&&(i.columns[this.columns[t].id]||i.columns[t]);return(s==null?void 0:s.selectable)!==void 0?!!s.selectable:!!this.columns[t].selectable}gotoCell(e,t,i,s){var h;if(!this.initialized||!this.canCellBeActive(e,t)||!((h=this.getEditorLock())!=null&&h.commitCurrentEdit()))return;this.scrollCellIntoView(e,t,!1);const n=this.getCellNode(e,t),r=this.columns[t],o=!!(this._options.editable&&(r!=null&&r.editor)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(n,i||e===this.getDataLength()||this._options.autoEdit,null,o,s),this.currentEditor||this.setFocus()}commitCurrentEdit(){var s;const e=this,t=e.getDataItem(e.activeRow),i=e.columns[e.activeCell];if(e.currentEditor){if(e.currentEditor.isValueChanged()){const n=e.currentEditor.validate();if(n.valid){const r=e.activeRow,o=e.activeCell,h=e.currentEditor,u=e.currentEditor.serializeValue(),c=e.serializedEditorValue;if(e.activeRow<e.getDataLength()){const f={row:r,cell:o,editor:h,serializedValue:u,prevSerializedValue:c,execute:()=>{h.applyValue(t,u),e.updateRow(r),e.trigger(e.onCellChange,{command:"execute",row:r,cell:o,item:t,column:i})},undo:()=>{h.applyValue(t,c),e.updateRow(r),e.trigger(e.onCellChange,{command:"undo",row:r,cell:o,item:t,column:i})}};e._options.editCommandHandler?(e.makeActiveCellNormal(!0),e._options.editCommandHandler(t,i,f)):(f.execute(),e.makeActiveCellNormal(!0))}else{const f={};e.currentEditor.applyValue(f,e.currentEditor.serializeValue()),e.makeActiveCellNormal(!0),e.trigger(e.onAddNewRow,{item:f,column:i})}return!((s=e.getEditorLock())!=null&&s.isActive())}else return e.activeCellNode&&(e.activeCellNode.classList.remove("invalid"),ne.width(e.activeCellNode),e.activeCellNode.classList.add("invalid")),e.trigger(e.onValidationError,{editor:e.currentEditor,cellNode:e.activeCellNode,validationResults:n,row:e.activeRow,cell:e.activeCell,column:i}),e.currentEditor.focus(),!1}e.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(e){const t=[],i=this.columns.length-1;for(let s=0;s<e.length;s++)t.push(new Ts(e[s],0,e[s],i));return t}getSelectedRows(){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");return this.selectedRows.slice(0)}setSelectedRows(e,t){var i;if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");this&&this.getEditorLock&&!((i=this.getEditorLock())!=null&&i.isActive())&&this.selectionModel.setSelectedRanges(this.rowsToRanges(e),t||"SlickGrid.setSelectedRows")}sanitizeHtmlString(e){return!this._options.sanitizer||typeof e!="string"?e:this._options.sanitizer(e)}}class v_{constructor(e){this.pluginName="AutoTooltips",this._defaults={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:void 0,replaceExisting:!0},this._eventHandler=new hi,this._addonOptions=e}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e){this._addonOptions={...this._defaults,...this.addonOptions},this._grid=e,this._addonOptions.enableForCells&&this._eventHandler.subscribe(this._grid.onMouseEnter,this.handleMouseEnter.bind(this)),this._addonOptions.enableForHeaderCells&&this._eventHandler.subscribe(this._grid.onHeaderMouseEnter,this.handleHeaderMouseEnter.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}handleMouseEnter(e){var i,s,n,r;const t=this._grid.getCellFromEvent(e);if(t){let o=this._grid.getCellNode(t.row,t.cell),h;this._addonOptions&&o&&(!o.title||(i=this._addonOptions)!=null&&i.replaceExisting)&&(o.clientWidth<o.scrollWidth?(h=((s=o.textContent)==null?void 0:s.trim())??"",(n=this._addonOptions)!=null&&n.maxToolTipLength&&h.length>((r=this._addonOptions)==null?void 0:r.maxToolTipLength)&&(h=h.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):h="",o.title=h),o=null}}handleHeaderMouseEnter(e,t){const i=t.column;let s;const n=e.target;if(n&&(s=n.closest(".slick-header-column"),s&&!(i!=null&&i.toolTip))){const r=n.clientWidth<s.clientWidth?(i==null?void 0:i.name)??"":"";s.title=r instanceof HTMLElement?vi(r.innerHTML):r}s=null}}class C_{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new hi,this._bindingEventService=new Pi}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get commandQueue(){return this._commandQueue}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get undoRedoBuffer(){return this._undoRedoBuffer}init(e,t){this._grid=e,this.createUndoRedoBuffer(),this._cellSelectionModel=new S_,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new y_,this._cellExternalCopyManagerPlugin.init(this._grid,this._addonOptions),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(i,s)})}dispose(){var e,t;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(e=this._cellSelectionModel)==null||e.dispose(),(t=this._cellExternalCopyManagerPlugin)==null||t.dispose()}createUndoRedoBuffer(){let e=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:t=>{this._commandQueue[e]=t,e++,t.execute()},undo:()=>{if(e===0)return;e--;const t=this._commandQueue[e];t&&ja.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&ja.cancelCurrentEdit()&&t.execute()}}}getDefaultOptions(){let e=0;return{clipboardCommandHandler:t=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,t)},dataItemColumnValueExtractor:(t,i)=>{var s,n;if(!this.gridOptions.editable||!i.editor){const r=i.exportWithFormatter!==void 0?i.exportWithFormatter:(s=this.gridOptions.textExportOptions)==null?void 0:s.exportWithFormatter;if(i.formatter&&r){const o=i.formatter(0,0,t[i.field],i,t,this._grid),h=Mr(o)?o:o.html||o.text;if(i.sanitizeDataExport||(n=this.gridOptions.textExportOptions)!=null&&n.sanitizeDataExport){const u=h instanceof HTMLElement?h.innerHTML:h;return vi(u??"")}return o}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:t=>{for(let i=0;i<t;i++)this._grid.getData().addItem({id:`newRow_${e++}`})}}}handleBodyKeyDown(e){e.key==="Z"&&(e.ctrlKey||e.metaKey)&&(e.shiftKey?this._undoRedoBuffer.redo():this._undoRedoBuffer.undo())}}const b_=2e3,sf=100;class y_{constructor(){this.pluginName="CellExternalCopyManager",this.onCopyCells=new $e,this.onCopyCancelled=new $e,this.onPasteCells=new $e,this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this._eventHandler=new hi}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e,t){this._grid=e,this._addonOptions={...this._addonOptions,...t},this._copiedCellStyleLayerKey=this._addonOptions.copiedCellStyleLayerKey||"copy-manager",this._copiedCellStyle=this._addonOptions.copiedCellStyle||"copied",this._bodyElement=this._addonOptions.bodyElement||document.body,this._onCopyInit=this._addonOptions.onCopyInit||void 0,this._onCopySuccess=this._addonOptions.onCopySuccess||void 0,this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const i=e.getSelectionModel();if(!i)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new SlickCellSelectionModel())");this._eventHandler.subscribe(i.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()})}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=this._addonOptions.headerColumnValueExtractor(e);if(t)return t instanceof HTMLElement?vi(t.innerHTML):t}return e.name instanceof HTMLElement?vi(e.name.innerHTML):e.name}getDataItemValueForColumn(e,t,i){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const n=this._addonOptions.dataItemColumnValueExtractor(e,t);if(n)return n instanceof HTMLElement?vi(n.innerHTML):n}let s="";if(t)if(t.editor){const n=document.createElement("p"),r=new t.editor({container:n,column:t,event:i,position:{top:0,left:0},grid:this._grid});r.loadValue(e),s=r.serializeValue(),r.destroy(),n.remove()}else s=e[t.field||""];return s}setDataItemValueForColumn(e,t,i){if(!(t!=null&&t.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter)return this._addonOptions.dataItemColumnValueSetter(e,t,i);if(t.editor){const s=document.createElement("div"),n=new t.editor({container:s,column:t,position:{top:0,left:0},grid:this._grid});n.loadValue(e),n.applyValue(e,i),n.destroy(),s.remove()}else e[t.field]=i}}setIncludeHeaderWhenCopying(e){this._addonOptions.includeHeaderWhenCopying=e}createTextBox(e){const t=Y("textarea",{value:e,style:{position:"absolute",left:"-1000px",top:`${document.body.scrollTop}px`}},this._bodyElement);return t.select(),t}decodeTabularData(e,t){var I;const i=e.getColumns(),n=t.value.split(/[\n\f\r]/);n[n.length-1]===""&&n.pop();let r=0;const o=[];this._bodyElement.removeChild(t);for(const F of n)o[r++]=F!==""?F.split(" "):[""];const h=this._grid.getActiveCell(),u=(I=this._grid.getSelectionModel())==null?void 0:I.getSelectedRanges(),c=u!=null&&u.length?u[0]:null;let f,p;if(c)f=c.fromRow,p=c.fromCell;else if(h)f=h.row,p=h.cell;else return;let g=!1,v=o.length,C=o.length?o[0].length:0;o.length===1&&o[0].length===1&&c&&(g=!0,v=c.toRow-c.fromRow+1,C=c.toCell-c.fromCell+1);const w=this._grid.getData().length-f;let y=0;if(w<v&&typeof this._addonOptions.newRowCreator=="function"){const F=this._grid.getData();for(y=1;y<=v-w;y++)F.push({});this._grid.setData(F),this._grid.render()}if(f+v>this._grid.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const F=f+v-this._grid.getDataLength();this._addonOptions.newRowCreator(F)}const O={isClipboardCommand:!0,clippedRange:o,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:g,activeRow:f,activeCell:p,destH:v,destW:C,maxDestY:this._grid.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var X;O.h=0;for(let K=0;K<O.destH;K++){O.oldValues[K]=[],O.w=0,O.h++;for(let ee=0;ee<O.destW;ee++){O.w++;const Q=f+K,te=p+ee;if(Q<O.maxDestY&&te<O.maxDestX){const me=this._grid.getDataItem(Q);O.oldValues[K][ee]=me[i[te].field],g?this.setDataItemValueForColumn(me,i[te],o[0][0]):this.setDataItemValueForColumn(me,i[te],o[K]?o[K][ee]:""),this._grid.updateCell(Q,te),this._grid.onCellChange.notify({row:Q,cell:te,item:me,grid:this._grid,column:{}})}}}const F=new Ts(f,p,f+O.h-1,p+O.w-1);this.markCopySelection([F]),(X=this._grid.getSelectionModel())==null||X.setSelectedRanges([F]),this.onPasteCells.notify({ranges:[F]})},undo:()=>{var X;for(let K=0;K<O.destH;K++)for(let ee=0;ee<O.destW;ee++){const Q=f+K,te=p+ee;if(Q<O.maxDestY&&te<O.maxDestX){const me=this._grid.getDataItem(Q);g?this.setDataItemValueForColumn(me,i[te],O.oldValues[0][0]):this.setDataItemValueForColumn(me,i[te],O.oldValues[K][ee]),this._grid.updateCell(Q,te),this._grid.onCellChange.notify({row:Q,cell:te,item:me,grid:this._grid,column:{}})}}const F=new Ts(f,p,f+O.h-1,p+O.w-1);if(this.markCopySelection([F]),(X=this._grid.getSelectionModel())==null||X.setSelectedRanges([F]),this.onPasteCells.notify({ranges:[F]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new li,{ranges:[F]}),y>1){const K=this._grid.getData();for(;y>1;y--)K.splice(K.length-1,1);this._grid.setData(K),this._grid.render()}}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(O):O.execute()}handleKeyDown(e){var i,s,n;let t;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(e.key==="Escape"&&this._copiedRanges&&(e.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(e,{ranges:this._copiedRanges}),this._copiedRanges=null),(e.key==="c"||e.key==="Insert")&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),t=((i=this._grid.getSelectionModel())==null?void 0:i.getSelectedRanges())??[],t.length!==0)){this._copiedRanges=t,this.markCopySelection(t),this.onCopyCells.notify({ranges:t}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(e,{ranges:t});const r=this._grid.getColumns();let o="";for(let h=0;h<t.length;h++){const u=t[h],c=[];for(let f=u.fromRow;f<u.toRow+1;f++){const p=[],g=this._grid.getDataItem(f);if(c.length===0&&this._addonOptions.includeHeaderWhenCopying){const v=[];for(let C=u.fromCell;C<u.toCell+1;C++)(r[C].name instanceof HTMLElement?vi(r[C].name.innerHTML):r[C].name).length>0&&!r[C].hidden&&v.push(this.getHeaderValueForColumn(r[C]));c.push(v.join(" "))}for(let v=u.fromCell;v<u.toCell+1;v++)(r[v].name instanceof HTMLElement?vi(r[v].name.innerHTML):r[v].name).length>0&&!r[v].hidden&&p.push(this.getDataItemValueForColumn(g,r[v],e));c.push(p.join(" "))}o+=c.join(`\r
16
+ */function Ic(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(a);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable})),t.push.apply(t,i)}return t}function un(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ic(Object(t),!0).forEach(function(i){$g(a,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):Ic(Object(t)).forEach(function(i){Object.defineProperty(a,i,Object.getOwnPropertyDescriptor(t,i))})}return a}function Xa(a){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Xa=function(e){return typeof e}:Xa=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xa(a)}function $g(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Rn(){return Rn=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},Rn.apply(this,arguments)}function Yg(a,e){if(a==null)return{};var t={},i=Object.keys(a),s,n;for(n=0;n<i.length;n++)s=i[n],!(e.indexOf(s)>=0)&&(t[s]=a[s]);return t}function jg(a,e){if(a==null)return{};var t=Yg(a,e),i,s;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(a,i)&&(t[i]=a[i])}return t}var Xg="1.15.1";function In(a){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(a)}var kn=In(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Vo=In(/Edge/i),kc=In(/firefox/i),Wo=In(/safari/i)&&!In(/chrome/i)&&!In(/android/i),Dc=In(/iP(ad|od|hone)/i),Fc=In(/chrome/i)&&In(/android/i),Pc={capture:!1,passive:!1};function Kt(a,e,t){a.addEventListener(e,t,!kn&&Pc)}function $t(a,e,t){a.removeEventListener(e,t,!kn&&Pc)}function Ka(a,e){if(e){if(e[0]===">"&&(e=e.substring(1)),a)try{if(a.matches)return a.matches(e);if(a.msMatchesSelector)return a.msMatchesSelector(e);if(a.webkitMatchesSelector)return a.webkitMatchesSelector(e)}catch{return!1}return!1}}function Kg(a){return a.host&&a!==document&&a.host.nodeType?a.host:a.parentNode}function cn(a,e,t,i){if(a){t=t||document;do{if(e!=null&&(e[0]===">"?a.parentNode===t&&Ka(a,e):Ka(a,e))||i&&a===t)return a;if(a===t)break}while(a=Kg(a))}return null}var Nc=/\s+/g;function xs(a,e,t){if(a&&e)if(a.classList)a.classList[t?"add":"remove"](e);else{var i=(" "+a.className+" ").replace(Nc," ").replace(" "+e+" "," ");a.className=(i+(t?" "+e:"")).replace(Nc," ")}}function pt(a,e,t){var i=a&&a.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(a,""):a.currentStyle&&(t=a.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function Ur(a,e){var t="";if(typeof a=="string")t=a;else do{var i=pt(a,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(a=a.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(t)}function Lc(a,e,t){if(a){var i=a.getElementsByTagName(e),s=0,n=i.length;if(t)for(;s<n;s++)t(i[s],s);return i}return[]}function fn(){var a=document.scrollingElement;return a||document.documentElement}function Wi(a,e,t,i,s){if(!(!a.getBoundingClientRect&&a!==window)){var n,r,o,h,u,c,f;if(a!==window&&a.parentNode&&a!==fn()?(n=a.getBoundingClientRect(),r=n.top,o=n.left,h=n.bottom,u=n.right,c=n.height,f=n.width):(r=0,o=0,h=window.innerHeight,u=window.innerWidth,c=window.innerHeight,f=window.innerWidth),(e||t)&&a!==window&&(s=s||a.parentNode,!kn))do if(s&&s.getBoundingClientRect&&(pt(s,"transform")!=="none"||t&&pt(s,"position")!=="static")){var p=s.getBoundingClientRect();r-=p.top+parseInt(pt(s,"border-top-width")),o-=p.left+parseInt(pt(s,"border-left-width")),h=r+n.height,u=o+n.width;break}while(s=s.parentNode);if(i&&a!==window){var g=Ur(s||a),v=g&&g.a,C=g&&g.d;g&&(r/=C,o/=v,f/=v,c/=C,h=r+c,u=o+f)}return{top:r,left:o,bottom:h,right:u,width:f,height:c}}}function Mc(a){var e=Wi(a),t=parseInt(pt(a,"padding-left")),i=parseInt(pt(a,"padding-top")),s=parseInt(pt(a,"padding-right")),n=parseInt(pt(a,"padding-bottom"));return e.top+=i+parseInt(pt(a,"border-top-width")),e.left+=t+parseInt(pt(a,"border-left-width")),e.width=a.clientWidth-t-s,e.height=a.clientHeight-i-n,e.bottom=e.top+e.height,e.right=e.left+e.width,e}function Hc(a,e,t){for(var i=Kn(a,!0),s=Wi(a)[e];i;){var n=Wi(i)[t],r=void 0;if(t==="top"||t==="left"?r=s>=n:r=s<=n,!r)return i;if(i===fn())break;i=Kn(i,!1)}return!1}function Gr(a,e,t,i){for(var s=0,n=0,r=a.children;n<r.length;){if(r[n].style.display!=="none"&&r[n]!==ct.ghost&&(i||r[n]!==ct.dragged)&&cn(r[n],t.draggable,a,!1)){if(s===e)return r[n];s++}n++}return null}function jh(a,e){for(var t=a.lastElementChild;t&&(t===ct.ghost||pt(t,"display")==="none"||e&&!Ka(t,e));)t=t.previousElementSibling;return t||null}function Vs(a,e){var t=0;if(!a||!a.parentNode)return-1;for(;a=a.previousElementSibling;)a.nodeName.toUpperCase()!=="TEMPLATE"&&a!==ct.clone&&(!e||Ka(a,e))&&t++;return t}function Bc(a){var e=0,t=0,i=fn();if(a)do{var s=Ur(a),n=s.a,r=s.d;e+=a.scrollLeft*n,t+=a.scrollTop*r}while(a!==i&&(a=a.parentNode));return[e,t]}function qg(a,e){for(var t in a)if(a.hasOwnProperty(t)){for(var i in e)if(e.hasOwnProperty(i)&&e[i]===a[t][i])return Number(t)}return-1}function Kn(a,e){if(!a||!a.getBoundingClientRect)return fn();var t=a,i=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var s=pt(t);if(t.clientWidth<t.scrollWidth&&(s.overflowX=="auto"||s.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(s.overflowY=="auto"||s.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return fn();if(i||e)return t;i=!0}}while(t=t.parentNode);return fn()}function Zg(a,e){if(a&&e)for(var t in e)e.hasOwnProperty(t)&&(a[t]=e[t]);return a}function Xh(a,e){return Math.round(a.top)===Math.round(e.top)&&Math.round(a.left)===Math.round(e.left)&&Math.round(a.height)===Math.round(e.height)&&Math.round(a.width)===Math.round(e.width)}var Uo;function zc(a,e){return function(){if(!Uo){var t=arguments,i=this;t.length===1?a.call(i,t[0]):a.apply(i,t),Uo=setTimeout(function(){Uo=void 0},e)}}}function Qg(){clearTimeout(Uo),Uo=void 0}function Vc(a,e,t){a.scrollLeft+=e,a.scrollTop+=t}function Wc(a){var e=window.Polymer,t=window.jQuery||window.Zepto;return e&&e.dom?e.dom(a).cloneNode(!0):t?t(a).clone(!0)[0]:a.cloneNode(!0)}var Os="Sortable"+new Date().getTime();function Jg(){var a=[],e;return{captureAnimationState:function(){if(a=[],!!this.options.animation){var i=[].slice.call(this.el.children);i.forEach(function(s){if(!(pt(s,"display")==="none"||s===ct.ghost)){a.push({target:s,rect:Wi(s)});var n=un({},a[a.length-1].rect);if(s.thisAnimationDuration){var r=Ur(s,!0);r&&(n.top-=r.f,n.left-=r.e)}s.fromRect=n}})}},addAnimationState:function(i){a.push(i)},removeAnimationState:function(i){a.splice(qg(a,{target:i}),1)},animateAll:function(i){var s=this;if(!this.options.animation){clearTimeout(e),typeof i=="function"&&i();return}var n=!1,r=0;a.forEach(function(o){var h=0,u=o.target,c=u.fromRect,f=Wi(u),p=u.prevFromRect,g=u.prevToRect,v=o.rect,C=Ur(u,!0);C&&(f.top-=C.f,f.left-=C.e),u.toRect=f,u.thisAnimationDuration&&Xh(p,f)&&!Xh(c,f)&&(v.top-f.top)/(v.left-f.left)===(c.top-f.top)/(c.left-f.left)&&(h=t_(v,p,g,s.options)),Xh(f,c)||(u.prevFromRect=c,u.prevToRect=f,h||(h=s.options.animation),s.animate(u,v,f,h)),h&&(n=!0,r=Math.max(r,h),clearTimeout(u.animationResetTimer),u.animationResetTimer=setTimeout(function(){u.animationTime=0,u.prevFromRect=null,u.fromRect=null,u.prevToRect=null,u.thisAnimationDuration=null},h),u.thisAnimationDuration=h)}),clearTimeout(e),n?e=setTimeout(function(){typeof i=="function"&&i()},r):typeof i=="function"&&i(),a=[]},animate:function(i,s,n,r){if(r){pt(i,"transition",""),pt(i,"transform","");var o=Ur(this.el),h=o&&o.a,u=o&&o.d,c=(s.left-n.left)/(h||1),f=(s.top-n.top)/(u||1);i.animatingX=!!c,i.animatingY=!!f,pt(i,"transform","translate3d("+c+"px,"+f+"px,0)"),this.forRepaintDummy=e_(i),pt(i,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),pt(i,"transform","translate3d(0,0,0)"),typeof i.animated=="number"&&clearTimeout(i.animated),i.animated=setTimeout(function(){pt(i,"transition",""),pt(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},r)}}}}function e_(a){return a.offsetWidth}function t_(a,e,t,i){return Math.sqrt(Math.pow(e.top-a.top,2)+Math.pow(e.left-a.left,2))/Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))*i.animation}var $r=[],Kh={initializeByDefault:!0},Go={mount:function(e){for(var t in Kh)Kh.hasOwnProperty(t)&&!(t in e)&&(e[t]=Kh[t]);$r.forEach(function(i){if(i.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),$r.push(e)},pluginEvent:function(e,t,i){var s=this;this.eventCanceled=!1,i.cancel=function(){s.eventCanceled=!0};var n=e+"Global";$r.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][n]&&t[r.pluginName][n](un({sortable:t},i)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](un({sortable:t},i)))})},initializePlugins:function(e,t,i,s){$r.forEach(function(o){var h=o.pluginName;if(!(!e.options[h]&&!o.initializeByDefault)){var u=new o(e,t,e.options);u.sortable=e,u.options=e.options,e[h]=u,Rn(i,u.defaults)}});for(var n in e.options)if(e.options.hasOwnProperty(n)){var r=this.modifyOption(e,n,e.options[n]);typeof r<"u"&&(e.options[n]=r)}},getEventProperties:function(e,t){var i={};return $r.forEach(function(s){typeof s.eventProperties=="function"&&Rn(i,s.eventProperties.call(t[s.pluginName],e))}),i},modifyOption:function(e,t,i){var s;return $r.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[t]=="function"&&(s=n.optionListeners[t].call(e[n.pluginName],i))}),s}};function i_(a){var e=a.sortable,t=a.rootEl,i=a.name,s=a.targetEl,n=a.cloneEl,r=a.toEl,o=a.fromEl,h=a.oldIndex,u=a.newIndex,c=a.oldDraggableIndex,f=a.newDraggableIndex,p=a.originalEvent,g=a.putSortable,v=a.extraEventProperties;if(e=e||t&&t[Os],!!e){var C,w=e.options,y="on"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!kn&&!Vo?C=new CustomEvent(i,{bubbles:!0,cancelable:!0}):(C=document.createEvent("Event"),C.initEvent(i,!0,!0)),C.to=r||t,C.from=o||t,C.item=s||t,C.clone=n,C.oldIndex=h,C.newIndex=u,C.oldDraggableIndex=c,C.newDraggableIndex=f,C.originalEvent=p,C.pullMode=g?g.lastPutMode:void 0;var S=un(un({},v),Go.getEventProperties(i,e));for(var O in S)C[O]=S[O];t&&t.dispatchEvent(C),w[y]&&w[y].call(e,C)}}var s_=["evt"],ms=function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.evt,n=jg(i,s_);Go.pluginEvent.bind(ct)(e,t,un({dragEl:We,parentEl:Di,ghostEl:At,rootEl:Ci,nextEl:pr,lastDownEl:qa,cloneEl:xi,cloneHidden:qn,dragStarted:Yo,putSortable:Ki,activeSortable:ct.active,originalEvent:s,oldIndex:Yr,oldDraggableIndex:$o,newIndex:As,newDraggableIndex:Zn,hideGhostForTarget:Kc,unhideGhostForTarget:qc,cloneNowHidden:function(){qn=!0},cloneNowShown:function(){qn=!1},dispatchSortableEvent:function(o){os({sortable:t,name:o,originalEvent:s})}},n))};function os(a){i_(un({putSortable:Ki,cloneEl:xi,targetEl:We,rootEl:Ci,oldIndex:Yr,oldDraggableIndex:$o,newIndex:As,newDraggableIndex:Zn},a))}var We,Di,At,Ci,pr,qa,xi,qn,Yr,As,$o,Zn,Za,Ki,jr=!1,Qa=!1,Ja=[],mr,en,qh,Zh,Uc,Gc,Yo,Xr,jo,Xo=!1,el=!1,tl,ts,Qh=[],Jh=!1,il=[],sl=typeof document<"u",nl=Dc,$c=Vo||kn?"cssFloat":"float",n_=sl&&!Fc&&!Dc&&"draggable"in document.createElement("div"),Yc=function(){if(sl){if(kn)return!1;var a=document.createElement("x");return a.style.cssText="pointer-events:auto",a.style.pointerEvents==="auto"}}(),jc=function(e,t){var i=pt(e),s=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=Gr(e,0,t),r=Gr(e,1,t),o=n&&pt(n),h=r&&pt(r),u=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+Wi(n).width,c=h&&parseInt(h.marginLeft)+parseInt(h.marginRight)+Wi(r).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&o.float&&o.float!=="none"){var f=o.float==="left"?"left":"right";return r&&(h.clear==="both"||h.clear===f)?"vertical":"horizontal"}return n&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||u>=s&&i[$c]==="none"||r&&i[$c]==="none"&&u+c>s)?"vertical":"horizontal"},r_=function(e,t,i){var s=i?e.left:e.top,n=i?e.right:e.bottom,r=i?e.width:e.height,o=i?t.left:t.top,h=i?t.right:t.bottom,u=i?t.width:t.height;return s===o||n===h||s+r/2===o+u/2},o_=function(e,t){var i;return Ja.some(function(s){var n=s[Os].options.emptyInsertThreshold;if(!(!n||jh(s))){var r=Wi(s),o=e>=r.left-n&&e<=r.right+n,h=t>=r.top-n&&t<=r.bottom+n;if(o&&h)return i=s}}),i},Xc=function(e){function t(n,r){return function(o,h,u,c){var f=o.options.group.name&&h.options.group.name&&o.options.group.name===h.options.group.name;if(n==null&&(r||f))return!0;if(n==null||n===!1)return!1;if(r&&n==="clone")return n;if(typeof n=="function")return t(n(o,h,u,c),r)(o,h,u,c);var p=(r?o:h).options.group.name;return n===!0||typeof n=="string"&&n===p||n.join&&n.indexOf(p)>-1}}var i={},s=e.group;(!s||Xa(s)!="object")&&(s={name:s}),i.name=s.name,i.checkPull=t(s.pull,!0),i.checkPut=t(s.put),i.revertClone=s.revertClone,e.group=i},Kc=function(){!Yc&&At&&pt(At,"display","none")},qc=function(){!Yc&&At&&pt(At,"display","")};sl&&!Fc&&document.addEventListener("click",function(a){if(Qa)return a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),Qa=!1,!1},!0);var gr=function(e){if(We){e=e.touches?e.touches[0]:e;var t=o_(e.clientX,e.clientY);if(t){var i={};for(var s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[Os]._onDragOver(i)}}},a_=function(e){We&&We.parentNode[Os]._isOutsideThisEl(e.target)};function ct(a,e){if(!(a&&a.nodeType&&a.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(a));this.el=a,this.options=e=Rn({},e),a[Os]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(a.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return jc(a,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,o){r.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:ct.supportPointer!==!1&&"PointerEvent"in window&&!Wo,emptyInsertThreshold:5};Go.initializePlugins(this,a,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Xc(e);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=e.forceFallback?!1:n_,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Kt(a,"pointerdown",this._onTapStart):(Kt(a,"mousedown",this._onTapStart),Kt(a,"touchstart",this._onTapStart)),this.nativeDraggable&&(Kt(a,"dragover",this),Kt(a,"dragenter",this)),Ja.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Rn(this,Jg())}ct.prototype={constructor:ct,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Xr=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,We):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,s=this.options,n=s.preventOnFilter,r=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,h=(o||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||h,c=s.filter;if(m_(i),!We&&!(/mousedown|pointerdown/.test(r)&&e.button!==0||s.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Wo&&h&&h.tagName.toUpperCase()==="SELECT")&&(h=cn(h,s.draggable,i,!1),!(h&&h.animated)&&qa!==h)){if(Yr=Vs(h),$o=Vs(h,s.draggable),typeof c=="function"){if(c.call(this,e,h,this)){os({sortable:t,rootEl:u,name:"filter",targetEl:h,toEl:i,fromEl:i}),ms("filter",t,{evt:e}),n&&e.cancelable&&e.preventDefault();return}}else if(c&&(c=c.split(",").some(function(f){if(f=cn(u,f.trim(),i,!1),f)return os({sortable:t,rootEl:f,name:"filter",targetEl:h,fromEl:i,toEl:i}),ms("filter",t,{evt:e}),!0}),c)){n&&e.cancelable&&e.preventDefault();return}s.handle&&!cn(u,s.handle,i,!1)||this._prepareDragStart(e,o,h)}}},_prepareDragStart:function(e,t,i){var s=this,n=s.el,r=s.options,o=n.ownerDocument,h;if(i&&!We&&i.parentNode===n){var u=Wi(i);if(Ci=n,We=i,Di=We.parentNode,pr=We.nextSibling,qa=i,Za=r.group,ct.dragged=We,mr={target:We,clientX:(t||e).clientX,clientY:(t||e).clientY},Uc=mr.clientX-u.left,Gc=mr.clientY-u.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,We.style["will-change"]="all",h=function(){if(ms("delayEnded",s,{evt:e}),ct.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!kc&&s.nativeDraggable&&(We.draggable=!0),s._triggerDragStart(e,t),os({sortable:s,name:"choose",originalEvent:e}),xs(We,r.chosenClass,!0)},r.ignore.split(",").forEach(function(c){Lc(We,c.trim(),ed)}),Kt(o,"dragover",gr),Kt(o,"mousemove",gr),Kt(o,"touchmove",gr),Kt(o,"mouseup",s._onDrop),Kt(o,"touchend",s._onDrop),Kt(o,"touchcancel",s._onDrop),kc&&this.nativeDraggable&&(this.options.touchStartThreshold=4,We.draggable=!0),ms("delayStart",this,{evt:e}),r.delay&&(!r.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Vo||kn))){if(ct.eventCanceled){this._onDrop();return}Kt(o,"mouseup",s._disableDelayedDrag),Kt(o,"touchend",s._disableDelayedDrag),Kt(o,"touchcancel",s._disableDelayedDrag),Kt(o,"mousemove",s._delayedDragTouchMoveHandler),Kt(o,"touchmove",s._delayedDragTouchMoveHandler),r.supportPointer&&Kt(o,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(h,r.delay)}else h()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){We&&ed(We),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;$t(e,"mouseup",this._disableDelayedDrag),$t(e,"touchend",this._disableDelayedDrag),$t(e,"touchcancel",this._disableDelayedDrag),$t(e,"mousemove",this._delayedDragTouchMoveHandler),$t(e,"touchmove",this._delayedDragTouchMoveHandler),$t(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?Kt(document,"pointermove",this._onTouchMove):t?Kt(document,"touchmove",this._onTouchMove):Kt(document,"mousemove",this._onTouchMove):(Kt(We,"dragend",this),Kt(Ci,"dragstart",this._onDragStart));try{document.selection?ol(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(jr=!1,Ci&&We){ms("dragStarted",this,{evt:t}),this.nativeDraggable&&Kt(document,"dragover",a_);var i=this.options;!e&&xs(We,i.dragClass,!1),xs(We,i.ghostClass,!0),ct.active=this,e&&this._appendGhost(),os({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(en){this._lastX=en.clientX,this._lastY=en.clientY,Kc();for(var e=document.elementFromPoint(en.clientX,en.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(en.clientX,en.clientY),e!==t);)t=e;if(We.parentNode[Os]._isOutsideThisEl(e),t)do{if(t[Os]){var i=void 0;if(i=t[Os]._onDragOver({clientX:en.clientX,clientY:en.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);qc()}},_onTouchMove:function(e){if(mr){var t=this.options,i=t.fallbackTolerance,s=t.fallbackOffset,n=e.touches?e.touches[0]:e,r=At&&Ur(At,!0),o=At&&r&&r.a,h=At&&r&&r.d,u=nl&&ts&&Bc(ts),c=(n.clientX-mr.clientX+s.x)/(o||1)+(u?u[0]-Qh[0]:0)/(o||1),f=(n.clientY-mr.clientY+s.y)/(h||1)+(u?u[1]-Qh[1]:0)/(h||1);if(!ct.active&&!jr){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(At){r?(r.e+=c-(qh||0),r.f+=f-(Zh||0)):r={a:1,b:0,c:0,d:1,e:c,f};var p="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");pt(At,"webkitTransform",p),pt(At,"mozTransform",p),pt(At,"msTransform",p),pt(At,"transform",p),qh=c,Zh=f,en=n}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!At){var e=this.options.fallbackOnBody?document.body:Ci,t=Wi(We,!0,nl,!0,e),i=this.options;if(nl){for(ts=e;pt(ts,"position")==="static"&&pt(ts,"transform")==="none"&&ts!==document;)ts=ts.parentNode;ts!==document.body&&ts!==document.documentElement?(ts===document&&(ts=fn()),t.top+=ts.scrollTop,t.left+=ts.scrollLeft):ts=fn(),Qh=Bc(ts)}At=We.cloneNode(!0),xs(At,i.ghostClass,!1),xs(At,i.fallbackClass,!0),xs(At,i.dragClass,!0),pt(At,"transition",""),pt(At,"transform",""),pt(At,"box-sizing","border-box"),pt(At,"margin",0),pt(At,"top",t.top),pt(At,"left",t.left),pt(At,"width",t.width),pt(At,"height",t.height),pt(At,"opacity","0.8"),pt(At,"position",nl?"absolute":"fixed"),pt(At,"zIndex","100000"),pt(At,"pointerEvents","none"),ct.ghost=At,e.appendChild(At),pt(At,"transform-origin",Uc/parseInt(At.style.width)*100+"% "+Gc/parseInt(At.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,s=e.dataTransfer,n=i.options;if(ms("dragStart",this,{evt:e}),ct.eventCanceled){this._onDrop();return}ms("setupClone",this),ct.eventCanceled||(xi=Wc(We),xi.removeAttribute("id"),xi.draggable=!1,xi.style["will-change"]="",this._hideClone(),xs(xi,this.options.chosenClass,!1),ct.clone=xi),i.cloneId=ol(function(){ms("clone",i),!ct.eventCanceled&&(i.options.removeCloneOnHide||Ci.insertBefore(xi,We),i._hideClone(),os({sortable:i,name:"clone"}))}),!t&&xs(We,n.dragClass,!0),t?(Qa=!0,i._loopId=setInterval(i._emulateDragOver,50)):($t(document,"mouseup",i._onDrop),$t(document,"touchend",i._onDrop),$t(document,"touchcancel",i._onDrop),s&&(s.effectAllowed="move",n.setData&&n.setData.call(i,s,We)),Kt(document,"drop",i),pt(We,"transform","translateZ(0)")),jr=!0,i._dragStartId=ol(i._dragStarted.bind(i,t,e)),Kt(document,"selectstart",i),Yo=!0,Wo&&pt(document.body,"user-select","none")},_onDragOver:function(e){var t=this.el,i=e.target,s,n,r,o=this.options,h=o.group,u=ct.active,c=Za===h,f=o.sort,p=Ki||u,g,v=this,C=!1;if(Jh)return;function w(_e,pe){ms(_e,v,un({evt:e,isOwner:c,axis:g?"vertical":"horizontal",revert:r,dragRect:s,targetRect:n,canSort:f,fromSortable:p,target:i,completed:S,onMove:function(J,de){return rl(Ci,t,We,s,J,Wi(J),e,de)},changed:O},pe))}function y(){w("dragOverAnimationCapture"),v.captureAnimationState(),v!==p&&p.captureAnimationState()}function S(_e){return w("dragOverCompleted",{insertion:_e}),_e&&(c?u._hideClone():u._showClone(v),v!==p&&(xs(We,Ki?Ki.options.ghostClass:u.options.ghostClass,!1),xs(We,o.ghostClass,!0)),Ki!==v&&v!==ct.active?Ki=v:v===ct.active&&Ki&&(Ki=null),p===v&&(v._ignoreWhileAnimating=i),v.animateAll(function(){w("dragOverAnimationComplete"),v._ignoreWhileAnimating=null}),v!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(i===We&&!We.animated||i===t&&!i.animated)&&(Xr=null),!o.dragoverBubble&&!e.rootEl&&i!==document&&(We.parentNode[Os]._isOutsideThisEl(e.target),!_e&&gr(e)),!o.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),C=!0}function O(){As=Vs(We),Zn=Vs(We,o.draggable),os({sortable:v,name:"change",toEl:t,newIndex:As,newDraggableIndex:Zn,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),i=cn(i,o.draggable,t,!0),w("dragOver"),ct.eventCanceled)return C;if(We.contains(e.target)||i.animated&&i.animatingX&&i.animatingY||v._ignoreWhileAnimating===i)return S(!1);if(Qa=!1,u&&!o.disabled&&(c?f||(r=Di!==Ci):Ki===this||(this.lastPutMode=Za.checkPull(this,u,We,e))&&h.checkPut(this,u,We,e))){if(g=this._getDirection(e,i)==="vertical",s=Wi(We),w("dragOverValid"),ct.eventCanceled)return C;if(r)return Di=Ci,y(),this._hideClone(),w("revert"),ct.eventCanceled||(pr?Ci.insertBefore(We,pr):Ci.appendChild(We)),S(!0);var I=jh(t,o.draggable);if(!I||u_(e,g,this)&&!I.animated){if(I===We)return S(!1);if(I&&t===e.target&&(i=I),i&&(n=Wi(i)),rl(Ci,t,We,s,i,n,e,!!i)!==!1)return y(),I&&I.nextSibling?t.insertBefore(We,I.nextSibling):t.appendChild(We),Di=t,O(),S(!0)}else if(I&&d_(e,g,this)){var F=Gr(t,0,o,!0);if(F===We)return S(!1);if(i=F,n=Wi(i),rl(Ci,t,We,s,i,n,e,!1)!==!1)return y(),t.insertBefore(We,F),Di=t,O(),S(!0)}else if(i.parentNode===t){n=Wi(i);var X=0,K,ee=We.parentNode!==t,Q=!r_(We.animated&&We.toRect||s,i.animated&&i.toRect||n,g),te=g?"top":"left",me=Hc(i,"top","top")||Hc(We,"top","top"),U=me?me.scrollTop:void 0;Xr!==i&&(K=n[te],Xo=!1,el=!Q&&o.invertSwap||ee),X=c_(e,i,n,g,Q?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,el,Xr===i);var N;if(X!==0){var A=Vs(We);do A-=X,N=Di.children[A];while(N&&(pt(N,"display")==="none"||N===At))}if(X===0||N===i)return S(!1);Xr=i,jo=X;var ue=i.nextElementSibling,Be=!1;Be=X===1;var be=rl(Ci,t,We,s,i,n,e,Be);if(be!==!1)return(be===1||be===-1)&&(Be=be===1),Jh=!0,setTimeout(h_,30),y(),Be&&!ue?t.appendChild(We):i.parentNode.insertBefore(We,Be?ue:i),me&&Vc(me,0,U-me.scrollTop),Di=We.parentNode,K!==void 0&&!el&&(tl=Math.abs(K-Wi(i)[te])),O(),S(!0)}if(t.contains(We))return S(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){$t(document,"mousemove",this._onTouchMove),$t(document,"touchmove",this._onTouchMove),$t(document,"pointermove",this._onTouchMove),$t(document,"dragover",gr),$t(document,"mousemove",gr),$t(document,"touchmove",gr)},_offUpEvents:function(){var e=this.el.ownerDocument;$t(e,"mouseup",this._onDrop),$t(e,"touchend",this._onDrop),$t(e,"pointerup",this._onDrop),$t(e,"touchcancel",this._onDrop),$t(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;if(As=Vs(We),Zn=Vs(We,i.draggable),ms("drop",this,{evt:e}),Di=We&&We.parentNode,As=Vs(We),Zn=Vs(We,i.draggable),ct.eventCanceled){this._nulling();return}jr=!1,el=!1,Xo=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),td(this.cloneId),td(this._dragStartId),this.nativeDraggable&&($t(document,"drop",this),$t(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Wo&&pt(document.body,"user-select",""),pt(We,"transform",""),e&&(Yo&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),At&&At.parentNode&&At.parentNode.removeChild(At),(Ci===Di||Ki&&Ki.lastPutMode!=="clone")&&xi&&xi.parentNode&&xi.parentNode.removeChild(xi),We&&(this.nativeDraggable&&$t(We,"dragend",this),ed(We),We.style["will-change"]="",Yo&&!jr&&xs(We,Ki?Ki.options.ghostClass:this.options.ghostClass,!1),xs(We,this.options.chosenClass,!1),os({sortable:this,name:"unchoose",toEl:Di,newIndex:null,newDraggableIndex:null,originalEvent:e}),Ci!==Di?(As>=0&&(os({rootEl:Di,name:"add",toEl:Di,fromEl:Ci,originalEvent:e}),os({sortable:this,name:"remove",toEl:Di,originalEvent:e}),os({rootEl:Di,name:"sort",toEl:Di,fromEl:Ci,originalEvent:e}),os({sortable:this,name:"sort",toEl:Di,originalEvent:e})),Ki&&Ki.save()):As!==Yr&&As>=0&&(os({sortable:this,name:"update",toEl:Di,originalEvent:e}),os({sortable:this,name:"sort",toEl:Di,originalEvent:e})),ct.active&&((As==null||As===-1)&&(As=Yr,Zn=$o),os({sortable:this,name:"end",toEl:Di,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){ms("nulling",this),Ci=We=Di=At=pr=xi=qa=qn=mr=en=Yo=As=Zn=Yr=$o=Xr=jo=Ki=Za=ct.dragged=ct.ghost=ct.clone=ct.active=null,il.forEach(function(e){e.checked=!0}),il.length=qh=Zh=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":We&&(this._onDragOver(e),l_(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,s=0,n=i.length,r=this.options;s<n;s++)t=i[s],cn(t,r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||p_(t));return e},sort:function(e,t){var i={},s=this.el;this.toArray().forEach(function(n,r){var o=s.children[r];cn(o,this.options.draggable,s,!1)&&(i[n]=o)},this),t&&this.captureAnimationState(),e.forEach(function(n){i[n]&&(s.removeChild(i[n]),s.appendChild(i[n]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return cn(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(t===void 0)return i[e];var s=Go.modifyOption(this,e,t);typeof s<"u"?i[e]=s:i[e]=t,e==="group"&&Xc(i)},destroy:function(){ms("destroy",this);var e=this.el;e[Os]=null,$t(e,"mousedown",this._onTapStart),$t(e,"touchstart",this._onTapStart),$t(e,"pointerdown",this._onTapStart),this.nativeDraggable&&($t(e,"dragover",this),$t(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ja.splice(Ja.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!qn){if(ms("hideClone",this),ct.eventCanceled)return;pt(xi,"display","none"),this.options.removeCloneOnHide&&xi.parentNode&&xi.parentNode.removeChild(xi),qn=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(qn){if(ms("showClone",this),ct.eventCanceled)return;We.parentNode==Ci&&!this.options.group.revertClone?Ci.insertBefore(xi,We):pr?Ci.insertBefore(xi,pr):Ci.appendChild(xi),this.options.group.revertClone&&this.animate(We,xi),pt(xi,"display",""),qn=!1}}};function l_(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.cancelable&&a.preventDefault()}function rl(a,e,t,i,s,n,r,o){var h,u=a[Os],c=u.options.onMove,f;return window.CustomEvent&&!kn&&!Vo?h=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(h=document.createEvent("Event"),h.initEvent("move",!0,!0)),h.to=e,h.from=a,h.dragged=t,h.draggedRect=i,h.related=s||e,h.relatedRect=n||Wi(e),h.willInsertAfter=o,h.originalEvent=r,a.dispatchEvent(h),c&&(f=c.call(u,h,r)),f}function ed(a){a.draggable=!1}function h_(){Jh=!1}function d_(a,e,t){var i=Wi(Gr(t.el,0,t.options,!0)),s=Mc(t.el),n=10;return e?a.clientX<s.left-n||a.clientY<i.top&&a.clientX<i.right:a.clientY<s.top-n||a.clientY<i.bottom&&a.clientX<i.left}function u_(a,e,t){var i=Wi(jh(t.el,t.options.draggable)),s=Mc(t.el),n=10;return e?a.clientX>s.right+n||a.clientY>i.bottom&&a.clientX>i.left:a.clientY>s.bottom+n||a.clientX>i.right&&a.clientY>i.top}function c_(a,e,t,i,s,n,r,o){var h=i?a.clientY:a.clientX,u=i?t.height:t.width,c=i?t.top:t.left,f=i?t.bottom:t.right,p=!1;if(!r){if(o&&tl<u*s){if(!Xo&&(jo===1?h>c+u*n/2:h<f-u*n/2)&&(Xo=!0),Xo)p=!0;else if(jo===1?h<c+tl:h>f-tl)return-jo}else if(h>c+u*(1-s)/2&&h<f-u*(1-s)/2)return f_(e)}return p=p||r,p&&(h<c+u*n/2||h>f-u*n/2)?h>c+u/2?1:-1:0}function f_(a){return Vs(We)<Vs(a)?1:-1}function p_(a){for(var e=a.tagName+a.className+a.src+a.href+a.textContent,t=e.length,i=0;t--;)i+=e.charCodeAt(t);return i.toString(36)}function m_(a){il.length=0;for(var e=a.getElementsByTagName("input"),t=e.length;t--;){var i=e[t];i.checked&&il.push(i)}}function ol(a){return setTimeout(a,0)}function td(a){return clearTimeout(a)}sl&&Kt(document,"touchmove",function(a){(ct.active||jr)&&a.cancelable&&a.preventDefault()}),ct.utils={on:Kt,off:$t,css:pt,find:Lc,is:function(e,t){return!!cn(e,t,e,!1)},extend:Zg,throttle:zc,closest:cn,toggleClass:xs,clone:Wc,index:Vs,nextTick:ol,cancelNextTick:td,detectDirection:jc,getChild:Gr},ct.get=function(a){return a[Os]},ct.mount=function(){for(var a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];e[0].constructor===Array&&(e=e[0]),e.forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(ct.utils=un(un({},ct.utils),i.utils)),Go.mount(i)})},ct.create=function(a,e){return new ct(a,e)},ct.version=Xg;var Ui=[],Ko,id,sd=!1,nd,rd,al,qo;function g_(){function a(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return a.prototype={dragStarted:function(t){var i=t.originalEvent;this.sortable.nativeDraggable?Kt(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Kt(document,"pointermove",this._handleFallbackAutoScroll):i.touches?Kt(document,"touchmove",this._handleFallbackAutoScroll):Kt(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var i=t.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?$t(document,"dragover",this._handleAutoScroll):($t(document,"pointermove",this._handleFallbackAutoScroll),$t(document,"touchmove",this._handleFallbackAutoScroll),$t(document,"mousemove",this._handleFallbackAutoScroll)),Zc(),ll(),Qg()},nulling:function(){al=id=Ko=sd=qo=nd=rd=null,Ui.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,i){var s=this,n=(t.touches?t.touches[0]:t).clientX,r=(t.touches?t.touches[0]:t).clientY,o=document.elementFromPoint(n,r);if(al=t,i||this.options.forceAutoScrollFallback||Vo||kn||Wo){od(t,this.options,o,i);var h=Kn(o,!0);sd&&(!qo||n!==nd||r!==rd)&&(qo&&Zc(),qo=setInterval(function(){var u=Kn(document.elementFromPoint(n,r),!0);u!==h&&(h=u,ll()),od(t,s.options,u,i)},10),nd=n,rd=r)}else{if(!this.options.bubbleScroll||Kn(o,!0)===fn()){ll();return}od(t,this.options,Kn(o,!1),!1)}}},Rn(a,{pluginName:"scroll",initializeByDefault:!0})}function ll(){Ui.forEach(function(a){clearInterval(a.pid)}),Ui=[]}function Zc(){clearInterval(qo)}var od=zc(function(a,e,t,i){if(e.scroll){var s=(a.touches?a.touches[0]:a).clientX,n=(a.touches?a.touches[0]:a).clientY,r=e.scrollSensitivity,o=e.scrollSpeed,h=fn(),u=!1,c;id!==t&&(id=t,ll(),Ko=e.scroll,c=e.scrollFn,Ko===!0&&(Ko=Kn(t,!0)));var f=0,p=Ko;do{var g=p,v=Wi(g),C=v.top,w=v.bottom,y=v.left,S=v.right,O=v.width,I=v.height,F=void 0,X=void 0,K=g.scrollWidth,ee=g.scrollHeight,Q=pt(g),te=g.scrollLeft,me=g.scrollTop;g===h?(F=O<K&&(Q.overflowX==="auto"||Q.overflowX==="scroll"||Q.overflowX==="visible"),X=I<ee&&(Q.overflowY==="auto"||Q.overflowY==="scroll"||Q.overflowY==="visible")):(F=O<K&&(Q.overflowX==="auto"||Q.overflowX==="scroll"),X=I<ee&&(Q.overflowY==="auto"||Q.overflowY==="scroll"));var U=F&&(Math.abs(S-s)<=r&&te+O<K)-(Math.abs(y-s)<=r&&!!te),N=X&&(Math.abs(w-n)<=r&&me+I<ee)-(Math.abs(C-n)<=r&&!!me);if(!Ui[f])for(var A=0;A<=f;A++)Ui[A]||(Ui[A]={});(Ui[f].vx!=U||Ui[f].vy!=N||Ui[f].el!==g)&&(Ui[f].el=g,Ui[f].vx=U,Ui[f].vy=N,clearInterval(Ui[f].pid),(U!=0||N!=0)&&(u=!0,Ui[f].pid=setInterval((function(){i&&this.layer===0&&ct.active._onTouchMove(al);var ue=Ui[this.layer].vy?Ui[this.layer].vy*o:0,Be=Ui[this.layer].vx?Ui[this.layer].vx*o:0;typeof c=="function"&&c.call(ct.dragged.parentNode[Os],Be,ue,a,al,Ui[this.layer].el)!=="continue"||Vc(Ui[this.layer].el,Be,ue)}).bind({layer:f}),24))),f++}while(e.bubbleScroll&&p!==h&&(p=Kn(p,!1)));sd=u}},30),Qc=function(e){var t=e.originalEvent,i=e.putSortable,s=e.dragEl,n=e.activeSortable,r=e.dispatchSortableEvent,o=e.hideGhostForTarget,h=e.unhideGhostForTarget;if(t){var u=i||n;o();var c=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,f=document.elementFromPoint(c.clientX,c.clientY);h(),u&&!u.el.contains(f)&&(r("spill"),this.onSpill({dragEl:s,putSortable:i}))}};function ad(){}ad.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var s=Gr(this.sortable.el,this.startIndex,this.options);s?this.sortable.el.insertBefore(t,s):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:Qc},Rn(ad,{pluginName:"revertOnSpill"});function ld(){}ld.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable,s=i||this.sortable;s.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),s.animateAll()},drop:Qc},Rn(ld,{pluginName:"removeOnSpill"}),ct.mount(new g_),ct.mount(ld,ad);function Jc(a){let{containerElement:e}=a;const{onDragInit:t,onDragStart:i,onDrag:s,onDragEnd:n}=a;let r,o,h,u,c,f;e||(e=document.body);let p={dragSource:e,dragHandle:null};function g(){e&&(e.addEventListener("mousedown",w),e.addEventListener("touchstart",w))}function v(O,I,F){typeof O=="function"&&O(I,F)}function C(){e&&(e.removeEventListener("mousedown",w),e.removeEventListener("touchstart",w))}function w(O){var X;r=O.target;const I=((X=O==null?void 0:O.touches)==null?void 0:X[0])??O,{target:F}=I;if(!a.allowDragFrom||a.allowDragFrom&&r.matches(a.allowDragFrom)||a.allowDragFromClosest&&r.closest(a.allowDragFromClosest)){p.dragHandle=r;const K=Oh();o=K.left+I.clientX,h=K.top+I.clientY,u=I.clientX-I.clientX,c=I.clientY-I.clientY,p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(t,O,p),document.body.addEventListener("mousemove",y),document.body.addEventListener("touchmove",y),document.body.addEventListener("mouseup",S),document.body.addEventListener("touchend",S),document.body.addEventListener("touchcancel",S)}}function y(O){var X;const I=((X=O==null?void 0:O.touches)==null?void 0:X[0])??O;u=I.clientX-o,c=I.clientY-h;const{target:F}=I;f||(p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(i,O,p),f=!0),p=Object.assign(p,{deltaX:u,deltaY:c,startX:o,startY:h,target:F}),v(s,O,p)}function S(O){if(document.body.removeEventListener("mousemove",y),document.body.removeEventListener("touchmove",y),document.body.removeEventListener("mouseup",S),document.body.removeEventListener("touchend",S),document.body.removeEventListener("touchcancel",S),f){const{target:I}=O;p=Object.assign(p,{target:I}),v(n,O,p),f=!1}}return g(),{destroy:C}}function ef(a){const{element:e,onMouseWheel:t}=a;function i(){e.removeEventListener("wheel",n),e.removeEventListener("mousewheel",n)}function s(){e.addEventListener("wheel",n),e.addEventListener("mousewheel",n)}function n(r){const o=r||window.event;let h=0,u=0,c=0;o.wheelDelta&&(h=o.wheelDelta/120),o.detail&&(h=-o.detail/3),c=h,o.axis!==void 0&&o.axis===o.HORIZONTAL_AXIS&&(c=0,u=-1*h),o.wheelDeltaY!==void 0&&(c=o.wheelDeltaY/120),o.wheelDeltaX!==void 0&&(u=-1*o.wheelDeltaX/120),typeof t=="function"&&t(r,h,u,c)}return s(),{destroy:i}}function tf(a){const{resizeableElement:e,resizeableHandleElement:t,onResizeStart:i,onResize:s,onResizeEnd:n}=a;if(!t||typeof t.addEventListener!="function")throw new Error("[SlickResizable] You did not provide a valid html element that will be used for the handle to resize.");function r(){t.addEventListener("mousedown",u),t.addEventListener("touchstart",u)}function o(){typeof(t==null?void 0:t.removeEventListener)=="function"&&(t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",u))}function h(p,g){typeof p=="function"&&p(g,{resizeableElement:e,resizeableHandleElement:t})}function u(p){p.preventDefault();const g=p.touches?p.changedTouches[0]:p;h(i,g),document.body.addEventListener("mousemove",c),document.body.addEventListener("mouseup",f),document.body.addEventListener("touchmove",c),document.body.addEventListener("touchend",f)}function c(p){p.preventDefault&&p.type!=="touchmove"&&p.preventDefault();const g=p.touches?p.changedTouches[0]:p;typeof s=="function"&&s(g,{resizeableElement:e,resizeableHandleElement:t})}function f(p){const g=p.touches?p.changedTouches[0]:p;h(n,g),document.body.removeEventListener("mousemove",c),document.body.removeEventListener("mouseup",f),document.body.removeEventListener("touchmove",c),document.body.removeEventListener("touchend",f)}return r(),{destroy:o}}class __{constructor(e,t,i,s,n){this.container=e,this.data=t,this.columns=i,this.externalPubSub=n,this.slickGridVersion="5.5.0",this.cid="",this.canvas=null,this.canvas_context=null,this._defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableHtmlRendering:!0,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,autoEditNewRow:!0,autoCommitEdit:!1,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,nonce:"",editorLock:ja,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",selectedCellCssClass:"selected",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,frozenRightViewportMinWidth:100,throwWhenFrozenNotAllViewable:!1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter:this.defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:void 0,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,scrollRenderThrottling:50,suppressCssChangesOnHiddenInit:!1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,sanitizer:void 0,mixinDefaults:!1,shadowRoot:void 0},this._columnDefaults={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0,hidden:!1},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new Pi,this.initialized=!1,this.uid=`slickgrid_${Math.round(1e6*Math.random())}`,this._groupHeaders=[],this._headerScroller=[],this._headers=[],this._boundAncestors=[],this.viewportH=0,this.viewportW=0,this.canvasWidth=0,this.canvasWidthL=0,this.canvasWidthR=0,this.headersWidth=0,this.headersWidthL=0,this.headersWidthR=0,this.viewportHasHScroll=!1,this.viewportHasVScroll=!1,this.headerColumnWidthDiff=0,this.headerColumnHeightDiff=0,this.cellWidthDiff=0,this.cellHeightDiff=0,this.hasFrozenRows=!1,this.frozenRowsHeight=0,this.actualFrozenRow=-1,this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.topPanelH=0,this.headerRowH=0,this.footerRowH=0,this.tabbingDirection=1,this.activeCellNode=null,this.currentEditor=null,this.rowsCache={},this.renderedRows=0,this.numVisibleRows=0,this.prevScrollTop=0,this.scrollTop=0,this.lastRenderedScrollTop=0,this.lastRenderedScrollLeft=0,this.prevScrollLeft=0,this.scrollLeft=0,this.selectedRows=[],this.plugins=[],this.cellCssClasses={},this.columnsById={},this.sortColumns=[],this.columnPosLeft=[],this.columnPosRight=[],this.pagingActive=!1,this.pagingIsLastPage=!1,this.h_editorLoader=null,this.h_render=null,this.h_postrender=null,this.h_postrenderCleanup=null,this.postProcessedRows={},this.postProcessToRow=null,this.postProcessFromRow=null,this.postProcessedCleanupQueue=[],this.postProcessgroupId=0,this.counter_rows_rendered=0,this.counter_rows_removed=0,this.cssShow={position:"absolute",visibility:"hidden",display:"block"},this._hiddenParents=[],this.oldProps=[],this.enforceFrozenRowHeightRecalc=!1,this.columnResizeDragging=!1,this.slickDraggableInstance=null,this.slickMouseWheelInstances=[],this.slickResizableInstances=[],this.logMessageMaxCount=30,this.onActiveCellChanged=new $e("onActiveCellChanged",n),this.onActiveCellPositionChanged=new $e("onActiveCellPositionChanged",n),this.onAddNewRow=new $e("onAddNewRow",n),this.onAutosizeColumns=new $e("onAutosizeColumns",n),this.onBeforeAppendCell=new $e("onBeforeAppendCell",n),this.onBeforeCellEditorDestroy=new $e("onBeforeCellEditorDestroy",n),this.onBeforeColumnsResize=new $e("onBeforeColumnsResize",n),this.onBeforeDestroy=new $e("onBeforeDestroy",n),this.onBeforeEditCell=new $e("onBeforeEditCell",n),this.onBeforeFooterRowCellDestroy=new $e("onBeforeFooterRowCellDestroy",n),this.onBeforeHeaderCellDestroy=new $e("onBeforeHeaderCellDestroy",n),this.onBeforeHeaderRowCellDestroy=new $e("onBeforeHeaderRowCellDestroy",n),this.onBeforeSetColumns=new $e("onBeforeSetColumns",n),this.onBeforeSort=new $e("onBeforeSort",n),this.onBeforeUpdateColumns=new $e("onBeforeUpdateColumns",n),this.onCellChange=new $e("onCellChange",n),this.onCellCssStylesChanged=new $e("onCellCssStylesChanged",n),this.onClick=new $e("onClick",n),this.onColumnsReordered=new $e("onColumnsReordered",n),this.onColumnsDrag=new $e("onColumnsDrag",n),this.onColumnsResized=new $e("onColumnsResized",n),this.onColumnsResizeDblClick=new $e("onColumnsResizeDblClick",n),this.onCompositeEditorChange=new $e("onCompositeEditorChange",n),this.onContextMenu=new $e("onContextMenu",n),this.onDrag=new $e("onDrag",n),this.onDblClick=new $e("onDblClick",n),this.onDragInit=new $e("onDragInit",n),this.onDragStart=new $e("onDragStart",n),this.onDragEnd=new $e("onDragEnd",n),this.onFooterClick=new $e("onFooterClick",n),this.onFooterContextMenu=new $e("onFooterContextMenu",n),this.onFooterRowCellRendered=new $e("onFooterRowCellRendered",n),this.onHeaderCellRendered=new $e("onHeaderCellRendered",n),this.onHeaderClick=new $e("onHeaderClick",n),this.onHeaderContextMenu=new $e("onHeaderContextMenu",n),this.onHeaderMouseEnter=new $e("onHeaderMouseEnter",n),this.onHeaderMouseLeave=new $e("onHeaderMouseLeave",n),this.onHeaderRowCellRendered=new $e("onHeaderRowCellRendered",n),this.onHeaderRowMouseEnter=new $e("onHeaderRowMouseEnter",n),this.onHeaderRowMouseLeave=new $e("onHeaderRowMouseLeave",n),this.onKeyDown=new $e("onKeyDown",n),this.onMouseEnter=new $e("onMouseEnter",n),this.onMouseLeave=new $e("onMouseLeave",n),this.onRendered=new $e("onRendered",n),this.onScroll=new $e("onScroll",n),this.onSelectedRowsChanged=new $e("onSelectedRowsChanged",n),this.onSetOptions=new $e("onSetOptions",n),this.onActivateChangedOptions=new $e("onActivateChangedOptions",n),this.onSort=new $e("onSort",n),this.onValidationError=new $e("onValidationError",n),this.onViewportChanged=new $e("onViewportChanged",n),this.initialize(s)}init(){this.finishInitialization()}applyHtmlCode(e,t="",i){var s;if(e)if(t instanceof HTMLElement||t instanceof DocumentFragment)(i==null?void 0:i.emptyTarget)!==!1&&Pt(e),e.appendChild(t);else{if((i==null?void 0:i.skipEmptyReassignment)!==!1&&!jt(t)&&!e.innerHTML)return;let r=t;if(typeof r=="number"||typeof r=="boolean")e.textContent=String(r);else{if(typeof((s=this._options)==null?void 0:s.sanitizer)=="function")r=this._options.sanitizer(t);else if(typeof(Xn==null?void 0:Xn.sanitize)=="function"){const o=(i==null?void 0:i.sanitizerOptions)??this._options.sanitizerOptions??{ADD_ATTR:["level"],RETURN_TRUSTED_TYPE:!0};r=Xn.sanitize(t,o)}this._options.enableHtmlRendering&&r?e.innerHTML=r:e.textContent=r}}}initialize(e){if(typeof this.container=="string"?this._container=document.querySelector(this.container):this._container=this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);if(e!=null&&e.mixinDefaults?(e||(this._options={}),ne.applyDefaults(this._options,this._defaults)):this._options=ne.extend(!0,{},this._defaults,e),this.scrollThrottle=this.actionThrottle(this.render.bind(this),this._options.scrollRenderThrottling),this.maxSupportedCssHeight=this.maxSupportedCssHeight||this.getMaxSupportedCssHeight(),this.validateAndEnforceOptions(),this._columnDefaults.width=this._options.defaultColumnWidth,this._options.suppressCssChangesOnHiddenInit||this.cacheCssForHiddenInit(),this.updateColumnProps(),this._options.enableColumnReorder&&(!ct||!ct.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},Pt(this._container),this._container.style.overflow="hidden",this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("ui-widget");const t=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(t.position)||(this._container.style.position="relative"),this._focusSink=Y("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._paneHeaderL=Y("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=Y("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=Y("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=Y("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=Y("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=Y("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=Y("div",{className:"slick-preheader-panel ui-state-default slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=Y("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=Y("div",{className:"slick-preheader-panel ui-state-default slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=Y("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(ne.hide(this._preHeaderPanelScroller),ne.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=Y("div",{className:"slick-header ui-state-default slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=Y("div",{className:"slick-header ui-state-default slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=Y("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=Y("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=Y("div",{className:"slick-headerrow ui-state-default slick-state-default"},this._paneTopL),this._headerRowScrollerR=Y("div",{className:"slick-headerrow ui-state-default slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=Y("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=Y("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=Y("div",{className:"slick-top-panel-scroller ui-state-default slick-state-default"},this._paneTopL),this._topPanelScrollerR=Y("div",{className:"slick-top-panel-scroller ui-state-default slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=Y("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=Y("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(i=>{ne.hide(i)}),this._options.showTopPanel||this._topPanelScrollers.forEach(i=>{ne.hide(i)}),this._options.showHeaderRow||this._headerRowScroller.forEach(i=>{ne.hide(i)}),this._viewportTopL=Y("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=Y("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=Y("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=Y("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-right",tabIndex:0},this._paneBottomR),this._viewport=[this._viewportTopL,this._viewportTopR,this._viewportBottomL,this._viewportBottomR],this._options.viewportClass&&this._viewport.forEach(i=>{i.classList.add(...(this._options.viewportClass||"").split(" "))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=Y("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=Y("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=Y("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=Y("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-right",tabIndex:0},this._viewportBottomR),this._canvas=[this._canvasTopL,this._canvasTopR,this._canvasBottomL,this._canvasBottomR],this.scrollbarDimensions=this.scrollbarDimensions||this.measureScrollbar(),this._activeCanvasNode=this._canvasTopL,this._preHeaderPanelSpacer&&ne.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(i=>{ne.width(i,this.getHeadersWidth())}),ne.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),ne.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=Y("div",{className:"slick-footerrow ui-state-default slick-state-default"},this._paneTopR),this._footerRowScrollerL=Y("div",{className:"slick-footerrow ui-state-default slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),ne.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=Y("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),ne.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=Y("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=Y("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(i=>{ne.hide(i)})),this._focusSink2=this._focusSink.cloneNode(!0),this._container.appendChild(this._focusSink2),this._options.explicitInitialization||this.finishInitialization()}finishInitialization(){this.initialized||(this.initialized=!0,this.getViewportWidth(),this.getViewportHeight(),this.measureCellPaddingAndBorder(),this.disableSelection(this._headers),this._options.enableTextSelectionOnCells||this._viewport.forEach(e=>{this._bindingEventService.bind(e,"selectstart",t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement})}),this.setFrozenOptions(),this.setPaneVisibility(),this.setScroller(),this.setOverflow(),this.updateColumnCaches(),this.createColumnHeaders(),this.createColumnFooter(),this.setupColumnSort(),this.createCssRules(),this.resizeCanvas(),this.bindAncestorScrollEvents(),this._bindingEventService.bind(this._container,"resize",this.resizeCanvas.bind(this)),this._viewport.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(e=>{this.slickMouseWheelInstances.push(ef({element:e,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(e=>{this._bindingEventService.bind(e,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(e,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(e=>{this._bindingEventService.bind(e,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createPreHeaderPanel&&this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind(this._focusSink,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(this._focusSink2,"keydown",this.handleKeyDown.bind(this)),this._canvas.forEach(e=>{this._bindingEventService.bind(e,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(e,"click",this.handleClick.bind(this)),this._bindingEventService.bind(e,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(e,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(e,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(e,"mouseout",this.handleCellMouseOut.bind(this))}),Jc&&(this.slickDraggableInstance=Jc({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",onDragInit:this.handleDragInit.bind(this),onDragStart:this.handleDragStart.bind(this),onDrag:this.handleDrag.bind(this),onDragEnd:this.handleDragEnd.bind(this)})),this._options.suppressCssChangesOnHiddenInit||this.restoreCssFromHiddenInit())}cacheCssForHiddenInit(){this._hiddenParents=ne.parents(this._container,":hidden");for(const e of this._hiddenParents){const t={};for(const i in this.cssShow)this.cssShow&&(t[i]=e.style[i],e.style[i]=this.cssShow[i]);this.oldProps.push(t)}}restoreCssFromHiddenInit(){let e=0;for(const t of this._hiddenParents){const i=this.oldProps[e++];for(const s in this.cssShow)this.cssShow&&(t.style[s]=i[s])}}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(e){this.plugins.unshift(e),e.init(this)}unregisterPlugin(e){var t;for(let i=this.plugins.length;i>=0;i--)if(this.plugins[i]===e){(t=this.plugins[i])==null||t.destroy(),this.plugins.splice(i,1);break}}getPluginByName(e){var t;for(let i=this.plugins.length-1;i>=0;i--)if(((t=this.plugins[i])==null?void 0:t.pluginName)===e)return this.plugins[i]}setSelectionModel(e){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=e,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(e,t){return this._getContainerElement(this.getCanvases(),e,t)}getActiveCanvasNode(e){return e===void 0?this._activeCanvasNode:(e instanceof li&&(e=e.getNativeEvent()),this._activeCanvasNode=e==null?void 0:e.target.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(e,t){return this._getContainerElement(this.getViewports(),e,t)}getViewports(){return this._viewport}getActiveViewportNode(e){return this.setActiveViewportNode(e),this._activeViewportNode}setActiveViewportNode(e){return e instanceof li&&(e=e.getNativeEvent()),this._activeViewportNode=e==null?void 0:e.target.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(e,t,i){if(!e)return;t||(t=0),i||(i=0);const s=typeof t=="number"?t:this.getColumnIndex(t),n=this.hasFrozenRows&&i>=this.actualFrozenRow+(this._options.frozenBottom?0:1),r=this.hasFrozenColumns()&&s>this._options.frozenColumn;return e[(n?2:0)+(r?1:0)]}measureScrollbar(){let e="";this._viewport.forEach(n=>e+=n.className);const t=Y("div",{className:e,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),i=Y("div",{style:{width:"200px",height:"200px",overflow:"auto"}},t),s={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};return i.remove(),t.remove(),s}getHeadersWidth(){var s,n,r,o;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const e=!this._options.autoHeight;let t=0;const i=this.columns.length;for(t=0;t<i;t++){if(!this.columns[t]||this.columns[t].hidden)continue;const h=this.columns[t].width;this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=h||0:this.headersWidthL+=h||0}return e&&(this._options.frozenColumn>-1&&t>this._options.frozenColumn?this.headersWidthR+=((s=this.scrollbarDimensions)==null?void 0:s.width)??0:this.headersWidthL+=((n=this.scrollbarDimensions)==null?void 0:n.width)??0),this.hasFrozenColumns()?(this.headersWidthL=this.headersWidthL+1e3,this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.headersWidthL,this.headersWidthR+=((r=this.scrollbarDimensions)==null?void 0:r.width)??0):(this.headersWidthL+=((o=this.scrollbarDimensions)==null?void 0:o.width)??0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidth=this.headersWidthL+this.headersWidthR,Math.max(this.headersWidth,this.viewportW)+1e3}getHeadersWidthL(){var e;return this.headersWidthL=0,this.columns.forEach((t,i)=>{t.hidden||this._options.frozenColumn>-1&&i>this._options.frozenColumn||(this.headersWidthL+=t.width||0)}),this.hasFrozenColumns()?this.headersWidthL+=1e3:(this.headersWidthL+=((e=this.scrollbarDimensions)==null?void 0:e.width)??0,this.headersWidthL=Math.max(this.headersWidthL,this.viewportW)+1e3),this.headersWidthL}getHeadersWidthR(){var e;return this.headersWidthR=0,this.columns.forEach((t,i)=>{t.hidden||this._options.frozenColumn>-1&&i>this._options.frozenColumn&&(this.headersWidthR+=t.width||0)}),this.hasFrozenColumns()&&(this.headersWidthR=Math.max(this.headersWidthR,this.viewportW)+this.getHeadersWidthL(),this.headersWidthR+=((e=this.scrollbarDimensions)==null?void 0:e.width)??0),this.headersWidthR}getCanvasWidth(){var s;const e=this.viewportHasVScroll?this.viewportW-(((s=this.scrollbarDimensions)==null?void 0:s.width)??0):this.viewportW;let t=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;t--;)!this.columns[t]||this.columns[t].hidden||(this.hasFrozenColumns()&&t>this._options.frozenColumn?this.canvasWidthR+=this.columns[t].width||0:this.canvasWidthL+=this.columns[t].width||0);let i=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const n=Math.max(i,e)-i;n>0&&(i+=n,this.hasFrozenColumns()?this.canvasWidthR+=n:this.canvasWidthL+=n)}return i}updateCanvasWidth(e){var r,o,h,u,c;const t=this.canvasWidth,i=this.canvasWidthL,s=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth();const n=this.canvasWidth!==t||this.canvasWidthL!==i||this.canvasWidthR!==s;if(n||this.hasFrozenColumns()||this.hasFrozenRows)if(ne.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),ne.width(this._headerL,this.headersWidthL),ne.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const f=ne.width(this._container)||0;if(f>0&&this.canvasWidthL>f&&this._options.throwWhenFrozenNotAllViewable)throw new Error("[SlickGrid] Frozen columns cannot be wider than the actual grid container width. Make sure to have less columns freezed or make your grid container wider");ne.width(this._canvasTopR,this.canvasWidthR),ne.width(this._paneHeaderL,this.canvasWidthL),ne.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),ne.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),ne.width(this._paneTopL,this.canvasWidthL),ne.setStyleSize(this._paneTopR,"left",this.canvasWidthL),ne.width(this._paneTopR,this.viewportW-this.canvasWidthL),ne.width(this._headerRowScrollerL,this.canvasWidthL),ne.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),ne.width(this._headerRowL,this.canvasWidthL),ne.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(ne.width(this._footerRowScrollerL,this.canvasWidthL),ne.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),ne.width(this._footerRowL,this.canvasWidthL),ne.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&ne.width(this._preHeaderPanel,this.canvasWidth),ne.width(this._viewportTopL,this.canvasWidthL),ne.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(ne.width(this._paneBottomL,this.canvasWidthL),ne.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),ne.width(this._viewportBottomL,this.canvasWidthL),ne.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),ne.width(this._canvasBottomL,this.canvasWidthL),ne.width(this._canvasBottomR,this.canvasWidthR))}else ne.width(this._paneHeaderL,"100%"),ne.width(this._paneTopL,"100%"),ne.width(this._headerRowScrollerL,"100%"),ne.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(ne.width(this._footerRowScrollerL,"100%"),ne.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&ne.width(this._preHeaderPanel,this.canvasWidth),ne.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(ne.width(this._viewportBottomL,"100%"),ne.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((r=this.scrollbarDimensions)==null?void 0:r.width)??0),ne.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll?((o=this.scrollbarDimensions)==null?void 0:o.width)??0:0)),ne.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll?((h=this.scrollbarDimensions)==null?void 0:h.width)??0:0)),this._options.createFooterRow&&(ne.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll?((u=this.scrollbarDimensions)==null?void 0:u.width)??0:0)),ne.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll?((c=this.scrollbarDimensions)==null?void 0:c.width)??0:0))),(n||e)&&this.applyColumnWidths()}disableSelection(e){e.forEach(t=>{t.setAttribute("unselectable","on"),t.style.mozUserSelect="none",this._bindingEventService.bind(t,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let e=1e6;const t=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,i=Y("div",{style:{display:"hidden"}},document.body);for(;;){const s=e*2;ne.height(i,s);const n=ne.height(i);if(s>t||n!==s)break;e=s}return i.remove(),e}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var e,t;return{width:this.viewportHasVScroll?((e=this.scrollbarDimensions)==null?void 0:e.width)??0:0,height:this.viewportHasHScroll?((t=this.scrollbarDimensions)==null?void 0:t.height)??0:0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let e=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(e=e.parentNode)!==document.body&&e;)(e===this._viewportTopL||e.scrollWidth!==e.clientWidth||e.scrollHeight!==e.clientHeight)&&(this._boundAncestors.push(e),this._bindingEventService.bind(e,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(e=>{this._bindingEventService.unbindByEventName(e,"scroll")}),this._boundAncestors=[]}updateColumnHeader(e,t,i){if(!this.initialized)return;const s=this.getColumnIndex(e);if(!jt(s))return;const n=this.columns[s],r=this.getColumnByIndex(s);r&&(t!==void 0&&(this.columns[s].name=t),i!==void 0&&(this.columns[s].toolTip=i),this.trigger(this.onBeforeHeaderCellDestroy,{node:r,column:n,grid:this}),r.setAttribute("title",i||""),t!==void 0&&this.applyHtmlCode(r.children[0],t),this.trigger(this.onHeaderCellRendered,{node:r,column:n,grid:this}))}getHeader(e){if(!e)return this.hasFrozenColumns()?this._headers:this._headerL;const t=this.getColumnIndex(e.id);return this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(e){const t=typeof e=="number"?e:this.getColumnIndex(e),i=this.hasFrozenColumns()?t<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?t<=this._options.frozenColumn?t:t-this._options.frozenColumn-1:t;return i.children[s]}getHeaderRow(){return this.hasFrozenColumns()?this._headerRows:this._headerRows[0]}getFooterRow(){return this.hasFrozenColumns()?this._footerRow:this._footerRow[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getHeaderRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._headerRowL:(i=this._headerRowR,t-=this._options.frozenColumn+1):i=this._headerRowL,i.children[t]}getFooterRowColumn(e){let t=typeof e=="number"?e:this.getColumnIndex(e),i;return this.hasFrozenColumns()?t<=this._options.frozenColumn?i=this._footerRowL:(i=this._footerRowR,t-=this._options.frozenColumn+1):i=this._footerRowL,i.children[t]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(e=>{e.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");this.trigger(this.onBeforeFooterRowCellDestroy,{node:i,column:s,grid:this})})}),Pt(this._footerRowL),Pt(this._footerRowR);for(let e=0;e<this.columns.length;e++){const t=this.columns[e];if(!t||t.hidden)continue;const i=Y("div",{className:`ui-state-default slick-state-default slick-footerrow-column l${e} r${e}`},this.hasFrozenColumns()&&e>this._options.frozenColumn?this._footerRowR:this._footerRowL),s=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;s&&i.classList.add(s),ne.storage.put(i,"column",t),this.trigger(this.onFooterRowCellRendered,{node:i,column:t,grid:this})}}}handleHeaderMouseHoverOn(e){e==null||e.target.classList.add("ui-state-hover","slick-state-hover")}handleHeaderMouseHoverOff(e){e==null||e.target.classList.remove("ui-state-hover","slick-state-hover")}createColumnHeaders(){this._headers.forEach(e=>{e.querySelectorAll(".slick-header-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeHeaderCellDestroy,{node:i,column:s,grid:this})})}),Pt(this._headerL),Pt(this._headerR),this.getHeadersWidth(),ne.width(this._headerL,this.headersWidthL),ne.width(this._headerR,this.headersWidthR),this._headerRows.forEach(e=>{e.querySelectorAll(".slick-headerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeHeaderRowCellDestroy,{node:this,column:s,grid:this})})}),Pt(this._headerRowL),Pt(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(t=>{const i=ne.storage.get(t,"column");i&&this.trigger(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),Pt(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(i=>{const s=ne.storage.get(i,"column");s&&this.trigger(this.onBeforeFooterRowCellDestroy,{node:this,column:s,grid:this})}),Pt(this._footerRowR)));for(let e=0;e<this.columns.length;e++){const t=this.columns[e],i=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,s=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerRowL:this._headerRowR:this._headerRowL,n=Y("div",{id:`${this.uid+t.id}`,dataset:{id:String(t.id)},className:"ui-state-default slick-state-default slick-header-column",title:t.toolTip||""},i),r=Y("span",{className:"slick-column-name"},n);this.applyHtmlCode(r,t.name),ne.width(n,t.width-this.headerColumnWidthDiff);let o=t.headerCssClass||null;if(o&&n.classList.add(...o.split(" ")),o=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null,o&&n.classList.add(o),this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseEnter.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseLeave.bind(this)),ne.storage.put(n,"column",t),(this._options.enableColumnReorder||t.sortable)&&(this._bindingEventService.bind(n,"mouseenter",this.handleHeaderMouseHoverOn.bind(this)),this._bindingEventService.bind(n,"mouseleave",this.handleHeaderMouseHoverOff.bind(this))),t.hasOwnProperty("headerCellAttrs")&&t.headerCellAttrs instanceof Object)for(const h in t.headerCellAttrs)t.headerCellAttrs.hasOwnProperty(h)&&n.setAttribute(h,t.headerCellAttrs[h]);if(t.sortable&&(n.classList.add("slick-header-sortable"),Y("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},n),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&Y("div",{className:"slick-sort-indicator-numbered"},n)),this.trigger(this.onHeaderCellRendered,{node:n,column:t,grid:this}),this._options.showHeaderRow){const h=Y("div",{className:`ui-state-default slick-state-default slick-headerrow-column l${e} r${e}`},s),u=this.hasFrozenColumns()&&e<=this._options.frozenColumn?"frozen":null;u&&h.classList.add(u),this._bindingEventService.bind(h,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(h,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),ne.storage.put(h,"column",t),this.trigger(this.onHeaderRowCellRendered,{node:h,column:t,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const h=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],u=Y("div",{className:`ui-state-default slick-state-default slick-footerrow-column l${e} r${e}`},h);ne.storage.put(u,"column",t),this.trigger(this.onFooterRowCellRendered,{node:u,column:t,grid:this})}}this.setSortColumns(this.sortColumns),this.setupColumnResize(),this._options.enableColumnReorder&&(typeof this._options.enableColumnReorder=="function"?this._options.enableColumnReorder(this,this._headers,this.headerColumnWidthDiff,this.setColumns,this.setupColumnResize,this.columns,this.getColumnIndex,this.uid,this.trigger):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(e=>{this._bindingEventService.bind(e,"click",t=>{var n;if(this.columnResizeDragging||t.target.classList.contains("slick-resizable-handle"))return;const i=t.target.closest(".slick-header-column");if(!i)return;const s=ne.storage.get(i,"column");if(s.sortable){if(!((n=this.getEditorLock())!=null&&n.commitCurrentEdit()))return;const r=this.sortColumns.slice();let o=null,h=0;for(;h<this.sortColumns.length;h++)if(this.sortColumns[h].columnId===s.id){o=this.sortColumns[h],o.sortAsc=!o.sortAsc;break}const u=!!o;this._options.tristateMultiColumnSort?(o||(o={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s}),u&&o.sortAsc&&(this.sortColumns.splice(h,1),o=null),this._options.multiColumnSort||(this.sortColumns=[]),o&&(!u||!this._options.multiColumnSort)&&this.sortColumns.push(o)):t.metaKey&&this._options.multiColumnSort?o&&this.sortColumns.splice(h,1):((!t.shiftKey&&!t.metaKey||!this._options.multiColumnSort)&&(this.sortColumns=[]),o?this.sortColumns.length===0&&this.sortColumns.push(o):(o={columnId:s.id,sortAsc:s.defaultSortAsc,sortCol:s},this.sortColumns.push(o)));let c;this._options.multiColumnSort?c={multiColumnSort:!0,previousSortColumns:r,sortCols:this.sortColumns.map(f=>({columnId:this.columns[this.getColumnIndex(f.columnId)].id,sortCol:this.columns[this.getColumnIndex(f.columnId)],sortAsc:f.sortAsc}))}:c={multiColumnSort:!1,previousSortColumns:r,columnId:this.sortColumns.length>0?s.id:null,sortCol:this.sortColumns.length>0?s:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.trigger(this.onBeforeSort,c,t).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.trigger(this.onSort,c,t))}})})}currentPositionInHeader(e){let t=0;return this._headers.forEach(i=>{i.querySelectorAll(".slick-header-column").forEach((n,r)=>{n.id===e&&(t=r)})}),t}remove(e,t){const i=e.lastIndexOf(t);i>-1&&(e.splice(i,1),this.remove(e,t))}setupColumnReorder(){var r,o;(r=this.sortableSideLeftInstance)==null||r.destroy(),(o=this.sortableSideRightInstance)==null||o.destroy();let e=null;const t=()=>this._viewportScrollContainerX.scrollLeft=this._viewportScrollContainerX.scrollLeft+10,i=()=>this._viewportScrollContainerX.scrollLeft=this._viewportScrollContainerX.scrollLeft-10;let s;const n={animation:50,direction:"horizontal",chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),onStart:h=>{s=!this.hasFrozenColumns()||ui(h.item).left>ui(this._viewportScrollContainerX).left,s&&h.originalEvent.pageX>this._container.clientWidth?e||(e=setInterval(t,100)):s&&h.originalEvent.pageX<ui(this._viewportScrollContainerX).left?e||(e=setInterval(i,100)):(clearInterval(e),e=null)},onEnd:h=>{var p,g,v;clearInterval(e),e=null;let u;if(!((p=this.getEditorLock())!=null&&p.commitCurrentEdit()))return;let c=((g=this.sortableSideLeftInstance)==null?void 0:g.toArray())??[];c=c.concat(((v=this.sortableSideRightInstance)==null?void 0:v.toArray())??[]);const f=[];for(let C=0;C<c.length;C++)f.push(this.columns[this.getColumnIndex(c[C])]);this.setColumns(f),this.trigger(this.onColumnsReordered,{impactedColumns:this.getImpactedColumns(u)}),h.stopPropagation(),this.setupColumnResize(),this.activeCellNode&&this.setFocus()}};this.sortableSideLeftInstance=ct.create(this._headerL,n),this.sortableSideRightInstance=ct.create(this._headerR,n)}getHeaderChildren(){const e=Array.from(this._headers[0].children),t=Array.from(this._headers[1].children);return e.concat(t)}getImpactedColumns(e){let t=[];if(e)for(let i=e.start;i<=e.end;i++)t.push(this.columns[i]);else t=this.columns;return t}handleResizeableHandleDoubleClick(e){const t=e.target.parentElement.id.replace(this.uid,"");this.trigger(this.onColumnsResizeDblClick,{triggeredByColumn:t})}setupColumnResize(){if(typeof tf>"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');let e,t,i,s,n,r,o,h=-1,u=0;const c=this.getHeaderChildren();for(let f=0;f<c.length;f++)c[f].querySelectorAll(".slick-resizable-handle").forEach(v=>v.remove()),!(f>=this.columns.length||!this.columns[f]||this.columns[f].hidden)&&this.columns[f].resizable&&(o===void 0&&(o=f),h=f);if(o!==void 0)for(let f=0;f<c.length;f++){const p=c[f];if(f>=this.columns.length||!this.columns[f]||this.columns[f].hidden||f<o||this._options.forceFitColumns&&f>=h)continue;const g=Y("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},p);this._bindingEventService.bind(g,"dblclick",this.handleResizeableHandleDoubleClick.bind(this)),this.slickResizableInstances.push(tf({resizeableElement:p,resizeableHandleElement:g,onResizeStart:(v,C)=>{var F;const w=v.touches?v.changedTouches[0]:v;if(!((F=this.getEditorLock())!=null&&F.commitCurrentEdit()))return!1;s=w.pageX,u=0,C.resizeableElement.classList.add("slick-header-column-active");let y=null,S=null;for(let X=0;X<c.length;X++)X>=this.columns.length||!this.columns[X]||this.columns[X].hidden||(this.columns[X].previousWidth=c[X].offsetWidth);if(this._options.forceFitColumns)for(y=0,S=0,e=f+1;e<this.columns.length;e++)i=this.columns[e],i&&i.resizable&&!i.hidden&&(S!==null&&(i.maxWidth?S+=i.maxWidth-(i.previousWidth||0):S=null),y+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));let O=0,I=0;for(e=0;e<=f;e++)i=this.columns[e],i&&i.resizable&&!i.hidden&&(I!==null&&(i.maxWidth?I+=i.maxWidth-(i.previousWidth||0):I=null),O+=(i.previousWidth||0)-Math.max(i.minWidth||0,this.absoluteColumnMinWidth));y===null&&(y=1e5),O===null&&(O=1e5),S===null&&(S=1e5),I===null&&(I=1e5),r=s+Math.min(y,I),n=s-Math.min(O,S)},onResize:(v,C)=>{var K;const w=v.touches?v.changedTouches[0]:v;this.columnResizeDragging=!0;let y;const S=Math.min(r,Math.max(n,w.pageX))-s;let O,I=0,F=0;const X=this.viewportHasVScroll?this.viewportW-(((K=this.scrollbarDimensions)==null?void 0:K.width)??0):this.viewportW;if(S<0){for(O=S,e=f;e>=0;e--)i=this.columns[e],i&&i.resizable&&!i.hidden&&(y=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),O&&(i.previousWidth||0)+O<y?(O+=(i.previousWidth||0)-y,i.width=y):(i.width=(i.previousWidth||0)+O,O=0));for(t=0;t<=f;t++)i=this.columns[t],!(!i||i.hidden)&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O?(O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+O,O=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);else for(e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O?(O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth):(i.width=(i.previousWidth||0)+O,O=0))}else{for(O=S,I=0,F=0,e=f;e>=0;e--)if(i=this.columns[e],!(!i||i.hidden)&&i.resizable)if(O&&i.maxWidth&&i.maxWidth-(i.previousWidth||0)<O)O-=i.maxWidth-(i.previousWidth||0),i.width=i.maxWidth;else{const ee=(i.previousWidth||0)+O,Q=this.canvasWidthL+O;this.hasFrozenColumns()&&e<=this._options.frozenColumn?(ee>u&&Q<X-this._options.frozenRightViewportMinWidth&&(u=ee),i.width=Q+this._options.frozenRightViewportMinWidth>X?u:ee):i.width=ee,O=0}for(t=0;t<=f;t++)i=this.columns[t],!(!i||i.hidden)&&(this.hasFrozenColumns()&&t>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);if(this._options.forceFitColumns)for(O=-S,e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&i.resizable&&(y=Math.max(i.minWidth||0,this.absoluteColumnMinWidth),O&&(i.previousWidth||0)+O<y?(O+=(i.previousWidth||0)-y,i.width=y):(i.width=(i.previousWidth||0)+O,O=0),this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0);else for(e=f+1;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?F+=i.width||0:I+=i.width||0)}this.hasFrozenColumns()&&I!==this.canvasWidthL&&(ne.width(this._headerL,I+1e3),ne.setStyleSize(this._paneHeaderR,"left",I)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.trigger(this.onColumnsDrag,{triggeredByColumn:C.resizeableElement,resizeHandle:C.resizeableHandleElement})},onResizeEnd:(v,C)=>{C.resizeableElement.classList.remove("slick-header-column-active");const w=C.resizeableElement.id.replace(this.uid,"");this.trigger(this.onBeforeColumnsResize,{triggeredByColumn:w}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let y;for(e=0;e<this.columns.length;e++)i=this.columns[e],!(!i||i.hidden)&&(y=c[e].offsetWidth,i.previousWidth!==y&&i.rerenderOnResize&&this.invalidateAllRows());this.updateCanvasWidth(!0),this.render(),this.trigger(this.onColumnsResized,{triggeredByColumn:w}),setTimeout(()=>{this.columnResizeDragging=!1},300)}}))}}getVBoxDelta(e){const t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=getComputedStyle(e);let s=0;return t.forEach(n=>s+=ne.toFloat(i[n])),s}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn<this.columns.length?parseInt(this._options.frozenColumn,10):-1,this._options.frozenRow>-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const e=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?e-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneVisibility(){this.hasFrozenColumns()?(ne.show(this._paneHeaderR),ne.show(this._paneTopR),this.hasFrozenRows?(ne.show(this._paneBottomL),ne.show(this._paneBottomR)):(ne.hide(this._paneBottomR),ne.hide(this._paneBottomL))):(ne.hide(this._paneHeaderR),ne.hide(this._paneTopR),ne.hide(this._paneBottomR),this.hasFrozenRows?ne.show(this._paneBottomL):(ne.hide(this._paneBottomR),ne.hide(this._paneBottomL)))}setOverflow(){this._viewportTopL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportTopR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"scroll":this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"hidden":"auto",this._viewportTopR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?this.hasFrozenRows?"scroll":"auto":this.hasFrozenRows?"scroll":"auto",this._viewportBottomL.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomL.style.overflowY=!this.hasFrozenColumns()&&this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"hidden"):this.hasFrozenRows?"scroll":"auto",this._viewportBottomR.style.overflowX=this.hasFrozenColumns()?this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll?"scroll":"auto":(this.hasFrozenRows&&!this._options.alwaysAllowHorizontalScroll,"auto"),this._viewportBottomR.style.overflowY=this._options.alwaysShowVerticalScroll?"scroll":this.hasFrozenColumns()?(this.hasFrozenRows,"auto"):(this.hasFrozenRows,"auto"),this._options.viewportClass&&(this._viewportTopL.classList.add(...this._options.viewportClass.split(" ")),this._viewportTopR.classList.add(...this._options.viewportClass.split(" ")),this._viewportBottomL.classList.add(...this._options.viewportClass.split(" ")),this._viewportBottomR.classList.add(...this._options.viewportClass.split(" ")))}setScroller(){this.hasFrozenColumns()?(this._headerScrollContainer=this._headerScrollerR,this._headerRowScrollContainer=this._headerRowScrollerR,this._footerRowScrollContainer=this._footerRowScrollerR,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomR,this._viewportScrollContainerY=this._viewportTopR):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomR:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopR):(this._headerScrollContainer=this._headerScrollerL,this._headerRowScrollContainer=this._headerRowScrollerL,this._footerRowScrollContainer=this._footerRowScrollerL,this.hasFrozenRows?this._options.frozenBottom?(this._viewportScrollContainerX=this._viewportBottomL,this._viewportScrollContainerY=this._viewportTopL):this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportBottomL:this._viewportScrollContainerX=this._viewportScrollContainerY=this._viewportTopL)}measureCellPaddingAndBorder(){const e=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let s=Y("div",{className:"ui-state-default slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),n=getComputedStyle(s);n.boxSizing!=="border-box"&&(e.forEach(o=>this.headerColumnWidthDiff+=ne.toFloat(n[o])),t.forEach(o=>this.headerColumnHeightDiff+=ne.toFloat(n[o]))),s.remove();const r=Y("div",{className:"slick-row"},this._canvas[0]);s=Y("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},r),n=getComputedStyle(s),n.boxSizing!=="border-box"&&(e.forEach(o=>this.cellWidthDiff+=ne.toFloat(n[o])),t.forEach(o=>this.cellHeightDiff+=ne.toFloat(n[o]))),r.remove(),this.absoluteColumnMinWidth=Math.max(this.headerColumnWidthDiff,this.cellWidthDiff)}createCssRules(){this._style=document.createElement("style"),this._style.nonce=this._options.nonce||"",(this._options.shadowRoot||document.head).appendChild(this._style);const e=this._options.rowHeight-this.cellHeightDiff,t=[`.${this.uid} .slick-group-header-column { left: 1000px; }`,`.${this.uid} .slick-header-column { left: 1000px; }`,`.${this.uid} .slick-top-panel { height: ${this._options.topPanelHeight}px; }`,`.${this.uid} .slick-preheader-panel { height: ${this._options.preHeaderPanelHeight}px; }`,`.${this.uid} .slick-headerrow-columns { height: ${this._options.headerRowHeight}px; }`,`.${this.uid} .slick-footerrow-columns { height: ${this._options.footerRowHeight}px; }`,`.${this.uid} .slick-cell { height: ${e}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],i=this._style.sheet;if(i){for(const s of t)i.insertRule(s);for(let s=0;s<this.columns.length;s++)!this.columns[s]||this.columns[s].hidden||(i.insertRule(`.${this.uid} .l${s} { }`),i.insertRule(`.${this.uid} .r${s} { }`))}else this.createCssRulesAlternative(t)}createCssRulesAlternative(e){const t=document.createElement("template");t.innerHTML='<style type="text/css" rel="stylesheet" />',this._style=t.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let i=0;i<this.columns.length;i++)!this.columns[i]||this.columns[i].hidden||(e.push(`.${this.uid} .l${i} { }`),e.push(`.${this.uid} .r${i} { }`));this._style.styleSheet?this._style.styleSheet.cssText=e.join(" "):this._style.appendChild(document.createTextNode(e.join(" ")))}getColumnCssRules(e){let t;if(!this.stylesheet){const i=(this._options.shadowRoot||document).styleSheets;for(this._options.devMode&&typeof this._options.devMode.ownerNodeIndex=="number"&&this._options.devMode.ownerNodeIndex>=0&&(i[this._options.devMode.ownerNodeIndex].ownerNode=this._style),t=0;t<i.length;t++){const o=i[t];if((o.ownerNode||o.owningElement)===this._style){this.stylesheet=o;break}}if(!this.stylesheet)throw new Error("SlickGrid Cannot find stylesheet.");this.columnCssRulesL=[],this.columnCssRulesR=[];const s=this.stylesheet.cssRules||this.stylesheet.rules;let n,r;for(t=0;t<s.length;t++){const o=s[t].selectorText;(n=/\.l\d+/.exec(o))?(r=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesL[r]=s[t]):(n=/\.r\d+/.exec(o))&&(r=parseInt(n[0].substr(2,n[0].length-2),10),this.columnCssRulesR[r]=s[t])}}return{left:this.columnCssRulesL[e],right:this.columnCssRulesR[e]}}removeCssRules(){var e;(e=this._style)==null||e.remove(),this.stylesheet=null}destroy(e){var n,r,o,h;this._bindingEventService.unbindAll(),this.slickDraggableInstance=this.destroyAllInstances(this.slickDraggableInstance),this.slickMouseWheelInstances=this.destroyAllInstances(this.slickMouseWheelInstances),this.slickResizableInstances=this.destroyAllInstances(this.slickResizableInstances),(n=this.getEditorLock())==null||n.cancelCurrentEdit(),this.trigger(this.onBeforeDestroy,{});let t=this.plugins.length;for(;t--;)this.unregisterPlugin(this.plugins[t]);this._options.enableColumnReorder&&typeof((r=this.sortableSideLeftInstance)==null?void 0:r.destroy)=="function"&&((o=this.sortableSideLeftInstance)==null||o.destroy(),(h=this.sortableSideRightInstance)==null||h.destroy()),this.unbindAncestorScrollEvents(),this._bindingEventService.unbindByEventName(this._container,"resize"),this.removeCssRules(),this._canvas.forEach(u=>{this._bindingEventService.unbindByEventName(u,"keydown"),this._bindingEventService.unbindByEventName(u,"click"),this._bindingEventService.unbindByEventName(u,"dblclick"),this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"mouseover"),this._bindingEventService.unbindByEventName(u,"mouseout")}),this._viewport.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._headerScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"click")}),this._headerRowScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._footerRow&&this._footerRow.forEach(u=>{this._bindingEventService.unbindByEventName(u,"contextmenu"),this._bindingEventService.unbindByEventName(u,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const i=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(i,u=>{this._bindingEventService.unbindByEventName(u,"dblclick")});const s=this._container.querySelectorAll(".slick-header-column");[].forEach.call(s,u=>{this._bindingEventService.unbindByEventName(u,"mouseenter"),this._bindingEventService.unbindByEventName(u,"mouseleave"),this._bindingEventService.unbindByEventName(u,"mouseenter"),this._bindingEventService.unbindByEventName(u,"mouseleave")}),Pt(this._container),this._container.classList.remove(this.uid),e&&this.destroyAllElements()}destroyAllInstances(e){if(e){const t=Array.isArray(e)?e:[e];let i;for(;jt(i=t.pop());)i&&typeof i.destroy=="function"&&i.destroy()}return e=Array.isArray(e)?[]:null,e}destroyAllElements(){this._activeCanvasNode=null,this._activeViewportNode=null,this._boundAncestors=null,this._canvas=null,this._canvasTopL=null,this._canvasTopR=null,this._canvasBottomL=null,this._canvasBottomR=null,this._container=null,this._focusSink=null,this._focusSink2=null,this._groupHeaders=null,this._groupHeadersL=null,this._groupHeadersR=null,this._headerL=null,this._headerR=null,this._headers=null,this._headerRows=null,this._headerRowL=null,this._headerRowR=null,this._headerRowSpacerL=null,this._headerRowSpacerR=null,this._headerRowScrollContainer=null,this._headerRowScroller=null,this._headerRowScrollerL=null,this._headerRowScrollerR=null,this._headerScrollContainer=null,this._headerScroller=null,this._headerScrollerL=null,this._headerScrollerR=null,this._hiddenParents=null,this._footerRow=null,this._footerRowL=null,this._footerRowR=null,this._footerRowSpacerL=null,this._footerRowSpacerR=null,this._footerRowScroller=null,this._footerRowScrollerL=null,this._footerRowScrollerR=null,this._footerRowScrollContainer=null,this._preHeaderPanel=null,this._preHeaderPanelR=null,this._preHeaderPanelScroller=null,this._preHeaderPanelScrollerR=null,this._preHeaderPanelSpacer=null,this._preHeaderPanelSpacerR=null,this._topPanels=null,this._topPanelScrollers=null,this._style=null,this._topPanelScrollerL=null,this._topPanelScrollerR=null,this._topPanelL=null,this._topPanelR=null,this._paneHeaderL=null,this._paneHeaderR=null,this._paneTopL=null,this._paneTopR=null,this._paneBottomL=null,this._paneBottomR=null,this._viewport=null,this._viewportTopL=null,this._viewportTopR=null,this._viewportBottomL=null,this._viewportBottomR=null,this._viewportScrollContainerX=null,this._viewportScrollContainerY=null}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){var u;let e,t,i=0,s=0,n=0;const r=[],o=this.viewportHasVScroll?this.viewportW-(((u=this.scrollbarDimensions)==null?void 0:u.width)??0):this.viewportW;for(e=0;e<this.columns.length;e++)t=this.columns[e],!(!t||t.hidden)&&(r.push(t.width||0),s+=t.width||0,t.resizable&&(i+=(t.width||0)-Math.max(t.minWidth||0,this.absoluteColumnMinWidth)));for(n=s;s>o&&i;){const c=(s-o)/i;for(e=0;e<this.columns.length&&s>o;e++){if(t=this.columns[e],!t||t.hidden)continue;const f=r[e];if(!t.resizable||f<=t.minWidth||f<=this.absoluteColumnMinWidth)continue;const p=Math.max(t.minWidth,this.absoluteColumnMinWidth);let g=Math.floor(c*(f-p))||1;g=Math.min(g,f-p),s-=g,i-=g,r[e]-=g}if(n<=s)break;n=s}for(n=s;s<o;){const c=o/s;for(e=0;e<this.columns.length&&s<o;e++){if(t=this.columns[e],!t||t.hidden)continue;const f=r[e];let p;!t.resizable||t.maxWidth<=f?p=0:p=Math.min(Math.floor(c*f)-f,t.maxWidth-f||1e6)||1,s+=p,r[e]+=s<=o?p:0}if(n>=s)break;n=s}let h=!1;for(e=0;e<this.columns.length;e++)!t||t.hidden||(this.columns[e].rerenderOnResize&&this.columns[e].width!==r[e]&&(h=!0),this.columns[e].width=r[e]);this.reRenderColumns(h)}reRenderColumns(e){this.applyColumnHeaderWidths(),this.updateCanvasWidth(!0),this.trigger(this.onAutosizeColumns,{columns:this.columns}),e&&(this.invalidateAllRows(),this.render())}getVisibleColumns(){return this.columns.filter(e=>!e.hidden)}trigger(e,t,i){const s=i||new li(i,t),n=t||{};return n.grid=this,e.notify(n,s,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(e){return this.columnsById[e]}applyColumnHeaderWidths(){if(!this.initialized)return;let e=0;const t=this.getVisibleColumns();this._headers.forEach(i=>{for(let s=0;s<i.children.length;s++,e++){const n=i.children[s],o=((t[e]||{}).width||0)-this.headerColumnWidthDiff;ne.width(n)!==o&&ne.width(n,o)}}),this.updateColumnCaches()}applyColumnWidths(){var s;let e=0,t=0,i;for(let n=0;n<this.columns.length;n++)(s=this.columns[n])!=null&&s.hidden||(t=this.columns[n].width||0,i=this.getColumnCssRules(n),i.left.style.left=`${e}px`,i.right.style.right=(this._options.frozenColumn!==-1&&n>this._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-e-t+"px",this._options.frozenColumn!==n&&(e+=this.columns[n].width)),this._options.frozenColumn===n&&(e=0)}setSortColumn(e,t){this.setSortColumns([{columnId:e,sortAsc:t}])}getColumnByIndex(e){let t;return this._headers.every(i=>{const s=i.children.length;return e<s?(t=i.children[e],!1):(e-=s,!0)}),t}setSortColumns(e){this.sortColumns=e;const t=this._options.numberedMultiColumnSort&&this.sortColumns.length>1;this._headers.forEach(s=>{let n=s.querySelectorAll(".slick-header-column-sorted");n.forEach(r=>{r.classList.remove("slick-header-column-sorted")}),n=s.querySelectorAll(".slick-sort-indicator"),n.forEach(r=>{r.classList.remove("slick-sort-indicator-asc"),r.classList.remove("slick-sort-indicator-desc")}),n=s.querySelectorAll(".slick-sort-indicator-numbered"),n.forEach(r=>{r.textContent=""})});let i=1;this.sortColumns.forEach(s=>{jt(s.sortAsc)||(s.sortAsc=!0);const n=this.getColumnIndex(s.columnId);if(jt(n)){const r=this.getColumnByIndex(n);if(r){r.classList.add("slick-header-column-sorted");let o=r.querySelector(".slick-sort-indicator");o==null||o.classList.add(s.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),t&&(o=r.querySelector(".slick-sort-indicator-numbered"),o&&(o.textContent=String(i)))}}i++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(e,t){var r;const i=e.getNativeEvent(),s=this.selectedRows.slice(0);this.selectedRows=[];const n={};for(let o=0;o<t.length;o++)for(let h=t[o].fromRow;h<=t[o].toRow;h++){n[h]||(this.selectedRows.push(h),n[h]={});for(let u=t[o].fromCell;u<=t[o].toCell;u++)this.canCellBeSelected(h,u)&&(n[h][this.columns[u].id]=this._options.selectedCellCssClass)}if(this.setCellCssStyles(this._options.selectedCellCssClass||"",n),this.simpleArrayEquals(s,this.selectedRows)){const o=((r=i==null?void 0:i.detail)==null?void 0:r.caller)??"click",h=this.getSelectedRows().filter(c=>s.indexOf(c)<0),u=s.filter(c=>this.getSelectedRows().indexOf(c)<0);this.trigger(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:s,caller:o,changedSelectedRows:h,changedUnselectedRows:u},e)}}simpleArrayEquals(e,t){return Array.isArray(e)&&Array.isArray(t)&&t.sort().toString()!==e.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let e=0;for(let t=0,i=this.columns.length;t<i;t++)!this.columns[t]||this.columns[t].hidden||(this.columnPosLeft[t]=e,this.columnPosRight[t]=e+(this.columns[t].width||0),this._options.frozenColumn===t?e=0:e+=this.columns[t].width||0)}updateColumnProps(){this.columnsById={};for(let e=0;e<this.columns.length;e++){let t=this.columns[e];t.width&&(t.widthRequest=t.width),this._options.mixinDefaults?ne.applyDefaults(t,this._columnDefaults):t=this.columns[e]=ne.extend({},this._columnDefaults,t),this.columnsById[t.id]=e,t.minWidth&&(t.width||0)<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&(t.width||0)>t.maxWidth&&(t.width=t.maxWidth)}}setColumns(e){this.trigger(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:e,grid:this}),this.columns=e,this.updateColumnsInternal()}updateColumns(){this.trigger(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var e;this.updateColumnProps(),this.updateColumnCaches(),this.initialized&&(this.setPaneVisibility(),this.setOverflow(),this.invalidateAllRows(),this.createColumnHeaders(),this.createColumnFooter(),this.removeCssRules(),this.createCssRules(),this.resizeCanvas(),this.updateCanvasWidth(),this.applyColumnWidths(),this.handleScroll(),(e=this.getSelectionModel())==null||e.refreshSelections())}getOptions(){return this._options}setOptions(e,t,i,s){this.prepareForOptionsChange(),this._options.enableAddRow!==e.enableAddRow&&this.invalidateRow(this.getDataLength()),e.frozenColumn&&(this.getViewports().forEach(r=>r.scrollLeft=0),this.handleScroll());const n=ne.extend(!0,{},this._options);this._options=ne.extend(this._options,e),this.trigger(this.onSetOptions,{optionsBefore:n,optionsAfter:this._options}),this.internal_setOptions(t,i,s)}activateChangedOptions(e,t,i){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.trigger(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(e,t,i)}prepareForOptionsChange(){this.getEditorLock().commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(e,t,i){this._options.showColumnHeader!==void 0&&this.setColumnHeaderVisibility(this._options.showColumnHeader),this.validateAndEnforceOptions(),this.setFrozenOptions(),this._options.frozenBottom!==void 0&&(this.enforceFrozenRowHeightRecalc=!0),this._viewport.forEach(s=>{s.style.overflowY=this._options.autoHeight?"hidden":"auto"}),e||this.render(),this.setScroller(),i||this.setOverflow(),t||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(s=>{this.slickMouseWheelInstances.push(ef({element:s,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(e,t){this.data=e,this.invalidateAllRows(),this.updateRowCount(),t&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var e;return this.data.getLength?this.data.getLength():((e=this.data)==null?void 0:e.length)??0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(e){return this.data.getItem?this.data.getItem(e):this.data[e]}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(e,t,i){this._options[e]!==i&&(this._options[e]=i,i?(ne.show(t),this.resizeCanvas()):(ne.hide(t),this.resizeCanvas()))}setTopPanelVisibility(e){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,e)}setHeaderRowVisibility(e){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,e)}setColumnHeaderVisibility(e){this.togglePanelVisibility("showColumnHeader",this._headerScroller,e)}setFooterRowVisibility(e){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,e)}setPreHeaderPanelVisibility(e){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],e)}getContainerNode(){return this._container}getRowTop(e){return this._options.rowHeight*e-this.offset}getRowFromPosition(e){return Math.floor((e+this.offset)/this._options.rowHeight)}scrollTo(e){var s;e=Math.max(e,0),e=Math.min(e,(this.th||0)-ne.height(this._viewportScrollContainerY)+(this.viewportHasHScroll||this.hasFrozenColumns()?((s=this.scrollbarDimensions)==null?void 0:s.height)??0:0));const t=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(e/(this.ph||0)));const i=e-this.offset;if(this.offset!==t){const n=this.getVisibleRange(i);this.cleanupRows(n),this.updateRowPositions()}this.prevScrollTop!==i&&(this.vScrollDir=this.prevScrollTop+t<i+this.offset?1:-1,this.lastRenderedScrollTop=this.scrollTop=this.prevScrollTop=i,this.hasFrozenColumns()&&(this._viewportTopL.scrollTop=i),this.hasFrozenRows&&(this._viewportBottomL.scrollTop=this._viewportBottomR.scrollTop=i),this._viewportScrollContainerY&&(this._viewportScrollContainerY.scrollTop=i),this.trigger(this.onViewportChanged,{}))}defaultFormatter(e,t,i){return jt(i)?(i+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}getFormatter(e,t){var n,r,o;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e),s=(i==null?void 0:i.columns)&&(i.columns[t.id]||i.columns[this.getColumnIndex(t.id)]);return(s==null?void 0:s.formatter)||(i==null?void 0:i.formatter)||t.formatter||((o=this._options.formatterFactory)==null?void 0:o.getFormatter(t))||this._options.defaultFormatter}getEditor(e,t){var r,o,h,u,c,f;const i=this.columns[t],s=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,e),n=s==null?void 0:s.columns;return((h=n==null?void 0:n[i.id])==null?void 0:h.editor)!==void 0?n[i.id].editor:((u=n==null?void 0:n[t])==null?void 0:u.editor)!==void 0?n[t].editor:i.editor||((f=(c=this._options)==null?void 0:c.editorFactory)==null?void 0:f.getEditor(i))}getDataItemValueForColumn(e,t){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(e,t):e[t.field]}appendRowHtml(e,t,i,s,n){var C,w;const r=this.getDataItem(i),o=i<n&&!r;let h="slick-row"+(this.hasFrozenRows&&i<=this._options.frozenRow?" frozen":"")+(o?" loading":"")+(i===this.activeRow&&this._options.showCellSelection?" active":"")+(i%2===1?" odd":" even");r||(h+=" "+this._options.addNewRowCssClass);const u=(w=(C=this.data)==null?void 0:C.getItemMetadata)==null?void 0:w.call(C,i);u!=null&&u.cssClasses&&(h+=" "+u.cssClasses);const c=this.getFrozenRowOffset(i),f=Y("div",{className:`ui-widget-content ${h}`,style:{top:`${this.getRowTop(i)-c}px`}});let p;e.push(f),this.hasFrozenColumns()&&(p=f.cloneNode(!0),t.push(p));let g,v;for(let y=0,S=this.columns.length;y<S;y++)if(v=this.columns[y],!(!v||v.hidden)){if(g=1,u!=null&&u.columns){const O=u.columns[v.id]||u.columns[y];g=(O==null?void 0:O.colspan)||1,g==="*"&&(g=S-y)}if(this.columnPosRight[Math.min(S-1,y+g-1)]>s.leftPx){if(!v.alwaysRenderColumn&&this.columnPosLeft[y]>s.rightPx)break;this.hasFrozenColumns()&&y>this._options.frozenColumn?this.appendCellHtml(p,i,y,g,r):this.appendCellHtml(f,i,y,g,r)}else(v.alwaysRenderColumn||this.hasFrozenColumns()&&y<=this._options.frozenColumn)&&this.appendCellHtml(f,i,y,g,r);g>1&&(y+=g-1)}}appendCellHtml(e,t,i,s,n){var C;const r=this.columns[i];let o="slick-cell l"+i+" r"+Math.min(this.columns.length-1,i+s-1)+(r.cssClass?" "+r.cssClass:"");this.hasFrozenColumns()&&i<=this._options.frozenColumn&&(o+=" frozen"),t===this.activeRow&&i===this.activeCell&&this._options.showCellSelection&&(o+=" active");for(const w in this.cellCssClasses)(C=this.cellCssClasses[w][t])!=null&&C[r.id]&&(o+=" "+this.cellCssClasses[w][t][r.id]);let h=null,u="";n&&(h=this.getDataItemValueForColumn(n,r),u=this.getFormatter(t,r)(t,i,h,r,n,this),u==null&&(u=""));const f=this.trigger(this.onBeforeAppendCell,{row:t,cell:i,value:h,dataContext:n}).getReturnValue();let p=typeof f=="string"?f:"";u!=null&&u.addClasses&&(p+=(p?" ":"")+u.addClasses);const g=u!=null&&u.toolTip?`${u.toolTip}`:"",v=document.createElement("div");if(v.className=`${o} ${p||""}`.trim(),v.setAttribute("title",g),r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object)for(const w in r.cellAttrs)r.cellAttrs.hasOwnProperty(w)&&v.setAttribute(w,r.cellAttrs[w]);if(n){const w=Mr(u)?u:u.html||u.text;this.applyHtmlCode(v,w)}e.appendChild(v),u.insertElementAfterTarget&&Xu(v,u.insertElementAfterTarget),this.rowsCache[t].cellRenderQueue.push(i),this.rowsCache[t].cellColSpans[i]=s}cleanupRows(e){for(const t in this.rowsCache)if(this.rowsCache){let i=+t,s=!0;this.hasFrozenRows&&(this._options.frozenBottom&&i>=this.actualFrozenRow||!this._options.frozenBottom&&i<=this.actualFrozenRow)&&(s=!1),(i=parseInt(t,10))!==this.activeRow&&(i<e.top||i>e.bottom)&&s&&this.removeRowFromCache(i)}this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal();for(const e in this.rowsCache)this.rowsCache&&this.removeRowFromCache(+e);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(e){if(!e||!e.length)return;this.vScrollDir=0;const t=e.length;for(let i=0;i<t;i++)this.currentEditor&&this.activeRow===e[i]&&this.makeActiveCellNormal(),this.rowsCache[e[i]]&&this.removeRowFromCache(e[i]);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRow(e){!e&&e!==0||this.invalidateRows([e])}queuePostProcessedRowForCleanup(e,t,i){var s;this.postProcessgroupId++;for(const n in t)t.hasOwnProperty(n)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e.cellNodesByColumnIdx[+n],columnIdx:+n,rowIdx:i});e.rowNode||(e.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:e.rowNode}),(s=e.rowNode)==null||s.forEach(n=>n.remove())}queuePostProcessedCellForCleanup(e,t,i){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:e,columnIdx:t,rowIdx:i}),e.remove()}removeRowFromCache(e){var i;const t=this.rowsCache[e];!t||!t.rowNode||(this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[e]?this.queuePostProcessedRowForCleanup(t,this.postProcessedRows[e],e):(i=t.rowNode)==null||i.forEach(s=>{var n;return(n=s.parentElement)==null?void 0:n.removeChild(s)}),delete this.rowsCache[e],delete this.postProcessedRows[e],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(e,t,i){if(e==null&&(e=""),Mr(e)){this.applyHtmlCode(t,e);return}const s=e.html||e.text;this.applyHtmlCode(t,s),e.removeClasses&&!i&&e.removeClasses.split(" ").forEach(r=>t.classList.remove(r)),e.addClasses&&e.addClasses.split(" ").forEach(r=>t.classList.add(r)),e.toolTip&&t.setAttribute("title",e.toolTip)}updateCell(e,t){const i=this.getCellNode(e,t);if(!i)return;const s=this.columns[t],n=this.getDataItem(e);if(this.currentEditor&&this.activeRow===e&&this.activeCell===t)this.currentEditor.loadValue(n);else{const r=n?this.getFormatter(e,s)(e,t,this.getDataItemValueForColumn(n,s),s,n,this):"";this.applyFormatResultToCellNode(r,i),this.invalidatePostProcessingResults(e)}}updateRow(e){const t=this.rowsCache[e];if(!t)return;this.ensureCellNodesInRowsCache(e);let i;const s=this.getDataItem(e);for(const n in t.cellNodesByColumnIdx){if(!t.cellNodesByColumnIdx.hasOwnProperty(n))continue;const r=+n,o=this.columns[r],h=t.cellNodesByColumnIdx[r];e===this.activeRow&&r===this.activeCell&&this.currentEditor?this.currentEditor.loadValue(s):s?(i=this.getFormatter(e,o)(e,r,this.getDataItemValueForColumn(s,o),o,s,this),this.applyFormatResultToCellNode(i,h)):Pt(h)}this.invalidatePostProcessingResults(e)}getViewportRowCount(){var i;const e=this.getViewportHeight(),t=((i=this.getScrollbarDimensions())==null?void 0:i.height)??0;return Math.floor((e-t)/this._options.rowHeight)}getViewportHeight(){var e;if((!this._options.autoHeight||this._options.frozenColumn!==-1)&&(this.topPanelH=this._options.showTopPanel?this._options.topPanelHeight+this.getVBoxDelta(this._topPanelScrollers[0]):0,this.headerRowH=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,this.footerRowH=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0),this._options.autoHeight){let t=this._paneHeaderL.offsetHeight;t+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,t+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,t+=this.getCanvasWidth()>this.viewportW?((e=this.scrollbarDimensions)==null?void 0:e.height)??0:0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?t:0)}else{const t=this._options.showColumnHeader?ne.toFloat(ne.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,i=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,s=getComputedStyle(this._container);this.viewportH=ne.toFloat(s.height)-ne.toFloat(s.paddingTop)-ne.toFloat(s.paddingBottom)-t-this.topPanelH-this.headerRowH-this.footerRowH-i}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportWidth(){return this.viewportW=parseFloat(Pa(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var t,i,s;if(!this.initialized)return;if(this.paneTopH=0,this.paneBottomH=0,this.viewportTopH=0,this.viewportBottomH=0,this.getViewportWidth(),this.getViewportHeight(),this.hasFrozenRows?this._options.frozenBottom?(this.paneTopH=this.viewportH-this.frozenRowsHeight-(((t=this.scrollbarDimensions)==null?void 0:t.height)??0),this.paneBottomH=this.frozenRowsHeight+(((i=this.scrollbarDimensions)==null?void 0:i.height)??0)):(this.paneTopH=this.frozenRowsHeight,this.paneBottomH=this.viewportH-this.frozenRowsHeight):this.paneTopH=this.viewportH,this.paneTopH+=this.topPanelH+this.headerRowH+this.footerRowH,this.hasFrozenColumns()&&this._options.autoHeight&&(this.paneTopH+=((s=this.scrollbarDimensions)==null?void 0:s.height)??0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const n=getComputedStyle(this._headerScrollerL);ne.height(this._container,this.paneTopH+ne.toFloat(n.height))}this._paneTopL.style.position="relative"}ne.setStyleSize(this._paneTopL,"top",ne.height(this._paneHeaderL)||(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0)),ne.height(this._paneTopL,this.paneTopH);const e=this._paneTopL.offsetTop+this.paneTopH;this._options.autoHeight||ne.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()?(ne.setStyleSize(this._paneTopR,"top",ne.height(this._paneHeaderL)),ne.height(this._paneTopR,this.paneTopH),ne.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(ne.setStyleSize(this._paneBottomL,"top",e),ne.height(this._paneBottomL,this.paneBottomH),ne.setStyleSize(this._paneBottomR,"top",e),ne.height(this._paneBottomR,this.paneBottomH),ne.height(this._viewportBottomR,this.paneBottomH))):this.hasFrozenRows&&(ne.width(this._paneBottomL,"100%"),ne.height(this._paneBottomL,this.paneBottomH),ne.setStyleSize(this._paneBottomL,"top",e)),this.hasFrozenRows?(ne.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(ne.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&ne.height(this._canvasBottomR,this.frozenRowsHeight)):(ne.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&ne.height(this._canvasTopR,this.frozenRowsHeight))):ne.height(this._viewportTopR,this.viewportTopH),(!this.scrollbarDimensions||!this.scrollbarDimensions.width)&&(this.scrollbarDimensions=this.measureScrollbar()),this._options.forceFitColumns&&this.legacyAutosizeColumns(),this.updateRowCount(),this.handleScroll(),this.lastRenderedScrollLeft=-1,this.render()}updatePagingStatusFromView(e){this.pagingActive=e.pageSize!==0,this.pagingIsLastPage=e.pageNum===e.totalPages-1}updateRowCount(){var u,c;if(!this.initialized)return;const e=this.getDataLength(),t=this.getDataLengthIncludingAddNew();let i=0,s=this.hasFrozenRows&&!this._options.frozenBottom?ne.height(this._canvasBottomL):ne.height(this._canvasTopL);this.hasFrozenRows?i=this.getDataLength()-this._options.frozenRow:i=t+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const n=ne.height(this._viewportScrollContainerY),r=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&i*this._options.rowHeight>n,this.makeActiveCellNormal();const o=e-1;for(const f in this.rowsCache)Number(f)>o&&this.removeRowFromCache(+f);this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>o&&this.resetActiveCell(),s=this.h,this._options.autoHeight?this.h=this._options.rowHeight*i:(this.th=Math.max(this._options.rowHeight*i,n-(((u=this.scrollbarDimensions)==null?void 0:u.height)??0)),this.th<this.maxSupportedCssHeight?(this.h=this.ph=this.th,this.n=1,this.cj=0):(this.h=this.maxSupportedCssHeight,this.ph=this.h/100,this.n=Math.floor(this.th/this.ph),this.cj=(this.th-this.h)/(this.n-1))),(this.h!==s||this.enforceFrozenRowHeightRecalc)&&(this.hasFrozenRows&&!this._options.frozenBottom?(ne.height(this._canvasBottomL,this.h),this.hasFrozenColumns()&&ne.height(this._canvasBottomR,this.h)):(ne.height(this._canvasTopL,this.h),ne.height(this._canvasTopR,this.h)),this.scrollTop=this._viewportScrollContainerY.scrollTop,this.enforceFrozenRowHeightRecalc=!1);const h=this.scrollTop+this.offset<=this.th-n;this.th===0||this.scrollTop===0?this.page=this.offset=0:h?this.scrollTo(this.scrollTop+this.offset):this.scrollTo(this.th-n+(((c=this.scrollbarDimensions)==null?void 0:c.height)??0)),this.h!==s&&this._options.autoHeight&&this.resizeCanvas(),this._options.forceFitColumns&&r!==this.viewportHasVScroll&&this.legacyAutosizeColumns(),this.updateCanvasWidth(!1)}getViewport(e,t){return this.getVisibleRange(e,t)}getVisibleRange(e,t){return e??(e=this.scrollTop),t??(t=this.scrollLeft),{top:this.getRowFromPosition(e),bottom:this.getRowFromPosition(e+this.viewportH)+1,leftPx:t,rightPx:t+this.viewportW}}getRenderedRange(e,t){const i=this.getVisibleRange(e,t),s=Math.round(this.viewportH/this._options.rowHeight),n=this._options.minRowBuffer;return this.vScrollDir===-1?(i.top-=s,i.bottom+=n):this.vScrollDir===1?(i.top-=n,i.bottom+=s):(i.top-=n,i.bottom+=n),i.top=Math.max(0,i.top),i.bottom=Math.min(this.getDataLengthIncludingAddNew()-1,i.bottom),i.leftPx-=this.viewportW,i.rightPx+=this.viewportW,i.leftPx=Math.max(0,i.leftPx),i.rightPx=Math.min(this.canvasWidth,i.rightPx),i}ensureCellNodesInRowsCache(e){var i;const t=this.rowsCache[e];if(t!=null&&t.cellRenderQueue.length&&((i=t.rowNode)!=null&&i.length)){const s=t.rowNode;let n=Array.from(s[0].children);s.length>1&&(n=n.concat(Array.from(s[1].children)));let r=n.length-1;for(;t.cellRenderQueue.length;){const o=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[o]=n[r--]}}}cleanUpCells(e,t){var o,h;if(this.hasFrozenRows&&(this._options.frozenBottom&&t>this.actualFrozenRow||t<=this.actualFrozenRow))return;const i=this.rowsCache[t],s=[];for(const u in i.cellNodesByColumnIdx){if(!i.cellNodesByColumnIdx.hasOwnProperty(u))continue;const c=+u;if(c<=this._options.frozenColumn||Array.isArray(this.columns)&&this.columns[c]&&this.columns[c].alwaysRenderColumn)continue;const f=i.cellColSpans[c];(this.columnPosLeft[c]>e.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(c||0)+f-1)]<e.leftPx)&&(t===this.activeRow&&Number(c)===this.activeCell||s.push(c))}let n,r;for(;jt(n=s.pop());)r=i.cellNodesByColumnIdx[n],this._options.enableAsyncPostRenderCleanup&&((o=this.postProcessedRows[t])!=null&&o[n])?this.queuePostProcessedCellForCleanup(r,n,t):(h=r.parentElement)==null||h.removeChild(r),delete i.cellColSpans[n],delete i.cellNodesByColumnIdx[n],this.postProcessedRows[t]&&delete this.postProcessedRows[t][n]}cleanUpAndRenderCells(e){var u,c;let t;const i=document.createElement("div"),s=[];let n,r;for(let f=e.top,p=e.bottom;f<=p;f++){if(t=this.rowsCache[f],!t)continue;this.ensureCellNodesInRowsCache(f),this.cleanUpCells(e,f),n=0;let g=((c=(u=this.data)==null?void 0:u.getItemMetadata)==null?void 0:c.call(u,f))??{};g=g==null?void 0:g.columns;const v=this.getDataItem(f);for(let C=0,w=this.columns.length;C<w;C++){if(!this.columns[C]||this.columns[C].hidden)continue;if(this.columnPosLeft[C]>e.rightPx)break;if(jt(r=t.cellColSpans[C])){C+=r>1?r-1:0;continue}if(r=1,g){const S=g[this.columns[C].id]||g[C];r=(S==null?void 0:S.colspan)??1,r==="*"&&(r=w-C)}const y=r;this.columnPosRight[Math.min(w-1,C+y-1)]>e.leftPx&&(this.appendCellHtml(i,f,C,y,v),n++),C+=y>1?y-1:0}n&&s.push(f)}if(!i.children.length)return;let o,h;for(;jt(o=s.pop());){t=this.rowsCache[o];let f;for(;jt(f=t.cellRenderQueue.pop());)h=i.lastChild,h&&(this.hasFrozenColumns()&&f>this._options.frozenColumn?t.rowNode[1].appendChild(h):t.rowNode[0].appendChild(h),t.cellNodesByColumnIdx[f]=h)}}renderRows(e){var u,c,f,p;const t=[],i=[],s=[];let n=!1;const r=this.getDataLength();for(let g=e.top,v=e.bottom;g<=v;g++)this.rowsCache[g]||this.hasFrozenRows&&this._options.frozenBottom&&g===this.getDataLength()||(this.renderedRows++,s.push(g),this.rowsCache[g]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(t,i,g,e,r),this.activeCellNode&&this.activeRow===g&&(n=!0),this.counter_rows_rendered++);if(!s.length)return;const o=document.createElement("div"),h=document.createElement("div");t.forEach(g=>o.appendChild(g)),i.forEach(g=>h.appendChild(g));for(let g=0,v=s.length;g<v;g++)this.hasFrozenRows&&s[g]>=this.actualFrozenRow?this.hasFrozenColumns()?(u=this.rowsCache)!=null&&u.hasOwnProperty(s[g])&&o.firstChild&&h.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild,h.firstChild],this._canvasBottomL.appendChild(o.firstChild),this._canvasBottomR.appendChild(h.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(s[g])&&o.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild],this._canvasBottomL.appendChild(o.firstChild)):this.hasFrozenColumns()?(f=this.rowsCache)!=null&&f.hasOwnProperty(s[g])&&o.firstChild&&h.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild,h.firstChild],this._canvasTopL.appendChild(o.firstChild),this._canvasTopR.appendChild(h.firstChild)):(p=this.rowsCache)!=null&&p.hasOwnProperty(s[g])&&o.firstChild&&(this.rowsCache[s[g]].rowNode=[o.firstChild],this._canvasTopL.appendChild(o.firstChild));n&&(this.activeCellNode=this.getCellNode(this.activeRow,this.activeCell))}startPostProcessing(){this._options.enableAsyncPostRender&&(clearTimeout(this.h_postrender),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay))}startPostProcessingCleanup(){this._options.enableAsyncPostRenderCleanup&&(clearTimeout(this.h_postrenderCleanup),this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay))}invalidatePostProcessingResults(e){for(const t in this.postProcessedRows[e])this.postProcessedRows[e].hasOwnProperty(t)&&(this.postProcessedRows[e][t]="C");this.postProcessFromRow=Math.min(this.postProcessFromRow,e),this.postProcessToRow=Math.max(this.postProcessToRow,e),this.startPostProcessing()}updateRowPositions(){for(const e in this.rowsCache)if(this.rowsCache){const t=e?parseInt(e,10):0;ne.setStyleSize(this.rowsCache[t].rowNode[0],"top",this.getRowTop(t))}}render(){if(!this.initialized)return;this.scrollThrottle.dequeue();const e=this.getVisibleRange(),t=this.getRenderedRange();if(this.cleanupRows(t),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const i=ne.extend(!0,{},t);this._options.frozenBottom?(i.top=this.actualFrozenRow,i.bottom=this.getDataLength()):(i.top=0,i.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(i)}this.cleanUpAndRenderCells(t)}this.renderRows(t),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:t.leftPx,rightPx:t.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:t.leftPx,rightPx:t.rightPx})),this.postProcessFromRow=e.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,e.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.h_render=null,this.trigger(this.onRendered,{startRow:e.top,endRow:e.bottom,grid:this})}handleHeaderRowScroll(){const e=this._headerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleFooterRowScroll(){const e=this._footerRowScrollContainer.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleElementScroll(e){const t=e.scrollLeft;t!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=t)}handleScroll(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(e){let t=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,i=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;t=Math.max(0,t),i=Math.max(0,i),this.scrollTop>t&&(this.scrollTop=t),this.scrollLeft>i&&(this.scrollLeft=i);const s=Math.abs(this.scrollTop-this.prevScrollTop),n=Math.abs(this.scrollLeft-this.prevScrollLeft);if(n&&(this.prevScrollLeft=this.scrollLeft,this._viewportScrollContainerX.scrollLeft=this.scrollLeft,this._headerScrollContainer.scrollLeft=this.scrollLeft,this._topPanelScrollers[0].scrollLeft=this.scrollLeft,this._options.createFooterRow&&(this._footerRowScrollContainer.scrollLeft=this.scrollLeft),this._options.createPreHeaderPanel&&(this.hasFrozenColumns()?this._preHeaderPanelScrollerR.scrollLeft=this.scrollLeft:this._preHeaderPanelScroller.scrollLeft=this.scrollLeft),this.hasFrozenColumns()?(this.hasFrozenRows&&(this._viewportTopR.scrollLeft=this.scrollLeft),this._headerRowScrollerR.scrollLeft=this.scrollLeft):(this.hasFrozenRows&&(this._viewportTopL.scrollLeft=this.scrollLeft),this._headerRowScrollerL.scrollLeft=this.scrollLeft)),s&&!this._options.autoHeight)if(this.vScrollDir=this.prevScrollTop<this.scrollTop?1:-1,this.prevScrollTop=this.scrollTop,e&&(this._viewportScrollContainerY.scrollTop=this.scrollTop),this.hasFrozenColumns()&&(this.hasFrozenRows&&!this._options.frozenBottom?this._viewportBottomL.scrollTop=this.scrollTop:this._viewportTopL.scrollTop=this.scrollTop),s<this.viewportH)this.scrollTo(this.scrollTop+this.offset);else{const r=this.offset;this.h===this.viewportH?this.page=0:this.page=Math.min(this.n-1,Math.floor(this.scrollTop*((this.th-this.viewportH)/(this.h-this.viewportH))*(1/this.ph))),this.offset=Math.round(this.page*this.cj),r!==this.offset&&this.invalidateAllRows()}if(n||s){const r=Math.abs(this.lastRenderedScrollLeft-this.scrollLeft),o=Math.abs(this.lastRenderedScrollTop-this.scrollTop);(r>20||o>20)&&(this._options.forceSyncScrolling||o<this.viewportH&&r<this.viewportW?this.render():this.scrollThrottle.enqueue(),this.trigger(this.onViewportChanged,{}))}return this.trigger(this.onScroll,{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}),!!(n||s)}actionThrottle(e,t){let i=!1,s=!1;const n=()=>{i?s=!0:o()},r=()=>{s=!1},o=()=>{i=!0,setTimeout(h,t),e.call(this)},h=()=>{s?(r(),o()):i=!1};return{enqueue:n.bind(this),dequeue:r.bind(this)}}asyncPostProcessRows(){const e=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const t=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,i=this.rowsCache[t];if(!(!i||t>=e)){this.postProcessedRows[t]||(this.postProcessedRows[t]={}),this.ensureCellNodesInRowsCache(t);for(const s in i.cellNodesByColumnIdx){if(!i.cellNodesByColumnIdx.hasOwnProperty(s))continue;const n=+s,r=this.columns[n],o=this.postProcessedRows[t][n];if(r.asyncPostRender&&o!=="R"){const h=i.cellNodesByColumnIdx[n];h&&r.asyncPostRender(h,t,this.getDataItem(t),r,o==="C"),this.postProcessedRows[t][n]="R"}}this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const e=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===e;){const t=this.postProcessedCleanupQueue.shift();if((t==null?void 0:t.actionType)==="R"&&t.node.forEach(i=>{i.remove()}),(t==null?void 0:t.actionType)==="C"){const i=this.columns[t.columnIdx];i.asyncPostRenderCleanup&&t.node&&i.asyncPostRenderCleanup(t.node,t.rowIdx,i)}}this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(e,t){let i,s,n,r;for(const o in this.rowsCache)if(this.rowsCache){if(r=t==null?void 0:t[o],n=e==null?void 0:e[o],r)for(s in r)(!n||r[s]!==n[s])&&(i=this.getCellNode(+o,this.getColumnIndex(s)),i&&i.classList.remove(r[s]));if(n)for(s in n)(!r||r[s]!==n[s])&&(i=this.getCellNode(+o,this.getColumnIndex(s)),i&&i.classList.add(n[s]))}}addCellCssStyles(e,t){if(this.cellCssClasses[e])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${e}" already exists.`);this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,null),this.trigger(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}removeCellCssStyles(e){this.cellCssClasses[e]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[e]),delete this.cellCssClasses[e],this.trigger(this.onCellCssStylesChanged,{key:e,hash:null,grid:this}))}setCellCssStyles(e,t){const i=this.cellCssClasses[e];this.cellCssClasses[e]=t,this.updateCellCssStylesOnRenderedRows(t,i),this.trigger(this.onCellCssStylesChanged,{key:e,hash:t,grid:this})}getCellCssStyles(e){return this.cellCssClasses[e]}flashCell(e,t,i){i=i||250;const s=(n,r)=>{r<1||setTimeout(()=>{r%2===0?n.classList.add(this._options.cellFlashingCssClass||""):n.classList.remove(this._options.cellFlashingCssClass||""),s(n,r-1)},i)};if(this.rowsCache[e]){const n=this.getCellNode(e,t);n&&s(n,5)}}handleMouseWheel(e,t,i,s){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-s*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+i*10,this._handleScroll(!0)&&e.preventDefault()}handleDragInit(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.trigger(this.onDragInit,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDragStart(e,t){const i=this.getCellFromEvent(e);if(!i||!this.cellExists(i.row,i.cell))return!1;const s=this.trigger(this.onDragStart,t,e);return s.isImmediatePropagationStopped()?s.getReturnValue():!1}handleDrag(e,t){return this.trigger(this.onDrag,t,e).getReturnValue()}handleDragEnd(e,t){this.trigger(this.onDragEnd,t,e)}handleKeyDown(e){var s,n,r,o;let i=this.trigger(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},e).isImmediatePropagationStopped();if(!i&&!e.shiftKey&&!e.altKey){if(this._options.editable&&((s=this.currentEditor)!=null&&s.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(String(e.which))>-1)return;e.key==="Home"?i=e.ctrlKey?this.navigateTop():this.navigateRowStart():e.key==="End"&&(i=e.ctrlKey?this.navigateBottom():this.navigateRowEnd())}if(!i)if(!e.shiftKey&&!e.altKey&&!e.ctrlKey){if(this._options.editable&&((n=this.currentEditor)!=null&&n.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(String(e.which))>-1)return;if(e.key==="Escape"){if(!((r=this.getEditorLock())!=null&&r.isActive()))return;this.cancelEditAndSetFocus()}else e.key==="PageDown"?(this.navigatePageDown(),i=!0):e.key==="PageUp"?(this.navigatePageUp(),i=!0):e.key==="ArrowLeft"?i=this.navigateLeft():e.key==="ArrowRight"?i=this.navigateRight():e.key==="ArrowUp"?i=this.navigateUp():e.key==="ArrowDown"?i=this.navigateDown():e.key==="Tab"?i=this.navigateNext():e.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(o=this.getEditorLock())!=null&&o.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,e)),i=!0)}else e.key==="Tab"&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&(i=this.navigatePrev());i&&(e.stopPropagation(),e.preventDefault())}handleClick(e){var s,n,r;const t=e instanceof li?e.getNativeEvent():e;if(!this.currentEditor&&(t.target!==document.activeElement||t.target.classList.contains("slick-cell"))){const o=this.getTextSelection();this.setFocus(),this.setTextSelection(o)}const i=this.getCellFromEvent(t);if(!(!i||this.currentEditor!==null&&this.activeRow===i.row&&this.activeCell===i.cell)&&(e=this.trigger(this.onClick,{row:i.row,cell:i.cell},e||t),!e.isImmediatePropagationStopped()&&this.canCellBeActive(i.row,i.cell)&&(!((s=this.getEditorLock())!=null&&s.isActive())||(n=this.getEditorLock())!=null&&n.commitCurrentEdit()))){this.scrollRowIntoView(i.row,!1);const o=((r=t.target)==null?void 0:r.className)===Ug,h=this.columns[i.cell],u=!!(this._options.editable&&(h!=null&&h.editor)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(i.row,i.cell),null,o,u,t)}}handleContextMenu(e){const t=e.target.closest(".slick-cell");t&&(this.activeCellNode===t&&this.currentEditor!==null||this.trigger(this.onContextMenu,{},e))}handleDblClick(e){const t=this.getCellFromEvent(e);!t||this.currentEditor!==null&&this.activeRow===t.row&&this.activeCell===t.cell||(this.trigger(this.onDblClick,{row:t.row,cell:t.cell},e),!e.defaultPrevented&&this._options.editable&&this.gotoCell(t.row,t.cell,!0,e))}handleHeaderMouseEnter(e){const t=ne.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.trigger(this.onHeaderMouseEnter,{column:t,grid:this},e)}handleHeaderMouseLeave(e){const t=ne.storage.get(e.target.closest(".slick-header-column"),"column");t&&this.trigger(this.onHeaderMouseLeave,{column:t,grid:this},e)}handleHeaderRowMouseEnter(e){const t=ne.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.trigger(this.onHeaderRowMouseEnter,{column:t,grid:this},e)}handleHeaderRowMouseLeave(e){const t=ne.storage.get(e.target.closest(".slick-headerrow-column"),"column");t&&this.trigger(this.onHeaderRowMouseLeave,{column:t,grid:this},e)}handleHeaderContextMenu(e){const t=e.target.closest(".slick-header-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onHeaderContextMenu,{column:i},e)}handleHeaderClick(e){if(this.columnResizeDragging)return;const t=e.target.closest(".slick-header-column"),i=t&&ne.storage.get(t,"column");i&&this.trigger(this.onHeaderClick,{column:i},e)}handleFooterContextMenu(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onFooterContextMenu,{column:i},e)}handleFooterClick(e){const t=e.target.closest(".slick-footerrow-column"),i=t&&ne.storage.get(t,"column");this.trigger(this.onFooterClick,{column:i},e)}handleCellMouseOver(e){this.trigger(this.onMouseEnter,{},e)}handleCellMouseOut(e){this.trigger(this.onMouseLeave,{},e)}cellExists(e,t){return!(e<0||e>=this.getDataLength()||t<0||t>=this.columns.length)}getCellFromPoint(e,t){const i=this.getRowFromPosition(t);let s=0,n=0;for(let r=0;r<this.columns.length&&n<e;r++)!this.columns[r]||this.columns[r].hidden||(n+=this.columns[r].width,s++);return s<0&&(s=0),{row:i,cell:s-1}}getCellFromNode(e){const t=/l\d+/.exec(e.className);if(!t)throw new Error(`SlickGrid getCellFromNode: cannot get cell - ${e.className}`);return parseInt(t[0].substr(1,t[0].length-1),10)}getRowFromNode(e){var t;for(const i in this.rowsCache)if(this.rowsCache){for(const s in this.rowsCache[i].rowNode)if(((t=this.rowsCache[i].rowNode)==null?void 0:t[+s])===e)return i?parseInt(i,10):0}return null}getFrozenRowOffset(e){let t=0;return this.hasFrozenRows?this._options.frozenBottom?e>=this.actualFrozenRow?this.h<this.viewportTopH?t=this.actualFrozenRow*this._options.rowHeight:t=this.h:t=0:e>=this.actualFrozenRow?t=this.frozenRowsHeight:t=0:t=0,t}getCellFromEvent(e){const t=e instanceof li?e.getNativeEvent():e,i=t.touches?t.touches[0]:t,s=t.target.closest(".slick-cell");if(!s)return null;let n=this.getRowFromNode(s.parentNode);if(this.hasFrozenRows){let o=0;const h=ui(ne.parents(s,".grid-canvas")[0]);ne.parents(s,".grid-canvas-bottom").length&&(o=this._options.frozenBottom?ne.height(this._canvasTopL):this.frozenRowsHeight),n=this.getCellFromPoint(i.clientX-h.left,i.clientY-h.top+o+document.documentElement.scrollTop).row}const r=this.getCellFromNode(s);return!jt(n)||!jt(r)?null:{row:n,cell:r}}getCellNodeBox(e,t){var h;if(!this.cellExists(e,t))return null;const i=this.getFrozenRowOffset(e),s=this.getRowTop(e)-i,n=s+this._options.rowHeight-1;let r=0;for(let u=0;u<t;u++)!this.columns[u]||this.columns[u].hidden||(r+=this.columns[u].width||0,this._options.frozenColumn===u&&(r=0));const o=r+(((h=this.columns[t])==null?void 0:h.width)||0);return{top:s,left:r,bottom:n,right:o}}resetActiveCell(){this.setActiveCellInternal(null,!1)}focus(){this.setFocus()}setFocus(){this.tabbingDirection===-1?this._focusSink.focus():this._focusSink2.focus()}scrollCellIntoView(e,t,i){if(this.scrollRowIntoView(e,i),t<=this._options.frozenColumn)return;const s=this.getColspan(e,t);this.internalScrollColumnIntoView(this.columnPosLeft[t],this.columnPosRight[t+(s>1?s-1:0)])}internalScrollColumnIntoView(e,t){var s;const i=this.scrollLeft+ne.width(this._viewportScrollContainerX)-(this.viewportHasVScroll?((s=this.scrollbarDimensions)==null?void 0:s.width)??0:0);e<this.scrollLeft?(this._viewportScrollContainerX.scrollLeft=e,this.handleScroll(),this.render()):t>i&&(this._viewportScrollContainerX.scrollLeft=Math.min(e,t-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(e){this.internalScrollColumnIntoView(this.columnPosLeft[e],this.columnPosRight[e])}setActiveCellInternal(e,t,i,s,n){var r,o,h,u;if(jt(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(o=(r=this.rowsCache[this.activeRow])==null?void 0:r.rowNode)==null||o.forEach(c=>c.classList.remove("active"))),this.activeCellNode=e,jt(this.activeCellNode)){const c=ui(this.activeCellNode);let f=Math.floor(ui(ne.parents(this.activeCellNode,".grid-canvas")[0]).top);const p=ne.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&p&&(f-=this._options.frozenBottom?ne.height(this._canvasTopL):this.frozenRowsHeight);const g=this.getCellFromPoint(c.left,Math.ceil(c.top)-f);this.activeRow=g.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!jt(t)&&this._options.autoEditNewRow&&(t=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(u=(h=this.rowsCache[this.activeRow])==null?void 0:h.rowNode)==null||u.forEach(v=>v.classList.add("active"))),this._options.editable&&t&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(clearTimeout(this.h_editorLoader),this._options.asyncEditorLoading?this.h_editorLoader=setTimeout(()=>{this.makeActiveCellEditable(void 0,i,n)},this._options.asyncEditorLoadDelay):this.makeActiveCellEditable(void 0,i,n))}else this.activeRow=this.activeCell=null;s||this.trigger(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var e;if((e=document.selection)!=null&&e.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const t=window.getSelection();t!=null&&t.removeAllRanges&&t.removeAllRanges()}}isCellPotentiallyEditable(e,t){const i=this.getDataLength();return!(e<i&&!this.getDataItem(e)||this.columns[t].cannotTriggerInsert&&e>=i||!this.columns[t]||this.columns[t].hidden||!this.getEditor(e,t))}makeActiveCellNormal(e=!1){var t;if(this.currentEditor){if(this.trigger(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const i=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),i){const s=this.columns[this.activeCell],r=this.getFormatter(this.activeRow,s)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(i,s),s,i,this);this.applyFormatResultToCellNode(r,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}e&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(t=this.getEditorLock())==null||t.deactivate(this.editController)}}editActiveCell(e,t,i){this.makeActiveCellEditable(e,t,i)}makeActiveCellEditable(e,t,i){var u,c,f,p,g,v;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when this._options.editable is false");if(clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const s=this.columns[this.activeCell],n=this.getDataItem(this.activeRow);if(this.trigger(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:n,column:s,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(u=this.getEditorLock())==null||u.activate(this.editController),this.activeCellNode.classList.add("editable");const r=e||this.getEditor(this.activeRow,this.activeCell);!e&&!r.suppressClearOnEdit&&Pt(this.activeCellNode);let o=(f=(c=this.data)==null?void 0:c.getItemMetadata)==null?void 0:f.call(c,this.activeRow);o=o==null?void 0:o.columns;const h=o&&(o[s.id]||o[this.activeCell]);this.currentEditor=new r({grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:s,columnMetaData:h,item:n||{},event:i,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)}),n&&this.currentEditor&&(this.currentEditor.loadValue(n),t&&((p=this.currentEditor)!=null&&p.preClick)&&this.currentEditor.preClick()),this.serializedEditorValue=(g=this.currentEditor)==null?void 0:g.serializeValue(),(v=this.currentEditor)!=null&&v.position&&this.handleActiveCellPositionChange()}commitEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&this.navigateDown())}cancelEditAndSetFocus(){var e;(e=this.getEditorLock())!=null&&e.cancelCurrentEdit()&&this.setFocus()}absBox(e){const t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:e.offsetWidth,height:e.offsetWidth,visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;let i=e.offsetParent;for(;(e=e.parentNode)!==document.body&&!(!e||!e.parentNode);){const s=getComputedStyle(e);t.visible&&e.scrollHeight!==e.offsetHeight&&s.overflowY!=="visible"&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!==e.offsetWidth&&s.overflowX!=="visible"&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===i&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,i=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width}return t}getActiveCellPosition(){return this.absBox(this.activeCellNode)}getGridPosition(){return this.absBox(this._container)}handleActiveCellPositionChange(){if(this.activeCellNode&&(this.trigger(this.onActiveCellPositionChanged,{}),this.currentEditor)){const e=this.getActiveCellPosition();this.currentEditor.show&&this.currentEditor.hide&&(e.visible?this.currentEditor.show():this.currentEditor.hide()),this.currentEditor.position&&this.currentEditor.position(e)}}getCellEditor(){return this.currentEditor}getActiveCell(){return this.activeCellNode?{row:this.activeRow,cell:this.activeCell}:null}getActiveCellNode(){return this.activeCellNode}getTextSelection(){let e=null;if(window.getSelection){const t=window.getSelection();((t==null?void 0:t.rangeCount)??0)>0&&(e=t.getRangeAt(0))}return e}setTextSelection(e){if(window.getSelection&&e){const t=window.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}}scrollRowIntoView(e,t){var i;if(!this.hasFrozenRows||!this._options.frozenBottom&&e>this.actualFrozenRow-1||this._options.frozenBottom&&e<this.actualFrozenRow-1){const s=ne.height(this._viewportScrollContainerY),n=this.hasFrozenRows&&!this._options.frozenBottom?e-this._options.frozenRow:e,r=n*this._options.rowHeight,o=(n+1)*this._options.rowHeight-s+(this.viewportHasHScroll?((i=this.scrollbarDimensions)==null?void 0:i.height)??0:0);(n+1)*this._options.rowHeight>this.scrollTop+s+this.offset?(this.scrollTo(t?r:o),this.render()):n*this._options.rowHeight<this.scrollTop+this.offset&&(this.scrollTo(t?o:r),this.render())}}scrollRowToTop(e){this.scrollTo(e*this._options.rowHeight),this.render()}scrollPage(e){const t=e*this.numVisibleRows,i=this.scrollTop+this._options.rowHeight-1;if(this.scrollTo((this.getRowFromPosition(i)+t)*this._options.rowHeight),this.render(),this._options.enableCellNavigation&&jt(this.activeRow)){let s=this.activeRow+t;const n=this.getDataLengthIncludingAddNew();s>=n&&(s=n-1),s<0&&(s=0);let r=0,o=null;const h=this.activePosX;for(;r<=this.activePosX;)this.canCellBeActive(s,r)&&(o=r),r+=this.getColspan(s,r);o!==null?(this.setActiveCellInternal(this.getCellNode(s,o)),this.activePosX=h):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){this.navigateToRow(this.getDataLength()-1)}navigateToRow(e){const t=this.getDataLength();if(!t)return!0;if(e<0?e=0:e>=t&&(e=t-1),this.scrollCellIntoView(e,0,!0),this._options.enableCellNavigation&&jt(this.activeRow)){let i=0,s=null;const n=this.activePosX;for(;i<=this.activePosX;)this.canCellBeActive(e,i)&&(s=i),i+=this.getColspan(e,i);s!==null?(this.setActiveCellInternal(this.getCellNode(e,s)),this.activePosX=n):this.resetActiveCell()}return!0}getColspan(e,t){var r,o;const i=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,e);if(!i||!i.columns)return 1;const s=i.columns[this.columns[t].id]||i.columns[t];let n=s==null?void 0:s.colspan;return n==="*"?n=this.columns.length-t:n=n||1,n}findFirstFocusableCell(e){let t=0;for(;t<this.columns.length;){if(this.canCellBeActive(e,t))return t;t+=this.getColspan(e,t)}return null}findLastFocusableCell(e){let t=0,i=null;for(;t<this.columns.length;)this.canCellBeActive(e,t)&&(i=t),t+=this.getColspan(e,t);return i}gotoRight(e,t,i){if(t>=this.columns.length)return null;do t+=this.getColspan(e,t);while(t<this.columns.length&&!this.canCellBeActive(e,t));return t<this.columns.length?{row:e,cell:t,posX:t}:null}gotoLeft(e,t,i){if(t<=0)return null;const s=this.findFirstFocusableCell(e);if(s===null||s>=t)return null;let n={row:e,cell:s,posX:s},r;for(;;){if(r=this.gotoRight(n.row,n.cell,n.posX),!r)return null;if(r.cell>=t)return n;n=r}}gotoDown(e,t,i){let s;const n=this.getDataLengthIncludingAddNew();for(;;){if(++e>=n)return null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return{row:e,cell:s,posX:i}}}gotoUp(e,t,i){let s;for(;;){if(--e<0)return null;for(s=t=0;t<=i;)s=t,t+=this.getColspan(e,t);if(this.canCellBeActive(e,s))return{row:e,cell:s,posX:i}}}gotoNext(e,t,i){if(!jt(e)&&!jt(t)&&(e=t=i=0,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};const s=this.gotoRight(e,t,i);if(s)return s;let n=null;const r=this.getDataLengthIncludingAddNew();for(e===r-1&&e--;++e<r;)if(n=this.findFirstFocusableCell(e),n!==null)return{row:e,cell:n,posX:n};return null}gotoPrev(e,t,i){if(!jt(e)&&!jt(t)&&(e=this.getDataLengthIncludingAddNew()-1,t=i=this.columns.length-1,this.canCellBeActive(e,t)))return{row:e,cell:t,posX:t};let s,n;for(;!s&&(s=this.gotoLeft(e,t,i),!s);){if(--e<0)return null;t=0,n=this.findLastFocusableCell(e),n!==null&&(s={row:e,cell:n,posX:n})}return s}gotoRowStart(e,t,i){const s=this.findFirstFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}gotoRowEnd(e,t,i){const s=this.findLastFocusableCell(e);return s===null?null:{row:e,cell:s,posX:s}}navigateRight(){return this.navigate("right")}navigateLeft(){return this.navigate("left")}navigateDown(){return this.navigate("down")}navigateUp(){return this.navigate("up")}navigateNext(){return this.navigate("next")}navigatePrev(){return this.navigate("prev")}navigateRowStart(){return this.navigate("home")}navigateRowEnd(){return this.navigate("end")}navigate(e){var r;if(!this._options.enableCellNavigation||!this.activeCellNode&&e!=="prev"&&e!=="next")return!1;if(!((r=this.getEditorLock())!=null&&r.commitCurrentEdit()))return!0;this.setFocus();const t={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1};this.tabbingDirection=t[e];const n={up:this.gotoUp,down:this.gotoDown,left:this.gotoLeft,right:this.gotoRight,prev:this.gotoPrev,next:this.gotoNext,home:this.gotoRowStart,end:this.gotoRowEnd}[e].call(this,this.activeRow,this.activeCell,this.activePosX);if(n){if(this.hasFrozenRows&&this._options.frozenBottom&&n.row===this.getDataLength())return;const o=n.row===this.getDataLength();return(!this._options.frozenBottom&&n.row>=this.actualFrozenRow||this._options.frozenBottom&&n.row<this.actualFrozenRow)&&this.scrollCellIntoView(n.row,n.cell,!o&&this._options.emulatePagingWhenScrolling),this.setActiveCellInternal(this.getCellNode(n.row,n.cell)),this.activePosX=n.posX,!0}else return this.setActiveCellInternal(this.getCellNode(this.activeRow,this.activeCell)),!1}getCellNode(e,t){if(this.rowsCache[e]){this.ensureCellNodesInRowsCache(e);try{return this.rowsCache[e].cellNodesByColumnIdx.length>t?this.rowsCache[e].cellNodesByColumnIdx[t]:null}catch{return this.rowsCache[e].cellNodesByColumnIdx[t]}}return null}setActiveCell(e,t,i,s,n){this.initialized&&(e>this.getDataLength()||e<0||t>=this.columns.length||t<0||this._options.enableCellNavigation&&(this.scrollCellIntoView(e,t,!1),this.setActiveCellInternal(this.getCellNode(e,t),i,s,n)))}setActiveRow(e,t,i){this.initialized&&(e>this.getDataLength()||e<0||(t??0)>=this.columns.length||(t??0)<0||(this.activeRow=e,i||this.scrollCellIntoView(e,t||0,!1)))}canCellBeActive(e,t){var n,r,o,h;if(!this._options.enableCellNavigation||e>=this.getDataLengthIncludingAddNew()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e);if((i==null?void 0:i.focusable)!==void 0)return!!i.focusable;const s=i==null?void 0:i.columns;return((o=s==null?void 0:s[this.columns[t].id])==null?void 0:o.focusable)!==void 0?!!s[this.columns[t].id].focusable:((h=s==null?void 0:s[t])==null?void 0:h.focusable)!==void 0?!!s[t].focusable:!!this.columns[t].focusable}canCellBeSelected(e,t){var n,r;if(e>=this.getDataLength()||e<0||t>=this.columns.length||t<0||!this.columns[t]||this.columns[t].hidden)return!1;const i=(r=(n=this.data)==null?void 0:n.getItemMetadata)==null?void 0:r.call(n,e);if((i==null?void 0:i.selectable)!==void 0)return!!i.selectable;const s=(i==null?void 0:i.columns)&&(i.columns[this.columns[t].id]||i.columns[t]);return(s==null?void 0:s.selectable)!==void 0?!!s.selectable:!!this.columns[t].selectable}gotoCell(e,t,i,s){var h;if(!this.initialized||!this.canCellBeActive(e,t)||!((h=this.getEditorLock())!=null&&h.commitCurrentEdit()))return;this.scrollCellIntoView(e,t,!1);const n=this.getCellNode(e,t),r=this.columns[t],o=!!(this._options.editable&&(r!=null&&r.editor)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(n,i||e===this.getDataLength()||this._options.autoEdit,null,o,s),this.currentEditor||this.setFocus()}commitCurrentEdit(){var s;const e=this,t=e.getDataItem(e.activeRow),i=e.columns[e.activeCell];if(e.currentEditor){if(e.currentEditor.isValueChanged()){const n=e.currentEditor.validate();if(n.valid){const r=e.activeRow,o=e.activeCell,h=e.currentEditor,u=e.currentEditor.serializeValue(),c=e.serializedEditorValue;if(e.activeRow<e.getDataLength()){const f={row:r,cell:o,editor:h,serializedValue:u,prevSerializedValue:c,execute:()=>{h.applyValue(t,u),e.updateRow(r),e.trigger(e.onCellChange,{command:"execute",row:r,cell:o,item:t,column:i})},undo:()=>{h.applyValue(t,c),e.updateRow(r),e.trigger(e.onCellChange,{command:"undo",row:r,cell:o,item:t,column:i})}};e._options.editCommandHandler?(e.makeActiveCellNormal(!0),e._options.editCommandHandler(t,i,f)):(f.execute(),e.makeActiveCellNormal(!0))}else{const f={};e.currentEditor.applyValue(f,e.currentEditor.serializeValue()),e.makeActiveCellNormal(!0),e.trigger(e.onAddNewRow,{item:f,column:i})}return!((s=e.getEditorLock())!=null&&s.isActive())}else return e.activeCellNode&&(e.activeCellNode.classList.remove("invalid"),ne.width(e.activeCellNode),e.activeCellNode.classList.add("invalid")),e.trigger(e.onValidationError,{editor:e.currentEditor,cellNode:e.activeCellNode,validationResults:n,row:e.activeRow,cell:e.activeCell,column:i}),e.currentEditor.focus(),!1}e.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(e){const t=[],i=this.columns.length-1;for(let s=0;s<e.length;s++)t.push(new Ts(e[s],0,e[s],i));return t}getSelectedRows(){if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");return this.selectedRows.slice(0)}setSelectedRows(e,t){var i;if(!this.selectionModel)throw new Error("SlickGrid Selection model is not set");this&&this.getEditorLock&&!((i=this.getEditorLock())!=null&&i.isActive())&&this.selectionModel.setSelectedRanges(this.rowsToRanges(e),t||"SlickGrid.setSelectedRows")}sanitizeHtmlString(e){return!this._options.sanitizer||typeof e!="string"?e:this._options.sanitizer(e)}}class v_{constructor(e){this.pluginName="AutoTooltips",this._defaults={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:void 0,replaceExisting:!0},this._eventHandler=new hi,this._addonOptions=e}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e){this._addonOptions={...this._defaults,...this.addonOptions},this._grid=e,this._addonOptions.enableForCells&&this._eventHandler.subscribe(this._grid.onMouseEnter,this.handleMouseEnter.bind(this)),this._addonOptions.enableForHeaderCells&&this._eventHandler.subscribe(this._grid.onHeaderMouseEnter,this.handleHeaderMouseEnter.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}handleMouseEnter(e){var i,s,n,r;const t=this._grid.getCellFromEvent(e);if(t){let o=this._grid.getCellNode(t.row,t.cell),h;this._addonOptions&&o&&(!o.title||(i=this._addonOptions)!=null&&i.replaceExisting)&&(o.clientWidth<o.scrollWidth?(h=((s=o.textContent)==null?void 0:s.trim())??"",(n=this._addonOptions)!=null&&n.maxToolTipLength&&h.length>((r=this._addonOptions)==null?void 0:r.maxToolTipLength)&&(h=h.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):h="",o.title=h),o=null}}handleHeaderMouseEnter(e,t){const i=t.column;let s;const n=e.target;if(n&&(s=n.closest(".slick-header-column"),s&&!(i!=null&&i.toolTip))){const r=n.clientWidth<s.clientWidth?(i==null?void 0:i.name)??"":"";s.title=r instanceof HTMLElement?vi(r.innerHTML):r}s=null}}class C_{constructor(){this.pluginName="CellExcelCopyManager",this._eventHandler=new hi,this._bindingEventService=new Pi}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get commandQueue(){return this._commandQueue}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get undoRedoBuffer(){return this._undoRedoBuffer}init(e,t){this._grid=e,this.createUndoRedoBuffer(),this._cellSelectionModel=new S_,this._grid.setSelectionModel(this._cellSelectionModel),this._bindingEventService.bind(document.body,"keydown",this.handleBodyKeyDown.bind(this)),this._addonOptions={...this.getDefaultOptions(),...t},this._cellExternalCopyManagerPlugin=new y_,this._cellExternalCopyManagerPlugin.init(this._grid,this._addonOptions),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(i,s)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(i,s)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(i,s)})}dispose(){var e,t;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(e=this._cellSelectionModel)==null||e.dispose(),(t=this._cellExternalCopyManagerPlugin)==null||t.dispose()}createUndoRedoBuffer(){let e=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:t=>{this._commandQueue[e]=t,e++,t.execute()},undo:()=>{if(e===0)return;e--;const t=this._commandQueue[e];t&&ja.cancelCurrentEdit()&&t.undo()},redo:()=>{if(e>=this._commandQueue.length)return;const t=this._commandQueue[e];e++,t&&ja.cancelCurrentEdit()&&t.execute()}}}getDefaultOptions(){let e=0;return{clipboardCommandHandler:t=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,t)},dataItemColumnValueExtractor:(t,i)=>{var s,n;if(!this.gridOptions.editable||!i.editor){const r=i.exportWithFormatter!==void 0?i.exportWithFormatter:(s=this.gridOptions.textExportOptions)==null?void 0:s.exportWithFormatter;if(i.formatter&&r){const o=i.formatter(0,0,t[i.field],i,t,this._grid),h=Mr(o)?o:o.html||o.text;if(i.sanitizeDataExport||(n=this.gridOptions.textExportOptions)!=null&&n.sanitizeDataExport){const u=h instanceof HTMLElement?h.innerHTML:h;return vi(u??"")}return o}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:t=>{for(let i=0;i<t;i++)this._grid.getData().addItem({id:`newRow_${e++}`})}}}handleBodyKeyDown(e){e.key==="Z"&&(e.ctrlKey||e.metaKey)&&(e.shiftKey?this._undoRedoBuffer.redo():this._undoRedoBuffer.undo())}}const b_=2e3,sf=100;class y_{constructor(){this.pluginName="CellExternalCopyManager",this.onCopyCells=new $e,this.onCopyCancelled=new $e,this.onPasteCells=new $e,this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this._eventHandler=new hi}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(e,t){this._grid=e,this._addonOptions={...this._addonOptions,...t},this._copiedCellStyleLayerKey=this._addonOptions.copiedCellStyleLayerKey||"copy-manager",this._copiedCellStyle=this._addonOptions.copiedCellStyle||"copied",this._bodyElement=this._addonOptions.bodyElement||document.body,this._onCopyInit=this._addonOptions.onCopyInit||void 0,this._onCopySuccess=this._addonOptions.onCopySuccess||void 0,this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const i=e.getSelectionModel();if(!i)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new SlickCellSelectionModel())");this._eventHandler.subscribe(i.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()})}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(e){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const t=this._addonOptions.headerColumnValueExtractor(e);if(t)return t instanceof HTMLElement?vi(t.innerHTML):t}return e.name instanceof HTMLElement?vi(e.name.innerHTML):e.name}getDataItemValueForColumn(e,t,i){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const n=this._addonOptions.dataItemColumnValueExtractor(e,t);if(n)return n instanceof HTMLElement?vi(n.innerHTML):n}let s="";if(t)if(t.editor){const n=document.createElement("p"),r=new t.editor({container:n,column:t,event:i,position:{top:0,left:0},grid:this._grid});r.loadValue(e),s=r.serializeValue(),r.destroy(),n.remove()}else s=e[t.field||""];return s}setDataItemValueForColumn(e,t,i){if(!(t!=null&&t.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter)return this._addonOptions.dataItemColumnValueSetter(e,t,i);if(t.editor){const s=document.createElement("div"),n=new t.editor({container:s,column:t,position:{top:0,left:0},grid:this._grid});n.loadValue(e),n.applyValue(e,i),n.destroy(),s.remove()}else e[t.field]=i}}setIncludeHeaderWhenCopying(e){this._addonOptions.includeHeaderWhenCopying=e}createTextBox(e){const t=Y("textarea",{value:e,style:{position:"absolute",left:"-1000px",top:`${document.body.scrollTop}px`}},this._bodyElement);return t.select(),t}decodeTabularData(e,t){var I;const i=e.getColumns(),n=t.value.split(/[\n\f\r]/);n[n.length-1]===""&&n.pop();let r=0;const o=[];this._bodyElement.removeChild(t);for(const F of n)o[r++]=F!==""?F.split(" "):[""];const h=this._grid.getActiveCell(),u=(I=this._grid.getSelectionModel())==null?void 0:I.getSelectedRanges(),c=u!=null&&u.length?u[0]:null;let f,p;if(c)f=c.fromRow,p=c.fromCell;else if(h)f=h.row,p=h.cell;else return;let g=!1,v=o.length,C=o.length?o[0].length:0;o.length===1&&o[0].length===1&&c&&(g=!0,v=c.toRow-c.fromRow+1,C=c.toCell-c.fromCell+1);const w=this._grid.getData().length-f;let y=0;if(w<v&&typeof this._addonOptions.newRowCreator=="function"){const F=this._grid.getData();for(y=1;y<=v-w;y++)F.push({});this._grid.setData(F),this._grid.render()}if(f+v>this._grid.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const F=f+v-this._grid.getDataLength();this._addonOptions.newRowCreator(F)}const O={isClipboardCommand:!0,clippedRange:o,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:g,activeRow:f,activeCell:p,destH:v,destW:C,maxDestY:this._grid.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var X;O.h=0;for(let K=0;K<O.destH;K++){O.oldValues[K]=[],O.w=0,O.h++;for(let ee=0;ee<O.destW;ee++){O.w++;const Q=f+K,te=p+ee;if(Q<O.maxDestY&&te<O.maxDestX){const me=this._grid.getDataItem(Q);O.oldValues[K][ee]=me[i[te].field],g?this.setDataItemValueForColumn(me,i[te],o[0][0]):this.setDataItemValueForColumn(me,i[te],o[K]?o[K][ee]:""),this._grid.updateCell(Q,te),this._grid.onCellChange.notify({row:Q,cell:te,item:me,grid:this._grid,column:{}})}}}const F=new Ts(f,p,f+O.h-1,p+O.w-1);this.markCopySelection([F]),(X=this._grid.getSelectionModel())==null||X.setSelectedRanges([F]),this.onPasteCells.notify({ranges:[F]})},undo:()=>{var X;for(let K=0;K<O.destH;K++)for(let ee=0;ee<O.destW;ee++){const Q=f+K,te=p+ee;if(Q<O.maxDestY&&te<O.maxDestX){const me=this._grid.getDataItem(Q);g?this.setDataItemValueForColumn(me,i[te],O.oldValues[0][0]):this.setDataItemValueForColumn(me,i[te],O.oldValues[K][ee]),this._grid.updateCell(Q,te),this._grid.onCellChange.notify({row:Q,cell:te,item:me,grid:this._grid,column:{}})}}const F=new Ts(f,p,f+O.h-1,p+O.w-1);if(this.markCopySelection([F]),(X=this._grid.getSelectionModel())==null||X.setSelectedRanges([F]),this.onPasteCells.notify({ranges:[F]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new li,{ranges:[F]}),y>1){const K=this._grid.getData();for(;y>1;y--)K.splice(K.length-1,1);this._grid.setData(K),this._grid.render()}}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(O):O.execute()}handleKeyDown(e){var i,s,n;let t;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(e.key==="Escape"&&this._copiedRanges&&(e.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(e,{ranges:this._copiedRanges}),this._copiedRanges=null),(e.key==="c"||e.key==="Insert")&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),t=((i=this._grid.getSelectionModel())==null?void 0:i.getSelectedRanges())??[],t.length!==0)){this._copiedRanges=t,this.markCopySelection(t),this.onCopyCells.notify({ranges:t}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(e,{ranges:t});const r=this._grid.getColumns();let o="";for(let h=0;h<t.length;h++){const u=t[h],c=[];for(let f=u.fromRow;f<u.toRow+1;f++){const p=[],g=this._grid.getDataItem(f);if(c.length===0&&this._addonOptions.includeHeaderWhenCopying){const v=[];for(let C=u.fromCell;C<u.toCell+1;C++)(r[C].name instanceof HTMLElement?vi(r[C].name.innerHTML):r[C].name).length>0&&!r[C].hidden&&v.push(this.getHeaderValueForColumn(r[C]));c.push(v.join(" "))}for(let v=u.fromCell;v<u.toCell+1;v++)(r[v].name instanceof HTMLElement?vi(r[v].name.innerHTML):r[v].name).length>0&&!r[v].hidden&&p.push(this.getDataItemValueForColumn(g,r[v],e));c.push(p.join(" "))}o+=c.join(`\r
17
17
  `)+`\r
18
18
  `}if(window.clipboardData)return window.clipboardData.setData("Text",o),!0;{const h=document.activeElement,u=this.createTextBox(o);if(u.focus(),setTimeout(()=>{this._bodyElement.removeChild(u),h?h.focus():console.log("No element to restore focus to after copy?")},((s=this.addonOptions)==null?void 0:s.clipboardPasteDelay)??sf),typeof this._onCopySuccess=="function"){const c=t.length===1?t[0].toRow+1-t[0].fromRow:t.length;this._onCopySuccess(c)}return!1}}if(!this._addonOptions.readOnlyMode&&(e.key==="v"&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.key==="Insert"&&e.shiftKey&&!e.ctrlKey)){const r=this.createTextBox("");return setTimeout(()=>this.decodeTabularData(this._grid,r),((n=this.addonOptions)==null?void 0:n.clipboardPasteDelay)??sf),!1}}}markCopySelection(e){var s;this.clearCopySelection();const t=this._grid.getColumns(),i={};for(const n of e)for(let r=n.fromRow;r<=n.toRow;r++){i[r]={};for(let o=n.fromCell;o<=n.toCell&&o<t.length;o++)i[r][t[o].id]=this._copiedCellStyle}this._grid.setCellCssStyles(this._copiedCellStyleLayerKey,i),clearTimeout(this._clearCopyTI),this._clearCopyTI=setTimeout(()=>this.clearCopySelection(),((s=this.addonOptions)==null?void 0:s.clearCopySelectionDelay)||b_)}}class hl{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new Pi,this._eventHandler=new hi}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get menuCssClass(){return this._menuPluginCssPrefix||this._menuCssPrefix}get menuElement(){return this._menuElm||document.querySelector(`.${this.menuCssClass}${this.gridUidSelector}`)}dispose(){var e,t,i,s,n;(e=this._eventHandler)==null||e.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(t=this._commandTitleElm)==null||t.remove(),(i=this._optionTitleElm)==null||i.remove(),this.disposeAllMenus(),Pt(this._menuElm),(s=this.menuElement)==null||s.remove(),(n=this._menuElm)==null||n.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(e=>e.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(e=>e.remove())}setOptions(e){this._addonOptions={...this._addonOptions,...e}}addSubMenuTitleWhenExists(e,t){if(e!=="divider"&&(e!=null&&e.subMenuTitle)){const i=document.createElement("div");i.className="slick-menu-title",i.textContent=e.subMenuTitle;const s=e.subMenuTitleCssClass;s&&i.classList.add(...s.split(" ")),t.appendChild(i)}}populateCommandOrOptionItems(e,t,i,s,n,r,o){if(n&&s&&t)for(const h of s)this.populateSingleCommandOrOptionItem(e,t,i,h,n,r,o)}populateCommandOrOptionTitle(e,t,i,s){var n;if(t){const r=s>0,o=((n=this._menuElm)==null?void 0:n.querySelector(`.slick-${e}-header`))??Y("div",{className:`slick-${e}-header`}),h=`${e}Title`;r||(t!=null&&t[h]?(Pt(o),this[`_${e}TitleElm`]=Y("span",{className:"slick-menu-title",textContent:t[h]}),o.appendChild(this[`_${e}TitleElm`]),o.classList.add("with-title")):o.classList.add("no-title"),i.appendChild(o))}}populateSingleCommandOrOptionItem(e,t,i,s,n,r,o){var u;let h=null;if(n&&s&&t){const c=(n==null?void 0:n.level)||0,f=this._camelPluginName==="headerButtons"?"":"-item",p=`${this._menuCssPrefix}${f}`;let g=!0,v=!0;if(typeof s=="object"&&(g=this.extensionUtility.runOverrideFunctionWhenExists(s.itemVisibilityOverride,n),v=this.extensionUtility.runOverrideFunctionWhenExists(s.itemUsabilityOverride,n)),!g)return null;if(typeof s=="object"&&s.itemUsabilityOverride&&(s.disabled=!v),h=Y("li",{className:p,role:"menuitem"}),typeof s=="object"&&Na(s[e])&&(h.dataset[e]=s==null?void 0:s[e]),i&&i.appendChild(h),typeof s=="object"&&s.divider||s==="divider")return h.classList.add(`${p}-divider`),h;if(s.disabled&&h.classList.add(`${p}-disabled`),(s.hidden||s.showOnHover)&&h.classList.add(`${p}-hidden`),s.cssClass&&h.classList.add(...s.cssClass.split(" ")),s.tooltip&&(h.title=s.tooltip),this._camelPluginName!=="headerButtons"){const w=Y("div",{className:`${this._menuCssPrefix}-icon`});h.appendChild(w),s.iconCssClass?w.classList.add(...s.iconCssClass.split(" ")):!s.commandItems&&!s.optionItems&&(w.textContent="◦");const y=Y("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof s=="object"&&s.title||""},h);s.textCssClass&&y.classList.add(...s.textCssClass.split(" "))}const C=c>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(h,"click",w=>r.call(this,w,e,s,c,n==null?void 0:n.column),void 0,C),((u=this._addonOptions)==null?void 0:u.subMenuOpenByEvent)==="mouseover"&&typeof o=="function"&&this._bindEventService.bind(h,"mouseover",w=>o.call(this,w,e,s,c),void 0,C),s.commandItems||s.optionItems){const w=document.createElement("span");w.className="sub-item-chevron",this._addonOptions.subItemChevronClass?w.classList.add(...this._addonOptions.subItemChevronClass.split(" ")):w.textContent="⮞",h.classList.add("slick-submenu-item"),h.appendChild(w)}}return h}}class nf extends hl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(e){var i,s,n,r,o;(i=this.menuElement)==null||i.remove(),this._menuElm=void 0;const t=this.grid.getCellFromEvent(e);if(t){this._currentCell=t.cell??0,this._currentRow=t.row??0;const h=((s=this._addonOptions)==null?void 0:s.commandItems)||[],u=((n=this._addonOptions)==null?void 0:n.optionItems)||[],c={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(e,c),typeof e.stopPropagation=="function"&&(this.pubSubService.publish(`on${ur(this._camelPluginName)}BeforeMenuShow`,c),typeof((r=this.addonOptions)==null?void 0:r.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(e,c)===!1)||(this._menuElm=this.createMenu(h,u),this._menuElm&&(this._menuElm.style.top=`${e.pageY+5}px`,this._menuElm.style.left=`${e.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${ur(this._camelPluginName)}AfterMenuShow`,c),typeof((o=this.addonOptions)==null?void 0:o.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(e,c)===!1))return}return this._menuElm}createMenu(e,t,i=0,s){var y,S,O,I;const n=this.grid.getColumns()[this._currentCell],r=this.grid.getDataItem(this._currentRow),o=(s==null?void 0:s.command)||(s==null?void 0:s.option);let h=i===1&&o?String(o).replace(/\s/g,""):"";h&&(this._subMenuParentId=h),i>1&&(h=this._subMenuParentId);let u=!0,c=!0;if(this._camelPluginName==="contextMenu"){if(u=this.checkIsColumnAllowed(((y=this._addonOptions)==null?void 0:y.optionShownOverColumnIds)??[],n.id),c=this.checkIsColumnAllowed(((S=this._addonOptions)==null?void 0:S.commandShownOverColumnIds)??[],n.id),!n||(!c||!e.length)&&(!u||!t.length)){this.hideMenu();return}}else if(!n||!n.cellMenu||!e.length&&!t.length)return;const f=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,p=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(p){if(p.dataset.subMenuParent===h)return p;this.disposeSubMenus()}const g=document.createElement("div");g.className=f,i>0&&(g.classList.add("slick-submenu"),h&&(g.dataset.subMenuParent=h));const v=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,C=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;v&&(g.style.maxHeight=v),C&&(g.style.maxWidth=C),(O=this.addonOptions)!=null&&O.width&&(g.style.width=An((I=this.addonOptions)==null?void 0:I.width));const w=Y("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&u&&t.length>0){const F=Y("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},g);this.populateCommandOrOptionTitle("option",this.addonOptions,F,i),!this.addonOptions.hideCloseButton&&i<1&&this.populateCommandOrOptionCloseBtn("option",w,F),s&&i>0&&this.addSubMenuTitleWhenExists(s,F),this.populateCommandOrOptionItems("option",this.addonOptions,F,t,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:r,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&c&&e.length>0){const F=Y("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},g);this.populateCommandOrOptionTitle("command",this.addonOptions,F,i),!this.addonOptions.hideCloseButton&&i<1&&(!u||t.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",w,F),s&&i>0&&this.addSubMenuTitleWhenExists(s,F),this.populateCommandOrOptionItems("command",this.addonOptions,F,e,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:r,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return i++,g}closeMenu(e,t){var i;if(this.menuElement){if(typeof((i=this.addonOptions)==null?void 0:i.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(e,t)===!1)return;this.hideMenu()}}hideMenu(){var e;(e=this.menuElement)==null||e.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(e,t){return(e==null?void 0:e.length)>0?e.findIndex(i=>i===t)>=0:!0}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.closeMenu(e,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(e){e.defaultPrevented||this.closeMenu(e,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(e,t,i,s=0){(i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems||i.optionItems?(this.repositionSubMenu(i,t,s,e),this._lastMenuTypeClicked=t):s===0&&this.disposeSubMenus())}handleMenuItemCommandClick(e,t,i,s=0){var n;if((i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(t==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const r=this._currentCell,o=this._currentRow,h=this.grid.getColumns()[this._currentCell],u=this.grid.getDataItem(this._currentRow),c=i[t]!==void 0?i[t]:"";if(c!==void 0&&!i[`${t}Items`]){const f={cell:this._currentCell,row:this._currentRow,grid:this.grid,[t]:c,item:i,column:h,dataContext:u},p=t==="command"?"onCommand":"onOptionSelected",g=`${this._camelPluginName}:${p}`;this.pubSubService.publish(g,f),typeof((n=this._addonOptions)==null?void 0:n[p])=="function"&&this._addonOptions[p](e,f),typeof i.action=="function"&&i.action.call(this,e,f),e.defaultPrevented||this.closeMenu(e,{cell:r,row:o,grid:this.grid})}else(i.commandItems||i.optionItems)&&this.repositionSubMenu(i,t,s,e);this._lastMenuTypeClicked=t}}populateCommandOrOptionCloseBtn(e,t,i){this._bindEventService.bind(t,"click",n=>this.handleCloseButtonClicked(n),void 0,"parent-menu");const s=i.querySelector(`.slick-${e}-header`)??Y("div",{className:`slick-${e}-header`});s==null||s.appendChild(t),i.appendChild(s),s.classList.add("with-close")}repositionSubMenu(e,t,i,s){(s.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==t)&&this.disposeSubMenus();const n=this.createMenu((e==null?void 0:e.commandItems)||[],(e==null?void 0:e.optionItems)||[],i+1,e);n&&(n.style.display="block",document.body.appendChild(n),this.repositionMenu(s,n))}repositionMenu(e,t){var n;const i=t==null?void 0:t.classList.contains("slick-submenu"),s=i?e.target.closest(`.${this._menuCssPrefix}-item`):e.target.closest(".slick-cell");if(t&&s){t.style.top="0px",t.style.left="0px";const r=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,o=ui(s);let h=s&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.left)??0:r.pageX,u=s&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.top)??0:r.pageY;i&&this._camelPluginName==="contextMenu"&&(h=(o==null?void 0:o.left)??0,u=(o==null?void 0:o.top)??0);const c=s.offsetWidth||0,f=(t==null?void 0:t.offsetHeight)||0,p=(t==null?void 0:t.offsetWidth)||this._addonOptions.width||0,g=this.gridOptions.rowHeight||0,v=Number(this._addonOptions.autoAdjustDropOffset||0),C=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:w,top:y}=Io(s),S=w+v-g,O=y-v+g;(S<f&&O>S?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),i?u-=f-v-s.clientHeight:u-=f-v):(t.classList.remove("dropup"),t.classList.add("dropdown"),u=u+v,this._camelPluginName==="cellMenu"&&(i?u+=v:u+=g+v))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const w=this.grid.getGridPosition();let y=h+Number(p);i&&(y+=s.clientWidth);const S=document.documentElement.clientWidth;(y>=w.width||y>=S?"left":"right")==="left"||!i&&this._addonOptions.dropSide==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!i?h-=Number(p)-c-C:h-=Number(p)-C):(t.classList.remove("dropleft"),t.classList.add("dropright"),i?h+=C+s.offsetWidth:h+=C)}t.style.top=`${u}px`,t.style.left=`${h}px`}}}class w_ extends nf{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.pluginName="CellMenu",this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,subMenuOpenByEvent:"mouseover"},this._camelPluginName="cellMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-cell-menu",this.init(i.gridOptions.cellMenu)}init(e){this._addonOptions={...this._defaults,...e},this.sortMenuItems(this.sharedService.allColumns),this._eventHandler.subscribe(this.grid.onClick,this.handleCellClick.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateCellMenu(){var i;const e=(i=this.sharedService)==null?void 0:i.gridOptions,t=this.sharedService.allColumns;e!=null&&e.enableTranslate&&Array.isArray(t)&&t.forEach(s=>{if(s!=null&&s.cellMenu&&(Array.isArray(s.cellMenu.commandItems)||Array.isArray(s.cellMenu.optionItems))){const n=s.cellMenu.commandItems||[],r=s.cellMenu.optionItems||[];s.cellMenu.commandTitleKey&&(s.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.commandTitleKey,"TEXT_COMMANDS")||s.cellMenu.commandTitle),s.cellMenu.optionTitleKey&&(s.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.optionTitleKey,"TEXT_COMMANDS")||s.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(n,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(r,"optionItems")}})}handleCellClick(e,t){this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const s=this.grid.getDataItem(i.row),n=this.grid.getColumns()[i.cell];if(n!=null&&n.cellMenu&&e.preventDefault(),this._addonOptions={...this._addonOptions,...n.cellMenu},t=t||{},t.column=n,t.dataContext=s,t.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,t))return;this._menuElm=this.createParentMenu(e),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.setAttribute("aria-expanded","true"),this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(e){e.forEach(t=>{var i,s;(i=t==null?void 0:t.cellMenu)!=null&&i.commandItems&&this.extensionUtility.sortItems(t.cellMenu.commandItems||[],"positionOrder"),(s=t==null?void 0:t.cellMenu)!=null&&s.optionItems&&this.extensionUtility.sortItems(t.cellMenu.optionItems||[],"positionOrder")})}}class E_{constructor(e,t){this.grid=e,this.pluginName="CellRangeDecorator",this._defaults={selectionCssClass:"slick-range-decorator",selectionCss:{border:"2px dashed red",zIndex:"9999"},offset:{top:-1,left:-1,height:-2,width:-2}},this._options=dr(this._defaults,t)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var e;(e=this._elem)==null||e.remove(),this._elem=null}show(e){var s,n;this._elem||(this._elem=Y("div",{className:this._options.selectionCssClass}),Object.keys(this._options.selectionCss).forEach(r=>{this._elem.style[r]=this._options.selectionCss[r]}),this._elem.style.position="absolute",(s=this.grid.getActiveCanvasNode())==null||s.appendChild(this._elem));const t=this.grid.getCellNodeBox(e.fromRow,e.fromCell),i=this.grid.getCellNodeBox(e.toRow,e.toCell);return t&&i&&((n=this._options)!=null&&n.offset)&&(this._elem.style.top=`${t.top+this._options.offset.top}px`,this._elem.style.left=`${t.left+this._options.offset.left}px`,this._elem.style.height=`${i.bottom-t.top+this._options.offset.height}px`,this._elem.style.width=`${i.right-t.left+this._options.offset.width}px`),this._elem}}class rf{constructor(e){this.pluginName="CellRangeSelector",this.onBeforeCellRangeSelected=new $e,this.onCellRangeSelecting=new $e,this.onCellRangeSelected=new $e,this._currentlySelectedRange=null,this._canvas=null,this._dragging=!1,this._gridUid="",this._columnOffset=0,this._rowOffset=0,this._isRightCanvas=!1,this._isBottomCanvas=!1,this._xDelayForNextCell=0,this._yDelayForNextCell=0,this._viewportHeight=0,this._viewportWidth=0,this._isRowMoveRegistered=!1,this._scrollLeft=0,this._scrollTop=0,this._defaults={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},this._eventHandler=new hi,this._options=dr(this._defaults,e)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var e;return this._gridUid||(((e=this._grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(e){this._grid=e,this._decorator=this._options.cellDecorator||new E_(e,this._options),this._canvas=e.getCanvasNode(),this._gridOptions=e.getOptions(),this._gridUid=e.getUID(),this._eventHandler.subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this)).subscribe(this._grid.onScroll,this.handleScroll.bind(this))}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),Pt(this._activeCanvas),Pt(this._canvas),(t=this._decorator)==null||t.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(e,t){var v;const i=((v=e==null?void 0:e.touches)==null?void 0:v[0])??e,s=this._activeViewport.scrollLeft,n=this._activeViewport.scrollTop,r=s+this._viewportWidth,o=n+this._viewportHeight,h=ui(this._activeViewport),u=(h==null?void 0:h.left)??0,c=(h==null?void 0:h.top)??0,f=u+this._viewportWidth,p=c+this._viewportHeight,g={e,dd:t,viewport:{left:s,top:n,right:r,bottom:o,offset:{left:u,top:c,right:f,bottom:p}},offset:{x:0,y:0},isOutsideViewport:!1};return i.pageX<u?g.offset.x=i.pageX-u:i.pageX>f&&(g.offset.x=i.pageX-f),i.pageY<c?g.offset.y=c-i.pageY:i.pageY>p&&(g.offset.y=p-i.pageY),g.isOutsideViewport=!!g.offset.x||!!g.offset.y,g}stopIntervalTimer(){this._autoScrollTimerId&&(clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(e,t){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||e.stopImmediatePropagation();const i=e.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(i,t),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(i,t)}handleDragOutsideViewport(){if(this._xDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.x)*this.addonOptions.accelerateInterval,this._yDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.y)*this.addonOptions.accelerateInterval,!this._autoScrollTimerId){let e=0,t=0;this._autoScrollTimerId=setInterval(()=>{let i=!1,s=!1;this._draggingMouseOffset.offset.x?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._xDelayForNextCell):e=0,this._draggingMouseOffset.offset.y?(t+=this.addonOptions.minIntervalToShowNextCell,s=t>=this._yDelayForNextCell):t=0,(i||s)&&(i&&(e=0),s&&(t=0),this.handleDragToNewPosition(i,s))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(e,t){let i=this._draggingMouseOffset.e.pageX,s=this._draggingMouseOffset.e.pageY;const n=this._draggingMouseOffset.offset.x,r=this._draggingMouseOffset.offset.y,o=this._draggingMouseOffset.viewport.offset;e&&n&&(n>0?i=o.right+this._moveDistanceForOneCell.x:i=o.left-this._moveDistanceForOneCell.x),t&&r&&(r>0?s=o.top-this._moveDistanceForOneCell.y:s=o.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:i,pageY:s},this._draggingMouseOffset.dd)}handleDragTo(e,t){var n,r,o;const i=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,s=this._grid.getCellFromPoint(i.pageX-(((r=ui(this._activeCanvas))==null?void 0:r.left)??0)+this._columnOffset,i.pageY-(((o=ui(this._activeCanvas))==null?void 0:o.top)??0)+this._rowOffset);if(s!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&s.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&s.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&s.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&s.row<this._gridOptions.frozenRow))return;if(this.addonOptions.autoScroll&&this._draggingMouseOffset){const h=this._grid.getCellNodeBox(s.row,s.cell);if(h){const u=this._draggingMouseOffset.viewport;(h.left<u.left||h.right>u.right||h.top<u.top||h.bottom>u.bottom)&&this._grid.scrollCellIntoView(s.row,s.cell)}}if(!this._grid.canCellBeSelected(s.row,s.cell))return;if(t!=null&&t.range){t.range.end=s;const h=new Ts(t.range.start.row??0,t.range.start.cell??0,s.row,s.cell);this._decorator.show(h),this.onCellRangeSelecting.notify({range:h})}}}handleDragEnd(e,t){this._decorator.hide(),this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new Ts(t.range.start.row??0,t.range.start.cell??0,t.range.end.row,t.range.end.cell)}))}handleDragInit(e){var i,s;this._activeCanvas=this._grid.getActiveCanvasNode(e),this._activeViewport=this._grid.getActiveViewportNode(e);const t=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-t.width,this._viewportHeight=this._activeViewport.offsetHeight-t.height,this._moveDistanceForOneCell={x:this._grid.getAbsoluteColumnMinWidth()/2,y:this._gridOptions.rowHeight/2},this._rowOffset=0,this._columnOffset=0,this._isBottomCanvas=this._activeCanvas.classList.contains("grid-canvas-bottom"),this._gridOptions.frozenRow>-1&&this._isBottomCanvas){const n=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((i=document.querySelector(n))==null?void 0:i.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((s=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:s.clientWidth)??0),this._grid.getEditorLock().isActive()||(e.stopImmediatePropagation(),e.preventDefault())}handleDragStart(e,t){const i=this._grid.getCellFromEvent(e);if(i&&this.onBeforeCellRangeSelected.notify(i).getReturnValue()!==!1&&this._grid.canCellBeSelected(i.row,i.cell)&&(this._dragging=!0,e.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const s=ui(this._canvas);let n=t.startX-((s==null?void 0:s.left)??0);this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(n+=this._scrollLeft);let r=t.startY-((s==null?void 0:s.top)??0);this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(r+=this._scrollTop);const o=this._grid.getCellFromPoint(n,r);return t.range={start:o,end:{}},this._currentlySelectedRange=t.range,this._decorator.show(new Ts(o.row,o.cell))}handleScroll(e,t){this._scrollTop=t.scrollTop,this._scrollLeft=t.scrollLeft}}class S_{constructor(e){this.onSelectedRangesChanged=new $e,this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this._eventHandler=new hi,e===void 0||e.cellRangeSelector===void 0?this._selector=new rf({selectionCss:{border:"2px solid black"}}):this._selector=e.cellRangeSelector,this._addonOptions=e}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(e){this._grid=e,e.hasDataView()&&(this._dataView=(e==null?void 0:e.getData())??{}),this._addonOptions={...this._defaults,...this._addonOptions},this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)).subscribe(this._selector.onBeforeCellRangeSelected,this.handleBeforeCellRangeSelected.bind(this)).subscribe(this._selector.onCellRangeSelected,this.handleCellRangeSelected.bind(this)),e.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var e,t;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(e=this._grid)==null||e.unregisterPlugin(this._selector),(t=this._selector)==null||t.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(e,t){let i=e.length!==t.length;if(!i){for(let s=0;s<e.length;s++)if(e[s].fromCell!==t[s].fromCell||e[s].fromRow!==t[s].fromRow||e[s].toCell!==t[s].toCell||e[s].toRow!==t[s].toRow){i=!0;break}}return!i}refreshSelections(){this.setSelectedRanges(this.getSelectedRanges())}removeInvalidRanges(e){const t=[];for(let i=0;i<e.length;i++){const s=e[i];this._grid.canCellBeSelected(s.fromRow,s.fromCell)&&this._grid.canCellBeSelected(s.toRow,s.toCell)&&t.push(s)}return t}resetPageRowCount(){this._cachedPageRowCount=0}setSelectedRanges(e,t="SlickCellSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;const i=!this.rangesAreEqual(this._ranges,e);if(this._ranges=this.removeInvalidRanges(e),i){const s=new li;Object.defineProperty(s,"detail",{writable:!0,configurable:!0,value:{caller:t}}),this.onSelectedRangesChanged.notify(this._ranges,s)}}handleActiveCellChange(e,t){var n,r;this._prevSelectedRow=void 0;const i=jt(t.cell),s=jt(t.row);(n=this._addonOptions)!=null&&n.selectActiveCell&&s&&i?this.setSelectedRanges([new Ts(t.row,t.cell)]):(!((r=this._addonOptions)!=null&&r.selectActiveCell)||!s&&!i)&&this.setSelectedRanges([])}handleBeforeCellRangeSelected(e){if(this._grid.getEditorLock().isActive())return e.stopPropagation(),!1}handleCellRangeSelected(e,t){this._grid.setActiveCell(t.range.fromRow,t.range.fromCell,!1,!1,!0),this.setSelectedRanges([t.range])}isKeyAllowed(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageDown","PageUp","Home","End"].some(t=>t===e)}handleKeyDown(e){var o;let t,i;const s=this._grid.getColumns().length,n=this._grid.getActiveCell();let r=0;if(this._dataView?r=((o=this._dataView)==null?void 0:o.getPagingInfo().pageSize)||this._dataView.getLength():r=this._grid.getDataLength(),n&&(e.shiftKey||e.ctrlKey)&&!e.altKey&&this.isKeyAllowed(e.key)&&(t=this.getSelectedRanges().slice(),t.length||t.push(new Ts(n.row,n.cell)),i=t.pop(),typeof(i==null?void 0:i.contains)=="function")){i.contains(n.row,n.cell)||(i=new Ts(n.row,n.cell));let h=i.toRow-i.fromRow,u=i.toCell-i.fromCell;const c=n.row===i.fromRow?1:-1,f=n.cell===i.fromCell?1:-1,p=e.key.startsWith("Arrow");let g,v=0;p&&!e.ctrlKey?(e.key==="ArrowLeft"?u-=f:e.key==="ArrowRight"?u+=f:e.key==="ArrowUp"?h-=c:e.key==="ArrowDown"&&(h+=c),v=n.row+c*h):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=n.row),e.shiftKey&&!e.ctrlKey&&e.key==="Home"?(g=0,v=n.row):e.shiftKey&&!e.ctrlKey&&e.key==="End"?(g=s-1,v=n.row):e.ctrlKey&&e.shiftKey&&e.key==="Home"?(g=0,v=0):e.ctrlKey&&e.shiftKey&&e.key==="End"?(g=s-1,v=r-1):e.key==="PageUp"?(this._prevSelectedRow>=0&&(v=this._prevSelectedRow-this._cachedPageRowCount),v<0&&(v=0)):e.key==="PageDown"&&(this._prevSelectedRow<=r-1&&(v=this._prevSelectedRow+this._cachedPageRowCount),v>r-1&&(v=r-1)),this._prevSelectedRow=v),g??(g=n.cell+f*u);const C=new Ts(n.row,n.cell,v,g);if(this.removeInvalidRanges([C]).length){t.push(C);const w=c>0?C.toRow:C.fromRow,y=f>0?C.toCell:C.fromCell;p?(this._grid.scrollRowIntoView(w),this._grid.scrollCellIntoView(w,y,!1)):(this._grid.scrollRowIntoView(v),this._grid.scrollCellIntoView(v,y,!1))}else t.push(i);this.setSelectedRanges(t),e.preventDefault(),e.stopPropagation(),this._prevKeyDown=e.key}}}class hd{constructor(e){this.pluginName="RowSelectionModel",this.onSelectedRangesChanged=new $e,this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this._eventHandler=new hi,this._options={...this._defaults,...e}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return(e=this._grid)==null?void 0:e.getOptions()}init(e){this._grid=e,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector,!this._selector&&this._options.dragToSelect&&(this._selector=new rf({selectionCss:{border:"none"},autoScroll:this._options.autoScrollWhenDrag}),this.addonOptions.cellRangeSelector=this._selector),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onClick,this.handleClick.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)),this._selector&&(this._grid.registerPlugin(this._selector),this._selector.onCellRangeSelecting.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.subscribe(this.handleBeforeCellRangeSelected.bind(this)))}destroy(){this.dispose()}dispose(){this._eventHandler.unsubscribeAll(),this.disposeSelector()}disposeSelector(){var e,t;this._selector&&(this._selector.onCellRangeSelecting.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._grid.unregisterPlugin(this._selector),(e=this._selector)==null||e.destroy(),(t=this._selector)==null||t.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(e){this.setSelectedRanges(this.rowsToRanges(e),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(e,t="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;this._ranges=e;const i=new li;Object.defineProperty(i,"detail",{writable:!0,configurable:!0,value:{caller:t}}),this.onSelectedRangesChanged.notify(this._ranges,i)}getRowsRange(e,t){let i;const s=[];for(i=e;i<=t;i++)s.push(i);for(i=t;i<e;i++)s.push(i);return s}handleBeforeCellRangeSelected(e,t){let i=!1;if(this.gridOptions.enableRowMoveManager&&(i=this.isHandlerColumn(t.cell)??!1),this._grid.getEditorLock().isActive()||i)return e.stopPropagation(),!1;this._grid.setActiveCell(t.row,t.cell)}handleCellRangeSelected(e,t){if(!this.gridOptions.multiSelect||!this.addonOptions.selectActiveRow)return!1;this.setSelectedRanges([new Ts(t.range.fromRow,0,t.range.toRow,this._grid.getColumns().length-1)])}handleActiveCellChange(e,t){this._options.selectActiveRow&&t.row!==null&&this.setSelectedRanges([new Ts(t.row,0,t.row,this._grid.getColumns().length-1)])}handleClick(e){const t=this._grid.getCellFromEvent(e);if(!t||!this._grid.canCellBeActive(t.row,t.cell)||!this.gridOptions.multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;let i=this.rangesToRows(this._ranges);const s=i.indexOf(t.row);if(s===-1&&(e.ctrlKey||e.metaKey))i.push(t.row),this._grid.setActiveCell(t.row,t.cell);else if(s!==-1&&(e.ctrlKey||e.metaKey))i=i.filter(r=>r!==t.row),this._grid.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){const r=i.pop(),o=Math.min(t.row,r),h=Math.max(t.row,r);i=[];for(let u=o;u<=h;u++)u!==r&&i.push(u);i.push(r),this._grid.setActiveCell(t.row,t.cell)}const n=this.rowsToRanges(i);return this.setSelectedRanges(n),e.stopImmediatePropagation(),!0}handleKeyDown(e){const t=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){let i=this.getSelectedRows();i.sort((o,h)=>o-h),i.length||(i=[t.row]);let s,n=i[0],r=i[i.length-1];if(e.key==="ArrowDown"?s=t.row<r||n===r?++r:++n:s=t.row<r?--r:--n,s>=0&&s<this._grid.getDataLength()){this._grid.scrollRowIntoView(s);const o=this.rowsToRanges(this.getRowsRange(n,r));this.setSelectedRanges(o)}e.preventDefault(),e.stopPropagation()}}isHandlerColumn(e){const i=this._grid.getColumns()[e].behavior||"";return/move|selectAndMove/.test(i)}rangesToRows(e){const t=[];for(let i=0;i<e.length;i++)for(let s=e[i].fromRow;s<=e[i].toRow;s++)t.push(s);return t}rowsToRanges(e){const t=[],i=this._grid.getColumns().length-1;for(const s of e)t.push(new Ts(s,0,s,i));return t}}class of{constructor(e,t){this.pubSubService=e,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,toolTip:"Select/Deselect All",width:30,applySelectOnAllPages:!0,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},this._addonOptions=this._defaults,this._checkboxColumnCellIndex=null,this._isSelectAllChecked=!1,this._isUsingDataView=!1,this._selectedRowsLookup={},this._selectAll_UID=this.createUID(),this._bindEventService=new Pi,this._eventHandler=new hi,this._addonOptions={...this._defaults,...t}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(e){this._selectedRowsLookup=e}init(e){this._grid=e,this._isUsingDataView=!Array.isArray(e.getData()),this._isUsingDataView&&(this._dataView=e.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(e.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(e.onClick,this.handleClick.bind(this)).subscribe(e.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,this.handleDataViewSelectedIdsChanged.bind(this)).subscribe(this._dataView.onPagingInfoChanged,this.handleDataViewSelectedIdsChanged.bind(this)),this._addonOptions.hideInFilterHeaderRow||this.addCheckboxToFilterHeaderRow(e),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new hd(this.gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionModel)),this.gridOptions.preselectedRows&&this._rowSelectionModel&&this._grid.getSelectionModel()&&setTimeout(()=>this.selectRows(this.gridOptions.preselectedRows||[])),typeof this._addonOptions.selectableOverride=="function"&&this.selectableOverride(this._addonOptions.selectableOverride)}dispose(){this._bindEventService.unbindAll(),this._eventHandler.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.checkboxSelector},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.checkboxSelector)==null?void 0:i.columnIndexPosition)??0;n>0?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(e){var t;if(this._addonOptions={...this._addonOptions,...e},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?this.hideSelectAllFromColumnHeaderTitleRow():(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const i=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");if(i){i.style.display="flex",i.ariaChecked=String(this._isSelectAllChecked);const s=i.querySelector('input[type="checkbox"]');s&&(s.ariaChecked=String(this._isSelectAllChecked),s.checked=this._isSelectAllChecked)}}}deSelectRows(e){const t=[];for(const i of e)this._selectedRowsLookup[i]&&(t[t.length]=i);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(i=>t.indexOf(i)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(e){var s;const t=[];for(const n of e)this._selectedRowsLookup[n]&&(t[t.length]=n);const i=(s=this._grid.getSelectedRows())==null?void 0:s.concat(t);this._grid.setSelectedRows(i)}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":`<input id="header-selector${this._selectAll_UID}" type="checkbox"><label for="header-selector${this._selectAll_UID}"></label>`,toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:e,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,sortable:!1,width:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"","","")}hideSelectAllFromColumnHeaderFilterRow(){var t;const e=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");e&&(e.style.display="none")}toggleRowSelection(e){this.toggleRowSelectionWithEvent(null,e)}toggleRowSelectionWithEvent(e,t){const i=this._grid.getDataItem(t);if(!this.checkSelectableOverride(t,i,this._grid))return;const s=this._grid.getSelectedRows();this._addonOptions.onRowToggleStart&&this._addonOptions.onRowToggleStart(e,{row:t,previousSelectedRows:s});const n=this._selectedRowsLookup[t]?this._grid.getSelectedRows().filter(r=>r!==t):this._grid.getSelectedRows().concat(t);this._grid.setSelectedRows(n,"click.toggle"),this._grid.setActiveCell(t,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(e,{row:t,previousSelectedRows:s})}selectableOverride(e){this._selectableOverride=e}addCheckboxToFilterHeaderRow(e){this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{if(i.column.field===(this._addonOptions.field||"_checkbox_selector")){Pt(i.node);const s=Y("span",{id:"filter-checkbox-selectall-container",ariaChecked:"false"});s.appendChild(Y("input",{type:"checkbox",id:`header-filter-selector${this._selectAll_UID}`})),s.appendChild(Y("label",{htmlFor:`header-filter-selector${this._selectAll_UID}`})),i.node.appendChild(s),this._headerRowNode=i.node,this._bindEventService.bind(s,"click",n=>this.handleHeaderClick(n,i))}})}checkboxSelectionFormatter(e,t,i,s,n,r){if(n&&this.checkSelectableOverride(e,n,r)){const o=this.createUID()+e;return`<input id="selector${o}" type="checkbox" ${this._selectedRowsLookup[e]?'checked="checked" aria-checked="true"':'aria-checked="false"'}><label for="selector${o}"></label>`}return null}checkSelectableOverride(e,t,i){return typeof this._selectableOverride=="function"?this._selectableOverride(e,t,i):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const e=this._grid.getColumns();for(let t=0;t<e.length;t++)e[t].id===this._addonOptions.columnId&&(this._checkboxColumnCellIndex=t)}return this._checkboxColumnCellIndex}handleDataViewSelectedIdsChanged(){var s;const e=this._dataView.getAllSelectedFilteredIds(),t=this._dataView.getFilteredItems();let i=0;if(typeof this._selectableOverride=="function"&&e.length>0)for(let n=0;n<this._dataView.getItemCount();n++){const r=this._dataView.getItemByIdx(n),o=this._dataView.getIdPropertyName(),h=r[o];t.findIndex(c=>c[o]===h)>=0&&!this.checkSelectableOverride(n,r,this._grid)&&i++}if(this._isSelectAllChecked=e.length+i>=t.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const n=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`);n&&(n.ariaChecked=String(this._isSelectAllChecked),n.checked=this._isSelectAllChecked)}}handleClick(e,t){if(this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(e,t.row),e.stopPropagation(),e.stopImmediatePropagation()}}handleHeaderClick(e,t){if(t.column.id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}let i=e.target.checked;const s=i?"click.selectAll":"click.unselectAll",n=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(e,{previousSelectedRows:n,caller:s});let r=[];if(i){const o=[];for(let h=0;h<this._grid.getDataLength();h++){const u=this._grid.getDataItem(h);!u.__group&&!u.__groupTotals&&this.checkSelectableOverride(h,u,this._grid)&&o.push(h)}r=o,i=!0}if(this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages){const o=[],h=this._dataView.getFilteredItems();for(let u=0;u<h.length;u++){const c=h[u];this.checkSelectableOverride(u,c,this._grid)&&o.push(c[this._dataView.getIdPropertyName()])}this._dataView.setSelectedIds(o,{isRowBeingAdded:i})}this._grid.setSelectedRows(r,s),this._addonOptions.onSelectAllToggleEnd&&this._addonOptions.onSelectAllToggleEnd(e,{rows:r,previousSelectedRows:n,caller:s}),e.stopPropagation(),e.stopImmediatePropagation()}}handleKeyDown(e,t){e.key===" "&&this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&((!this._grid.getEditorLock().isActive()||this._grid.getEditorLock().commitCurrentEdit())&&this.toggleRowSelectionWithEvent(e,t.row),e.preventDefault(),e.stopImmediatePropagation())}handleSelectedRowsChanged(){var h;const e=this._grid.getSelectedRows(),t={};let i=0,s=0,n=0,r=0;if(typeof this._selectableOverride=="function")for(n=0;n<this._grid.getDataLength();n++){const u=this._grid.getDataItem(n);this.checkSelectableOverride(s,u,this._grid)||r++}const o=[];for(s=0;s<e.length;s++){i=e[s];const u=this._grid.getDataItem(i);this.checkSelectableOverride(s,u,this._grid)?(t[i]=!0,t[i]!==this._selectedRowsLookup[i]&&(this._grid.invalidateRow(i),delete this._selectedRowsLookup[i])):o.push(i)}for(const u in this._selectedRowsLookup)u!==void 0&&this._grid.invalidateRow(+u);if(this._selectedRowsLookup=t,this._grid.render(),this._isSelectAllChecked=((e==null?void 0:e.length)??0)+r>=this._grid.getDataLength(),(!this._isUsingDataView||!this._addonOptions.applySelectOnAllPages)&&(!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow)){const u=(h=this.headerRowNode)==null?void 0:h.querySelector(`#header-filter-selector${this._selectAll_UID}`);u&&(u.ariaChecked=String(this._isSelectAllChecked),u.checked=this._isSelectAllChecked)}if(o.length>0){for(const u of o){const c=e.indexOf(u);e.splice(c,1)}this._grid.setSelectedRows(e,"click.toggle")}}renderSelectAllCheckbox(e){const t=e?' checked="checked" aria-checked="true"':' aria-checked="false"';this._grid.updateColumnHeader(this._addonOptions.columnId||"",`<input id="header-selector${this._selectAll_UID}" type="checkbox"${t}><label for="header-selector${this._selectAll_UID}"></label>`,this._addonOptions.toolTip)}}class af extends hl{constructor(e,t,i,s,n){var r;super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.onAfterMenuShow=new $e,this.onBeforeMenuShow=new $e,this.onMenuClose=new $e,this.onCommand=new $e,this.onColumnsChanged=new $e,this._areVisibleColumnDifferent=!1,this._columns=[],this._columnCheckboxes=[],this._commandMenuElm=null,this._headerElm=null,this._isMenuOpen=!1,this._subMenuParentId="",this._defaults={dropSide:"left",showButton:!0,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",marginBottom:15,menuWidth:18,minHeight:250,contentMinWidth:0,resizeOnShowHeaderRow:!1,syncResizeTitle:"Synchronous resize",subMenuOpenByEvent:"mouseover",headerColumnValueExtractor:o=>o.name},this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-grid-menu",this._camelPluginName="gridMenu",this._columns=this.sharedService.allColumns??[],this._gridUid=((r=this.grid)==null?void 0:r.getUID())??"",this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,dl.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(e,t)=>{if(t&&t.optionsBefore&&t.optionsAfter){const i=t.optionsBefore.frozenColumn>=0&&t.optionsAfter.frozenColumn===-1,s=t.optionsBefore.frozenColumn===-1&&t.optionsAfter.frozenColumn>=0;(i||s)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const e=this._userOriginalGridMenu.commandItems,t=this._userOriginalGridMenu&&Array.isArray(e)?e:[];this._addonOptions.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this._addonOptions.commandItems=this._addonOptions.commandItems,this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var e,t;this._bindEventService.unbindAll(),(e=this._menuElm)==null||e.remove(),this._menuElm=null,(t=this._gridMenuButtonElm)==null||t.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(hf.call(this,this._menuElm),this._listElm=Y("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",df.bind(this),void 0,"parent-menu"))}createGridMenu(){var n,r;const e=this._gridUid?`.${this._gridUid}`:"",t=((n=this._addonOptions)==null?void 0:n.menuWidth)||this._defaults.menuWidth,i=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",s=this.grid.getContainerNode();if(this._headerElm=s.querySelector(`.slick-header-${i}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${t}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const u=s.querySelector(`${e} .slick-headerrow`);u&&(u.style.width=`calc(100% - ${t}px)`)}(this._addonOptions.showButton??this._defaults.showButton)&&(this._gridMenuButtonElm=Y("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(r=this._addonOptions)!=null&&r.iconCssClass&&this._gridMenuButtonElm.classList.add(...this._addonOptions.iconCssClass.split(" ")),this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement.firstChild),this._bindEventService.bind(this._gridMenuButtonElm,"click",this.showGridMenu.bind(this))),this.sharedService.gridOptions.gridMenu={...this._defaults,...this._addonOptions},this.translateTitleLabels(this._addonOptions),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this)),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this))}}createCommandMenu(e,t=0,i){const s=i==null?void 0:i.command;let n=t===1&&s?s.replace(/\s/g,""):"";n&&(this._subMenuParentId=n),t>1&&(n=this._subMenuParentId);const r=`${this.menuCssClass} slick-menu-level-${t} ${this._gridUid}`,o=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${t}${this.gridUidSelector}`);if(o){if(o.dataset.subMenuParent===n)return o;this.disposeSubMenus()}const h=Y("div",{role:"menu",className:r,ariaLabel:t>1?"SubMenu":"Grid Menu"});t>0&&(h.classList.add("slick-submenu"),n&&(h.dataset.subMenuParent=n));const u={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:t};return this._commandMenuElm=this.recreateCommandList(e,h,u,i),t++,h}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(e){var i,s,n;const t={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",t),!(typeof((i=this._addonOptions)==null?void 0:i.onMenuClose)=="function"&&this._addonOptions.onMenuClose(e,t)===!1||this.onMenuClose.notify(t,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((s=this.grid)==null?void 0:s.autosizeColumns)=="function"){const r=this.grid.getUID()||"";this._areVisibleColumnDifferent&&r&&document.querySelector(`.${r}`)!==null&&(this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this._areVisibleColumnDifferent=!1)}this.disposeSubMenus(),(n=this._menuElm)==null||n.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(e,t,i,s){var h,u;const n=((h=e==null?void 0:e.touches)==null?void 0:h[0])??e,r=t.classList.contains("slick-submenu"),o=r?e.target.closest(".slick-menu-item"):n.target;if(o){const c=i||this._gridMenuButtonElm,f=ui(i),p=ui(o),g=s??this._addonOptions,v=getComputedStyle(c),C=parseInt((v==null?void 0:v.width)??((u=this._defaults)==null?void 0:u.menuWidth),10),w=(t==null?void 0:t.offsetWidth)??0,y=(g==null?void 0:g.contentMinWidth)??this._defaults.contentMinWidth??0,S=(y>w?y:w)||0,O=(f==null?void 0:f.top)??0,I=(f==null?void 0:f.right)??0;let F,X;if(r?(X=(p==null?void 0:p.top)??0,F=(p==null?void 0:p.left)??0):(X=O+c.offsetHeight,F=(g==null?void 0:g.dropSide)==="right"?I-C:I-S),r){const me=(t==null?void 0:t.clientHeight)||0,{bottom:U,top:N}=Io(o);(U<me&&N>U?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),X-=me-o.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}const K=this.grid.getGridPosition();let ee=F+Number(w);r&&(ee+=o.clientWidth);const Q=document.documentElement.clientWidth;(ee>=K.width||ee>=Q?"left":"right")==="left"||!r&&(g==null?void 0:g.dropSide)==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),r&&(F-=Number(w))):(t.classList.remove("dropleft"),t.classList.add("dropright"),r&&(F+=o.offsetWidth)),t.style.top=`${X}px`,t.style.left=`${F}px`,y>0&&(t.style.minWidth=`${y}px`),t.style.opacity="1",t.style.display="block"}}openGridMenu(){const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(e,"target",{writable:!0,configurable:!0,value:Y("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(e)}showGridMenu(e,t){var s,n,r;const i=((s=e==null?void 0:e.touches)==null?void 0:s[0])??e;if(e.preventDefault(),Pt(this._menuElm),(n=this._menuElm)==null||n.remove(),this._addonOptions){const o={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},h={...this._addonOptions,...t};if(h&&!this.extensionUtility.runOverrideFunctionWhenExists(h.menuUsabilityOverride,o)||typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",o),typeof(h==null?void 0:h.onBeforeMenuShow)=="function"&&h.onBeforeMenuShow(e,o)===!1||this.onBeforeMenuShow.notify(o,null,this).getReturnValue()===!1))return;this._menuElm=this.createCommandMenu(((r=this._addonOptions)==null?void 0:r.commandItems)??[]),this.createColumnPickerContainer(),dl.call(this),this._columnCheckboxes=[],uf.call(this,h),document.body.appendChild(this._menuElm),this._menuElm.style.opacity="0";const u=((h==null?void 0:h.marginBottom)!==void 0?h.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=An(h==null?void 0:h.minHeight,""),(h==null?void 0:h.height)!==void 0?this._menuElm.style.height=An(h.height,""):this._menuElm.style.maxHeight=An(h==null?void 0:h.maxHeight,`${window.innerHeight-i.clientY-u}px`);let c=e.target.nodeName==="BUTTON"?e.target:e.target.querySelector("button");c||(c=e.target.parentElement),this._menuElm.setAttribute("aria-expanded","true"),this._menuElm.appendChild(this._listElm),this.repositionMenu(e,this._menuElm,c,h),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",o),typeof(h==null?void 0:h.onAfterMenuShow)=="function"&&h.onAfterMenuShow(e,o),this.onAfterMenuShow.notify(o,null,this)}}translateGridMenu(){var e;if(this.sharedService.gridOptions.gridMenu){this.sharedService.gridOptions.gridMenu.commandItems=[],this.sharedService.gridOptions.gridMenu.commandTitle="",this.sharedService.gridOptions.gridMenu.columnTitle="",this.sharedService.gridOptions.gridMenu.forceFitTitle="",this.sharedService.gridOptions.gridMenu.syncResizeTitle="";const t=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(((e=this._addonOptions)==null?void 0:e.commandItems)||[],"commandItems"),this.extensionUtility.sortItems(this.sharedService.gridOptions.gridMenu.commandItems,"positionOrder"),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this.translateTitleLabels(this._addonOptions),this.extensionUtility.translateItems(this._columns,"nameKey","name")}}translateTitleLabels(e){e&&(e.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),e.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),e.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(e){var h,u,c,f;const t=this.gridOptions.backendServiceApi||null,i=[],s=this.gridOptions,n=Ls(s),r=(h=this._addonOptions)==null?void 0:h.commandLabels;if(this.gridOptions&&this._addonOptions&&!this._addonOptions.hideClearFrozenColumnsCommand){const p="clear-pinning";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"fa fa-times",titleKey:`${n}${(r==null?void 0:r.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:p,positionOrder:52})}if(this.gridOptions&&this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(this.gridOptions&&this._addonOptions&&!this._addonOptions.hideClearAllFiltersCommand){const p="clear-filter";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"fa fa-filter text-danger",titleKey:`${n}${(r==null?void 0:r.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:p,positionOrder:50})}if(this.gridOptions&&this._addonOptions&&!this._addonOptions.hideToggleFilterCommand){const p="toggle-filter";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"fa fa-random",titleKey:`${n}${(r==null?void 0:r.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:p,positionOrder:53})}if(t&&this.gridOptions&&this._addonOptions&&!this._addonOptions.hideRefreshDatasetCommand){const p="refresh-dataset";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"fa fa-refresh",titleKey:`${n}${(r==null?void 0:r.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:p,positionOrder:57})}}if(this.gridOptions.showPreHeaderPanel&&this.gridOptions&&this._addonOptions&&!this._addonOptions.hideTogglePreHeaderCommand){const p="toggle-preheader";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"fa fa-random",titleKey:`${n}${(r==null?void 0:r.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:p,positionOrder:53})}if(this.gridOptions.enableSorting&&this.gridOptions&&this._addonOptions&&!this._addonOptions.hideClearAllSortingCommand){const p="clear-sorting";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"fa fa-unsorted text-danger",titleKey:`${n}${(r==null?void 0:r.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:p,positionOrder:51})}if((u=this.gridOptions)!=null&&u.enableTextExport&&this._addonOptions&&!this._addonOptions.hideExportCsvCommand){const p="export-csv";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"fa fa-download",titleKey:`${n}${(r==null?void 0:r.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:p,positionOrder:54})}if(this.gridOptions&&this.gridOptions.enableExcelExport&&this._addonOptions&&!this._addonOptions.hideExportExcelCommand){const p="export-excel";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"fa fa-file-excel-o text-success",titleKey:`${n}${(r==null?void 0:r.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:p,positionOrder:55})}if((c=this.gridOptions)!=null&&c.enableTextExport&&this._addonOptions&&!this._addonOptions.hideExportTextDelimitedCommand){const p="export-text-delimited";e.some(g=>g!=="divider"&&g.hasOwnProperty("command")&&g.command===p)||i.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"fa fa-download",titleKey:`${n}${(r==null?void 0:r.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:p,positionOrder:56})}const o=((f=this._addonOptions)==null?void 0:f.commandItems)||[];return this.gridOptions&&this._addonOptions&&(Array.isArray(i)&&i.length>0||Array.isArray(o)&&o.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu")),i}executeGridMenuInternalCustomCommands(e,t){var s,n,r;const i=((s=this.sharedService)==null?void 0:s.externalRegisteredResources)||[];if(t!=null&&t.command)switch(t.command){case"clear-pinning":const o=[...this.sharedService.visibleColumns],h={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(h),this.sharedService.gridOptions.frozenColumn=h.frozenColumn,this.sharedService.gridOptions.frozenRow=h.frozenRow,this.sharedService.gridOptions.frozenBottom=h.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=h.enableMouseWheelScrollHandler,Array.isArray(o)&&this.grid.setColumns(o),this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this.pubSubService.publish("onGridMenuClearAllPinning");break;case"clear-filter":this.filterService.clearFilters(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllFilters");break;case"clear-sorting":this.sortService.clearSorting(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllSorting");break;case"export-csv":const c=i.find(C=>C.className==="TextExportService");c!=null&&c.exportToFile?c.exportToFile({delimiter:Sn.comma,format:_i.csv}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"export-excel":const f=i.find(C=>C.className==="ExcelExportService");f!=null&&f.exportToExcel?f.exportToExcel():console.error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Grid Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };");break;case"export-text-delimited":const p=i.find(C=>C.className==="TextExportService");p!=null&&p.exportToFile?p.exportToFile({delimiter:Sn.tab,format:_i.txt}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"toggle-filter":let g=((n=this.gridOptions)==null?void 0:n.showHeaderRow)??!1;g=!g,this.grid.setHeaderRowVisibility(g),g===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const v=((r=this.gridOptions)==null?void 0:r.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!v);break;case"refresh-dataset":this.extensionUtility.refreshBackendDataset();break}}getDefaultGridMenuOptions(){return{commandTitle:void 0,columnTitle:this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),forceFitTitle:this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),syncResizeTitle:this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"),iconCssClass:"fa fa-bars",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._isMenuOpen&&this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu(e)}}handleMenuItemCommandClick(e,t,i,s=0){var n,r;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const h={grid:this.grid,command:i.command,item:i,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(e,h),this.pubSubService.publish("onGridMenuCommand",h),typeof((n=this._addonOptions)==null?void 0:n.onCommand)=="function"&&this._addonOptions.onCommand(e,h),this.onCommand.notify(h,null,this),typeof i.action=="function"&&i.action.call(this,e,h),!((r=this._addonOptions)!=null&&r.leaveOpen)&&!e.defaultPrevented&&this.hideMenu(e),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s)}handleMenuItemMouseOver(e,t,i,s=0){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s):s===0&&this.disposeSubMenus())}recreateCommandList(e,t,i,s){const n=i.level||0;if(e.length>0){const r=Y("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},t);if(n===0){this.populateCommandOrOptionTitle("command",this.addonOptions,r,n);const o=t.querySelector(".slick-command-header")??Y("div",{className:"slick-command-header"});o.classList.add("with-close"),lf.call(this,o),r.appendChild(o)}return s&&n>0&&this.addSubMenuTitleWhenExists(s,r),this.populateCommandOrOptionItems("command",this._addonOptions,r,e,i,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),r}return null}repositionSubMenu(e,t,i){const s=(t==null?void 0:t.commandItems)||[],n=this.createCommandMenu(s,i+1,t);n.style.display="block",document.body.appendChild(n),this.repositionMenu(e,n)}}function lf(a){const t=Y("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof dd?"slick-column-picker":"slick-grid-menu"}});a.appendChild(t)}function hf(a){var t,i;const e=this;(t=e.addonOptions)!=null&&t.columnTitle&&(e._columnTitleElm=Y("div",{className:"slick-menu-title",textContent:((i=e.addonOptions)==null?void 0:i.columnTitle)??e._defaults.columnTitle},a))}function df(a){var i;const e=this,t=e instanceof dd?"columnPicker":"gridMenu";if(a.target.dataset.option==="autoresize"){const s=e.getVisibleColumns();a.target.ariaChecked=String(a.target.checked);const n=a.target.checked;e.grid.setOptions({forceFitColumns:n}),e.grid.setColumns(s);return}if(a.target.dataset.option==="syncresize"){a.target.ariaChecked=String(a.target.checked),e.grid.setOptions({syncColumnCellResize:!!a.target.checked});return}if(a.target.type==="checkbox"){e._areVisibleColumnDifferent=!0,a.target.ariaChecked=String(a.target.checked);const s=a.target.checked,n=a.target.dataset.columnid||"",r=[];if(e._columnCheckboxes.forEach((u,c)=>{u.checked&&r.push(e.columns[c])}),!r.length){a.target.checked=!0;return}if(e.grid.setColumns(r),(!e.sharedService.visibleColumns||Array.isArray(r)&&r.length!==e.sharedService.visibleColumns.length)&&(e.sharedService.visibleColumns=r),e.gridOptions.enableRowSelection&&s){const u=e.grid.getSelectedRows();e.grid.setSelectedRows(u)}const o=e.gridOptions.frozenColumn??-1;o>=0&&e.extensionUtility.readjustFrozenColumnIndexWhenNeeded(o,e.columns,r);const h={columnId:n,showing:s,allColumns:e.columns,visibleColumns:r,columns:r,grid:e.grid};e.pubSubService.publish(`on${ur(t)}ColumnsChanged`,h),typeof((i=e.addonOptions)==null?void 0:i.onColumnsChanged)=="function"&&e.addonOptions.onColumnsChanged(a,h),e.onColumnsChanged.notify(h,null,e)}}function uf(a){const e=this,t=e instanceof af?"gridmenu-":"";for(const i of e.columns){const s=i.id,n=document.createElement("li");i.excludeFromColumnPicker&&(n.className="hidden");const r=Y("input",{type:"checkbox",id:`${e._gridUid}-${t}colpicker-${s}`,dataset:{columnid:`${s}`}});e.grid.getColumnIndex(s)>=0&&(r.ariaChecked="true",r.checked=!0),n.appendChild(r),e._columnCheckboxes.push(r);const u=(typeof(a==null?void 0:a.headerColumnValueExtractor)=="function"?a.headerColumnValueExtractor:e._defaults.headerColumnValueExtractor)(i,e.gridOptions),c=document.createElement("label");c.htmlFor=`${e._gridUid}-${t}colpicker-${s}`,this.grid.applyHtmlCode(c,u),n.appendChild(c),e._listElm.appendChild(n)}if((!a.hideForceFitButton||!a.hideSyncResizeButton)&&e._listElm.appendChild(document.createElement("hr")),!(a!=null&&a.hideForceFitButton)){const i=document.createElement("li");i.appendChild(Y("input",{type:"checkbox",id:`${e._gridUid}-${t}colpicker-forcefit`,ariaChecked:String(e.gridOptions.forceFitColumns),checked:e.gridOptions.forceFitColumns,dataset:{option:"autoresize"}})),i.appendChild(Y("label",{htmlFor:`${e._gridUid}-${t}colpicker-forcefit`,textContent:(a==null?void 0:a.forceFitTitle)??""})),e._listElm.appendChild(i)}if(!(a!=null&&a.hideSyncResizeButton)){const i=document.createElement("li");i.appendChild(Y("input",{type:"checkbox",id:`${e._gridUid}-${t}colpicker-syncresize`,ariaChecked:String(e.gridOptions.syncColumnCellResize),checked:e.gridOptions.syncColumnCellResize,dataset:{option:"syncresize"}})),i.appendChild(Y("label",{htmlFor:`${e._gridUid}-${t}colpicker-syncresize`,textContent:(a==null?void 0:a.syncResizeTitle)??""})),e._listElm.appendChild(i)}}function dl(){const a=this,e=a.grid.getColumns().slice(0),t=new Array(a.columns.length);for(let i=0;i<t.length;i++)a.grid.getColumnIndex(a.columns[i].id)===void 0?t[i]=a.columns[i]:t[i]=e.shift();a._columns=t}class dd{constructor(e,t,i){var s,n;this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.onColumnsChanged=new $e,this._areVisibleColumnDifferent=!1,this._columns=[],this._gridUid="",this._menuElm=null,this._columnCheckboxes=[],this._defaults={hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",minHeight:200,syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:r=>r.name},this._bindEventService=new Pi,this._eventHandler=new hi,this._columns=this.sharedService.allColumns??[],this._gridUid=((n=(s=this.grid)==null?void 0:s.getUID)==null?void 0:n.call(s))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){return this.sharedService.gridOptions??{}}get grid(){return this.sharedService.slickGrid}get menuElement(){return this._menuElm}init(){this._gridUid=this.grid.getUID()??"",this.gridOptions.columnPicker={...this._defaults,...this.gridOptions.columnPicker},this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker"),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,dl.bind(this)),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this),void 0,"body"),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this),void 0,"body")}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this.disposeMenu()}disposeMenu(){var e,t;this._bindEventService.unbindAll("parent-menu"),(e=this._listElm)==null||e.remove(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}createPickerMenu(){const e=Y("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return dl.call(this),hf.call(this,e),lf.call(this,e),this._listElm=Y("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(e,"click",df.bind(this),void 0,"parent-menu"),document.body.appendChild(e),e}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}translateColumnPicker(){this.addonOptions&&(this.addonOptions.columnTitle="",this.addonOptions.forceFitTitle="",this.addonOptions.syncResizeTitle="",this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker")),this.extensionUtility.translateItems(this._columns,"nameKey","name"),this.translateTitleLabels(this.addonOptions)}handleBodyMouseDown(e){var t;(this._menuElm!==e.target&&!((t=this._menuElm)!=null&&t.contains(e.target))||e.target.className==="close"&&e.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(e){e.preventDefault(),Pt(this._listElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),uf.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(e)}repositionMenu(e){var i;const t=((i=e==null?void 0:e.touches)==null?void 0:i[0])??e;this._menuElm&&(this._menuElm.style.top=`${t.pageY-10}px`,this._menuElm.style.left=`${t.pageX-10}px`,this._menuElm.style.minHeight=An(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=An(this.addonOptions.maxHeight,`${window.innerHeight-t.clientY}px`),this._menuElm.style.display="block",this._menuElm.setAttribute("aria-expanded","true"),this._menuElm.appendChild(this._listElm))}translateTitleLabels(e){e&&(e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const ul=(a,e,t,i,s,n)=>{const r=i.params||{};if(!r.formatters||!Array.isArray(r.formatters))throw new Error(`[Slickgrid-Universal] The multiple formatter requires the "formatters" to be provided as a column params.
19
19
  For example: this.columnDefinitions = [{ id: title, field: title, formatter: Formatters.multiple, params: { formatters: [Formatters.lowercase, Formatters.uppercase] }`);const o=r.formatters;let h=t;return o.forEach((u,c)=>{if(typeof u!="function")throw new Error(`[Slickgrid-Universal] the "params.formatters" at index(${c}) to be used by "Formatters.multiple" is invalid, please verify all formatter functions.`);h=u.call(void 0,a,e,h,i,s,n)}),h};function cf(a,e){if(Array.isArray(a)){for(const t of a)if(t.editor)if(t.formatter&&t.formatter!==ul&&t.formatter!==e){const i=t.formatter;t.formatter=ul,t.params={...t.params,formatters:[i,e]}}else t.formatter&&t.formatter===ul&&t.params?t.params.formatters.findIndex(i=>i===e)===-1&&(t.params.formatters=[...t.params.formatters,e]):t.formatter=e}}function bi(a,e,t,i){let s,n,r="",o="";switch(t){case"currency":s=Oe.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL,n=Oe.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL;break;case"decimal":s=Oe.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL,n=Oe.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL;break;case"percent":s=Oe.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL,n=Oe.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL;break}const h=e&&typeof e.getOptions=="function"?e.getOptions():{},u=pn("minDecimal",a,h,s),c=pn("maxDecimal",a,h,n),f=pn("decimalSeparator",a,h,Oe.DEFAULT_NUMBER_DECIMAL_SEPARATOR),p=pn("thousandSeparator",a,h,Oe.DEFAULT_NUMBER_THOUSAND_SEPARATOR),g=pn("displayNegativeNumberWithParentheses",a,h,Oe.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET),v=pn("currencyPrefix",a,h,""),C=pn("currencySuffix",a,h,"");return i==="cell"&&(r=pn("numberPrefix",a,h,""),o=pn("numberSuffix",a,h,"")),{minDecimal:u,maxDecimal:c,decimalSeparator:f,thousandSeparator:p,wrapNegativeNumber:g,currencyPrefix:v,currencySuffix:C,numberPrefix:r,numberSuffix:o}}function pn(a,e,t,i){var n;const s=e&&e.params;return s&&s.hasOwnProperty(a)?s[a]:(n=t==null?void 0:t.formatterOptions)!=null&&n.hasOwnProperty(a)?t.formatterOptions[a]:i}function yi(a,e){const t=fs(a);return(i,s,n,r,o,h)=>{var w,y;const u=h&&typeof h.getOptions=="function"?h.getOptions():{},c=((w=u==null?void 0:u.formatterOptions)==null?void 0:w.dateSeparator)??e,f=(r==null?void 0:r.type)??$.date,p=fs(f),g=((y=r==null?void 0:r.params)==null?void 0:y.parseDateAsUtc)??!1,v=Vi(n,p,!1).isValid();let C=n;if(n&&v&&(C=g?Vi.utc(n).format(t):Vi(n).format(t)),C&&c!==e){const S=new RegExp(e,"ig");C=C.replace(S,c)}return C}}function ud(a,e,t,i,s,n){let r=!1;t!=null&&t.hasOwnProperty("exportWithFormatter")?r=!!t.exportWithFormatter:n!=null&&n.hasOwnProperty("exportWithFormatter")&&(r=!!n.exportWithFormatter);let o;i&&t.exportCustomFormatter?o=t.exportCustomFormatter:r&&t.formatter&&(o=t.formatter);const h=cl(o,a,e,t,i,s);return n!=null&&n.sanitizeDataExport&&typeof h=="string"?vi(h):h}function cl(a,e,t,i,s,n){let r="",h=i.field||i.id||"";if(typeof i.field=="string"&&i.field.indexOf(".")>0){const c=i.field.split(".");h=c.length>0?c[0]:i.field}const u=s!=null&&s.hasOwnProperty(h)?s[h]:null;if(typeof a=="function"){const c=a(e,t,u,i,s,n),f=Mr(c)?c:c.html||c.text;f instanceof DocumentFragment?r=Wu(f):r=f instanceof HTMLElement?f.innerHTML:f}else r=s!=null&&s.hasOwnProperty(h)?u:"";return r==null&&(r=""),typeof r=="object"&&!(r instanceof Date)&&Object.entries(r).length===0&&(r=""),r}class T_ extends nf{constructor(e,t,i,s){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.treeDataService=s,this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!1,optionShownOverColumnIds:[],commandShownOverColumnIds:[],subMenuOpenByEvent:"mouseover"},this.pluginName="ContextMenu",this._camelPluginName="contextMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-context-menu",this.init(i.gridOptions.contextMenu)}init(e){this._addonOptions={...this._defaults,...e};const t=this._addonOptions&&Array.isArray(this._addonOptions.commandItems)?this._addonOptions.commandItems:[];this._addonOptions.commandItems=[...t,...this.addMenuCustomCommands(t)],this._addonOptions={...this._addonOptions},this.sharedService.gridOptions.contextMenu=this._addonOptions,this.sortMenuItems(),this._eventHandler.subscribe(this.grid.onContextMenu,this.handleOnContextMenu.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateContextMenu(){var i;const e=((i=this.sharedService)==null?void 0:i.gridOptions)??{},t=this.sharedService.gridOptions.contextMenu;if(t&&(e!=null&&e.enableTranslate)){const s=t.commandItems||[],n=t.optionItems||[];t.commandTitleKey&&(t.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.commandTitleKey,"TEXT_COMMANDS")||t.commandTitle),t.optionTitleKey&&(t.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.optionTitleKey,"TEXT_COMMANDS")||t.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(s,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(n,"optionItems")}}handleOnContextMenu(e,t){this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const s=this.grid.getDataItem(i.row),n=this.grid.getColumns()[i.cell];if(t=t||{},t.cell=i.cell,t.row=i.row,t.column=n,t.dataContext=s,t.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,t))return;this._menuElm=this.createParentMenu(e),this._menuElm&&e.preventDefault(),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.setAttribute("aria-expanded","true"),this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}addMenuCustomCommands(e){var o;const t=[],i=this.sharedService&&this.sharedService.gridOptions||{},s=i==null?void 0:i.contextMenu,n=(o=this.sharedService)==null?void 0:o.dataView,r=Ls(i);if(s&&!s.hideCopyCellValueCommand){const h="copy";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconCopyCellValueCommand||"fa fa-clone",titleKey:`${r}COPY`,disabled:!1,command:h,positionOrder:50,action:(u,c)=>{this.copyToClipboard(c)},itemUsabilityOverride:u=>{const c=u==null?void 0:u.column,f=u==null?void 0:u.dataContext;if(typeof c.queryFieldNameGetterFn=="function"){const p=Oo(c,f,"");if(p!==""&&p!==void 0)return!0}else if(c&&f.hasOwnProperty(c.field))return f[c.field]!==""&&f[c.field]!==null&&f[c.field]!==void 0;return!1}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportCsvCommand){const h="export-csv";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconExportCsvCommand||"fa fa-download",titleKey:`${r}EXPORT_TO_CSV`,disabled:!1,command:h,positionOrder:51,action:()=>{var f;const c=(((f=this.sharedService)==null?void 0:f.externalRegisteredResources)||[]).find(p=>p.className==="TextExportService");if(c!=null&&c.exportToFile)c.exportToFile({delimiter:Sn.comma,format:_i.csv});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&i.enableExcelExport&&s&&!s.hideExportExcelCommand){const h="export-excel";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconExportExcelCommand||"fa fa-file-excel-o text-success",titleKey:`${r}EXPORT_TO_EXCEL`,disabled:!1,command:h,positionOrder:52,action:()=>{var f;const c=(((f=this.sharedService)==null?void 0:f.externalRegisteredResources)||[]).find(p=>p.className==="ExcelExportService");if(c!=null&&c.exportToExcel)c.exportToExcel();else throw new Error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Context Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };")}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportTextDelimitedCommand){const h="export-text-delimited";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconExportTextDelimitedCommand||"fa fa-download",titleKey:`${r}EXPORT_TO_TAB_DELIMITED`,disabled:!1,command:h,positionOrder:53,action:()=>{var f;const c=(((f=this.sharedService)==null?void 0:f.externalRegisteredResources)||[]).find(p=>p.className==="TextExportService");if(c!=null&&c.exportToFile)c.exportToFile({delimiter:Sn.tab,format:_i.txt});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&(i.enableGrouping||i.enableDraggableGrouping||i.enableTreeData)){if(s&&!s.hideCopyCellValueCommand&&t.push({divider:!0,command:"",positionOrder:54}),i&&!i.enableTreeData&&s&&!s.hideClearAllGrouping){const h="clear-grouping";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconClearGroupingCommand||"fa fa-times",titleKey:`${r}CLEAR_ALL_GROUPING`,disabled:!1,command:h,positionOrder:55,action:()=>{n.setGrouping([]),this.pubSubService.publish("onContextMenuClearGrouping")},itemUsabilityOverride:()=>{const u=n&&n.getGrouping&&n.getGrouping();return Array.isArray(u)&&u.length>0}})}if(i&&s&&!s.hideCollapseAllGroups){const h="collapse-all-groups";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconCollapseAllGroupsCommand||"fa fa-compress",titleKey:`${r}COLLAPSE_ALL_GROUPS`,disabled:!1,command:h,positionOrder:56,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!0):n.collapseAllGroups(),this.pubSubService.publish("onContextMenuCollapseAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const u=n&&n.getGrouping&&n.getGrouping();return Array.isArray(u)&&u.length>0}})}if(i&&s&&!s.hideExpandAllGroups){const h="expand-all-groups";e.some(u=>u!=="divider"&&u.hasOwnProperty("command")&&u.command===h)||t.push({iconCssClass:s.iconExpandAllGroupsCommand||"fa fa-expand",titleKey:`${r}EXPAND_ALL_GROUPS`,disabled:!1,command:h,positionOrder:57,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!1):n.expandAllGroups(),this.pubSubService.publish("onContextMenuExpandAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const u=n&&n.getGrouping&&n.getGrouping();return Array.isArray(u)&&u.length>0}})}}return this.extensionUtility.translateMenuItemsFromTitleKey(t),t}copyToClipboard(e){var t,i;try{if(e&&e.grid&&e.command){const s=((t=this.sharedService)==null?void 0:t.gridOptions)??{},n=(e==null?void 0:e.cell)??0,r=(e==null?void 0:e.row)??0,o=e==null?void 0:e.column,h=e==null?void 0:e.dataContext,u=(i=this.sharedService)==null?void 0:i.slickGrid,c=s&&(s.excelExportOptions||s.textExportOptions);let f=ud(r,n,o,h,u,c);typeof o.queryFieldNameGetterFn=="function"&&(f=Oo(o,h,""));let p=f;typeof f=="string"&&(p=f.replace(/^([·|⮞|⮟]\s*)|([·|⮞|⮟])\s*/gi,"").replace(/[\u00b7|\u034f]/gi,"").trim());const g=document.createElement("textarea");g&&document.body&&(g.style.position="absolute",g.style.opacity="0",g.value=p,document.body.appendChild(g),g.select(),document.execCommand("copy",!1,p)&&g.remove())}}catch{}}sortMenuItems(){var t,i;const e=(i=(t=this.sharedService)==null?void 0:t.gridOptions)==null?void 0:i.contextMenu;e&&(this.extensionUtility.sortItems(e.commandItems||[],"positionOrder"),this.extensionUtility.sortItems(e.optionItems||[],"positionOrder"))}}class x_{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._gridColumns=[],this._gridUid="",this._reorderedColumns=[],this._subscriptions=[],this._defaults={dropPlaceHolderText:"Drop a column header here to group by the column",hideGroupSortIcons:!1,hideToggleAllButton:!1,toggleAllButtonText:"",toggleAllPlaceholderText:"Toggle all Groups"},this._bindingEventService=new Pi,this._eventHandler=new hi,this.onGroupChanged=new $e}get addonOptions(){return this._addonOptions}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}get dropboxElement(){return this._dropzoneElm}get droppableInstance(){return this._droppableInstance}get sortableLeftInstance(){return this._sortableLeftInstance}get sortableRightInstance(){return this._sortableRightInstance}get eventHandler(){return this._eventHandler}get grid(){return this._grid??this.sharedService.slickGrid??{}}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridContainer(){return this.grid.getContainerNode()}init(e,t){var i,s;if(this._addonOptions={...this._defaults,...t},this._grid=e,e){if(this._gridUid=e.getUID(),this._gridColumns=e.getColumns(),this._dropzoneElm=e.getPreHeaderPanel(),this._dropzoneElm.classList.add("slick-dropzone"),!this._addonOptions.hideToggleAllButton){this._groupToggler=Y("div",{className:"slick-group-toggle-all",title:this._addonOptions.toggleAllPlaceholderText??"",style:{display:"none"}});const n=Y("span",{className:"slick-group-toggle-all-icon"},this._groupToggler);this.gridOptions.enableTranslate&&this._addonOptions.toggleAllButtonTextKey&&(this._addonOptions.toggleAllButtonText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllButtonTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this.gridOptions.enableTranslate&&this._addonOptions.toggleAllPlaceholderTextKey&&(this._addonOptions.toggleAllPlaceholderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllPlaceholderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._groupToggler.title=this._addonOptions.toggleAllPlaceholderText??"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(Y("span",{className:"slick-group-toggle-all-text",textContent:this._addonOptions.toggleAllButtonText||""})),this._dropzoneElm.appendChild(this._groupToggler),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuCollapseAllGroups",()=>this.toggleGroupToggler(n,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(n,!1,!1)))}this._dropzonePlaceholderElm=Y("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&((i=this._addonOptions)!=null&&i.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=((s=this._addonOptions)==null?void 0:s.dropPlaceHolderText)??this._defaults.dropPlaceHolderText??"",this.setupColumnDropbox(),this._eventHandler.subscribe(e.onHeaderCellRendered,(n,r)=>{var h;const o=r.node;if(!Ih((h=r.column)==null?void 0:h.grouping)&&o&&(o.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const u=Y("span",{className:"slick-column-groupable"},o);this._addonOptions.groupIconCssClass&&u.classList.add(...this._addonOptions.groupIconCssClass.split(" "))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const n of this._gridColumns){const r=n.field;e.updateColumnHeader(r)}}return this}dispose(){var e,t;this.destroySortableInstances(),(e=this._droppableInstance)!=null&&e.el&&((t=this._droppableInstance)==null||t.destroy()),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),Pt(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const e=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const t of Array.from(e)){const i=this._dropzoneElm.querySelector(".slick-groupby-remove");i==null||i.remove(),t==null||t.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var e,t,i,s;(e=this._sortableLeftInstance)!=null&&e.el&&((t=this._sortableLeftInstance)==null||t.destroy()),(i=this._sortableRightInstance)!=null&&i.el&&((s=this._sortableRightInstance)==null||s.destroy())}setAddonOptions(e){this._addonOptions={...this._addonOptions,...e}}setColumns(e){this._gridColumns=e}setDroppedGroups(e){this._dropzonePlaceholderElm.style.display="none";const t=Array.isArray(e)?e:[e];for(const i of t){const s=this.grid.getHeaderColumn(i);this.handleGroupByDrop(this._dropzoneElm,s)}}setupColumnReorder(e,t,i,s,n,r,o,h,u){this.destroySortableInstances();const c=e.getPreHeaderPanel(),f=c.querySelector(".slick-draggable-dropzone-placeholder"),p=c.querySelector(".slick-group-toggle-all"),g={animation:50,chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:()=>{f&&(f.style.display="inline-block"),c.querySelectorAll(".slick-dropped-grouping").forEach(C=>C.style.display="none"),p&&(p.style.display="none")},onEnd:v=>{var O,I,F;c==null||c.classList.remove("slick-dropzone-hover"),(O=f==null?void 0:f.parentElement)==null||O.classList.remove("slick-dropzone-placeholder-hover");const C=c.querySelectorAll(".slick-dropped-grouping");if(C.forEach(X=>X.style.display="flex"),C.length&&(f&&(f.style.display="none"),p&&(p.style.display="inline-block")),!e.getEditorLock().commitCurrentEdit())return;const w=((I=this.sortableLeftInstance)==null?void 0:I.toArray())??[];if(t.length>1){const X=((F=this._sortableRightInstance)==null?void 0:F.toArray())??[];for(const K of X)w.push(K)}const y=[],S=e.getColumns();for(const X of w)y.push(S[o.call(e,X)]);s.call(e,y),u.call(e,e.onColumnsReordered,{grid:e}),v.stopPropagation(),n.call(e)}};return this._sortableLeftInstance=ct.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-left`),g),this._sortableRightInstance=ct.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-right`),g),{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(e){this.columnsGroupBy.push(e),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(e,t,i,s){this._bindingEventService.bind(t,"click",()=>{const n=this._bindingEventService.boundedEvents.filter(r=>r.element===t);for(const r of n)this._bindingEventService.unbind(r.element,"click",r.listener);this.removeGroupBy(e,i,s)})}addGroupSortClickHandler(e,t){const{grouping:i,type:s}=e;this._bindingEventService.bind(t,"click",()=>{if(this.toggleGroupAll(e,!1),i){const n=i.sortAsc?ni.desc:ni.asc;i.comparer=(r,o)=>Br(s||"text",r.value,o.value,n,e,this.gridOptions),this.getGroupBySortIcon(t,!i.sortAsc),this.updateGroupBy("sort-group"),i.sortAsc=!i.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(e,t=!0){var i,s;t?this._addonOptions.sortAscIconCssClass?(e.classList.remove(...((i=this._addonOptions.sortDescIconCssClass)==null?void 0:i.split(" "))??""),e.classList.add(...this._addonOptions.sortAscIconCssClass.split(" "))):(e.classList.add("slick-groupby-sort-asc-icon"),e.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(e.classList.remove(...((s=this._addonOptions.sortAscIconCssClass)==null?void 0:s.split(" "))??""),e.classList.add(...this._addonOptions.sortDescIconCssClass.split(" "))):this._addonOptions.sortDescIconCssClass||(e.classList.add("slick-groupby-sort-desc-icon"),e.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(e,t){var n,r,o;const i=(n=t.getAttribute("data-id"))==null?void 0:n.replace(this._gridUid,"");let s=!0;for(const h of this.columnsGroupBy)h.id===i&&(s=!1);if(s){for(const h of this._gridColumns)if(h.id===i&&h.grouping&&!Ih(h.grouping)){const u=t.querySelector(".slick-column-name"),c=Y("div",{id:`${this._gridUid}_${h.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${h.id}`}});Y("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:u?u.textContent:t.textContent},c);const f=Y("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&f.classList.add(...this._addonOptions.deleteIconCssClass.split(" ")),this._addonOptions.deleteIconCssClass||f.classList.add("slick-groupby-remove-icon");let p;((r=this._addonOptions)==null?void 0:r.hideGroupSortIcons)!==!0&&h.sortable&&(((o=h.grouping)==null?void 0:o.sortAsc)===void 0&&(h.grouping.sortAsc=!0),p=Y("div",{className:"slick-groupby-sort"},c),this.getGroupBySortIcon(p,h.grouping.sortAsc)),c.appendChild(f),c.appendChild(document.createElement("div")),e.appendChild(c),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(h),this.addColumnGroupBy(h),this.addGroupByRemoveClickHandler(h.id,f,t,c),p&&this.addGroupSortClickHandler(h,p)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-block")}}toggleGroupAll({grouping:e},t){var s;const i=(s=this._groupToggler)==null?void 0:s.querySelector(".slick-group-toggle-all-icon");t===!0||e!=null&&e.collapsed?(i==null||i.classList.add("collapsed"),i==null||i.classList.remove("expanded")):(i==null||i.classList.add("expanded"),i==null||i.classList.remove("collapsed"))}removeFromArray(e,t){if(Array.isArray(e)){const i=e.findIndex(s=>s.id===t.id);i>=0&&e.splice(i,1)}return e}removeGroupBy(e,t,i){i.remove();const s=[];this._gridColumns.forEach(n=>s[n.id]=n),this.removeFromArray(this.columnsGroupBy,s[e]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const e=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");e&&this._dropzoneElm&&(this._bindingEventService.bind(e,"dragover",t=>t.preventDefault()),this._bindingEventService.bind(e,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(e,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const e=this._dropzoneElm;this._droppableInstance=ct.create(e,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:t=>{var s,n;const i=t.item;(s=i.getAttribute("id"))!=null&&s.replace(this._gridUid,"")&&this.handleGroupByDrop(e,ct.utils.clone(t.item)),(n=i.parentNode)==null||n.removeChild(i)},onUpdate:()=>{var s;const t=((s=this._droppableInstance)==null?void 0:s.toArray())??[],i=[];for(const n of t)for(const r of this.columnsGroupBy)if(r.id===n){i.push(r);break}this.columnsGroupBy=i,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",t=>{const i=t.target.classList.contains("slick-group-toggle-all-icon")?t.target:t.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(i,i==null?void 0:i.classList.contains("expanded"))})}toggleGroupToggler(e,t=!0,i=!0){e&&(t===!0?(e.classList.add("collapsed"),e.classList.remove("expanded"),i&&this.dataView.collapseAllGroups()):(e.classList.remove("collapsed"),e.classList.add("expanded"),i&&this.dataView.expandAllGroups()))}updateGroupBy(e){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:e,groupColumns:[]});return}const t=[];this.columnsGroupBy.forEach(i=>t.push(i.grouping)),this.dataView.setGrouping(t),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:e,groupColumns:t})}triggerOnGroupChangedEvent(e){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new li,e),this.onGroupChanged.notify(e)}}class O_ extends hl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Pi,this._eventHandler=new hi,this.init(i.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns())}dispose(){super.dispose(),this._buttonElms.forEach(e=>e.remove())}handleHeaderCellRendered(e,t){var s;const i=t.column;if((s=i.header)!=null&&s.buttons&&Array.isArray(i.header.buttons)){let n=i.header.buttons.length;for(;n--;){const r=i.header.buttons[n],o=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,r,t,this.handleButtonClick.bind(this));o&&r.handler&&!r.disabled&&this._bindEventService.bind(o,"click",h=>r.handler.call(this,h)),o&&(this._buttonElms.push(o),t.node.appendChild(o))}}}handleBeforeHeaderCellDestroy(e,t){var s,n,r;if((s=t.column.header)!=null&&s.buttons&&((n=this._addonOptions)!=null&&n.buttonCssClass)){const o=(((r=this._addonOptions)==null?void 0:r.buttonCssClass)||"").replace(/(\s+)/g,".");o&&t.node.querySelectorAll(`.${o}`).forEach(h=>h.remove())}}handleButtonClick(e,t,i,s,n){var r;if(i.command&&!i.disabled){const o=i.command||"",h={grid:this.grid,column:n,button:i};o&&(h.command=o),typeof i.action=="function"&&!i.disabled&&i.action.call(this,e,h),o!==null&&!i.disabled&&((r=this._addonOptions)!=null&&r.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",h),this._addonOptions.onCommand(e,h),n!=null&&n.id&&this.grid.updateColumnHeader(n.id))}e.preventDefault(),e.stopPropagation()}}class A_ extends hl{constructor(e,t,i,s,n){super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._subMenuParentId="",this._defaults={autoAlign:!0,autoAlignOffset:0,buttonCssClass:null,buttonImage:null,minWidth:100,hideColumnHideCommand:!1,hideSortCommands:!1,title:"",subMenuOpenByEvent:"mouseover"},this.pluginName="HeaderMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-header-menu",this._camelPluginName="headerMenu",this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(this.sharedService.columnDefinitions),this.init(s.gridOptions.headerMenu)}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(t,i)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(i.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var e;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(e=this._menuElm)==null||e.remove(),this._activeHeaderColumnElm=void 0}hideColumn(e){var t,i;if((i=(t=this.sharedService)==null?void 0:t.slickGrid)!=null&&i.getColumnIndex){const s=this.sharedService.slickGrid.getColumnIndex(e.id),n=this.sharedService.slickGrid.getColumns(),r=this.sharedService.gridOptions.frozenColumn??-1;r>=0&&r>=s&&(this.sharedService.gridOptions.frozenColumn=r-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const o=Ah(n,s);this.sharedService.visibleColumns=o,this.sharedService.slickGrid.setColumns(o),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:o,hiddenColumn:e})}}hideMenu(){var e,t;this.disposeSubMenus(),(e=this._menuElm)==null||e.remove(),this._menuElm=void 0,(t=this._activeHeaderColumnElm)==null||t.classList.remove("slick-header-column-active")}repositionSubMenu(e,t,i,s){const n=this.createCommandMenu(t.commandItems||[],s,i+1,t);document.body.appendChild(n),this.repositionMenu(e,n)}repositionMenu(e,t){var p,g;const i=e.target,s=t.classList.contains("slick-submenu"),n=s?e.target.closest(".slick-menu-item"):i,r=Uu(this.sharedService.gridContainerElement,i),o=this.grid.getGridPosition(),h=t.offsetWidth,u=ui(n);let c=s?(u==null?void 0:u.left)??0:(r==null?void 0:r.left)??0,f=s?(u==null?void 0:u.top)??0:((r==null?void 0:r.top)??0)+(((p=this.addonOptions)==null?void 0:p.menuOffsetTop)??0)+i.clientHeight;if(s){const v=(t==null?void 0:t.clientHeight)||0,{bottom:C,top:w}=Io(n);(C<v&&w>C?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),f-=v-n.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}if(s&&n){const v=c+Number(h)+n.clientWidth,C=document.documentElement.clientWidth;(v>=o.width||v>=C?"left":"right")==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),c-=h):(t.classList.remove("dropleft"),t.classList.add("dropright"),c+=n.offsetWidth)}else c=(r==null?void 0:r.left)??0,this.addonOptions.autoAlign&&(o!=null&&o.width)&&c+(t.clientWidth??0)>=o.width&&(c=c+i.clientWidth-t.clientWidth+(((g=this.addonOptions)==null?void 0:g.autoAlignOffset)||0));t.style.top=`${f}px`,t.style.left=`${c}px`,this._activeHeaderColumnElm=this.grid.getContainerNode().querySelector(":not(.slick-preheader-panel) >.slick-header-columns"),this._activeHeaderColumnElm&&this._activeHeaderColumnElm.classList.add("slick-header-column-active")}translateHeaderMenu(){var e;(e=this.sharedService.gridOptions)!=null&&e.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(e,t){var n;const s=(n=t.column.header)==null?void 0:n.menu;if(s&&t.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,t))return;const r=Y("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},t.node);this.addonOptions.buttonCssClass&&r.classList.add(...this.addonOptions.buttonCssClass.split(" ")),this.addonOptions.tooltip&&(r.title=this.addonOptions.tooltip),this._bindEventService.bind(r,"click",o=>{this.disposeAllMenus(),this.createParentMenu(o,t.column,s)})}}handleBeforeHeaderCellDestroy(e,t){var s;(s=t.column.header)!=null&&s.menu&&t.node.querySelectorAll(".slick-header-menu-button").forEach(n=>n.remove())}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._menuElm!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu()}}handleMenuItemCommandClick(e,t,i,s=0,n){var r;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const h={grid:this.grid,command:i.command,column:n,item:i};this.executeHeaderMenuInternalCommands(e,h),this.pubSubService.publish("onHeaderMenuCommand",h),typeof((r=this.addonOptions)==null?void 0:r.onCommand)=="function"&&this.addonOptions.onCommand(e,h),typeof i.action=="function"&&i.action.call(this,e,h),e.defaultPrevented||this.hideMenu(),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s,n)}handleMenuItemMouseOver(e,t,i,s=0,n){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s,n):s===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(e){const t=this.sharedService.gridOptions,i=t.headerMenu||{},s=Ls(t);return Array.isArray(e)&&t.enableHeaderMenu&&e.forEach(n=>{var r,o;if(n&&!n.excludeFromHeaderMenu){n.header?n.header.menu||(n.header.menu={commandItems:[]}):n.header={menu:{commandItems:[]}};const h=((o=(r=n==null?void 0:n.header)==null?void 0:r.menu)==null?void 0:o.commandItems)??[];let u=!1;i&&!i.hideFreezeColumnsCommand&&(u=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="freeze-columns")||h.push({iconCssClass:i.iconFreezeColumns||"fa fa-thumb-tack",titleKey:`${s}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:47})),i&&!i.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(u=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="column-resize-by-content")||h.push({iconCssClass:i.iconColumnResizeByContentCommand||"fa fa-arrows-h",titleKey:`${s}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:48})),u&&!h.some(c=>c!=="divider"&&c.positionOrder===49)&&h.push({divider:!0,command:"",positionOrder:49}),t.enableSorting&&n.sortable&&i&&!i.hideSortCommands&&(h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-asc")||h.push({iconCssClass:i.iconSortAscCommand||"fa fa-sort-asc",titleKey:`${s}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-desc")||h.push({iconCssClass:i.iconSortDescCommand||"fa fa-sort-desc",titleKey:`${s}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),h.some(c=>c!=="divider"&&c.positionOrder===52)||h.push({divider:!0,command:"",positionOrder:52}),!i.hideClearSortCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-sort")&&h.push({iconCssClass:i.iconClearSortCommand||"fa fa-unsorted",titleKey:`${s}REMOVE_SORT`,command:"clear-sort",positionOrder:54})),t.enableFiltering&&n.filterable&&i&&!i.hideFilterCommand&&!i.hideClearFilterCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-filter")&&h.push({iconCssClass:i.iconClearFilterCommand||"fa fa-filter",titleKey:`${s}REMOVE_FILTER`,command:"clear-filter",positionOrder:53}),i&&!i.hideColumnHideCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="hide-column")&&h.push({iconCssClass:i.iconColumnHideCommand||"fa fa-times",titleKey:`${s}HIDE_COLUMN`,command:"hide-column",positionOrder:55}),this.extensionUtility.translateMenuItemsFromTitleKey(h),this.extensionUtility.sortItems(h,"positionOrder")}}),i}clearColumnFilter(e,t){t!=null&&t.column&&this.filterService.clearFilterByColumnId(e,t.column.id)}clearColumnSort(e,t){t!=null&&t.column&&this.sharedService&&this.sortService.clearSortByColumnId(e,t.column.id)}executeHeaderMenuInternalCommands(e,t){var i;if(t!=null&&t.command)switch(t.command){case"hide-column":this.hideColumn(t.column),(i=this.sharedService.gridOptions)!=null&&i.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(e,t);break;case"clear-sort":this.clearColumnSort(e,t);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:t.column.id});break;case"freeze-columns":const s=[...this.sharedService.visibleColumns],r={frozenColumn:s.findIndex(c=>c.id===t.column.id),enableMouseWheelScrollHandler:!0},o=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(r,!1,!0),this.sharedService.gridOptions.frozenColumn=r.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=r.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=t.column.id,this.sharedService.hasColumnsReordered||Array.isArray(s)&&Array.isArray(this.sharedService.allColumns)&&s.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(s):this.sharedService.slickGrid.setColumns(o),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const u=t.command==="sort-asc";this.sortColumn(e,t,u);break}}createParentMenu(e,t,i){var n,r,o,h,u;const s={grid:this.grid,column:t,menu:i};typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",s),typeof((n=this.addonOptions)==null?void 0:n.onBeforeMenuShow)=="function"&&((r=this.addonOptions)==null?void 0:r.onBeforeMenuShow(e,s))===!1)||(this._menuElm=this.createCommandMenu(i.commandItems,t),(o=this.grid.getContainerNode())==null||o.appendChild(this._menuElm),this.repositionMenu(e,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",s),!(typeof((h=this.addonOptions)==null?void 0:h.onAfterMenuShow)=="function"&&((u=this.addonOptions)==null?void 0:u.onAfterMenuShow(e,s))===!1)&&(e.preventDefault(),e.stopPropagation()))}createCommandMenu(e,t,i=0,s){const n=s==null?void 0:s.command;let r=i===1&&n?n.replace(/\s/g,""):"";r&&(this._subMenuParentId=r),i>1&&(r=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,h=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(h){if(h.dataset.subMenuParent===r)return h;this.disposeSubMenus()}const u=Y("div",{ariaExpanded:"true",ariaLabel:i>1?"SubMenu":"Header Menu",role:"menu",className:o,style:{minWidth:`${this.addonOptions.minWidth}px`}});i>0&&(u.classList.add("slick-submenu"),r&&(u.dataset.subMenuParent=r));const c=Y("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},u),f={grid:this.grid,column:t,level:i,menu:{commandItems:e}};return s&&i>0&&this.addSubMenuTitleWhenExists(s,c),this.populateCommandOrOptionItems("command",this.addonOptions,c,e,f,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),i++,u}resetHeaderMenuTranslations(e){e.forEach(t=>{var i,s;if((s=(i=t==null?void 0:t.header)==null?void 0:i.menu)!=null&&s.commandItems&&!t.excludeFromHeaderMenu){const n=t.header.menu.commandItems||[];this.extensionUtility.translateMenuItemsFromTitleKey(n)}})}sortColumn(e,t,i=!0){if(t!=null&&t.column){const s=t.column,n=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(s.id+""):[];let r=Zt.local;n.push({columnId:s.id,sortCol:s,sortAsc:i}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:n,grid:this.sharedService.slickGrid}),r=Zt.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,n),r=Zt.local):t.grid.onSort.notify(n);const o=n.map(h=>{var u;return{columnId:((u=h==null?void 0:h.sortCol)==null?void 0:u.id)??"",sortAsc:(h==null?void 0:h.sortAsc)??!0}});if(this.sharedService.slickGrid.setSortColumns(o),r){const h=[];o.forEach(u=>{h.push({columnId:`${u.columnId}`,direction:u.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(r,h)}}}}class ff{constructor(e){this.pubSubService=e,this.onBeforeMoveRows=new $e,this.onMoveRows=new $e,this.pluginName="RowMoveManager",this._dragging=!1,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this._eventHandler=new hi}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){var i;this._addonOptions={...this._defaults,...t},this._grid=e,this._canvas=this._grid.getCanvasNode(),typeof((i=this._addonOptions)==null?void 0:i.usabilityOverride)=="function"&&this.usabilityOverride(this._addonOptions.usabilityOverride),this._eventHandler.subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this))}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowMoveManager},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=Array.isArray(e)&&e.find(h=>(h==null?void 0:h.behavior)==="selectAndMove"),r=n||s,o=((i=t==null?void 0:t.rowMoveManager)==null?void 0:i.columnIndexPosition)??0;o>0?e.splice(o,0,r):e.unshift(r),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:e,resizable:!1,selectable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(e){this._usabilityOverride=e}setOptions(e){this._addonOptions={...this._addonOptions,...e}}handleDragInit(e){e.stopImmediatePropagation()}handleDragEnd(e,t){var i,s,n;if(this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),(i=t.guide)==null||i.remove(),(s=t.selectionProxy)==null||s.remove(),(n=t.clonedSlickRow)==null||n.remove(),t.canMove)){const r={grid:this._grid,rows:t.selectedRows,insertBefore:t.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(e,r),this.onMoveRows.notify(r)}}handleDrag(e,t){var i,s,n,r;if(this._dragging){e.stopImmediatePropagation();const o=e.getNativeEvent(),u=(((i=o==null?void 0:o.touches)==null?void 0:i[0])??o).pageY-(((s=ui(this._canvas))==null?void 0:s.top)??0);t.selectionProxy.style.top=`${u-5}px`,t.selectionProxy.style.display="block",t.clonedSlickRow&&(t.clonedSlickRow.style.top=`${u-6}px`,t.clonedSlickRow.style.display="block");const c=Math.max(0,Math.min(Math.round(u/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(c!==t.insertBefore){const f={grid:this._grid,rows:t.selectedRows,insertBefore:c};if(((r=(n=this._addonOptions)==null?void 0:n.onBeforeMoveRows)==null?void 0:r.call(n,o,f))===!1||this.onBeforeMoveRows.notify(f).getReturnValue()===!1?t.canMove=!1:t.canMove=!0,this._usabilityOverride&&t.canMove){const p=this._grid.getDataItem(c);t.canMove=this.checkUsabilityOverride(c,p,this._grid)}t.canMove?t.guide.style.top=`${c*(this.gridOptions.rowHeight||0)}px`:t.guide.style.top="-1000px",t.insertBefore=c}}}handleDragStart(e,t){var r,o,h,u,c;const i=this._grid.getCellFromEvent(e)||{cell:-1,row:-1},s=i.row,n=this._grid.getDataItem(s);if(this.checkUsabilityOverride(s,n,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[i.cell].behavior||""))return!1;if(this._dragging=!0,e.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const g=(r=this._grid.getCellNode(i.row,i.cell))==null?void 0:r.closest(".slick-row");g&&(t.clonedSlickRow=g.cloneNode(!0),t.clonedSlickRow.classList.add("slick-reorder-shadow-row"),t.clonedSlickRow.style.display="none",t.clonedSlickRow.style.marginLeft=An((o=this._addonOptions)==null?void 0:o.rowMoveShadowMarginLeft,"0px"),t.clonedSlickRow.style.marginTop=An((h=this._addonOptions)==null?void 0:h.rowMoveShadowMarginTop,"0px"),t.clonedSlickRow.style.opacity=`${((u=this._addonOptions)==null?void 0:u.rowMoveShadowOpacity)??.95}`,t.clonedSlickRow.style.transform=`scale(${((c=this.addonOptions)==null?void 0:c.rowMoveShadowScale)??.75})`,this._canvas.appendChild(t.clonedSlickRow))}let f=this._addonOptions.singleRowMove?[i.row]:this._grid.getSelectedRows();(f.length===0||!f.some(g=>g===i.row))&&(f=[i.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(f));const p=this.gridOptions.rowHeight;t.selectedRows=f,t.selectionProxy=Y("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${p*f.length}px`}},this._canvas),t.guide=Y("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),t.insertBefore=-1}}checkUsabilityOverride(e,t,i){return typeof this._usabilityOverride=="function"?this._usabilityOverride(e,t,i):!0}moveIconFormatter(e,t,i,s,n,r){if(this.checkUsabilityOverride(e,n,r)){const o=document.createElement("div");return o.className=this._addonOptions.cssClass||"",{addClasses:`cell-reorder dnd ${this._addonOptions.cssClass||""}`,html:o}}else return""}}class R_{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(e,t,i,s,n,r,o){this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=r,this.translaterService=o,this._extensionCreatedList={},this._extensionList={}}dispose(){var e;this.sharedService.visibleColumns=[];for(const t of Object.keys(this._extensionList))if(this._extensionList.hasOwnProperty(t)){const i=this._extensionList[t];(e=i==null?void 0:i.instance)!=null&&e.dispose&&i.instance.dispose()}for(const t of Object.keys(this._extensionList))delete this._extensionList[t];this._cellMenuPlugin=null,this._cellExcelCopyManagerPlugin=null,this._checkboxSelectColumn=null,this._contextMenuPlugin=null,this._columnPickerControl=null,this._draggleGroupingPlugin=null,this._gridMenuControl=null,this._groupItemMetadataProviderService=null,this._headerMenuPlugin=null,this._rowMoveManagerPlugin=null,this._rowSelectionModel=null,this._extensionCreatedList=null,this._extensionList=null}addExtensionToList(e,t){this._extensionList[e]=t}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(e){var t;if((t=this._extensionCreatedList)!=null&&t.hasOwnProperty(e))return this._extensionCreatedList[e]}getExtensionByName(e){var t;return(t=this._extensionList)==null?void 0:t[e]}getExtensionInstanceByName(e){var t;return(t=this.getExtensionByName(e))==null?void 0:t.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var e,t,i,s,n,r,o,h,u,c;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableAutoTooltip){const f=new v_((e=this.gridOptions)==null?void 0:e.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(f),this._extensionList[Rt.autoTooltip]={name:Rt.autoTooltip,instance:f}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new C_,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),(t=this.gridOptions.excelCopyBufferOptions)!=null&&t.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[Rt.cellExternalCopyManager]={name:Rt.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new w_(this.extensionUtility,this.pubSubService,this.sharedService),(i=this.gridOptions.cellMenu)!=null&&i.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[Rt.cellMenu]={name:Rt.cellMenu,instance:this._cellMenuPlugin}),!this._rowSelectionModel&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowDetailView||this.gridOptions.enableRowMoveManager)){if(!this._rowSelectionModel||!this.sharedService.slickGrid.getSelectionModel()){const f=this.gridOptions.rowSelectionOptions??{};this.gridOptions.enableRowMoveManager&&((s=this.gridOptions.rowMoveManager)==null?void 0:s.dragToSelect)!==!1&&(f.dragToSelect=!0),this._rowSelectionModel=new hd(f),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[Rt.rowSelection]={name:Rt.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new of(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const f=this.getCreatedExtensionByName(Rt.checkboxSelector);f&&f.instance&&(this._extensionList[Rt.checkboxSelector]={name:Rt.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new dd(this.extensionUtility,this.pubSubService,this.sharedService),(n=this.gridOptions.columnPicker)!=null&&n.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[Rt.columnPicker]={name:Rt.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new T_(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),(r=this.gridOptions.contextMenu)!=null&&r.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[Rt.contextMenu]={name:Rt.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),(o=this.gridOptions.draggableGrouping)!=null&&o.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[Rt.contextMenu]={name:Rt.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[Rt.draggableGrouping]={name:Rt.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new af(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(h=this.gridOptions.gridMenu)!=null&&h.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[Rt.gridMenu]={name:Rt.gridMenu,instance:this._gridMenuControl}),this.gridOptions.enableHeaderButton){const f=new O_(this.extensionUtility,this.pubSubService,this.sharedService);(u=this.gridOptions.headerButton)!=null&&u.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(f),this._extensionList[Rt.headerButton]={name:Rt.headerButton,instance:f}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new A_(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(c=this.gridOptions.headerMenu)!=null&&c.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[Rt.headerMenu]={name:Rt.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new ff(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const f=this.getCreatedExtensionByName(Rt.rowMoveManager);(f==null?void 0:f.instance)&&(this._extensionList[Rt.rowMoveManager]={name:Rt.rowMoveManager,instance:this._rowMoveManagerPlugin})}}}createExtensionsBeforeGridCreation(e,t){var s,n;const i=[];t.enableCheckboxSelector&&(this.getCreatedExtensionByName(Rt.checkboxSelector)||(this._checkboxSelectColumn=new of(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),i.push({name:Rt.checkboxSelector,extension:this._checkboxSelectColumn,columnIndexPosition:((s=t==null?void 0:t.checkboxSelector)==null?void 0:s.columnIndexPosition)??i.length}))),t.enableRowMoveManager&&(this.getCreatedExtensionByName(Rt.rowMoveManager)||(this._rowMoveManagerPlugin=new ff(this.pubSubService),i.push({name:Rt.rowMoveManager,extension:this._rowMoveManagerPlugin,columnIndexPosition:((n=t==null?void 0:t.rowMoveManager)==null?void 0:n.columnIndexPosition)??i.length}))),this.createExtensionByTheirColumnIndex(i,e,t),t.enableDraggableGrouping&&(this.getCreatedExtensionByName(Rt.draggableGrouping)||(this._draggleGroupingPlugin=new x_(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(t.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[Rt.draggableGrouping]={name:Rt.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(e){var t,i;if(typeof((i=(t=this.sharedService)==null?void 0:t.slickGrid)==null?void 0:i.getColumns)=="function"){const s=this.sharedService.slickGrid.getColumnIndex(e.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),s),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(e){this.extensionUtility.refreshBackendDataset(e)}removeColumnByIndex(e,t){return Array.isArray(e)?e.filter((i,s)=>t!==s):e}translateAllExtensions(){this.translateCellMenu(),this.translateColumnHeaders(),this.translateColumnPicker(),this.translateContextMenu(),this.translateGridMenu(),this.translateHeaderMenu()}translateCellMenu(){var e,t;(t=(e=this._cellMenuPlugin)==null?void 0:e.translateCellMenu)==null||t.call(e)}translateColumnPicker(){var e;(e=this._columnPickerControl)!=null&&e.translateColumnPicker&&this._columnPickerControl.translateColumnPicker()}translateContextMenu(){var e,t;(t=(e=this._contextMenuPlugin)==null?void 0:e.translateContextMenu)==null||t.call(e)}translateGridMenu(){var e,t;(t=(e=this._gridMenuControl)==null?void 0:e.translateGridMenu)==null||t.call(e)}translateHeaderMenu(){var e,t;(t=(e=this._headerMenuPlugin)==null?void 0:e.translateHeaderMenu)==null||t.call(e)}translateColumnHeaders(e,t){var s,n,r;if(this.sharedService&&this.gridOptions&&this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');e&&((s=this.translaterService)!=null&&s.use)&&this.translaterService.use(e);let i=t;i||(i=this.sharedService.columnDefinitions),this.translateItems(i,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.renderColumnHeaders(i,Array.isArray(t)),(r=(n=this._gridMenuControl)==null?void 0:n.translateGridMenu)==null||r.call(n)}renderColumnHeaders(e,t=!1){let i=e;i||(i=this.sharedService.columnDefinitions),Array.isArray(i)&&this.sharedService.slickGrid&&this.sharedService.slickGrid.setColumns&&((i.length>this.sharedService.allColumns.length||t)&&(this.sharedService.allColumns=i),this.sharedService.slickGrid.setColumns(i)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=this.sharedService.allColumns??[],this._gridMenuControl.recreateGridMenu())}createExtensionByTheirColumnIndex(e,t,i){e.sort((s,n)=>s.columnIndexPosition-n.columnIndexPosition),e.forEach(s=>{const n=s.extension.create(t,i);n&&(this._extensionCreatedList[s.name]={name:s.name,instance:n})})}translateItems(e,t,i){var s,n,r;if((s=this.gridOptions)!=null&&s.enableTranslate&&!((n=this.translaterService)!=null&&n.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(Array.isArray(e))for(const o of e)o[t]&&(o[i]=(r=this.translaterService)==null?void 0:r.translate(o[t]))}}var pf=Object.prototype.hasOwnProperty;function mn(a,e){var t,i;if(a===e)return!0;if(a&&e&&(t=a.constructor)===e.constructor){if(t===Date)return a.getTime()===e.getTime();if(t===RegExp)return a.toString()===e.toString();if(t===Array){if((i=a.length)===e.length)for(;i--&&mn(a[i],e[i]););return i===-1}if(!t||typeof a=="object"){i=0;for(t in a)if(pf.call(a,t)&&++i&&!pf.call(e,t)||!(t in e)||!mn(a[t],e[t]))return!1;return Object.keys(e).length===i}}return a!==a&&e!==e}function mf(a,e,t){if(t&&(a!=null&&a.hasOwnProperty(t)||e!=null&&e.hasOwnProperty(t)))return a[t]===e||a===e[t]||a[t]===e[t];for(const i in a)if(a.hasOwnProperty(i)&&a[i]!==e[i])return!1;return!0}function I_(a){switch(a&&a.toUpperCase()||""){case"IN":case"NIN":case"NOT_IN":case"IN_CONTAINS":case"NIN_CONTAINS":case"NOT_IN_CONTAINS":case"IN_COLLECTION":case"NOT_IN_COLLECTION":return!0;default:return!1}}const Dn=(a,e,t)=>{switch(a.toUpperCase()){case"<":case"LT":return e<t;case"<=":case"LE":return e<=t;case">":case"GT":return e>t;case">=":case"GE":return e>=t;case"!=":case"<>":case"NE":return e!==t;case"=":case"==":case"EQ":return e===t;case"IN":return t&&Array.isArray(t)?t.includes(e):!1;case"NIN":case"NOT_IN":return t&&Array.isArray(t)?!t.includes(e):!1;case"IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?!t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?t.some(i=>e.includes(i)):!1;case"NOT_IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?!t.some(i=>e.includes(i)):!1}return!0},gf=(a,e)=>{let[t,i]=e;if(t===void 0&&!a.operator)return!0;a.cellValue=a.cellValue===void 0||a.cellValue===null?"":a.cellValue.toString();const s=a!=null&&a.ignoreAccentOnStringFilterAndSort?Hr(a.cellValue,!0):a.cellValue.toLowerCase();if(typeof t=="string"&&(t=a!=null&&a.ignoreAccentOnStringFilterAndSort?Hr(t,!0):t.toLowerCase()),typeof i=="string"&&(i=a!=null&&a.ignoreAccentOnStringFilterAndSort?Hr(i,!0):i.toLowerCase()),t!==void 0&&i!==void 0){let r=(a==null?void 0:a.operator)??a.defaultFilterRangeOperator;r!==at.rangeInclusive&&r!==at.rangeExclusive&&(r=a.defaultFilterRangeOperator);const o=r===at.rangeInclusive,h=cd(o?">=":">",s,t,a.searchInputLastChar),u=cd(o?"<=":"<",s,i,a.searchInputLastChar);return h&&u}return cd(a.operator,s,t,a.searchInputLastChar)};function k_(a){const e="",t=Array.isArray(a)&&a||[e],i=[];let s,n;if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const r=t.length===2?t:t[0].split("..");s=`${Array.isArray(r)?r[0]:""}`,n=`${Array.isArray(r)?r[1]:""}`}else{const r=Array.isArray(a)&&a.length>0?a[0]:"";s=r==null?"":`${r}`}return s!==void 0&&n!==void 0?i.push(s,n):s!==void 0&&i.push(s),i}function cd(a,e,t,i){return a==="*"||a===at.endsWith||a==="*z"?e.endsWith(t):a===""&&i==="*"||a===at.startsWith||a==="a*"?e.startsWith(t):a===""||a===at.contains?e.indexOf(t)>-1:a==="<>"||a===at.notContains?e.indexOf(t)===-1:Dn(a||"==",e,t)}const D_=(a,e)=>{if(e===void 0&&!a.operator)return!0;switch((a.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!mf(a.cellValue,e,a.dataKey);case"=":case"==":case"EQ":default:return mf(a.cellValue,e,a.dataKey)}};function F_(a){return(Array.isArray(a)&&a.length>0?a[0]:"")||""}const _f=(a,e)=>{const t=parseFloat(a.cellValue),[i,s]=e;if(i===void 0&&!a.operator)return!0;if(i!==void 0&&s!==void 0){let n=(a==null?void 0:a.operator)??a.defaultFilterRangeOperator;n!==at.rangeInclusive&&n!==at.rangeExclusive&&(n=a.defaultFilterRangeOperator);const r=n===at.rangeInclusive,o=Dn(r?">=":">",t,+i),h=Dn(r?"<=":"<",t,+s);return o&&h}return Dn(a.operator||"==",t,+i)};function P_(a){const t=Array.isArray(a)&&a||[0],i=[];let s,n;if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const r=t.length===2?t:t[0].split("..");s=parseFloat(Array.isArray(r)?r[0]:""),n=parseFloat(Array.isArray(r)?r[1]:"")}else s=parseFloat(t[0]);return ri(s,!0)&&ri(n,!0)?i.push(s,n):ri(s,!0)&&i.push(s),i}const vf=(a,e)=>La(a.cellValue)===La(e);function N_(a){const e=Array.isArray(a)&&a[0]||!1;return La(e)}const Cf=a=>{const e=a.operator;let t;return Array.isArray(a.cellValue)&&(e==="IN_COLLECTION"||e==="NOT_IN_COLLECTION")?t=a.cellValue.length?a.cellValue.map(i=>`${i}`):[]:t=a.cellValue===void 0||a.cellValue===null?"":`${a.cellValue}`,Dn(e||"IN",t,a.searchTerms||[])};function L_(a,e){const t=a&&(a.filterSearchType||a.fieldType)||$.dateIso,i=fs(t),[s,n]=e,r=Vi(a.cellValue,i,!0);if(!s&&!n||!r.isValid())return!1;const o=i.toLowerCase().includes("h")?r.valueOf():r.clone().startOf("day").valueOf();if(s&&n){let u=(a==null?void 0:a.operator)??a.defaultFilterRangeOperator;u!==at.rangeInclusive&&u!==at.rangeExclusive&&(u=a.defaultFilterRangeOperator);const c=u===at.rangeInclusive,f=Dn(c?">=":">",o,s.valueOf()),p=Dn(c?"<=":"<",o,n.valueOf());return f&&p}const h=i.toLowerCase().includes("h")?s.valueOf():s.clone().startOf("day").valueOf();return Dn(a.operator||"==",o,h)}function M_(a,e){const t=Array.isArray(a)&&a||[],i=e||$.dateIso,s=fs(i),n=[];if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const r=t.length===2?t:t[0].split(".."),o=Array.isArray(r)&&r[0]||"",h=Array.isArray(r)&&r[1]||"",u=Vi(o,s,!0),c=Vi(h,s,!0);if(!u.isValid()||!c.isValid())return[];n.push(u,c)}else{const r=Vi(t[0],s,!0);if(!r.isValid())return[];n.push(r)}return n}const H_=(a,e)=>{if(I_(a.operator))return Cf(a);switch(bf(a.filterSearchType||a.fieldType)){case"boolean":return vf(a,e);case"date":return L_(a,e||[]);case"number":return _f(a,e||[]);case"object":return D_(a,e);case"string":default:return gf(a,e||[])}};function fl(a,e){const t=bf(e);let i;switch(t){case"boolean":i=N_(a);break;case"date":i=M_(a,e);break;case"number":i=P_(a);break;case"object":i=F_(a);break;case"string":i=k_(a);break}return i}function bf(a){switch(a){case $.boolean:return"boolean";case $.date:case $.dateIso:case $.dateUtc:case $.dateTime:case $.dateTimeIso:case $.dateTimeIsoAmPm:case $.dateTimeIsoAM_PM:case $.dateTimeShortIso:case $.dateEuro:case $.dateEuroShort:case $.dateTimeShortEuro:case $.dateTimeEuro:case $.dateTimeEuroAmPm:case $.dateTimeEuroAM_PM:case $.dateTimeEuroShort:case $.dateTimeEuroShortAmPm:case $.dateTimeEuroShortAM_PM:case $.dateUs:case $.dateUsShort:case $.dateTimeShortUs:case $.dateTimeUs:case $.dateTimeUsAmPm:case $.dateTimeUsAM_PM:case $.dateTimeUsShort:case $.dateTimeUsShortAmPm:case $.dateTimeUsShortAM_PM:return"date";case $.integer:case $.float:case $.number:return"number";case $.object:return"object";case $.string:case $.text:case $.password:case $.readonly:default:return"string"}}const yf={executeFilterConditionTest:H_,booleanFilter:vf,collectionSearchFilter:Cf,numberFilter:_f,stringFilter:gf,testFilter:Dn};class B_{constructor(e,t,i,s,n){this.filterFactory=e,this.pubSubService=t,this.sharedService=i,this.backendUtilities=s,this.rxjs=n,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new $e,this._eventHandler=new hi,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get isFilterFirstRender(){return this._isFilterFirstRender}get onSearchChange(){return this._onSearchChange}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}addRxJsResource(e){this.rxjs=e}init(e){this._grid=e,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var e;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((e=this.rxjs)!=null&&e.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let e=this._filtersMetadata.pop();for(;e;)typeof(e==null?void 0:e.destroy)=="function"&&e.destroy(),e=this._filtersMetadata.pop()}}bindBackendOnFilter(e){this._filtersMetadata=[],this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{i.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(i,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=i.column.id)}),this.subscribeToOnHeaderRowCellRendered(e),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(e){this._filtersMetadata=[],this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid,dataView:this._dataView}),this._dataView.setFilter(this.customLocalFilter.bind(this)),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,async(t,i)=>{const s=(i==null?void 0:i.clearFilterTriggered)??!1;s||await this.emitFilterChanged(Zt.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),i.columnId!==null&&this._dataView.refresh(),s||await this.emitFilterChanged(Zt.local),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{this.addFilterTemplateToHeaderRow(i)}),this.subscribeToOnHeaderRowCellRendered(e)}async clearFilterByColumnId(e,t){await this.pubSubService.publish("onBeforeFilterClear",{columnId:t},0);const i=this._gridOptions.backendServiceApi??!1,s=i?Zt.remote:Zt.local,n=Object.keys(this._columnFilters);let r;Array.isArray(n)&&(r=n.find(h=>h===`${t}`));const o=this._filtersMetadata.find(h=>h.columnDef.id===t);return o!=null&&o.clear&&o.clear(!0),i&&r!==void 0&&this.onBackendFilterChange(e,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(s),!0}async clearFilters(e=!0){var i,s;e&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(n=>{n!=null&&n.clear&&n.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(n=>{var r;(r=n.filter)!=null&&r.searchTerms&&delete n.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const t=this._gridOptions.backendServiceApi;if(t&&e){const n={clearFilterTriggered:!0,shouldTriggerQuery:e,grid:this._grid,columnFilters:this._columnFilters},o=t.service.processOnFilterChanged(void 0,n),h=((i=this._gridOptions.pagination)==null?void 0:i.totalItems)??0;(s=this.backendUtilities)==null||s.executeBackendCallback(t,o,n,new Date,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:u=>this._previousFilters=this.extractBasicFilterDetails(u.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);e&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(e,t){const i=t==null?void 0:t.grid,s=(t==null?void 0:t.columnFilters)??{},n=this._gridOptions.enableTreeData??!1,r=this._gridOptions.treeDataOptions;if(n&&r){const o=r.collapsedPropName??Oe.treeDataProperties.COLLAPSED_PROP,h=r.parentPropName??Oe.treeDataProperties.PARENT_PROP,u=(r==null?void 0:r.childrenPropName)??Oe.treeDataProperties.CHILDREN_PROP,c=this._gridOptions.datasetIdPropertyName??"id",f=r.autoRecalcTotalsOnFilterChange??!1;let p=!1;if(e[h]!==null){let g=this._dataView.getItemById(e[h]);for(;g;){if(g[o])if(f)p=!0;else return!1;g=this._dataView.getItemById(g[h])}}if(this._tmpPreFilteredData instanceof Set){const g=this._tmpPreFilteredData.has(e[c]);if(f){const v=xo(this.sharedService.hierarchicalDataset,C=>C[c]===e[c],u);if(v&&(v.__filteredOut=!g),p)return!1}return g}}else if(typeof s=="object")for(const o of Object.keys(s)){const h=s[o],u=this.preProcessFilterConditionOnDataContext(e,h,i);if(typeof u=="boolean")return u;let c=h==null?void 0:h.parsedSearchTerms;if(c===void 0&&(c=fl(h.searchTerms,h.columnDef.type||$.string),c!==void 0&&(h.parsedSearchTerms=c)),!yf.executeFilterConditionTest(u,c))return!1}return!0}parseFormInputFilterConditions(e,t){var f;const i=Ms(e)||[];let s=Array.isArray(i)&&i.length===1?i[0]:"";const n=t.columnDef,r=((f=n.filter)==null?void 0:f.type)??n.type??$.string;let o=null;r!==$.object&&(s=s==null?"":`${s}`,o=(n.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?s.match(/^([<>!=\*]{0,2})(.*[^<>!=\*])?([\*]?)$/):[s,"",s,""]);let h=(o==null?void 0:o[1])||t.operator;const u=(o==null?void 0:o[2])||"",c=(o==null?void 0:o[3])||(h==="*z"?"*":"");return typeof s=="string"&&(s=s.replace("'","''"),h==="*"||h==="*z"?h=at.endsWith:(h==="a*"||c==="*")&&(h=at.startsWith)),Array.isArray(o)&&o.length>=1&&Array.isArray(i)&&i.length===1&&(i[0]=u),{dataKey:n.dataKey,fieldType:r,searchTerms:i||[],operator:h,searchInputLastChar:c,filterSearchType:n.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(e,t,i){var p,g,v;const s=t.columnDef,n=t.columnId;let r=i.getColumnIndex(n);if(!s&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(r=this.sharedService.allColumns.findIndex(C=>C.field===n)),!s)return!0;if(this._gridOptions.enableRowDetailView){const C=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";e[`${C}isPadding`]&&e[`${C}parent`]&&(e=e[`${C}parent`])}let o=((p=s.filter)==null?void 0:p.queryField)||s.queryFieldFilter||s.queryField||s.field||"";typeof s.queryFieldNameGetterFn=="function"&&(o=s.queryFieldNameGetterFn(e));const h=((g=s.filter)==null?void 0:g.type)??s.type??$.string;let u=e[o];(o==null?void 0:o.indexOf("."))>=0&&(u=Ti(e,o));const c=t.operator,f=t.searchTerms||[];if(!f||Array.isArray(f)&&(f.length===0||f.length===1&&c===f[0]))return!0;if(f&&Array.isArray(f)&&h!==$.object)for(let C=0,w=f.length;C<w;C++)f[C]=(f[C]===void 0||f[C]===null?"":f[C])+"";if(((v=s==null?void 0:s.params)==null?void 0:v.useFormatterOuputToFilter)===!0){const C=i.getData(),w=this._gridOptions.datasetIdPropertyName||"id",y=C&&typeof C.getIdxById=="function"?C.getIdxById(e[w]):0,S=s&&typeof s.formatter=="function"?s.formatter(y||0,r,u,s,e,this._grid):"";u=vi(S)}return typeof u=="number"&&(u=u.toString()),{dataKey:s.dataKey,fieldType:h,searchTerms:f,cellValue:u,operator:c,searchInputLastChar:t.searchInputLastChar,filterSearchType:s.filterSearchType,ignoreAccentOnStringFilterAndSort:this._gridOptions.ignoreAccentOnStringFilterAndSort??!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(e,t){var w,y,S,O,I,F,X;const i=this._gridOptions.treeDataOptions,s=(i==null?void 0:i.collapsedPropName)??Oe.treeDataProperties.COLLAPSED_PROP,n=(i==null?void 0:i.parentPropName)??Oe.treeDataProperties.PARENT_PROP,r=(i==null?void 0:i.hasChildrenPropName)??Oe.treeDataProperties.HAS_CHILDREN_PROP,o=this._gridOptions.datasetIdPropertyName??"id",h=(y=(w=this._gridOptions.presets)==null?void 0:w.treeData)==null?void 0:y.toggledItems,u=((S=this._gridOptions.treeDataOptions)==null?void 0:S.initiallyCollapsed)??!1,c=(O=this._gridOptions.treeDataOptions)==null?void 0:O.columnId,f=(I=this._gridOptions.treeDataOptions)==null?void 0:I.excludeChildrenWhenFilteringTree,p=!f&&((F=this._gridOptions.treeDataOptions)==null?void 0:F.autoApproveParentItemWhenTreeColumnIsValid)===!0,g={},v=new Set,C=new Map;if(Array.isArray(e)){for(const K of e)g[K[o]]=K,delete g[K[o]].__used;for(const K of Object.keys(t)){const ee=t[K],Q=ee!=null&&ee.searchTerms?Ms(ee.searchTerms):[],te=this.parseFormInputFilterConditions(Q,ee),me=ee.columnDef,U=((X=me==null?void 0:me.filter)==null?void 0:X.type)??(me==null?void 0:me.type)??$.string,N=fl(te.searchTerms,U);N!==void 0&&(ee.parsedSearchTerms=N)}for(const K of e){const ee=K[r];let Q=!0;for(const te of Object.keys(t)){const me=t[te],U=this.preProcessFilterConditionOnDataContext(K,me,this._grid);if(U){const N=me==null?void 0:me.parsedSearchTerms,A=typeof U=="boolean"?U:yf.executeFilterConditionTest(U,N);if(A&&p&&ee&&me.columnId===c){C.set(K[o],!0);break}if(A||!f&&C.get(K[n])===!0){if(ee&&me.columnId===c&&C.set(K[o],!0),A||!f&&me.columnId===c)continue}else ee&&C.get(K[n])!==!0&&me.columnId!==c&&C.set(K[o],!1)}Q=!1}if(Q){v.add(K[o]);let te=g[K[n]]??!1;const me=!u;for(!this._isTreePresetExecuted&&Array.isArray(h)&&h.some(U=>U.itemId===te.id&&U.isCollapsed===me)&&(te[s]=me);te;)te.__used??v.add(te[o]),g[te[o]].__used=!0,te=g[te[n]]??!1}}}return this._isTreePresetExecuted=!0,v}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t;const e=[];if(this._columnFilters)for(const i of Object.keys(this._columnFilters)){const s=this._columnFilters[i],n={columnId:i||""},r=this.sharedService.allColumns.find(h=>h.id===n.columnId),o=((t=r==null?void 0:r.filter)==null?void 0:t.emptySearchTermReturnAllValues)??!0;s!=null&&s.searchTerms&&(n.searchTerms=s.searchTerms),s.operator&&(n.operator=s.operator),s.targetSelector&&(n.targetSelector=s.targetSelector),Array.isArray(n.searchTerms)&&n.searchTerms.length>0&&(!o||n.searchTerms[0]!=="")&&e.push(n)}return e}emitFilterChanged(e,t=!1){const i=t?"onBeforeFilterChange":"onFilterChanged";if(e===Zt.remote&&this._gridOptions.backendServiceApi){let s=[];const n=this._gridOptions.backendServiceApi.service;return n!=null&&n.getCurrentFilters&&(s=n.getCurrentFilters()),this.pubSubService.publish(i,s)}else if(e===Zt.local)return this.pubSubService.publish(i,this.getCurrentLocalFilters())}async onBackendFilterChange(e,t){var r,o;const i=t==null?void 0:t.shouldTriggerQuery;if(i&&await this.emitFilterChanged(Zt.remote,!0),!t||!t.grid)throw new Error('Something went wrong when trying to bind the "onBackendFilterChange(event, args)" function, it seems that "args" is not populated correctly');const s=this._gridOptions.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;if(s.preProcess&&s.preProcess(),i){const h=await s.service.processOnFilterChanged(e,t),u=((r=this._gridOptions.pagination)==null?void 0:r.totalItems)??0;(o=this.backendUtilities)==null||o.executeBackendCallback(s,h,t,n,u,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:c=>this._previousFilters=this.extractBasicFilterDetails(c.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(e){return Array.isArray(e)&&(this._columnDefinitions.forEach(t=>{var s;(s=t.filter)!=null&&s.searchTerms&&delete t.filter.searchTerms;const i=e.find(n=>n.columnId===t.id);i&&Array.isArray(i==null?void 0:i.searchTerms)&&(t.filter=t.filter||{},t.filter.operator=i.operator||t.filter.operator||"",t.filter.searchTerms=i.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(e){var i;const t=e??((i=this._dataView)==null?void 0:i.getItems())??[];this._dataView&&this._gridOptions.enableTreeData&&t.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(t,this._columnFilters),this._dataView.refresh()):t.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&setTimeout(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableFiltering;s!==e&&(t&&e&&this.clearFilters(),this.disableAllFilteringCommands(e),this._grid.setOptions({enableFiltering:s},!1,!0),this._grid.setHeaderRowVisibility(s),this._gridOptions.enableFiltering=!e,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(e=!0){const t=this._gridOptions.enableFiltering;this.disableFilterFunctionality(t,e)}toggleHeaderFilterRow(){let e=this._gridOptions.showHeaderRow??!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(e){this._grid&&Array.isArray(e)&&this._grid.setSortColumns(e)}async updateFilters(e,t=!0,i=!0,s=!1){var n;if(!this._filtersMetadata||this._filtersMetadata.length===0||!this._gridOptions||!this._gridOptions.enableFiltering)throw new Error('[Slickgrid-Universal] in order to use "updateFilters" method, you need to have Filterable Columns defined in your grid and "enableFiltering" set in your Grid Options');if(Array.isArray(e)){this.clearFilters(!1),e.forEach(h=>{const u=this._filtersMetadata.find(c=>h.columnId===c.columnDef.id);if(h&&u){const c=h.operator||u.defaultOperator;this.updateColumnFilters(h.searchTerms,u.columnDef,c),u.setValues(h.searchTerms||[],c),(s||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:u.columnDef,operator:c,searchTerms:h.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const r=this._gridOptions.backendServiceApi,o=r?Zt.remote:Zt.local;if(t&&await this.emitFilterChanged(o,!0),this._dataView.refresh(),r){const h=r==null?void 0:r.service;h!=null&&h.updateFilters&&(h.updateFilters(e,!0),i&&((n=this.backendUtilities)==null||n.refreshBackendDataset(this._gridOptions)))}t&&await this.emitFilterChanged(o)}return!0}async updateSingleFilter(e,t=!0,i=!0){var n,r;const s=this.sharedService.allColumns.find(o=>o.id===e.columnId);if(s&&e.columnId){this._columnFilters={};const o=((n=s.filter)==null?void 0:n.emptySearchTermReturnAllValues)??!0;Array.isArray(e.searchTerms)&&(e.searchTerms.length>1||e.searchTerms.length===1&&(!o||e.searchTerms[0]!==""))&&(this._columnFilters[e.columnId]={columnId:e.columnId,operator:e.operator,searchTerms:e.searchTerms,columnDef:s,type:s.type??$.string});const h=this._gridOptions.backendServiceApi,u=h?Zt.remote:Zt.local;if(t&&await this.emitFilterChanged(u,!0),h){const c=h==null?void 0:h.service;c!=null&&c.updateFilters&&(c.updateFilters(this._columnFilters,!0),i&&((r=this.backendUtilities)==null||r.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();t&&await this.emitFilterChanged(u)}return!0}drawFilterTemplate(e,t){let i;if(typeof t=="string"){if(i=document.querySelector(t),i===null)return null}else i=t;const s=typeof e=="string"?this.sharedService.allColumns.find(r=>r.id===e):e;if(((s==null?void 0:s.id)??"")!=="selector"&&(s!=null&&s.filterable)){let r,o;const h=this.filterFactory.createFilter(s.filter);o=s&&s.filter&&s.filter.operator||h&&h.operator,this._columnFilters[s.id]?(r=this._columnFilters[s.id].searchTerms||void 0,o=this._columnFilters[s.id].operator||void 0):s.filter&&(r=s.filter.searchTerms||void 0,this.updateColumnFilters(r,s,o));const u={grid:this._grid,operator:o,searchTerms:r,columnDef:s,filterContainerElm:i,callback:this.callbackSearchEvent.bind(this)};return h&&(h.init(u),r&&h.setValues&&h.setValues(r,o)),h}return null}addFilterTemplateToHeaderRow(e,t=!0){const i=e.column,s=(i==null?void 0:i.id)??"";if(s!=="selector"&&(i!=null&&i.filterable)){let n,r;const o=this.filterFactory.createFilter(i.filter);r=i&&i.filter&&i.filter.operator||o&&o.operator,this._columnFilters[i.id]?(n=this._columnFilters[i.id].searchTerms||void 0,r=this._columnFilters[i.id].operator||void 0):i.filter&&(n=i.filter.searchTerms||void 0,this.updateColumnFilters(n,i,r));const h={grid:this._grid,operator:r,searchTerms:n,columnDef:i,filterContainerElm:this._grid.getHeaderRowColumn(s),callback:this.callbackSearchEvent.bind(this)};if(o){o.init(h,t);const u=this._filtersMetadata.findIndex(c=>o.columnDef.id===c.columnDef.id);u===-1?this._filtersMetadata.push(o):this._filtersMetadata[u]=o,n&&o.setValues&&o.setValues(n,r)}}}callbackSearchEvent(e,t){var i,s;if(t){const n=e!=null&&e.target?e.target.value:void 0,r=t.searchTerms&&Array.isArray(t.searchTerms)?t.searchTerms:n?[n]:void 0,o=t.columnDef||null,h=(o==null?void 0:o.id)??"",u=((i=o==null?void 0:o.filter)==null?void 0:i.type)??(o==null?void 0:o.type)??$.string,c=t.operator||void 0,f=r&&Array.isArray(r),p=f&&r&&r.length,g={...this._columnFilters},v=((s=o.filter)==null?void 0:s.emptySearchTermReturnAllValues)??!0;let C;if(o&&h)if(!f||p===0||p===1&&Array.isArray(r)&&v&&r[0]==="")delete this._columnFilters[h];else{const S=`${h}`,O={columnId:S,columnDef:o,parsedSearchTerms:[],type:u,targetSelector:this.getSelectorStringFromElement(e==null?void 0:e.target)},I=this.parseFormInputFilterConditions(r,O);O.operator=c||I.operator||xh(u),C=fl(I.searchTerms,u),C!==void 0&&(O.parsedSearchTerms=C),O.searchTerms=I.searchTerms||[],this._columnFilters[S]=O}const w=e&&typeof e.isPropagationStopped!="function"?ne.extend({},new li,e):e,y=e==null?void 0:e.key;if(this._onSearchChange&&(t.forceOnSearchChangeEvent||y==="Enter"||!mn(g,this._columnFilters))){const S={clearFilterTriggered:t.clearFilterTriggered,shouldTriggerQuery:t.shouldTriggerQuery,columnId:h,columnDef:o,columnFilters:this._columnFilters,operator:c||xh(u),searchTerms:r,parsedSearchTerms:C,grid:this._grid,target:e==null?void 0:e.target};this.pubSubService.publish("onBeforeSearchChange",S)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(S,w)}}}disableAllFilteringCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var r,o;(r=n==null?void 0:n.header)!=null&&r.menu&&((o=n.header.menu.commandItems)==null||o.forEach(h=>{h&&typeof h!="string"&&h.command==="clear-filter"&&(h.hidden=e)}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{if(n&&typeof n!="string"){const r=n.command;(r==="clear-filter"||r==="toggle-filter")&&(n.hidden=e)}}),t}extractBasicFilterDetails(e){const t=[];if(e&&typeof e=="object")for(const i of Object.keys(e)){const{operator:s,searchTerms:n}=e[`${i}`];t.push({columnId:i,operator:s,searchTerms:n})}return t}getSelectorStringFromElement(e){return e!=null&&e.localName?e!=null&&e.className?`${e.localName}.${Array.from(e.classList).join(".")}`:e.localName:""}removeAllColumnFiltersProperties(){if(typeof this._columnFilters=="object")for(const e in this._columnFilters)e&&this._columnFilters[e]&&delete this._columnFilters[e]}subscribeToOnHeaderRowCellRendered(e){this._eventHandler.subscribe(e.onBeforeHeaderRowCellDestroy,(t,i)=>{var n;const s=this._filtersMetadata.find(r=>r.columnDef.id===i.column.id);(n=s==null?void 0:s.destroy)==null||n.call(s)})}updateColumnFilters(e,t,i){var r;const s=((r=t.filter)==null?void 0:r.type)??t.type??$.string,n=fl(e,s);e&&t&&(this._columnFilters[t.id]={columnId:t.id,columnDef:t,searchTerms:e,operator:i,parsedSearchTerms:n,type:s})}}const pl={skipError:!1,triggerEvent:!0},Zo={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},fd={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},wf={autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1};class z_{constructor(e,t,i,s,n,r,o){this.gridStateService=e,this.filterService=t,this.pubSubService=i,this.paginationService=s,this.sharedService=n,this.sortService=r,this.treeDataService=o}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}dispose(){var e;this.clearHighlightTimer(),(e=this._rowSelectionPlugin)==null||e.dispose()}init(e){this._grid=e}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearHighlightTimer(){clearTimeout(this._highlightTimer),clearTimeout(this._highlightTimerEnd)}clearPinning(e=!0){const t=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),e&&Array.isArray(t)&&this.sharedService.slickGrid.setColumns(t)}setPinning(e,t=!0,i=!1,s=!0){qu(e)?this.clearPinning():(this.sharedService.slickGrid.setOptions(e,i,s),this.sharedService.gridOptions={...this.sharedService.gridOptions,...e}),t&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(e){if(!e||!e.grid||!e.grid.getColumns||!e.grid.getDataItem)throw new Error("[Slickgrid-Universal] To get the column definition and data, we need to have these arguments passed as objects (row, cell, grid)");return{row:e.row,cell:e.cell,columnDef:e.grid.getColumns()[e.cell],dataContext:e.grid.getDataItem(e.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error(`[Slickgrid-Universal] We could not find SlickGrid Grid object or it's "getDataItem" method`);return this._grid.getDataItem(e)}getItemRowMetadataToHighlight(e){return t=>{const i=this._dataView.getItem(t);let s={cssClasses:""};return typeof e=="function"&&(s=e.call(this._dataView,t)),s||(s={cssClasses:""}),i&&i._dirty&&(s.cssClasses=(s&&s.cssClasses||"")+" dirty"),i&&i.rowClass&&s&&(s.cssClasses+=` ${i.rowClass}`,s.cssClasses+=` row${t}`),s}}getDataItemByRowIndex(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');return this._grid.getDataItem(e)}getDataItemByRowIndexes(e){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');const t=[];return Array.isArray(e)&&e.forEach(i=>{t.push(this._grid.getDataItem(i))}),t}getSelectedRows(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');return this._grid.getSelectedRows()}getSelectedRowsDataItem(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');const e=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(e)}hideColumnById(e,t){if(t={...wf,...t},this._grid&&this._grid.getColumns&&this._grid.setColumns){const i=this._grid.getColumns(),s=i.findIndex(n=>n.id===e);if(s>=0){const n=Ah(i,s);this.sharedService.visibleColumns=n,this._grid.setColumns(n);const r=this.sharedService.allColumns.findIndex(o=>o.id===e);return r&&(t!=null&&t.hideFromColumnPicker&&(this.sharedService.allColumns[r].excludeFromColumnPicker=!0),t!=null&&t.hideFromGridMenu&&(this.sharedService.allColumns[r].excludeFromGridMenu=!0)),t!=null&&t.autoResizeColumns&&this._grid.autosizeColumns(),t!=null&&t.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:n}),s}}return-1}hideColumnByIds(e,t){if(t={...wf,...t},Array.isArray(e)){for(const i of e)this.hideColumnById(i,{...t,triggerEvent:!1,autoResizeColumns:!1});t!=null&&t.autoResizeColumns&&this._grid.autosizeColumns(),t!=null&&t.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:this.sharedService.visibleColumns})}}highlightRow(e,t=1500,i=300){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new hd(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),Array.isArray(e)?e.forEach(s=>this.highlightRowByMetadata(s,t,i)):this.highlightRowByMetadata(e,t,i)}highlightRowByMetadata(e,t=1500,i=300){this._dataView.getItemMetadata=this.getItemRowMetadataToHighlight(this._dataView.getItemMetadata);const s=this._dataView.getItem(e),n=this._gridOptions.datasetIdPropertyName||"id";(s==null?void 0:s[n])!==void 0&&(s.rowClass="highlight",this._dataView.updateItem(s[n],s),this.renderGrid(),this.clearHighlightTimer(),this._highlightTimerEnd=setTimeout(()=>{s.rowClass="highlight-end",this._dataView.updateItem(s[n],s),this.renderGrid()},i),this._highlightTimer=setTimeout(()=>{(s==null?void 0:s[n])!==void 0&&(delete s.rowClass,this._dataView.getIdxById(s[n])!==void 0&&(this._dataView.updateItem(s[n],s),this.renderGrid()))},t+i))}setSelectedRow(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows([e])}setSelectedRows(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows(e)}renderGrid(){this._grid&&typeof this._grid.invalidate=="function"&&(this._grid.invalidate(),this._grid.render())}resetGrid(e){var t,i,s;if(this.clearPinning(!1),this._grid){const n=this.sharedService.allColumns||[];Array.isArray(n)&&n.length>0&&(this._grid.setColumns(n),(t=this._gridOptions)!=null&&t.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(e))}typeof((i=this.filterService)==null?void 0:i.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((s=this.sortService)==null?void 0:s.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(e,t){var u,c,f,p;const i={...Zo,...t};if(!(i!=null&&i.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const s=this._gridOptions.datasetIdPropertyName||"id";if(!(i!=null&&i.skipError)&&(!e||!e.hasOwnProperty(s)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${s}" property`);if((u=this._gridOptions)!=null&&u.enableTreeData&&(t==null?void 0:t.position)==="top")throw new Error('[Slickgrid-Universal] Please note that `addItem({ position: "top" })` is not supported when used with Tree Data because of the extra complexity.');const n=i==null?void 0:i.position;n==="bottom"||(c=this._gridOptions)!=null&&c.enableTreeData?this._dataView.addItem(e):this._dataView.insertItem(0,e);let r=0;const o=(e==null?void 0:e[s])??"";return(f=this._gridOptions)!=null&&f.enableTreeData?(this.invalidateHierarchicalDataset(),r=this._dataView.getRowById(o),i.scrollRowIntoView&&this._grid.scrollRowIntoView(r??0,!1)):i.resortGrid?(this._dataView.reSort(),r=this._dataView.getRowById(o)):(r=n==="bottom"?this._dataView.getRowById(o):0,i.scrollRowIntoView&&this._grid.scrollRowIntoView(r??0)),i.highlightRow&&r!==void 0&&this.highlightRow(r),r!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(r),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),!((p=this._gridOptions)!=null&&p.backendServiceApi)&&this._gridOptions.enablePagination&&(n==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),r}addItems(e,t){var o,h,u,c;const i={...Zo,...t},s=this._gridOptions.datasetIdPropertyName||"id",n=i==null?void 0:i.position,r=[];if(Array.isArray(e))this._dataView.beginUpdate(!0),n==="bottom"||(o=this._gridOptions)!=null&&o.enableTreeData?this._dataView.addItems(e):this._dataView.insertItems(0,e),this._dataView.endUpdate();else return[this.addItem(e,i)||0];if((h=this._gridOptions)!=null&&h.enableTreeData){this.invalidateHierarchicalDataset();const f=((u=e[0])==null?void 0:u[s])??"",p=this._dataView.getRowById(f);i.scrollRowIntoView&&this._grid.scrollRowIntoView(p??0,!1)}else i.resortGrid&&this._dataView.reSort();return n&&i.scrollRowIntoView&&!((c=this._gridOptions)!=null&&c.enableTreeData)&&(n==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),e.forEach(f=>r.push(this._dataView.getRowById(f[s]))),i.highlightRow&&this.highlightRow(r),i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(r),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),r}deleteItem(e,t){t={...pl,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!(t!=null&&t.skipError)&&(!e||!e.hasOwnProperty(i)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${i}" property`);return this.deleteItemById(e[i],t)}deleteItems(e,t){t={...pl,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return this.deleteItem(e,t),[e[i]];this._dataView.beginUpdate(!0);const s=[];return e.forEach(n=>{(n==null?void 0:n[i])!==void 0&&s.push(n[i])}),this._dataView.deleteItems(s),this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),s}deleteItemById(e,t){if(t={...pl,...t},!(t!=null&&t.skipError)&&e==null)throw new Error('[Slickgrid-Universal] Cannot delete a row without a valid "id"');return!(this.gridStateService&&this.gridStateService.needToPreserveRowSelection()||!1)&&this._grid&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows([]),this._dataView.deleteItem(e),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}deleteItemByIds(e,t){if(t={...pl,...t},Array.isArray(e)){this._dataView.beginUpdate(!0);for(let i=0;i<e.length;i++)e[i]!==null&&this.deleteItemById(e[i],{triggerEvent:!1});return this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}return[]}updateItem(e,t){t={...fd,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${i}" property`);return this.updateItemById(s,e,t)}updateItems(e,t){var r;t={...fd,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return[this.updateItem(e,t)];this._dataView.beginUpdate(!0);const s=[],n=[];return e.forEach(o=>{const h=!o||!o.hasOwnProperty(i)?void 0:o[i];if(n.push(h),this._dataView.getIdxById(h)!==void 0){const u=this._dataView.getRowById(h);u!==void 0&&(s.push(u),this._grid.updateRow(u))}}),this._dataView.updateItems(n,e),this._dataView.endUpdate(),(r=this._gridOptions)!=null&&r.enableTreeData&&this.invalidateHierarchicalDataset(),t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent&&this.pubSubService.publish("onItemUpdated",e),s}updateItemById(e,t,i){var n;if(i={...fd,...i},!(i!=null&&i.skipError)&&e===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const s=this._dataView.getRowById(e);if(!(i!=null&&i.skipError)&&!t&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${e}`);return this._dataView.getIdxById(e)!==void 0&&(this._dataView.updateItem(e,t),s!==void 0&&this._grid.updateRow(s),(n=this._gridOptions)!=null&&n.enableTreeData&&this.invalidateHierarchicalDataset(),i.scrollRowIntoView&&s!==void 0&&this._grid.scrollRowIntoView(s),i.highlightRow&&s!==void 0&&this.highlightRow(s),s!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(s),i.triggerEvent&&this.pubSubService.publish("onItemUpdated",t)),s}upsertItem(e,t){t={...Zo,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${i}" property`);return this.upsertItemById(s,e,t)}upsertItems(e,t){if(t={...Zo,...t},!Array.isArray(e))return[this.upsertItem(e,t)];this._dataView.beginUpdate(!0);const i=[];e.forEach(n=>{i.push(this.upsertItem(n,{...t,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const s=i.map(n=>n.added!==void 0?n.added:n.updated);if(t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent){this.pubSubService.publish("onItemUpserted",e);const n=i.filter(o=>o.added!==void 0);Array.isArray(n)&&n.length>0&&this.pubSubService.publish("onItemAdded",n);const r=i.filter(o=>o.updated!==void 0);Array.isArray(r)&&r.length>0&&this.pubSubService.publish("onItemUpdated",r)}return i}upsertItemById(e,t,i){let s=!1;if(i={...Zo,...i},!(i!=null&&i.skipError)&&e===void 0&&!this.hasRowSelectionEnabled())throw new Error('[Slickgrid-Universal] Calling Upsert of an item requires the item to include a valid and unique "id" property');let n,r;return this._dataView.getRowById(e)===void 0?(n=this.addItem(t,i),s=!0):(r=this.updateItem(t,{highlightRow:i.highlightRow,selectRow:i.selectRow,triggerEvent:i.triggerEvent}),s=!1),i.triggerEvent&&(this.pubSubService.publish("onItemUpserted",t),s?this.pubSubService.publish("onItemAdded",t):this.pubSubService.publish("onItemUpdated",t)),{added:n,updated:r}}invalidateHierarchicalDataset(e){var t;if((t=this._gridOptions)!=null&&t.enableTreeData&&this.treeDataService){const i=e??this._dataView.getItems(),s=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(i||[],this.sharedService.allColumns,this._gridOptions);this.sharedService.hierarchicalDataset=s.hierarchical,this.filterService.refreshTreeDataFilters(e),this._dataView.setItems(s.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&e}}class V_{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new hi}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onBeforeEditCell,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onBeforeEditCell=="function"){const r={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onBeforeEditCell(i,r)}})}bindOnCellChange(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onCellChange,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellChange=="function"){const r={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellChange(i,r)}})}bindOnClick(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onClick,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellClick=="function"){const r={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellClick(i,r)}})}}class W_{constructor(e,t,i,s,n,r){this.extensionService=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=r,this._eventHandler=new hi,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(e){this._selectedRowDataContextIds=e}init(e){this._grid=e,this.subscribeToAllGridChanges(e)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(e,t=!0,i=!1){var s,n,r,o,h,u;if(Array.isArray(e)&&e.length>0){const c=this.getAssociatedGridColumns(this._grid,e);if(c&&Array.isArray(c)&&c.length>0){if(Array.isArray(this.sharedService.allColumns)){const f=[];if(this._gridOptions.enableCheckboxSelector){const p=((n=(s=this._gridOptions)==null?void 0:s.checkboxSelector)==null?void 0:n.columnIndexPosition)??0;f.push({columnId:"_checkbox_selector",columnIndexPosition:p})}if(this._gridOptions.enableRowDetailView){const p=((o=(r=this._gridOptions)==null?void 0:r.rowDetailView)==null?void 0:o.columnIndexPosition)??0;f.push({columnId:"_detail_selector",columnIndexPosition:p})}if(this._gridOptions.enableRowMoveManager){const p=((u=(h=this._gridOptions)==null?void 0:h.rowMoveManager)==null?void 0:u.columnIndexPosition)??0;f.push({columnId:"_move",columnIndexPosition:p})}this.addColumnDynamicWhenFeatureEnabled(f,this.sharedService.allColumns,c)}c.forEach(f=>f.originalWidth=f.width||f.originalWidth),this._grid.setColumns(c),this.sharedService.visibleColumns=c,t?this._grid.autosizeColumns():(i||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var r;const{frozenColumn:e,frozenRow:t,frozenBottom:i}=this.sharedService.gridOptions,s={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:t,frozenBottom:i}},n=this.getCurrentPagination();if(n&&(s.pagination=n),this.hasRowSelectionEnabled()){const o=this.getCurrentRowSelections();o&&(s.rowSelection=o)}if((r=this._gridOptions)!=null&&r.enableTreeData){const o=this.getCurrentTreeDataToggleState();o&&(s.treeData=o)}return s}getColumns(){return this._columns}getAssociatedCurrentColumns(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{i!=null&&i.id&&t.push({columnId:i.id,cssClass:i.cssClass||"",headerCssClass:i.headerCssClass||"",width:i.width||0})}),t}getAssociatedGridColumns(e,t){const i=[],s=this.sharedService.allColumns||e.getColumns();return t&&Array.isArray(t)&&t.forEach(n=>{const r=s.find(o=>o.id===n.columnId);r!=null&&r.id&&i.push({...r,cssClass:n.cssClass||r.cssClass,headerCssClass:n.headerCssClass||r.headerCssClass,width:n.width})}),this._columns=i,i}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentFilters)return i.getCurrentFilters()}else if((t=this.filterService)!=null&&t.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var e;if((e=this._gridOptions)!=null&&e.enablePagination)if(this._gridOptions.backendServiceApi){const t=this._gridOptions.backendServiceApi.service;if(t!=null&&t.getCurrentPagination)return t.getCurrentPagination()}else return this.sharedService.currentPagination;return null}getCurrentRowSelections(){return this._grid&&this._dataView&&this.hasRowSelectionEnabled()?{gridRowIndexes:this._grid.getSelectedRows()||[],dataContextIds:this._dataView.getAllSelectedIds()||[],filteredDataContextIds:this._dataView.getAllSelectedFilteredIds()||[]}:null}getCurrentSorters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentSorters)return i.getCurrentSorters()}else if((t=this.sortService)!=null&&t.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var e;return(e=this._gridOptions)!=null&&e.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if((t=this._gridOptions)!=null&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const i=this._gridOptions.dataView.syncGridSelection;typeof i=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof i=="object"&&(e=i.preserveHidden||i.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(e){const t=e||this._columns,i=this.getAssociatedCurrentColumns(t);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:Qi.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(e=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,e&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var e,t;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const i=(t=(e=this.extensionService)==null?void 0:e.getExtensionByName)==null?void 0:t.call(e,Rt.rowSelection);i!=null&&i.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(e){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:Qi.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:Qi.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:Qi.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:Qi.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(Rt.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(Rt.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",e),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",e),this.bindSlickGridOnSetOptionsEventToGridStateChange(e),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(t,i)=>{const s=(this._selectedRowIndexes||[]).slice(),n=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=i.filteredIds,this._selectedRowIndexes=i.rows,!mn(this.selectedRowDataContextIds,n)||!mn(this._selectedRowIndexes,s)){const r={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:i.selectedRowIds,filteredDataContextIds:i.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:r,type:Qi.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuHideColumns",t=>{const i=this.getAssociatedCurrentColumns(t);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:Qi.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:Qi.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:Qi.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(e,t,i){e.sort((s,n)=>s.columnIndexPosition-n.columnIndexPosition),e.forEach(s=>{const n=t.findIndex(o=>o.id===s.columnId),r=i.findIndex(o=>o.id===s.columnId);if(n>=0&&r===-1){const o=t[n];n===0?i.unshift(o):i.splice(n,0,o)}})}bindExtensionAddonEventToGridStateChange(e,t){var n,r,o;const i=(r=(n=this.extensionService)==null?void 0:n.getExtensionByName)==null?void 0:r.call(n,e),s=(o=i==null?void 0:i.instance)==null?void 0:o[t];s&&typeof s.subscribe=="function"&&this._eventHandler.subscribe(s,(h,u)=>{const c=u==null?void 0:u.columns,f=this.getAssociatedCurrentColumns(c);this.pubSubService.publish("onGridStateChanged",{change:{newValues:f,type:Qi.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(e,t){const i=t==null?void 0:t[e];i&&typeof i.subscribe=="function"&&this._eventHandler.subscribe(i,()=>{const s=t.getColumns(),n=this.getAssociatedCurrentColumns(s);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:Qi.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(e){const t=e.onSetOptions;this._eventHandler.subscribe(t,(i,s)=>{const{frozenBottom:n,frozenColumn:r,frozenRow:o}=s.optionsBefore,{frozenBottom:h,frozenColumn:u,frozenRow:c}=s.optionsAfter;if(n!==h||r!==u||o!==c){const f={frozenBottom:h,frozenColumn:u,frozenRow:c},p=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:f,type:Qi.pinning},gridState:p})}})}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&e}}class U_{constructor(e,t){this.extensionUtility=e,this.pubSubService=t,this._subscriptions=[],this._eventHandler=new hi}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}init(e){if(this._grid=e,e&&this._gridOptions&&this._gridOptions.createPreHeaderPanel){this._gridOptions.enableTranslate&&this.translateGroupingAndColSpan(),this._eventHandler.subscribe(e.onSort,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onColumnsResized,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onColumnsReordered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._subscriptions.push(this.pubSubService.subscribe("onColumnPickerColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onHeaderMenuHideColumns",()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this.pubSubService.subscribe("onGridMenuColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onGridMenuMenuClose",()=>this.renderPreHeaderRowGroupingTitles()));const t=e.getPluginByName("Resizer");t!=null&&t.onGridAfterResize&&this._eventHandler.subscribe(t.onGridAfterResize,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onSetOptions,(i,s)=>{var n,r;((n=s==null?void 0:s.optionsBefore)==null?void 0:n.frozenColumn)!==((r=s==null?void 0:s.optionsAfter)==null?void 0:r.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75)}}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}delayRenderPreHeaderRowGroupingTitles(e=0){setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),e)}renderPreHeaderRowGroupingTitles(){var e;if(this._gridOptions&&this._gridOptions.frozenColumn!==void 0&&this._gridOptions.frozenColumn>=0){let t=this._grid.getPreHeaderPanelLeft();this.renderHeaderGroups(t,0,this._gridOptions.frozenColumn+1),t=this._grid.getPreHeaderPanelRight(),this.renderHeaderGroups(t,((e=this._gridOptions)==null?void 0:e.frozenColumn)+1,this._columnDefinitions.length)}else{const t=this._grid.getPreHeaderPanel();this.renderHeaderGroups(t,0,this._columnDefinitions.length)}}renderHeaderGroups(e,t,i){var f,p;Pt(e),e.className="slick-header-columns",e.style.left="-1000px",e.style.width=`${this._grid.getHeadersWidth()}px`,e.parentElement&&e.parentElement.classList.add("slick-header");const s=this._grid.getHeaderColumnWidthDiff();let n,r=null,o="",h=0;const u=((f=this._gridOptions)==null?void 0:f.frozenHeaderWidthCalcDifferential)??0,c=((p=this._gridOptions)==null?void 0:p.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let g=t;g<i;g++)n=this._columnDefinitions[g],n&&(o===n.columnGroup&&g>0?(h+=n.width||0,r!=null&&r.style&&(r.style.width=`${h-s-u}px`)):(h=n.width||0,r=Y("div",{className:`ui-state-default slick-header-column ${c?"frozen":""}`,style:{width:`${h-s}px`}}),Y("span",{className:"slick-column-name",textContent:n.columnGroup||""},r),e.appendChild(r)),o=n.columnGroup||"")}translateGroupingAndColSpan(){const e=this._grid.getColumns();this.extensionUtility.translateItems(e,"columnGroupKey","columnGroup"),this._grid.setColumns(e),this.renderPreHeaderRowGroupingTitles()}}class G_{constructor(e,t,i,s){this.pubSubService=e,this.sharedService=t,this.backendUtilities=i,this.rxjs=s,this._eventHandler=new hi,this._initialized=!1,this._isLocalGrid=!0,this._dataFrom=1,this._dataTo=1,this._itemsPerPage=0,this._pageCount=1,this._pageNumber=1,this._totalItems=0,this._availablePageSizes=[],this._subscriptions=[],this._isCursorBased=!1}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}set paginationOptions(e){this._paginationOptions=e}get paginationOptions(){return this._paginationOptions}get availablePageSizes(){return this._availablePageSizes}get dataFrom(){return this._dataFrom}get dataTo(){return this._dataTo}get itemsPerPage(){return this._itemsPerPage}get pageCount(){return this._pageCount}get pageNumber(){return this._pageNumber}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(e){this.rxjs=e}init(e,t,i){var n;if(this._availablePageSizes=t.pageSizes,this.grid=e,this._backendServiceApi=i,this._paginationOptions=t,this._isLocalGrid=!i,this._pageNumber=t.pageNumber||1,this._isCursorBased=((n=i==null?void 0:i.options)==null?void 0:n.useCursor)??!1,i&&(!i.service||!i.process))throw new Error('BackendServiceApi requires the following 2 properties "process" and "service" to be defined.');this._isLocalGrid&&this.dataView&&(this._eventHandler.subscribe(this.dataView.onPagingInfoChanged,(r,o)=>{this._totalItems!==o.totalRows&&(this.updateTotalItems(o.totalRows),this._previousPagination={pageNumber:o.pageNum,pageSize:o.pageSize,pageSizes:this.availablePageSizes,totalItems:o.totalRows})}),setTimeout(()=>{this.dataView&&(this.dataView.setRefreshHints({isFilterUnchanged:!0}),this.dataView.setPagingOptions({pageSize:this.paginationOptions.pageSize,pageNum:this._pageNumber-1}))})),this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",()=>this.resetPagination())),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",r=>this.processOnItemAddedOrRemoved(r,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",r=>this.processOnItemAddedOrRemoved(r,!1)))),this.refreshPagination(!1,!1,!0);const s=this.getFullPagination();this._previousPagination={pageNumber:s.pageNumber,pageSize:s.pageSize,pageSizes:s.pageSizes,totalItems:this.totalItems},this._initialized=!0}dispose(){this._initialized=!1,this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}getCurrentPagination(){return{pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes}}getFullPagination(){return{pageCount:this._pageCount,pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes,totalItems:this._totalItems,dataFrom:this._dataFrom,dataTo:this._dataTo}}getCurrentPageNumber(){return this._pageNumber}getCurrentItemPerPage(){return this._itemsPerPage}changeItemPerPage(e,t,i=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/e),this._itemsPerPage=e,i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToFirstPage(e,t=!0){return this._pageNumber=1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToLastPage(e,t=!0){return this._pageNumber=this._pageCount||1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToNextPage(e,t=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(e,t,i=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const s=this._pageNumber;return e<1?this._pageNumber=1:e>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=e,this._pageNumber!==s?i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(e,t=!0){return this._pageNumber>1?(this._pageNumber--,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(e=!1,t=!0,i=!1){var r,o,h;const s={...this.getFullPagination()};if(this._paginationOptions){const u=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=u.pageSize:this._itemsPerPage=+((h=(o=(r=this._backendServiceApi)==null?void 0:r.options)==null?void 0:o.paginationOptions)!=null&&h.first?this._backendServiceApi.options.paginationOptions.first:u.pageSize)),(e||this._totalItems!==u.totalItems)&&(e?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&u.pageNumber&&u.pageNumber>1&&(this._pageNumber=u.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=u.pageSizes,!this._totalItems&&u.totalItems&&(this._totalItems=u.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),t&&!mn(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),i&&!mn(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const n=this.getFullPagination();this._previousPagination={pageNumber:n.pageNumber,pageSize:n.pageSize,pageSizes:n.pageSizes,totalItems:this.totalItems}}resetPagination(e=!0){var t,i;this._isLocalGrid&&this.dataView&&((i=(t=this.sharedService)==null?void 0:t.gridOptions)!=null&&i.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,e)}togglePaginationVisibility(e){var t;if(this.grid&&((t=this.sharedService)!=null&&t.gridOptions)){const i=e!==void 0?e:!this.sharedService.gridOptions.enablePagination;if(i&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const s=e?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:s,pageNum:0})}this.sharedService.gridOptions.enablePagination=i,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:i})}}processOnPageChanged(e,t,i){return console.assert(!this.isCursorBased||i,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((s,n)=>{var r,o,h;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:e-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),s(this.getFullPagination());else{const u=+this._itemsPerPage,c=new Date;if((r=this._backendServiceApi)!=null&&r.preProcess&&this._backendServiceApi.preProcess(),(o=this._backendServiceApi)!=null&&o.process){const f=this.isCursorBased&&i?this._backendServiceApi.service.processOnPaginationChanged(t,i):this._backendServiceApi.service.processOnPaginationChanged(t,{newPage:e,pageSize:u}),p=this._backendServiceApi.process(f);p instanceof Promise?p.then(g=>{var C;(C=this.backendUtilities)==null||C.executeBackendProcessesCallback(c,g,this._backendServiceApi,this._totalItems);const v=this.getFullPagination();this._previousPagination={pageNumber:v.pageNumber,pageSize:v.pageSize,pageSizes:v.pageSizes,totalItems:this.totalItems},s(this.getFullPagination())}).catch(g=>{var v,C,w;this.resetToPreviousPagination(),(v=this.backendUtilities)==null||v.onBackendError(g,this._backendServiceApi),(!((C=this._backendServiceApi)!=null&&C.onError)||!((w=this.backendUtilities)!=null&&w.onBackendError))&&n(p)}):(h=this.rxjs)!=null&&h.isObservable(p)&&this._subscriptions.push(p.subscribe(g=>{var C;const v=this.getFullPagination();this._previousPagination={pageNumber:v.pageNumber,pageSize:v.pageSize,pageSizes:v.pageSizes,totalItems:this.totalItems},s((C=this.backendUtilities)==null?void 0:C.executeBackendProcessesCallback(c,g,this._backendServiceApi,this._totalItems))},g=>{var v,C,w;this.resetToPreviousPagination(),(v=this.backendUtilities)==null||v.onBackendError(g,this._backendServiceApi),(!((C=this._backendServiceApi)!=null&&C.onError)||!((w=this.backendUtilities)!=null&&w.onBackendError))&&n(p)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){this._totalItems===0?(this._dataFrom=0,this._dataTo=1,this._pageNumber=0):(this._dataFrom=this._pageNumber>1?this._pageNumber*this._itemsPerPage-this._itemsPerPage+1:1,this._dataTo=this._totalItems<this._itemsPerPage?this._totalItems:(this._pageNumber||1)*this._itemsPerPage,this._dataTo>this._totalItems&&(this._dataTo=this._totalItems)),this._pageNumber=this._totalItems>0&&this._pageNumber===0?1:this._pageNumber,this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var i,s,n,r,o,h,u,c,f;const e=((i=this._previousPagination)==null?void 0:i.pageNumber)!==this.getFullPagination().pageNumber,t=((s=this._previousPagination)==null?void 0:s.pageSize)!==this.getFullPagination().pageSize;t&&this.changeItemPerPage(((n=this._previousPagination)==null?void 0:n.pageSize)??0,null,!1),e&&this.goToPageNumber(((r=this._previousPagination)==null?void 0:r.pageNumber)??0,null,!1),(e||t)&&(this.refreshPagination(),(f=(h=(o=this._backendServiceApi)==null?void 0:o.service)==null?void 0:h.updatePagination)==null||f.call(h,((u=this._previousPagination)==null?void 0:u.pageNumber)??0,((c=this._previousPagination)==null?void 0:c.pageSize)??0))}setCursorBased(e){this._isCursorBased=e,e&&this.setCursorPageInfo({startCursor:"",endCursor:"",hasNextPage:!1,hasPreviousPage:!1}),this.goToFirstPage(),this.pubSubService.publish("onPaginationSetCursorBased",{isCursorBased:e})}setCursorPageInfo(e){this._cursorPageInfo=e}updateTotalItems(e,t=!1){this._totalItems=e,this._paginationOptions&&(this._paginationOptions.totalItems=e,this.refreshPagination(!1,t))}processOnItemAddedOrRemoved(e,t=!0){if(e!==null){const i=this._dataTo,s=Array.isArray(e)?e.length:1,n=t?+s:-s;this._totalItems+=n,this.recalculateFromToIndexes(),this._dataTo=i+n,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const $_=20,Y_=25,j_=35,X_=180,K_=300,q_=200;class Z_{get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(e){this._intervalRetryDelay=e}get resizeByContentOptions(){var e;return((e=this.gridOptions)==null?void 0:e.resizeByContentOptions)??{}}constructor(e){this.pubSubService=e,this._intervalRetryDelay=q_,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new hi,this._bindingEventService=new Pi}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._intervalId&&clearInterval(this._intervalId),clearTimeout(this._timer),((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(e,t){var s,n,r,o,h,u;if(!e||!this.gridOptions||!t)throw new Error(`