diff --git a/assets/index-BGl9fD8K.js b/assets/index-CbOiUetY.js similarity index 91% rename from assets/index-BGl9fD8K.js rename to assets/index-CbOiUetY.js index 8c4f9162f..5d8dbb500 100644 --- a/assets/index-BGl9fD8K.js +++ b/assets/index-CbOiUetY.js @@ -4,17 +4,17 @@ var M5=Object.defineProperty;var T5=(n,u,e)=>u in n?M5(n,u,{enumerable:!0,config * @author RubaXa * @author owenm * @license MIT - */function ks(n,u){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);u&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),e.push.apply(e,a)}return e}function me(n){for(var u=1;u=0)&&(e[i]=n[i]);return e}function Im(n,u){if(n==null)return{};var e=Om(n,u),a,i;if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(n,a)&&(e[a]=n[a])}return e}var Gm="1.15.2";function ye(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var Me=ye(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Mi=ye(/Edge/i),vs=ye(/firefox/i),mi=ye(/safari/i)&&!ye(/chrome/i)&&!ye(/android/i),T1=ye(/iP(ad|od|hone)/i),P1=ye(/chrome/i)&&ye(/android/i),_1={capture:!1,passive:!1};function wu(n,u,e){n.addEventListener(u,e,!Me&&_1)}function zu(n,u,e){n.removeEventListener(u,e,!Me&&_1)}function zt(n,u){if(u){if(u[0]===">"&&(u=u.substring(1)),n)try{if(n.matches)return n.matches(u);if(n.msMatchesSelector)return n.msMatchesSelector(u);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(u)}catch{return!1}return!1}}function Vm(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function ae(n,u,e,a){if(n){e=e||document;do{if(u!=null&&(u[0]===">"?n.parentNode===e&&zt(n,u):zt(n,u))||a&&n===e)return n;if(n===e)break}while(n=Vm(n))}return null}var As=/\s+/g;function H0(n,u,e){if(n&&u)if(n.classList)n.classList[e?"add":"remove"](u);else{var a=(" "+n.className+" ").replace(As," ").replace(" "+u+" "," ");n.className=(a+(e?" "+u:"")).replace(As," ")}}function ru(n,u,e){var a=n&&n.style;if(a){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(e=n.currentStyle),u===void 0?e:e[u];!(u in a)&&u.indexOf("webkit")===-1&&(u="-webkit-"+u),a[u]=e+(typeof e=="string"?"":"px")}}function Pa(n,u){var e="";if(typeof n=="string")e=n;else do{var a=ru(n,"transform");a&&a!=="none"&&(e=a+" "+e)}while(!u&&(n=n.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(e)}function j1(n,u,e){if(n){var a=n.getElementsByTagName(u),i=0,t=a.length;if(e)for(;i=t:r=i<=t,!r)return a;if(a===de())break;a=Ve(a,!1)}return!1}function Ha(n,u,e,a){for(var i=0,t=0,r=n.children;t2&&arguments[2]!==void 0?arguments[2]:{},i=a.evt,t=Im(a,Qm);Ti.pluginEvent.bind(eu)(u,e,me({dragEl:O,parentEl:t0,ghostEl:Du,rootEl:Zu,nextEl:ta,lastDownEl:lt,cloneEl:e0,cloneHidden:He,dragStarted:Ei,putSortable:p0,activeSortable:eu.active,originalEvent:i,oldIndex:Sa,oldDraggableIndex:xi,newIndex:O0,newDraggableIndex:Ke,hideGhostForTarget:G1,unhideGhostForTarget:V1,cloneNowHidden:function(){He=!0},cloneNowShown:function(){He=!1},dispatchSortableEvent:function(o){w0({sortable:e,name:o,originalEvent:i})}},t))};function w0(n){Ym(me({putSortable:p0,cloneEl:e0,targetEl:O,rootEl:Zu,oldIndex:Sa,oldDraggableIndex:xi,newIndex:O0,newDraggableIndex:Ke},n))}var O,t0,Du,Zu,ta,lt,e0,He,Sa,O0,xi,Ke,Ni,p0,Aa=!1,St=!1,wt=[],Xe,ue,pn,Fn,Bs,ys,Ei,ka,gi,Ci=!1,Ki=!1,Et,b0,kn=[],rr=!1,Mt=[],Yt=typeof document<"u",Hi=T1,zs=Mi||Me?"cssFloat":"float",Xm=Yt&&!P1&&!T1&&"draggable"in document.createElement("div"),H1=function(){if(Yt){if(Me)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}}(),O1=function(u,e){var a=ru(u),i=parseInt(a.width)-parseInt(a.paddingLeft)-parseInt(a.paddingRight)-parseInt(a.borderLeftWidth)-parseInt(a.borderRightWidth),t=Ha(u,0,e),r=Ha(u,1,e),o=t&&ru(t),s=r&&ru(r),l=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+l0(t).width,E=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+l0(r).width;if(a.display==="flex")return a.flexDirection==="column"||a.flexDirection==="column-reverse"?"vertical":"horizontal";if(a.display==="grid")return a.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(t&&o.float&&o.float!=="none"){var d=o.float==="left"?"left":"right";return r&&(s.clear==="both"||s.clear===d)?"vertical":"horizontal"}return t&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||l>=i&&a[zs]==="none"||r&&a[zs]==="none"&&l+E>i)?"vertical":"horizontal"},uh=function(u,e,a){var i=a?u.left:u.top,t=a?u.right:u.bottom,r=a?u.width:u.height,o=a?e.left:e.top,s=a?e.right:e.bottom,l=a?e.width:e.height;return i===o||t===s||i+r/2===o+l/2},eh=function(u,e){var a;return wt.some(function(i){var t=i[G0].options.emptyInsertThreshold;if(!(!t||qr(i))){var r=l0(i),o=u>=r.left-t&&u<=r.right+t,s=e>=r.top-t&&e<=r.bottom+t;if(o&&s)return a=i}}),a},I1=function(u){function e(t,r){return function(o,s,l,E){var d=o.options.group.name&&s.options.group.name&&o.options.group.name===s.options.group.name;if(t==null&&(r||d))return!0;if(t==null||t===!1)return!1;if(r&&t==="clone")return t;if(typeof t=="function")return e(t(o,s,l,E),r)(o,s,l,E);var c=(r?o:s).options.group.name;return t===!0||typeof t=="string"&&t===c||t.join&&t.indexOf(c)>-1}}var a={},i=u.group;(!i||st(i)!="object")&&(i={name:i}),a.name=i.name,a.checkPull=e(i.pull,!0),a.checkPut=e(i.put),a.revertClone=i.revertClone,u.group=a},G1=function(){!H1&&Du&&ru(Du,"display","none")},V1=function(){!H1&&Du&&ru(Du,"display","")};Yt&&!P1&&document.addEventListener("click",function(n){if(St)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),St=!1,!1},!0);var ua=function(u){if(O){u=u.touches?u.touches[0]:u;var e=eh(u.clientX,u.clientY);if(e){var a={};for(var i in u)u.hasOwnProperty(i)&&(a[i]=u[i]);a.target=a.rootEl=e,a.preventDefault=void 0,a.stopPropagation=void 0,e[G0]._onDragOver(a)}}},ah=function(u){O&&O.parentNode[G0]._isOutsideThisEl(u.target)};function eu(n,u){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=u=Se({},u),n[G0]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return O1(n,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:eu.supportPointer!==!1&&"PointerEvent"in window&&!mi,emptyInsertThreshold:5};Ti.initializePlugins(this,n,e);for(var a in e)!(a in u)&&(u[a]=e[a]);I1(u);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=u.forceFallback?!1:Xm,this.nativeDraggable&&(this.options.touchStartThreshold=1),u.supportPointer?wu(n,"pointerdown",this._onTapStart):(wu(n,"mousedown",this._onTapStart),wu(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(wu(n,"dragover",this),wu(n,"dragenter",this)),wt.push(this.el),u.store&&u.store.get&&this.sort(u.store.get(this)||[]),Se(this,Um())}eu.prototype={constructor:eu,_isOutsideThisEl:function(u){!this.el.contains(u)&&u!==this.el&&(ka=null)},_getDirection:function(u,e){return typeof this.options.direction=="function"?this.options.direction.call(this,u,e,O):this.options.direction},_onTapStart:function(u){if(u.cancelable){var e=this,a=this.el,i=this.options,t=i.preventOnFilter,r=u.type,o=u.touches&&u.touches[0]||u.pointerType&&u.pointerType==="touch"&&u,s=(o||u).target,l=u.target.shadowRoot&&(u.path&&u.path[0]||u.composedPath&&u.composedPath()[0])||s,E=i.filter;if(Eh(a),!O&&!(/mousedown|pointerdown/.test(r)&&u.button!==0||i.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&mi&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=ae(s,i.draggable,a,!1),!(s&&s.animated)&<!==s)){if(Sa=U0(s),xi=U0(s,i.draggable),typeof E=="function"){if(E.call(this,u,s,this)){w0({sortable:e,rootEl:l,name:"filter",targetEl:s,toEl:a,fromEl:a}),L0("filter",e,{evt:u}),t&&u.cancelable&&u.preventDefault();return}}else if(E&&(E=E.split(",").some(function(d){if(d=ae(l,d.trim(),a,!1),d)return w0({sortable:e,rootEl:d,name:"filter",targetEl:s,fromEl:a,toEl:a}),L0("filter",e,{evt:u}),!0}),E)){t&&u.cancelable&&u.preventDefault();return}i.handle&&!ae(l,i.handle,a,!1)||this._prepareDragStart(u,o,s)}}},_prepareDragStart:function(u,e,a){var i=this,t=i.el,r=i.options,o=t.ownerDocument,s;if(a&&!O&&a.parentNode===t){var l=l0(a);if(Zu=t,O=a,t0=O.parentNode,ta=O.nextSibling,lt=a,Ni=r.group,eu.dragged=O,Xe={target:O,clientX:(e||u).clientX,clientY:(e||u).clientY},Bs=Xe.clientX-l.left,ys=Xe.clientY-l.top,this._lastX=(e||u).clientX,this._lastY=(e||u).clientY,O.style["will-change"]="all",s=function(){if(L0("delayEnded",i,{evt:u}),eu.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!vs&&i.nativeDraggable&&(O.draggable=!0),i._triggerDragStart(u,e),w0({sortable:i,name:"choose",originalEvent:u}),H0(O,r.chosenClass,!0)},r.ignore.split(",").forEach(function(E){j1(O,E.trim(),vn)}),wu(o,"dragover",ua),wu(o,"mousemove",ua),wu(o,"touchmove",ua),wu(o,"mouseup",i._onDrop),wu(o,"touchend",i._onDrop),wu(o,"touchcancel",i._onDrop),vs&&this.nativeDraggable&&(this.options.touchStartThreshold=4,O.draggable=!0),L0("delayStart",this,{evt:u}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Mi||Me))){if(eu.eventCanceled){this._onDrop();return}wu(o,"mouseup",i._disableDelayedDrag),wu(o,"touchend",i._disableDelayedDrag),wu(o,"touchcancel",i._disableDelayedDrag),wu(o,"mousemove",i._delayedDragTouchMoveHandler),wu(o,"touchmove",i._delayedDragTouchMoveHandler),r.supportPointer&&wu(o,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,r.delay)}else s()}},_delayedDragTouchMoveHandler:function(u){var e=u.touches?u.touches[0]:u;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){O&&vn(O),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var u=this.el.ownerDocument;zu(u,"mouseup",this._disableDelayedDrag),zu(u,"touchend",this._disableDelayedDrag),zu(u,"touchcancel",this._disableDelayedDrag),zu(u,"mousemove",this._delayedDragTouchMoveHandler),zu(u,"touchmove",this._delayedDragTouchMoveHandler),zu(u,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(u,e){e=e||u.pointerType=="touch"&&u,!this.nativeDraggable||e?this.options.supportPointer?wu(document,"pointermove",this._onTouchMove):e?wu(document,"touchmove",this._onTouchMove):wu(document,"mousemove",this._onTouchMove):(wu(O,"dragend",this),wu(Zu,"dragstart",this._onDragStart));try{document.selection?dt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(u,e){if(Aa=!1,Zu&&O){L0("dragStarted",this,{evt:e}),this.nativeDraggable&&wu(document,"dragover",ah);var a=this.options;!u&&H0(O,a.dragClass,!1),H0(O,a.ghostClass,!0),eu.active=this,u&&this._appendGhost(),w0({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(ue){this._lastX=ue.clientX,this._lastY=ue.clientY,G1();for(var u=document.elementFromPoint(ue.clientX,ue.clientY),e=u;u&&u.shadowRoot&&(u=u.shadowRoot.elementFromPoint(ue.clientX,ue.clientY),u!==e);)e=u;if(O.parentNode[G0]._isOutsideThisEl(u),e)do{if(e[G0]){var a=void 0;if(a=e[G0]._onDragOver({clientX:ue.clientX,clientY:ue.clientY,target:u,rootEl:e}),a&&!this.options.dragoverBubble)break}u=e}while(e=e.parentNode);V1()}},_onTouchMove:function(u){if(Xe){var e=this.options,a=e.fallbackTolerance,i=e.fallbackOffset,t=u.touches?u.touches[0]:u,r=Du&&Pa(Du,!0),o=Du&&r&&r.a,s=Du&&r&&r.d,l=Hi&&b0&&fs(b0),E=(t.clientX-Xe.clientX+i.x)/(o||1)+(l?l[0]-kn[0]:0)/(o||1),d=(t.clientY-Xe.clientY+i.y)/(s||1)+(l?l[1]-kn[1]:0)/(s||1);if(!eu.active&&!Aa){if(a&&Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))=0&&(w0({rootEl:t0,name:"add",toEl:t0,fromEl:Zu,originalEvent:u}),w0({sortable:this,name:"remove",toEl:t0,originalEvent:u}),w0({rootEl:t0,name:"sort",toEl:t0,fromEl:Zu,originalEvent:u}),w0({sortable:this,name:"sort",toEl:t0,originalEvent:u})),p0&&p0.save()):O0!==Sa&&O0>=0&&(w0({sortable:this,name:"update",toEl:t0,originalEvent:u}),w0({sortable:this,name:"sort",toEl:t0,originalEvent:u})),eu.active&&((O0==null||O0===-1)&&(O0=Sa,Ke=xi),w0({sortable:this,name:"end",toEl:t0,originalEvent:u}),this.save()))),this._nulling()},_nulling:function(){L0("nulling",this),Zu=O=t0=Du=ta=e0=lt=He=Xe=ue=Ei=O0=Ke=Sa=xi=ka=gi=p0=Ni=eu.dragged=eu.ghost=eu.clone=eu.active=null,Mt.forEach(function(u){u.checked=!0}),Mt.length=pn=Fn=0},handleEvent:function(u){switch(u.type){case"drop":case"dragend":this._onDrop(u);break;case"dragenter":case"dragover":O&&(this._onDragOver(u),ih(u));break;case"selectstart":u.preventDefault();break}},toArray:function(){for(var u=[],e,a=this.el.children,i=0,t=a.length,r=this.options;ii.right+t||n.clientY>a.bottom&&n.clientX>a.left:n.clientY>i.bottom+t||n.clientX>a.right&&n.clientY>a.top}function oh(n,u,e,a,i,t,r,o){var s=a?n.clientY:n.clientX,l=a?e.height:e.width,E=a?e.top:e.left,d=a?e.bottom:e.right,c=!1;if(!r){if(o&&EtE+l*t/2:sd-Et)return-gi}else if(s>E+l*(1-i)/2&&sd-l*t/2)?s>E+l/2?1:-1:0}function sh(n){return U0(O){b[S]&&(B=!0)}),B}function p(b){var B;if(o=b.target,!x(b)){const S=((B=b==null?void 0:b.touches)==null?void 0:B[0])??b,{target:y}=S;if(!n.allowDragFrom||n.allowDragFrom&&o.matches(n.allowDragFrom)||n.allowDragFromClosest&&o.closest(n.allowDragFromClosest)){D.dragHandle=o;const w=Pr();s=w.left+S.clientX,l=w.top+S.clientY,E=S.clientX-S.clientX,d=S.clientY-S.clientY,D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(e,b,D)!==!1&&(document.body.addEventListener("mousemove",F),document.body.addEventListener("touchmove",F),document.body.addEventListener("mouseup",v),document.body.addEventListener("touchend",v),document.body.addEventListener("touchcancel",v))}}}function F(b){var S;const B=((S=b==null?void 0:b.touches)==null?void 0:S[0])??b;if(!x(b)){E=B.clientX-s,d=B.clientY-l;const{target:y}=B;c||(D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(a,b,D),c=!0),D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(i,b,D)}}function v(b){if(document.body.removeEventListener("mousemove",F),document.body.removeEventListener("touchmove",F),document.body.removeEventListener("mouseup",v),document.body.removeEventListener("touchend",v),document.body.removeEventListener("touchcancel",v),c){const{target:B}=b;D=Object.assign(D,{target:B}),h(t,b,D),c=!1}}return m(),{destroy:g}}function Ms(n){const{element:u,onMouseWheel:e}=n;function a(){u.removeEventListener("wheel",t),u.removeEventListener("mousewheel",t)}function i(){u.addEventListener("wheel",t),u.addEventListener("mousewheel",t)}function t(r){const o=r||window.event;let s=0,l=0,E=0;o.wheelDelta&&(s=o.wheelDelta/120),o.detail&&(s=-o.detail/3),E=s,o.axis!==void 0&&o.axis===o.HORIZONTAL_AXIS&&(E=0,l=-1*s),o.wheelDeltaY!==void 0&&(E=o.wheelDeltaY/120),o.wheelDeltaX!==void 0&&(l=-1*o.wheelDeltaX/120),typeof e=="function"&&e(r,s,l,E)}return i(),{destroy:a}}function Ts(n){const{resizeableElement:u,resizeableHandleElement:e,onResizeStart:a,onResize:i,onResizeEnd:t}=n;if(!e||typeof e.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(){e.addEventListener("mousedown",l),e.addEventListener("touchstart",l)}function o(){typeof(e==null?void 0:e.removeEventListener)=="function"&&(e.removeEventListener("mousedown",l),e.removeEventListener("touchstart",l))}function s(c,D){if(typeof c=="function")return c(D,{resizeableElement:u,resizeableHandleElement:e})}function l(c){c.preventDefault();const D=c.touches?c.changedTouches[0]:c;s(a,D)!==!1&&(document.body.addEventListener("mousemove",E),document.body.addEventListener("mouseup",d),document.body.addEventListener("touchmove",E),document.body.addEventListener("touchend",d))}function E(c){c.preventDefault&&c.type!=="touchmove"&&c.preventDefault();const D=c.touches?c.changedTouches[0]:c;typeof i=="function"&&i(D,{resizeableElement:u,resizeableHandleElement:e})}function d(c){const D=c.touches?c.changedTouches[0]:c;s(t,D),document.body.removeEventListener("mousemove",E),document.body.removeEventListener("mouseup",d),document.body.removeEventListener("touchmove",E),document.body.removeEventListener("touchend",d)}return r(),{destroy:o}}class ch{constructor(u,e,a,i,t){if(this.container=u,this.data=e,this.columns=a,this.externalPubSub=t,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,unorderableColumnCssClass:"unorderable",asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,columnResizingDelay:300,nonce:"",editorLock:Z0,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,createTopHeaderPanel:!1,showPreHeaderPanel:!1,showTopHeaderPanel:!1,preHeaderPanelHeight:25,preHeaderPanelWidth:"auto",topHeaderPanelHeight:25,topHeaderPanelWidth:"auto",showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",rowHighlightCssClass:"highlight-animate",rowHighlightDuration:400,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,preventDragFromKeys:["ctrlKey","metaKey"],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:"",headerCssClass:null,defaultSortAsc:!0,focusable:!0,hidden:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,reorderable:!0,resizable:!0,sortable:!1,selectable:!0},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new pu,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_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._container=typeof this.container=="string"?document.querySelector(this.container):this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);this._pubSubService=t,this.onActiveCellChanged=new R("onActiveCellChanged",t),this.onActiveCellPositionChanged=new R("onActiveCellPositionChanged",t),this.onAddNewRow=new R("onAddNewRow",t),this.onAfterSetColumns=new R("onAfterSetColumns",t),this.onAutosizeColumns=new R("onAutosizeColumns",t),this.onBeforeAppendCell=new R("onBeforeAppendCell",t),this.onBeforeCellEditorDestroy=new R("onBeforeCellEditorDestroy",t),this.onBeforeColumnsResize=new R("onBeforeColumnsResize",t),this.onBeforeDestroy=new R("onBeforeDestroy",t),this.onBeforeEditCell=new R("onBeforeEditCell",t),this.onBeforeFooterRowCellDestroy=new R("onBeforeFooterRowCellDestroy",t),this.onBeforeHeaderCellDestroy=new R("onBeforeHeaderCellDestroy",t),this.onBeforeHeaderRowCellDestroy=new R("onBeforeHeaderRowCellDestroy",t),this.onBeforeSetColumns=new R("onBeforeSetColumns",t),this.onBeforeSort=new R("onBeforeSort",t),this.onBeforeUpdateColumns=new R("onBeforeUpdateColumns",t),this.onCellChange=new R("onCellChange",t),this.onCellCssStylesChanged=new R("onCellCssStylesChanged",t),this.onClick=new R("onClick",t),this.onColumnsReordered=new R("onColumnsReordered",t),this.onColumnsDrag=new R("onColumnsDrag",t),this.onColumnsResized=new R("onColumnsResized",t),this.onColumnsResizeDblClick=new R("onColumnsResizeDblClick",t),this.onCompositeEditorChange=new R("onCompositeEditorChange",t),this.onContextMenu=new R("onContextMenu",t),this.onDrag=new R("onDrag",t),this.onDblClick=new R("onDblClick",t),this.onDragInit=new R("onDragInit",t),this.onDragStart=new R("onDragStart",t),this.onDragEnd=new R("onDragEnd",t),this.onFooterClick=new R("onFooterClick",t),this.onFooterContextMenu=new R("onFooterContextMenu",t),this.onFooterRowCellRendered=new R("onFooterRowCellRendered",t),this.onHeaderCellRendered=new R("onHeaderCellRendered",t),this.onHeaderClick=new R("onHeaderClick",t),this.onHeaderContextMenu=new R("onHeaderContextMenu",t),this.onHeaderMouseEnter=new R("onHeaderMouseEnter",t),this.onHeaderMouseOver=new R("onHeaderMouseOver",t),this.onHeaderMouseOut=new R("onHeaderMouseOut",t),this.onHeaderMouseLeave=new R("onHeaderMouseLeave",t),this.onHeaderRowMouseOver=new R("onHeaderRowMouseOver",t),this.onHeaderRowMouseOut=new R("onHeaderRowMouseOut",t),this.onHeaderRowCellRendered=new R("onHeaderRowCellRendered",t),this.onHeaderRowMouseEnter=new R("onHeaderRowMouseEnter",t),this.onHeaderRowMouseLeave=new R("onHeaderRowMouseLeave",t),this.onKeyDown=new R("onKeyDown",t),this.onMouseEnter=new R("onMouseEnter",t),this.onMouseLeave=new R("onMouseLeave",t),this.onPreHeaderClick=new R("onPreHeaderClick",t),this.onPreHeaderContextMenu=new R("onPreHeaderContextMenu",t),this.onRendered=new R("onRendered",t),this.onScroll=new R("onScroll",t),this.onSelectedRowsChanged=new R("onSelectedRowsChanged",t),this.onSetOptions=new R("onSetOptions",t),this.onActivateChangedOptions=new R("onActivateChangedOptions",t),this.onSort=new R("onSort",t),this.onValidationError=new R("onValidationError",t),this.onViewportChanged=new R("onViewportChanged",t),this.initialize(i)}init(){this.finishInitialization()}applyHtmlCode(u,e="",a){if(u)if(e instanceof HTMLElement||e instanceof DocumentFragment){(a==null?void 0:a.emptyTarget)!==!1&&Au(u);const t=a!=null&&a.cloneNode?e.cloneNode(!0):e;u.appendChild(t)}else{if((a==null?void 0:a.skipEmptyReassignment)!==!1&&!bu(e)&&!u.innerHTML)return;if(typeof e=="number"||typeof e=="boolean")u.textContent=String(e);else{const t=this.sanitizeHtmlString(e);this._options.enableHtmlRendering&&t?u.innerHTML=t:u.textContent=t}}}initialize(u){if(u!=null&&u.mixinDefaults?(this._options||(this._options=u),z.applyDefaults(this._options,this._defaults)):this._options=Mu(!0,{},this._defaults,u),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&&(!eu||!eu.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},Au(this._container),this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("slick-widget"),this._container.setAttribute("role","grid");const e=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(e.position)||(this._container.style.position="relative"),this._focusSink=A("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller=A("div",{className:"slick-topheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._container),this._topHeaderPanelScroller.appendChild(document.createElement("div")),this._topHeaderPanel=A("div",null,this._topHeaderPanelScroller),this._topHeaderPanelSpacer=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._topHeaderPanelScroller),this._options.showTopHeaderPanel||z.hide(this._topHeaderPanelScroller)),this._paneHeaderL=A("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=A("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=A("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=A("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=A("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=A("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=A("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=A("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=A("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=A("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(z.hide(this._preHeaderPanelScroller),z.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=A("div",{className:"slick-header slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=A("div",{className:"slick-header slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=A("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=A("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=A("div",{className:"slick-headerrow slick-state-default"},this._paneTopL),this._headerRowScrollerR=A("div",{className:"slick-headerrow slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=A("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=A("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=A("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopL),this._topPanelScrollerR=A("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=A("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=A("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(a=>{z.hide(a)}),this._options.showTopPanel||this._topPanelScrollers.forEach(a=>{z.hide(a)}),this._options.showHeaderRow||this._headerRowScroller.forEach(a=>{z.hide(a)}),this._viewportTopL=A("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=A("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=A("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=A("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(a=>{a.classList.add(..._u(this._options.viewportClass))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=A("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=A("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=A("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=A("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._topHeaderPanelSpacer&&z.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&z.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(a=>{z.width(a,this.getHeadersWidth())}),z.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),z.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=A("div",{className:"slick-footerrow slick-state-default"},this._paneTopR),this._footerRowScrollerL=A("div",{className:"slick-footerrow slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),z.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),z.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=A("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=A("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(a=>{z.hide(a)})),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(u=>{this._bindingEventService.bind(u,"selectstart",e=>{e.target instanceof HTMLInputElement||e.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(u=>{this._bindingEventService.bind(u,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(u=>{this.slickMouseWheelInstances.push(Ms({element:u,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(u=>{this._bindingEventService.bind(u,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(u,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(u=>{this._bindingEventService.bind(u,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(u=>{this._bindingEventService.bind(u,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(u,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(u=>{this._bindingEventService.bind(u,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createTopHeaderPanel&&this._bindingEventService.bind(this._topHeaderPanelScroller,"scroll",this.handleTopHeaderPanelScroll.bind(this)),this._options.createPreHeaderPanel&&(this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"contextmenu",this.handlePreHeaderContextMenu.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"click",this.handlePreHeaderClick.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(u=>{this._bindingEventService.bind(u,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(u,"click",this.handleClick.bind(this)),this._bindingEventService.bind(u,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(u,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(u,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(u,"mouseout",this.handleCellMouseOut.bind(this))}),ws&&(this.slickDraggableInstance=ws({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",preventDragFromKeys:this._options.preventDragFromKeys,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=z.parents(this._container,":hidden"),this._hiddenParents.forEach(u=>{const e={};Object.keys(this.cssShow).forEach(a=>{this.cssShow&&(e[a]=u.style[a],u.style[a]=this.cssShow[a])}),this.oldProps.push(e)})}restoreCssFromHiddenInit(){let u=0;this._hiddenParents&&this._hiddenParents.forEach(e=>{const a=this.oldProps[u++];Object.keys(this.cssShow).forEach(i=>{this.cssShow&&(e.style[i]=a[i])})})}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(u){this.plugins.unshift(u),u.init(this)}unregisterPlugin(u){var e;for(let a=this.plugins.length;a>=0;a--)if(this.plugins[a]===u){(e=this.plugins[a])==null||e.destroy(),this.plugins.splice(a,1);break}}getPluginByName(u){var e;for(let a=this.plugins.length-1;a>=0;a--)if(((e=this.plugins[a])==null?void 0:e.pluginName)===u)return this.plugins[a]}getPubSubService(){return this._pubSubService}setSelectionModel(u){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=u,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(u,e){return this._getContainerElement(this.getCanvases(),u,e)}getActiveCanvasNode(u){var e;return u===void 0?this._activeCanvasNode:(u instanceof ju&&(u=u.getNativeEvent()),this._activeCanvasNode=(e=u==null?void 0:u.target)==null?void 0:e.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(u,e){return this._getContainerElement(this.getViewports(),u,e)}getViewports(){return this._viewport}getActiveViewportNode(u){return this.setActiveViewportNode(u),this._activeViewportNode}setActiveViewportNode(u){var e;return u instanceof ju&&(u=u.getNativeEvent()),this._activeViewportNode=(e=u==null?void 0:u.target)==null?void 0:e.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(u,e,a){if(!u)return;e||(e=0),a||(a=0);const i=typeof e=="number"?e:this.getColumnIndex(e),t=this.hasFrozenRows&&a>=this.actualFrozenRow+(this._options.frozenBottom?0:1),r=this.hasFrozenColumns()&&i>this._options.frozenColumn;return u[(t?2:0)+(r?1:0)]}measureScrollbar(){let u="";this._viewport.forEach(t=>u+=t.className);const e=A("div",{className:u,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),a=A("div",{style:{width:"200px",height:"200px",overflow:"auto"}},e),i={width:e.offsetWidth-e.clientWidth,height:e.offsetHeight-e.clientHeight};return a.remove(),e.remove(),i}getHeadersWidth(){var i,t,r,o;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const u=!this._options.autoHeight;let e=0;const a=this.columns.length;for(e=0;e-1&&e>this._options.frozenColumn?this.headersWidthR+=s||0:this.headersWidthL+=s||0}return u&&(this._options.frozenColumn>-1&&e>this._options.frozenColumn?this.headersWidthR+=((i=this.scrollbarDimensions)==null?void 0:i.width)||0:this.headersWidthL+=((t=this.scrollbarDimensions)==null?void 0:t.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}getCanvasWidth(){var i;const u=this.viewportHasVScroll?this.viewportW-(((i=this.scrollbarDimensions)==null?void 0:i.width)||0):this.viewportW;let e=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;e--;)!this.columns[e]||this.columns[e].hidden||(this.hasFrozenColumns()&&e>this._options.frozenColumn?this.canvasWidthR+=this.columns[e].width||0:this.canvasWidthL+=this.columns[e].width||0);let a=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const t=Math.max(a,u)-a;t>0&&(a+=t,this.hasFrozenColumns()?this.canvasWidthR+=t:this.canvasWidthL+=t)}return a}updateCanvasWidth(u){var r,o,s,l,E;const e=this.canvasWidth,a=this.canvasWidthL,i=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth(),this._options.createTopHeaderPanel&&z.width(this._topHeaderPanel,this._options.topHeaderPanelWidth??this.canvasWidth);const t=this.canvasWidth!==e||this.canvasWidthL!==a||this.canvasWidthR!==i;if(t||this.hasFrozenColumns()||this.hasFrozenRows)if(z.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),z.width(this._headerL,this.headersWidthL),z.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const d=z.width(this._container)||0;if(d>0&&this.canvasWidthL>d&&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");z.width(this._canvasTopR,this.canvasWidthR),z.width(this._paneHeaderL,this.canvasWidthL),z.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),z.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),z.width(this._paneTopL,this.canvasWidthL),z.setStyleSize(this._paneTopR,"left",this.canvasWidthL),z.width(this._paneTopR,this.viewportW-this.canvasWidthL),z.width(this._headerRowScrollerL,this.canvasWidthL),z.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),z.width(this._headerRowL,this.canvasWidthL),z.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(z.width(this._footerRowScrollerL,this.canvasWidthL),z.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),z.width(this._footerRowL,this.canvasWidthL),z.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&z.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),z.width(this._viewportTopL,this.canvasWidthL),z.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(z.width(this._paneBottomL,this.canvasWidthL),z.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),z.width(this._viewportBottomL,this.canvasWidthL),z.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),z.width(this._canvasBottomL,this.canvasWidthL),z.width(this._canvasBottomR,this.canvasWidthR))}else z.width(this._paneHeaderL,"100%"),z.width(this._paneTopL,"100%"),z.width(this._headerRowScrollerL,"100%"),z.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(z.width(this._footerRowScrollerL,"100%"),z.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&z.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),z.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(z.width(this._viewportBottomL,"100%"),z.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((r=this.scrollbarDimensions)==null?void 0:r.width)||0),z.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((o=this.scrollbarDimensions)==null?void 0:o.width)||0)),z.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((s=this.scrollbarDimensions)==null?void 0:s.width)||0)),this._options.createFooterRow&&(z.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),z.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((E=this.scrollbarDimensions)==null?void 0:E.width)||0))),(t||u)&&this.applyColumnWidths()}disableSelection(u){u.forEach(e=>{e.setAttribute("unselectable","on"),e.style.mozUserSelect="none",this._bindingEventService.bind(e,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let u=1e6;const e=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,a=A("div",{style:{display:"hidden"}},document.body);let i=!0;for(;i;){const t=u*2;z.height(a,t);const r=z.height(a);if(t>e||r!==t){i=!1;break}else u=t}return a.remove(),u}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var u,e;return{width:this.viewportHasVScroll&&((u=this.scrollbarDimensions)==null?void 0:u.width)||0,height:this.viewportHasHScroll&&((e=this.scrollbarDimensions)==null?void 0:e.height)||0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let u=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(u=u.parentNode)!==document.body&&u;)(u===this._viewportTopL||u.scrollWidth!==u.clientWidth||u.scrollHeight!==u.clientHeight)&&(this._boundAncestors.push(u),this._bindingEventService.bind(u,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._boundAncestors=[]}updateColumnHeader(u,e,a){if(this.initialized){const i=this.getColumnIndex(u);if(!bu(i))return;const t=this.columns[i],r=this.getColumnByIndex(i);return r&&(e!==void 0&&(this.columns[i].name=e),a!==void 0&&(this.columns[i].toolTip=a),this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:r,column:t,grid:this}),r.setAttribute("title",a||""),e!==void 0&&this.applyHtmlCode(r.children[0],e),this.triggerEvent(this.onHeaderCellRendered,{node:r,column:t,grid:this})),r}}getHeader(u){if(!u)return this.hasFrozenColumns()?this._headers:this._headerL;const e=this.getColumnIndex(u.id);return this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(u){const e=typeof u=="number"?u:this.getColumnIndex(u),a=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,i=this.hasFrozenColumns()?e<=this._options.frozenColumn?e:e-this._options.frozenColumn-1:e;return a.children[i]}getHeaderRow(){var u;return this.hasFrozenColumns()?this._headerRows:(u=this._headerRows)==null?void 0:u[0]}getFooterRow(){var u;return this.hasFrozenColumns()?this._footerRow:(u=this._footerRow)==null?void 0:u[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getTopHeaderPanel(){return this._topHeaderPanel}getHeaderRowColumn(u){let e=typeof u=="number"?u:this.getColumnIndex(u),a;return this.hasFrozenColumns()?e<=this._options.frozenColumn?a=this._headerRowL:(a=this._headerRowR,e-=this._options.frozenColumn+1):a=this._headerRowL,a.children[e]}getFooterRowColumn(u){let e=typeof u=="number"?u:this.getColumnIndex(u),a;return this.hasFrozenColumns()?e<=this._options.frozenColumn?a=this._footerRowL:(a=this._footerRowR,e-=this._options.frozenColumn+1):a=this._footerRowL,a==null?void 0:a.children[e]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(u=>{u.querySelectorAll(".slick-footerrow-column").forEach(a=>{const i=z.storage.get(a,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:a,column:i,grid:this})})}),Au(this._footerRowL),Au(this._footerRowR);for(let u=0;uthis._options.frozenColumn?this._footerRowR:this._footerRowL),i=this.hasFrozenColumns()&&u<=this._options.frozenColumn?"frozen":null;i&&a.classList.add(i),z.storage.put(a,"column",e),this.triggerEvent(this.onFooterRowCellRendered,{node:a,column:e,grid:this})}}}handleHeaderMouseHoverOn(u){u==null||u.target.classList.add("slick-state-hover")}handleHeaderMouseHoverOff(u){u==null||u.target.classList.remove("slick-state-hover")}createColumnHeaders(){this._headers.forEach(u=>{u.querySelectorAll(".slick-header-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:a,column:i,grid:this})})}),Au(this._headerL),Au(this._headerR),this.getHeadersWidth(),z.width(this._headerL,this.headersWidthL),z.width(this._headerR,this.headersWidthR),this._headerRows.forEach(u=>{u.querySelectorAll(".slick-headerrow-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:i,grid:this})})}),Au(this._headerRowL),Au(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(e=>{const a=z.storage.get(e,"column");a&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:a,grid:this})}),Au(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),Au(this._footerRowR)));for(let u=0;u{e.headerCellAttrs.hasOwnProperty(s)&&t.setAttribute(s,e.headerCellAttrs[s])}),e.sortable&&(t.classList.add("slick-header-sortable"),A("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},t),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&A("div",{className:"slick-sort-indicator-numbered"},t)),this.triggerEvent(this.onHeaderCellRendered,{node:t,column:e,grid:this}),this._options.showHeaderRow){const s=A("div",{className:`slick-state-default slick-headerrow-column l${u} r${u}`},i),l=this.hasFrozenColumns()&&u<=this._options.frozenColumn?"frozen":null;l&&s.classList.add(l),this._bindingEventService.bind(s,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(s,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),this._bindingEventService.bind(s,"mouseover",this.handleHeaderRowMouseOver.bind(this)),this._bindingEventService.bind(s,"mouseout",this.handleHeaderRowMouseOut.bind(this)),z.storage.put(s,"column",e),this.triggerEvent(this.onHeaderRowCellRendered,{node:s,column:e,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const s=this.hasFrozenColumns()?u<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],l=A("div",{className:`slick-state-default slick-footerrow-column l${u} r${u}`},s);z.storage.put(l,"column",e),this.triggerEvent(this.onFooterRowCellRendered,{node:l,column:e,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.triggerEvent):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(u=>{this._bindingEventService.bind(u,"click",e=>{var t;if(this.columnResizeDragging||e.target.classList.contains("slick-resizable-handle"))return;const a=e.target.closest(".slick-header-column");if(!a)return;const i=z.storage.get(a,"column");if(i!=null&&i.sortable){if(!((t=this.getEditorLock())!=null&&t.commitCurrentEdit()))return;const r=this.sortColumns.slice();let o=null,s=0;for(;s{const c=this.columns[this.getColumnIndex(d.columnId)];return!c||c.hidden?null:{columnId:c.id,sortCol:c,sortAsc:d.sortAsc}}).filter(d=>d)}:E={multiColumnSort:!1,previousSortColumns:r,columnId:this.sortColumns.length>0?i.id:null,sortCol:this.sortColumns.length>0?i:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.triggerEvent(this.onBeforeSort,E,e).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.triggerEvent(this.onSort,E,e))}})})}setupColumnReorder(){var r,o;(r=this.sortableSideLeftInstance)==null||r.destroy(),(o=this.sortableSideRightInstance)==null||o.destroy();let u=null;const e=()=>this._viewportScrollContainerX.scrollLeft+=10,a=()=>this._viewportScrollContainerX.scrollLeft-=10;let i=!1;const t={animation:50,direction:"horizontal",chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),filter:`.${this._options.unorderableColumnCssClass}`,onMove:s=>!s.related.classList.contains(this._options.unorderableColumnCssClass),onStart:s=>{i=!this.hasFrozenColumns()||Ou(s.item).left>Ou(this._viewportScrollContainerX).left,i&&s.originalEvent.pageX>this._container.clientWidth?u||(u=setInterval(e,100)):i&&s.originalEvent.pageX{var d,c,D;if(clearInterval(u),u=null,!((d=this.getEditorLock())!=null&&d.commitCurrentEdit()))return;let l=((c=this.sortableSideLeftInstance)==null?void 0:c.toArray())??[];l=l.concat(((D=this.sortableSideRightInstance)==null?void 0:D.toArray())??[]);const E=[];for(let m=0;m"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');let u,e,a,i,t,r,o,s=-1,l=0;const E=this.getHeaderChildren(),d=this.getVisibleColumns();for(let D=0;Dg.remove()),D=d.length||!d[D]||D=s)continue;const h=A("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},m);this._bindingEventService.bind(h,"dblclick",this.handleResizeableDoubleClick.bind(this)),this.slickResizableInstances.push(Ts({resizeableElement:m,resizeableHandleElement:h,onResizeStart:(g,x)=>{var S;const p=g.touches?g.changedTouches[0]:g;if(!((S=this.getEditorLock())!=null&&S.commitCurrentEdit()))return!1;i=p.pageX,l=0,x.resizeableElement.classList.add("slick-header-column-active");let F=null,v=null;for(let y=0;y{var w;const p=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let F;const v=Math.min(r,Math.max(t,p.pageX))-i;let b,B=0,S=0;const y=this.viewportHasVScroll?this.viewportW-(((w=this.scrollbarDimensions)==null?void 0:w.width)||0):this.viewportW;if(v<0){for(b=v,u=D;u>=0;u--)a=d[u],a&&a.resizable&&!a.hidden&&(F=Math.max(a.minWidth||0,this.absoluteColumnMinWidth),b&&(a.previousWidth||0)+bthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);else for(u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;u=0;u--)if(a=d[u],!(!a||a.hidden)&&a.resizable)if(b&&a.maxWidth&&a.maxWidth-(a.previousWidth||0)l&&jy?l:M):a.width=M,b=0}for(e=0;e<=D;e++)a=d[e],!(!a||a.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);else for(u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0)}this.hasFrozenColumns()&&B!==this.canvasWidthL&&(z.width(this._headerL,B+1e3),z.setStyleSize(this._paneHeaderR,"left",B)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.triggerEvent(this.onColumnsDrag,{triggeredByColumn:x.resizeableElement,resizeHandle:x.resizeableHandleElement})},onResizeEnd:(g,x)=>{x.resizeableElement.classList.remove("slick-header-column-active");const p=x.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:p}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let F;for(u=0;uthis.columnResizeDragging=!1,this._options.columnResizingDelay)}}))}}getVBoxDelta(u){const e=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=getComputedStyle(u);let i=0;return e.forEach(t=>i+=z.toFloat(a[t])),i}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const u=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?u-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneVisibility(){this.hasFrozenColumns()?(z.show(this._paneHeaderR),z.show(this._paneTopR),this.hasFrozenRows?(z.show(this._paneBottomL),z.show(this._paneBottomR)):(z.hide(this._paneBottomR),z.hide(this._paneBottomL))):(z.hide(this._paneHeaderR),z.hide(this._paneTopR),z.hide(this._paneBottomR),this.hasFrozenRows?z.show(this._paneBottomL):(z.hide(this._paneBottomR),z.hide(this._paneBottomL)))}setOverflow(){if(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){const u=_u(this._options.viewportClass);this._viewportTopL.classList.add(...u),this._viewportTopR.classList.add(...u),this._viewportBottomL.classList.add(...u),this._viewportBottomR.classList.add(...u)}}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 u=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],e=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let i=A("div",{className:"slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},a),t=getComputedStyle(i);t.boxSizing!=="border-box"&&(u.forEach(o=>this.headerColumnWidthDiff+=z.toFloat(t[o])),e.forEach(o=>this.headerColumnHeightDiff+=z.toFloat(t[o]))),i.remove();const r=A("div",{className:"slick-row"},this._canvas[0]);i=A("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},r),t=getComputedStyle(i),t.boxSizing!=="border-box"&&(u.forEach(o=>this.cellWidthDiff+=z.toFloat(t[o])),e.forEach(o=>this.cellHeightDiff+=z.toFloat(t[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 u=this._options.rowHeight-this.cellHeightDiff,e=[`.${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-topheader-panel { height: ${this._options.topHeaderPanelHeight}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: ${u}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],a=this._style.sheet;if(a){e.forEach(i=>{a.insertRule(i)});for(let i=0;i',this._style=e.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let a=0;a=0&&(a[this._options.devMode.ownerNodeIndex].ownerNode=this._style),e=0;e{this._bindingEventService.unbindByEventName(s,"keydown"),this._bindingEventService.unbindByEventName(s,"click"),this._bindingEventService.unbindByEventName(s,"dblclick"),this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"mouseover"),this._bindingEventService.unbindByEventName(s,"mouseout")}),this._viewport.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._headerScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"click")}),this._headerRowScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._footerRow&&this._footerRow.forEach(s=>{this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._topHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._topHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const a=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(a,s=>{this._bindingEventService.unbindByEventName(s,"dblclick")});const i=this._container.querySelectorAll(".slick-header-column");[].forEach.call(i,s=>{this._bindingEventService.unbindByEventName(s,"mouseenter"),this._bindingEventService.unbindByEventName(s,"mouseleave"),this._bindingEventService.unbindByEventName(s,"mouseover"),this._bindingEventService.unbindByEventName(s,"mouseout")}),Au(this._container),this._container.classList.remove(this.uid),this.clearAllTimers(),u&&Tr(this)}destroyAllInstances(u){if(u){const e=Array.isArray(u)?u:[u];let a;for(;bu(a=e.pop());)a&&typeof a.destroy=="function"&&a.destroy()}return u=Array.isArray(u)?[]:null,u}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){var l;let u,e,a=0,i=0,t=0;const r=[],o=this.viewportHasVScroll?this.viewportW-(((l=this.scrollbarDimensions)==null?void 0:l.width)||0):this.viewportW;for(u=0;uo&&a;){const E=(i-o)/a;for(u=0;uo;u++){if(e=this.columns[u],!e||e.hidden)continue;const d=r[u];if(!e.resizable||d<=e.minWidth||d<=this.absoluteColumnMinWidth)continue;const c=Math.max(e.minWidth,this.absoluteColumnMinWidth);let D=Math.floor(E*(d-c))||1;D=Math.min(D,d-c),i-=D,a-=D,r[u]-=D}if(t<=i)break;t=i}for(t=i;i=i)break;t=i}let s=!1;for(u=0;u!u.hidden)}triggerEvent(u,e,a){const i=a||new ju(a,e),t=e||{};return t.grid=this,u.notify(t,i,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(u){return this.columnsById[u]}applyColumnHeaderWidths(){if(this.initialized){let u=0;const e=this.getVisibleColumns();this._headers.forEach(a=>{for(let i=0;ithis._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-u-e+"px"),this._options.frozenColumn!==t&&(u+=this.columns[t].width)),this._options.frozenColumn===t&&(u=0)}setSortColumn(u,e){this.setSortColumns([{columnId:u,sortAsc:e}])}getColumnByIndex(u){let e;return this._headers.every(a=>{const i=a.children.length;return u1;this._headers.forEach(i=>{let t=i.querySelectorAll(".slick-header-column-sorted");t.forEach(r=>r.classList.remove("slick-header-column-sorted")),t=i.querySelectorAll(".slick-sort-indicator"),t.forEach(r=>r.classList.remove("slick-sort-indicator-asc","slick-sort-indicator-desc")),t=i.querySelectorAll(".slick-sort-indicator-numbered"),t.forEach(r=>r.textContent="")});let a=1;this.sortColumns.forEach(i=>{bu(i.sortAsc)||(i.sortAsc=!0);const t=this.getColumnIndex(i.columnId);if(bu(t)){const r=this.getColumnByIndex(t);if(r){r.classList.add("slick-header-column-sorted");let o=r.querySelector(".slick-sort-indicator");o==null||o.classList.add(i.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),e&&(o=r.querySelector(".slick-sort-indicator-numbered"),o&&(o.textContent=String(a)))}}a++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(u,e){var r;const a=u.getNativeEvent(),i=this.selectedRows.slice(0);this.selectedRows=[];const t={};for(let o=0;oi.indexOf(E)<0),l=i.filter(E=>this.getSelectedRows().indexOf(E)<0);this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:i,caller:o,changedSelectedRows:s,changedUnselectedRows:l},u)}}simpleArrayEquals(u,e){return Array.isArray(u)&&Array.isArray(e)&&e.sort().toString()!==u.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let u=0;for(let e=0,a=this.columns.length;ee.maxWidth&&(e.width=e.maxWidth)}}setColumns(u){this.triggerEvent(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:u,grid:this}),this.columns=u,this.updateColumnsInternal(),this.triggerEvent(this.onAfterSetColumns,{newColumns:u,grid:this})}updateColumns(){this.triggerEvent(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var u;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(),(u=this.getSelectionModel())==null||u.refreshSelections())}getOptions(){return this._options}setOptions(u,e,a,i){this.prepareForOptionsChange(),this._options.enableAddRow!==u.enableAddRow&&this.invalidateRow(this.getDataLength()),u.frozenColumn&&(this.getViewports().forEach(r=>r.scrollLeft=0),this.handleScroll());const t=Mu(!0,{},this._options);this._options=Mu(this._options,u),this.triggerEvent(this.onSetOptions,{optionsBefore:t,optionsAfter:this._options}),this.internal_setOptions(e,a,i)}activateChangedOptions(u,e,a){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.triggerEvent(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(u,e,a)}prepareForOptionsChange(){var u;(u=this.getEditorLock())!=null&&u.commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(u,e,a){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(i=>{i.style.overflowY=this._options.autoHeight?"hidden":"auto"}),u||this.render(),this.setScroller(),a||this.setOverflow(),e||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(i=>{this.slickMouseWheelInstances.push(Ms({element:i,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(u,e){this.data=u,this.invalidateAllRows(),this.updateRowCount(),e&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var u;return this.data.getLength?this.data.getLength():((u=this.data)==null?void 0:u.length)||0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(u){return this.data.getItem?this.data.getItem(u):this.data[u]}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(u,e,a){this._options[u]!==a&&(this._options[u]=a,a?z.show(e):z.hide(e),this.resizeCanvas())}setTopPanelVisibility(u){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,u)}setHeaderRowVisibility(u){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,u)}setColumnHeaderVisibility(u){this.togglePanelVisibility("showColumnHeader",this._headerScroller,u)}setFooterRowVisibility(u){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,u)}setPreHeaderPanelVisibility(u){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],u)}setTopHeaderPanelVisibility(u){this.togglePanelVisibility("showTopHeaderPanel",this._topHeaderPanelScroller,u)}getContainerNode(){return this._container}getRowTop(u){return this._options.rowHeight*u-this.offset}getRowFromPosition(u){return Math.floor((u+this.offset)/this._options.rowHeight)}scrollTo(u){var i;u=Math.max(u,0),u=Math.min(u,(this.th||0)-z.height(this._viewportScrollContainerY)+((this.viewportHasHScroll||this.hasFrozenColumns())&&((i=this.scrollbarDimensions)==null?void 0:i.height)||0));const e=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(u/(this.ph||0)));const a=u-this.offset;if(this.offset!==e){const t=this.getVisibleRange(a);this.cleanupRows(t),this.updateRowPositions()}this.prevScrollTop!==a&&(this.vScrollDir=this.prevScrollTop+e/g,">"):""}getFormatter(u,e){var t,r,o;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u),i=(a==null?void 0:a.columns)&&(a.columns[e.id]||a.columns[this.getColumnIndex(e.id)]);return(i==null?void 0:i.formatter)||(a==null?void 0:a.formatter)||e.formatter||((o=this._options.formatterFactory)==null?void 0:o.getFormatter(e))||this._options.defaultFormatter}getEditor(u,e){var r,o,s,l,E,d;const a=this.columns[e],i=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,u),t=i==null?void 0:i.columns;return((s=t==null?void 0:t[a.id])==null?void 0:s.editorClass)!==void 0?t[a.id].editorClass:((l=t==null?void 0:t[e])==null?void 0:l.editorClass)!==void 0?t[e].editorClass:a.editorClass||((d=(E=this._options)==null?void 0:E.editorFactory)==null?void 0:d.getEditor(a))}getDataItemValueForColumn(u,e){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(u,e):u[e.field]}appendRowHtml(u,e,a,i,t){var h,g;const r=this.getDataItem(a),o=ai.leftPx){if(!m.alwaysRenderColumn&&this.columnPosLeft[x]>i.rightPx)break;this.hasFrozenColumns()&&x>this._options.frozenColumn?this.appendCellHtml(c,a,x,D,r):this.appendCellHtml(d,a,x,D,r)}else(m.alwaysRenderColumn||this.hasFrozenColumns()&&x<=this._options.frozenColumn)&&this.appendCellHtml(d,a,x,D,r);D>1&&(x+=D-1)}}appendCellHtml(u,e,a,i,t){const r=this.columns[a];let o="slick-cell l"+a+" r"+Math.min(this.columns.length-1,a+i-1)+(r.cssClass?" "+r.cssClass:"");this.hasFrozenColumns()&&a<=this._options.frozenColumn&&(o+=" frozen"),e===this.activeRow&&a===this.activeCell&&this._options.showCellSelection&&(o+=" active"),Object.keys(this.cellCssClasses).forEach(h=>{var g;(g=this.cellCssClasses[h][e])!=null&&g[r.id]&&(o+=` ${this.cellCssClasses[h][e][r.id]}`)});let s=null,l="";t&&(s=this.getDataItemValueForColumn(t,r),l=this.getFormatter(e,r)(e,a,s,r,t,this),l==null&&(l=""));const d=this.triggerEvent(this.onBeforeAppendCell,{row:e,cell:a,value:s,dataContext:t}).getReturnValue();let c=typeof d=="string"?d:"";l!=null&&l.addClasses&&(c+=_u((c?" ":"")+l.addClasses).join(" "));const D=l!=null&&l.toolTip?`${l.toolTip}`:"",m=A("div",{className:_u(`${o} ${c||""}`).join(" "),role:"gridcell",tabIndex:-1});if(m.setAttribute("aria-describedby",this.uid+r.id),D&&m.setAttribute("title",D),r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object&&Object.keys(r.cellAttrs).forEach(h=>{r.cellAttrs.hasOwnProperty(h)&&m.setAttribute(h,r.cellAttrs[h])}),t){const h=ca(l)?l:l.html||l.text;this.applyHtmlCode(m,h)}u.appendChild(m),l.insertElementAfterTarget&&ql(m,l.insertElementAfterTarget),this.rowsCache[e].cellRenderQueue.push(a),this.rowsCache[e].cellColSpans[a]=i}cleanupRows(u){Object.keys(this.rowsCache).forEach(e=>{if(this.rowsCache){let a=+e,i=!0;this.hasFrozenRows&&(this._options.frozenBottom&&a>=this.actualFrozenRow||!this._options.frozenBottom&&a<=this.actualFrozenRow)&&(i=!1),(a=parseInt(e,10))!==this.activeRow&&(au.bottom)&&i&&this.removeRowFromCache(a)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal(),typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(u=>{this.rowsCache&&this.removeRowFromCache(+u)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(u){if(u!=null&&u.length){this.vScrollDir=0;const e=u.length;for(let a=0;a=0&&this.invalidateRows([u])}queuePostProcessedRowForCleanup(u,e,a){var i;this.postProcessgroupId++,typeof e=="object"&&Object.keys(e).forEach(t=>{e.hasOwnProperty(t)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:u.cellNodesByColumnIdx[+t],columnIdx:+t,rowIdx:a})}),u.rowNode||(u.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:u.rowNode}),(i=u.rowNode)==null||i.forEach(t=>t.remove())}queuePostProcessedCellForCleanup(u,e,a){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:u,columnIdx:e,rowIdx:a}),u.remove()}removeRowFromCache(u){var a;const e=this.rowsCache[u];e!=null&&e.rowNode&&(this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[u]?this.queuePostProcessedRowForCleanup(e,this.postProcessedRows[u],u):(a=e.rowNode)==null||a.forEach(i=>{var t;return(t=i.parentElement)==null?void 0:t.removeChild(i)}),delete this.rowsCache[u],delete this.postProcessedRows[u],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(u,e,a){if(u==null&&(u=""),ca(u)){this.applyHtmlCode(e,u);return}const i=u.html||u.text;this.applyHtmlCode(e,i),u.removeClasses&&!a&&e.classList.remove(..._u(u.removeClasses)),u.addClasses&&e.classList.add(..._u(u.addClasses)),u.toolTip&&e.setAttribute("title",u.toolTip)}updateCell(u,e){const a=this.getCellNode(u,e);if(a){const i=this.columns[e],t=this.getDataItem(u);if(this.currentEditor&&this.activeRow===u&&this.activeCell===e)this.currentEditor.loadValue(t);else{const r=t?this.getFormatter(u,i)(u,e,this.getDataItemValueForColumn(t,i),i,t,this):"";this.applyFormatResultToCellNode(r,a),this.invalidatePostProcessingResults(u)}}}updateRow(u){const e=this.rowsCache[u];if(!e)return;this.ensureCellNodesInRowsCache(u);let a;const i=this.getDataItem(u);Object.keys(e.cellNodesByColumnIdx).forEach(t=>{if(!e.cellNodesByColumnIdx.hasOwnProperty(t))return;const r=+t,o=this.columns[r],s=e.cellNodesByColumnIdx[r];this.currentEditor&&u===this.activeRow&&r===this.activeCell?this.currentEditor.loadValue(i):i?(a=this.getFormatter(u,o)(u,r,this.getDataItemValueForColumn(i,o),o,i,this),this.applyFormatResultToCellNode(a,s)):Au(s)}),this.invalidatePostProcessingResults(u)}getViewportRowCount(){var a;const u=this.getViewportHeight(),e=((a=this.getScrollbarDimensions())==null?void 0:a.height)||0;return Math.floor((u-e)/this._options.rowHeight)}getViewportHeight(){var u;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 e=this._paneHeaderL.offsetHeight;e+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,e+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,e+=this.getCanvasWidth()>this.viewportW&&((u=this.scrollbarDimensions)==null?void 0:u.height)||0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?e:0)}else{const e=this._options.showColumnHeader?z.toFloat(z.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,a=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,i=this._options.createTopHeaderPanel&&this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight+this.getVBoxDelta(this._topHeaderPanelScroller):0,t=getComputedStyle(this._container);this.viewportH=z.toFloat(t.height)-z.toFloat(t.paddingTop)-z.toFloat(t.paddingBottom)-e-this.topPanelH-this.headerRowH-this.footerRowH-a-i}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportWidth(){return this.viewportW=parseFloat(pt(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var u,e,a;if(this.initialized){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-(((u=this.scrollbarDimensions)==null?void 0:u.height)||0),this.paneBottomH=this.frozenRowsHeight+(((e=this.scrollbarDimensions)==null?void 0:e.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+=((a=this.scrollbarDimensions)==null?void 0:a.height)||0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const r=getComputedStyle(this._headerScrollerL);z.height(this._container,this.paneTopH+z.toFloat(r.height))}this._paneTopL.style.position="relative"}let i=z.height(this._paneHeaderL);i?i+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0:i=(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0),z.setStyleSize(this._paneTopL,"top",i||i),z.height(this._paneTopL,this.paneTopH);const t=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||z.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let r=z.height(this._paneHeaderL);r&&(r+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),z.setStyleSize(this._paneTopR,"top",r),z.height(this._paneTopR,this.paneTopH),z.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(z.setStyleSize(this._paneBottomL,"top",t),z.height(this._paneBottomL,this.paneBottomH),z.setStyleSize(this._paneBottomR,"top",t),z.height(this._paneBottomR,this.paneBottomH),z.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(z.width(this._paneBottomL,"100%"),z.height(this._paneBottomL,this.paneBottomH),z.setStyleSize(this._paneBottomL,"top",t));this.hasFrozenRows?(z.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(z.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&z.height(this._canvasBottomR,this.frozenRowsHeight)):(z.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&z.height(this._canvasTopR,this.frozenRowsHeight))):z.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(u){this.pagingActive=u.pageSize!==0,this.pagingIsLastPage=u.pageNum===u.totalPages-1}updateRowCount(){var u,e;if(this.initialized){const a=this.getDataLength(),i=this.getDataLengthIncludingAddNew();let t=0,r=this.hasFrozenRows&&!this._options.frozenBottom?z.height(this._canvasBottomL):z.height(this._canvasTopL);this.hasFrozenRows?t=this.getDataLength()-this._options.frozenRow:t=i+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const o=z.height(this._viewportScrollContainerY),s=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&t*this._options.rowHeight>o,this.makeActiveCellNormal();const l=a-1;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(d=>{const c=+d;c>l&&this.removeRowFromCache(c)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>l&&this.resetActiveCell(),r=this.h,this._options.autoHeight?this.h=this._options.rowHeight*t:(this.th=Math.max(this._options.rowHeight*t,o-(((u=this.scrollbarDimensions)==null?void 0:u.height)||0)),this.th1&&(t=t.concat(Array.from(i[1].children)));let r=t.length-1;for(;e.cellRenderQueue.length;){const o=e.cellRenderQueue.pop();e.cellNodesByColumnIdx[o]=t[r--]}}}cleanUpCells(u,e){var o,s;if(this.hasFrozenRows&&(this._options.frozenBottom&&e>this.actualFrozenRow||e<=this.actualFrozenRow))return;const a=this.rowsCache[e],i=[];Object.keys(a.cellNodesByColumnIdx).forEach(l=>{var c;if(!a.cellNodesByColumnIdx.hasOwnProperty(l))return;const E=+l;if(E<=this._options.frozenColumn||Array.isArray(this.columns)&&((c=this.columns[E])!=null&&c.alwaysRenderColumn))return;const d=a.cellColSpans[E];(this.columnPosLeft[E]>u.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(E||0)+d-1)]u.rightPx)break;if(bu(r=e.cellColSpans[h])){h+=r>1?r-1:0;continue}if(r=1,D){const p=D[this.columns[h].id]||D[h];r=(p==null?void 0:p.colspan)??1,r==="*"&&(r=g-h)}const x=r;this.columnPosRight[Math.min(g-1,h+x-1)]>u.leftPx&&(this.appendCellHtml(a,d,h,x,m),t++),h+=x>1?x-1:0}t&&i.push(d)}if(!a.children.length)return;let o,s;for(;bu(o=i.pop());){e=this.rowsCache[o];let d;for(;bu(d=e.cellRenderQueue.pop());)s=a.lastChild,s&&(this.hasFrozenColumns()&&d>this._options.frozenColumn?e.rowNode[1].appendChild(s):e.rowNode[0].appendChild(s),e.cellNodesByColumnIdx[d]=s)}}renderRows(u){var l,E,d,c;const e=[],a=[],i=[];let t=!1;const r=this.getDataLength();for(let D=u.top,m=u.bottom;D<=m;D++)this.rowsCache[D]||this.hasFrozenRows&&this._options.frozenBottom&&D===this.getDataLength()||(this.renderedRows++,i.push(D),this.rowsCache[D]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(e,a,D,u,r),this.activeCellNode&&this.activeRow===D&&(t=!0),this.counter_rows_rendered++);if(!i.length)return;const o=document.createElement("div"),s=document.createElement("div");e.forEach(D=>o.appendChild(D)),a.forEach(D=>s.appendChild(D));for(let D=0,m=i.length;D=this.actualFrozenRow?this.hasFrozenColumns()?(l=this.rowsCache)!=null&&l.hasOwnProperty(i[D])&&o.firstChild&&s.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild,s.firstChild],this._canvasBottomL.appendChild(o.firstChild),this._canvasBottomR.appendChild(s.firstChild)):(E=this.rowsCache)!=null&&E.hasOwnProperty(i[D])&&o.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild],this._canvasBottomL.appendChild(o.firstChild)):this.hasFrozenColumns()?(d=this.rowsCache)!=null&&d.hasOwnProperty(i[D])&&o.firstChild&&s.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild,s.firstChild],this._canvasTopL.appendChild(o.firstChild),this._canvasTopR.appendChild(s.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(i[D])&&o.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild],this._canvasTopL.appendChild(o.firstChild));t&&(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(u){typeof this.postProcessedRows[u]=="object"&&Object.keys(this.postProcessedRows[u]).forEach(e=>{this.postProcessedRows[u].hasOwnProperty(e)&&(this.postProcessedRows[u][e]="C")}),this.postProcessFromRow=Math.min(this.postProcessFromRow,u),this.postProcessToRow=Math.max(this.postProcessToRow,u),this.startPostProcessing()}updateRowPositions(){this.rowsCache&&typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(u=>{const e=u?parseInt(u,10):0;z.setStyleSize(this.rowsCache[e].rowNode[0],"top",this.getRowTop(e))})}render(){if(this.initialized){this.scrollThrottle.dequeue();const u=this.getVisibleRange(),e=this.getRenderedRange();if(this.cleanupRows(e),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const a=Mu(!0,{},e);this._options.frozenBottom?(a.top=this.actualFrozenRow,a.bottom=this.getDataLength()):(a.top=0,a.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(a)}this.cleanUpAndRenderCells(e)}this.renderRows(e),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:e.leftPx,rightPx:e.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:e.leftPx,rightPx:e.rightPx})),this.postProcessFromRow=u.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,u.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.h_render=null,this.triggerEvent(this.onRendered,{startRow:u.top,endRow:u.bottom,grid:this})}}handleHeaderRowScroll(){const u=this._headerRowScrollContainer.scrollLeft;u!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=u)}handleFooterRowScroll(){const u=this._footerRowScrollContainer.scrollLeft;u!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=u)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleTopHeaderPanelScroll(){this.handleElementScroll(this._topHeaderPanelScroller)}handleElementScroll(u){const e=u.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleScroll(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(u){let e=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,a=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;e=Math.max(0,e),a=Math.max(0,a),this.scrollTop>e&&(this.scrollTop=e),this.scrollLeft>a&&(this.scrollLeft=a);const i=Math.abs(this.scrollTop-this.prevScrollTop),t=Math.abs(this.scrollLeft-this.prevScrollLeft);if(t&&(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._options.createTopHeaderPanel&&(this._topHeaderPanelScroller.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)),i&&!this._options.autoHeight)if(this.vScrollDir=this.prevScrollTop20||o>20)&&(this._options.forceSyncScrolling||o{a?i=!0:o()},r=()=>{i=!1},o=()=>{a=!0,clearTimeout(this._executionBlockTimer),this._executionBlockTimer=setTimeout(s,e),u.call(this)},s=()=>{i?(r(),o()):a=!1};return{enqueue:t.bind(this),dequeue:r.bind(this)}}asyncPostProcessRows(){const u=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const e=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,a=this.rowsCache[e];if(!(!a||e>=u)){this.postProcessedRows[e]||(this.postProcessedRows[e]={}),this.ensureCellNodesInRowsCache(e),Object.keys(a.cellNodesByColumnIdx).forEach(i=>{if(a.cellNodesByColumnIdx.hasOwnProperty(i)){const t=+i,r=this.columns[t],o=this.postProcessedRows[e][t];if(r.asyncPostRender&&o!=="R"){const s=a.cellNodesByColumnIdx[t];s&&r.asyncPostRender(s,e,this.getDataItem(e),r,o==="C"),this.postProcessedRows[e][t]="R"}}}),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const u=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===u;){const e=this.postProcessedCleanupQueue.shift();if((e==null?void 0:e.actionType)==="R"&&e.node.forEach(a=>{a.remove()}),(e==null?void 0:e.actionType)==="C"){const a=this.columns[e.columnIdx];a.asyncPostRenderCleanup&&e.node&&a.asyncPostRenderCleanup(e.node,e.rowIdx,a)}}this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(u,e){let a,i,t;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(r=>{this.rowsCache&&(t=e==null?void 0:e[r],i=u==null?void 0:u[r],t&&Object.keys(t).forEach(o=>{(!i||t[o]!==i[o])&&(a=this.getCellNode(+r,this.getColumnIndex(o)),a&&a.classList.remove(t[o]))}),i&&Object.keys(i).forEach(o=>{(!t||t[o]!==i[o])&&(a=this.getCellNode(+r,this.getColumnIndex(o)),a&&a.classList.add(i[o]))}))})}addCellCssStyles(u,e){if(this.cellCssClasses[u])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${u}" already exists.`);this.cellCssClasses[u]=e,this.updateCellCssStylesOnRenderedRows(e,null),this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:e,grid:this})}removeCellCssStyles(u){this.cellCssClasses[u]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[u]),delete this.cellCssClasses[u],this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:null,grid:this}))}setCellCssStyles(u,e){const a=this.cellCssClasses[u];this.cellCssClasses[u]=e,this.updateCellCssStylesOnRenderedRows(e,a),this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:e,grid:this})}getCellCssStyles(u){return this.cellCssClasses[u]}flashCell(u,e,a=250){const i=(t,r)=>{r<1||(clearTimeout(this._flashCellTimer),this._flashCellTimer=setTimeout(()=>{r%2===0?t.classList.add(this._options.cellFlashingCssClass||""):t.classList.remove(this._options.cellFlashingCssClass||""),i(t,r-1)},a))};if(this.rowsCache[u]){const t=this.getCellNode(u,e);t&&i(t,5)}}highlightRow(u,e){const a=this.rowsCache[u];e||(e=this._options.rowHighlightDuration),Array.isArray(a==null?void 0:a.rowNode)&&this._options.rowHighlightCssClass&&(a.rowNode.forEach(i=>i.classList.add(..._u(this._options.rowHighlightCssClass))),clearTimeout(this._highlightRowTimer),this._highlightRowTimer=setTimeout(()=>{var i;(i=a.rowNode)==null||i.forEach(t=>t.classList.remove(..._u(this._options.rowHighlightCssClass)))},e))}handleMouseWheel(u,e,a,i){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-i*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+a*10,this._handleScroll(!0)&&u.preventDefault()}handleDragInit(u,e){const a=this.getCellFromEvent(u);if(!a||!this.cellExists(a.row,a.cell))return!1;const i=this.triggerEvent(this.onDragInit,e,u);return i.isImmediatePropagationStopped()?i.getReturnValue():!1}handleDragStart(u,e){const a=this.getCellFromEvent(u);if(!a||!this.cellExists(a.row,a.cell))return!1;const i=this.triggerEvent(this.onDragStart,e,u);return i.isImmediatePropagationStopped()?i.getReturnValue():!1}handleDrag(u,e){return this.triggerEvent(this.onDrag,e,u).getReturnValue()}handleDragEnd(u,e){this.triggerEvent(this.onDragEnd,e,u)}handleKeyDown(u){var i,t,r;let a=this.triggerEvent(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},u).isImmediatePropagationStopped();if(!a&&!u.shiftKey&&!u.altKey){if(this._options.editable&&((i=this.currentEditor)!=null&&i.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(u.which)>-1)return;u.key==="Home"?a=u.ctrlKey?this.navigateTop():this.navigateRowStart():u.key==="End"&&(a=u.ctrlKey?this.navigateBottom():this.navigateRowEnd())}if(!a)if(!u.shiftKey&&!u.altKey&&!u.ctrlKey)if(u.key==="Escape"){if(!((t=this.getEditorLock())!=null&&t.isActive()))return;this.cancelEditAndSetFocus()}else u.key==="PageDown"?(this.navigatePageDown(),a=!0):u.key==="PageUp"?(this.navigatePageUp(),a=!0):u.key==="ArrowLeft"?a=this.navigateLeft():u.key==="ArrowRight"?a=this.navigateRight():u.key==="ArrowUp"?a=this.navigateUp():u.key==="ArrowDown"?a=this.navigateDown():u.key==="Tab"?a=this.navigateNext():u.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(r=this.getEditorLock())!=null&&r.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,u)),a=!0);else u.key==="Tab"&&u.shiftKey&&!u.ctrlKey&&!u.altKey&&(a=this.navigatePrev());a&&(u.stopPropagation(),u.preventDefault())}handleClick(u){var i,t,r;const e=u instanceof ju?u.getNativeEvent():u;if(!this.currentEditor&&(e.target!==document.activeElement||e.target.classList.contains("slick-cell"))){const o=this.getTextSelection();this.setFocus(),this.setTextSelection(o)}const a=this.getCellFromEvent(e);if(!(!a||this.currentEditor!==null&&this.activeRow===a.row&&this.activeCell===a.cell)&&(u=this.triggerEvent(this.onClick,{row:a.row,cell:a.cell},u||e),!(u.isImmediatePropagationStopped()||e.defaultPrevented)&&this.canCellBeActive(a.row,a.cell)&&(!((i=this.getEditorLock())!=null&&i.isActive())||(t=this.getEditorLock())!=null&&t.commitCurrentEdit()))){this.scrollRowIntoView(a.row,!1);const o=((r=e.target)==null?void 0:r.className)===Nm,s=this.columns[a.cell],l=!!(this._options.editable&&(s!=null&&s.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(a.row,a.cell),null,o,l,e)}}handleContextMenu(u){const e=u.target.closest(".slick-cell");e&&(this.activeCellNode===e&&this.currentEditor!==null||this.triggerEvent(this.onContextMenu,{},u))}handleDblClick(u){const e=this.getCellFromEvent(u);!e||this.currentEditor!==null&&this.activeRow===e.row&&this.activeCell===e.cell||(this.triggerEvent(this.onDblClick,{row:e.row,cell:e.cell},u),!u.defaultPrevented&&this._options.editable&&this.gotoCell(e.row,e.cell,!0,u))}handleHeaderMouseEnter(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseEnter,{column:e,grid:this},u)}handleHeaderMouseOver(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseOver,{column:e,grid:this},u)}handleHeaderMouseLeave(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseLeave,{column:e,grid:this},u)}handleHeaderMouseOut(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseOut,{column:e,grid:this},u)}handleHeaderRowMouseEnter(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:e,grid:this},u)}handleHeaderRowMouseOver(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseOver,{column:e,grid:this},u)}handleHeaderRowMouseLeave(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:e,grid:this},u)}handleHeaderRowMouseOut(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseOut,{column:e,grid:this},u)}handleHeaderContextMenu(u){const e=u.target.closest(".slick-header-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onHeaderContextMenu,{column:a},u)}handleHeaderClick(u){if(!this.columnResizeDragging){const e=u.target.closest(".slick-header-column"),a=e&&z.storage.get(e,"column");a&&this.triggerEvent(this.onHeaderClick,{column:a},u)}}handlePreHeaderContextMenu(u){this.triggerEvent(this.onPreHeaderContextMenu,{node:u.target},u)}handlePreHeaderClick(u){this.columnResizeDragging||this.triggerEvent(this.onPreHeaderClick,{node:u.target},u)}handleFooterContextMenu(u){const e=u.target.closest(".slick-footerrow-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onFooterContextMenu,{column:a},u)}handleFooterClick(u){const e=u.target.closest(".slick-footerrow-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onFooterClick,{column:a},u)}handleCellMouseOver(u){this.triggerEvent(this.onMouseEnter,{},u)}handleCellMouseOut(u){this.triggerEvent(this.onMouseLeave,{},u)}cellExists(u,e){return!(u<0||u>=this.getDataLength()||e<0||e>=this.columns.length)}getCellFromPoint(u,e){let a=this.getRowFromPosition(e),i=0,t=0;for(let r=0;r=this.actualFrozenRow?this.h=this.actualFrozenRow?e=this.frozenRowsHeight:e=0:e=0,e}getCellFromEvent(u){const e=u instanceof ju?u.getNativeEvent():u;if(!e)return null;const a=e.touches?e.touches[0]:e,i=e.target.closest(".slick-cell");if(!i)return null;let t=this.getRowFromNode(i.parentNode);if(this.hasFrozenRows){let o=0;const s=Ou(z.parents(i,".grid-canvas")[0]);z.parents(i,".grid-canvas-bottom").length&&(o=this._options.frozenBottom?z.height(this._canvasTopL):this.frozenRowsHeight);const E=a.clientX-s.left,d=a.clientY-s.top+o+document.documentElement.scrollTop;t=this.getCellFromPoint(E,d).row}const r=this.getCellFromNode(i);return!ia(t)||!ia(r)?null:{row:t,cell:r}}getCellNodeBox(u,e){var s;if(!this.cellExists(u,e))return null;const a=this.getFrozenRowOffset(u),i=this.getRowTop(u)-a,t=i+this._options.rowHeight-1;let r=0;for(let l=0;l1?i-1:0)])}internalScrollColumnIntoView(u,e){var i;const a=this.scrollLeft+z.width(this._viewportScrollContainerX)-(this.viewportHasVScroll&&((i=this.scrollbarDimensions)==null?void 0:i.width)||0);ua&&(this._viewportScrollContainerX.scrollLeft=Math.min(u,e-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(u){this.internalScrollColumnIntoView(this.columnPosLeft[u],this.columnPosRight[u])}setActiveCellInternal(u,e,a,i,t){var r,o,s,l;if(bu(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(o=(r=this.rowsCache[this.activeRow])==null?void 0:r.rowNode)==null||o.forEach(E=>E.classList.remove("active"))),this.activeCellNode=u,bu(this.activeCellNode)){const E=Ou(this.activeCellNode);let d=Math.floor(Ou(z.parents(this.activeCellNode,".grid-canvas")[0]).top);const c=z.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&c&&(d-=this._options.frozenBottom?z.height(this._canvasTopL):this.frozenRowsHeight);const D=this.getCellFromPoint(E.left,Math.ceil(E.top)-d);this.activeRow=D.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!bu(e)&&this._options.autoEditNewRow&&(e=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(l=(s=this.rowsCache[this.activeRow])==null?void 0:s.rowNode)==null||l.forEach(m=>m.classList.add("active"))),this._options.editable&&e&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(this._options.asyncEditorLoading?(clearTimeout(this.h_editorLoader),this.h_editorLoader=setTimeout(()=>{this.makeActiveCellEditable(void 0,a,t)},this._options.asyncEditorLoadDelay)):this.makeActiveCellEditable(void 0,a,t))}else this.activeRow=this.activeCell=null;i||this.triggerEvent(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var u;if((u=document.selection)!=null&&u.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const e=window.getSelection();e!=null&&e.removeAllRanges&&e.removeAllRanges()}}isCellPotentiallyEditable(u,e){const a=this.getDataLength();return!(u=a||!this.columns[e]||this.columns[e].hidden||!this.getEditor(u,e))}makeActiveCellNormal(u=!1){var e;if(this.currentEditor){if(this.triggerEvent(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const a=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),a){const i=this.columns[this.activeCell],r=this.getFormatter(this.activeRow,i)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(a,i),i,a,this);this.applyFormatResultToCellNode(r,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}u&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(e=this.getEditorLock())==null||e.deactivate(this.editController)}}editActiveCell(u,e,a){this.makeActiveCellEditable(u,e,a)}makeActiveCellEditable(u,e,a){var o,s,l,E,d,c;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when grid options.editable is false");if(clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const i=this.columns[this.activeCell],t=this.getDataItem(this.activeRow);if(this.triggerEvent(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:t,column:i,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(o=this.getEditorLock())==null||o.activate(this.editController),this.activeCellNode.classList.add("editable");const r=u||this.getEditor(this.activeRow,this.activeCell);if(typeof r=="function"){!u&&!r.suppressClearOnEdit&&Au(this.activeCellNode);let D=(l=(s=this.data)==null?void 0:s.getItemMetadata)==null?void 0:l.call(s,this.activeRow);D=D==null?void 0:D.columns;const m=D&&(D[i.id]||D[this.activeCell]),h={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:i,columnMetaData:m,item:t||{},event:a,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new r(h),t&&this.currentEditor&&(this.currentEditor.loadValue(t),e&&typeof((E=this.currentEditor)==null?void 0:E.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(d=this.currentEditor)==null?void 0:d.serializeValue(),(c=this.currentEditor)!=null&&c.position&&this.handleActiveCellPositionChange()}}commitEditAndSetFocus(){var u;(u=this.getEditorLock())!=null&&u.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&this.navigateDown())}cancelEditAndSetFocus(){var u;(u=this.getEditorLock())!=null&&u.cancelCurrentEdit()&&this.setFocus()}absBox(u){const e={top:u.offsetTop,left:u.offsetLeft,bottom:0,right:0,width:u.offsetWidth,height:u.offsetWidth,visible:!0};e.bottom=e.top+e.height,e.right=e.left+e.width;let a=u.offsetParent;for(;(u=u.parentNode)!==document.body&&!(!u||!u.parentNode);){const i=getComputedStyle(u);e.visible&&u.scrollHeight!==u.offsetHeight&&i.overflowY!=="visible"&&(e.visible=e.bottom>u.scrollTop&&e.topu.scrollLeft&&e.left0&&(u=e.getRangeAt(0))}return u}setTextSelection(u){if(window.getSelection&&u){const e=window.getSelection();e&&(e.removeAllRanges(),e.addRange(u))}}scrollRowIntoView(u,e){var a;if(!this.hasFrozenRows||!this._options.frozenBottom&&u>this.actualFrozenRow-1||this._options.frozenBottom&&uthis.scrollTop+i+this.offset?(this.scrollTo(e?r:o),this.render()):t*this._options.rowHeight=t&&(i=t-1),i<0&&(i=0);let r=0,o=null;const s=this.activePosX;for(;r<=this.activePosX;)this.canCellBeActive(i,r)&&(o=r),r+=this.getColspan(i,r);o!==null?(this.setActiveCellInternal(this.getCellNode(i,o)),this.activePosX=s):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){return this.navigateToRow(this.getDataLength()-1)}navigateToRow(u){const e=this.getDataLength();if(!e)return!0;if(u<0?u=0:u>=e&&(u=e-1),this.scrollCellIntoView(u,0,!0),this._options.enableCellNavigation&&bu(this.activeRow)){let a=0,i=null;const t=this.activePosX;for(;a<=this.activePosX;)this.canCellBeActive(u,a)&&(i=a),a+=this.getColspan(u,a);i!==null?(this.setActiveCellInternal(this.getCellNode(u,i)),this.activePosX=t):this.resetActiveCell()}return!0}getColspan(u,e){var r,o;const a=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,u);if(!a||!a.columns)return 1;const i=a.columns[this.columns[e].id]||a.columns[e];let t=i==null?void 0:i.colspan;return t==="*"?t=this.columns.length-e:t=t||1,t}findFirstFocusableCell(u){let e=0;for(;e=this.columns.length)return null;do e+=this.getColspan(u,e);while(e=e)return null;let t={row:u,cell:i,posX:i},r,o=!0;for(;o;){if(r=this.gotoRight(t.row,t.cell,t.posX),!r)return o=!1,null;if(r.cell>=e)return o=!1,t;t=r}}gotoDown(u,e,a){let i;const t=this.getDataLengthIncludingAddNew();let r=!0;for(;r;){if(++u>=t)return r=!1,null;for(i=e=0;e<=a;)i=e,e+=this.getColspan(u,e);if(this.canCellBeActive(u,i))return r=!1,{row:u,cell:i,posX:a}}}gotoUp(u,e,a){let i,t=!0;for(;t;){if(--u<0)return t=!1,null;for(i=e=0;e<=a;)i=e,e+=this.getColspan(u,e);if(this.canCellBeActive(u,i))return t=!1,{row:u,cell:i,posX:a}}}gotoNext(u,e,a){if(!ia(u)&&!ia(e)&&(u=e=a=0,this.canCellBeActive(u,e)))return{row:u,cell:e,posX:e};const i=this.gotoRight(u,e,a);if(i)return i;let t=null;const r=this.getDataLengthIncludingAddNew();for(u===r-1&&u--;++u=this.actualFrozenRow||this._options.frozenBottom&&t.rowe?this.rowsCache[u].cellNodesByColumnIdx[e]:null}catch{return this.rowsCache[u].cellNodesByColumnIdx[e]}}return null}setActiveCell(u,e,a,i,t){!this.initialized||!this._options.enableCellNavigation||u>this.getDataLength()||u<0||e>=this.columns.length||e<0||(this.scrollCellIntoView(u,e,!1),this.setActiveCellInternal(this.getCellNode(u,e),a,i,t))}setActiveRow(u,e,a){e??(e=0),!(!this.initialized||u>this.getDataLength()||u<0||e>=this.columns.length||e<0)&&(this.activeRow=u,a||this.scrollCellIntoView(u,e,!1))}canCellBeActive(u,e){var t,r,o,s;if(!this._options.enableCellNavigation||u>=this.getDataLengthIncludingAddNew()||u<0||e>=this.columns.length||e<0||!this.columns[e]||this.columns[e].hidden)return!1;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u);if((a==null?void 0:a.focusable)!==void 0)return!!a.focusable;const i=a==null?void 0:a.columns;return((o=i==null?void 0:i[this.columns[e].id])==null?void 0:o.focusable)!==void 0?!!i[this.columns[e].id].focusable:((s=i==null?void 0:i[e])==null?void 0:s.focusable)!==void 0?!!i[e].focusable:!!this.columns[e].focusable}canCellBeSelected(u,e){var t,r;if(u>=this.getDataLength()||u<0||e>=this.columns.length||e<0||!this.columns[e]||this.columns[e].hidden)return!1;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u);if((a==null?void 0:a.selectable)!==void 0)return!!a.selectable;const i=(a==null?void 0:a.columns)&&(a.columns[this.columns[e].id]||a.columns[e]);return(i==null?void 0:i.selectable)!==void 0?!!i.selectable:!!this.columns[e].selectable}gotoCell(u,e,a,i){var s;if(!this.initialized||!this.canCellBeActive(u,e)||!((s=this.getEditorLock())!=null&&s.commitCurrentEdit()))return;this.scrollCellIntoView(u,e,!1);const t=this.getCellNode(u,e),r=this.columns[e],o=!!(this._options.editable&&(r!=null&&r.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(t,a||u===this.getDataLength()||this._options.autoEdit,null,o,i),this.currentEditor||this.setFocus()}commitCurrentEdit(){var i;const u=this,e=u.getDataItem(u.activeRow),a=u.columns[u.activeCell];if(u.currentEditor){if(u.currentEditor.isValueChanged()){const t=u.currentEditor.validate();if(t.valid){const r=u.activeRow,o=u.activeCell,s=u.currentEditor,l=u.currentEditor.serializeValue(),E=u.serializedEditorValue;if(u.activeRow{s.applyValue(e,l),u.updateRow(r),u.triggerEvent(u.onCellChange,{command:"execute",row:r,cell:o,item:e,column:a})},undo:()=>{s.applyValue(e,E),u.updateRow(r),u.triggerEvent(u.onCellChange,{command:"undo",row:r,cell:o,item:e,column:a})}};u._options.editCommandHandler?(u.makeActiveCellNormal(!0),u._options.editCommandHandler(e,a,d)):(d.execute(),u.makeActiveCellNormal(!0))}else{const d={};u.currentEditor.applyValue(d,u.currentEditor.serializeValue()),u.makeActiveCellNormal(!0),u.triggerEvent(u.onAddNewRow,{item:d,column:a})}return!((i=u.getEditorLock())!=null&&i.isActive())}else return u.activeCellNode&&(u.activeCellNode.classList.remove("invalid"),z.width(u.activeCellNode),u.activeCellNode.classList.add("invalid")),u.triggerEvent(u.onValidationError,{editor:u.currentEditor,cellNode:u.activeCellNode,validationResults:t,row:u.activeRow,cell:u.activeCell,column:a}),u.currentEditor.focus(),!1}u.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(u){const e=[],a=this.columns.length-1;for(let i=0;i((r=this._addonOptions)==null?void 0:r.maxToolTipLength)&&(s=s.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):s="",o.title=s),o=null}}handleHeaderMouseEnter(u,e){const a=e.column;let i;const t=u.target;if(t&&(i=t.closest(".slick-header-column"),i&&!(a!=null&&a.toolTip))){const r=t.clientWidth{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(a,i)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(a,i)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(a,i)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(a,i)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(a,i)})}dispose(){var u,e;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(u=this._cellSelectionModel)==null||u.dispose(),(e=this._cellExternalCopyManagerPlugin)==null||e.dispose()}createUndoRedoBuffer(){let u=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:e=>{this._commandQueue[u]=e,u++,e.execute()},undo:()=>{if(u===0)return;u--;const e=this._commandQueue[u];e&&Z0.cancelCurrentEdit()&&e.undo()},redo:()=>{if(u>=this._commandQueue.length)return;const e=this._commandQueue[u];u++,e&&Z0.cancelCurrentEdit()&&e.execute()}}}getDefaultOptions(){let u=0;return{clipboardCommandHandler:e=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,e)},dataItemColumnValueExtractor:(e,a,i=0,t=0)=>{var l,E,d;const r=this._grid.getActiveCell(),o=this._grid.getCellEditor()&&(r==null?void 0:r.row)===i&&(r==null?void 0:r.cell)===t,s=((l=this.addonOptions)==null?void 0:l.copyActiveEditorCell)||!1;if(!this.gridOptions.editable||!a.editor||!o||s){const c=a.exportWithFormatter!==void 0?a.exportWithFormatter:(E=this.gridOptions.textExportOptions)==null?void 0:E.exportWithFormatter;if(a.formatter&&c){const D=a.formatter(i,t,e[a.field],a,e,this._grid),m=ca(D)?D:D.html||D.text;if(a.sanitizeDataExport||(d=this.gridOptions.textExportOptions)!=null&&d.sanitizeDataExport){const h=m instanceof HTMLElement?m.innerHTML:m;return Vu(h??"")}return D}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:e=>{for(let a=0;a{};class xh{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this.onCopyCells=new R("onCopyCells"),this.onCopyCancelled=new R("onCopyCancelled"),this.onPasteCells=new R("onPasteCells"),this.onBeforePasteCell=new R("onBeforePasteCell"),this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(u,e){var t;this._grid=u,this._addonOptions={...this._addonOptions,...e},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;const a=u.getPubSubService();a&&z.addSlickEventPubSubWhenDefined(a,this),this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const i=u.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())");if(this._eventHandler.subscribe(i.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()}),u&&typeof((t=this._addonOptions)==null?void 0:t.onBeforePasteCell)=="function"){const r=u==null?void 0:u.getData();this._eventHandler.subscribe(this.onBeforePasteCell,(o,s)=>{var d,c;const l=u.getColumns()[s.cell],E={row:s.row,cell:s.cell,dataView:r,grid:u,columnDef:l,dataContext:u.getDataItem(s.row)};return(c=(d=this._addonOptions).onBeforePasteCell)==null?void 0:c.call(d,o,E)})}}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(u){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const e=i0(this._addonOptions.headerColumnValueExtractor(u),"innerHTML");if(e)return Vu(e)}return i0(u.name||"","innerHTML")}getDataItemValueForColumn(u,e,a,i,t){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const o=this._addonOptions.dataItemColumnValueExtractor(u,e,a,i);if(o)return o instanceof HTMLElement?Vu(o.innerHTML):o}let r="";if(e)if(e.editorClass){const o=document.createElement("p"),s=new e.editorClass({container:o,column:e,event:t,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Ii,commitChanges:Ii});s.loadValue(u),r=s.serializeValue(),s.destroy(),o.remove()}else r=u[e.field||""];return r}setDataItemValueForColumn(u,e,a){if(!(e!=null&&e.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter){const i=this._addonOptions.dataItemColumnValueSetter(u,e,a);if(i!==!0)return i}if(e.editorClass){const i=document.createElement("div"),t=new e.editorClass({container:i,column:e,event:null,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Ii,commitChanges:Ii});t.loadValue(u);const r=t.validate(void 0,a);if(!r.valid){const o=this._grid.getActiveCell();this._grid.onValidationError.notify({editor:t,cellNode:this._grid.getActiveCellNode(),validationResults:r,row:o==null?void 0:o.row,cell:o==null?void 0:o.cell,column:e,grid:this._grid})}t.applyValue(u,a),t.destroy(),i.remove()}else u[e.field]=a}}setIncludeHeaderWhenCopying(u){this._addonOptions.includeHeaderWhenCopying=u}createTextBox(u){const e=A("textarea",{value:u,style:{position:"absolute",left:"-1000px",top:`${document.body.scrollTop}px`}},this._bodyElement);return e.select(),e}decodeTabularData(u,e){var v;const a=u.getColumns(),t=e.value.split(/[\n\f\r](?=(?:[^"]*"[^"]*")*[^"]*$)/);t[t.length-1]===""&&t.pop();let r=0;const o=[];this._bodyElement.removeChild(e);for(const b of t)b.startsWith('"')&&b.endsWith('"')?o[r++]=[b.replaceAll(` + */function ks(n,u){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);u&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),e.push.apply(e,a)}return e}function me(n){for(var u=1;u=0)&&(e[i]=n[i]);return e}function Im(n,u){if(n==null)return{};var e=Om(n,u),a,i;if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(n,a)&&(e[a]=n[a])}return e}var Gm="1.15.2";function ye(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var Me=ye(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Mi=ye(/Edge/i),vs=ye(/firefox/i),mi=ye(/safari/i)&&!ye(/chrome/i)&&!ye(/android/i),T1=ye(/iP(ad|od|hone)/i),P1=ye(/chrome/i)&&ye(/android/i),_1={capture:!1,passive:!1};function wu(n,u,e){n.addEventListener(u,e,!Me&&_1)}function zu(n,u,e){n.removeEventListener(u,e,!Me&&_1)}function zt(n,u){if(u){if(u[0]===">"&&(u=u.substring(1)),n)try{if(n.matches)return n.matches(u);if(n.msMatchesSelector)return n.msMatchesSelector(u);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(u)}catch{return!1}return!1}}function Vm(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function ae(n,u,e,a){if(n){e=e||document;do{if(u!=null&&(u[0]===">"?n.parentNode===e&&zt(n,u):zt(n,u))||a&&n===e)return n;if(n===e)break}while(n=Vm(n))}return null}var As=/\s+/g;function H0(n,u,e){if(n&&u)if(n.classList)n.classList[e?"add":"remove"](u);else{var a=(" "+n.className+" ").replace(As," ").replace(" "+u+" "," ");n.className=(a+(e?" "+u:"")).replace(As," ")}}function ru(n,u,e){var a=n&&n.style;if(a){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(e=n.currentStyle),u===void 0?e:e[u];!(u in a)&&u.indexOf("webkit")===-1&&(u="-webkit-"+u),a[u]=e+(typeof e=="string"?"":"px")}}function Pa(n,u){var e="";if(typeof n=="string")e=n;else do{var a=ru(n,"transform");a&&a!=="none"&&(e=a+" "+e)}while(!u&&(n=n.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(e)}function j1(n,u,e){if(n){var a=n.getElementsByTagName(u),i=0,t=a.length;if(e)for(;i=t:r=i<=t,!r)return a;if(a===de())break;a=Ve(a,!1)}return!1}function Ha(n,u,e,a){for(var i=0,t=0,r=n.children;t2&&arguments[2]!==void 0?arguments[2]:{},i=a.evt,t=Im(a,Qm);Ti.pluginEvent.bind(eu)(u,e,me({dragEl:O,parentEl:t0,ghostEl:Du,rootEl:Zu,nextEl:ta,lastDownEl:lt,cloneEl:e0,cloneHidden:He,dragStarted:Ei,putSortable:p0,activeSortable:eu.active,originalEvent:i,oldIndex:Sa,oldDraggableIndex:xi,newIndex:O0,newDraggableIndex:Ke,hideGhostForTarget:G1,unhideGhostForTarget:V1,cloneNowHidden:function(){He=!0},cloneNowShown:function(){He=!1},dispatchSortableEvent:function(o){w0({sortable:e,name:o,originalEvent:i})}},t))};function w0(n){Ym(me({putSortable:p0,cloneEl:e0,targetEl:O,rootEl:Zu,oldIndex:Sa,oldDraggableIndex:xi,newIndex:O0,newDraggableIndex:Ke},n))}var O,t0,Du,Zu,ta,lt,e0,He,Sa,O0,xi,Ke,Ni,p0,Aa=!1,St=!1,wt=[],Xe,ue,pn,Fn,Bs,ys,Ei,ka,gi,Ci=!1,Ki=!1,Et,b0,kn=[],rr=!1,Mt=[],Yt=typeof document<"u",Hi=T1,zs=Mi||Me?"cssFloat":"float",Xm=Yt&&!P1&&!T1&&"draggable"in document.createElement("div"),H1=function(){if(Yt){if(Me)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}}(),O1=function(u,e){var a=ru(u),i=parseInt(a.width)-parseInt(a.paddingLeft)-parseInt(a.paddingRight)-parseInt(a.borderLeftWidth)-parseInt(a.borderRightWidth),t=Ha(u,0,e),r=Ha(u,1,e),o=t&&ru(t),s=r&&ru(r),l=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+l0(t).width,E=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+l0(r).width;if(a.display==="flex")return a.flexDirection==="column"||a.flexDirection==="column-reverse"?"vertical":"horizontal";if(a.display==="grid")return a.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(t&&o.float&&o.float!=="none"){var d=o.float==="left"?"left":"right";return r&&(s.clear==="both"||s.clear===d)?"vertical":"horizontal"}return t&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||l>=i&&a[zs]==="none"||r&&a[zs]==="none"&&l+E>i)?"vertical":"horizontal"},uh=function(u,e,a){var i=a?u.left:u.top,t=a?u.right:u.bottom,r=a?u.width:u.height,o=a?e.left:e.top,s=a?e.right:e.bottom,l=a?e.width:e.height;return i===o||t===s||i+r/2===o+l/2},eh=function(u,e){var a;return wt.some(function(i){var t=i[G0].options.emptyInsertThreshold;if(!(!t||qr(i))){var r=l0(i),o=u>=r.left-t&&u<=r.right+t,s=e>=r.top-t&&e<=r.bottom+t;if(o&&s)return a=i}}),a},I1=function(u){function e(t,r){return function(o,s,l,E){var d=o.options.group.name&&s.options.group.name&&o.options.group.name===s.options.group.name;if(t==null&&(r||d))return!0;if(t==null||t===!1)return!1;if(r&&t==="clone")return t;if(typeof t=="function")return e(t(o,s,l,E),r)(o,s,l,E);var c=(r?o:s).options.group.name;return t===!0||typeof t=="string"&&t===c||t.join&&t.indexOf(c)>-1}}var a={},i=u.group;(!i||st(i)!="object")&&(i={name:i}),a.name=i.name,a.checkPull=e(i.pull,!0),a.checkPut=e(i.put),a.revertClone=i.revertClone,u.group=a},G1=function(){!H1&&Du&&ru(Du,"display","none")},V1=function(){!H1&&Du&&ru(Du,"display","")};Yt&&!P1&&document.addEventListener("click",function(n){if(St)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),St=!1,!1},!0);var ua=function(u){if(O){u=u.touches?u.touches[0]:u;var e=eh(u.clientX,u.clientY);if(e){var a={};for(var i in u)u.hasOwnProperty(i)&&(a[i]=u[i]);a.target=a.rootEl=e,a.preventDefault=void 0,a.stopPropagation=void 0,e[G0]._onDragOver(a)}}},ah=function(u){O&&O.parentNode[G0]._isOutsideThisEl(u.target)};function eu(n,u){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=u=Se({},u),n[G0]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return O1(n,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:eu.supportPointer!==!1&&"PointerEvent"in window&&!mi,emptyInsertThreshold:5};Ti.initializePlugins(this,n,e);for(var a in e)!(a in u)&&(u[a]=e[a]);I1(u);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=u.forceFallback?!1:Xm,this.nativeDraggable&&(this.options.touchStartThreshold=1),u.supportPointer?wu(n,"pointerdown",this._onTapStart):(wu(n,"mousedown",this._onTapStart),wu(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(wu(n,"dragover",this),wu(n,"dragenter",this)),wt.push(this.el),u.store&&u.store.get&&this.sort(u.store.get(this)||[]),Se(this,Um())}eu.prototype={constructor:eu,_isOutsideThisEl:function(u){!this.el.contains(u)&&u!==this.el&&(ka=null)},_getDirection:function(u,e){return typeof this.options.direction=="function"?this.options.direction.call(this,u,e,O):this.options.direction},_onTapStart:function(u){if(u.cancelable){var e=this,a=this.el,i=this.options,t=i.preventOnFilter,r=u.type,o=u.touches&&u.touches[0]||u.pointerType&&u.pointerType==="touch"&&u,s=(o||u).target,l=u.target.shadowRoot&&(u.path&&u.path[0]||u.composedPath&&u.composedPath()[0])||s,E=i.filter;if(Eh(a),!O&&!(/mousedown|pointerdown/.test(r)&&u.button!==0||i.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&mi&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=ae(s,i.draggable,a,!1),!(s&&s.animated)&<!==s)){if(Sa=U0(s),xi=U0(s,i.draggable),typeof E=="function"){if(E.call(this,u,s,this)){w0({sortable:e,rootEl:l,name:"filter",targetEl:s,toEl:a,fromEl:a}),L0("filter",e,{evt:u}),t&&u.cancelable&&u.preventDefault();return}}else if(E&&(E=E.split(",").some(function(d){if(d=ae(l,d.trim(),a,!1),d)return w0({sortable:e,rootEl:d,name:"filter",targetEl:s,fromEl:a,toEl:a}),L0("filter",e,{evt:u}),!0}),E)){t&&u.cancelable&&u.preventDefault();return}i.handle&&!ae(l,i.handle,a,!1)||this._prepareDragStart(u,o,s)}}},_prepareDragStart:function(u,e,a){var i=this,t=i.el,r=i.options,o=t.ownerDocument,s;if(a&&!O&&a.parentNode===t){var l=l0(a);if(Zu=t,O=a,t0=O.parentNode,ta=O.nextSibling,lt=a,Ni=r.group,eu.dragged=O,Xe={target:O,clientX:(e||u).clientX,clientY:(e||u).clientY},Bs=Xe.clientX-l.left,ys=Xe.clientY-l.top,this._lastX=(e||u).clientX,this._lastY=(e||u).clientY,O.style["will-change"]="all",s=function(){if(L0("delayEnded",i,{evt:u}),eu.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!vs&&i.nativeDraggable&&(O.draggable=!0),i._triggerDragStart(u,e),w0({sortable:i,name:"choose",originalEvent:u}),H0(O,r.chosenClass,!0)},r.ignore.split(",").forEach(function(E){j1(O,E.trim(),vn)}),wu(o,"dragover",ua),wu(o,"mousemove",ua),wu(o,"touchmove",ua),wu(o,"mouseup",i._onDrop),wu(o,"touchend",i._onDrop),wu(o,"touchcancel",i._onDrop),vs&&this.nativeDraggable&&(this.options.touchStartThreshold=4,O.draggable=!0),L0("delayStart",this,{evt:u}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Mi||Me))){if(eu.eventCanceled){this._onDrop();return}wu(o,"mouseup",i._disableDelayedDrag),wu(o,"touchend",i._disableDelayedDrag),wu(o,"touchcancel",i._disableDelayedDrag),wu(o,"mousemove",i._delayedDragTouchMoveHandler),wu(o,"touchmove",i._delayedDragTouchMoveHandler),r.supportPointer&&wu(o,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,r.delay)}else s()}},_delayedDragTouchMoveHandler:function(u){var e=u.touches?u.touches[0]:u;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){O&&vn(O),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var u=this.el.ownerDocument;zu(u,"mouseup",this._disableDelayedDrag),zu(u,"touchend",this._disableDelayedDrag),zu(u,"touchcancel",this._disableDelayedDrag),zu(u,"mousemove",this._delayedDragTouchMoveHandler),zu(u,"touchmove",this._delayedDragTouchMoveHandler),zu(u,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(u,e){e=e||u.pointerType=="touch"&&u,!this.nativeDraggable||e?this.options.supportPointer?wu(document,"pointermove",this._onTouchMove):e?wu(document,"touchmove",this._onTouchMove):wu(document,"mousemove",this._onTouchMove):(wu(O,"dragend",this),wu(Zu,"dragstart",this._onDragStart));try{document.selection?dt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(u,e){if(Aa=!1,Zu&&O){L0("dragStarted",this,{evt:e}),this.nativeDraggable&&wu(document,"dragover",ah);var a=this.options;!u&&H0(O,a.dragClass,!1),H0(O,a.ghostClass,!0),eu.active=this,u&&this._appendGhost(),w0({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(ue){this._lastX=ue.clientX,this._lastY=ue.clientY,G1();for(var u=document.elementFromPoint(ue.clientX,ue.clientY),e=u;u&&u.shadowRoot&&(u=u.shadowRoot.elementFromPoint(ue.clientX,ue.clientY),u!==e);)e=u;if(O.parentNode[G0]._isOutsideThisEl(u),e)do{if(e[G0]){var a=void 0;if(a=e[G0]._onDragOver({clientX:ue.clientX,clientY:ue.clientY,target:u,rootEl:e}),a&&!this.options.dragoverBubble)break}u=e}while(e=e.parentNode);V1()}},_onTouchMove:function(u){if(Xe){var e=this.options,a=e.fallbackTolerance,i=e.fallbackOffset,t=u.touches?u.touches[0]:u,r=Du&&Pa(Du,!0),o=Du&&r&&r.a,s=Du&&r&&r.d,l=Hi&&b0&&fs(b0),E=(t.clientX-Xe.clientX+i.x)/(o||1)+(l?l[0]-kn[0]:0)/(o||1),d=(t.clientY-Xe.clientY+i.y)/(s||1)+(l?l[1]-kn[1]:0)/(s||1);if(!eu.active&&!Aa){if(a&&Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))=0&&(w0({rootEl:t0,name:"add",toEl:t0,fromEl:Zu,originalEvent:u}),w0({sortable:this,name:"remove",toEl:t0,originalEvent:u}),w0({rootEl:t0,name:"sort",toEl:t0,fromEl:Zu,originalEvent:u}),w0({sortable:this,name:"sort",toEl:t0,originalEvent:u})),p0&&p0.save()):O0!==Sa&&O0>=0&&(w0({sortable:this,name:"update",toEl:t0,originalEvent:u}),w0({sortable:this,name:"sort",toEl:t0,originalEvent:u})),eu.active&&((O0==null||O0===-1)&&(O0=Sa,Ke=xi),w0({sortable:this,name:"end",toEl:t0,originalEvent:u}),this.save()))),this._nulling()},_nulling:function(){L0("nulling",this),Zu=O=t0=Du=ta=e0=lt=He=Xe=ue=Ei=O0=Ke=Sa=xi=ka=gi=p0=Ni=eu.dragged=eu.ghost=eu.clone=eu.active=null,Mt.forEach(function(u){u.checked=!0}),Mt.length=pn=Fn=0},handleEvent:function(u){switch(u.type){case"drop":case"dragend":this._onDrop(u);break;case"dragenter":case"dragover":O&&(this._onDragOver(u),ih(u));break;case"selectstart":u.preventDefault();break}},toArray:function(){for(var u=[],e,a=this.el.children,i=0,t=a.length,r=this.options;ii.right+t||n.clientY>a.bottom&&n.clientX>a.left:n.clientY>i.bottom+t||n.clientX>a.right&&n.clientY>a.top}function oh(n,u,e,a,i,t,r,o){var s=a?n.clientY:n.clientX,l=a?e.height:e.width,E=a?e.top:e.left,d=a?e.bottom:e.right,c=!1;if(!r){if(o&&EtE+l*t/2:sd-Et)return-gi}else if(s>E+l*(1-i)/2&&sd-l*t/2)?s>E+l/2?1:-1:0}function sh(n){return U0(O){b[S]&&(B=!0)}),B}function p(b){var B;if(o=b.target,!x(b)){const S=((B=b==null?void 0:b.touches)==null?void 0:B[0])??b,{target:y}=S;if(!n.allowDragFrom||n.allowDragFrom&&o.matches(n.allowDragFrom)||n.allowDragFromClosest&&o.closest(n.allowDragFromClosest)){D.dragHandle=o;const w=Pr();s=w.left+S.clientX,l=w.top+S.clientY,E=S.clientX-S.clientX,d=S.clientY-S.clientY,D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(e,b,D)!==!1&&(document.body.addEventListener("mousemove",F),document.body.addEventListener("touchmove",F),document.body.addEventListener("mouseup",v),document.body.addEventListener("touchend",v),document.body.addEventListener("touchcancel",v))}}}function F(b){var S;const B=((S=b==null?void 0:b.touches)==null?void 0:S[0])??b;if(!x(b)){E=B.clientX-s,d=B.clientY-l;const{target:y}=B;c||(D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(a,b,D),c=!0),D=Object.assign(D,{deltaX:E,deltaY:d,startX:s,startY:l,target:y}),h(i,b,D)}}function v(b){if(document.body.removeEventListener("mousemove",F),document.body.removeEventListener("touchmove",F),document.body.removeEventListener("mouseup",v),document.body.removeEventListener("touchend",v),document.body.removeEventListener("touchcancel",v),c){const{target:B}=b;D=Object.assign(D,{target:B}),h(t,b,D),c=!1}}return m(),{destroy:g}}function Ms(n){const{element:u,onMouseWheel:e}=n;function a(){u.removeEventListener("wheel",t),u.removeEventListener("mousewheel",t)}function i(){u.addEventListener("wheel",t),u.addEventListener("mousewheel",t)}function t(r){const o=r||window.event;let s=0,l=0,E=0;o.wheelDelta&&(s=o.wheelDelta/120),o.detail&&(s=-o.detail/3),E=s,o.axis!==void 0&&o.axis===o.HORIZONTAL_AXIS&&(E=0,l=-1*s),o.wheelDeltaY!==void 0&&(E=o.wheelDeltaY/120),o.wheelDeltaX!==void 0&&(l=-1*o.wheelDeltaX/120),typeof e=="function"&&e(r,s,l,E)}return i(),{destroy:a}}function Ts(n){const{resizeableElement:u,resizeableHandleElement:e,onResizeStart:a,onResize:i,onResizeEnd:t}=n;if(!e||typeof e.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(){e.addEventListener("mousedown",l),e.addEventListener("touchstart",l)}function o(){typeof(e==null?void 0:e.removeEventListener)=="function"&&(e.removeEventListener("mousedown",l),e.removeEventListener("touchstart",l))}function s(c,D){if(typeof c=="function")return c(D,{resizeableElement:u,resizeableHandleElement:e})}function l(c){c.preventDefault();const D=c.touches?c.changedTouches[0]:c;s(a,D)!==!1&&(document.body.addEventListener("mousemove",E),document.body.addEventListener("mouseup",d),document.body.addEventListener("touchmove",E),document.body.addEventListener("touchend",d))}function E(c){c.preventDefault&&c.type!=="touchmove"&&c.preventDefault();const D=c.touches?c.changedTouches[0]:c;typeof i=="function"&&i(D,{resizeableElement:u,resizeableHandleElement:e})}function d(c){const D=c.touches?c.changedTouches[0]:c;s(t,D),document.body.removeEventListener("mousemove",E),document.body.removeEventListener("mouseup",d),document.body.removeEventListener("touchmove",E),document.body.removeEventListener("touchend",d)}return r(),{destroy:o}}class ch{constructor(u,e,a,i,t){if(this.container=u,this.data=e,this.columns=a,this.externalPubSub=t,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,unorderableColumnCssClass:"unorderable",asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,columnResizingDelay:300,nonce:"",editorLock:Z0,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,createTopHeaderPanel:!1,showPreHeaderPanel:!1,showTopHeaderPanel:!1,preHeaderPanelHeight:25,preHeaderPanelWidth:"auto",topHeaderPanelHeight:25,topHeaderPanelWidth:"auto",showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",rowHighlightCssClass:"highlight-animate",rowHighlightDuration:400,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,preventDragFromKeys:["ctrlKey","metaKey"],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:"",headerCssClass:null,defaultSortAsc:!0,focusable:!0,hidden:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,reorderable:!0,resizable:!0,sortable:!1,selectable:!0},this.page=0,this.offset=0,this.vScrollDir=1,this._bindingEventService=new pu,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_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._container=typeof this.container=="string"?document.querySelector(this.container):this.container,!this._container)throw new Error(`SlickGrid requires a valid container, ${this.container} does not exist in the DOM.`);this._pubSubService=t,this.onActiveCellChanged=new R("onActiveCellChanged",t),this.onActiveCellPositionChanged=new R("onActiveCellPositionChanged",t),this.onAddNewRow=new R("onAddNewRow",t),this.onAfterSetColumns=new R("onAfterSetColumns",t),this.onAutosizeColumns=new R("onAutosizeColumns",t),this.onBeforeAppendCell=new R("onBeforeAppendCell",t),this.onBeforeCellEditorDestroy=new R("onBeforeCellEditorDestroy",t),this.onBeforeColumnsResize=new R("onBeforeColumnsResize",t),this.onBeforeDestroy=new R("onBeforeDestroy",t),this.onBeforeEditCell=new R("onBeforeEditCell",t),this.onBeforeFooterRowCellDestroy=new R("onBeforeFooterRowCellDestroy",t),this.onBeforeHeaderCellDestroy=new R("onBeforeHeaderCellDestroy",t),this.onBeforeHeaderRowCellDestroy=new R("onBeforeHeaderRowCellDestroy",t),this.onBeforeSetColumns=new R("onBeforeSetColumns",t),this.onBeforeSort=new R("onBeforeSort",t),this.onBeforeUpdateColumns=new R("onBeforeUpdateColumns",t),this.onCellChange=new R("onCellChange",t),this.onCellCssStylesChanged=new R("onCellCssStylesChanged",t),this.onClick=new R("onClick",t),this.onColumnsReordered=new R("onColumnsReordered",t),this.onColumnsDrag=new R("onColumnsDrag",t),this.onColumnsResized=new R("onColumnsResized",t),this.onColumnsResizeDblClick=new R("onColumnsResizeDblClick",t),this.onCompositeEditorChange=new R("onCompositeEditorChange",t),this.onContextMenu=new R("onContextMenu",t),this.onDrag=new R("onDrag",t),this.onDblClick=new R("onDblClick",t),this.onDragInit=new R("onDragInit",t),this.onDragStart=new R("onDragStart",t),this.onDragEnd=new R("onDragEnd",t),this.onFooterClick=new R("onFooterClick",t),this.onFooterContextMenu=new R("onFooterContextMenu",t),this.onFooterRowCellRendered=new R("onFooterRowCellRendered",t),this.onHeaderCellRendered=new R("onHeaderCellRendered",t),this.onHeaderClick=new R("onHeaderClick",t),this.onHeaderContextMenu=new R("onHeaderContextMenu",t),this.onHeaderMouseEnter=new R("onHeaderMouseEnter",t),this.onHeaderMouseOver=new R("onHeaderMouseOver",t),this.onHeaderMouseOut=new R("onHeaderMouseOut",t),this.onHeaderMouseLeave=new R("onHeaderMouseLeave",t),this.onHeaderRowMouseOver=new R("onHeaderRowMouseOver",t),this.onHeaderRowMouseOut=new R("onHeaderRowMouseOut",t),this.onHeaderRowCellRendered=new R("onHeaderRowCellRendered",t),this.onHeaderRowMouseEnter=new R("onHeaderRowMouseEnter",t),this.onHeaderRowMouseLeave=new R("onHeaderRowMouseLeave",t),this.onKeyDown=new R("onKeyDown",t),this.onMouseEnter=new R("onMouseEnter",t),this.onMouseLeave=new R("onMouseLeave",t),this.onPreHeaderClick=new R("onPreHeaderClick",t),this.onPreHeaderContextMenu=new R("onPreHeaderContextMenu",t),this.onRendered=new R("onRendered",t),this.onScroll=new R("onScroll",t),this.onSelectedRowsChanged=new R("onSelectedRowsChanged",t),this.onSetOptions=new R("onSetOptions",t),this.onActivateChangedOptions=new R("onActivateChangedOptions",t),this.onSort=new R("onSort",t),this.onValidationError=new R("onValidationError",t),this.onViewportChanged=new R("onViewportChanged",t),this.initialize(i)}init(){this.finishInitialization()}applyHtmlCode(u,e="",a){if(u)if(e instanceof HTMLElement||e instanceof DocumentFragment)(a==null?void 0:a.emptyTarget)!==!1&&Au(u),u.appendChild(e);else{if((a==null?void 0:a.skipEmptyReassignment)!==!1&&!bu(e)&&!u.innerHTML)return;if(typeof e=="number"||typeof e=="boolean")u.textContent=String(e);else{const t=this.sanitizeHtmlString(e);this._options.enableHtmlRendering&&t?u.innerHTML=t:u.textContent=t}}}initialize(u){if(u!=null&&u.mixinDefaults?(this._options||(this._options=u),z.applyDefaults(this._options,this._defaults)):this._options=Mu(!0,{},this._defaults,u),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&&(!eu||!eu.create))throw new Error("SlickGrid requires Sortable.js module to be loaded");this.editController={commitCurrentEdit:this.commitCurrentEdit.bind(this),cancelCurrentEdit:this.cancelCurrentEdit.bind(this)},Au(this._container),this._container.style.outline=String(0),this._container.classList.add(this.uid),this._container.classList.add("slick-widget"),this._container.setAttribute("role","grid");const e=window.getComputedStyle(this._container);/relative|absolute|fixed/.test(e.position)||(this._container.style.position="relative"),this._focusSink=A("div",{tabIndex:0,style:{position:"fixed",width:"0px",height:"0px",top:"0px",left:"0px",outline:"0px"}},this._container),this._options.createTopHeaderPanel&&(this._topHeaderPanelScroller=A("div",{className:"slick-topheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._container),this._topHeaderPanelScroller.appendChild(document.createElement("div")),this._topHeaderPanel=A("div",null,this._topHeaderPanelScroller),this._topHeaderPanelSpacer=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._topHeaderPanelScroller),this._options.showTopHeaderPanel||z.hide(this._topHeaderPanelScroller)),this._paneHeaderL=A("div",{className:"slick-pane slick-pane-header slick-pane-left",tabIndex:0},this._container),this._paneHeaderR=A("div",{className:"slick-pane slick-pane-header slick-pane-right",tabIndex:0},this._container),this._paneTopL=A("div",{className:"slick-pane slick-pane-top slick-pane-left",tabIndex:0},this._container),this._paneTopR=A("div",{className:"slick-pane slick-pane-top slick-pane-right",tabIndex:0},this._container),this._paneBottomL=A("div",{className:"slick-pane slick-pane-bottom slick-pane-left",tabIndex:0},this._container),this._paneBottomR=A("div",{className:"slick-pane slick-pane-bottom slick-pane-right",tabIndex:0},this._container),this._options.createPreHeaderPanel&&(this._preHeaderPanelScroller=A("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderL),this._preHeaderPanelScroller.appendChild(document.createElement("div")),this._preHeaderPanel=A("div",null,this._preHeaderPanelScroller),this._preHeaderPanelSpacer=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScroller),this._preHeaderPanelScrollerR=A("div",{className:"slick-preheader-panel slick-state-default",style:{overflow:"hidden",position:"relative"}},this._paneHeaderR),this._preHeaderPanelR=A("div",null,this._preHeaderPanelScrollerR),this._preHeaderPanelSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._preHeaderPanelScrollerR),this._options.showPreHeaderPanel||(z.hide(this._preHeaderPanelScroller),z.hide(this._preHeaderPanelScrollerR))),this._headerScrollerL=A("div",{className:"slick-header slick-state-default slick-header-left"},this._paneHeaderL),this._headerScrollerR=A("div",{className:"slick-header slick-state-default slick-header-right"},this._paneHeaderR),this._headerScroller.push(this._headerScrollerL),this._headerScroller.push(this._headerScrollerR),this._headerL=A("div",{className:"slick-header-columns slick-header-columns-left",style:{left:"-1000px"}},this._headerScrollerL),this._headerR=A("div",{className:"slick-header-columns slick-header-columns-right",style:{left:"-1000px"}},this._headerScrollerR),this._headers=[this._headerL,this._headerR],this._headerRowScrollerL=A("div",{className:"slick-headerrow slick-state-default"},this._paneTopL),this._headerRowScrollerR=A("div",{className:"slick-headerrow slick-state-default"},this._paneTopR),this._headerRowScroller=[this._headerRowScrollerL,this._headerRowScrollerR],this._headerRowSpacerL=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerL),this._headerRowSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._headerRowScrollerR),this._headerRowL=A("div",{className:"slick-headerrow-columns slick-headerrow-columns-left"},this._headerRowScrollerL),this._headerRowR=A("div",{className:"slick-headerrow-columns slick-headerrow-columns-right"},this._headerRowScrollerR),this._headerRows=[this._headerRowL,this._headerRowR],this._topPanelScrollerL=A("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopL),this._topPanelScrollerR=A("div",{className:"slick-top-panel-scroller slick-state-default"},this._paneTopR),this._topPanelScrollers=[this._topPanelScrollerL,this._topPanelScrollerR],this._topPanelL=A("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerL),this._topPanelR=A("div",{className:"slick-top-panel",style:{width:"10000px"}},this._topPanelScrollerR),this._topPanels=[this._topPanelL,this._topPanelR],this._options.showColumnHeader||this._headerScroller.forEach(a=>{z.hide(a)}),this._options.showTopPanel||this._topPanelScrollers.forEach(a=>{z.hide(a)}),this._options.showHeaderRow||this._headerRowScroller.forEach(a=>{z.hide(a)}),this._viewportTopL=A("div",{className:"slick-viewport slick-viewport-top slick-viewport-left",tabIndex:0},this._paneTopL),this._viewportTopR=A("div",{className:"slick-viewport slick-viewport-top slick-viewport-right",tabIndex:0},this._paneTopR),this._viewportBottomL=A("div",{className:"slick-viewport slick-viewport-bottom slick-viewport-left",tabIndex:0},this._paneBottomL),this._viewportBottomR=A("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(a=>{a.classList.add(..._u(this._options.viewportClass))}),this._activeViewportNode=this._viewportTopL,this._canvasTopL=A("div",{className:"grid-canvas grid-canvas-top grid-canvas-left",tabIndex:0},this._viewportTopL),this._canvasTopR=A("div",{className:"grid-canvas grid-canvas-top grid-canvas-right",tabIndex:0},this._viewportTopR),this._canvasBottomL=A("div",{className:"grid-canvas grid-canvas-bottom grid-canvas-left",tabIndex:0},this._viewportBottomL),this._canvasBottomR=A("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._topHeaderPanelSpacer&&z.width(this._topHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._preHeaderPanelSpacer&&z.width(this._preHeaderPanelSpacer,this.getCanvasWidth()+this.scrollbarDimensions.width),this._headers.forEach(a=>{z.width(a,this.getHeadersWidth())}),z.width(this._headerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),z.width(this._headerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._options.createFooterRow&&(this._footerRowScrollerR=A("div",{className:"slick-footerrow slick-state-default"},this._paneTopR),this._footerRowScrollerL=A("div",{className:"slick-footerrow slick-state-default"},this._paneTopL),this._footerRowScroller=[this._footerRowScrollerL,this._footerRowScrollerR],this._footerRowSpacerL=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerL),z.width(this._footerRowSpacerL,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowSpacerR=A("div",{style:{display:"block",height:"1px",position:"absolute",top:"0px",left:"0px"}},this._footerRowScrollerR),z.width(this._footerRowSpacerR,this.getCanvasWidth()+this.scrollbarDimensions.width),this._footerRowL=A("div",{className:"slick-footerrow-columns slick-footerrow-columns-left"},this._footerRowScrollerL),this._footerRowR=A("div",{className:"slick-footerrow-columns slick-footerrow-columns-right"},this._footerRowScrollerR),this._footerRow=[this._footerRowL,this._footerRowR],this._options.showFooterRow||this._footerRowScroller.forEach(a=>{z.hide(a)})),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(u=>{this._bindingEventService.bind(u,"selectstart",e=>{e.target instanceof HTMLInputElement||e.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(u=>{this._bindingEventService.bind(u,"scroll",this.handleScroll.bind(this))}),this._options.enableMouseWheelScrollHandler&&this._viewport.forEach(u=>{this.slickMouseWheelInstances.push(Ms({element:u,onMouseWheel:this.handleMouseWheel.bind(this)}))}),this._headerScroller.forEach(u=>{this._bindingEventService.bind(u,"contextmenu",this.handleHeaderContextMenu.bind(this)),this._bindingEventService.bind(u,"click",this.handleHeaderClick.bind(this))}),this._headerRowScroller.forEach(u=>{this._bindingEventService.bind(u,"scroll",this.handleHeaderRowScroll.bind(this))}),this._options.createFooterRow&&(this._footerRow.forEach(u=>{this._bindingEventService.bind(u,"contextmenu",this.handleFooterContextMenu.bind(this)),this._bindingEventService.bind(u,"click",this.handleFooterClick.bind(this))}),this._footerRowScroller.forEach(u=>{this._bindingEventService.bind(u,"scroll",this.handleFooterRowScroll.bind(this))})),this._options.createTopHeaderPanel&&this._bindingEventService.bind(this._topHeaderPanelScroller,"scroll",this.handleTopHeaderPanelScroll.bind(this)),this._options.createPreHeaderPanel&&(this._bindingEventService.bind(this._preHeaderPanelScroller,"scroll",this.handlePreHeaderPanelScroll.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"contextmenu",this.handlePreHeaderContextMenu.bind(this)),this._bindingEventService.bind([this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],"click",this.handlePreHeaderClick.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(u=>{this._bindingEventService.bind(u,"keydown",this.handleKeyDown.bind(this)),this._bindingEventService.bind(u,"click",this.handleClick.bind(this)),this._bindingEventService.bind(u,"dblclick",this.handleDblClick.bind(this)),this._bindingEventService.bind(u,"contextmenu",this.handleContextMenu.bind(this)),this._bindingEventService.bind(u,"mouseover",this.handleCellMouseOver.bind(this)),this._bindingEventService.bind(u,"mouseout",this.handleCellMouseOut.bind(this))}),ws&&(this.slickDraggableInstance=ws({containerElement:this._container,allowDragFrom:"div.slick-cell",allowDragFromClosest:"div.slick-cell.dnd, div.slick-cell.cell-reorder",preventDragFromKeys:this._options.preventDragFromKeys,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=z.parents(this._container,":hidden"),this._hiddenParents.forEach(u=>{const e={};Object.keys(this.cssShow).forEach(a=>{this.cssShow&&(e[a]=u.style[a],u.style[a]=this.cssShow[a])}),this.oldProps.push(e)})}restoreCssFromHiddenInit(){let u=0;this._hiddenParents&&this._hiddenParents.forEach(e=>{const a=this.oldProps[u++];Object.keys(this.cssShow).forEach(i=>{this.cssShow&&(e.style[i]=a[i])})})}hasFrozenColumns(){return this._options.frozenColumn>-1}registerPlugin(u){this.plugins.unshift(u),u.init(this)}unregisterPlugin(u){var e;for(let a=this.plugins.length;a>=0;a--)if(this.plugins[a]===u){(e=this.plugins[a])==null||e.destroy(),this.plugins.splice(a,1);break}}getPluginByName(u){var e;for(let a=this.plugins.length-1;a>=0;a--)if(((e=this.plugins[a])==null?void 0:e.pluginName)===u)return this.plugins[a]}getPubSubService(){return this._pubSubService}setSelectionModel(u){this.selectionModel&&(this.selectionModel.onSelectedRangesChanged.unsubscribe(this.handleSelectedRangesChanged.bind(this)),this.selectionModel.destroy&&this.selectionModel.destroy()),this.selectionModel=u,this.selectionModel&&(this.selectionModel.init(this),this.selectionModel.onSelectedRangesChanged.subscribe(this.handleSelectedRangesChanged.bind(this)))}getSelectionModel(){return this.selectionModel}getCanvasNode(u,e){return this._getContainerElement(this.getCanvases(),u,e)}getActiveCanvasNode(u){var e;return u===void 0?this._activeCanvasNode:(u instanceof ju&&(u=u.getNativeEvent()),this._activeCanvasNode=(e=u==null?void 0:u.target)==null?void 0:e.closest(".grid-canvas"),this._activeCanvasNode)}getCanvases(){return this._canvas}getViewportNode(u,e){return this._getContainerElement(this.getViewports(),u,e)}getViewports(){return this._viewport}getActiveViewportNode(u){return this.setActiveViewportNode(u),this._activeViewportNode}setActiveViewportNode(u){var e;return u instanceof ju&&(u=u.getNativeEvent()),this._activeViewportNode=(e=u==null?void 0:u.target)==null?void 0:e.closest(".slick-viewport"),this._activeViewportNode}_getContainerElement(u,e,a){if(!u)return;e||(e=0),a||(a=0);const i=typeof e=="number"?e:this.getColumnIndex(e),t=this.hasFrozenRows&&a>=this.actualFrozenRow+(this._options.frozenBottom?0:1),r=this.hasFrozenColumns()&&i>this._options.frozenColumn;return u[(t?2:0)+(r?1:0)]}measureScrollbar(){let u="";this._viewport.forEach(t=>u+=t.className);const e=A("div",{className:u,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),a=A("div",{style:{width:"200px",height:"200px",overflow:"auto"}},e),i={width:e.offsetWidth-e.clientWidth,height:e.offsetHeight-e.clientHeight};return a.remove(),e.remove(),i}getHeadersWidth(){var i,t,r,o;this.headersWidth=this.headersWidthL=this.headersWidthR=0;const u=!this._options.autoHeight;let e=0;const a=this.columns.length;for(e=0;e-1&&e>this._options.frozenColumn?this.headersWidthR+=s||0:this.headersWidthL+=s||0}return u&&(this._options.frozenColumn>-1&&e>this._options.frozenColumn?this.headersWidthR+=((i=this.scrollbarDimensions)==null?void 0:i.width)||0:this.headersWidthL+=((t=this.scrollbarDimensions)==null?void 0:t.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}getCanvasWidth(){var i;const u=this.viewportHasVScroll?this.viewportW-(((i=this.scrollbarDimensions)==null?void 0:i.width)||0):this.viewportW;let e=this.columns.length;for(this.canvasWidthL=this.canvasWidthR=0;e--;)!this.columns[e]||this.columns[e].hidden||(this.hasFrozenColumns()&&e>this._options.frozenColumn?this.canvasWidthR+=this.columns[e].width||0:this.canvasWidthL+=this.columns[e].width||0);let a=this.canvasWidthL+this.canvasWidthR;if(this._options.fullWidthRows){const t=Math.max(a,u)-a;t>0&&(a+=t,this.hasFrozenColumns()?this.canvasWidthR+=t:this.canvasWidthL+=t)}return a}updateCanvasWidth(u){var r,o,s,l,E;const e=this.canvasWidth,a=this.canvasWidthL,i=this.canvasWidthR;this.canvasWidth=this.getCanvasWidth(),this._options.createTopHeaderPanel&&z.width(this._topHeaderPanel,this._options.topHeaderPanelWidth??this.canvasWidth);const t=this.canvasWidth!==e||this.canvasWidthL!==a||this.canvasWidthR!==i;if(t||this.hasFrozenColumns()||this.hasFrozenRows)if(z.width(this._canvasTopL,this.canvasWidthL),this.getHeadersWidth(),z.width(this._headerL,this.headersWidthL),z.width(this._headerR,this.headersWidthR),this.hasFrozenColumns()){const d=z.width(this._container)||0;if(d>0&&this.canvasWidthL>d&&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");z.width(this._canvasTopR,this.canvasWidthR),z.width(this._paneHeaderL,this.canvasWidthL),z.setStyleSize(this._paneHeaderR,"left",this.canvasWidthL),z.setStyleSize(this._paneHeaderR,"width",this.viewportW-this.canvasWidthL),z.width(this._paneTopL,this.canvasWidthL),z.setStyleSize(this._paneTopR,"left",this.canvasWidthL),z.width(this._paneTopR,this.viewportW-this.canvasWidthL),z.width(this._headerRowScrollerL,this.canvasWidthL),z.width(this._headerRowScrollerR,this.viewportW-this.canvasWidthL),z.width(this._headerRowL,this.canvasWidthL),z.width(this._headerRowR,this.canvasWidthR),this._options.createFooterRow&&(z.width(this._footerRowScrollerL,this.canvasWidthL),z.width(this._footerRowScrollerR,this.viewportW-this.canvasWidthL),z.width(this._footerRowL,this.canvasWidthL),z.width(this._footerRowR,this.canvasWidthR)),this._options.createPreHeaderPanel&&z.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),z.width(this._viewportTopL,this.canvasWidthL),z.width(this._viewportTopR,this.viewportW-this.canvasWidthL),this.hasFrozenRows&&(z.width(this._paneBottomL,this.canvasWidthL),z.setStyleSize(this._paneBottomR,"left",this.canvasWidthL),z.width(this._viewportBottomL,this.canvasWidthL),z.width(this._viewportBottomR,this.viewportW-this.canvasWidthL),z.width(this._canvasBottomL,this.canvasWidthL),z.width(this._canvasBottomR,this.canvasWidthR))}else z.width(this._paneHeaderL,"100%"),z.width(this._paneTopL,"100%"),z.width(this._headerRowScrollerL,"100%"),z.width(this._headerRowL,this.canvasWidth),this._options.createFooterRow&&(z.width(this._footerRowScrollerL,"100%"),z.width(this._footerRowL,this.canvasWidth)),this._options.createPreHeaderPanel&&z.width(this._preHeaderPanel,this._options.preHeaderPanelWidth??this.canvasWidth),z.width(this._viewportTopL,"100%"),this.hasFrozenRows&&(z.width(this._viewportBottomL,"100%"),z.width(this._canvasBottomL,this.canvasWidthL));this.viewportHasHScroll=this.canvasWidth>=this.viewportW-(((r=this.scrollbarDimensions)==null?void 0:r.width)||0),z.width(this._headerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((o=this.scrollbarDimensions)==null?void 0:o.width)||0)),z.width(this._headerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((s=this.scrollbarDimensions)==null?void 0:s.width)||0)),this._options.createFooterRow&&(z.width(this._footerRowSpacerL,this.canvasWidth+(this.viewportHasVScroll&&((l=this.scrollbarDimensions)==null?void 0:l.width)||0)),z.width(this._footerRowSpacerR,this.canvasWidth+(this.viewportHasVScroll&&((E=this.scrollbarDimensions)==null?void 0:E.width)||0))),(t||u)&&this.applyColumnWidths()}disableSelection(u){u.forEach(e=>{e.setAttribute("unselectable","on"),e.style.mozUserSelect="none",this._bindingEventService.bind(e,"selectstart",()=>!1)})}getMaxSupportedCssHeight(){let u=1e6;const e=navigator.userAgent.toLowerCase().match(/firefox/)?this._options.ffMaxSupportedCssHeight:this._options.maxSupportedCssHeight,a=A("div",{style:{display:"hidden"}},document.body);let i=!0;for(;i;){const t=u*2;z.height(a,t);const r=z.height(a);if(t>e||r!==t){i=!1;break}else u=t}return a.remove(),u}getUID(){return this.uid}getHeaderColumnWidthDiff(){return this.headerColumnWidthDiff}getScrollbarDimensions(){return this.scrollbarDimensions}getDisplayedScrollbarDimensions(){var u,e;return{width:this.viewportHasVScroll&&((u=this.scrollbarDimensions)==null?void 0:u.width)||0,height:this.viewportHasHScroll&&((e=this.scrollbarDimensions)==null?void 0:e.height)||0}}getAbsoluteColumnMinWidth(){return this.absoluteColumnMinWidth}bindAncestorScrollEvents(){let u=this.hasFrozenRows&&!this._options.frozenBottom?this._canvasBottomL:this._canvasTopL;for(;(u=u.parentNode)!==document.body&&u;)(u===this._viewportTopL||u.scrollWidth!==u.clientWidth||u.scrollHeight!==u.clientHeight)&&(this._boundAncestors.push(u),this._bindingEventService.bind(u,"scroll",this.handleActiveCellPositionChange.bind(this)))}unbindAncestorScrollEvents(){this._boundAncestors.forEach(u=>{this._bindingEventService.unbindByEventName(u,"scroll")}),this._boundAncestors=[]}updateColumnHeader(u,e,a){if(this.initialized){const i=this.getColumnIndex(u);if(!bu(i))return;const t=this.columns[i],r=this.getColumnByIndex(i);return r&&(e!==void 0&&(this.columns[i].name=e),a!==void 0&&(this.columns[i].toolTip=a),this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:r,column:t,grid:this}),r.setAttribute("title",a||""),e!==void 0&&this.applyHtmlCode(r.children[0],e),this.triggerEvent(this.onHeaderCellRendered,{node:r,column:t,grid:this})),r}}getHeader(u){if(!u)return this.hasFrozenColumns()?this._headers:this._headerL;const e=this.getColumnIndex(u.id);return this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL}getHeaderColumn(u){const e=typeof u=="number"?u:this.getColumnIndex(u),a=this.hasFrozenColumns()?e<=this._options.frozenColumn?this._headerL:this._headerR:this._headerL,i=this.hasFrozenColumns()?e<=this._options.frozenColumn?e:e-this._options.frozenColumn-1:e;return a.children[i]}getHeaderRow(){var u;return this.hasFrozenColumns()?this._headerRows:(u=this._headerRows)==null?void 0:u[0]}getFooterRow(){var u;return this.hasFrozenColumns()?this._footerRow:(u=this._footerRow)==null?void 0:u[0]}getPreHeaderPanel(){return this._preHeaderPanel}getPreHeaderPanelLeft(){return this._preHeaderPanel}getPreHeaderPanelRight(){return this._preHeaderPanelR}getTopHeaderPanel(){return this._topHeaderPanel}getHeaderRowColumn(u){let e=typeof u=="number"?u:this.getColumnIndex(u),a;return this.hasFrozenColumns()?e<=this._options.frozenColumn?a=this._headerRowL:(a=this._headerRowR,e-=this._options.frozenColumn+1):a=this._headerRowL,a.children[e]}getFooterRowColumn(u){let e=typeof u=="number"?u:this.getColumnIndex(u),a;return this.hasFrozenColumns()?e<=this._options.frozenColumn?a=this._footerRowL:(a=this._footerRowR,e-=this._options.frozenColumn+1):a=this._footerRowL,a==null?void 0:a.children[e]}createColumnFooter(){if(this._options.createFooterRow){this._footerRow.forEach(u=>{u.querySelectorAll(".slick-footerrow-column").forEach(a=>{const i=z.storage.get(a,"column");this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:a,column:i,grid:this})})}),Au(this._footerRowL),Au(this._footerRowR);for(let u=0;uthis._options.frozenColumn?this._footerRowR:this._footerRowL),i=this.hasFrozenColumns()&&u<=this._options.frozenColumn?"frozen":null;i&&a.classList.add(i),z.storage.put(a,"column",e),this.triggerEvent(this.onFooterRowCellRendered,{node:a,column:e,grid:this})}}}handleHeaderMouseHoverOn(u){u==null||u.target.classList.add("slick-state-hover")}handleHeaderMouseHoverOff(u){u==null||u.target.classList.remove("slick-state-hover")}createColumnHeaders(){this._headers.forEach(u=>{u.querySelectorAll(".slick-header-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeHeaderCellDestroy,{node:a,column:i,grid:this})})}),Au(this._headerL),Au(this._headerR),this.getHeadersWidth(),z.width(this._headerL,this.headersWidthL),z.width(this._headerR,this.headersWidthR),this._headerRows.forEach(u=>{u.querySelectorAll(".slick-headerrow-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeHeaderRowCellDestroy,{node:this,column:i,grid:this})})}),Au(this._headerRowL),Au(this._headerRowR),this._options.createFooterRow&&(this._footerRowL.querySelectorAll(".slick-footerrow-column").forEach(e=>{const a=z.storage.get(e,"column");a&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:a,grid:this})}),Au(this._footerRowL),this.hasFrozenColumns()&&(this._footerRowR.querySelectorAll(".slick-footerrow-column").forEach(a=>{const i=z.storage.get(a,"column");i&&this.triggerEvent(this.onBeforeFooterRowCellDestroy,{node:this,column:i,grid:this})}),Au(this._footerRowR)));for(let u=0;u{e.headerCellAttrs.hasOwnProperty(s)&&t.setAttribute(s,e.headerCellAttrs[s])}),e.sortable&&(t.classList.add("slick-header-sortable"),A("div",{className:`slick-sort-indicator ${this._options.numberedMultiColumnSort&&!this._options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":""}`},t),this._options.numberedMultiColumnSort&&this._options.sortColNumberInSeparateSpan&&A("div",{className:"slick-sort-indicator-numbered"},t)),this.triggerEvent(this.onHeaderCellRendered,{node:t,column:e,grid:this}),this._options.showHeaderRow){const s=A("div",{className:`slick-state-default slick-headerrow-column l${u} r${u}`},i),l=this.hasFrozenColumns()&&u<=this._options.frozenColumn?"frozen":null;l&&s.classList.add(l),this._bindingEventService.bind(s,"mouseenter",this.handleHeaderRowMouseEnter.bind(this)),this._bindingEventService.bind(s,"mouseleave",this.handleHeaderRowMouseLeave.bind(this)),this._bindingEventService.bind(s,"mouseover",this.handleHeaderRowMouseOver.bind(this)),this._bindingEventService.bind(s,"mouseout",this.handleHeaderRowMouseOut.bind(this)),z.storage.put(s,"column",e),this.triggerEvent(this.onHeaderRowCellRendered,{node:s,column:e,grid:this})}if(this._options.createFooterRow&&this._options.showFooterRow){const s=this.hasFrozenColumns()?u<=this._options.frozenColumn?this._footerRow[0]:this._footerRow[1]:this._footerRow[0],l=A("div",{className:`slick-state-default slick-footerrow-column l${u} r${u}`},s);z.storage.put(l,"column",e),this.triggerEvent(this.onFooterRowCellRendered,{node:l,column:e,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.triggerEvent):this.setupColumnReorder())}setupColumnSort(){this._headers.forEach(u=>{this._bindingEventService.bind(u,"click",e=>{var t;if(this.columnResizeDragging||e.target.classList.contains("slick-resizable-handle"))return;const a=e.target.closest(".slick-header-column");if(!a)return;const i=z.storage.get(a,"column");if(i!=null&&i.sortable){if(!((t=this.getEditorLock())!=null&&t.commitCurrentEdit()))return;const r=this.sortColumns.slice();let o=null,s=0;for(;s{const c=this.columns[this.getColumnIndex(d.columnId)];return!c||c.hidden?null:{columnId:c.id,sortCol:c,sortAsc:d.sortAsc}}).filter(d=>d)}:E={multiColumnSort:!1,previousSortColumns:r,columnId:this.sortColumns.length>0?i.id:null,sortCol:this.sortColumns.length>0?i:null,sortAsc:this.sortColumns.length>0?this.sortColumns[0].sortAsc:!0},this.triggerEvent(this.onBeforeSort,E,e).getReturnValue()!==!1&&(this.setSortColumns(this.sortColumns),this.triggerEvent(this.onSort,E,e))}})})}setupColumnReorder(){var r,o;(r=this.sortableSideLeftInstance)==null||r.destroy(),(o=this.sortableSideRightInstance)==null||o.destroy();let u=null;const e=()=>this._viewportScrollContainerX.scrollLeft+=10,a=()=>this._viewportScrollContainerX.scrollLeft-=10;let i=!1;const t={animation:50,direction:"horizontal",chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dragoverBubble:!1,revertClone:!0,scroll:!this.hasFrozenColumns(),filter:`.${this._options.unorderableColumnCssClass}`,onMove:s=>!s.related.classList.contains(this._options.unorderableColumnCssClass),onStart:s=>{i=!this.hasFrozenColumns()||Ou(s.item).left>Ou(this._viewportScrollContainerX).left,i&&s.originalEvent.pageX>this._container.clientWidth?u||(u=setInterval(e,100)):i&&s.originalEvent.pageX{var d,c,D;if(clearInterval(u),u=null,!((d=this.getEditorLock())!=null&&d.commitCurrentEdit()))return;let l=((c=this.sortableSideLeftInstance)==null?void 0:c.toArray())??[];l=l.concat(((D=this.sortableSideRightInstance)==null?void 0:D.toArray())??[]);const E=[];for(let m=0;m"u")throw new Error('SlickResizable is undefined, make sure to import "slick.interactions.js"');let u,e,a,i,t,r,o,s=-1,l=0;const E=this.getHeaderChildren(),d=this.getVisibleColumns();for(let D=0;Dg.remove()),D=d.length||!d[D]||D=s)continue;const h=A("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},m);this._bindingEventService.bind(h,"dblclick",this.handleResizeableDoubleClick.bind(this)),this.slickResizableInstances.push(Ts({resizeableElement:m,resizeableHandleElement:h,onResizeStart:(g,x)=>{var S;const p=g.touches?g.changedTouches[0]:g;if(!((S=this.getEditorLock())!=null&&S.commitCurrentEdit()))return!1;i=p.pageX,l=0,x.resizeableElement.classList.add("slick-header-column-active");let F=null,v=null;for(let y=0;y{var w;const p=g.touches?g.changedTouches[0]:g;this.columnResizeDragging=!0;let F;const v=Math.min(r,Math.max(t,p.pageX))-i;let b,B=0,S=0;const y=this.viewportHasVScroll?this.viewportW-(((w=this.scrollbarDimensions)==null?void 0:w.width)||0):this.viewportW;if(v<0){for(b=v,u=D;u>=0;u--)a=d[u],a&&a.resizable&&!a.hidden&&(F=Math.max(a.minWidth||0,this.absoluteColumnMinWidth),b&&(a.previousWidth||0)+bthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);else for(u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;u=0;u--)if(a=d[u],!(!a||a.hidden)&&a.resizable)if(b&&a.maxWidth&&a.maxWidth-(a.previousWidth||0)l&&jy?l:M):a.width=M,b=0}for(e=0;e<=D;e++)a=d[e],!(!a||a.hidden)&&(this.hasFrozenColumns()&&e>this._options.frozenColumn?S+=a.width||0:B+=a.width||0);if(this._options.forceFitColumns)for(b=-v,u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0);else for(u=D+1;uthis._options.frozenColumn?S+=a.width||0:B+=a.width||0)}this.hasFrozenColumns()&&B!==this.canvasWidthL&&(z.width(this._headerL,B+1e3),z.setStyleSize(this._paneHeaderR,"left",B)),this.applyColumnHeaderWidths(),this._options.syncColumnCellResize&&this.applyColumnWidths(),this.triggerEvent(this.onColumnsDrag,{triggeredByColumn:x.resizeableElement,resizeHandle:x.resizeableHandleElement})},onResizeEnd:(g,x)=>{x.resizeableElement.classList.remove("slick-header-column-active");const p=x.resizeableElement.id.replace(this.uid,"");this.triggerEvent(this.onBeforeColumnsResize,{triggeredByColumn:p}).getReturnValue()===!0&&this.applyColumnHeaderWidths();let F;for(u=0;uthis.columnResizeDragging=!1,this._options.columnResizingDelay)}}))}}getVBoxDelta(u){const e=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=getComputedStyle(u);let i=0;return e.forEach(t=>i+=z.toFloat(a[t])),i}setFrozenOptions(){if(this._options.frozenColumn=this._options.frozenColumn>=0&&this._options.frozenColumn-1){this.hasFrozenRows=!0,this.frozenRowsHeight=this._options.frozenRow*this._options.rowHeight;const u=this.getDataLength();this.actualFrozenRow=this._options.frozenBottom?u-this._options.frozenRow:this._options.frozenRow}else this.hasFrozenRows=!1}setPaneVisibility(){this.hasFrozenColumns()?(z.show(this._paneHeaderR),z.show(this._paneTopR),this.hasFrozenRows?(z.show(this._paneBottomL),z.show(this._paneBottomR)):(z.hide(this._paneBottomR),z.hide(this._paneBottomL))):(z.hide(this._paneHeaderR),z.hide(this._paneTopR),z.hide(this._paneBottomR),this.hasFrozenRows?z.show(this._paneBottomL):(z.hide(this._paneBottomR),z.hide(this._paneBottomL)))}setOverflow(){if(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){const u=_u(this._options.viewportClass);this._viewportTopL.classList.add(...u),this._viewportTopR.classList.add(...u),this._viewportBottomL.classList.add(...u),this._viewportBottomR.classList.add(...u)}}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 u=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],e=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=this._headers[0];this.headerColumnWidthDiff=this.headerColumnHeightDiff=0,this.cellWidthDiff=this.cellHeightDiff=0;let i=A("div",{className:"slick-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},a),t=getComputedStyle(i);t.boxSizing!=="border-box"&&(u.forEach(o=>this.headerColumnWidthDiff+=z.toFloat(t[o])),e.forEach(o=>this.headerColumnHeightDiff+=z.toFloat(t[o]))),i.remove();const r=A("div",{className:"slick-row"},this._canvas[0]);i=A("div",{className:"slick-cell",id:"",style:{visibility:"hidden"},textContent:"-"},r),t=getComputedStyle(i),t.boxSizing!=="border-box"&&(u.forEach(o=>this.cellWidthDiff+=z.toFloat(t[o])),e.forEach(o=>this.cellHeightDiff+=z.toFloat(t[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 u=this._options.rowHeight-this.cellHeightDiff,e=[`.${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-topheader-panel { height: ${this._options.topHeaderPanelHeight}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: ${u}px; }`,`.${this.uid} .slick-row { height: ${this._options.rowHeight}px; }`],a=this._style.sheet;if(a){e.forEach(i=>{a.insertRule(i)});for(let i=0;i',this._style=e.content.firstChild,(this._options.shadowRoot||document.head).appendChild(this._style);for(let a=0;a=0&&(a[this._options.devMode.ownerNodeIndex].ownerNode=this._style),e=0;e{this._bindingEventService.unbindByEventName(s,"keydown"),this._bindingEventService.unbindByEventName(s,"click"),this._bindingEventService.unbindByEventName(s,"dblclick"),this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"mouseover"),this._bindingEventService.unbindByEventName(s,"mouseout")}),this._viewport.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._headerScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"click")}),this._headerRowScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._footerRow&&this._footerRow.forEach(s=>{this._bindingEventService.unbindByEventName(s,"contextmenu"),this._bindingEventService.unbindByEventName(s,"click")}),this._footerRowScroller&&this._footerRowScroller.forEach(s=>{this._bindingEventService.unbindByEventName(s,"scroll")}),this._preHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._preHeaderPanelScroller,"scroll"),this._topHeaderPanelScroller&&this._bindingEventService.unbindByEventName(this._topHeaderPanelScroller,"scroll"),this._bindingEventService.unbindByEventName(this._focusSink,"keydown"),this._bindingEventService.unbindByEventName(this._focusSink2,"keydown");const a=this._container.querySelectorAll(".slick-resizable-handle");[].forEach.call(a,s=>{this._bindingEventService.unbindByEventName(s,"dblclick")});const i=this._container.querySelectorAll(".slick-header-column");[].forEach.call(i,s=>{this._bindingEventService.unbindByEventName(s,"mouseenter"),this._bindingEventService.unbindByEventName(s,"mouseleave"),this._bindingEventService.unbindByEventName(s,"mouseover"),this._bindingEventService.unbindByEventName(s,"mouseout")}),Au(this._container),this._container.classList.remove(this.uid),this.clearAllTimers(),u&&Tr(this)}destroyAllInstances(u){if(u){const e=Array.isArray(u)?u:[u];let a;for(;bu(a=e.pop());)a&&typeof a.destroy=="function"&&a.destroy()}return u=Array.isArray(u)?[]:null,u}autosizeColumns(){this.legacyAutosizeColumns()}legacyAutosizeColumns(){var l;let u,e,a=0,i=0,t=0;const r=[],o=this.viewportHasVScroll?this.viewportW-(((l=this.scrollbarDimensions)==null?void 0:l.width)||0):this.viewportW;for(u=0;uo&&a;){const E=(i-o)/a;for(u=0;uo;u++){if(e=this.columns[u],!e||e.hidden)continue;const d=r[u];if(!e.resizable||d<=e.minWidth||d<=this.absoluteColumnMinWidth)continue;const c=Math.max(e.minWidth,this.absoluteColumnMinWidth);let D=Math.floor(E*(d-c))||1;D=Math.min(D,d-c),i-=D,a-=D,r[u]-=D}if(t<=i)break;t=i}for(t=i;i=i)break;t=i}let s=!1;for(u=0;u!u.hidden)}triggerEvent(u,e,a){const i=a||new ju(a,e),t=e||{};return t.grid=this,u.notify(t,i,this)}getEditorLock(){return this._options.editorLock}getEditController(){return this.editController}getColumnIndex(u){return this.columnsById[u]}applyColumnHeaderWidths(){if(this.initialized){let u=0;const e=this.getVisibleColumns();this._headers.forEach(a=>{for(let i=0;ithis._options.frozenColumn?this.canvasWidthR:this.canvasWidthL)-u-e+"px"),this._options.frozenColumn!==t&&(u+=this.columns[t].width)),this._options.frozenColumn===t&&(u=0)}setSortColumn(u,e){this.setSortColumns([{columnId:u,sortAsc:e}])}getColumnByIndex(u){let e;return this._headers.every(a=>{const i=a.children.length;return u1;this._headers.forEach(i=>{let t=i.querySelectorAll(".slick-header-column-sorted");t.forEach(r=>r.classList.remove("slick-header-column-sorted")),t=i.querySelectorAll(".slick-sort-indicator"),t.forEach(r=>r.classList.remove("slick-sort-indicator-asc","slick-sort-indicator-desc")),t=i.querySelectorAll(".slick-sort-indicator-numbered"),t.forEach(r=>r.textContent="")});let a=1;this.sortColumns.forEach(i=>{bu(i.sortAsc)||(i.sortAsc=!0);const t=this.getColumnIndex(i.columnId);if(bu(t)){const r=this.getColumnByIndex(t);if(r){r.classList.add("slick-header-column-sorted");let o=r.querySelector(".slick-sort-indicator");o==null||o.classList.add(i.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),e&&(o=r.querySelector(".slick-sort-indicator-numbered"),o&&(o.textContent=String(a)))}}a++})}getSortColumns(){return this.sortColumns}handleSelectedRangesChanged(u,e){var r;const a=u.getNativeEvent(),i=this.selectedRows.slice(0);this.selectedRows=[];const t={};for(let o=0;oi.indexOf(E)<0),l=i.filter(E=>this.getSelectedRows().indexOf(E)<0);this.triggerEvent(this.onSelectedRowsChanged,{rows:this.getSelectedRows(),previousSelectedRows:i,caller:o,changedSelectedRows:s,changedUnselectedRows:l},u)}}simpleArrayEquals(u,e){return Array.isArray(u)&&Array.isArray(e)&&e.sort().toString()!==u.sort().toString()}getColumns(){return this.columns}updateColumnCaches(){this.columnPosLeft=[],this.columnPosRight=[];let u=0;for(let e=0,a=this.columns.length;ee.maxWidth&&(e.width=e.maxWidth)}}setColumns(u){this.triggerEvent(this.onBeforeSetColumns,{previousColumns:this.columns,newColumns:u,grid:this}),this.columns=u,this.updateColumnsInternal(),this.triggerEvent(this.onAfterSetColumns,{newColumns:u,grid:this})}updateColumns(){this.triggerEvent(this.onBeforeUpdateColumns,{columns:this.columns,grid:this}),this.updateColumnsInternal()}updateColumnsInternal(){var u;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(),(u=this.getSelectionModel())==null||u.refreshSelections())}getOptions(){return this._options}setOptions(u,e,a,i){this.prepareForOptionsChange(),this._options.enableAddRow!==u.enableAddRow&&this.invalidateRow(this.getDataLength()),u.frozenColumn&&(this.getViewports().forEach(r=>r.scrollLeft=0),this.handleScroll());const t=Mu(!0,{},this._options);this._options=Mu(this._options,u),this.triggerEvent(this.onSetOptions,{optionsBefore:t,optionsAfter:this._options}),this.internal_setOptions(e,a,i)}activateChangedOptions(u,e,a){this.prepareForOptionsChange(),this.invalidateRow(this.getDataLength()),this.triggerEvent(this.onActivateChangedOptions,{options:this._options}),this.internal_setOptions(u,e,a)}prepareForOptionsChange(){var u;(u=this.getEditorLock())!=null&&u.commitCurrentEdit()&&this.makeActiveCellNormal()}internal_setOptions(u,e,a){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(i=>{i.style.overflowY=this._options.autoHeight?"hidden":"auto"}),u||this.render(),this.setScroller(),a||this.setOverflow(),e||this.setColumns(this.columns),this._options.enableMouseWheelScrollHandler&&this._viewport&&(!this.slickMouseWheelInstances||this.slickMouseWheelInstances.length===0)?this._viewport.forEach(i=>{this.slickMouseWheelInstances.push(Ms({element:i,onMouseWheel:this.handleMouseWheel.bind(this)}))}):this._options.enableMouseWheelScrollHandler===!1&&this.destroyAllInstances(this.slickMouseWheelInstances)}validateAndEnforceOptions(){this._options.autoHeight&&(this._options.leaveSpaceForNewRows=!1)}setData(u,e){this.data=u,this.invalidateAllRows(),this.updateRowCount(),e&&this.scrollTo(0)}getData(){return this.data}getDataLength(){var u;return this.data.getLength?this.data.getLength():((u=this.data)==null?void 0:u.length)||0}getDataLengthIncludingAddNew(){return this.getDataLength()+(this._options.enableAddRow&&(!this.pagingActive||this.pagingIsLastPage)?1:0)}getDataItem(u){return this.data.getItem?this.data.getItem(u):this.data[u]}getTopPanel(){return this._topPanels[0]}getTopPanels(){return this._topPanels}hasDataView(){return!Array.isArray(this.data)}togglePanelVisibility(u,e,a){this._options[u]!==a&&(this._options[u]=a,a?z.show(e):z.hide(e),this.resizeCanvas())}setTopPanelVisibility(u){this.togglePanelVisibility("showTopPanel",this._topPanelScrollers,u)}setHeaderRowVisibility(u){this.togglePanelVisibility("showHeaderRow",this._headerRowScroller,u)}setColumnHeaderVisibility(u){this.togglePanelVisibility("showColumnHeader",this._headerScroller,u)}setFooterRowVisibility(u){this.togglePanelVisibility("showFooterRow",this._footerRowScroller,u)}setPreHeaderPanelVisibility(u){this.togglePanelVisibility("showPreHeaderPanel",[this._preHeaderPanelScroller,this._preHeaderPanelScrollerR],u)}setTopHeaderPanelVisibility(u){this.togglePanelVisibility("showTopHeaderPanel",this._topHeaderPanelScroller,u)}getContainerNode(){return this._container}getRowTop(u){return this._options.rowHeight*u-this.offset}getRowFromPosition(u){return Math.floor((u+this.offset)/this._options.rowHeight)}scrollTo(u){var i;u=Math.max(u,0),u=Math.min(u,(this.th||0)-z.height(this._viewportScrollContainerY)+((this.viewportHasHScroll||this.hasFrozenColumns())&&((i=this.scrollbarDimensions)==null?void 0:i.height)||0));const e=this.offset;this.offset=Math.round(this.page*(this.cj||0)),this.page=Math.min((this.n||0)-1,Math.floor(u/(this.ph||0)));const a=u-this.offset;if(this.offset!==e){const t=this.getVisibleRange(a);this.cleanupRows(t),this.updateRowPositions()}this.prevScrollTop!==a&&(this.vScrollDir=this.prevScrollTop+e/g,">"):""}getFormatter(u,e){var t,r,o;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u),i=(a==null?void 0:a.columns)&&(a.columns[e.id]||a.columns[this.getColumnIndex(e.id)]);return(i==null?void 0:i.formatter)||(a==null?void 0:a.formatter)||e.formatter||((o=this._options.formatterFactory)==null?void 0:o.getFormatter(e))||this._options.defaultFormatter}getEditor(u,e){var r,o,s,l,E,d;const a=this.columns[e],i=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,u),t=i==null?void 0:i.columns;return((s=t==null?void 0:t[a.id])==null?void 0:s.editorClass)!==void 0?t[a.id].editorClass:((l=t==null?void 0:t[e])==null?void 0:l.editorClass)!==void 0?t[e].editorClass:a.editorClass||((d=(E=this._options)==null?void 0:E.editorFactory)==null?void 0:d.getEditor(a))}getDataItemValueForColumn(u,e){return this._options.dataItemColumnValueExtractor?this._options.dataItemColumnValueExtractor(u,e):u[e.field]}appendRowHtml(u,e,a,i,t){var h,g;const r=this.getDataItem(a),o=ai.leftPx){if(!m.alwaysRenderColumn&&this.columnPosLeft[x]>i.rightPx)break;this.hasFrozenColumns()&&x>this._options.frozenColumn?this.appendCellHtml(c,a,x,D,r):this.appendCellHtml(d,a,x,D,r)}else(m.alwaysRenderColumn||this.hasFrozenColumns()&&x<=this._options.frozenColumn)&&this.appendCellHtml(d,a,x,D,r);D>1&&(x+=D-1)}}appendCellHtml(u,e,a,i,t){const r=this.columns[a];let o="slick-cell l"+a+" r"+Math.min(this.columns.length-1,a+i-1)+(r.cssClass?" "+r.cssClass:"");this.hasFrozenColumns()&&a<=this._options.frozenColumn&&(o+=" frozen"),e===this.activeRow&&a===this.activeCell&&this._options.showCellSelection&&(o+=" active"),Object.keys(this.cellCssClasses).forEach(h=>{var g;(g=this.cellCssClasses[h][e])!=null&&g[r.id]&&(o+=` ${this.cellCssClasses[h][e][r.id]}`)});let s=null,l="";t&&(s=this.getDataItemValueForColumn(t,r),l=this.getFormatter(e,r)(e,a,s,r,t,this),l==null&&(l=""));const d=this.triggerEvent(this.onBeforeAppendCell,{row:e,cell:a,value:s,dataContext:t}).getReturnValue();let c=typeof d=="string"?d:"";l!=null&&l.addClasses&&(c+=_u((c?" ":"")+l.addClasses).join(" "));const D=l!=null&&l.toolTip?`${l.toolTip}`:"",m=A("div",{className:_u(`${o} ${c||""}`).join(" "),role:"gridcell",tabIndex:-1});if(m.setAttribute("aria-describedby",this.uid+r.id),D&&m.setAttribute("title",D),r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object&&Object.keys(r.cellAttrs).forEach(h=>{r.cellAttrs.hasOwnProperty(h)&&m.setAttribute(h,r.cellAttrs[h])}),t){const h=ca(l)?l:l.html||l.text;this.applyHtmlCode(m,h)}u.appendChild(m),l.insertElementAfterTarget&&ql(m,l.insertElementAfterTarget),this.rowsCache[e].cellRenderQueue.push(a),this.rowsCache[e].cellColSpans[a]=i}cleanupRows(u){Object.keys(this.rowsCache).forEach(e=>{if(this.rowsCache){let a=+e,i=!0;this.hasFrozenRows&&(this._options.frozenBottom&&a>=this.actualFrozenRow||!this._options.frozenBottom&&a<=this.actualFrozenRow)&&(i=!1),(a=parseInt(e,10))!==this.activeRow&&(au.bottom)&&i&&this.removeRowFromCache(a)}}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidate(){this.updateRowCount(),this.invalidateAllRows(),this.render()}invalidateAllRows(){this.currentEditor&&this.makeActiveCellNormal(),typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(u=>{this.rowsCache&&this.removeRowFromCache(+u)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup()}invalidateRows(u){if(u!=null&&u.length){this.vScrollDir=0;const e=u.length;for(let a=0;a=0&&this.invalidateRows([u])}queuePostProcessedRowForCleanup(u,e,a){var i;this.postProcessgroupId++,typeof e=="object"&&Object.keys(e).forEach(t=>{e.hasOwnProperty(t)&&this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:u.cellNodesByColumnIdx[+t],columnIdx:+t,rowIdx:a})}),u.rowNode||(u.rowNode=[]),this.postProcessedCleanupQueue.push({actionType:"R",groupId:this.postProcessgroupId,node:u.rowNode}),(i=u.rowNode)==null||i.forEach(t=>t.remove())}queuePostProcessedCellForCleanup(u,e,a){this.postProcessedCleanupQueue.push({actionType:"C",groupId:this.postProcessgroupId,node:u,columnIdx:e,rowIdx:a}),u.remove()}removeRowFromCache(u){var a;const e=this.rowsCache[u];e!=null&&e.rowNode&&(this._options.enableAsyncPostRenderCleanup&&this.postProcessedRows[u]?this.queuePostProcessedRowForCleanup(e,this.postProcessedRows[u],u):(a=e.rowNode)==null||a.forEach(i=>{var t;return(t=i.parentElement)==null?void 0:t.removeChild(i)}),delete this.rowsCache[u],delete this.postProcessedRows[u],this.renderedRows--,this.counter_rows_removed++)}applyFormatResultToCellNode(u,e,a){if(u==null&&(u=""),ca(u)){this.applyHtmlCode(e,u);return}const i=u.html||u.text;this.applyHtmlCode(e,i),u.removeClasses&&!a&&e.classList.remove(..._u(u.removeClasses)),u.addClasses&&e.classList.add(..._u(u.addClasses)),u.toolTip&&e.setAttribute("title",u.toolTip)}updateCell(u,e){const a=this.getCellNode(u,e);if(a){const i=this.columns[e],t=this.getDataItem(u);if(this.currentEditor&&this.activeRow===u&&this.activeCell===e)this.currentEditor.loadValue(t);else{const r=t?this.getFormatter(u,i)(u,e,this.getDataItemValueForColumn(t,i),i,t,this):"";this.applyFormatResultToCellNode(r,a),this.invalidatePostProcessingResults(u)}}}updateRow(u){const e=this.rowsCache[u];if(!e)return;this.ensureCellNodesInRowsCache(u);let a;const i=this.getDataItem(u);Object.keys(e.cellNodesByColumnIdx).forEach(t=>{if(!e.cellNodesByColumnIdx.hasOwnProperty(t))return;const r=+t,o=this.columns[r],s=e.cellNodesByColumnIdx[r];this.currentEditor&&u===this.activeRow&&r===this.activeCell?this.currentEditor.loadValue(i):i?(a=this.getFormatter(u,o)(u,r,this.getDataItemValueForColumn(i,o),o,i,this),this.applyFormatResultToCellNode(a,s)):Au(s)}),this.invalidatePostProcessingResults(u)}getViewportRowCount(){var a;const u=this.getViewportHeight(),e=((a=this.getScrollbarDimensions())==null?void 0:a.height)||0;return Math.floor((u-e)/this._options.rowHeight)}getViewportHeight(){var u;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 e=this._paneHeaderL.offsetHeight;e+=this._options.showHeaderRow?this._options.headerRowHeight+this.getVBoxDelta(this._headerRowScroller[0]):0,e+=this._options.showFooterRow?this._options.footerRowHeight+this.getVBoxDelta(this._footerRowScroller[0]):0,e+=this.getCanvasWidth()>this.viewportW&&((u=this.scrollbarDimensions)==null?void 0:u.height)||0,this.viewportH=this._options.rowHeight*this.getDataLengthIncludingAddNew()+(this._options.frozenColumn===-1?e:0)}else{const e=this._options.showColumnHeader?z.toFloat(z.height(this._headerScroller[0]))+this.getVBoxDelta(this._headerScroller[0]):0,a=this._options.createPreHeaderPanel&&this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight+this.getVBoxDelta(this._preHeaderPanelScroller):0,i=this._options.createTopHeaderPanel&&this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight+this.getVBoxDelta(this._topHeaderPanelScroller):0,t=getComputedStyle(this._container);this.viewportH=z.toFloat(t.height)-z.toFloat(t.paddingTop)-z.toFloat(t.paddingBottom)-e-this.topPanelH-this.headerRowH-this.footerRowH-a-i}return this.numVisibleRows=Math.ceil(this.viewportH/this._options.rowHeight),this.viewportH}getViewportWidth(){return this.viewportW=parseFloat(pt(this._container,"width"))||this._options.devMode&&this._options.devMode.containerClientWidth||0,this.viewportW}resizeCanvas(){var u,e,a;if(this.initialized){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-(((u=this.scrollbarDimensions)==null?void 0:u.height)||0),this.paneBottomH=this.frozenRowsHeight+(((e=this.scrollbarDimensions)==null?void 0:e.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+=((a=this.scrollbarDimensions)==null?void 0:a.height)||0),this.viewportTopH=this.paneTopH-this.topPanelH-this.headerRowH-this.footerRowH,this._options.autoHeight){if(this.hasFrozenColumns()){const r=getComputedStyle(this._headerScrollerL);z.height(this._container,this.paneTopH+z.toFloat(r.height))}this._paneTopL.style.position="relative"}let i=z.height(this._paneHeaderL);i?i+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0:i=(this._options.showHeaderRow?this._options.headerRowHeight:0)+(this._options.showPreHeaderPanel?this._options.preHeaderPanelHeight:0),z.setStyleSize(this._paneTopL,"top",i||i),z.height(this._paneTopL,this.paneTopH);const t=this._paneTopL.offsetTop+this.paneTopH;if(this._options.autoHeight||z.height(this._viewportTopL,this.viewportTopH),this.hasFrozenColumns()){let r=z.height(this._paneHeaderL);r&&(r+=this._options.showTopHeaderPanel?this._options.topHeaderPanelHeight:0),z.setStyleSize(this._paneTopR,"top",r),z.height(this._paneTopR,this.paneTopH),z.height(this._viewportTopR,this.viewportTopH),this.hasFrozenRows&&(z.setStyleSize(this._paneBottomL,"top",t),z.height(this._paneBottomL,this.paneBottomH),z.setStyleSize(this._paneBottomR,"top",t),z.height(this._paneBottomR,this.paneBottomH),z.height(this._viewportBottomR,this.paneBottomH))}else this.hasFrozenRows&&(z.width(this._paneBottomL,"100%"),z.height(this._paneBottomL,this.paneBottomH),z.setStyleSize(this._paneBottomL,"top",t));this.hasFrozenRows?(z.height(this._viewportBottomL,this.paneBottomH),this._options.frozenBottom?(z.height(this._canvasBottomL,this.frozenRowsHeight),this.hasFrozenColumns()&&z.height(this._canvasBottomR,this.frozenRowsHeight)):(z.height(this._canvasTopL,this.frozenRowsHeight),this.hasFrozenColumns()&&z.height(this._canvasTopR,this.frozenRowsHeight))):z.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(u){this.pagingActive=u.pageSize!==0,this.pagingIsLastPage=u.pageNum===u.totalPages-1}updateRowCount(){var u,e;if(this.initialized){const a=this.getDataLength(),i=this.getDataLengthIncludingAddNew();let t=0,r=this.hasFrozenRows&&!this._options.frozenBottom?z.height(this._canvasBottomL):z.height(this._canvasTopL);this.hasFrozenRows?t=this.getDataLength()-this._options.frozenRow:t=i+(this._options.leaveSpaceForNewRows?this.numVisibleRows-1:0);const o=z.height(this._viewportScrollContainerY),s=this.viewportHasVScroll;this.viewportHasVScroll=this._options.alwaysShowVerticalScroll||!this._options.autoHeight&&t*this._options.rowHeight>o,this.makeActiveCellNormal();const l=a-1;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(d=>{const c=+d;c>l&&this.removeRowFromCache(c)}),this._options.enableAsyncPostRenderCleanup&&this.startPostProcessingCleanup(),this.activeCellNode&&this.activeRow>l&&this.resetActiveCell(),r=this.h,this._options.autoHeight?this.h=this._options.rowHeight*t:(this.th=Math.max(this._options.rowHeight*t,o-(((u=this.scrollbarDimensions)==null?void 0:u.height)||0)),this.th1&&(t=t.concat(Array.from(i[1].children)));let r=t.length-1;for(;e.cellRenderQueue.length;){const o=e.cellRenderQueue.pop();e.cellNodesByColumnIdx[o]=t[r--]}}}cleanUpCells(u,e){var o,s;if(this.hasFrozenRows&&(this._options.frozenBottom&&e>this.actualFrozenRow||e<=this.actualFrozenRow))return;const a=this.rowsCache[e],i=[];Object.keys(a.cellNodesByColumnIdx).forEach(l=>{var c;if(!a.cellNodesByColumnIdx.hasOwnProperty(l))return;const E=+l;if(E<=this._options.frozenColumn||Array.isArray(this.columns)&&((c=this.columns[E])!=null&&c.alwaysRenderColumn))return;const d=a.cellColSpans[E];(this.columnPosLeft[E]>u.rightPx||this.columnPosRight[Math.min(this.columns.length-1,(E||0)+d-1)]u.rightPx)break;if(bu(r=e.cellColSpans[h])){h+=r>1?r-1:0;continue}if(r=1,D){const p=D[this.columns[h].id]||D[h];r=(p==null?void 0:p.colspan)??1,r==="*"&&(r=g-h)}const x=r;this.columnPosRight[Math.min(g-1,h+x-1)]>u.leftPx&&(this.appendCellHtml(a,d,h,x,m),t++),h+=x>1?x-1:0}t&&i.push(d)}if(!a.children.length)return;let o,s;for(;bu(o=i.pop());){e=this.rowsCache[o];let d;for(;bu(d=e.cellRenderQueue.pop());)s=a.lastChild,s&&(this.hasFrozenColumns()&&d>this._options.frozenColumn?e.rowNode[1].appendChild(s):e.rowNode[0].appendChild(s),e.cellNodesByColumnIdx[d]=s)}}renderRows(u){var l,E,d,c;const e=[],a=[],i=[];let t=!1;const r=this.getDataLength();for(let D=u.top,m=u.bottom;D<=m;D++)this.rowsCache[D]||this.hasFrozenRows&&this._options.frozenBottom&&D===this.getDataLength()||(this.renderedRows++,i.push(D),this.rowsCache[D]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},this.appendRowHtml(e,a,D,u,r),this.activeCellNode&&this.activeRow===D&&(t=!0),this.counter_rows_rendered++);if(!i.length)return;const o=document.createElement("div"),s=document.createElement("div");e.forEach(D=>o.appendChild(D)),a.forEach(D=>s.appendChild(D));for(let D=0,m=i.length;D=this.actualFrozenRow?this.hasFrozenColumns()?(l=this.rowsCache)!=null&&l.hasOwnProperty(i[D])&&o.firstChild&&s.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild,s.firstChild],this._canvasBottomL.appendChild(o.firstChild),this._canvasBottomR.appendChild(s.firstChild)):(E=this.rowsCache)!=null&&E.hasOwnProperty(i[D])&&o.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild],this._canvasBottomL.appendChild(o.firstChild)):this.hasFrozenColumns()?(d=this.rowsCache)!=null&&d.hasOwnProperty(i[D])&&o.firstChild&&s.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild,s.firstChild],this._canvasTopL.appendChild(o.firstChild),this._canvasTopR.appendChild(s.firstChild)):(c=this.rowsCache)!=null&&c.hasOwnProperty(i[D])&&o.firstChild&&(this.rowsCache[i[D]].rowNode=[o.firstChild],this._canvasTopL.appendChild(o.firstChild));t&&(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(u){typeof this.postProcessedRows[u]=="object"&&Object.keys(this.postProcessedRows[u]).forEach(e=>{this.postProcessedRows[u].hasOwnProperty(e)&&(this.postProcessedRows[u][e]="C")}),this.postProcessFromRow=Math.min(this.postProcessFromRow,u),this.postProcessToRow=Math.max(this.postProcessToRow,u),this.startPostProcessing()}updateRowPositions(){this.rowsCache&&typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(u=>{const e=u?parseInt(u,10):0;z.setStyleSize(this.rowsCache[e].rowNode[0],"top",this.getRowTop(e))})}render(){if(this.initialized){this.scrollThrottle.dequeue();const u=this.getVisibleRange(),e=this.getRenderedRange();if(this.cleanupRows(e),this.lastRenderedScrollLeft!==this.scrollLeft){if(this.hasFrozenRows){const a=Mu(!0,{},e);this._options.frozenBottom?(a.top=this.actualFrozenRow,a.bottom=this.getDataLength()):(a.top=0,a.bottom=this._options.frozenRow),this.cleanUpAndRenderCells(a)}this.cleanUpAndRenderCells(e)}this.renderRows(e),this.hasFrozenRows&&(this._options.frozenBottom?this.renderRows({top:this.actualFrozenRow,bottom:this.getDataLength()-1,leftPx:e.leftPx,rightPx:e.rightPx}):this.renderRows({top:0,bottom:this._options.frozenRow-1,leftPx:e.leftPx,rightPx:e.rightPx})),this.postProcessFromRow=u.top,this.postProcessToRow=Math.min(this.getDataLengthIncludingAddNew()-1,u.bottom),this.startPostProcessing(),this.lastRenderedScrollTop=this.scrollTop,this.lastRenderedScrollLeft=this.scrollLeft,this.h_render=null,this.triggerEvent(this.onRendered,{startRow:u.top,endRow:u.bottom,grid:this})}}handleHeaderRowScroll(){const u=this._headerRowScrollContainer.scrollLeft;u!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=u)}handleFooterRowScroll(){const u=this._footerRowScrollContainer.scrollLeft;u!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=u)}handlePreHeaderPanelScroll(){this.handleElementScroll(this._preHeaderPanelScroller)}handleTopHeaderPanelScroll(){this.handleElementScroll(this._topHeaderPanelScroller)}handleElementScroll(u){const e=u.scrollLeft;e!==this._viewportScrollContainerX.scrollLeft&&(this._viewportScrollContainerX.scrollLeft=e)}handleScroll(){return this.scrollTop=this._viewportScrollContainerY.scrollTop,this.scrollLeft=this._viewportScrollContainerX.scrollLeft,this._handleScroll(!1)}_handleScroll(u){let e=this._viewportScrollContainerY.scrollHeight-this._viewportScrollContainerY.clientHeight,a=this._viewportScrollContainerY.scrollWidth-this._viewportScrollContainerY.clientWidth;e=Math.max(0,e),a=Math.max(0,a),this.scrollTop>e&&(this.scrollTop=e),this.scrollLeft>a&&(this.scrollLeft=a);const i=Math.abs(this.scrollTop-this.prevScrollTop),t=Math.abs(this.scrollLeft-this.prevScrollLeft);if(t&&(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._options.createTopHeaderPanel&&(this._topHeaderPanelScroller.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)),i&&!this._options.autoHeight)if(this.vScrollDir=this.prevScrollTop20||o>20)&&(this._options.forceSyncScrolling||o{a?i=!0:o()},r=()=>{i=!1},o=()=>{a=!0,clearTimeout(this._executionBlockTimer),this._executionBlockTimer=setTimeout(s,e),u.call(this)},s=()=>{i?(r(),o()):a=!1};return{enqueue:t.bind(this),dequeue:r.bind(this)}}asyncPostProcessRows(){const u=this.getDataLength();for(;this.postProcessFromRow<=this.postProcessToRow;){const e=this.vScrollDir>=0?this.postProcessFromRow++:this.postProcessToRow--,a=this.rowsCache[e];if(!(!a||e>=u)){this.postProcessedRows[e]||(this.postProcessedRows[e]={}),this.ensureCellNodesInRowsCache(e),Object.keys(a.cellNodesByColumnIdx).forEach(i=>{if(a.cellNodesByColumnIdx.hasOwnProperty(i)){const t=+i,r=this.columns[t],o=this.postProcessedRows[e][t];if(r.asyncPostRender&&o!=="R"){const s=a.cellNodesByColumnIdx[t];s&&r.asyncPostRender(s,e,this.getDataItem(e),r,o==="C"),this.postProcessedRows[e][t]="R"}}}),this.h_postrender=setTimeout(this.asyncPostProcessRows.bind(this),this._options.asyncPostRenderDelay);return}}}asyncPostProcessCleanupRows(){if(this.postProcessedCleanupQueue.length>0){const u=this.postProcessedCleanupQueue[0].groupId;for(;this.postProcessedCleanupQueue.length>0&&this.postProcessedCleanupQueue[0].groupId===u;){const e=this.postProcessedCleanupQueue.shift();if((e==null?void 0:e.actionType)==="R"&&e.node.forEach(a=>{a.remove()}),(e==null?void 0:e.actionType)==="C"){const a=this.columns[e.columnIdx];a.asyncPostRenderCleanup&&e.node&&a.asyncPostRenderCleanup(e.node,e.rowIdx,a)}}this.h_postrenderCleanup=setTimeout(this.asyncPostProcessCleanupRows.bind(this),this._options.asyncPostRenderCleanupDelay)}}updateCellCssStylesOnRenderedRows(u,e){let a,i,t;typeof this.rowsCache=="object"&&Object.keys(this.rowsCache).forEach(r=>{this.rowsCache&&(t=e==null?void 0:e[r],i=u==null?void 0:u[r],t&&Object.keys(t).forEach(o=>{(!i||t[o]!==i[o])&&(a=this.getCellNode(+r,this.getColumnIndex(o)),a&&a.classList.remove(t[o]))}),i&&Object.keys(i).forEach(o=>{(!t||t[o]!==i[o])&&(a=this.getCellNode(+r,this.getColumnIndex(o)),a&&a.classList.add(i[o]))}))})}addCellCssStyles(u,e){if(this.cellCssClasses[u])throw new Error(`SlickGrid addCellCssStyles: cell CSS hash with key "${u}" already exists.`);this.cellCssClasses[u]=e,this.updateCellCssStylesOnRenderedRows(e,null),this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:e,grid:this})}removeCellCssStyles(u){this.cellCssClasses[u]&&(this.updateCellCssStylesOnRenderedRows(null,this.cellCssClasses[u]),delete this.cellCssClasses[u],this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:null,grid:this}))}setCellCssStyles(u,e){const a=this.cellCssClasses[u];this.cellCssClasses[u]=e,this.updateCellCssStylesOnRenderedRows(e,a),this.triggerEvent(this.onCellCssStylesChanged,{key:u,hash:e,grid:this})}getCellCssStyles(u){return this.cellCssClasses[u]}flashCell(u,e,a=250){const i=(t,r)=>{r<1||(clearTimeout(this._flashCellTimer),this._flashCellTimer=setTimeout(()=>{r%2===0?t.classList.add(this._options.cellFlashingCssClass||""):t.classList.remove(this._options.cellFlashingCssClass||""),i(t,r-1)},a))};if(this.rowsCache[u]){const t=this.getCellNode(u,e);t&&i(t,5)}}highlightRow(u,e){const a=this.rowsCache[u];e||(e=this._options.rowHighlightDuration),Array.isArray(a==null?void 0:a.rowNode)&&this._options.rowHighlightCssClass&&(a.rowNode.forEach(i=>i.classList.add(..._u(this._options.rowHighlightCssClass))),clearTimeout(this._highlightRowTimer),this._highlightRowTimer=setTimeout(()=>{var i;(i=a.rowNode)==null||i.forEach(t=>t.classList.remove(..._u(this._options.rowHighlightCssClass)))},e))}handleMouseWheel(u,e,a,i){this.scrollTop=Math.max(0,this._viewportScrollContainerY.scrollTop-i*this._options.rowHeight),this.scrollLeft=this._viewportScrollContainerX.scrollLeft+a*10,this._handleScroll(!0)&&u.preventDefault()}handleDragInit(u,e){const a=this.getCellFromEvent(u);if(!a||!this.cellExists(a.row,a.cell))return!1;const i=this.triggerEvent(this.onDragInit,e,u);return i.isImmediatePropagationStopped()?i.getReturnValue():!1}handleDragStart(u,e){const a=this.getCellFromEvent(u);if(!a||!this.cellExists(a.row,a.cell))return!1;const i=this.triggerEvent(this.onDragStart,e,u);return i.isImmediatePropagationStopped()?i.getReturnValue():!1}handleDrag(u,e){return this.triggerEvent(this.onDrag,e,u).getReturnValue()}handleDragEnd(u,e){this.triggerEvent(this.onDragEnd,e,u)}handleKeyDown(u){var i,t,r;let a=this.triggerEvent(this.onKeyDown,{row:this.activeRow,cell:this.activeCell},u).isImmediatePropagationStopped();if(!a&&!u.shiftKey&&!u.altKey){if(this._options.editable&&((i=this.currentEditor)!=null&&i.keyCaptureList)&&this.currentEditor.keyCaptureList.indexOf(u.which)>-1)return;u.key==="Home"?a=u.ctrlKey?this.navigateTop():this.navigateRowStart():u.key==="End"&&(a=u.ctrlKey?this.navigateBottom():this.navigateRowEnd())}if(!a)if(!u.shiftKey&&!u.altKey&&!u.ctrlKey)if(u.key==="Escape"){if(!((t=this.getEditorLock())!=null&&t.isActive()))return;this.cancelEditAndSetFocus()}else u.key==="PageDown"?(this.navigatePageDown(),a=!0):u.key==="PageUp"?(this.navigatePageUp(),a=!0):u.key==="ArrowLeft"?a=this.navigateLeft():u.key==="ArrowRight"?a=this.navigateRight():u.key==="ArrowUp"?a=this.navigateUp():u.key==="ArrowDown"?a=this.navigateDown():u.key==="Tab"?a=this.navigateNext():u.key==="Enter"&&(this._options.editable&&(this.currentEditor?this.activeRow===this.getDataLength()?this.navigateDown():this.commitEditAndSetFocus():(r=this.getEditorLock())!=null&&r.commitCurrentEdit()&&this.makeActiveCellEditable(void 0,void 0,u)),a=!0);else u.key==="Tab"&&u.shiftKey&&!u.ctrlKey&&!u.altKey&&(a=this.navigatePrev());a&&(u.stopPropagation(),u.preventDefault())}handleClick(u){var i,t,r;const e=u instanceof ju?u.getNativeEvent():u;if(!this.currentEditor&&(e.target!==document.activeElement||e.target.classList.contains("slick-cell"))){const o=this.getTextSelection();this.setFocus(),this.setTextSelection(o)}const a=this.getCellFromEvent(e);if(!(!a||this.currentEditor!==null&&this.activeRow===a.row&&this.activeCell===a.cell)&&(u=this.triggerEvent(this.onClick,{row:a.row,cell:a.cell},u||e),!(u.isImmediatePropagationStopped()||e.defaultPrevented)&&this.canCellBeActive(a.row,a.cell)&&(!((i=this.getEditorLock())!=null&&i.isActive())||(t=this.getEditorLock())!=null&&t.commitCurrentEdit()))){this.scrollRowIntoView(a.row,!1);const o=((r=e.target)==null?void 0:r.className)===Nm,s=this.columns[a.cell],l=!!(this._options.editable&&(s!=null&&s.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(this.getCellNode(a.row,a.cell),null,o,l,e)}}handleContextMenu(u){const e=u.target.closest(".slick-cell");e&&(this.activeCellNode===e&&this.currentEditor!==null||this.triggerEvent(this.onContextMenu,{},u))}handleDblClick(u){const e=this.getCellFromEvent(u);!e||this.currentEditor!==null&&this.activeRow===e.row&&this.activeCell===e.cell||(this.triggerEvent(this.onDblClick,{row:e.row,cell:e.cell},u),!u.defaultPrevented&&this._options.editable&&this.gotoCell(e.row,e.cell,!0,u))}handleHeaderMouseEnter(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseEnter,{column:e,grid:this},u)}handleHeaderMouseOver(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseOver,{column:e,grid:this},u)}handleHeaderMouseLeave(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseLeave,{column:e,grid:this},u)}handleHeaderMouseOut(u){const e=z.storage.get(u.target.closest(".slick-header-column"),"column");e&&this.triggerEvent(this.onHeaderMouseOut,{column:e,grid:this},u)}handleHeaderRowMouseEnter(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseEnter,{column:e,grid:this},u)}handleHeaderRowMouseOver(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseOver,{column:e,grid:this},u)}handleHeaderRowMouseLeave(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseLeave,{column:e,grid:this},u)}handleHeaderRowMouseOut(u){const e=z.storage.get(u.target.closest(".slick-headerrow-column"),"column");e&&this.triggerEvent(this.onHeaderRowMouseOut,{column:e,grid:this},u)}handleHeaderContextMenu(u){const e=u.target.closest(".slick-header-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onHeaderContextMenu,{column:a},u)}handleHeaderClick(u){if(!this.columnResizeDragging){const e=u.target.closest(".slick-header-column"),a=e&&z.storage.get(e,"column");a&&this.triggerEvent(this.onHeaderClick,{column:a},u)}}handlePreHeaderContextMenu(u){this.triggerEvent(this.onPreHeaderContextMenu,{node:u.target},u)}handlePreHeaderClick(u){this.columnResizeDragging||this.triggerEvent(this.onPreHeaderClick,{node:u.target},u)}handleFooterContextMenu(u){const e=u.target.closest(".slick-footerrow-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onFooterContextMenu,{column:a},u)}handleFooterClick(u){const e=u.target.closest(".slick-footerrow-column"),a=e&&z.storage.get(e,"column");this.triggerEvent(this.onFooterClick,{column:a},u)}handleCellMouseOver(u){this.triggerEvent(this.onMouseEnter,{},u)}handleCellMouseOut(u){this.triggerEvent(this.onMouseLeave,{},u)}cellExists(u,e){return!(u<0||u>=this.getDataLength()||e<0||e>=this.columns.length)}getCellFromPoint(u,e){let a=this.getRowFromPosition(e),i=0,t=0;for(let r=0;r=this.actualFrozenRow?this.h=this.actualFrozenRow?e=this.frozenRowsHeight:e=0:e=0,e}getCellFromEvent(u){const e=u instanceof ju?u.getNativeEvent():u;if(!e)return null;const a=e.touches?e.touches[0]:e,i=e.target.closest(".slick-cell");if(!i)return null;let t=this.getRowFromNode(i.parentNode);if(this.hasFrozenRows){let o=0;const s=Ou(z.parents(i,".grid-canvas")[0]);z.parents(i,".grid-canvas-bottom").length&&(o=this._options.frozenBottom?z.height(this._canvasTopL):this.frozenRowsHeight);const E=a.clientX-s.left,d=a.clientY-s.top+o+document.documentElement.scrollTop;t=this.getCellFromPoint(E,d).row}const r=this.getCellFromNode(i);return!ia(t)||!ia(r)?null:{row:t,cell:r}}getCellNodeBox(u,e){var s;if(!this.cellExists(u,e))return null;const a=this.getFrozenRowOffset(u),i=this.getRowTop(u)-a,t=i+this._options.rowHeight-1;let r=0;for(let l=0;l1?i-1:0)])}internalScrollColumnIntoView(u,e){var i;const a=this.scrollLeft+z.width(this._viewportScrollContainerX)-(this.viewportHasVScroll&&((i=this.scrollbarDimensions)==null?void 0:i.width)||0);ua&&(this._viewportScrollContainerX.scrollLeft=Math.min(u,e-this._viewportScrollContainerX.clientWidth),this.handleScroll(),this.render())}scrollColumnIntoView(u){this.internalScrollColumnIntoView(this.columnPosLeft[u],this.columnPosRight[u])}setActiveCellInternal(u,e,a,i,t){var r,o,s,l;if(bu(this.activeCellNode)&&(this.makeActiveCellNormal(),this.activeCellNode.classList.remove("active"),(o=(r=this.rowsCache[this.activeRow])==null?void 0:r.rowNode)==null||o.forEach(E=>E.classList.remove("active"))),this.activeCellNode=u,bu(this.activeCellNode)){const E=Ou(this.activeCellNode);let d=Math.floor(Ou(z.parents(this.activeCellNode,".grid-canvas")[0]).top);const c=z.parents(this.activeCellNode,".grid-canvas-bottom").length;this.hasFrozenRows&&c&&(d-=this._options.frozenBottom?z.height(this._canvasTopL):this.frozenRowsHeight);const D=this.getCellFromPoint(E.left,Math.ceil(E.top)-d);this.activeRow=D.row,this.activeCell=this.activePosX=this.activeCell=this.activePosX=this.getCellFromNode(this.activeCellNode),!bu(e)&&this._options.autoEditNewRow&&(e=this.activeRow===this.getDataLength()||this._options.autoEdit),this._options.showCellSelection&&(this.activeCellNode.classList.add("active"),(l=(s=this.rowsCache[this.activeRow])==null?void 0:s.rowNode)==null||l.forEach(m=>m.classList.add("active"))),this._options.editable&&e&&this.isCellPotentiallyEditable(this.activeRow,this.activeCell)&&(this._options.asyncEditorLoading?(clearTimeout(this.h_editorLoader),this.h_editorLoader=setTimeout(()=>{this.makeActiveCellEditable(void 0,a,t)},this._options.asyncEditorLoadDelay)):this.makeActiveCellEditable(void 0,a,t))}else this.activeRow=this.activeCell=null;i||this.triggerEvent(this.onActiveCellChanged,this.getActiveCell())}clearTextSelection(){var u;if((u=document.selection)!=null&&u.empty)try{document.selection.empty()}catch{}else if(window.getSelection){const e=window.getSelection();e!=null&&e.removeAllRanges&&e.removeAllRanges()}}isCellPotentiallyEditable(u,e){const a=this.getDataLength();return!(u=a||!this.columns[e]||this.columns[e].hidden||!this.getEditor(u,e))}makeActiveCellNormal(u=!1){var e;if(this.currentEditor){if(this.triggerEvent(this.onBeforeCellEditorDestroy,{editor:this.currentEditor}),this.currentEditor.destroy(),this.currentEditor=null,this.activeCellNode){const a=this.getDataItem(this.activeRow);if(this.activeCellNode.classList.remove("editable"),this.activeCellNode.classList.remove("invalid"),a){const i=this.columns[this.activeCell],r=this.getFormatter(this.activeRow,i)(this.activeRow,this.activeCell,this.getDataItemValueForColumn(a,i),i,a,this);this.applyFormatResultToCellNode(r,this.activeCellNode),this.invalidatePostProcessingResults(this.activeRow)}u&&this.setFocus()}navigator.userAgent.toLowerCase().match(/msie/)&&this.clearTextSelection(),(e=this.getEditorLock())==null||e.deactivate(this.editController)}}editActiveCell(u,e,a){this.makeActiveCellEditable(u,e,a)}makeActiveCellEditable(u,e,a){var o,s,l,E,d,c;if(!this.activeCellNode)return;if(!this._options.editable)throw new Error("SlickGrid makeActiveCellEditable : should never get called when grid options.editable is false");if(clearTimeout(this.h_editorLoader),!this.isCellPotentiallyEditable(this.activeRow,this.activeCell))return;const i=this.columns[this.activeCell],t=this.getDataItem(this.activeRow);if(this.triggerEvent(this.onBeforeEditCell,{row:this.activeRow,cell:this.activeCell,item:t,column:i,target:"grid"}).getReturnValue()===!1){this.setFocus();return}(o=this.getEditorLock())==null||o.activate(this.editController),this.activeCellNode.classList.add("editable");const r=u||this.getEditor(this.activeRow,this.activeCell);if(typeof r=="function"){!u&&!r.suppressClearOnEdit&&Au(this.activeCellNode);let D=(l=(s=this.data)==null?void 0:s.getItemMetadata)==null?void 0:l.call(s,this.activeRow);D=D==null?void 0:D.columns;const m=D&&(D[i.id]||D[this.activeCell]),h={grid:this,gridPosition:this.absBox(this._container),position:this.absBox(this.activeCellNode),container:this.activeCellNode,column:i,columnMetaData:m,item:t||{},event:a,commitChanges:this.commitEditAndSetFocus.bind(this),cancelChanges:this.cancelEditAndSetFocus.bind(this)};this.currentEditor=new r(h),t&&this.currentEditor&&(this.currentEditor.loadValue(t),e&&typeof((E=this.currentEditor)==null?void 0:E.preClick)=="function"&&this.currentEditor.preClick()),this.serializedEditorValue=(d=this.currentEditor)==null?void 0:d.serializeValue(),(c=this.currentEditor)!=null&&c.position&&this.handleActiveCellPositionChange()}}commitEditAndSetFocus(){var u;(u=this.getEditorLock())!=null&&u.commitCurrentEdit()&&(this.setFocus(),this._options.autoEdit&&!this._options.autoCommitEdit&&this.navigateDown())}cancelEditAndSetFocus(){var u;(u=this.getEditorLock())!=null&&u.cancelCurrentEdit()&&this.setFocus()}absBox(u){const e={top:u.offsetTop,left:u.offsetLeft,bottom:0,right:0,width:u.offsetWidth,height:u.offsetWidth,visible:!0};e.bottom=e.top+e.height,e.right=e.left+e.width;let a=u.offsetParent;for(;(u=u.parentNode)!==document.body&&!(!u||!u.parentNode);){const i=getComputedStyle(u);e.visible&&u.scrollHeight!==u.offsetHeight&&i.overflowY!=="visible"&&(e.visible=e.bottom>u.scrollTop&&e.topu.scrollLeft&&e.left0&&(u=e.getRangeAt(0))}return u}setTextSelection(u){if(window.getSelection&&u){const e=window.getSelection();e&&(e.removeAllRanges(),e.addRange(u))}}scrollRowIntoView(u,e){var a;if(!this.hasFrozenRows||!this._options.frozenBottom&&u>this.actualFrozenRow-1||this._options.frozenBottom&&uthis.scrollTop+i+this.offset?(this.scrollTo(e?r:o),this.render()):t*this._options.rowHeight=t&&(i=t-1),i<0&&(i=0);let r=0,o=null;const s=this.activePosX;for(;r<=this.activePosX;)this.canCellBeActive(i,r)&&(o=r),r+=this.getColspan(i,r);o!==null?(this.setActiveCellInternal(this.getCellNode(i,o)),this.activePosX=s):this.resetActiveCell()}}navigatePageDown(){this.scrollPage(1)}navigatePageUp(){this.scrollPage(-1)}navigateTop(){this.navigateToRow(0)}navigateBottom(){return this.navigateToRow(this.getDataLength()-1)}navigateToRow(u){const e=this.getDataLength();if(!e)return!0;if(u<0?u=0:u>=e&&(u=e-1),this.scrollCellIntoView(u,0,!0),this._options.enableCellNavigation&&bu(this.activeRow)){let a=0,i=null;const t=this.activePosX;for(;a<=this.activePosX;)this.canCellBeActive(u,a)&&(i=a),a+=this.getColspan(u,a);i!==null?(this.setActiveCellInternal(this.getCellNode(u,i)),this.activePosX=t):this.resetActiveCell()}return!0}getColspan(u,e){var r,o;const a=(o=(r=this.data)==null?void 0:r.getItemMetadata)==null?void 0:o.call(r,u);if(!a||!a.columns)return 1;const i=a.columns[this.columns[e].id]||a.columns[e];let t=i==null?void 0:i.colspan;return t==="*"?t=this.columns.length-e:t=t||1,t}findFirstFocusableCell(u){let e=0;for(;e=this.columns.length)return null;do e+=this.getColspan(u,e);while(e=e)return null;let t={row:u,cell:i,posX:i},r,o=!0;for(;o;){if(r=this.gotoRight(t.row,t.cell,t.posX),!r)return o=!1,null;if(r.cell>=e)return o=!1,t;t=r}}gotoDown(u,e,a){let i;const t=this.getDataLengthIncludingAddNew();let r=!0;for(;r;){if(++u>=t)return r=!1,null;for(i=e=0;e<=a;)i=e,e+=this.getColspan(u,e);if(this.canCellBeActive(u,i))return r=!1,{row:u,cell:i,posX:a}}}gotoUp(u,e,a){let i,t=!0;for(;t;){if(--u<0)return t=!1,null;for(i=e=0;e<=a;)i=e,e+=this.getColspan(u,e);if(this.canCellBeActive(u,i))return t=!1,{row:u,cell:i,posX:a}}}gotoNext(u,e,a){if(!ia(u)&&!ia(e)&&(u=e=a=0,this.canCellBeActive(u,e)))return{row:u,cell:e,posX:e};const i=this.gotoRight(u,e,a);if(i)return i;let t=null;const r=this.getDataLengthIncludingAddNew();for(u===r-1&&u--;++u=this.actualFrozenRow||this._options.frozenBottom&&t.rowe?this.rowsCache[u].cellNodesByColumnIdx[e]:null}catch{return this.rowsCache[u].cellNodesByColumnIdx[e]}}return null}setActiveCell(u,e,a,i,t){!this.initialized||!this._options.enableCellNavigation||u>this.getDataLength()||u<0||e>=this.columns.length||e<0||(this.scrollCellIntoView(u,e,!1),this.setActiveCellInternal(this.getCellNode(u,e),a,i,t))}setActiveRow(u,e,a){e??(e=0),!(!this.initialized||u>this.getDataLength()||u<0||e>=this.columns.length||e<0)&&(this.activeRow=u,a||this.scrollCellIntoView(u,e,!1))}canCellBeActive(u,e){var t,r,o,s;if(!this._options.enableCellNavigation||u>=this.getDataLengthIncludingAddNew()||u<0||e>=this.columns.length||e<0||!this.columns[e]||this.columns[e].hidden)return!1;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u);if((a==null?void 0:a.focusable)!==void 0)return!!a.focusable;const i=a==null?void 0:a.columns;return((o=i==null?void 0:i[this.columns[e].id])==null?void 0:o.focusable)!==void 0?!!i[this.columns[e].id].focusable:((s=i==null?void 0:i[e])==null?void 0:s.focusable)!==void 0?!!i[e].focusable:!!this.columns[e].focusable}canCellBeSelected(u,e){var t,r;if(u>=this.getDataLength()||u<0||e>=this.columns.length||e<0||!this.columns[e]||this.columns[e].hidden)return!1;const a=(r=(t=this.data)==null?void 0:t.getItemMetadata)==null?void 0:r.call(t,u);if((a==null?void 0:a.selectable)!==void 0)return!!a.selectable;const i=(a==null?void 0:a.columns)&&(a.columns[this.columns[e].id]||a.columns[e]);return(i==null?void 0:i.selectable)!==void 0?!!i.selectable:!!this.columns[e].selectable}gotoCell(u,e,a,i){var s;if(!this.initialized||!this.canCellBeActive(u,e)||!((s=this.getEditorLock())!=null&&s.commitCurrentEdit()))return;this.scrollCellIntoView(u,e,!1);const t=this.getCellNode(u,e),r=this.columns[e],o=!!(this._options.editable&&(r!=null&&r.editorClass)&&this._options.suppressActiveCellChangeOnEdit);this.setActiveCellInternal(t,a||u===this.getDataLength()||this._options.autoEdit,null,o,i),this.currentEditor||this.setFocus()}commitCurrentEdit(){var i;const u=this,e=u.getDataItem(u.activeRow),a=u.columns[u.activeCell];if(u.currentEditor){if(u.currentEditor.isValueChanged()){const t=u.currentEditor.validate();if(t.valid){const r=u.activeRow,o=u.activeCell,s=u.currentEditor,l=u.currentEditor.serializeValue(),E=u.serializedEditorValue;if(u.activeRow{s.applyValue(e,l),u.updateRow(r),u.triggerEvent(u.onCellChange,{command:"execute",row:r,cell:o,item:e,column:a})},undo:()=>{s.applyValue(e,E),u.updateRow(r),u.triggerEvent(u.onCellChange,{command:"undo",row:r,cell:o,item:e,column:a})}};u._options.editCommandHandler?(u.makeActiveCellNormal(!0),u._options.editCommandHandler(e,a,d)):(d.execute(),u.makeActiveCellNormal(!0))}else{const d={};u.currentEditor.applyValue(d,u.currentEditor.serializeValue()),u.makeActiveCellNormal(!0),u.triggerEvent(u.onAddNewRow,{item:d,column:a})}return!((i=u.getEditorLock())!=null&&i.isActive())}else return u.activeCellNode&&(u.activeCellNode.classList.remove("invalid"),z.width(u.activeCellNode),u.activeCellNode.classList.add("invalid")),u.triggerEvent(u.onValidationError,{editor:u.currentEditor,cellNode:u.activeCellNode,validationResults:t,row:u.activeRow,cell:u.activeCell,column:a}),u.currentEditor.focus(),!1}u.makeActiveCellNormal(!0)}return!0}cancelCurrentEdit(){return this.makeActiveCellNormal(),!0}rowsToRanges(u){const e=[],a=this.columns.length-1;for(let i=0;i((r=this._addonOptions)==null?void 0:r.maxToolTipLength)&&(s=s.substring(0,this._addonOptions.maxToolTipLength-3)+"...")):s="",o.title=s),o=null}}handleHeaderMouseEnter(u,e){const a=e.column;let i;const t=u.target;if(t&&(i=t.closest(".slick-header-column"),i&&!(a!=null&&a.toolTip))){const r=t.clientWidth{this._addonOptions&&typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(a,i)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onCopyCancelled,(a,i)=>{this._addonOptions&&typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(a,i)}),this._eventHandler.subscribe(this._cellExternalCopyManagerPlugin.onPasteCells,(a,i)=>{this._addonOptions&&typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(a,i)})}dispose(){var u,e;this._eventHandler.unsubscribeAll(),this._bindingEventService.unbindAll(),(u=this._cellSelectionModel)==null||u.dispose(),(e=this._cellExternalCopyManagerPlugin)==null||e.dispose()}createUndoRedoBuffer(){let u=0;this._commandQueue=[],this._undoRedoBuffer={queueAndExecuteCommand:e=>{this._commandQueue[u]=e,u++,e.execute()},undo:()=>{if(u===0)return;u--;const e=this._commandQueue[u];e&&Z0.cancelCurrentEdit()&&e.undo()},redo:()=>{if(u>=this._commandQueue.length)return;const e=this._commandQueue[u];u++,e&&Z0.cancelCurrentEdit()&&e.execute()}}}getDefaultOptions(){let u=0;return{clipboardCommandHandler:e=>{this._undoRedoBuffer.queueAndExecuteCommand.call(this._undoRedoBuffer,e)},dataItemColumnValueExtractor:(e,a,i=0,t=0)=>{var l,E,d;const r=this._grid.getActiveCell(),o=this._grid.getCellEditor()&&(r==null?void 0:r.row)===i&&(r==null?void 0:r.cell)===t,s=((l=this.addonOptions)==null?void 0:l.copyActiveEditorCell)||!1;if(!this.gridOptions.editable||!a.editor||!o||s){const c=a.exportWithFormatter!==void 0?a.exportWithFormatter:(E=this.gridOptions.textExportOptions)==null?void 0:E.exportWithFormatter;if(a.formatter&&c){const D=a.formatter(i,t,e[a.field],a,e,this._grid),m=ca(D)?D:D.html||D.text;if(a.sanitizeDataExport||(d=this.gridOptions.textExportOptions)!=null&&d.sanitizeDataExport){const h=m instanceof HTMLElement?m.innerHTML:m;return Vu(h??"")}return D}}return null},readOnlyMode:!1,includeHeaderWhenCopying:!1,newRowCreator:e=>{for(let a=0;a{};class xh{constructor(){this.pluginName="CellExternalCopyManager",this._bodyElement=document.body,this._copiedCellStyle="copied",this._copiedCellStyleLayerKey="copy-manager",this._copiedRanges=null,this.onCopyCells=new R("onCopyCells"),this.onCopyCancelled=new R("onCopyCancelled"),this.onPasteCells=new R("onPasteCells"),this.onBeforePasteCell=new R("onBeforePasteCell"),this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}init(u,e){var t;this._grid=u,this._addonOptions={...this._addonOptions,...e},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;const a=u.getPubSubService();a&&z.addSlickEventPubSubWhenDefined(a,this),this._eventHandler.subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this));const i=u.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())");if(this._eventHandler.subscribe(i.onSelectedRangesChanged,()=>{this._grid.getEditorLock().isActive()||this._grid.focus()}),u&&typeof((t=this._addonOptions)==null?void 0:t.onBeforePasteCell)=="function"){const r=u==null?void 0:u.getData();this._eventHandler.subscribe(this.onBeforePasteCell,(o,s)=>{var d,c;const l=u.getColumns()[s.cell],E={row:s.row,cell:s.cell,dataView:r,grid:u,columnDef:l,dataContext:u.getDataItem(s.row)};return(c=(d=this._addonOptions).onBeforePasteCell)==null?void 0:c.call(d,o,E)})}}dispose(){this._eventHandler.unsubscribeAll()}clearCopySelection(){this._grid.removeCellCssStyles(this._copiedCellStyleLayerKey)}getHeaderValueForColumn(u){if(typeof this._addonOptions.headerColumnValueExtractor=="function"){const e=i0(this._addonOptions.headerColumnValueExtractor(u),"innerHTML");if(e)return Vu(e)}return i0(u.name||"","innerHTML")}getDataItemValueForColumn(u,e,a,i,t){if(typeof this._addonOptions.dataItemColumnValueExtractor=="function"){const o=this._addonOptions.dataItemColumnValueExtractor(u,e,a,i);if(o)return o instanceof HTMLElement?Vu(o.innerHTML):o}let r="";if(e)if(e.editorClass){const o=document.createElement("p"),s=new e.editorClass({container:o,column:e,event:t,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Ii,commitChanges:Ii});s.loadValue(u),r=s.serializeValue(),s.destroy(),o.remove()}else r=u[e.field||""];return r}setDataItemValueForColumn(u,e,a){if(!(e!=null&&e.denyPaste)){if(this._addonOptions.dataItemColumnValueSetter){const i=this._addonOptions.dataItemColumnValueSetter(u,e,a);if(i!==!0)return i}if(e.editorClass){const i=document.createElement("div"),t=new e.editorClass({container:i,column:e,event:null,position:{top:0,left:0},gridPosition:{top:0,left:0},grid:this._grid,cancelChanges:Ii,commitChanges:Ii});t.loadValue(u);const r=t.validate(void 0,a);if(!r.valid){const o=this._grid.getActiveCell();this._grid.onValidationError.notify({editor:t,cellNode:this._grid.getActiveCellNode(),validationResults:r,row:o==null?void 0:o.row,cell:o==null?void 0:o.cell,column:e,grid:this._grid})}t.applyValue(u,a),t.destroy(),i.remove()}else u[e.field]=a}}setIncludeHeaderWhenCopying(u){this._addonOptions.includeHeaderWhenCopying=u}createTextBox(u){const e=A("textarea",{value:u,style:{position:"absolute",left:"-1000px",top:`${document.body.scrollTop}px`}},this._bodyElement);return e.select(),e}decodeTabularData(u,e){var v;const a=u.getColumns(),t=e.value.split(/[\n\f\r](?=(?:[^"]*"[^"]*")*[^"]*$)/);t[t.length-1]===""&&t.pop();let r=0;const o=[];this._bodyElement.removeChild(e);for(const b of t)b.startsWith('"')&&b.endsWith('"')?o[r++]=[b.replaceAll(` `,this._addonOptions.replaceNewlinesWith||` `).replaceAll("\r","").replaceAll('"',this._addonOptions.removeDoubleQuotesOnPaste?"":'"')]:o[r++]=b.split(" ");const s=this._grid.getActiveCell(),l=(v=this._grid.getSelectionModel())==null?void 0:v.getSelectedRanges(),E=l!=null&&l.length?l[0]:null;let d,c;if(E)d=E.fromRow,c=E.fromCell;else if(s)d=s.row,c=s.cell;else return;let D=!1,m=o.length,h=o.length?o[0].length:0;o.length===1&&o[0].length===1&&E&&(D=!0,m=E.toRow-E.fromRow+1,h=E.toCell-E.fromCell+1);const g=this._grid.getData().length-d;let x=0;if(gthis._grid.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const b=d+m-this._grid.getDataLength();this._addonOptions.newRowCreator(b)}const F={isClipboardCommand:!0,clippedRange:o,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:D,activeRow:d,activeCell:c,destH:m,destW:h,maxDestY:this._grid.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var B;F.h=0;for(let S=0;S{var B;for(let S=0;S1){const S=this._grid.getData();for(;x>1;x--)S.splice(S.length-1,1);this._grid.setData(S),this._grid.render()}}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(F):F.execute()}handleKeyDown(u){var a,i,t;let e;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(u.key==="Escape"&&this._copiedRanges&&(u.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(u,{ranges:this._copiedRanges}),this._copiedRanges=null),(u.key==="c"||u.key==="Insert")&&(u.ctrlKey||u.metaKey)&&!u.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),e=((a=this._grid.getSelectionModel())==null?void 0:a.getSelectedRanges())??[],e.length!==0)){this._copiedRanges=e,this.markCopySelection(e),this.onCopyCells.notify({ranges:e}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(u,{ranges:e});const r=this._grid.getColumns();let o="";for(let s=0;s0&&!r[h].hidden&&m.push(this.getHeaderValueForColumn(r[h]));E.push(m.join(" "))}for(let m=l.fromCell;m0&&!r[m].hidden&&c.push(this.getDataItemValueForColumn(D,r[m],d,m,u));E.push(c.join(" "))}o+=E.join(`\r `)+`\r -`}if(window.clipboardData)return window.clipboardData.setData("Text",o),!0;{const s=document.activeElement,l=this.createTextBox(o);if(l.focus(),setTimeout(()=>{this._bodyElement.removeChild(l),s?s.focus():console.log("No element to restore focus to after copy?")},((i=this.addonOptions)==null?void 0:i.clipboardPasteDelay)??Ps),typeof this._onCopySuccess=="function"){const E=e.length===1?e[0].toRow+1-e[0].fromRow:e.length;this._onCopySuccess(E)}return!1}}if(!this._addonOptions.readOnlyMode&&(u.key==="v"&&(u.ctrlKey||u.metaKey)&&!u.shiftKey||u.key==="Insert"&&u.shiftKey&&!u.ctrlKey)){const r=this.createTextBox("");return setTimeout(()=>this.decodeTabularData(this._grid,r),((t=this.addonOptions)==null?void 0:t.clipboardPasteDelay)??Ps),!1}}}markCopySelection(u){var i;this.clearCopySelection();const e=this._grid.getColumns(),a={};for(const t of u)for(let r=t.fromRow;r<=t.toRow;r++){a[r]={};for(let o=t.fromCell;o<=t.toCell&&othis.clearCopySelection(),((i=this.addonOptions)==null?void 0:i.clearCopySelectionDelay)||hh)}}class Qt{constructor(u,e,a){this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new pu,this._eventHandler=new Su}get addonOptions(){return this._addonOptions}set addonOptions(u){this._addonOptions=u}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var u;return this._gridUid||(((u=this.grid)==null?void 0:u.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 u,e,a,i,t;(u=this._eventHandler)==null||u.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(e=this._commandTitleElm)==null||e.remove(),(a=this._optionTitleElm)==null||a.remove(),this.disposeAllMenus(),Au(this._menuElm),(i=this.menuElement)==null||i.remove(),(t=this._menuElm)==null||t.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(u=>u.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(u=>u.remove())}setOptions(u){this._addonOptions={...this._addonOptions,...u}}addSubMenuTitleWhenExists(u,e){if(u!=="divider"&&(u!=null&&u.subMenuTitle)){const a=document.createElement("div");a.className="slick-menu-title",a.textContent=u.subMenuTitle;const i=u.subMenuTitleCssClass;i&&a.classList.add(..._u(i)),e.appendChild(a)}}populateCommandOrOptionItems(u,e,a,i,t,r,o){if(t&&i&&e)for(const s of i)this.populateSingleCommandOrOptionItem(u,e,a,s,t,r,o)}populateCommandOrOptionTitle(u,e,a,i){var t;if(e){const r=i>0,o=((t=this._menuElm)==null?void 0:t.querySelector(`.slick-${u}-header`))??A("div",{className:`slick-${u}-header`}),s=`${u}Title`;r||(e!=null&&e[s]?(Au(o),this[`_${u}TitleElm`]=A("span",{className:"slick-menu-title",textContent:e[s]}),o.appendChild(this[`_${u}TitleElm`]),o.classList.add("with-title")):o.classList.add("no-title"),a.appendChild(o))}}populateSingleCommandOrOptionItem(u,e,a,i,t,r,o){var l;let s=null;if(t&&i&&e){const E=(t==null?void 0:t.level)||0,d=this._camelPluginName==="headerButtons"?"":"-item",c=`${this._menuCssPrefix}${d}`;let D=!0,m=!0;if(typeof i=="object"&&(D=this.extensionUtility.runOverrideFunctionWhenExists(i.itemVisibilityOverride,t),m=this.extensionUtility.runOverrideFunctionWhenExists(i.itemUsabilityOverride,t)),!D)return null;if(typeof i=="object"&&i.itemUsabilityOverride&&(i.disabled=!m),s=A("li",{className:c,role:"menuitem"}),typeof i=="object"&&bu(i[u])&&(s.dataset[u]=i==null?void 0:i[u]),a&&a.appendChild(s),typeof i=="object"&&i.divider||i==="divider")return s.classList.add(`${c}-divider`),s;if(i.disabled&&s.classList.add(`${c}-disabled`),(i.hidden||i.showOnHover)&&s.classList.add(`${c}-hidden`),i.cssClass&&s.classList.add(..._u(i.cssClass)),i.tooltip&&(s.title=i.tooltip),this._camelPluginName!=="headerButtons"){const g=A("div",{className:`${this._menuCssPrefix}-icon`});s.appendChild(g),i.iconCssClass?g.classList.add(..._u(i.iconCssClass)):!i.commandItems&&!i.optionItems&&(g.textContent="◦");const x=A("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof i=="object"&&i.title||""},s);i.textCssClass&&x.classList.add(..._u(i.textCssClass))}const h=E>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(s,"click",g=>r.call(this,g,u,i,E,t==null?void 0:t.column),void 0,h),((l=this._addonOptions)==null?void 0:l.subMenuOpenByEvent)==="mouseover"&&typeof o=="function"&&this._bindEventService.bind(s,"mouseover",g=>o.call(this,g,u,i,E,t==null?void 0:t.column),void 0,h),i.commandItems||i.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(..._u(this._addonOptions.subItemChevronClass)):g.textContent="⮞",s.classList.add("slick-submenu-item"),s.appendChild(g)}}return s}}class J1 extends Qt{constructor(u,e,a){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(u){var a,i,t,r,o;(a=this.menuElement)==null||a.remove(),this._menuElm=void 0;const e=this.grid.getCellFromEvent(u);if(e){this._currentCell=e.cell??0,this._currentRow=e.row??0;const s=((i=this._addonOptions)==null?void 0:i.commandItems)||[],l=((t=this._addonOptions)==null?void 0:t.optionItems)||[],E={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(u,E),typeof u.stopPropagation=="function"&&(this.pubSubService.publish(`on${R0(this._camelPluginName)}BeforeMenuShow`,E),typeof((r=this.addonOptions)==null?void 0:r.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(u,E)===!1)||(this._menuElm=this.createMenu(s,l),this._menuElm&&(this._menuElm.style.top=`${(u.pageY||0)+5}px`,this._menuElm.style.left=`${u.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${R0(this._camelPluginName)}AfterMenuShow`,E),typeof((o=this.addonOptions)==null?void 0:o.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(u,E)===!1))return}return this._menuElm}createMenu(u,e,a=0,i){var x,p,F,v,b;const t=this.grid.getColumns()[this._currentCell],r=this.grid.getDataItem(this._currentRow),o=(i==null?void 0:i.command)||(i==null?void 0:i.option);let s=a===1&&o?String(o).replace(/\s/g,""):"";s&&(this._subMenuParentId=s),a>1&&(s=this._subMenuParentId);let l=!0,E=!0;if(this._camelPluginName==="contextMenu"){if(l=this.checkIsColumnAllowed(((x=this._addonOptions)==null?void 0:x.optionShownOverColumnIds)??[],t.id),E=this.checkIsColumnAllowed(((p=this._addonOptions)==null?void 0:p.commandShownOverColumnIds)??[],t.id),!t||(!E||!u.length)&&(!l||!e.length)){this.hideMenu();return}}else if(!t||!t.cellMenu||!u.length&&!e.length)return;const d=`${this.menuCssClass} slick-menu-level-${a} ${this.gridUid}`,c=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${a}${this.gridUidSelector}`);if(c){if(c.dataset.subMenuParent===s)return c;this.disposeSubMenus()}const D=document.createElement("div");D.className=d,a>0&&(D.classList.add("slick-submenu"),(F=this.gridOptions)!=null&&F.darkMode&&D.classList.add("slick-dark-mode"),s&&(D.dataset.subMenuParent=s));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,h=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(D.style.maxHeight=m),h&&(D.style.maxWidth=h),(v=this.addonOptions)!=null&&v.width&&(D.style.width=be((b=this.addonOptions)==null?void 0:b.width));const g=A("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&l&&e.length>0){const B=A("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},D);this.populateCommandOrOptionTitle("option",this.addonOptions,B,a),!this.addonOptions.hideCloseButton&&a<1&&this.populateCommandOrOptionCloseBtn("option",g,B),i&&a>0&&this.addSubMenuTitleWhenExists(i,B),this.populateCommandOrOptionItems("option",this.addonOptions,B,e,{cell:this._currentCell,row:this._currentRow,column:t,dataContext:r,grid:this.grid,level:a},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&E&&u.length>0){const B=A("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},D);this.populateCommandOrOptionTitle("command",this.addonOptions,B,a),!this.addonOptions.hideCloseButton&&a<1&&(!l||e.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,B),i&&a>0&&this.addSubMenuTitleWhenExists(i,B),this.populateCommandOrOptionItems("command",this.addonOptions,B,u,{cell:this._currentCell,row:this._currentRow,column:t,dataContext:r,grid:this.grid,level:a},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return a++,D}closeMenu(u,e){var a;if(this.menuElement){if(typeof((a=this.addonOptions)==null?void 0:a.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(u,e)===!1)return;this.hideMenu()}}hideMenu(){var u;(u=this.menuElement)==null||u.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(u,e){return(u==null?void 0:u.length)>0?u.findIndex(a=>a===e)>=0:!0}handleBodyMouseDown(u){if(this.menuElement){let e=!1;const a=u.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(u.target)||a)&&(e=!0),(this.menuElement!==u.target&&!e&&!u.defaultPrevented||u.target.className==="close"&&a)&&this.closeMenu(u,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(u){u.defaultPrevented||this.closeMenu(u,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(u,e,a,i=0){(a==null?void 0:a[e])!==void 0&&a!=="divider"&&!a.disabled&&!a.divider&&(a.commandItems||a.optionItems?(this.repositionSubMenu(a,e,i,u),this._lastMenuTypeClicked=e):i===0&&this.disposeSubMenus())}handleMenuItemCommandClick(u,e,a,i=0){var t;if((a==null?void 0:a[e])!==void 0&&a!=="divider"&&!a.disabled&&!a.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(e==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const r=this._currentCell,o=this._currentRow,s=this.grid.getColumns()[this._currentCell],l=this.grid.getDataItem(this._currentRow),E=a[e]!==void 0?a[e]:"";if(E!==void 0&&!a[`${e}Items`]){const d={cell:this._currentCell,row:this._currentRow,grid:this.grid,[e]:E,item:a,column:s,dataContext:l},c=e==="command"?"onCommand":"onOptionSelected",D=`${this._camelPluginName}:${c}`;this.pubSubService.publish(D,d),typeof((t=this._addonOptions)==null?void 0:t[c])=="function"&&this._addonOptions[c](u,d),typeof a.action=="function"&&a.action.call(this,u,d),u.defaultPrevented||this.closeMenu(u,{cell:r,row:o,grid:this.grid})}else(a.commandItems||a.optionItems)&&this.repositionSubMenu(a,e,i,u);this._lastMenuTypeClicked=e}}populateCommandOrOptionCloseBtn(u,e,a){this._bindEventService.bind(e,"click",t=>this.handleCloseButtonClicked(t),void 0,"parent-menu");const i=a.querySelector(`.slick-${u}-header`)??A("div",{className:`slick-${u}-header`});i==null||i.appendChild(e),a.appendChild(i),i.classList.add("with-close")}repositionSubMenu(u,e,a,i){(i.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==e)&&this.disposeSubMenus();const t=this.createMenu((u==null?void 0:u.commandItems)||[],(u==null?void 0:u.optionItems)||[],a+1,u);t&&(t.style.display="block",document.body.appendChild(t),this.repositionMenu(i,t))}repositionMenu(u,e){var t;const a=e==null?void 0:e.classList.contains("slick-submenu"),i=a?u.target.closest(`.${this._menuCssPrefix}-item`):u.target.closest(".slick-cell");if(e&&i){e.style.top="0px",e.style.left="0px";const r=((t=u==null?void 0:u.touches)==null?void 0:t[0])??u,o=Ou(i);let s=i&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.left)??0:r.pageX,l=i&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.top)??0:r.pageY;a&&this._camelPluginName==="contextMenu"&&(s=(o==null?void 0:o.left)??0,l=(o==null?void 0:o.top)??0);const E=i.offsetWidth||0,d=(e==null?void 0:e.offsetHeight)||0,c=(e==null?void 0:e.offsetWidth)||this._addonOptions.width||0,D=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),h=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:x}=zi(i),p=g+m-D,F=x-m+D;(pp?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),a?l-=d-m-i.clientHeight:l-=d-m):(e.classList.remove("dropup"),e.classList.add("dropdown"),l=l+m,this._camelPluginName==="cellMenu"&&(a?l+=m:l+=D+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let x=s+Number(c);a&&(x+=i.clientWidth);const p=document.documentElement.clientWidth;(x>=g.width||x>=p?"left":"right")==="left"||!a&&this._addonOptions.dropSide==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!a?s-=Number(c)-E-h:s-=Number(c)-h):(e.classList.remove("dropleft"),e.classList.add("dropright"),a?s+=h+i.offsetWidth:s+=h)}e.style.top=`${l}px`,e.style.left=`${s}px`}}}class gh extends J1{constructor(u,e,a){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,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(a.gridOptions.cellMenu)}init(u){this._addonOptions={...this._defaults,...u},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 a;const u=(a=this.sharedService)==null?void 0:a.gridOptions,e=this.sharedService.allColumns;u!=null&&u.enableTranslate&&Array.isArray(e)&&e.forEach(i=>{if(i!=null&&i.cellMenu&&(Array.isArray(i.cellMenu.commandItems)||Array.isArray(i.cellMenu.optionItems))){const t=i.cellMenu.commandItems||[],r=i.cellMenu.optionItems||[];i.cellMenu.commandTitleKey&&(i.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(i.cellMenu.commandTitleKey,"TEXT_COMMANDS")||i.cellMenu.commandTitle),i.cellMenu.optionTitleKey&&(i.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(i.cellMenu.optionTitleKey,"TEXT_COMMANDS")||i.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(t,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(r,"optionItems")}})}handleCellClick(u,e){var i;this.disposeAllMenus();const a=this.grid.getCellFromEvent(u);if(a){const t=this.grid.getDataItem(a.row),r=this.grid.getColumns()[a.cell];r!=null&&r.cellMenu&&!((i=this.gridOptions.cellMenu)!=null&&i.activateCellOnMenuClick)&&u.preventDefault(),this._addonOptions={...this._addonOptions,...r.cellMenu};const o=e||{};if(o.column=r,o.dataContext=t,o.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,o))return;this._menuElm=this.createParentMenu(u),this._menuElm&&(this.repositionMenu(u,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(u){u.forEach(e=>{var a,i;(a=e==null?void 0:e.cellMenu)!=null&&a.commandItems&&this.extensionUtility.sortItems(e.cellMenu.commandItems||[],"positionOrder"),(i=e==null?void 0:e.cellMenu)!=null&&i.optionItems&&this.extensionUtility.sortItems(e.cellMenu.optionItems||[],"positionOrder")})}}class Ch{constructor(u,e){this.grid=u,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=da(this._defaults,e)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var u;(u=this._elem)==null||u.remove(),this._elem=null}show(u){var i,t;this._elem||(this._elem=A("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",(i=this.grid.getActiveCanvasNode())==null||i.appendChild(this._elem));const e=this.grid.getCellNodeBox(u.fromRow,u.fromCell),a=this.grid.getCellNodeBox(u.toRow,u.toCell);return e&&a&&((t=this._options)!=null&&t.offset)&&(this._elem.style.top=`${e.top+this._options.offset.top}px`,this._elem.style.left=`${e.left+this._options.offset.left}px`,this._elem.style.height=`${a.bottom-e.top+this._options.offset.height}px`,this._elem.style.width=`${a.right-e.left+this._options.offset.width}px`),this._elem}}class Pt{constructor(u){this.pluginName="CellRangeSelector",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.onBeforeCellRangeSelected=new R("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new R("onCellRangeSelecting"),this.onCellRangeSelected=new R("onCellRangeSelected"),this._eventHandler=new Su,this._options=da(this._defaults,u)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var u;return this._gridUid||(((u=this._grid)==null?void 0:u.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(u){this._grid=u,this._decorator=this._options.cellDecorator||new Ch(u,this._options),this._canvas=u.getCanvasNode(),this._gridOptions=u.getOptions(),this._gridUid=u.getUID();const e=u.getPubSubService();e&&z.addSlickEventPubSubWhenDefined(e,this),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 u,e;(u=this._eventHandler)==null||u.unsubscribeAll(),Au(this._activeCanvas),Au(this._canvas),(e=this._decorator)==null||e.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(u,e){var m;const a=((m=u==null?void 0:u.touches)==null?void 0:m[0])??u,i=this._activeViewport.scrollLeft,t=this._activeViewport.scrollTop,r=i+this._viewportWidth,o=t+this._viewportHeight,s=Ou(this._activeViewport),l=(s==null?void 0:s.left)??0,E=(s==null?void 0:s.top)??0,d=l+this._viewportWidth,c=E+this._viewportHeight,D={e:u,dd:e,viewport:{left:i,top:t,right:r,bottom:o,offset:{left:l,top:E,right:d,bottom:c}},offset:{x:0,y:0},isOutsideViewport:!1};return a.pageXd&&(D.offset.x=a.pageX-d),a.pageYc&&(D.offset.y=c-a.pageY),D.isOutsideViewport=!!D.offset.x||!!D.offset.y,D}stopIntervalTimer(){this._autoScrollTimerId&&(clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(u,e){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||u.stopImmediatePropagation();const a=u.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(a,e),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(a,e)}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 u=0,e=0;this._autoScrollTimerId=setInterval(()=>{let a=!1,i=!1;this._draggingMouseOffset.offset.x?(u+=this.addonOptions.minIntervalToShowNextCell,a=u>=this._xDelayForNextCell):u=0,this._draggingMouseOffset.offset.y?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._yDelayForNextCell):e=0,(a||i)&&(a&&(u=0),i&&(e=0),this.handleDragToNewPosition(a,i))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(u,e){let a=this._draggingMouseOffset.e.pageX,i=this._draggingMouseOffset.e.pageY;const t=this._draggingMouseOffset.offset.x,r=this._draggingMouseOffset.offset.y,o=this._draggingMouseOffset.viewport.offset;u&&t&&(t>0?a=o.right+this._moveDistanceForOneCell.x:a=o.left-this._moveDistanceForOneCell.x),e&&r&&(r>0?i=o.top-this._moveDistanceForOneCell.y:i=o.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:a,pageY:i},this._draggingMouseOffset.dd)}handleDragTo(u,e){var t,r,o;const a=((t=u==null?void 0:u.touches)==null?void 0:t[0])??u,i=this._grid.getCellFromPoint(a.pageX-(((r=Ou(this._activeCanvas))==null?void 0:r.left)??0)+this._columnOffset,a.pageY-(((o=Ou(this._activeCanvas))==null?void 0:o.top)??0)+this._rowOffset);if(i!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&i.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&i.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&i.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&i.rowl.right||s.topl.bottom)&&this._grid.scrollCellIntoView(i.row,i.cell)}}if(!this._grid.canCellBeSelected(i.row,i.cell))return;if(e!=null&&e.range){e.range.end=i;const s=new V0(e.range.start.row??0,e.range.start.cell??0,i.row,i.cell);this._decorator.show(s),this.onCellRangeSelecting.notify({range:s})}}}handleDragEnd(u,e){this._decorator.hide(),this._dragging&&(this._dragging=!1,u.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new V0(e.range.start.row??0,e.range.start.cell??0,e.range.end.row,e.range.end.cell)}))}handleDragInit(u){var t,r;this._activeCanvas=this._grid.getActiveCanvasNode(u),this._activeViewport=this._grid.getActiveViewportNode(u);const e=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-e.width,this._viewportHeight=this._activeViewport.offsetHeight-e.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 o=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((t=document.querySelector(o))==null?void 0:t.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((r=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:r.clientWidth)??0);const a=this._grid.getCellFromEvent(u),i=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(i&&a&&i.row===a.row&&i.cell===a.cell))&&(u.stopImmediatePropagation(),u.preventDefault())}handleDragStart(u,e){const a=this._grid.getCellFromEvent(u);if(a&&this.onBeforeCellRangeSelected.notify(a).getReturnValue()!==!1&&this._grid.canCellBeSelected(a.row,a.cell)&&(this._dragging=!0,u.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const i=Ou(this._canvas);let t=e.startX-((i==null?void 0:i.left)??0);this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(t+=this._scrollLeft);let r=e.startY-((i==null?void 0:i.top)??0);this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(r+=this._scrollTop);const o=this._grid.getCellFromPoint(t,r);return e.range={start:o,end:{}},this._currentlySelectedRange=e.range,this._decorator.show(new V0(o.row,o.cell))}handleScroll(u,e){this._scrollTop=e.scrollTop,this._scrollLeft=e.scrollLeft}}class W1{constructor(u){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new R("onSelectedRangesChanged"),this._eventHandler=new Su,this._selector=u===void 0||u.cellRangeSelector===void 0?new Pt({selectionCss:{border:"2px solid black"}}):this._selector=u.cellRangeSelector,this._addonOptions=u}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(u){this._grid=u,u.hasDataView()&&(this._dataView=u.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const e=u.getPubSubService();e&&this.onSelectedRangesChanged.setPubSubService(e),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)),u.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var u,e;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(u=this._grid)==null||u.unregisterPlugin(this._selector),(e=this._selector)==null||e.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(u,e){let a=u.length!==e.length;if(!a){for(let i=0;ie===u)}handleKeyDown(u){var o;let e,a;const i=this._grid.getColumns().length,t=this._grid.getActiveCell();let r=0;if(this._dataView&&"getPagingInfo"in this._dataView?r=((o=this._dataView)==null?void 0:o.getPagingInfo().pageSize)||this._dataView.getLength():r=this._grid.getDataLength(),t&&(u.shiftKey||u.ctrlKey)&&!u.altKey&&this.isKeyAllowed(u.key)&&(e=this.getSelectedRanges().slice(),e.length||e.push(new V0(t.row,t.cell)),a=e.pop(),typeof(a==null?void 0:a.contains)=="function")){a.contains(t.row,t.cell)||(a=new V0(t.row,t.cell));let s=a.toRow-a.fromRow,l=a.toCell-a.fromCell;const E=t.row===a.fromRow?1:-1,d=t.cell===a.fromCell?1:-1,c=u.key.startsWith("Arrow");let D,m=0;c&&!u.ctrlKey?(u.key==="ArrowLeft"?l-=d:u.key==="ArrowRight"?l+=d:u.key==="ArrowUp"?s-=E:u.key==="ArrowDown"&&(s+=E),m=t.row+E*s):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=t.row),u.shiftKey&&!u.ctrlKey&&u.key==="Home"?(D=0,m=t.row):u.shiftKey&&!u.ctrlKey&&u.key==="End"?(D=i-1,m=t.row):u.ctrlKey&&u.shiftKey&&u.key==="Home"?(D=0,m=0):u.ctrlKey&&u.shiftKey&&u.key==="End"?(D=i-1,m=r-1):u.key==="PageUp"?(this._prevSelectedRow>=0&&(m=this._prevSelectedRow-this._cachedPageRowCount),m<0&&(m=0)):u.key==="PageDown"&&(this._prevSelectedRow<=r-1&&(m=this._prevSelectedRow+this._cachedPageRowCount),m>r-1&&(m=r-1)),this._prevSelectedRow=m),D??(D=t.cell+d*l);const h=new V0(t.row,t.cell,m,D);if(this.removeInvalidRanges([h]).length){e.push(h);const g=E>0?h.toRow:h.fromRow,x=d>0?h.toCell:h.fromCell;c?(this._grid.scrollRowIntoView(g),this._grid.scrollCellIntoView(g,x,!1)):(this._grid.scrollRowIntoView(m),this._grid.scrollCellIntoView(m,x,!1))}else e.push(a);this.setSelectedRanges(e),u.preventDefault(),u.stopPropagation(),this._prevKeyDown=u.key}}}class Xt{constructor(u){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new R("onSelectedRangesChanged"),this._eventHandler=new Su,this._options={...this._defaults,...u}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var u;return(u=this._grid)==null?void 0:u.getOptions()}init(u){this._grid=u,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const e=u.getPubSubService();e&&this.onSelectedRangesChanged.setPubSubService(e),!this._selector&&this._options.dragToSelect&&(this._selector=new Pt({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 u,e;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),(u=this._selector)==null||u.destroy(),(e=this._selector)==null||e.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(u){this.setSelectedRanges(this.rowsToRanges(u),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(u,e="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!u||u.length===0))return;this._ranges=u;const a=new ju(new CustomEvent("click",{detail:{caller:e}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,a)}getRowsRange(u,e){let a;const i=[];for(a=u;a<=e;a++)i.push(a);for(a=e;ar!==e.row),this._grid.setActiveCell(e.row,e.cell);else if(a.length&&u.shiftKey){const r=a.pop(),o=Math.min(e.row,r),s=Math.max(e.row,r);a=[];for(let l=o;l<=s;l++)l!==r&&a.push(l);a.push(r),this._grid.setActiveCell(e.row,e.cell)}const t=this.rowsToRanges(a);return this.setSelectedRanges(t),u.stopImmediatePropagation(),!0}handleKeyDown(u){const e=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&e&&u.shiftKey&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&(u.key==="ArrowUp"||u.key==="ArrowDown")){let a=this.getSelectedRows();a.sort((o,s)=>o-s),a.length||(a=[e.row]);let i,t=a[0],r=a[a.length-1];if(u.key==="ArrowDown"?i=e.row=0&&ie.push(new V0(i,0,i,a))),e}}const _s="mdi-icon-check",js="mdi-icon-uncheck";class Ls{constructor(u,e){this.pubSubService=u,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,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 pu,this._eventHandler=new Su,this._addonOptions={...this._defaults,...e}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(u){this._selectedRowsLookup=u}init(u){this._grid=u,this._isUsingDataView=!Array.isArray(u.getData()),this._isUsingDataView&&(this._dataView=u.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(u.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(u.onClick,this.handleClick.bind(this)).subscribe(u.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&(this._eventHandler.subscribe(u.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),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(u),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new Xt(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(u,e){var a;if(this._addonOptions={...this._defaults,...e.checkboxSelector},Array.isArray(u)&&e){const i=this.getColumnDefinition();if(!u.some(t=>t.id===i.id)){const t=((a=e==null?void 0:e.checkboxSelector)==null?void 0:a.columnIndexPosition)??0;t>0?u.splice(t,0,i):u.unshift(i),this.pubSubService.publish("onPluginColumnsChanged",{columns:u,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(u){var e;if(this._addonOptions={...this._addonOptions,...u},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const a=(e=this.headerRowNode)==null?void 0:e.querySelector("#filter-checkbox-selectall-container");if(a){a.style.display="flex",a.ariaChecked=String(this._isSelectAllChecked);const i=a.querySelector('input[type="checkbox"]');i&&(i.ariaChecked=String(this._isSelectAllChecked),i.checked=this._isSelectAllChecked)}}}deSelectRows(u){const e=[];for(const a of u)this._selectedRowsLookup[a]&&(e[e.length]=a);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(a=>e.indexOf(a)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(u){var i;const e=[];for(const t of u)this._selectedRowsLookup[t]&&(e[e.length]=t);const a=(i=this._grid.getSelectedRows())==null?void 0:i.concat(e);this._grid.setSelectedRows(a)}createCheckboxElement(u,e=!1){const a=new DocumentFragment,i=A("label",{className:"checkbox-selector-label",htmlFor:u}),t=A("div",{className:"icon-checkbox-container"});return t.appendChild(A("input",{id:u,type:"checkbox",checked:e,ariaChecked:String(e)})),t.appendChild(A("div",{className:`mdi ${e?_s:js}`})),i.appendChild(t),a.appendChild(i),a}getColumnDefinition(){var e;const u=String(((e=this._addonOptions)==null?void 0:e.columnId)??this._defaults.columnId);return{id:u,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:u,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var e;const u=(e=this.headerRowNode)==null?void 0:e.querySelector("#filter-checkbox-selectall-container");u&&(u.style.display="none")}toggleRowSelection(u){this.toggleRowSelectionWithEvent(null,u)}toggleRowSelectionWithEvent(u,e){const a=this._grid.getDataItem(e);if(!this.checkSelectableOverride(e,a,this._grid))return;const i=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(u,{row:e,previousSelectedRows:i});const t=this._selectedRowsLookup[e]?this._grid.getSelectedRows().filter(r=>r!==e):this._grid.getSelectedRows().concat(e);this._grid.setSelectedRows(t,"click.toggle"),this._grid.setActiveCell(e,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(u,{row:e,previousSelectedRows:i})}selectableOverride(u){this._selectableOverride=u}addCheckboxToFilterHeaderRow(u){this._eventHandler.subscribe(u.onHeaderRowCellRendered,(e,a)=>{if(a.column.field===(this._addonOptions.field||"_checkbox_selector")){Au(a.node);const i=`header-filter-selector${this._selectAll_UID}`,t=A("label",{id:"filter-checkbox-selectall-container",htmlFor:i}),r=A("div",{className:"icon-checkbox-container"});r.appendChild(A("input",{id:i,type:"checkbox",ariaChecked:"false"})),r.appendChild(A("div",{className:"mdi mdi-icon-uncheck"})),t.appendChild(r),a.node.appendChild(t),this._headerRowNode=a.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(t,"click",o=>this.handleHeaderClick(o,a))}})}checkboxSelectionFormatter(u,e,a,i,t,r){if(t&&this.checkSelectableOverride(u,t,r)){const o=this.createUID()+u;return this.createCheckboxElement(`selector${o}`,!!this._selectedRowsLookup[u])}return null}checkSelectableOverride(u,e,a){return typeof this._selectableOverride=="function"?this._selectableOverride(u,e,a):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const u=this._grid.getColumns();for(let e=0;e0)for(let r=0;rd[s]===l)>=0&&!this.checkSelectableOverride(r,o,this._grid)&&a++}if(this._isSelectAllChecked=u.length+a>=e.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const r=(i=this.headerRowNode)==null?void 0:i.querySelector(`#header-filter-selector${this._selectAll_UID}`),o=(t=this.headerRowNode)==null?void 0:t.querySelector(".icon-checkbox-container .mdi");r&&(r.ariaChecked=String(this._isSelectAllChecked),r.checked=this._isSelectAllChecked),o&&(o.className=`mdi ${this._isSelectAllChecked?_s:js}`)}}handleClick(u,e){if(this._grid.getColumns()[e.cell].id===this._addonOptions.columnId&&u.target.type==="checkbox"){if(u.target.ariaChecked=String(u.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){u.preventDefault(),u.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(u,e.row),u.stopPropagation(),u.stopImmediatePropagation()}}handleHeaderClick(u,e){if(e.column.id===this._addonOptions.columnId&&u.target.type==="checkbox"){if(u.target.ariaChecked=String(u.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){u.preventDefault(),u.stopImmediatePropagation();return}let a=u.target.checked;const i=a?"click.selectAll":"click.unselectAll",t=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(u,{previousSelectedRows:t,caller:i});let r=[];if(a){const o=[];for(let s=0;s{l!==void 0&&this._grid.invalidateRow(+l)}),this._selectedRowsLookup=e,this._grid.render(),this._isSelectAllChecked=((u==null?void 0:u.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 l=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`);l&&(l.ariaChecked=String(this._isSelectAllChecked),l.checked=this._isSelectAllChecked)}if(o.length>0){for(const l of o){const E=u.indexOf(l);u.splice(E,1)}this._grid.setSelectedRows(u,"click.toggle")}}renderSelectAllCheckbox(u){const e=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!u),this._addonOptions.toolTip);e==null||e.classList.add("header-checkbox-selectall")}}class U1 extends Qt{constructor(u,e,a,i,t){var r;super(u,a,i),this.extensionUtility=u,this.filterService=e,this.pubSubService=a,this.sharedService=i,this.sortService=t,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=>i0(o.name||"","innerHTML")},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.onAfterMenuShow=new R("onAfterMenuShow"),this.onBeforeMenuShow=new R("onBeforeMenuShow"),this.onMenuClose=new R("onMenuClose"),this.onCommand=new R("onCommand"),this.onColumnsChanged=new R("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(u){this._columns=u}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,_t.bind(this)),this._eventHandler.subscribe(this.grid.onClick,u=>this.hideMenu(u)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(u,e)=>{if(e&&e.optionsBefore&&e.optionsAfter){const a=e.optionsBefore.frozenColumn>=0&&e.optionsAfter.frozenColumn===-1,i=e.optionsBefore.frozenColumn===-1&&e.optionsAfter.frozenColumn>=0;(a||i)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",z.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const u=this._userOriginalGridMenu.commandItems,e=this._userOriginalGridMenu&&Array.isArray(u)?u:[];this._addonOptions.commandItems=[...e,...this.addGridMenuCustomCommands(e)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var u,e;this._bindEventService.unbindAll(),(u=this._menuElm)==null||u.remove(),this._menuElm=null,(e=this._gridMenuButtonElm)==null||e.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(Q1.call(this,this._menuElm),this._listElm=A("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",X1.bind(this),void 0,"parent-menu"))}createGridMenu(){var t,r;const u=this._gridUid?`.${this._gridUid}`:"",e=((t=this._addonOptions)==null?void 0:t.menuWidth)||this._defaults.menuWidth,a=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",i=this.grid.getContainerNode();if(this._headerElm=i.querySelector(`.slick-header-${a}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${e}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const l=i.querySelector(`${u} .slick-headerrow`);l&&(l.style.width=`calc(100% - ${e}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=A("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(r=this._addonOptions)!=null&&r.iconCssClass&&this._gridMenuButtonElm.classList.add(..._u(this._addonOptions.iconCssClass));const l=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[l]),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(u,e=0,a){const i=a==null?void 0:a.command;let t=e===1&&i?i.replace(/\s/g,""):"";t&&(this._subMenuParentId=t),e>1&&(t=this._subMenuParentId);const r=`${this.menuCssClass} slick-menu-level-${e} ${this._gridUid}`,o=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${e}${this.gridUidSelector}`);if(o){if(o.dataset.subMenuParent===t)return o;this.disposeSubMenus()}const s=A("div",{role:"menu",className:r,ariaLabel:e>1?"SubMenu":"Grid Menu"});e>0&&(s.classList.add("slick-submenu"),t&&(s.dataset.subMenuParent=t));const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:e};return this._commandMenuElm=this.recreateCommandList(u,s,l,a),e++,s}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(u){var a,i,t;const e={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",e),!(typeof((a=this._addonOptions)==null?void 0:a.onMenuClose)=="function"&&this._addonOptions.onMenuClose(u,e)===!1||this.onMenuClose.notify(e,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((i=this.grid)==null?void 0:i.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(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(u,e,a,i){var s,l;const t=((s=u==null?void 0:u.touches)==null?void 0:s[0])??u,r=e.classList.contains("slick-submenu"),o=r?u.target.closest(".slick-menu-item"):t.target;if(o){const E=a||this._gridMenuButtonElm,d=Ou(a),c=Ou(o),D=i??this._addonOptions,m=getComputedStyle(E),h=parseInt((m==null?void 0:m.width)??((l=this._defaults)==null?void 0:l.menuWidth),10),g=(e==null?void 0:e.offsetWidth)??0,x=(D==null?void 0:D.contentMinWidth)??this._defaults.contentMinWidth??0,p=(x>g?x:g)||0,F=(d==null?void 0:d.top)??0,v=(d==null?void 0:d.right)??0;let b,B;if(r?(B=(c==null?void 0:c.top)??0,b=(c==null?void 0:c.left)??0):(B=F+E.offsetHeight,b=(D==null?void 0:D.dropSide)==="right"?v-h:v-p),r){const j=(e==null?void 0:e.clientHeight)||0,{bottom:G,top:L}=zi(o);(GG?"top":"bottom")==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),B-=j-o.clientHeight):(e.classList.remove("dropup"),e.classList.add("dropdown"))}const S=this.grid.getGridPosition();let y=b+Number(g);r&&(y+=o.clientWidth);const w=document.documentElement.clientWidth;(y>=S.width||y>=w?"left":"right")==="left"||!r&&(D==null?void 0:D.dropSide)==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),r&&(b-=Number(g))):(e.classList.remove("dropleft"),e.classList.add("dropright"),r&&(b+=o.offsetWidth)),e.style.top=`${B}px`,e.style.left=`${b}px`,x>0&&(e.style.minWidth=`${x}px`),e.style.opacity="1",e.style.display="block"}}openGridMenu(){const u=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(u,"target",{writable:!0,configurable:!0,value:A("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(u)}showGridMenu(u,e){var i,t,r;const a=((i=u==null?void 0:u.touches)==null?void 0:i[0])??u;if(u.preventDefault(),Au(this._menuElm),(t=this._menuElm)==null||t.remove(),this._addonOptions){const o={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},s={...this._addonOptions,...e};if(s&&!this.extensionUtility.runOverrideFunctionWhenExists(s.menuUsabilityOverride,o)||typeof u.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",o),typeof(s==null?void 0:s.onBeforeMenuShow)=="function"&&s.onBeforeMenuShow(u,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(),_t.call(this),this._columnCheckboxes=[],u4.call(this,s),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const l=((s==null?void 0:s.marginBottom)!==void 0?s.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=be(s==null?void 0:s.minHeight,""),(s==null?void 0:s.height)!==void 0?this._menuElm.style.height=be(s.height,""):this._menuElm.style.maxHeight=be(s==null?void 0:s.maxHeight,`${window.innerHeight-a.clientY-l}px`);let E=u.target.nodeName==="BUTTON"?u.target:u.target.querySelector("button");E||(E=u.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(u,this._menuElm,E,s),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",o),typeof(s==null?void 0:s.onAfterMenuShow)=="function"&&s.onAfterMenuShow(u,o),this.onAfterMenuShow.notify(o,null,this)}}translateGridMenu(){var u;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 e=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...e,...this.addGridMenuCustomCommands(e)],this.extensionUtility.translateMenuItemsFromTitleKey(((u=this._addonOptions)==null?void 0:u.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(u){u&&(u.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),u.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),u.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),u.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(u){var o,s;const e=this.gridOptions.backendServiceApi||null,a=[],i=this.gridOptions,t=Q0(i),r=(o=this._addonOptions)==null?void 0:o.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const E="clear-pinning";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${t}${(r==null?void 0:r.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:E,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const E="clear-filter";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${t}${(r==null?void 0:r.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:E,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const E="toggle-filter";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${t}${(r==null?void 0:r.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:E,positionOrder:53})}if(e&&!this._addonOptions.hideRefreshDatasetCommand){const E="refresh-dataset";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${t}${(r==null?void 0:r.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:E,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const E="toggle-dark-mode";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${t}${(r==null?void 0:r.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:E,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const E="toggle-preheader";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${t}${(r==null?void 0:r.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:E,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const E="clear-sorting";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${t}${(r==null?void 0:r.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:E,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const E="export-csv";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${t}${(r==null?void 0:r.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:E,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const E="export-excel";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${t}${(r==null?void 0:r.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:E,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const E="export-text-delimited";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${t}${(r==null?void 0:r.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:E,positionOrder:57})}const l=((s=this._addonOptions)==null?void 0:s.commandItems)||[];(Array.isArray(a)&&a.length>0||Array.isArray(l)&&l.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return a}executeGridMenuInternalCustomCommands(u,e){var i,t,r;const a=((i=this.sharedService)==null?void 0:i.externalRegisteredResources)||[];if(e!=null&&e.command)switch(e.command){case"clear-pinning":const o=[...this.sharedService.visibleColumns],s={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(s),this.sharedService.gridOptions.frozenColumn=s.frozenColumn,this.sharedService.gridOptions.frozenRow=s.frozenRow,this.sharedService.gridOptions.frozenBottom=s.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=s.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 E=a.find(g=>g.className==="TextExportService");E!=null&&E.exportToFile?E.exportToFile({delimiter:ze.comma,format:Hu.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 d=a.find(g=>g.className==="ExcelExportService");d!=null&&d.exportToExcel?d.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 c=a.find(g=>g.className==="TextExportService");c!=null&&c.exportToFile?c.exportToFile({delimiter:ze.tab,format:Hu.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-dark-mode":const D=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!D}),this.sharedService.gridOptions.darkMode=!D;break;case"toggle-filter":let m=((t=this.gridOptions)==null?void 0:t.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const h=((r=this.gridOptions)==null?void 0:r.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!h);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:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(u){if(this.menuElement){let e=!1;const a=u.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(u.target)||a)&&(e=!0),(this._isMenuOpen&&this.menuElement!==u.target&&!e&&!u.defaultPrevented||u.target.className==="close"&&a)&&this.hideMenu(u)}}handleMenuItemCommandClick(u,e,a,i=0){var t,r;if(a!=="divider"&&!a.disabled&&!a.divider)if((a.command||"")&&!a.commandItems){const s={grid:this.grid,command:a.command,item:a,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(u,s),this.pubSubService.publish("onGridMenuCommand",s),typeof((t=this._addonOptions)==null?void 0:t.onCommand)=="function"&&this._addonOptions.onCommand(u,s),this.onCommand.notify(s,null,this),typeof a.action=="function"&&a.action.call(this,u,s),!((r=this._addonOptions)!=null&&r.leaveOpen)&&!u.defaultPrevented&&this.hideMenu(u),u.preventDefault(),u.stopPropagation()}else a.commandItems&&this.repositionSubMenu(u,a,i)}handleMenuItemMouseOver(u,e,a,i=0){a!=="divider"&&!a.disabled&&!a.divider&&(a.commandItems?this.repositionSubMenu(u,a,i):i===0&&this.disposeSubMenus())}recreateCommandList(u,e,a,i){const t=a.level||0;if(u.length>0){const r=A("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},e);if(t===0){this.populateCommandOrOptionTitle("command",this.addonOptions,r,t);const o=e.querySelector(".slick-command-header")??A("div",{className:"slick-command-header"});o.classList.add("with-close"),Y1.call(this,o),r.appendChild(o)}return i&&t>0&&this.addSubMenuTitleWhenExists(i,r),this.populateCommandOrOptionItems("command",this._addonOptions,r,u,a,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),r}return null}repositionSubMenu(u,e,a){const i=(e==null?void 0:e.commandItems)||[],t=this.createCommandMenu(i,a+1,e);t.style.display="block",document.body.appendChild(t),this.repositionMenu(u,t)}}const q1="mdi-icon-picker-check",Z1="mdi-icon-picker-uncheck";function Y1(n){const e=A("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof Qr?"slick-column-picker":"slick-grid-menu"}});n.appendChild(e)}function Q1(n){var e,a;const u=this;(e=u.addonOptions)!=null&&e.columnTitle&&(u._columnTitleElm=A("div",{className:"slick-menu-title",textContent:((a=u.addonOptions)==null?void 0:a.columnTitle)??u._defaults.columnTitle},n))}function X1(n){var r,o;const u=this,e=u instanceof Qr?"columnPicker":"gridMenu",a=(r=n.target)==null?void 0:r.closest(".icon-checkbox-container"),i=a==null?void 0:a.querySelector(".mdi"),t=!!n.target.checked;if(n.target.ariaChecked=String(t),Rs(i,t),n.target.dataset.option==="autoresize"){const s=u.getVisibleColumns();u.grid.setOptions({forceFitColumns:t}),u.grid.setColumns(s);return}if(n.target.dataset.option==="syncresize"){u.grid.setOptions({syncColumnCellResize:t});return}if(n.target.type==="checkbox"){u._areVisibleColumnDifferent=!0;const s=n.target.dataset.columnid||"",l=[];if(u._columnCheckboxes.forEach((c,D)=>{c.checked&&l.push(u.columns[D])}),!l.length){n.target.checked=!0,Rs(i,!0);return}if(u.grid.setColumns(l),(!u.sharedService.visibleColumns||Array.isArray(l)&&l.length!==u.sharedService.visibleColumns.length)&&(u.sharedService.visibleColumns=l),u.gridOptions.enableRowSelection&&t){const c=u.grid.getSelectedRows();u.grid.setSelectedRows(c)}const E=u.gridOptions.frozenColumn??-1;E>=0&&u.extensionUtility.readjustFrozenColumnIndexWhenNeeded(E,u.columns,l);const d={columnId:s,showing:t,allColumns:u.columns,visibleColumns:l,columns:l,grid:u.grid};u.pubSubService.publish(`on${R0(e)}ColumnsChanged`,d),typeof((o=u.addonOptions)==null?void 0:o.onColumnsChanged)=="function"&&u.addonOptions.onColumnsChanged(n,d),u.onColumnsChanged.notify(d,null,u)}}function Rs(n,u=!1){n&&(n.className=`mdi ${u?q1:Z1}`)}function Bn(n,u,e,a=!1){const i=A("label",{className:"checkbox-picker-label",htmlFor:u}),t=A("div",{className:"icon-checkbox-container"}),r=A("input",{id:u,type:"checkbox",dataset:e}),o=A("div",{className:`mdi ${a?q1:Z1}`}),s=A("span",{className:"checkbox-label"});return t.appendChild(r),t.appendChild(o),i.appendChild(t),i.appendChild(s),n.appendChild(i),a&&(r.ariaChecked="true",r.checked=!0),{inputElm:r,labelElm:i,labelSpanElm:s}}function u4(n){const u=this,e=u instanceof U1?"gridmenu-":"";for(const a of u.columns){const i=a.id,t=document.createElement("li");a.excludeFromColumnPicker&&(t.className="hidden");const r=`${u._gridUid}-${e}colpicker-${i}`,o=u.grid.getColumnIndex(i)>=0,{inputElm:s,labelElm:l,labelSpanElm:E}=Bn(t,r,{columnid:`${i}`},o);u._columnCheckboxes.push(s);const c=(typeof(n==null?void 0:n.headerColumnValueExtractor)=="function"?n.headerColumnValueExtractor:u._defaults.headerColumnValueExtractor)(a,u.gridOptions);this.grid.applyHtmlCode(E,c),t.appendChild(l),u._listElm.appendChild(t)}if((!n.hideForceFitButton||!n.hideSyncResizeButton)&&u._listElm.appendChild(document.createElement("hr")),!(n!=null&&n.hideForceFitButton)){const a=document.createElement("li"),i=`${u._gridUid}-${e}colpicker-forcefit`,{labelSpanElm:t}=Bn(a,i,{option:"autoresize"},u.gridOptions.forceFitColumns);t.textContent=(n==null?void 0:n.forceFitTitle)??"",u._listElm.appendChild(a)}if(!(n!=null&&n.hideSyncResizeButton)){const a=document.createElement("li"),i=`${u._gridUid}-${e}colpicker-syncresize`,{labelSpanElm:t}=Bn(a,i,{option:"syncresize"},u.gridOptions.forceFitColumns);t.textContent=(n==null?void 0:n.syncResizeTitle)??"",u._listElm.appendChild(a)}}function _t(){const n=this,u=n.grid.getColumns().slice(0),e=new Array(n.columns.length);for(let a=0;ai0(r.name||"","innerHTML")},this._bindEventService=new pu,this.onColumnsChanged=new R("onColumnsChanged"),this._eventHandler=new Su,this._columns=this.sharedService.allColumns??[],this._gridUid=((t=(i=this.grid)==null?void 0:i.getUID)==null?void 0:t.call(i))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(u){this._columns=u}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.onColumnsChanged.setPubSubService(this.pubSubService),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.onPreHeaderContextMenu,u=>{["slick-column-name","slick-header-column"].some(e=>{var a;return(a=u.target)==null?void 0:a.classList.contains(e)})&&this.handleHeaderContextMenu(u)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,_t.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.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 u,e;this._bindEventService.unbindAll("parent-menu"),(u=this._listElm)==null||u.remove(),(e=this._menuElm)==null||e.remove(),this._menuElm=null}createPickerMenu(){const u=A("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return _t.call(this),Q1.call(this,u),Y1.call(this,u),this._listElm=A("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(u,"click",X1.bind(this),void 0,"parent-menu"),document.body.appendChild(u),u}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(u){var e;(this._menuElm!==u.target&&!((e=this._menuElm)!=null&&e.contains(u.target))||u.target.className==="close"&&u.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(u){u.preventDefault(),Au(this._listElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),u4.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(u)}repositionMenu(u){var a;const e=((a=u==null?void 0:u.touches)==null?void 0:a[0])??u;this._menuElm&&(this._menuElm.style.top=`${e.pageY-10}px`,this._menuElm.style.left=`${e.pageX-10}px`,this._menuElm.style.minHeight=be(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=be(this.addonOptions.maxHeight,`${window.innerHeight-e.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm))}translateTitleLabels(u){u&&(u.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Dt=(n,u,e,a,i,t)=>{const r=a.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. +`}if(window.clipboardData)return window.clipboardData.setData("Text",o),!0;{const s=document.activeElement,l=this.createTextBox(o);if(l.focus(),setTimeout(()=>{this._bodyElement.removeChild(l),s?s.focus():console.log("No element to restore focus to after copy?")},((i=this.addonOptions)==null?void 0:i.clipboardPasteDelay)??Ps),typeof this._onCopySuccess=="function"){const E=e.length===1?e[0].toRow+1-e[0].fromRow:e.length;this._onCopySuccess(E)}return!1}}if(!this._addonOptions.readOnlyMode&&(u.key==="v"&&(u.ctrlKey||u.metaKey)&&!u.shiftKey||u.key==="Insert"&&u.shiftKey&&!u.ctrlKey)){const r=this.createTextBox("");return setTimeout(()=>this.decodeTabularData(this._grid,r),((t=this.addonOptions)==null?void 0:t.clipboardPasteDelay)??Ps),!1}}}markCopySelection(u){var i;this.clearCopySelection();const e=this._grid.getColumns(),a={};for(const t of u)for(let r=t.fromRow;r<=t.toRow;r++){a[r]={};for(let o=t.fromCell;o<=t.toCell&&othis.clearCopySelection(),((i=this.addonOptions)==null?void 0:i.clearCopySelectionDelay)||hh)}}class Qt{constructor(u,e,a){this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new pu,this._eventHandler=new Su}get addonOptions(){return this._addonOptions}set addonOptions(u){this._addonOptions=u}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var u;return this._gridUid||(((u=this.grid)==null?void 0:u.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 u,e,a,i,t;(u=this._eventHandler)==null||u.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(e=this._commandTitleElm)==null||e.remove(),(a=this._optionTitleElm)==null||a.remove(),this.disposeAllMenus(),Au(this._menuElm),(i=this.menuElement)==null||i.remove(),(t=this._menuElm)==null||t.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(u=>u.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(u=>u.remove())}setOptions(u){this._addonOptions={...this._addonOptions,...u}}addSubMenuTitleWhenExists(u,e){if(u!=="divider"&&(u!=null&&u.subMenuTitle)){const a=document.createElement("div");a.className="slick-menu-title",a.textContent=u.subMenuTitle;const i=u.subMenuTitleCssClass;i&&a.classList.add(..._u(i)),e.appendChild(a)}}populateCommandOrOptionItems(u,e,a,i,t,r,o){if(t&&i&&e)for(const s of i)this.populateSingleCommandOrOptionItem(u,e,a,s,t,r,o)}populateCommandOrOptionTitle(u,e,a,i){var t;if(e){const r=i>0,o=((t=this._menuElm)==null?void 0:t.querySelector(`.slick-${u}-header`))??A("div",{className:`slick-${u}-header`}),s=`${u}Title`;r||(e!=null&&e[s]?(Au(o),this[`_${u}TitleElm`]=A("span",{className:"slick-menu-title",textContent:e[s]}),o.appendChild(this[`_${u}TitleElm`]),o.classList.add("with-title")):o.classList.add("no-title"),a.appendChild(o))}}populateSingleCommandOrOptionItem(u,e,a,i,t,r,o){var l;let s=null;if(t&&i&&e){const E=(t==null?void 0:t.level)||0,d=this._camelPluginName==="headerButtons"?"":"-item",c=`${this._menuCssPrefix}${d}`;let D=!0,m=!0;if(typeof i=="object"&&(D=this.extensionUtility.runOverrideFunctionWhenExists(i.itemVisibilityOverride,t),m=this.extensionUtility.runOverrideFunctionWhenExists(i.itemUsabilityOverride,t)),!D)return null;if(typeof i=="object"&&i.itemUsabilityOverride&&(i.disabled=!m),s=A("li",{className:c,role:"menuitem"}),typeof i=="object"&&bu(i[u])&&(s.dataset[u]=i==null?void 0:i[u]),a&&a.appendChild(s),typeof i=="object"&&i.divider||i==="divider")return s.classList.add(`${c}-divider`),s;if(i.disabled&&s.classList.add(`${c}-disabled`),(i.hidden||i.showOnHover)&&s.classList.add(`${c}-hidden`),i.cssClass&&s.classList.add(..._u(i.cssClass)),i.tooltip&&(s.title=i.tooltip),this._camelPluginName!=="headerButtons"){const g=A("div",{className:`${this._menuCssPrefix}-icon`});s.appendChild(g),i.iconCssClass?g.classList.add(..._u(i.iconCssClass)):!i.commandItems&&!i.optionItems&&(g.textContent="◦");const x=A("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof i=="object"&&i.title||""},s);i.textCssClass&&x.classList.add(..._u(i.textCssClass))}const h=E>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(s,"click",g=>r.call(this,g,u,i,E,t==null?void 0:t.column),void 0,h),((l=this._addonOptions)==null?void 0:l.subMenuOpenByEvent)==="mouseover"&&typeof o=="function"&&this._bindEventService.bind(s,"mouseover",g=>o.call(this,g,u,i,E,t==null?void 0:t.column),void 0,h),i.commandItems||i.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(..._u(this._addonOptions.subItemChevronClass)):g.textContent="⮞",s.classList.add("slick-submenu-item"),s.appendChild(g)}}return s}}class J1 extends Qt{constructor(u,e,a){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(u){var a,i,t,r,o;(a=this.menuElement)==null||a.remove(),this._menuElm=void 0;const e=this.grid.getCellFromEvent(u);if(e){this._currentCell=e.cell??0,this._currentRow=e.row??0;const s=((i=this._addonOptions)==null?void 0:i.commandItems)||[],l=((t=this._addonOptions)==null?void 0:t.optionItems)||[],E={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(u,E),typeof u.stopPropagation=="function"&&(this.pubSubService.publish(`on${R0(this._camelPluginName)}BeforeMenuShow`,E),typeof((r=this.addonOptions)==null?void 0:r.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(u,E)===!1)||(this._menuElm=this.createMenu(s,l),this._menuElm&&(this._menuElm.style.top=`${(u.pageY||0)+5}px`,this._menuElm.style.left=`${u.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${R0(this._camelPluginName)}AfterMenuShow`,E),typeof((o=this.addonOptions)==null?void 0:o.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(u,E)===!1))return}return this._menuElm}createMenu(u,e,a=0,i){var x,p,F,v,b;const t=this.grid.getColumns()[this._currentCell],r=this.grid.getDataItem(this._currentRow),o=(i==null?void 0:i.command)||(i==null?void 0:i.option);let s=a===1&&o?String(o).replace(/\s/g,""):"";s&&(this._subMenuParentId=s),a>1&&(s=this._subMenuParentId);let l=!0,E=!0;if(this._camelPluginName==="contextMenu"){if(l=this.checkIsColumnAllowed(((x=this._addonOptions)==null?void 0:x.optionShownOverColumnIds)??[],t.id),E=this.checkIsColumnAllowed(((p=this._addonOptions)==null?void 0:p.commandShownOverColumnIds)??[],t.id),!t||(!E||!u.length)&&(!l||!e.length)){this.hideMenu();return}}else if(!t||!t.cellMenu||!u.length&&!e.length)return;const d=`${this.menuCssClass} slick-menu-level-${a} ${this.gridUid}`,c=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${a}${this.gridUidSelector}`);if(c){if(c.dataset.subMenuParent===s)return c;this.disposeSubMenus()}const D=document.createElement("div");D.className=d,a>0&&(D.classList.add("slick-submenu"),(F=this.gridOptions)!=null&&F.darkMode&&D.classList.add("slick-dark-mode"),s&&(D.dataset.subMenuParent=s));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,h=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(D.style.maxHeight=m),h&&(D.style.maxWidth=h),(v=this.addonOptions)!=null&&v.width&&(D.style.width=be((b=this.addonOptions)==null?void 0:b.width));const g=A("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&l&&e.length>0){const B=A("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},D);this.populateCommandOrOptionTitle("option",this.addonOptions,B,a),!this.addonOptions.hideCloseButton&&a<1&&this.populateCommandOrOptionCloseBtn("option",g,B),i&&a>0&&this.addSubMenuTitleWhenExists(i,B),this.populateCommandOrOptionItems("option",this.addonOptions,B,e,{cell:this._currentCell,row:this._currentRow,column:t,dataContext:r,grid:this.grid,level:a},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&E&&u.length>0){const B=A("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},D);this.populateCommandOrOptionTitle("command",this.addonOptions,B,a),!this.addonOptions.hideCloseButton&&a<1&&(!l||e.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,B),i&&a>0&&this.addSubMenuTitleWhenExists(i,B),this.populateCommandOrOptionItems("command",this.addonOptions,B,u,{cell:this._currentCell,row:this._currentRow,column:t,dataContext:r,grid:this.grid,level:a},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return a++,D}closeMenu(u,e){var a;if(this.menuElement){if(typeof((a=this.addonOptions)==null?void 0:a.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(u,e)===!1)return;this.hideMenu()}}hideMenu(){var u;(u=this.menuElement)==null||u.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(u,e){return(u==null?void 0:u.length)>0?u.findIndex(a=>a===e)>=0:!0}handleBodyMouseDown(u){if(this.menuElement){let e=!1;const a=u.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(u.target)||a)&&(e=!0),(this.menuElement!==u.target&&!e&&!u.defaultPrevented||u.target.className==="close"&&a)&&this.closeMenu(u,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(u){u.defaultPrevented||this.closeMenu(u,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(u,e,a,i=0){(a==null?void 0:a[e])!==void 0&&a!=="divider"&&!a.disabled&&!a.divider&&(a.commandItems||a.optionItems?(this.repositionSubMenu(a,e,i,u),this._lastMenuTypeClicked=e):i===0&&this.disposeSubMenus())}handleMenuItemCommandClick(u,e,a,i=0){var t;if((a==null?void 0:a[e])!==void 0&&a!=="divider"&&!a.disabled&&!a.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(e==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const r=this._currentCell,o=this._currentRow,s=this.grid.getColumns()[this._currentCell],l=this.grid.getDataItem(this._currentRow),E=a[e]!==void 0?a[e]:"";if(E!==void 0&&!a[`${e}Items`]){const d={cell:this._currentCell,row:this._currentRow,grid:this.grid,[e]:E,item:a,column:s,dataContext:l},c=e==="command"?"onCommand":"onOptionSelected",D=`${this._camelPluginName}:${c}`;this.pubSubService.publish(D,d),typeof((t=this._addonOptions)==null?void 0:t[c])=="function"&&this._addonOptions[c](u,d),typeof a.action=="function"&&a.action.call(this,u,d),u.defaultPrevented||this.closeMenu(u,{cell:r,row:o,grid:this.grid})}else(a.commandItems||a.optionItems)&&this.repositionSubMenu(a,e,i,u);this._lastMenuTypeClicked=e}}populateCommandOrOptionCloseBtn(u,e,a){this._bindEventService.bind(e,"click",t=>this.handleCloseButtonClicked(t),void 0,"parent-menu");const i=a.querySelector(`.slick-${u}-header`)??A("div",{className:`slick-${u}-header`});i==null||i.appendChild(e),a.appendChild(i),i.classList.add("with-close")}repositionSubMenu(u,e,a,i){(i.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==e)&&this.disposeSubMenus();const t=this.createMenu((u==null?void 0:u.commandItems)||[],(u==null?void 0:u.optionItems)||[],a+1,u);t&&(t.style.display="block",document.body.appendChild(t),this.repositionMenu(i,t))}repositionMenu(u,e){var t;const a=e==null?void 0:e.classList.contains("slick-submenu"),i=a?u.target.closest(`.${this._menuCssPrefix}-item`):u.target.closest(".slick-cell");if(e&&i){e.style.top="0px",e.style.left="0px";const r=((t=u==null?void 0:u.touches)==null?void 0:t[0])??u,o=Ou(i);let s=i&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.left)??0:r.pageX,l=i&&this._camelPluginName==="cellMenu"?(o==null?void 0:o.top)??0:r.pageY;a&&this._camelPluginName==="contextMenu"&&(s=(o==null?void 0:o.left)??0,l=(o==null?void 0:o.top)??0);const E=i.offsetWidth||0,d=(e==null?void 0:e.offsetHeight)||0,c=(e==null?void 0:e.offsetWidth)||this._addonOptions.width||0,D=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),h=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:x}=zi(i),p=g+m-D,F=x-m+D;(pp?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),a?l-=d-m-i.clientHeight:l-=d-m):(e.classList.remove("dropup"),e.classList.add("dropdown"),l=l+m,this._camelPluginName==="cellMenu"&&(a?l+=m:l+=D+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let x=s+Number(c);a&&(x+=i.clientWidth);const p=document.documentElement.clientWidth;(x>=g.width||x>=p?"left":"right")==="left"||!a&&this._addonOptions.dropSide==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!a?s-=Number(c)-E-h:s-=Number(c)-h):(e.classList.remove("dropleft"),e.classList.add("dropright"),a?s+=h+i.offsetWidth:s+=h)}e.style.top=`${l}px`,e.style.left=`${s}px`}}}class gh extends J1{constructor(u,e,a){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,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(a.gridOptions.cellMenu)}init(u){this._addonOptions={...this._defaults,...u},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 a;const u=(a=this.sharedService)==null?void 0:a.gridOptions,e=this.sharedService.allColumns;u!=null&&u.enableTranslate&&Array.isArray(e)&&e.forEach(i=>{if(i!=null&&i.cellMenu&&(Array.isArray(i.cellMenu.commandItems)||Array.isArray(i.cellMenu.optionItems))){const t=i.cellMenu.commandItems||[],r=i.cellMenu.optionItems||[];i.cellMenu.commandTitleKey&&(i.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(i.cellMenu.commandTitleKey,"TEXT_COMMANDS")||i.cellMenu.commandTitle),i.cellMenu.optionTitleKey&&(i.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(i.cellMenu.optionTitleKey,"TEXT_COMMANDS")||i.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(t,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(r,"optionItems")}})}handleCellClick(u,e){var i;this.disposeAllMenus();const a=this.grid.getCellFromEvent(u);if(a){const t=this.grid.getDataItem(a.row),r=this.grid.getColumns()[a.cell];r!=null&&r.cellMenu&&!((i=this.gridOptions.cellMenu)!=null&&i.activateCellOnMenuClick)&&u.preventDefault(),this._addonOptions={...this._addonOptions,...r.cellMenu};const o=e||{};if(o.column=r,o.dataContext=t,o.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,o))return;this._menuElm=this.createParentMenu(u),this._menuElm&&(this.repositionMenu(u,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(u){u.forEach(e=>{var a,i;(a=e==null?void 0:e.cellMenu)!=null&&a.commandItems&&this.extensionUtility.sortItems(e.cellMenu.commandItems||[],"positionOrder"),(i=e==null?void 0:e.cellMenu)!=null&&i.optionItems&&this.extensionUtility.sortItems(e.cellMenu.optionItems||[],"positionOrder")})}}class Ch{constructor(u,e){this.grid=u,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=da(this._defaults,e)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var u;(u=this._elem)==null||u.remove(),this._elem=null}show(u){var i,t;this._elem||(this._elem=A("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",(i=this.grid.getActiveCanvasNode())==null||i.appendChild(this._elem));const e=this.grid.getCellNodeBox(u.fromRow,u.fromCell),a=this.grid.getCellNodeBox(u.toRow,u.toCell);return e&&a&&((t=this._options)!=null&&t.offset)&&(this._elem.style.top=`${e.top+this._options.offset.top}px`,this._elem.style.left=`${e.left+this._options.offset.left}px`,this._elem.style.height=`${a.bottom-e.top+this._options.offset.height}px`,this._elem.style.width=`${a.right-e.left+this._options.offset.width}px`),this._elem}}class Pt{constructor(u){this.pluginName="CellRangeSelector",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.onBeforeCellRangeSelected=new R("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new R("onCellRangeSelecting"),this.onCellRangeSelected=new R("onCellRangeSelected"),this._eventHandler=new Su,this._options=da(this._defaults,u)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var u;return this._gridUid||(((u=this._grid)==null?void 0:u.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(u){this._grid=u,this._decorator=this._options.cellDecorator||new Ch(u,this._options),this._canvas=u.getCanvasNode(),this._gridOptions=u.getOptions(),this._gridUid=u.getUID();const e=u.getPubSubService();e&&z.addSlickEventPubSubWhenDefined(e,this),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 u,e;(u=this._eventHandler)==null||u.unsubscribeAll(),Au(this._activeCanvas),Au(this._canvas),(e=this._decorator)==null||e.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(u,e){var m;const a=((m=u==null?void 0:u.touches)==null?void 0:m[0])??u,i=this._activeViewport.scrollLeft,t=this._activeViewport.scrollTop,r=i+this._viewportWidth,o=t+this._viewportHeight,s=Ou(this._activeViewport),l=(s==null?void 0:s.left)??0,E=(s==null?void 0:s.top)??0,d=l+this._viewportWidth,c=E+this._viewportHeight,D={e:u,dd:e,viewport:{left:i,top:t,right:r,bottom:o,offset:{left:l,top:E,right:d,bottom:c}},offset:{x:0,y:0},isOutsideViewport:!1};return a.pageXd&&(D.offset.x=a.pageX-d),a.pageYc&&(D.offset.y=c-a.pageY),D.isOutsideViewport=!!D.offset.x||!!D.offset.y,D}stopIntervalTimer(){this._autoScrollTimerId&&(clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(u,e){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||u.stopImmediatePropagation();const a=u.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(a,e),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(a,e)}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 u=0,e=0;this._autoScrollTimerId=setInterval(()=>{let a=!1,i=!1;this._draggingMouseOffset.offset.x?(u+=this.addonOptions.minIntervalToShowNextCell,a=u>=this._xDelayForNextCell):u=0,this._draggingMouseOffset.offset.y?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._yDelayForNextCell):e=0,(a||i)&&(a&&(u=0),i&&(e=0),this.handleDragToNewPosition(a,i))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(u,e){let a=this._draggingMouseOffset.e.pageX,i=this._draggingMouseOffset.e.pageY;const t=this._draggingMouseOffset.offset.x,r=this._draggingMouseOffset.offset.y,o=this._draggingMouseOffset.viewport.offset;u&&t&&(t>0?a=o.right+this._moveDistanceForOneCell.x:a=o.left-this._moveDistanceForOneCell.x),e&&r&&(r>0?i=o.top-this._moveDistanceForOneCell.y:i=o.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:a,pageY:i},this._draggingMouseOffset.dd)}handleDragTo(u,e){var t,r,o;const a=((t=u==null?void 0:u.touches)==null?void 0:t[0])??u,i=this._grid.getCellFromPoint(a.pageX-(((r=Ou(this._activeCanvas))==null?void 0:r.left)??0)+this._columnOffset,a.pageY-(((o=Ou(this._activeCanvas))==null?void 0:o.top)??0)+this._rowOffset);if(i!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&i.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&i.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&i.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&i.rowl.right||s.topl.bottom)&&this._grid.scrollCellIntoView(i.row,i.cell)}}if(!this._grid.canCellBeSelected(i.row,i.cell))return;if(e!=null&&e.range){e.range.end=i;const s=new V0(e.range.start.row??0,e.range.start.cell??0,i.row,i.cell);this._decorator.show(s),this.onCellRangeSelecting.notify({range:s})}}}handleDragEnd(u,e){this._decorator.hide(),this._dragging&&(this._dragging=!1,u.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new V0(e.range.start.row??0,e.range.start.cell??0,e.range.end.row,e.range.end.cell)}))}handleDragInit(u){var t,r;this._activeCanvas=this._grid.getActiveCanvasNode(u),this._activeViewport=this._grid.getActiveViewportNode(u);const e=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-e.width,this._viewportHeight=this._activeViewport.offsetHeight-e.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 o=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((t=document.querySelector(o))==null?void 0:t.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((r=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:r.clientWidth)??0);const a=this._grid.getCellFromEvent(u),i=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(i&&a&&i.row===a.row&&i.cell===a.cell))&&(u.stopImmediatePropagation(),u.preventDefault())}handleDragStart(u,e){const a=this._grid.getCellFromEvent(u);if(a&&this.onBeforeCellRangeSelected.notify(a).getReturnValue()!==!1&&this._grid.canCellBeSelected(a.row,a.cell)&&(this._dragging=!0,u.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const i=Ou(this._canvas);let t=e.startX-((i==null?void 0:i.left)??0);this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(t+=this._scrollLeft);let r=e.startY-((i==null?void 0:i.top)??0);this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(r+=this._scrollTop);const o=this._grid.getCellFromPoint(t,r);return e.range={start:o,end:{}},this._currentlySelectedRange=e.range,this._decorator.show(new V0(o.row,o.cell))}handleScroll(u,e){this._scrollTop=e.scrollTop,this._scrollLeft=e.scrollLeft}}class W1{constructor(u){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new R("onSelectedRangesChanged"),this._eventHandler=new Su,this._selector=u===void 0||u.cellRangeSelector===void 0?new Pt({selectionCss:{border:"2px solid black"}}):this._selector=u.cellRangeSelector,this._addonOptions=u}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(u){this._grid=u,u.hasDataView()&&(this._dataView=u.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const e=u.getPubSubService();e&&this.onSelectedRangesChanged.setPubSubService(e),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)),u.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var u,e;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(u=this._grid)==null||u.unregisterPlugin(this._selector),(e=this._selector)==null||e.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(u,e){let a=u.length!==e.length;if(!a){for(let i=0;ie===u)}handleKeyDown(u){var o;let e,a;const i=this._grid.getColumns().length,t=this._grid.getActiveCell();let r=0;if(this._dataView&&"getPagingInfo"in this._dataView?r=((o=this._dataView)==null?void 0:o.getPagingInfo().pageSize)||this._dataView.getLength():r=this._grid.getDataLength(),t&&(u.shiftKey||u.ctrlKey)&&!u.altKey&&this.isKeyAllowed(u.key)&&(e=this.getSelectedRanges().slice(),e.length||e.push(new V0(t.row,t.cell)),a=e.pop(),typeof(a==null?void 0:a.contains)=="function")){a.contains(t.row,t.cell)||(a=new V0(t.row,t.cell));let s=a.toRow-a.fromRow,l=a.toCell-a.fromCell;const E=t.row===a.fromRow?1:-1,d=t.cell===a.fromCell?1:-1,c=u.key.startsWith("Arrow");let D,m=0;c&&!u.ctrlKey?(u.key==="ArrowLeft"?l-=d:u.key==="ArrowRight"?l+=d:u.key==="ArrowUp"?s-=E:u.key==="ArrowDown"&&(s+=E),m=t.row+E*s):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=t.row),u.shiftKey&&!u.ctrlKey&&u.key==="Home"?(D=0,m=t.row):u.shiftKey&&!u.ctrlKey&&u.key==="End"?(D=i-1,m=t.row):u.ctrlKey&&u.shiftKey&&u.key==="Home"?(D=0,m=0):u.ctrlKey&&u.shiftKey&&u.key==="End"?(D=i-1,m=r-1):u.key==="PageUp"?(this._prevSelectedRow>=0&&(m=this._prevSelectedRow-this._cachedPageRowCount),m<0&&(m=0)):u.key==="PageDown"&&(this._prevSelectedRow<=r-1&&(m=this._prevSelectedRow+this._cachedPageRowCount),m>r-1&&(m=r-1)),this._prevSelectedRow=m),D??(D=t.cell+d*l);const h=new V0(t.row,t.cell,m,D);if(this.removeInvalidRanges([h]).length){e.push(h);const g=E>0?h.toRow:h.fromRow,x=d>0?h.toCell:h.fromCell;c?(this._grid.scrollRowIntoView(g),this._grid.scrollCellIntoView(g,x,!1)):(this._grid.scrollRowIntoView(m),this._grid.scrollCellIntoView(m,x,!1))}else e.push(a);this.setSelectedRanges(e),u.preventDefault(),u.stopPropagation(),this._prevKeyDown=u.key}}}class Xt{constructor(u){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new R("onSelectedRangesChanged"),this._eventHandler=new Su,this._options={...this._defaults,...u}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var u;return(u=this._grid)==null?void 0:u.getOptions()}init(u){this._grid=u,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const e=u.getPubSubService();e&&this.onSelectedRangesChanged.setPubSubService(e),!this._selector&&this._options.dragToSelect&&(this._selector=new Pt({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 u,e;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),(u=this._selector)==null||u.destroy(),(e=this._selector)==null||e.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(u){this.setSelectedRanges(this.rowsToRanges(u),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(u,e="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!u||u.length===0))return;this._ranges=u;const a=new ju(new CustomEvent("click",{detail:{caller:e}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,a)}getRowsRange(u,e){let a;const i=[];for(a=u;a<=e;a++)i.push(a);for(a=e;ar!==e.row),this._grid.setActiveCell(e.row,e.cell);else if(a.length&&u.shiftKey){const r=a.pop(),o=Math.min(e.row,r),s=Math.max(e.row,r);a=[];for(let l=o;l<=s;l++)l!==r&&a.push(l);a.push(r),this._grid.setActiveCell(e.row,e.cell)}const t=this.rowsToRanges(a);return this.setSelectedRanges(t),u.stopImmediatePropagation(),!0}handleKeyDown(u){const e=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&e&&u.shiftKey&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&(u.key==="ArrowUp"||u.key==="ArrowDown")){let a=this.getSelectedRows();a.sort((o,s)=>o-s),a.length||(a=[e.row]);let i,t=a[0],r=a[a.length-1];if(u.key==="ArrowDown"?i=e.row=0&&ie.push(new V0(i,0,i,a))),e}}const _s="mdi-icon-check",js="mdi-icon-uncheck";class Ls{constructor(u,e){this.pubSubService=u,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,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 pu,this._eventHandler=new Su,this._addonOptions={...this._defaults,...e}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(u){this._selectedRowsLookup=u}init(u){this._grid=u,this._isUsingDataView=!Array.isArray(u.getData()),this._isUsingDataView&&(this._dataView=u.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(u.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(u.onClick,this.handleClick.bind(this)).subscribe(u.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&(this._eventHandler.subscribe(u.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),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(u),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new Xt(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(u,e){var a;if(this._addonOptions={...this._defaults,...e.checkboxSelector},Array.isArray(u)&&e){const i=this.getColumnDefinition();if(!u.some(t=>t.id===i.id)){const t=((a=e==null?void 0:e.checkboxSelector)==null?void 0:a.columnIndexPosition)??0;t>0?u.splice(t,0,i):u.unshift(i),this.pubSubService.publish("onPluginColumnsChanged",{columns:u,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(u){var e;if(this._addonOptions={...this._addonOptions,...u},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const a=(e=this.headerRowNode)==null?void 0:e.querySelector("#filter-checkbox-selectall-container");if(a){a.style.display="flex",a.ariaChecked=String(this._isSelectAllChecked);const i=a.querySelector('input[type="checkbox"]');i&&(i.ariaChecked=String(this._isSelectAllChecked),i.checked=this._isSelectAllChecked)}}}deSelectRows(u){const e=[];for(const a of u)this._selectedRowsLookup[a]&&(e[e.length]=a);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(a=>e.indexOf(a)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(u){var i;const e=[];for(const t of u)this._selectedRowsLookup[t]&&(e[e.length]=t);const a=(i=this._grid.getSelectedRows())==null?void 0:i.concat(e);this._grid.setSelectedRows(a)}createCheckboxElement(u,e=!1){var r;const a=(r=this.gridOptions)!=null&&r.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment,i=A("label",{className:"checkbox-selector-label",htmlFor:u}),t=A("div",{className:"icon-checkbox-container"});return t.appendChild(A("input",{id:u,type:"checkbox",checked:e,ariaChecked:String(e)})),t.appendChild(A("div",{className:`mdi ${e?_s:js}`})),i.appendChild(t),a.appendChild(i),a}getColumnDefinition(){var e;const u=String(((e=this._addonOptions)==null?void 0:e.columnId)??this._defaults.columnId);return{id:u,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:u,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var e;const u=(e=this.headerRowNode)==null?void 0:e.querySelector("#filter-checkbox-selectall-container");u&&(u.style.display="none")}toggleRowSelection(u){this.toggleRowSelectionWithEvent(null,u)}toggleRowSelectionWithEvent(u,e){const a=this._grid.getDataItem(e);if(!this.checkSelectableOverride(e,a,this._grid))return;const i=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(u,{row:e,previousSelectedRows:i});const t=this._selectedRowsLookup[e]?this._grid.getSelectedRows().filter(r=>r!==e):this._grid.getSelectedRows().concat(e);this._grid.setSelectedRows(t,"click.toggle"),this._grid.setActiveCell(e,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(u,{row:e,previousSelectedRows:i})}selectableOverride(u){this._selectableOverride=u}addCheckboxToFilterHeaderRow(u){this._eventHandler.subscribe(u.onHeaderRowCellRendered,(e,a)=>{if(a.column.field===(this._addonOptions.field||"_checkbox_selector")){Au(a.node);const i=`header-filter-selector${this._selectAll_UID}`,t=A("label",{id:"filter-checkbox-selectall-container",htmlFor:i}),r=A("div",{className:"icon-checkbox-container"});r.appendChild(A("input",{id:i,type:"checkbox",ariaChecked:"false"})),r.appendChild(A("div",{className:"mdi mdi-icon-uncheck"})),t.appendChild(r),a.node.appendChild(t),this._headerRowNode=a.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(t,"click",o=>this.handleHeaderClick(o,a))}})}checkboxSelectionFormatter(u,e,a,i,t,r){if(t&&this.checkSelectableOverride(u,t,r)){const o=this.createUID()+u;return this.createCheckboxElement(`selector${o}`,!!this._selectedRowsLookup[u])}return null}checkSelectableOverride(u,e,a){return typeof this._selectableOverride=="function"?this._selectableOverride(u,e,a):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const u=this._grid.getColumns();for(let e=0;e0)for(let r=0;rd[s]===l)>=0&&!this.checkSelectableOverride(r,o,this._grid)&&a++}if(this._isSelectAllChecked=u.length+a>=e.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const r=(i=this.headerRowNode)==null?void 0:i.querySelector(`#header-filter-selector${this._selectAll_UID}`),o=(t=this.headerRowNode)==null?void 0:t.querySelector(".icon-checkbox-container .mdi");r&&(r.ariaChecked=String(this._isSelectAllChecked),r.checked=this._isSelectAllChecked),o&&(o.className=`mdi ${this._isSelectAllChecked?_s:js}`)}}handleClick(u,e){if(this._grid.getColumns()[e.cell].id===this._addonOptions.columnId&&u.target.type==="checkbox"){if(u.target.ariaChecked=String(u.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){u.preventDefault(),u.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(u,e.row),u.stopPropagation(),u.stopImmediatePropagation()}}handleHeaderClick(u,e){if(e.column.id===this._addonOptions.columnId&&u.target.type==="checkbox"){if(u.target.ariaChecked=String(u.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){u.preventDefault(),u.stopImmediatePropagation();return}let a=u.target.checked;const i=a?"click.selectAll":"click.unselectAll",t=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(u,{previousSelectedRows:t,caller:i});let r=[];if(a){const o=[];for(let s=0;s{l!==void 0&&this._grid.invalidateRow(+l)}),this._selectedRowsLookup=e,this._grid.render(),this._isSelectAllChecked=((u==null?void 0:u.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 l=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`);l&&(l.ariaChecked=String(this._isSelectAllChecked),l.checked=this._isSelectAllChecked)}if(o.length>0){for(const l of o){const E=u.indexOf(l);u.splice(E,1)}this._grid.setSelectedRows(u,"click.toggle")}}renderSelectAllCheckbox(u){const e=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!u),this._addonOptions.toolTip);e==null||e.classList.add("header-checkbox-selectall")}}class U1 extends Qt{constructor(u,e,a,i,t){var r;super(u,a,i),this.extensionUtility=u,this.filterService=e,this.pubSubService=a,this.sharedService=i,this.sortService=t,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=>i0(o.columnPickerLabel||o.name||"","innerHTML")},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.onAfterMenuShow=new R("onAfterMenuShow"),this.onBeforeMenuShow=new R("onBeforeMenuShow"),this.onMenuClose=new R("onMenuClose"),this.onCommand=new R("onCommand"),this.onColumnsChanged=new R("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(u){this._columns=u}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,_t.bind(this)),this._eventHandler.subscribe(this.grid.onClick,u=>this.hideMenu(u)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(u,e)=>{if(e&&e.optionsBefore&&e.optionsAfter){const a=e.optionsBefore.frozenColumn>=0&&e.optionsAfter.frozenColumn===-1,i=e.optionsBefore.frozenColumn===-1&&e.optionsAfter.frozenColumn>=0;(a||i)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",z.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const u=this._userOriginalGridMenu.commandItems,e=this._userOriginalGridMenu&&Array.isArray(u)?u:[];this._addonOptions.commandItems=[...e,...this.addGridMenuCustomCommands(e)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var u,e;this._bindEventService.unbindAll(),(u=this._menuElm)==null||u.remove(),this._menuElm=null,(e=this._gridMenuButtonElm)==null||e.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(Q1.call(this,this._menuElm),this._listElm=A("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",X1.bind(this),void 0,"parent-menu"))}createGridMenu(){var t,r;const u=this._gridUid?`.${this._gridUid}`:"",e=((t=this._addonOptions)==null?void 0:t.menuWidth)||this._defaults.menuWidth,a=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",i=this.grid.getContainerNode();if(this._headerElm=i.querySelector(`.slick-header-${a}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${e}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const l=i.querySelector(`${u} .slick-headerrow`);l&&(l.style.width=`calc(100% - ${e}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=A("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(r=this._addonOptions)!=null&&r.iconCssClass&&this._gridMenuButtonElm.classList.add(..._u(this._addonOptions.iconCssClass));const l=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[l]),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(u,e=0,a){const i=a==null?void 0:a.command;let t=e===1&&i?i.replace(/\s/g,""):"";t&&(this._subMenuParentId=t),e>1&&(t=this._subMenuParentId);const r=`${this.menuCssClass} slick-menu-level-${e} ${this._gridUid}`,o=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${e}${this.gridUidSelector}`);if(o){if(o.dataset.subMenuParent===t)return o;this.disposeSubMenus()}const s=A("div",{role:"menu",className:r,ariaLabel:e>1?"SubMenu":"Grid Menu"});e>0&&(s.classList.add("slick-submenu"),t&&(s.dataset.subMenuParent=t));const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:e};return this._commandMenuElm=this.recreateCommandList(u,s,l,a),e++,s}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(u){var a,i,t;const e={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",e),!(typeof((a=this._addonOptions)==null?void 0:a.onMenuClose)=="function"&&this._addonOptions.onMenuClose(u,e)===!1||this.onMenuClose.notify(e,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((i=this.grid)==null?void 0:i.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(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(u,e,a,i){var s,l;const t=((s=u==null?void 0:u.touches)==null?void 0:s[0])??u,r=e.classList.contains("slick-submenu"),o=r?u.target.closest(".slick-menu-item"):t.target;if(o){const E=a||this._gridMenuButtonElm,d=Ou(a),c=Ou(o),D=i??this._addonOptions,m=getComputedStyle(E),h=parseInt((m==null?void 0:m.width)??((l=this._defaults)==null?void 0:l.menuWidth),10),g=(e==null?void 0:e.offsetWidth)??0,x=(D==null?void 0:D.contentMinWidth)??this._defaults.contentMinWidth??0,p=(x>g?x:g)||0,F=(d==null?void 0:d.top)??0,v=(d==null?void 0:d.right)??0;let b,B;if(r?(B=(c==null?void 0:c.top)??0,b=(c==null?void 0:c.left)??0):(B=F+E.offsetHeight,b=(D==null?void 0:D.dropSide)==="right"?v-h:v-p),r){const j=(e==null?void 0:e.clientHeight)||0,{bottom:G,top:L}=zi(o);(GG?"top":"bottom")==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),B-=j-o.clientHeight):(e.classList.remove("dropup"),e.classList.add("dropdown"))}const S=this.grid.getGridPosition();let y=b+Number(g);r&&(y+=o.clientWidth);const w=document.documentElement.clientWidth;(y>=S.width||y>=w?"left":"right")==="left"||!r&&(D==null?void 0:D.dropSide)==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),r&&(b-=Number(g))):(e.classList.remove("dropleft"),e.classList.add("dropright"),r&&(b+=o.offsetWidth)),e.style.top=`${B}px`,e.style.left=`${b}px`,x>0&&(e.style.minWidth=`${x}px`),e.style.opacity="1",e.style.display="block"}}openGridMenu(){const u=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(u,"target",{writable:!0,configurable:!0,value:A("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(u)}showGridMenu(u,e){var i,t,r;const a=((i=u==null?void 0:u.touches)==null?void 0:i[0])??u;if(u.preventDefault(),Au(this._menuElm),(t=this._menuElm)==null||t.remove(),this._addonOptions){const o={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},s={...this._addonOptions,...e};if(s&&!this.extensionUtility.runOverrideFunctionWhenExists(s.menuUsabilityOverride,o)||typeof u.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",o),typeof(s==null?void 0:s.onBeforeMenuShow)=="function"&&s.onBeforeMenuShow(u,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(),_t.call(this),this._columnCheckboxes=[],u4.call(this,s),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const l=((s==null?void 0:s.marginBottom)!==void 0?s.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=be(s==null?void 0:s.minHeight,""),(s==null?void 0:s.height)!==void 0?this._menuElm.style.height=be(s.height,""):this._menuElm.style.maxHeight=be(s==null?void 0:s.maxHeight,`${window.innerHeight-a.clientY-l}px`);let E=u.target.nodeName==="BUTTON"?u.target:u.target.querySelector("button");E||(E=u.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(u,this._menuElm,E,s),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",o),typeof(s==null?void 0:s.onAfterMenuShow)=="function"&&s.onAfterMenuShow(u,o),this.onAfterMenuShow.notify(o,null,this)}}translateGridMenu(){var u;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 e=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...e,...this.addGridMenuCustomCommands(e)],this.extensionUtility.translateMenuItemsFromTitleKey(((u=this._addonOptions)==null?void 0:u.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(u){u&&(u.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),u.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),u.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),u.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(u){var o,s;const e=this.gridOptions.backendServiceApi||null,a=[],i=this.gridOptions,t=Q0(i),r=(o=this._addonOptions)==null?void 0:o.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const E="clear-pinning";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${t}${(r==null?void 0:r.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:E,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const E="clear-filter";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${t}${(r==null?void 0:r.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:E,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const E="toggle-filter";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${t}${(r==null?void 0:r.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:E,positionOrder:53})}if(e&&!this._addonOptions.hideRefreshDatasetCommand){const E="refresh-dataset";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${t}${(r==null?void 0:r.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:E,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const E="toggle-dark-mode";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${t}${(r==null?void 0:r.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:E,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const E="toggle-preheader";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${t}${(r==null?void 0:r.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:E,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const E="clear-sorting";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${t}${(r==null?void 0:r.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:E,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const E="export-csv";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${t}${(r==null?void 0:r.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:E,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const E="export-excel";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${t}${(r==null?void 0:r.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:E,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const E="export-text-delimited";u.some(d=>d!=="divider"&&d.hasOwnProperty("command")&&d.command===E)||a.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${t}${(r==null?void 0:r.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:E,positionOrder:57})}const l=((s=this._addonOptions)==null?void 0:s.commandItems)||[];(Array.isArray(a)&&a.length>0||Array.isArray(l)&&l.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return a}executeGridMenuInternalCustomCommands(u,e){var i,t,r;const a=((i=this.sharedService)==null?void 0:i.externalRegisteredResources)||[];if(e!=null&&e.command)switch(e.command){case"clear-pinning":const o=[...this.sharedService.visibleColumns],s={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(s),this.sharedService.gridOptions.frozenColumn=s.frozenColumn,this.sharedService.gridOptions.frozenRow=s.frozenRow,this.sharedService.gridOptions.frozenBottom=s.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=s.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 E=a.find(g=>g.className==="TextExportService");E!=null&&E.exportToFile?E.exportToFile({delimiter:ze.comma,format:Hu.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 d=a.find(g=>g.className==="ExcelExportService");d!=null&&d.exportToExcel?d.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 c=a.find(g=>g.className==="TextExportService");c!=null&&c.exportToFile?c.exportToFile({delimiter:ze.tab,format:Hu.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-dark-mode":const D=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!D}),this.sharedService.gridOptions.darkMode=!D;break;case"toggle-filter":let m=((t=this.gridOptions)==null?void 0:t.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const h=((r=this.gridOptions)==null?void 0:r.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!h);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:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(u){if(this.menuElement){let e=!1;const a=u.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(u.target)||a)&&(e=!0),(this._isMenuOpen&&this.menuElement!==u.target&&!e&&!u.defaultPrevented||u.target.className==="close"&&a)&&this.hideMenu(u)}}handleMenuItemCommandClick(u,e,a,i=0){var t,r;if(a!=="divider"&&!a.disabled&&!a.divider)if((a.command||"")&&!a.commandItems){const s={grid:this.grid,command:a.command,item:a,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(u,s),this.pubSubService.publish("onGridMenuCommand",s),typeof((t=this._addonOptions)==null?void 0:t.onCommand)=="function"&&this._addonOptions.onCommand(u,s),this.onCommand.notify(s,null,this),typeof a.action=="function"&&a.action.call(this,u,s),!((r=this._addonOptions)!=null&&r.leaveOpen)&&!u.defaultPrevented&&this.hideMenu(u),u.preventDefault(),u.stopPropagation()}else a.commandItems&&this.repositionSubMenu(u,a,i)}handleMenuItemMouseOver(u,e,a,i=0){a!=="divider"&&!a.disabled&&!a.divider&&(a.commandItems?this.repositionSubMenu(u,a,i):i===0&&this.disposeSubMenus())}recreateCommandList(u,e,a,i){const t=a.level||0;if(u.length>0){const r=A("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},e);if(t===0){this.populateCommandOrOptionTitle("command",this.addonOptions,r,t);const o=e.querySelector(".slick-command-header")??A("div",{className:"slick-command-header"});o.classList.add("with-close"),Y1.call(this,o),r.appendChild(o)}return i&&t>0&&this.addSubMenuTitleWhenExists(i,r),this.populateCommandOrOptionItems("command",this._addonOptions,r,u,a,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),r}return null}repositionSubMenu(u,e,a){const i=(e==null?void 0:e.commandItems)||[],t=this.createCommandMenu(i,a+1,e);t.style.display="block",document.body.appendChild(t),this.repositionMenu(u,t)}}const q1="mdi-icon-picker-check",Z1="mdi-icon-picker-uncheck";function Y1(n){const e=A("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof Qr?"slick-column-picker":"slick-grid-menu"}});n.appendChild(e)}function Q1(n){var e,a;const u=this;(e=u.addonOptions)!=null&&e.columnTitle&&(u._columnTitleElm=A("div",{className:"slick-menu-title",textContent:((a=u.addonOptions)==null?void 0:a.columnTitle)??u._defaults.columnTitle},n))}function X1(n){var r,o;const u=this,e=u instanceof Qr?"columnPicker":"gridMenu",a=(r=n.target)==null?void 0:r.closest(".icon-checkbox-container"),i=a==null?void 0:a.querySelector(".mdi"),t=!!n.target.checked;if(n.target.ariaChecked=String(t),Rs(i,t),n.target.dataset.option==="autoresize"){const s=u.getVisibleColumns();u.grid.setOptions({forceFitColumns:t}),u.grid.setColumns(s);return}if(n.target.dataset.option==="syncresize"){u.grid.setOptions({syncColumnCellResize:t});return}if(n.target.type==="checkbox"){u._areVisibleColumnDifferent=!0;const s=n.target.dataset.columnid||"",l=[];if(u._columnCheckboxes.forEach((c,D)=>{c.checked&&l.push(u.columns[D])}),!l.length){n.target.checked=!0,Rs(i,!0);return}if(u.grid.setColumns(l),(!u.sharedService.visibleColumns||Array.isArray(l)&&l.length!==u.sharedService.visibleColumns.length)&&(u.sharedService.visibleColumns=l),u.gridOptions.enableRowSelection&&t){const c=u.grid.getSelectedRows();u.grid.setSelectedRows(c)}const E=u.gridOptions.frozenColumn??-1;E>=0&&u.extensionUtility.readjustFrozenColumnIndexWhenNeeded(E,u.columns,l);const d={columnId:s,showing:t,allColumns:u.columns,visibleColumns:l,columns:l,grid:u.grid};u.pubSubService.publish(`on${R0(e)}ColumnsChanged`,d),typeof((o=u.addonOptions)==null?void 0:o.onColumnsChanged)=="function"&&u.addonOptions.onColumnsChanged(n,d),u.onColumnsChanged.notify(d,null,u)}}function Rs(n,u=!1){n&&(n.className=`mdi ${u?q1:Z1}`)}function Bn(n,u,e,a=!1){const i=A("label",{className:"checkbox-picker-label",htmlFor:u}),t=A("div",{className:"icon-checkbox-container"}),r=A("input",{id:u,type:"checkbox",dataset:e}),o=A("div",{className:`mdi ${a?q1:Z1}`}),s=A("span",{className:"checkbox-label"});return t.appendChild(r),t.appendChild(o),i.appendChild(t),i.appendChild(s),n.appendChild(i),a&&(r.ariaChecked="true",r.checked=!0),{inputElm:r,labelElm:i,labelSpanElm:s}}function u4(n){const u=this,e=u instanceof U1?"gridmenu-":"";for(const a of u.columns){const i=a.id,t=document.createElement("li");a.excludeFromColumnPicker&&(t.className="hidden");const r=`${u._gridUid}-${e}colpicker-${i}`,o=u.grid.getColumnIndex(i)>=0,{inputElm:s,labelElm:l,labelSpanElm:E}=Bn(t,r,{columnid:`${i}`},o);u._columnCheckboxes.push(s);const c=(typeof(n==null?void 0:n.headerColumnValueExtractor)=="function"?n.headerColumnValueExtractor:u._defaults.headerColumnValueExtractor)(a,u.gridOptions);this.grid.applyHtmlCode(E,c),t.appendChild(l),u._listElm.appendChild(t)}if((!n.hideForceFitButton||!n.hideSyncResizeButton)&&u._listElm.appendChild(document.createElement("hr")),!(n!=null&&n.hideForceFitButton)){const a=document.createElement("li"),i=`${u._gridUid}-${e}colpicker-forcefit`,{labelSpanElm:t}=Bn(a,i,{option:"autoresize"},u.gridOptions.forceFitColumns);t.textContent=(n==null?void 0:n.forceFitTitle)??"",u._listElm.appendChild(a)}if(!(n!=null&&n.hideSyncResizeButton)){const a=document.createElement("li"),i=`${u._gridUid}-${e}colpicker-syncresize`,{labelSpanElm:t}=Bn(a,i,{option:"syncresize"},u.gridOptions.forceFitColumns);t.textContent=(n==null?void 0:n.syncResizeTitle)??"",u._listElm.appendChild(a)}}function _t(){const n=this,u=n.grid.getColumns().slice(0),e=new Array(n.columns.length);for(let a=0;ai0(r.columnPickerLabel||r.name||"","innerHTML")},this._bindEventService=new pu,this.onColumnsChanged=new R("onColumnsChanged"),this._eventHandler=new Su,this._columns=this.sharedService.allColumns??[],this._gridUid=((t=(i=this.grid)==null?void 0:i.getUID)==null?void 0:t.call(i))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(u){this._columns=u}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.onColumnsChanged.setPubSubService(this.pubSubService),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.onPreHeaderContextMenu,u=>{["slick-column-name","slick-header-column"].some(e=>{var a;return(a=u.target)==null?void 0:a.classList.contains(e)})&&this.handleHeaderContextMenu(u)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,_t.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.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 u,e;this._bindEventService.unbindAll("parent-menu"),(u=this._listElm)==null||u.remove(),(e=this._menuElm)==null||e.remove(),this._menuElm=null}createPickerMenu(){const u=A("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return _t.call(this),Q1.call(this,u),Y1.call(this,u),this._listElm=A("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(u,"click",X1.bind(this),void 0,"parent-menu"),document.body.appendChild(u),u}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(u){var e;(this._menuElm!==u.target&&!((e=this._menuElm)!=null&&e.contains(u.target))||u.target.className==="close"&&u.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(u){u.preventDefault(),Au(this._listElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),u4.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(u)}repositionMenu(u){var a;const e=((a=u==null?void 0:u.touches)==null?void 0:a[0])??u;this._menuElm&&(this._menuElm.style.top=`${e.pageY-10}px`,this._menuElm.style.left=`${e.pageX-10}px`,this._menuElm.style.minHeight=be(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=be(this.addonOptions.maxHeight,`${window.innerHeight-e.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm))}translateTitleLabels(u){u&&(u.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Dt=(n,u,e,a,i,t)=>{const r=a.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. For example: this.columnDefinitions = [{ id: title, field: title, formatter: Formatters.multiple, params: { formatters: [Formatters.lowercase, Formatters.uppercase] }`);const o=r.formatters;let s=e;return o.forEach((l,E)=>{if(typeof l!="function")throw new Error(`[Slickgrid-Universal] the "params.formatters" at index(${E}) to be used by "Formatters.multiple" is invalid, please verify all formatter functions.`);s=l.call(void 0,n,u,s,a,i,t)}),s};function Ns(n,u){if(Array.isArray(n)){for(const e of n)if(e.editor)if(e.formatter&&e.formatter!==Dt&&e.formatter!==u){const a=e.formatter;e.formatter=Dt,e.params={...e.params,formatters:[a,u]}}else e.formatter&&e.formatter===Dt&&e.params?e.params.formatters.findIndex(a=>a===u)===-1&&(e.params.formatters=[...e.params.formatters,u]):e.formatter=u}}function Xu(n,u,e,a){let i,t,r="",o="";switch(e){case"currency":i=_.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL,t=_.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL;break;case"decimal":i=_.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL,t=_.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL;break;case"percent":i=_.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL,t=_.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL;break}const s=u&&typeof u.getOptions=="function"?u.getOptions():{},l=se("minDecimal",n,s,i),E=se("maxDecimal",n,s,t),d=se("decimalSeparator",n,s,_.DEFAULT_NUMBER_DECIMAL_SEPARATOR),c=se("thousandSeparator",n,s,_.DEFAULT_NUMBER_THOUSAND_SEPARATOR),D=se("displayNegativeNumberWithParentheses",n,s,_.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET),m=se("currencyPrefix",n,s,""),h=se("currencySuffix",n,s,"");return a==="cell"&&(r=se("numberPrefix",n,s,""),o=se("numberSuffix",n,s,"")),{minDecimal:l,maxDecimal:E,decimalSeparator:d,thousandSeparator:c,wrapNegativeNumber:D,currencyPrefix:m,currencySuffix:h,numberPrefix:r,numberSuffix:o}}function se(n,u,e,a){var t;const i=u&&u.params;return i&&i.hasOwnProperty(n)?i[n]:(t=e==null?void 0:e.formatterOptions)!=null&&t.hasOwnProperty(n)?e.formatterOptions[n]:a}function qu(n,u){const e=$0(n,!0);return(a,i,t,r,o,s)=>{var g,x;const l=s&&typeof s.getOptions=="function"?s.getOptions():{},E=((g=l==null?void 0:l.formatterOptions)==null?void 0:g.dateSeparator)??u,d=(r==null?void 0:r.type)??C.date,c=$0(d,!0),D=((x=r==null?void 0:r.params)==null?void 0:x.parseDateAsUtc)??!1,m=Be(t,c);let h=t;if(m){let p=t;D&&(p=cD(m)),h=Yu(p,e,"en-US")}if(h&&E!==u){const p=new RegExp(u,"ig");h=h.replace(p,E)}return h}}function Xr(n,u,e,a,i,t){let r=!1;e!=null&&e.hasOwnProperty("exportWithFormatter")?r=!!e.exportWithFormatter:t!=null&&t.hasOwnProperty("exportWithFormatter")&&(r=!!t.exportWithFormatter);let o;a&&e.exportCustomFormatter?o=e.exportCustomFormatter:r&&e.formatter&&(o=e.formatter);const s=un(o,n,u,e,a,i);return t!=null&&t.sanitizeDataExport&&typeof s=="string"?Vu(s):s}function un(n,u,e,a,i,t){let r="",s=a.field||a.id||"";if(typeof a.field=="string"&&a.field.indexOf(".")>0){const E=a.field.split(".");s=E.length>0?E[0]:a.field}const l=i!=null&&i.hasOwnProperty(s)?i[s]:null;if(typeof n=="function"){const E=n(u,e,l,a,i,t),d=ca(E)?E:E.html||E.text;r=i0(d)}else r=i!=null&&i.hasOwnProperty(s)?l:"";return r==null&&(r=""),typeof r=="object"&&!(r instanceof Date)&&Object.entries(r).length===0&&(r=""),r}class ph extends J1{constructor(u,e,a,i){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this.treeDataService=i,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(a.gridOptions.contextMenu)}init(u){this._addonOptions={...this._defaults,...u};const e=this._addonOptions&&Array.isArray(this._addonOptions.commandItems)?this._addonOptions.commandItems:[];this._addonOptions.commandItems=[...e,...this.addMenuCustomCommands(e)],this._addonOptions={...this._addonOptions},this.sharedService.gridOptions.contextMenu=this._addonOptions,this.sortMenuItems(),this._eventHandler.subscribe(this.grid.onContextMenu,this.handleOnContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateContextMenu(){var a;const u=((a=this.sharedService)==null?void 0:a.gridOptions)??{},e=this.sharedService.gridOptions.contextMenu;if(e&&(u!=null&&u.enableTranslate)){const i=e.commandItems||[],t=e.optionItems||[];e.commandTitleKey&&(e.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(e.commandTitleKey,"TEXT_COMMANDS")||e.commandTitle),e.optionTitleKey&&(e.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(e.optionTitleKey,"TEXT_COMMANDS")||e.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(i,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(t,"optionItems")}}handleOnContextMenu(u,e){this.disposeAllMenus();const a=this.grid.getCellFromEvent(u);if(a){const i=this.grid.getDataItem(a.row),t=this.grid.getColumns()[a.cell],r=e||{};if(r.cell=a.cell,r.row=a.row,r.column=t,r.dataContext=i,r.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,r))return;this._menuElm=this.createParentMenu(u),this._menuElm&&u.preventDefault(),this._menuElm&&this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm&&(this.repositionMenu(u,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}addMenuCustomCommands(u){var o;const e=[],a=this.sharedService&&this.sharedService.gridOptions||{},i=a==null?void 0:a.contextMenu,t=(o=this.sharedService)==null?void 0:o.dataView,r=Q0(a);if(i&&!i.hideCopyCellValueCommand){const s="copy";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconCopyCellValueCommand||"mdi mdi-content-copy",titleKey:`${r}COPY`,disabled:!1,command:s,positionOrder:50,action:(l,E)=>{this.copyToClipboard(E)},itemUsabilityOverride:l=>{const E=l==null?void 0:l.column,d=l==null?void 0:l.dataContext;if(typeof E.queryFieldNameGetterFn=="function"){const c=Fi(E,d,"");if(c!==""&&c!==void 0)return!0}else if(E&&d.hasOwnProperty(E.field))return d[E.field]!==""&&d[E.field]!==null&&d[E.field]!==void 0;return!1}})}if(a!=null&&a.enableTextExport&&i&&!i.hideExportCsvCommand){const s="export-csv";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconExportCsvCommand||"mdi mdi-download",titleKey:`${r}EXPORT_TO_CSV`,disabled:!1,command:s,positionOrder:51,action:()=>{var d;const E=(((d=this.sharedService)==null?void 0:d.externalRegisteredResources)||[]).find(c=>c.className==="TextExportService");if(E!=null&&E.exportToFile)E.exportToFile({delimiter:ze.comma,format:Hu.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(a&&a.enableExcelExport&&i&&!i.hideExportExcelCommand){const s="export-excel";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${r}EXPORT_TO_EXCEL`,disabled:!1,command:s,positionOrder:52,action:()=>{var d;const E=(((d=this.sharedService)==null?void 0:d.externalRegisteredResources)||[]).find(c=>c.className==="ExcelExportService");if(E!=null&&E.exportToExcel)E.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(a!=null&&a.enableTextExport&&i&&!i.hideExportTextDelimitedCommand){const s="export-text-delimited";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${r}EXPORT_TO_TAB_DELIMITED`,disabled:!1,command:s,positionOrder:53,action:()=>{var d;const E=(((d=this.sharedService)==null?void 0:d.externalRegisteredResources)||[]).find(c=>c.className==="TextExportService");if(E!=null&&E.exportToFile)E.exportToFile({delimiter:ze.tab,format:Hu.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(a&&(a.enableGrouping||a.enableDraggableGrouping||a.enableTreeData)){if(i&&!i.hideCopyCellValueCommand&&e.push({divider:!0,command:"",positionOrder:54}),a&&!a.enableTreeData&&i&&!i.hideClearAllGrouping){const s="clear-grouping";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconClearGroupingCommand||"mdi mdi-close",titleKey:`${r}CLEAR_ALL_GROUPING`,disabled:!1,command:s,positionOrder:55,action:()=>{t.setGrouping([]),this.pubSubService.publish("onContextMenuClearGrouping")},itemUsabilityOverride:()=>{const l=t&&t.getGrouping&&t.getGrouping();return Array.isArray(l)&&l.length>0}})}if(a&&i&&!i.hideCollapseAllGroups){const s="collapse-all-groups";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconCollapseAllGroupsCommand||"mdi mdi-arrow-collapse",titleKey:`${r}COLLAPSE_ALL_GROUPS`,disabled:!1,command:s,positionOrder:56,action:()=>{a.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!0):t.collapseAllGroups(),this.pubSubService.publish("onContextMenuCollapseAllGroups")},itemUsabilityOverride:()=>{if(a.enableTreeData)return!0;const l=t&&t.getGrouping&&t.getGrouping();return Array.isArray(l)&&l.length>0}})}if(a&&i&&!i.hideExpandAllGroups){const s="expand-all-groups";u.some(l=>l!=="divider"&&l.hasOwnProperty("command")&&l.command===s)||e.push({iconCssClass:i.iconExpandAllGroupsCommand||"mdi mdi-arrow-expand",titleKey:`${r}EXPAND_ALL_GROUPS`,disabled:!1,command:s,positionOrder:57,action:()=>{a.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!1):t.expandAllGroups(),this.pubSubService.publish("onContextMenuExpandAllGroups")},itemUsabilityOverride:()=>{if(a.enableTreeData)return!0;const l=t&&t.getGrouping&&t.getGrouping();return Array.isArray(l)&&l.length>0}})}}return this.extensionUtility.translateMenuItemsFromTitleKey(e),e}copyToClipboard(u){var e,a;try{if(u&&u.grid&&u.command){const i=((e=this.sharedService)==null?void 0:e.gridOptions)??{},t=(u==null?void 0:u.cell)??0,r=(u==null?void 0:u.row)??0,o=u==null?void 0:u.column,s=u==null?void 0:u.dataContext,l=(a=this.sharedService)==null?void 0:a.slickGrid,E=i&&(i.excelExportOptions||i.textExportOptions);let d=Xr(r,t,o,s,l,E);typeof o.queryFieldNameGetterFn=="function"&&(d=Fi(o,s,""));let c=d;typeof d=="string"&&(c=d.replace(/^([·|⮞|⮟]\s*)|([·|⮞|⮟])\s*/gi,"").replace(/[\u00b7|\u034f]/gi,"").trim());const D=document.createElement("textarea");D&&document.body&&(D.style.position="absolute",D.style.opacity="0",D.value=c,document.body.appendChild(D),D.select(),document.execCommand("copy",!1,c)&&D.remove())}}catch{}}sortMenuItems(){var e,a;const u=(a=(e=this.sharedService)==null?void 0:e.gridOptions)==null?void 0:a.contextMenu;u&&(this.extensionUtility.sortItems(u.commandItems||[],"positionOrder"),this.extensionUtility.sortItems(u.optionItems||[],"positionOrder"))}}class Fh{constructor(u,e,a){this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,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 pu,this.onGroupChanged=new R("onGroupChanged"),this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get dataView(){var u;return((u=this.grid)==null?void 0:u.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 u;return this._gridUid||(((u=this.grid)==null?void 0:u.getUID())??"")}get gridContainer(){return this.grid.getContainerNode()}init(u,e){var a,i;if(this._addonOptions={...this._defaults,...e},this._grid=u,u){if(this._gridUid=u.getUID(),this._gridColumns=u.getColumns(),this._dropzoneElm=u.getTopHeaderPanel()||u.getPreHeaderPanel(),this._dropzoneElm.classList.add("slick-dropzone"),this.onGroupChanged.setPubSubService(this.pubSubService),!this._addonOptions.hideToggleAllButton){this._groupToggler=A("div",{className:"slick-group-toggle-all",title:this._addonOptions.toggleAllPlaceholderText??"",style:{display:"none"}});const t=A("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(A("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(t,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(t,!1,!1)))}this._dropzonePlaceholderElm=A("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&((a=this._addonOptions)!=null&&a.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=((i=this._addonOptions)==null?void 0:i.dropPlaceHolderText)??this._defaults.dropPlaceHolderText??"",this.setupColumnDropbox(),this._eventHandler.subscribe(u.onHeaderCellRendered,(t,r)=>{var s;const o=r.node;if(!Xn((s=r.column)==null?void 0:s.grouping)&&o&&(o.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const l=A("span",{className:"slick-column-groupable"},o);this._addonOptions.groupIconCssClass&&l.classList.add(..._u(this._addonOptions.groupIconCssClass))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const t of this._gridColumns){const r=t.field;u.updateColumnHeader(r)}}return this}dispose(){var u,e;this.destroySortableInstances(),(u=this._droppableInstance)!=null&&u.el&&((e=this._droppableInstance)==null||e.destroy()),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),Au(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel,.${this.gridUid} .slick-topheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const u=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const e of Array.from(u)){const a=this._dropzoneElm.querySelector(".slick-groupby-remove");a==null||a.remove(),e==null||e.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var u,e,a,i;(u=this._sortableLeftInstance)!=null&&u.el&&((e=this._sortableLeftInstance)==null||e.destroy()),(a=this._sortableRightInstance)!=null&&a.el&&((i=this._sortableRightInstance)==null||i.destroy())}setAddonOptions(u){this._addonOptions={...this._addonOptions,...u}}setColumns(u){this._gridColumns=u}setDroppedGroups(u){this._dropzonePlaceholderElm.style.display="none";const e=Array.isArray(u)?u:[u];for(const a of e){const i=this.grid.getHeaderColumn(a);this.handleGroupByDrop(this._dropzoneElm,i)}}setupColumnReorder(u,e,a,i,t,r,o,s,l){this.destroySortableInstances();const E=u.getTopHeaderPanel()||u.getPreHeaderPanel(),d=E.querySelector(".slick-draggable-dropzone-placeholder"),c=E.querySelector(".slick-group-toggle-all"),D={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:()=>{d&&(d.style.display="inline-block"),E.querySelectorAll(".slick-dropped-grouping").forEach(h=>h.style.display="none"),c&&(c.style.display="none")},onEnd:m=>{var F,v,b;E==null||E.classList.remove("slick-dropzone-hover"),(F=d==null?void 0:d.parentElement)==null||F.classList.remove("slick-dropzone-placeholder-hover");const h=E.querySelectorAll(".slick-dropped-grouping");if(h.forEach(B=>B.style.display="flex"),h.length&&(d&&(d.style.display="none"),c&&(c.style.display="inline-flex")),!u.getEditorLock().commitCurrentEdit())return;const g=((v=this.sortableLeftInstance)==null?void 0:v.toArray())??[];if(e.length>1){const B=((b=this._sortableRightInstance)==null?void 0:b.toArray())??[];for(const S of B)g.push(S)}const x=[],p=u.getColumns();for(const B of g)x.push(p[o.call(u,B)]);i.call(u,x),l.call(u,u.onColumnsReordered,{grid:u,impactedColumns:x}),m.stopPropagation(),t.call(u)}};return this._sortableLeftInstance=eu.create(this.gridContainer.querySelector(`.${u.getUID()} .slick-header-columns.slick-header-columns-left`),D),this._sortableRightInstance=eu.create(this.gridContainer.querySelector(`.${u.getUID()} .slick-header-columns.slick-header-columns-right`),D),{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(u){this.columnsGroupBy.push(u),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(u,e,a,i){this._bindingEventService.bind(e,"click",()=>{const t=this._bindingEventService.boundedEvents.filter(r=>r.element===e);for(const r of t)this._bindingEventService.unbind(r.element,"click",r.listener);this.removeGroupBy(u,a,i)})}addGroupSortClickHandler(u,e){const{grouping:a,type:i}=u;this._bindingEventService.bind(e,"click",()=>{if(this.toggleGroupAll(u,!1),a){const t=a.sortAsc?Pu.desc:Pu.asc;a.comparer=(r,o)=>Ta(i||"text",r.value,o.value,t,u,this.gridOptions),this.getGroupBySortIcon(e,!a.sortAsc),this.updateGroupBy("sort-group"),a.sortAsc=!a.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(u,e=!0){e?this._addonOptions.sortAscIconCssClass?(u.classList.remove(..._u(this._addonOptions.sortDescIconCssClass)),u.classList.add(..._u(this._addonOptions.sortAscIconCssClass))):(u.classList.add("slick-groupby-sort-asc-icon"),u.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(u.classList.remove(..._u(this._addonOptions.sortAscIconCssClass)),u.classList.add(..._u(this._addonOptions.sortDescIconCssClass))):this._addonOptions.sortDescIconCssClass||(u.classList.add("slick-groupby-sort-desc-icon"),u.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(u,e){var t,r,o;const a=(t=e.getAttribute("data-id"))==null?void 0:t.replace(this._gridUid,"");let i=!0;for(const s of this.columnsGroupBy)s.id===a&&(i=!1);if(i){for(const s of this._gridColumns)if(s.id===a&&s.grouping&&!Xn(s.grouping)){const l=e.querySelector(".slick-column-name"),E=A("div",{id:`${this._gridUid}_${s.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${s.id}`}});A("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:l?l.textContent:e.textContent},E);const d=A("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&d.classList.add(..._u(this._addonOptions.deleteIconCssClass)),this._addonOptions.deleteIconCssClass||d.classList.add("slick-groupby-remove-icon");let c;((r=this._addonOptions)==null?void 0:r.hideGroupSortIcons)!==!0&&s.sortable&&(((o=s.grouping)==null?void 0:o.sortAsc)===void 0&&(s.grouping.sortAsc=!0),c=A("div",{className:"slick-groupby-sort"},E),this.getGroupBySortIcon(c,s.grouping.sortAsc)),E.appendChild(d),E.appendChild(document.createElement("div")),u.appendChild(E),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(s),this.addColumnGroupBy(s),this.addGroupByRemoveClickHandler(s.id,d,e,E),c&&this.addGroupSortClickHandler(s,c)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-flex")}}toggleGroupAll({grouping:u},e){var i;const a=(i=this._groupToggler)==null?void 0:i.querySelector(".slick-group-toggle-all-icon");e===!0||u!=null&&u.collapsed?(a==null||a.classList.add("collapsed"),a==null||a.classList.remove("expanded")):(a==null||a.classList.add("expanded"),a==null||a.classList.remove("collapsed"))}removeFromArray(u,e){if(Array.isArray(u)){const a=u.findIndex(i=>i.id===e.id);a>=0&&u.splice(a,1)}return u}removeGroupBy(u,e,a){a.remove();const i=[];this._gridColumns.forEach(t=>i[t.id]=t),this.removeFromArray(this.columnsGroupBy,i[u]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const u=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");u&&this._dropzoneElm&&(this._bindingEventService.bind(u,"dragover",e=>e.preventDefault()),this._bindingEventService.bind(u,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(u,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const u=this._dropzoneElm;this._droppableInstance=eu.create(u,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:e=>{var i,t;const a=e.item;(i=a.getAttribute("id"))!=null&&i.replace(this._gridUid,"")&&this.handleGroupByDrop(u,eu.utils.clone(e.item)),(t=a.parentNode)==null||t.removeChild(a)},onUpdate:()=>{var i;const e=((i=this._droppableInstance)==null?void 0:i.toArray())??[],a=[];for(const t of e)for(const r of this.columnsGroupBy)if(r.id===t){a.push(r);break}this.columnsGroupBy=a,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",e=>{const a=e.target.classList.contains("slick-group-toggle-all-icon")?e.target:e.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(a,a==null?void 0:a.classList.contains("expanded"))})}toggleGroupToggler(u,e=!0,a=!0){u&&(e===!0?(u.classList.add("collapsed"),u.classList.remove("expanded"),a&&this.dataView.collapseAllGroups()):(u.classList.remove("collapsed"),u.classList.add("expanded"),a&&this.dataView.expandAllGroups()))}updateGroupBy(u){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:u,groupColumns:[]});return}const e=[];this.columnsGroupBy.forEach(a=>e.push(a.grouping)),this.dataView.setGrouping(e),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:u,groupColumns:e})}triggerOnGroupChangedEvent(u){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new ju,u),this.onGroupChanged.notify(u)}}class kh extends Qt{constructor(u,e,a){super(u,e,a),this.extensionUtility=u,this.pubSubService=e,this.sharedService=a,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new pu,this._eventHandler=new Su,this.init(a.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(u){this._addonOptions=u}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(u){this._addonOptions={...this._defaults,...u},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(u=>u.remove())}handleHeaderCellRendered(u,e){var i;const a=e.column;if((i=a.header)!=null&&i.buttons&&Array.isArray(a.header.buttons)){let t=a.header.buttons.length;for(;t--;){const r=a.header.buttons[t],o=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,r,e,this.handleButtonClick.bind(this));o&&r.handler&&!r.disabled&&this._bindEventService.bind(o,"click",s=>r.handler.call(this,s)),o&&(this._buttonElms.push(o),e.node.appendChild(o))}}}handleBeforeHeaderCellDestroy(u,e){var i,t,r;if((i=e.column.header)!=null&&i.buttons&&((t=this._addonOptions)!=null&&t.buttonCssClass)){const o=(((r=this._addonOptions)==null?void 0:r.buttonCssClass)||"").replace(/(\s+)/g,".");o&&e.node.querySelectorAll(`.${o}`).forEach(s=>s.remove())}}handleButtonClick(u,e,a,i,t){var r;if(a.command&&!a.disabled){const o=a.command||"",s={grid:this.grid,column:t,button:a};o&&(s.command=o),typeof a.action=="function"&&!a.disabled&&a.action.call(this,u,s),o!==null&&!a.disabled&&((r=this._addonOptions)!=null&&r.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",s),this._addonOptions.onCommand(u,s),t!=null&&t.id&&this.grid.updateColumnHeader(t.id))}u.preventDefault(),u.stopPropagation()}}class vh extends Qt{constructor(u,e,a,i,t){super(u,a,i),this.extensionUtility=u,this.filterService=e,this.pubSubService=a,this.sharedService=i,this.sortService=t,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(i.gridOptions.headerMenu)}init(u){this._addonOptions={...this._defaults,...u},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(e,a)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(a.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var u;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(u=this._menuElm)==null||u.remove(),this._activeHeaderColumnElm=void 0}hideColumn(u){var e,a;if((a=(e=this.sharedService)==null?void 0:e.slickGrid)!=null&&a.getColumnIndex){const i=this.sharedService.slickGrid.getColumnIndex(u.id),t=this.sharedService.slickGrid.getColumns(),r=this.sharedService.gridOptions.frozenColumn??-1;r>=0&&r>=i&&(this.sharedService.gridOptions.frozenColumn=r-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const o=_r(t,i);this.sharedService.visibleColumns=o,this.sharedService.slickGrid.setColumns(o),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:o,hiddenColumn:u})}}hideMenu(){var u;this.disposeSubMenus(),(u=this._menuElm)==null||u.remove(),this._menuElm=void 0}repositionSubMenu(u,e,a,i){const t=this.createCommandMenu(e.commandItems||[],i,a+1,e);document.body.appendChild(t),this.repositionMenu(u,t)}repositionMenu(u,e){var c,D;const a=u.target,i=e.classList.contains("slick-submenu"),t=i?u.target.closest(".slick-menu-item"):a,r=Vl(this.sharedService.gridContainerElement,a),o=this.grid.getGridPosition(),s=e.offsetWidth,l=Ou(t);let E=i?(l==null?void 0:l.left)??0:(r==null?void 0:r.left)??0,d=i?(l==null?void 0:l.top)??0:((r==null?void 0:r.top)??0)+(((c=this.addonOptions)==null?void 0:c.menuOffsetTop)??0)+a.clientHeight;if(i){const m=(e==null?void 0:e.clientHeight)||0,{bottom:h,top:g}=zi(t);(hh?"top":"bottom")==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),d-=m-t.clientHeight):(e.classList.remove("dropup"),e.classList.add("dropdown"))}if(i&&t){const m=E+Number(s)+t.clientWidth,h=document.documentElement.clientWidth;(m>=o.width||m>=h?"left":"right")==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),E-=s):(e.classList.remove("dropleft"),e.classList.add("dropright"),E+=t.offsetWidth)}else E=(r==null?void 0:r.left)??0,this.addonOptions.autoAlign&&(o!=null&&o.width)&&E+(e.clientWidth??0)>=o.width&&(E=E+a.clientWidth-e.clientWidth+(((D=this.addonOptions)==null?void 0:D.autoAlignOffset)||0));e.style.top=`${d}px`,e.style.left=`${E}px`}translateHeaderMenu(){var u;(u=this.sharedService.gridOptions)!=null&&u.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(u,e){var t;const i=(t=e.column.header)==null?void 0:t.menu;if(i&&e.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,e))return;const r=A("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},e.node);this.addonOptions.buttonCssClass&&r.classList.add(..._u(this.addonOptions.buttonCssClass)),this.addonOptions.tooltip&&(r.title=this.addonOptions.tooltip),this._bindEventService.bind(r,"click",o=>{this.disposeAllMenus(),this.createParentMenu(o,e.column,i)})}}handleBeforeHeaderCellDestroy(u,e){var i;(i=e.column.header)!=null&&i.menu&&e.node.querySelectorAll(".slick-header-menu-button").forEach(t=>t.remove())}handleBodyMouseDown(u){if(this.menuElement){let e=!1;const a=u.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(u.target)||a)&&(e=!0),(this._menuElm!==u.target&&!e&&!u.defaultPrevented||u.target.className==="close"&&a)&&this.hideMenu()}}handleMenuItemCommandClick(u,e,a,i=0,t){var r;if(a!=="divider"&&!a.disabled&&!a.divider)if((a.command||"")&&!a.commandItems){const s={grid:this.grid,command:a.command,column:t,item:a};this.executeHeaderMenuInternalCommands(u,s),this.pubSubService.publish("onHeaderMenuCommand",s),typeof((r=this.addonOptions)==null?void 0:r.onCommand)=="function"&&this.addonOptions.onCommand(u,s),typeof a.action=="function"&&a.action.call(this,u,s),u.defaultPrevented||this.hideMenu(),u.preventDefault(),u.stopPropagation()}else a.commandItems&&this.repositionSubMenu(u,a,i,t)}handleMenuItemMouseOver(u,e,a,i=0,t){a!=="divider"&&!a.disabled&&!a.divider&&(a.commandItems?this.repositionSubMenu(u,a,i,t):i===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(u){const e=this.sharedService.gridOptions,a=e.headerMenu||{},i=Q0(e);return Array.isArray(u)&&e.enableHeaderMenu&&u.forEach(t=>{var r,o,s;if(t&&!t.excludeFromHeaderMenu){t.header?t.header.menu||(t.header.menu={commandItems:[]}):t.header={menu:{commandItems:[]}};const l=((o=(r=t==null?void 0:t.header)==null?void 0:r.menu)==null?void 0:o.commandItems)??[];let E=!1;if(a&&!a.hideFreezeColumnsCommand&&(E=!0,l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="freeze-columns")||l.push({iconCssClass:a.iconFreezeColumns||"mdi mdi-pin-outline",titleKey:`${i}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:45})),a&&!a.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(E=!0,l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="column-resize-by-content")||l.push({iconCssClass:a.iconColumnResizeByContentCommand||"mdi mdi-arrow-expand-horizontal",titleKey:`${i}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:47})),E&&!l.some(d=>d!=="divider"&&d.positionOrder===48)&&l.push({divider:!0,command:"",positionOrder:48}),e.enableSorting&&t.sortable&&a&&!a.hideSortCommands&&(l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="sort-asc")||l.push({iconCssClass:a.iconSortAscCommand||"mdi mdi-sort-ascending",titleKey:`${i}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="sort-desc")||l.push({iconCssClass:a.iconSortDescCommand||"mdi mdi-sort-descending",titleKey:`${i}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),l.some(d=>d!=="divider"&&d.positionOrder===52)||l.push({divider:!0,command:"",positionOrder:52}),!a.hideClearSortCommand&&!l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="clear-sort")&&l.push({iconCssClass:a.iconClearSortCommand||"mdi mdi-sort-variant-off",titleKey:`${i}REMOVE_SORT`,command:"clear-sort",positionOrder:58})),(s=t.filter)!=null&&s.filterShortcuts&&!l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="filter-shortcuts-root-menu")){const d=[];t.filter.filterShortcuts.forEach(D=>{const m=D.title?Na(D.title):(D.titleKey||"").toLowerCase().replaceAll("_","-");d.push({...D,command:m,action:(h,g)=>{const x=this.filterService.getFiltersMetadata().find(p=>p.columnDef.id===g.column.id);x==null||x.setValues(D.searchTerms,D.operator,!0)}})});const c=a.filterShortcutsPositionOrder??55;l.push({iconCssClass:a.iconFilterShortcutSubMenu||"mdi mdi-filter-outline",titleKey:`${i}FILTER_SHORTCUTS`,command:"filter-shortcuts-root-menu",positionOrder:c,commandItems:d}),E&&!l.some(D=>D!=="divider"&&D.positionOrder===c+1)&&l.push({divider:!0,command:"",positionOrder:c+1})}e.enableFiltering&&t.filterable&&a&&!a.hideFilterCommand&&!a.hideClearFilterCommand&&!l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="clear-filter")&&l.push({iconCssClass:a.iconClearFilterCommand||"mdi mdi-filter-remove-outline",titleKey:`${i}REMOVE_FILTER`,command:"clear-filter",positionOrder:57}),a&&!a.hideColumnHideCommand&&!l.some(d=>d!=="divider"&&(d==null?void 0:d.command)==="hide-column")&&l.push({iconCssClass:a.iconColumnHideCommand||"mdi mdi-close",titleKey:`${i}HIDE_COLUMN`,command:"hide-column",positionOrder:59}),this.extensionUtility.translateMenuItemsFromTitleKey(l),this.extensionUtility.sortItems(l,"positionOrder")}}),a}clearColumnFilter(u,e){e!=null&&e.column&&this.filterService.clearFilterByColumnId(u,e.column.id)}clearColumnSort(u,e){e!=null&&e.column&&this.sharedService&&this.sortService.clearSortByColumnId(u,e.column.id)}executeHeaderMenuInternalCommands(u,e){var a;if(e!=null&&e.command)switch(e.command){case"hide-column":this.hideColumn(e.column),(a=this.sharedService.gridOptions)!=null&&a.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(u,e);break;case"clear-sort":this.clearColumnSort(u,e);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:e.column.id});break;case"freeze-columns":const i=[...this.sharedService.visibleColumns],r={frozenColumn:i.findIndex(E=>E.id===e.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=e.column.id,this.sharedService.hasColumnsReordered||Array.isArray(i)&&Array.isArray(this.sharedService.allColumns)&&i.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(i):this.sharedService.slickGrid.setColumns(o),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const l=e.command==="sort-asc";this.sortColumn(u,e,l);break}}createParentMenu(u,e,a){var t,r,o,s,l;const i={grid:this.grid,column:e,menu:a};typeof u.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",i),typeof((t=this.addonOptions)==null?void 0:t.onBeforeMenuShow)=="function"&&((r=this.addonOptions)==null?void 0:r.onBeforeMenuShow(u,i))===!1)||(this._menuElm=this.createCommandMenu(a.commandItems,e),(o=this.grid.getContainerNode())==null||o.appendChild(this._menuElm),this.repositionMenu(u,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",i),!(typeof((s=this.addonOptions)==null?void 0:s.onAfterMenuShow)=="function"&&((l=this.addonOptions)==null?void 0:l.onAfterMenuShow(u,i))===!1)&&(u.preventDefault(),u.stopPropagation()))}createCommandMenu(u,e,a=0,i){var c;const t=i==null?void 0:i.command;let r=a===1&&t?t.replace(/\s/g,""):"";r&&(this._subMenuParentId=r),a>1&&(r=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${a} ${this.gridUid}`,s=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${a}${this.gridUidSelector}`);if(s){if(s.dataset.subMenuParent===r)return s;this.disposeSubMenus()}const l=A("div",{ariaExpanded:"true",ariaLabel:a>1?"SubMenu":"Header Menu",role:"menu",className:o,style:{minWidth:`${this.addonOptions.minWidth}px`}});a>0&&(l.classList.add("slick-submenu"),r&&(l.dataset.subMenuParent=r),(c=this.gridOptions)!=null&&c.darkMode&&l.classList.add("slick-dark-mode"));const E=A("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},l),d={grid:this.grid,column:e,level:a,menu:{commandItems:u}};return i&&a>0&&this.addSubMenuTitleWhenExists(i,E),this.populateCommandOrOptionItems("command",this.addonOptions,E,u,d,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),a++,l}resetHeaderMenuTranslations(u){u.forEach(e=>{var a,i;if((i=(a=e==null?void 0:e.header)==null?void 0:a.menu)!=null&&i.commandItems&&!e.excludeFromHeaderMenu){const t=e.header.menu.commandItems||[];this.extensionUtility.translateMenuItemsFromTitleKey(t)}})}sortColumn(u,e,a=!0){if(e!=null&&e.column){const i=e.column,t=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(i.id+""):[];let r=Ku.local;t.push({columnId:i.id,sortCol:i,sortAsc:a}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(u,{multiColumnSort:!0,sortCols:t,grid:this.sharedService.slickGrid}),r=Ku.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,t),r=Ku.local):e.grid.onSort.notify(t);const o=t.map(s=>{var l;return{columnId:((l=s==null?void 0:s.sortCol)==null?void 0:l.id)??"",sortAsc:(s==null?void 0:s.sortAsc)??!0}});if(this.sharedService.slickGrid.setSortColumns(o),r){const s=[];o.forEach(l=>{s.push({columnId:`${l.columnId}`,direction:l.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(r,s)}}}}const Gi="slick-rbe-editmode",Ah="slick-rbe-unsaved-cell",Ks="slick-rbe-unsaved-highlight",yn="action-btns--delete",zn="action-btns--edit",Sn="action-btns--update",wn="action-btns--cancel";class Hs{constructor(u,e,a){this.extensionUtility=u,this.pubSubService=e,this.pluginName="RowBasedEdit",this._defaults={actionsColumnLabel:"Actions",allowMultipleRows:!1,columnId:"_slick_rowbasededit_action",columnIndexPosition:-1,reorderable:!1},this._editedRows=new Map,this._currentLang="en",this._translations={},this.onBeforeEditCellHandler=(i,t)=>{var r;return this._editedRows.has((r=t.item)==null?void 0:r[this.gridOptions.datasetIdPropertyName??"id"])},this._eventHandler=new Su,this._addonOptions=a}get addonOptions(){return this._addonOptions}get gridOptions(){return this._grid.getOptions()||{}}get eventHandler(){return this._eventHandler}init(u,e){var t,r;this._grid=u,this._gridService=e,this._addonOptions={...this._defaults,...this.addonOptions};const a=this._grid.getData();if(this._eventHandler.subscribe(this._grid.onBeforeEditCell,this.onBeforeEditCellHandler),this.checkOptionsRequirements(this.gridOptions),this.gridOptions.autoEdit||(this._grid.setOptions({autoEdit:!0}),console.warn('[Slickgrid-Universal] The Row Based Edit Plugin works best with the gridOption "autoEdit" enabled, the option has now been set automatically for you.')),this._existingEditCommandHandler=this.gridOptions.editCommandHandler,this._grid.setOptions({editCommandHandler:this.rowBasedEditCommandHandler.bind(this)}),this.gridOptions.enableExcelCopyBuffer===!0){const o=(t=this.gridOptions.excelCopyBufferOptions)==null?void 0:t.onBeforePasteCell;this._grid.setOptions({excelCopyBufferOptions:{...this.gridOptions.excelCopyBufferOptions,onBeforePasteCell:(s,l)=>{let E=!0;if(o&&(E=o(s,l),E===!1))return!1;const d=a.getItem(l.row),c=this.gridOptions.datasetIdPropertyName??"id";return!!(this._editedRows.has(d[c])&&E===!0)}}})}const i=a.getItemMetadata;a.getItemMetadata=this.updateItemMetadata((r=i==null?void 0:i.bind)==null?void 0:r.call(i,a)),this._eventHandler.subscribe(this._grid.onSetOptions,this.optionsUpdatedHandler.bind(this)),this._eventHandler.subscribe(a.onRowsOrCountChanged,this.handleAllRowRerender.bind(this)),this.translate()}destroy(){this.dispose()}dispose(){var u,e;(u=this._eventHandler)==null||u.unsubscribeAll(),(e=this.pubSubService)==null||e.unsubscribeAll()}create(u,e){var a;if(this._addonOptions={...this._defaults,...e.rowBasedEditOptions},Array.isArray(u)&&e){const i=this.getColumnDefinition();if(!u.some(t=>t.id===i.id)){const t=((a=e==null?void 0:e.rowBasedEditOptions)==null?void 0:a.columnIndexPosition)??-1;t===-1?u.push(i):t>0&&tc.editor!==void 0),o=[],s=this.gridOptions.datasetIdPropertyName??"id";i.forEach((c,D)=>{const m=i[D],h=t[D];if(m!==h||h===""){const g=Array.isArray(a.prevSerializedValue)?r==null?void 0:r[D]:e;if(!g)return;this._grid.invalidate(),a.execute(),this.renderUnsavedCellStyling(u[s],g),o.push(g)}});const l=this._editedRows.get(u[s]),E=[...(l==null?void 0:l.editCommands)||[]];o.length>0&&E.push(a),this._editedRows.set(u[s],{columns:[...(l==null?void 0:l.columns)||[],...o],editCommands:E,cssStyleKeys:(l==null?void 0:l.cssStyleKeys)||[]})}translate(u=!1){var e;return this._currentLang=((e=this.extensionUtility.translaterService)==null?void 0:e.getCurrentLanguage())??"en",(!this._translations[this._currentLang]||u)&&(this._translations[this._currentLang]={btnUpdateTitle:this.getTitleOrDefault("updateButtonTitle","Update the row"),btnEditTitle:this.getTitleOrDefault("editButtonTitle","Edit the Row"),btnDeleteTitle:this.getTitleOrDefault("deleteButtonTitle","Delete the Row"),btnCancelTitle:this.getTitleOrDefault("cancelButtonTitle","Cancel changes of the Row")}),this._translations[this._currentLang]}checkOptionsRequirements(u){if(!(u!=null&&u.enableCellNavigation))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption cell navigation (enableCellNavigation = true)");if(!(u!=null&&u.editable))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption editable (editable = true)")}undoRowEdit(u){const e=this.gridOptions.datasetIdPropertyName??"id",a=this._editedRows.get(u[e]),i=this._grid.getData().getRowByItem(u);if(i!==void 0&&(a!=null&&a.editCommands)&&a.editCommands.length||Z0.cancelCurrentEdit()){for(;a.editCommands.length>0;){const t=a.editCommands.pop();t&&t.undo()}a.columns.forEach(t=>{this.removeUnsavedStylingFromCell(t,i)}),a.columns=[],this._grid.invalidate()}}renderUnsavedCellStyling(u,e){var a,i;if(e){const t=(a=this._grid.getData())==null?void 0:a.getRowById(u);if(t!==void 0&&t>=0){const r={[t]:{[e.id]:Ah}},o=`${Ks}_${[e.id]}${t}`;this._grid.setCellCssStyles(o,r),(i=this._editedRows.get(u))==null||i.cssStyleKeys.push(o)}}}handleAllRowRerender(u,e){this._editedRows.forEach((a,i)=>{a.cssStyleKeys.forEach(t=>{this._grid.removeCellCssStyles(t)}),a.cssStyleKeys=[],a.columns.forEach(t=>{this.renderUnsavedCellStyling(i,t)})})}removeUnsavedStylingFromCell(u,e){const a=`${Ks}_${[u.id]}${e}`;this._grid.removeCellCssStyles(a)}removeUnsavedStylingFromRow(u){this._grid.getColumns().forEach(e=>{this.removeUnsavedStylingFromCell(e,u)})}optionsUpdatedHandler(u,e){this._addonOptions={...this._defaults,...e.optionsAfter.rowBasedEditOptions}}async onCellClickHandler(u,e){var o,s,l,E,d,c,D,m,h,g,x,p,F,v,b;const a=e.dataContext,i=u.target,t=this.gridOptions.datasetIdPropertyName??"id",r=this._editedRows.get(a[t]);if((i.classList.contains(yn)||(o=i.parentElement)!=null&&o.classList.contains(yn))&&this._gridService){if((l=(s=this._addonOptions)==null?void 0:s.actionButtons)!=null&&l.deleteButtonPrompt&&!window.confirm(this._addonOptions.actionButtons.deleteButtonPrompt))return;this.toggleEditmode(a,!1),this._gridService.deleteItem(a)}else if(i.classList.contains(zn)||(E=i.parentElement)!=null&&E.classList.contains(zn)){if(!((d=this._addonOptions)!=null&&d.allowMultipleRows)&&this._editedRows.size>0)return;typeof((c=this._addonOptions)==null?void 0:c.onBeforeEditMode)=="function"&&this._addonOptions.onBeforeEditMode(e),this.toggleEditmode(a,!0)}else if(i.classList.contains(Sn)||(D=i.parentElement)!=null&&D.classList.contains(Sn)){if((h=(m=this._addonOptions)==null?void 0:m.actionButtons)!=null&&h.updateButtonPrompt&&((r==null?void 0:r.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.updateButtonPrompt)||(this._grid.getCellEditor()&&((g=this._grid.getActiveCell())==null?void 0:g.row)===e.row&&((x=this._grid.getEditController())==null||x.commitCurrentEdit()),(p=this._addonOptions)!=null&&p.onBeforeRowUpdated&&await this._addonOptions.onBeforeRowUpdated(e)!==!0))return;this.removeUnsavedStylingFromRow(e.row),this.toggleEditmode(a,!1)}else if(i.classList.contains(wn)||(F=i.parentElement)!=null&&F.classList.contains(wn)){if((b=(v=this._addonOptions)==null?void 0:v.actionButtons)!=null&&b.cancelButtonPrompt&&((r==null?void 0:r.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.cancelButtonPrompt))return;this.undoRowEdit(a),this.toggleEditmode(a,!1)}}actionColumnFormatter(u,e,a,i,t){var E,d,c,D,m,h,g,x,p,F,v,b,B,S,y,w;const r=this.gridOptions,o=this._editedRows.has(t==null?void 0:t[r.datasetIdPropertyName??"id"]),s=this._translations[this._currentLang]??this.translate(),l=document.createDocumentFragment();return l.appendChild(A("span",{className:`${((d=(E=r.rowBasedEditOptions)==null?void 0:E.actionButtons)==null?void 0:d.editButtonClassName)||"button-style padding-1px mr-2"} action-btns `+zn,title:s.btnEditTitle,style:{display:o?"none":""}})).appendChild(A("span",{className:((D=(c=r.rowBasedEditOptions)==null?void 0:c.actionButtons)==null?void 0:D.iconEditButtonClassName)||"mdi mdi-table-edit text-color-primary"})),l.appendChild(A("span",{className:`${((h=(m=r.rowBasedEditOptions)==null?void 0:m.actionButtons)==null?void 0:h.deleteButtonClassName)||"button-style padding-1px"} action-btns `+yn,title:s.btnDeleteTitle,style:{display:o?"none":""}})).appendChild(A("span",{className:((x=(g=r.rowBasedEditOptions)==null?void 0:g.actionButtons)==null?void 0:x.iconDeleteButtonClassName)||"mdi mdi-close text-color-danger"})),l.appendChild(A("span",{className:`${((F=(p=r.rowBasedEditOptions)==null?void 0:p.actionButtons)==null?void 0:F.updateButtonClassName)||"button-style padding-1px mr-2"} action-btns `+Sn,title:s.btnUpdateTitle,style:{display:o?"":"none"}})).appendChild(A("span",{className:((b=(v=r.rowBasedEditOptions)==null?void 0:v.actionButtons)==null?void 0:b.iconUpdateButtonClassName)||"mdi mdi-check-bold text-color-success"})),l.appendChild(A("span",{className:`${((S=(B=r.rowBasedEditOptions)==null?void 0:B.actionButtons)==null?void 0:S.cancelButtonClassName)||"button-style padding-1px"} action-btns `+wn,title:s.btnCancelTitle,style:{display:o?"":"none"}})).appendChild(A("span",{className:((w=(y=r.rowBasedEditOptions)==null?void 0:y.actionButtons)==null?void 0:w.iconCancelButtonClassName)||"mdi mdi-cancel text-color-danger"})),l}toggleEditmode(u,e){const a=this.gridOptions.datasetIdPropertyName??"id";e?this._editedRows.set(u[a],{columns:[],editCommands:[],cssStyleKeys:[]}):this._editedRows.delete(u[a]),this._grid.invalidate()}updateItemMetadata(u){return e=>{const a=this._grid.getData().getItem(e);let i={cssClasses:""};if(typeof u=="function"){const t=u(e);t&&(i=t)}if(i&&a){const t=this.gridOptions.datasetIdPropertyName??"id";this._editedRows.has(a[t])&&!i.cssClasses.includes(Gi)?i.cssClasses=(i.cssClasses||"")+" "+Gi:!this._editedRows.has(a[t])&&i.cssClasses.includes(Gi)&&(i.cssClasses=i.cssClasses.replace(Gi,""))}return i}}getTitleOrDefault(u,e){var i,t,r;const a=(i=this.gridOptions.rowBasedEditOptions)==null?void 0:i.actionButtons;return(a==null?void 0:a[u+"Key"])&&((r=(t=this.extensionUtility.translaterService)==null?void 0:t.translate)==null?void 0:r.call(t,(a==null?void 0:a[u+"Key"])||""))||(a==null?void 0:a[u])||e}}class Os{constructor(u){this.pubSubService=u,this.pluginName="RowMoveManager",this._dragging=!1,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,reorderable:!1,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new R("onBeforeMoveRows"),this.onMoveRows=new R("onMoveRows"),this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}init(u,e){var a;this._addonOptions={...this._defaults,...e},this._grid=u,this._canvas=this._grid.getCanvasNode(),z.addSlickEventPubSubWhenDefined(this.pubSubService,this),typeof((a=this._addonOptions)==null?void 0:a.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 u;(u=this._eventHandler)==null||u.unsubscribeAll()}create(u,e){var a;if(this._addonOptions={...this._defaults,...e.rowMoveManager},Array.isArray(u)&&e){const i=this.getColumnDefinition();if(!u.some(t=>t.id===i.id)){const t=Array.isArray(u)&&u.find(s=>(s==null?void 0:s.behavior)==="selectAndMove"),r=t||i,o=((a=e==null?void 0:e.rowMoveManager)==null?void 0:a.columnIndexPosition)??0;o>0?u.splice(o,0,r):u.unshift(r),this.pubSubService.publish("onPluginColumnsChanged",{columns:u,pluginName:this.pluginName})}}return this}getColumnDefinition(){var e;const u=String(((e=this._addonOptions)==null?void 0:e.columnId)??this._defaults.columnId);return{id:u,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:u,reorderable:this._addonOptions.reorderable,resizable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(u){this._usabilityOverride=u}setOptions(u){this._addonOptions={...this._addonOptions,...u}}handleDragInit(u){u.stopImmediatePropagation()}handleDragEnd(u,e){var a,i,t;if(this._dragging&&(this._dragging=!1,u.stopImmediatePropagation(),(a=e.guide)==null||a.remove(),(i=e.selectionProxy)==null||i.remove(),(t=e.clonedSlickRow)==null||t.remove(),e.canMove)){const r={grid:this._grid,rows:e.selectedRows,insertBefore:e.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(u instanceof ju?u.getNativeEvent():u,r),this.onMoveRows.notify(r)}}handleDrag(u,e){var a,i,t,r;if(this._dragging){u.stopImmediatePropagation();const o=u.getNativeEvent(),l=(((a=o==null?void 0:o.touches)==null?void 0:a[0])??o).pageY-(((i=Ou(this._canvas))==null?void 0:i.top)??0);e.selectionProxy.style.top=`${l-5}px`,e.selectionProxy.style.display="block",e.clonedSlickRow&&(e.clonedSlickRow.style.top=`${l-6}px`,e.clonedSlickRow.style.display="block");const E=Math.max(0,Math.min(Math.round(l/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(E!==e.insertBefore){const d={grid:this._grid,rows:e.selectedRows,insertBefore:E};if(((r=(t=this._addonOptions)==null?void 0:t.onBeforeMoveRows)==null?void 0:r.call(t,o,d))===!1||this.onBeforeMoveRows.notify(d).getReturnValue()===!1?e.canMove=!1:e.canMove=!0,this._usabilityOverride&&e.canMove){const c=this._grid.getDataItem(E);e.canMove=this.checkUsabilityOverride(E,c,this._grid)}e.canMove?e.guide.style.top=`${E*(this.gridOptions.rowHeight||0)}px`:e.guide.style.top="-1000px",e.insertBefore=E}}}handleDragStart(u,e){var r,o,s,l,E;const a=this._grid.getCellFromEvent(u)||{cell:-1,row:-1},i=a.row,t=this._grid.getDataItem(i);if(this.checkUsabilityOverride(i,t,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[a.cell].behavior||""))return!1;if(this._dragging=!0,u.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const D=(r=this._grid.getCellNode(a.row,a.cell))==null?void 0:r.closest(".slick-row");D&&(e.clonedSlickRow=D.cloneNode(!0),e.clonedSlickRow.classList.add("slick-reorder-shadow-row"),e.clonedSlickRow.style.display="none",e.clonedSlickRow.style.marginLeft=be((o=this._addonOptions)==null?void 0:o.rowMoveShadowMarginLeft,"0px"),e.clonedSlickRow.style.marginTop=be((s=this._addonOptions)==null?void 0:s.rowMoveShadowMarginTop,"0px"),e.clonedSlickRow.style.opacity=`${((l=this._addonOptions)==null?void 0:l.rowMoveShadowOpacity)??.95}`,e.clonedSlickRow.style.transform=`scale(${((E=this.addonOptions)==null?void 0:E.rowMoveShadowScale)??.75})`,this._canvas.appendChild(e.clonedSlickRow))}let d=this._addonOptions.singleRowMove?[a.row]:this._grid.getSelectedRows();(d.length===0||!d.some(D=>D===a.row))&&(d=[a.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(d));const c=this.gridOptions.rowHeight;e.selectedRows=d,e.selectionProxy=A("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${c*d.length}px`}},this._canvas),e.guide=A("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),e.insertBefore=-1}}checkUsabilityOverride(u,e,a){return typeof this._usabilityOverride=="function"?this._usabilityOverride(u,e,a):!0}moveIconFormatter(u,e,a,i,t,r){return this.checkUsabilityOverride(u,t,r)?{addClasses:"cell-reorder dnd",html:A("div",{className:this._addonOptions.cssClass||""})}:""}}class bh{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(u,e,a,i,t,r,o,s){this.extensionUtility=u,this.filterService=e,this.pubSubService=a,this.sharedService=i,this.sortService=t,this.treeDataService=r,this.translaterService=o,this.lazyGridService=s,this._extensionCreatedList={},this._extensionList={}}dispose(){if(this.sharedService.visibleColumns=[],typeof this._extensionList=="object"){const u=Object.keys(this._extensionList);u.forEach(e=>{var a;if(this._extensionList.hasOwnProperty(e)){const i=this._extensionList[e];typeof((a=i==null?void 0:i.instance)==null?void 0:a.dispose)=="function"&&i.instance.dispose()}}),u.forEach(e=>{delete this._extensionList[e]})}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={}}addExtensionToList(u,e){this._extensionList[u]=e}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(u){var e;if((e=this._extensionCreatedList)!=null&&e.hasOwnProperty(u))return this._extensionCreatedList[u]}getExtensionByName(u){var e;return(e=this._extensionList)==null?void 0:e[u]}getExtensionInstanceByName(u){var e;return(e=this.getExtensionByName(u))==null?void 0:e.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var u,e,a,i,t,r,o,s,l,E,d,c,D;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableRowBasedEdit){this._rowBasedEdit=this._rowBasedEdit||new Hs(this.extensionUtility,this.pubSubService,this.gridOptions.rowBasedEditOptions);const m=(u=this.lazyGridService)==null?void 0:u.call(this);if(!m)throw new Error("[Slickgrid-Universal] the RowBasedEdit Plugin requires a GridService to be configured and available");this._rowBasedEdit.init(this.sharedService.slickGrid,m),(e=this.gridOptions.rowBasedEditOptions)!=null&&e.onExtensionRegistered&&this.gridOptions.rowBasedEditOptions.onExtensionRegistered(this._rowBasedEdit),this._extensionList[ou.rowBasedEdit]={name:ou.rowBasedEdit,instance:this._rowBasedEdit}}if(this.gridOptions.enableAutoTooltip){const m=new Dh((a=this.gridOptions)==null?void 0:a.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[ou.autoTooltip]={name:ou.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new mh,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),(i=this.gridOptions.excelCopyBufferOptions)!=null&&i.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[ou.cellExternalCopyManager]={name:ou.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new gh(this.extensionUtility,this.pubSubService,this.sharedService),(t=this.gridOptions.cellMenu)!=null&&t.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[ou.cellMenu]={name:ou.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 m=this.gridOptions.rowSelectionOptions??{};this.gridOptions.enableRowMoveManager&&((r=this.gridOptions.rowMoveManager)==null?void 0:r.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new Xt(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[ou.rowSelection]={name:ou.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new Ls(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(ou.checkboxSelector),h=m==null?void 0:m.instance;h&&((o=this.gridOptions.checkboxSelector)!=null&&o.onExtensionRegistered&&this.gridOptions.checkboxSelector.onExtensionRegistered(h),this._extensionList[ou.checkboxSelector]={name:ou.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new Qr(this.extensionUtility,this.pubSubService,this.sharedService),(s=this.gridOptions.columnPicker)!=null&&s.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[ou.columnPicker]={name:ou.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new ph(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),(l=this.gridOptions.contextMenu)!=null&&l.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[ou.contextMenu]={name:ou.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),(E=this.gridOptions.draggableGrouping)!=null&&E.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[ou.contextMenu]={name:ou.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[ou.draggableGrouping]={name:ou.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new U1(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(d=this.gridOptions.gridMenu)!=null&&d.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[ou.gridMenu]={name:ou.gridMenu,instance:this._gridMenuControl}),this.gridOptions.enableHeaderButton){const m=new kh(this.extensionUtility,this.pubSubService,this.sharedService);(c=this.gridOptions.headerButton)!=null&&c.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[ou.headerButton]={name:ou.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new vh(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(D=this.gridOptions.headerMenu)!=null&&D.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[ou.headerMenu]={name:ou.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new Os(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(ou.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[ou.rowMoveManager]={name:ou.rowMoveManager,instance:this._rowMoveManagerPlugin})}}}createExtensionsBeforeGridCreation(u,e){var i,t,r;const a=[];e.enableCheckboxSelector&&(this.getCreatedExtensionByName(ou.checkboxSelector)||(this._checkboxSelectColumn=new Ls(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),a.push({name:ou.checkboxSelector,extension:this._checkboxSelectColumn,columnIndexPosition:((i=e==null?void 0:e.checkboxSelector)==null?void 0:i.columnIndexPosition)??a.length}))),e.enableRowMoveManager&&(this.getCreatedExtensionByName(ou.rowMoveManager)||(this._rowMoveManagerPlugin=new Os(this.pubSubService),a.push({name:ou.rowMoveManager,extension:this._rowMoveManagerPlugin,columnIndexPosition:((t=e==null?void 0:e.rowMoveManager)==null?void 0:t.columnIndexPosition)??a.length}))),e.enableRowBasedEdit&&(this.getCreatedExtensionByName(ou.rowBasedEdit)||(this._rowBasedEdit=new Hs(this.extensionUtility,this.pubSubService),a.push({name:ou.rowBasedEdit,extension:this._rowBasedEdit,columnIndexPosition:((r=e==null?void 0:e.rowMoveManager)==null?void 0:r.columnIndexPosition)??a.length}))),this.createExtensionByTheirColumnIndex(a,u,e),e.enableDraggableGrouping&&(this.getCreatedExtensionByName(ou.draggableGrouping)||(this._draggleGroupingPlugin=new Fh(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(e.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[ou.draggableGrouping]={name:ou.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(u){var e,a;if(typeof((a=(e=this.sharedService)==null?void 0:e.slickGrid)==null?void 0:a.getColumns)=="function"){const i=this.sharedService.slickGrid.getColumnIndex(u.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),i),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(u){this.extensionUtility.refreshBackendDataset(u)}removeColumnByIndex(u,e){return Array.isArray(u)?u.filter((a,i)=>e!==i):u}translateAllExtensions(u){this.translateCellMenu(),this.translateContextMenu(),this.translateHeaderMenu(),this.translateRowEditPlugin(),this.translateColumnHeaders(u)}translateCellMenu(){var u;(u=this._cellMenuPlugin)==null||u.translateCellMenu()}translateColumnPicker(){var u;(u=this._columnPickerControl)==null||u.translateColumnPicker()}translateContextMenu(){var u;(u=this._contextMenuPlugin)==null||u.translateContextMenu()}translateGridMenu(){var u;(u=this._gridMenuControl)==null||u.translateGridMenu()}translateHeaderMenu(){var u;(u=this._headerMenuPlugin)==null||u.translateHeaderMenu()}translateRowEditPlugin(){var u;(u=this._rowBasedEdit)==null||u.translate()}translateColumnHeaders(u,e){var i;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.');u&&((i=this.translaterService)!=null&&i.use)&&this.translaterService.getCurrentLanguage()!==u&&this.translaterService.use(u);let a=e;a||(a=this.sharedService.columnDefinitions),this.translateItems(a,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"columnGroupKey","columnGroup"),this.renderColumnHeaders(a,Array.isArray(e))}renderColumnHeaders(u,e=!1){var i;let a=u;a||(a=this.sharedService.columnDefinitions),Array.isArray(a)&&((i=this.sharedService.slickGrid)!=null&&i.setColumns)&&((a.length>this.sharedService.allColumns.length||e)&&(this.sharedService.allColumns=a),this.sharedService.slickGrid.setColumns(a)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns,this._columnPickerControl.translateColumnPicker()),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=this.sharedService.allColumns??[],this._gridMenuControl.recreateGridMenu(),this._gridMenuControl.translateGridMenu())}createExtensionByTheirColumnIndex(u,e,a){u.sort((i,t)=>i.columnIndexPosition-t.columnIndexPosition),u.forEach(i=>{const t=i.extension.create(e,a);t&&(this._extensionCreatedList[i.name]={name:i.name,instance:t})})}translateItems(u,e,a){var i,t;if((i=this.gridOptions)!=null&&i.enableTranslate&&!((t=this.translaterService)!=null&&t.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.extensionUtility.translateItems(u,e,a)}}function Is(n,u,e){if(e&&(n!=null&&n.hasOwnProperty(e)||u!=null&&u.hasOwnProperty(e)))return n[e]===u||n===u[e]||n[e]===u[e];if(typeof n=="object"&&typeof u=="object"&&Object.keys(n).length!==Object.keys(u).length)return!1;for(const a in n)if(n.hasOwnProperty(a)&&n[a]!==u[a])return!1;return!0}function fh(n){switch(n&&n.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 Je=(n,u,e)=>{switch(n.toUpperCase()){case"<":case"LT":return u":case"GT":return u>e;case">=":case"GE":return u>=e;case"!=":case"<>":case"NE":return u!==e;case"=":case"==":case"EQ":return u===e;case"IN":return e&&Array.isArray(e)?e.includes(u):!1;case"NIN":case"NOT_IN":return e&&Array.isArray(e)?!e.includes(u):!1;case"IN_CONTAINS":return e&&Array.isArray(e)&&typeof u=="string"?e.some(a=>u.split(/[,]+/).map(i=>i.trim()).includes(a)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return e&&Array.isArray(e)&&typeof u=="string"?!e.some(a=>u.split(/[,]+/).map(i=>i.trim()).includes(a)):!1;case"IN_COLLECTION":return u&&e&&Array.isArray(u)&&Array.isArray(e)?e.some(a=>u.includes(a)):!1;case"NOT_IN_COLLECTION":return u&&e&&Array.isArray(u)&&Array.isArray(e)?!e.some(a=>u.includes(a)):!1}return!0},e4=(n,u)=>{let[e,a]=u;if(e===void 0&&!n.operator)return!0;n.cellValue=n.cellValue===void 0||n.cellValue===null?"":n.cellValue.toString();const i=n!=null&&n.ignoreAccentOnStringFilterAndSort?Ma(n.cellValue,!0):n.cellValue.toLowerCase();if(typeof e=="string"&&(e=n!=null&&n.ignoreAccentOnStringFilterAndSort?Ma(e,!0):e.toLowerCase()),typeof a=="string"&&(a=n!=null&&n.ignoreAccentOnStringFilterAndSort?Ma(a,!0):a.toLowerCase()),n.operator===T.startsWithEndsWith&&e!==void 0&&a!==void 0)return yh(i,[e,a]);if(e!==void 0&&a!==void 0){let r=(n==null?void 0:n.operator)??n.defaultFilterRangeOperator;r!==T.rangeInclusive&&r!==T.rangeExclusive&&(r=n.defaultFilterRangeOperator);const o=r===T.rangeInclusive,s=Mn(o?">=":">",i,e,n.searchInputLastChar),l=Mn(o?"<=":"<",i,a,n.searchInputLastChar);return s&&l}return Mn(n.operator,i,e,n.searchInputLastChar)};function Bh(n){let e=Array.isArray(n)&&n||[""];const a=[];let i,t;if(e.length===1&&typeof e[0]=="string"){const r=e[0];r.indexOf("..")>0?e=r.split(".."):r.indexOf("*")>0&&r.indexOf("*")0?n[0]:"";i=r==null?"":`${r}`}return i!==void 0&&t!==void 0?a.push(i,t):i!==void 0&&a.push(i),a}function Mn(n,u,e,a){return n==="*"||n===T.endsWith||n==="*z"?u.endsWith(e):n===""&&a==="*"||n===T.startsWith||n==="a*"?u.startsWith(e):n===""||n===T.contains?u.indexOf(e)>-1:n==="<>"||n===T.notContains?u.indexOf(e)===-1:Je(n||"==",u,e)}function yh(n,[u,e]){return n.startsWith(u)&&n.endsWith(e)}const zh=(n,u)=>{if(u===void 0&&!n.operator)return!0;switch((n.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!Is(n.cellValue,u,n.dataKey);case"=":case"==":case"EQ":default:return Is(n.cellValue,u,n.dataKey)}};function Sh(n){return(Array.isArray(n)&&n.length>0?n[0]:"")||""}const a4=(n,u)=>{const e=parseFloat(n.cellValue),[a,i]=u;if(a===void 0&&!n.operator)return!0;if(a!==void 0&&i!==void 0){let t=(n==null?void 0:n.operator)??n.defaultFilterRangeOperator;t!==T.rangeInclusive&&t!==T.rangeExclusive&&(t=n.defaultFilterRangeOperator);const r=t===T.rangeInclusive,o=Je(r?">=":">",e,+a),s=Je(r?"<=":"<",e,+i);return o&&s}return Je(n.operator||"==",e,+a)};function wh(n){const e=Array.isArray(n)&&n||[0],a=[];let i,t;if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const r=e.length===2?e:e[0].split("..");i=parseFloat(Array.isArray(r)?r[0]:""),t=parseFloat(Array.isArray(r)?r[1]:"")}else i=parseFloat(e[0]);return lu(i,!0)&&lu(t,!0)?a.push(i,t):lu(i,!0)&&a.push(i),a}const i4=(n,u)=>Ft(n.cellValue)===Ft(u);function Mh(n){const u=Array.isArray(n)&&n[0]||!1;return Ft(u)}const t4=n=>{const u=n.operator;let e;return Array.isArray(n.cellValue)&&(u==="IN_COLLECTION"||u==="NOT_IN_COLLECTION")?e=n.cellValue.length?n.cellValue.map(a=>`${a}`):[]:e=n.cellValue===void 0||n.cellValue===null?"":`${n.cellValue}`,Je(u||"IN",e,n.searchTerms||[])};function Th(n,u){const e=n&&(n.filterSearchType||n.fieldType)||C.dateIso,a=$0(e),[i,t]=u,r=Be(n.cellValue,a,!0);if(!i&&!t||!r)return!1;const o=a==="ISO8601"||a.toLowerCase().includes("h")?r.valueOf():as(new Date(r)).valueOf();if(i&&t){let l=(n==null?void 0:n.operator)??n.defaultFilterRangeOperator;l!==T.rangeInclusive&&l!==T.rangeExclusive&&(l=n.defaultFilterRangeOperator);const E=l===T.rangeInclusive,d=Je(E?">=":">",o,i.valueOf()),c=Je(E?"<=":"<",o,t.valueOf());return d&&c}const s=a==="ISO8601"||a.toLowerCase().includes("h")?i.valueOf():as(new Date(i)).valueOf();return Je(n.operator||"==",o,s)}function Ph(n,u){const e=Array.isArray(n)&&n||[],a=u||C.dateIso,i=$0(a),t=[];if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const r=e.length===2?e:e[0].split(".."),o=Array.isArray(r)&&r[0]||"",s=Array.isArray(r)&&r[1]||"",l=Be(o,i,!0),E=Be(s,i,!0);if(!l||!E)return[];t.push(l,E)}else{const r=Be(e[0],i,!0);if(!r)return[];t.push(r)}return t}const _h=(n,u)=>{if(fh(n.operator))return t4(n);switch(n4(n.filterSearchType||n.fieldType)){case"boolean":return i4(n,u);case"date":return Th(n,u||[]);case"number":return a4(n,u||[]);case"object":return zh(n,u);case"string":default:return e4(n,u||[])}};function Vi(n,u){const e=n4(u);let a;switch(e){case"boolean":a=Mh(n);break;case"date":a=Ph(n,u);break;case"number":a=wh(n);break;case"object":a=Sh(n);break;case"string":a=Bh(n);break}return a}function n4(n){switch(n){case C.boolean:return"boolean";case C.date:case C.dateIso:case C.dateUtc:case C.dateTime:case C.dateTimeIso:case C.dateTimeIsoAmPm:case C.dateTimeIsoAM_PM:case C.dateTimeShortIso:case C.dateEuro:case C.dateEuroShort:case C.dateTimeShortEuro:case C.dateTimeEuro:case C.dateTimeEuroAmPm:case C.dateTimeEuroAM_PM:case C.dateTimeEuroShort:case C.dateTimeEuroShortAmPm:case C.dateTimeEuroShortAM_PM:case C.dateUs:case C.dateUsShort:case C.dateTimeShortUs:case C.dateTimeUs:case C.dateTimeUsAmPm:case C.dateTimeUsAM_PM:case C.dateTimeUsShort:case C.dateTimeUsShortAmPm:case C.dateTimeUsShortAM_PM:return"date";case C.integer:case C.float:case C.number:return"number";case C.object:return"object";case C.string:case C.text:case C.password:case C.readonly:default:return"string"}}const Gs={executeFilterConditionTest:_h,booleanFilter:i4,collectionSearchFilter:t4,numberFilter:a4,stringFilter:e4};class jh{constructor(u,e,a,i,t){this.filterFactory=u,this.pubSubService=e,this.sharedService=a,this.backendUtilities=i,this.rxjs=t,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new R,this._eventHandler=new Su,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 u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get _columnDefinitions(){var u;return((u=this._grid)==null?void 0:u.getColumns())??[]}get _dataView(){var u;return((u=this._grid)==null?void 0:u.getData())??{}}addRxJsResource(u){this.rxjs=u}init(u){this._grid=u,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var u;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((u=this.rxjs)!=null&&u.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let u=this._filtersMetadata.pop();for(;u;)typeof(u==null?void 0:u.destroy)=="function"&&u.destroy(),u=this._filtersMetadata.pop()}}bindBackendOnFilter(u){this._filtersMetadata=[],this._eventHandler.subscribe(u.onHeaderRowCellRendered,(e,a)=>{a.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(a,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=a.column.id)}),this.subscribeToOnHeaderRowCellRendered(u),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(u){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(e,a)=>{const i=(a==null?void 0:a.clearFilterTriggered)??!1;i||await this.emitFilterChanged(Ku.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),a.columnId!==null&&this._dataView.refresh(),i||await this.emitFilterChanged(Ku.local),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(u.onHeaderRowCellRendered,(e,a)=>{this.addFilterTemplateToHeaderRow(a)}),this.subscribeToOnHeaderRowCellRendered(u)}async clearFilterByColumnId(u,e){await this.pubSubService.publish("onBeforeFilterClear",{columnId:e},0);const a=this._gridOptions.backendServiceApi??!1,i=a?Ku.remote:Ku.local,t=Object.keys(this._columnFilters);let r;Array.isArray(t)&&(r=t.find(s=>s===`${e}`));const o=this._filtersMetadata.find(s=>s.columnDef.id===e);return o!=null&&o.clear&&o.clear(!0),a&&r!==void 0&&this.onBackendFilterChange(u,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(i),!0}async clearFilters(u=!0){var a,i;u&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(t=>{t!=null&&t.clear&&t.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(t=>{var r;(r=t.filter)!=null&&r.searchTerms&&delete t.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const e=this._gridOptions.backendServiceApi;if(e&&u){const t={clearFilterTriggered:!0,shouldTriggerQuery:u,grid:this._grid,columnFilters:this._columnFilters},o=e.service.processOnFilterChanged(void 0,t),s=((a=this._gridOptions.pagination)==null?void 0:a.totalItems)??0;(i=this.backendUtilities)==null||i.executeBackendCallback(e,o,t,new Date,s,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:l=>this._previousFilters=this.extractBasicFilterDetails(l.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);u&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(u,e){var o;const a=e==null?void 0:e.grid,i=(e==null?void 0:e.columnFilters)??{},t=this._gridOptions.enableTreeData??!1,r=this._gridOptions.treeDataOptions;if(t&&r){const s=r.collapsedPropName??_.treeDataProperties.COLLAPSED_PROP,l=r.parentPropName??_.treeDataProperties.PARENT_PROP,E=(r==null?void 0:r.childrenPropName)??_.treeDataProperties.CHILDREN_PROP,d=this._gridOptions.datasetIdPropertyName??"id",c=r.autoRecalcTotalsOnFilterChange??!1;let D=!1;if(u[l]!==null){let m=this._dataView.getItemById(u[l]);for(;m;){if(m[s])if(c)D=!0;else return!1;m=this._dataView.getItemById(m[l])}}if(this._tmpPreFilteredData instanceof Set){const m=this._tmpPreFilteredData.has(u[d]);if(c){const h=$e(this.sharedService.hierarchicalDataset,g=>g[d]===u[d],E);if(h&&(h.__filteredOut=!m),D)return!1}return m}}else if(typeof i=="object")for(const s of Object.keys(i)){const l=i[s],E=(o=l.columnDef)==null?void 0:o.filter;if(typeof(E==null?void 0:E.filterPredicate)=="function"){if(!E.filterPredicate(u,l))return!1}else{const d=this.preProcessFilterConditionOnDataContext(u,l,a);if(typeof d=="boolean")return d;let c=l==null?void 0:l.parsedSearchTerms;if(c===void 0&&(c=Vi(l.searchTerms,l.columnDef.type||C.string),c!==void 0&&(l.parsedSearchTerms=c)),!Gs.executeFilterConditionTest(d,c))return!1}}return!0}parseFormInputFilterConditions(u,e){var D;const a=Mu(!0,[],u)||[];let i=Array.isArray(a)&&a.length===1?a[0]:"";const t=e.columnDef,r=((D=t.filter)==null?void 0:D.type)??t.type??C.string;let o=null;r!==C.object&&(i=i==null?"":`${i}`,o=(t.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?i.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[i,"","","","",i,""]);const s=(o==null?void 0:o[2])||"",l=(o==null?void 0:o[3])||"";let E=(o==null?void 0:o[4])||e.operator,d=(o==null?void 0:o[1])||(o==null?void 0:o[5])||"";const c=(o==null?void 0:o[6])||(E==="*z"?"*":"");return typeof i=="string"&&(i=i.replace("'","''"),s&&l?(d=i,E=T.startsWithEndsWith):E==="*"||E==="*z"?E=T.endsWith:(E==="a*"||c==="*")&&(E=T.startsWith)),Array.isArray(o)&&o.length>=1&&Array.isArray(a)&&a.length===1&&(a[0]=d.length>0&&d.substring(0,1)===" "?d.substring(1):d),{dataKey:t.dataKey,fieldType:r,searchTerms:a||[],operator:E,searchInputLastChar:c,filterSearchType:t.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(u,e,a){var c,D,m;const i=e.columnDef,t=e.columnId;let r=a.getColumnIndex(t);if(!i&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(r=this.sharedService.allColumns.findIndex(h=>h.field===t)),!i)return!0;if(this._gridOptions.enableRowDetailView){const h=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";u[`${h}isPadding`]&&u[`${h}parent`]&&(u=u[`${h}parent`])}let o=((c=i.filter)==null?void 0:c.queryField)||i.queryFieldFilter||i.queryField||i.field||"";typeof i.queryFieldNameGetterFn=="function"&&(o=i.queryFieldNameGetterFn(u));const s=((D=i.filter)==null?void 0:D.type)??i.type??C.string;let l=u[o];(o==null?void 0:o.indexOf("."))>=0&&(l=Qu(u,o));const E=e.operator,d=e.searchTerms||[];if(!d||Array.isArray(d)&&(d.length===0||d.length===1&&E===d[0]))return!0;if(d&&Array.isArray(d)&&s!==C.object)for(let h=0,g=d.length;h{D[B[o]]=B,delete D[B[o]].__used}),typeof e=="object"&&Object.keys(e).forEach(B=>{var L;const S=e[B],y=S!=null&&S.searchTerms?Mu(!0,[],S.searchTerms):[],w=this.parseFormInputFilterConditions(y,S),M=S.columnDef,j=((L=M==null?void 0:M.filter)==null?void 0:L.type)??(M==null?void 0:M.type)??C.string,G=Vi(w.searchTerms,j);G!==void 0&&(S.parsedSearchTerms=G)}),u.forEach(B=>{const S=B[r];let y=!0;for(const w of Object.keys(e)){const M=e[w],j=this.preProcessFilterConditionOnDataContext(B,M,this._grid);if(j){const G=M==null?void 0:M.parsedSearchTerms,L=typeof j=="boolean"?j:Gs.executeFilterConditionTest(j,G);if(L&&c&&S&&M.columnId===E){h.set(B[o],!0);break}if(L||!d&&h.get(B[t])===!0){if(S&&M.columnId===E&&h.set(B[o],!0),L||!d&&M.columnId===E)continue}else S&&h.get(B[t])!==!0&&M.columnId!==E&&h.set(B[o],!1)}y=!1}if(y){m.add(B[o]);let w=D[B[t]]??!1;const M=!l;for(!this._isTreePresetExecuted&&Array.isArray(s)&&s.some(j=>j.itemId===w.id&&j.isCollapsed===M)&&(w[i]=M);w;)w.__used??m.add(w[o]),D[w[o]].__used=!0,w=D[w[t]]??!1}})),this._isTreePresetExecuted=!0,m}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var e;const u=[];if(this._columnFilters)for(const a of Object.keys(this._columnFilters)){const i=this._columnFilters[a],t={columnId:a||""},r=this.sharedService.allColumns.find(s=>s.id===t.columnId),o=((e=r==null?void 0:r.filter)==null?void 0:e.emptySearchTermReturnAllValues)??!0;i!=null&&i.searchTerms&&(t.searchTerms=i.searchTerms),i.operator&&(t.operator=i.operator),i.targetSelector&&(t.targetSelector=i.targetSelector),Array.isArray(t.searchTerms)&&t.searchTerms.length>0&&(!o||t.searchTerms[0]!=="")&&u.push(t)}return u}emitFilterChanged(u,e=!1){const a=e?"onBeforeFilterChange":"onFilterChanged";if(u===Ku.remote&&this._gridOptions.backendServiceApi){let i=[];const t=this._gridOptions.backendServiceApi.service;return t!=null&&t.getCurrentFilters&&(i=t.getCurrentFilters()),this.pubSubService.publish(a,i)}else if(u===Ku.local)return this.pubSubService.publish(a,this.getCurrentLocalFilters())}async onBackendFilterChange(u,e){var r,o;const a=e==null?void 0:e.shouldTriggerQuery;if(a&&await this.emitFilterChanged(Ku.remote,!0),!e||!e.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 i=this._gridOptions.backendServiceApi;if(!i||!i.process||!i.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const t=new Date;if(i.preProcess&&i.preProcess(),a){const s=await i.service.processOnFilterChanged(u,e),l=((r=this._gridOptions.pagination)==null?void 0:r.totalItems)??0;(o=this.backendUtilities)==null||o.executeBackendCallback(i,s,e,t,l,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:E=>this._previousFilters=this.extractBasicFilterDetails(E.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(u){return Array.isArray(u)&&(this._columnDefinitions.forEach(e=>{var i;(i=e.filter)!=null&&i.searchTerms&&delete e.filter.searchTerms;const a=u.find(t=>t.columnId===e.id);a&&Array.isArray(a==null?void 0:a.searchTerms)&&(e.filter=e.filter||{},e.filter.operator=a.operator||e.filter.operator||"",e.filter.searchTerms=a.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(u){var a;const e=u??((a=this._dataView)==null?void 0:a.getItems())??[];this._dataView&&this._gridOptions.enableTreeData&&e.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(e,this._columnFilters),this._dataView.refresh()):e.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&queueMicrotask(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(u=!0,e=!0){const i=!this._gridOptions.enableFiltering;i!==u&&(e&&u&&this.clearFilters(),this.disableAllFilteringCommands(u),this._grid.setOptions({enableFiltering:i},!1,!0),this._grid.setHeaderRowVisibility(i),this._gridOptions.enableFiltering=!u,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(u=!0){const e=this._gridOptions.enableFiltering;this.disableFilterFunctionality(e,u)}toggleHeaderFilterRow(){let u=this._gridOptions.showHeaderRow??!1;u=!u,this._grid.setHeaderRowVisibility(u),u===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(u){this._grid&&Array.isArray(u)&&this._grid.setSortColumns(u)}async updateFilters(u,e=!0,a=!0,i=!1){var t;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(u)){this.clearFilters(!1),u.forEach(s=>{const l=this._filtersMetadata.find(E=>s.columnId===E.columnDef.id);if(s&&l){const E=s.operator||l.defaultOperator;this.updateColumnFilters(s.searchTerms,l.columnDef,E),l.setValues(s.searchTerms||[],E),(i||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:l.columnDef,operator:E,searchTerms:s.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const r=this._gridOptions.backendServiceApi,o=r?Ku.remote:Ku.local;if(e&&await this.emitFilterChanged(o,!0),this._dataView.refresh(),r){const s=r==null?void 0:r.service;s!=null&&s.updateFilters&&(s.updateFilters(u,!0),a&&((t=this.backendUtilities)==null||t.refreshBackendDataset(this._gridOptions)))}e&&await this.emitFilterChanged(o)}return!0}async updateSingleFilter(u,e=!0,a=!0){var t,r;const i=this.sharedService.allColumns.find(o=>o.id===u.columnId);if(i&&u.columnId){this._columnFilters={};const o=((t=i.filter)==null?void 0:t.emptySearchTermReturnAllValues)??!0;Array.isArray(u.searchTerms)&&(u.searchTerms.length>1||u.searchTerms.length===1&&(!o||u.searchTerms[0]!==""))&&(this._columnFilters[u.columnId]={columnId:u.columnId,operator:u.operator,searchTerms:u.searchTerms,columnDef:i,type:i.type??C.string});const s=this._gridOptions.backendServiceApi,l=s?Ku.remote:Ku.local;if(e&&await this.emitFilterChanged(l,!0),s){const E=s==null?void 0:s.service;E!=null&&E.updateFilters&&(E.updateFilters(this._columnFilters,!0),a&&((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();e&&await this.emitFilterChanged(l)}return!0}drawFilterTemplate(u,e){let a;if(typeof e=="string"){if(a=document.querySelector(e),a===null)return null}else a=e;const i=typeof u=="string"?this.sharedService.allColumns.find(r=>r.id===u):u;if(((i==null?void 0:i.id)??"")!=="selector"&&(i!=null&&i.filterable)){let r,o;const s=this.filterFactory.createFilter(i.filter);o=i&&i.filter&&i.filter.operator||s&&s.operator,this._columnFilters[i.id]?(r=this._columnFilters[i.id].searchTerms||void 0,o=this._columnFilters[i.id].operator||void 0):i.filter&&(r=i.filter.searchTerms||void 0,this.updateColumnFilters(r,i,o));const l={grid:this._grid,operator:o,searchTerms:r,columnDef:i,filterContainerElm:a,callback:this.callbackSearchEvent.bind(this)};return s&&(s.init(l),r&&s.setValues&&s.setValues(r,o)),s}return null}addFilterTemplateToHeaderRow(u,e=!0){const a=u.column,i=(a==null?void 0:a.id)??"";if(i!=="selector"&&(a!=null&&a.filterable)){let t,r;const o=this.filterFactory.createFilter(a.filter);r=a&&a.filter&&a.filter.operator||o&&o.operator,this._columnFilters[a.id]?(t=this._columnFilters[a.id].searchTerms||void 0,r=this._columnFilters[a.id].operator||void 0):a.filter&&(t=a.filter.searchTerms||void 0,this.updateColumnFilters(t,a,r));const s={grid:this._grid,operator:r,searchTerms:t,columnDef:a,filterContainerElm:this._grid.getHeaderRowColumn(i),callback:this.callbackSearchEvent.bind(this)};if(o){o.init(s,e);const l=this._filtersMetadata.findIndex(E=>o.columnDef.id===E.columnDef.id);l===-1?this._filtersMetadata.push(o):this._filtersMetadata[l]=o,t&&o.setValues&&o.setValues(t,r)}}}callbackSearchEvent(u,e){var a,i;if(e){const t=u!=null&&u.target?u.target.value:void 0,r=e.searchTerms&&Array.isArray(e.searchTerms)?e.searchTerms:t?[t]:void 0,o=e.columnDef||null,s=(o==null?void 0:o.id)??"",l=((a=o==null?void 0:o.filter)==null?void 0:a.type)??(o==null?void 0:o.type)??C.string,E=e.operator||void 0,d=r&&Array.isArray(r),c=d&&r&&r.length,D={...this._columnFilters},m=((i=o.filter)==null?void 0:i.emptySearchTermReturnAllValues)??!0;let h;if(o&&s)if(!d||c===0||c===1&&Array.isArray(r)&&m&&r[0]==="")delete this._columnFilters[s];else{const p=`${s}`,F={columnId:p,columnDef:o,parsedSearchTerms:[],type:l,targetSelector:this.getSelectorStringFromElement(u==null?void 0:u.target)},v=this.parseFormInputFilterConditions(r,F);F.operator=E||v.operator||vi(l),h=Vi(v.searchTerms,l),h!==void 0&&(F.parsedSearchTerms=h),F.searchTerms=v.searchTerms||[],this._columnFilters[p]=F}const g=u&&typeof u.isPropagationStopped!="function"?Mu({},new ju,u):u,x=u==null?void 0:u.key;if(this._onSearchChange&&(e.forceOnSearchChangeEvent||x==="Enter"||!ne(D,this._columnFilters))){const p={clearFilterTriggered:e.clearFilterTriggered,shouldTriggerQuery:e.shouldTriggerQuery,columnId:s,columnDef:o,columnFilters:this._columnFilters,operator:E||vi(l),searchTerms:r,parsedSearchTerms:h,grid:this._grid,target:u==null?void 0:u.target};this.pubSubService.publish("onBeforeSearchChange",p)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(p,g)}}}disableAllFilteringCommands(u=!0){var i;const e=this._grid.getColumns();e.forEach(t=>{var r,o;(r=t==null?void 0:t.header)!=null&&r.menu&&((o=t.header.menu.commandItems)==null||o.forEach(s=>{s&&typeof s!="string"&&s.command==="clear-filter"&&(s.hidden=u)}))});const a=(i=this._gridOptions.gridMenu)==null?void 0:i.commandItems;return a&&a.forEach(t=>{if(t&&typeof t!="string"){const r=t.command;(r==="clear-filter"||r==="toggle-filter")&&(t.hidden=u)}}),e}extractBasicFilterDetails(u){const e=[];if(u&&typeof u=="object")for(const a of Object.keys(u)){const{operator:i,searchTerms:t}=u[`${a}`];e.push({columnId:a,operator:i,searchTerms:t})}return e}getSelectorStringFromElement(u){return u!=null&&u.localName?u!=null&&u.className?`${u.localName}.${Array.from(u.classList).join(".")}`:u.localName:""}removeAllColumnFiltersProperties(){typeof this._columnFilters=="object"&&Object.keys(this._columnFilters).forEach(u=>{u&&this._columnFilters[u]&&delete this._columnFilters[u]})}subscribeToOnHeaderRowCellRendered(u){this._eventHandler.subscribe(u.onBeforeHeaderRowCellDestroy,(e,a)=>{var t;const i=this._filtersMetadata.find(r=>r.columnDef.id===a.column.id);(t=i==null?void 0:i.destroy)==null||t.call(i)})}updateColumnFilters(u,e,a){var r;const i=((r=e.filter)==null?void 0:r.type)??e.type??C.string,t=Vi(u,i);u&&e&&(this._columnFilters[e.id]={columnId:e.id,columnDef:e,searchTerms:u,operator:a,parsedSearchTerms:t,type:i})}}const $i={skipError:!1,triggerEvent:!0},Xa={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},Tn={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Vs={autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1};class Lh{constructor(u,e,a,i,t,r,o){this.gridStateService=u,this.filterService=e,this.pubSubService=a,this.paginationService=i,this.sharedService=t,this.sortService=r,this.treeDataService=o}get _dataView(){var u;return(u=this._grid)==null?void 0:u.getData()}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}dispose(){var u;(u=this._rowSelectionPlugin)==null||u.dispose()}init(u){this._grid=u}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearPinning(u=!0){const e=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),u&&Array.isArray(e)&&this.sharedService.slickGrid.setColumns(e)}setPinning(u,e=!0,a=!1,i=!0){Ql(u)?this.clearPinning():(this.sharedService.slickGrid.setOptions(u,a,i),this.sharedService.gridOptions={...this.sharedService.gridOptions,...u}),e&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(u){if(!u||!u.grid||!u.grid.getColumns||!u.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:u.row,cell:u.cell,columnDef:u.grid.getColumns()[u.cell],dataContext:u.grid.getDataItem(u.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(u){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(u)}getDataItemByRowIndex(u){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(u)}getDataItemByRowIndexes(u){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 e=[];return Array.isArray(u)&&u.forEach(a=>{e.push(this._grid.getDataItem(a))}),e}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 u=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(u)}hideColumnById(u,e){if(e={...Vs,...e},this._grid&&this._grid.getColumns&&this._grid.setColumns){const a=this._grid.getColumns(),i=a.findIndex(t=>t.id===u);if(i>=0){const t=_r(a,i);this.sharedService.visibleColumns=t,this._grid.setColumns(t);const r=this.sharedService.allColumns.findIndex(o=>o.id===u);return r&&(e!=null&&e.hideFromColumnPicker&&(this.sharedService.allColumns[r].excludeFromColumnPicker=!0),e!=null&&e.hideFromGridMenu&&(this.sharedService.allColumns[r].excludeFromGridMenu=!0)),e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:t}),i}}return-1}hideColumnByIds(u,e){if(e={...Vs,...e},Array.isArray(u)){for(const a of u)this.hideColumnById(a,{...e,triggerEvent:!1,autoResizeColumns:!1});e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:this.sharedService.visibleColumns})}}highlightRow(u,e){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new Xt(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),e||(e=this._gridOptions.rowHighlightDuration),Array.isArray(u)?u.forEach(a=>this._grid.highlightRow(a)):this._grid.highlightRow(u,e)}setSelectedRow(u){var e;(e=this._grid)!=null&&e.setSelectedRows&&this._grid.setSelectedRows([u])}setSelectedRows(u){var e;(e=this._grid)!=null&&e.setSelectedRows&&this._grid.setSelectedRows(u)}renderGrid(){var u;typeof((u=this._grid)==null?void 0:u.invalidate)=="function"&&this._grid.invalidate()}resetGrid(u){var e,a,i;if(this.clearPinning(!1),this._grid){const t=this.sharedService.allColumns||[];Array.isArray(t)&&t.length>0&&(this._grid.setColumns(t),(e=this._gridOptions)!=null&&e.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(u))}typeof((a=this.filterService)==null?void 0:a.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((i=this.sortService)==null?void 0:i.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(u,e){var l,E,d,c;const a={...Xa,...e};if(!(a!=null&&a.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const i=this._gridOptions.datasetIdPropertyName||"id";if(!(a!=null&&a.skipError)&&(!u||!u.hasOwnProperty(i)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${i}" property`);if((l=this._gridOptions)!=null&&l.enableTreeData&&(e==null?void 0:e.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 t=a==null?void 0:a.position;t==="bottom"||(E=this._gridOptions)!=null&&E.enableTreeData?this._dataView.addItem(u):this._dataView.insertItem(0,u);let r=0;const o=(u==null?void 0:u[i])??"";return(d=this._gridOptions)!=null&&d.enableTreeData?(this.invalidateHierarchicalDataset(),r=this._dataView.getRowById(o),a.scrollRowIntoView&&this._grid.scrollRowIntoView(r??0,!1)):a.resortGrid?(this._dataView.reSort(),r=this._dataView.getRowById(o)):(r=t==="bottom"?this._dataView.getRowById(o):0,a.scrollRowIntoView&&this._grid.scrollRowIntoView(r??0)),a.highlightRow&&r!==void 0&&this.highlightRow(r),r!==void 0&&a.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(r),a.triggerEvent&&this.pubSubService.publish("onItemAdded",u),!((c=this._gridOptions)!=null&&c.backendServiceApi)&&this._gridOptions.enablePagination&&(t==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),r}addItems(u,e){var o,s,l,E;const a={...Xa,...e},i=this._gridOptions.datasetIdPropertyName||"id",t=a==null?void 0:a.position,r=[];if(Array.isArray(u))this._dataView.beginUpdate(!0),t==="bottom"||(o=this._gridOptions)!=null&&o.enableTreeData?this._dataView.addItems(u):this._dataView.insertItems(0,u),this._dataView.endUpdate();else return[this.addItem(u,a)||0];if((s=this._gridOptions)!=null&&s.enableTreeData){this.invalidateHierarchicalDataset();const d=((l=u[0])==null?void 0:l[i])??"",c=this._dataView.getRowById(d);a.scrollRowIntoView&&this._grid.scrollRowIntoView(c??0,!1)}else a.resortGrid&&this._dataView.reSort();return t&&a.scrollRowIntoView&&!((E=this._gridOptions)!=null&&E.enableTreeData)&&(t==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),u.forEach(d=>r.push(this._dataView.getRowById(d[i]))),a.highlightRow&&this.highlightRow(r),a.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(r),a.triggerEvent&&this.pubSubService.publish("onItemAdded",u),r}deleteItem(u,e){e={...$i,...e};const a=this._gridOptions.datasetIdPropertyName||"id";if(!(e!=null&&e.skipError)&&(!u||!u.hasOwnProperty(a)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${a}" property`);return this.deleteItemById(u[a],e)}deleteItems(u,e){e={...$i,...e};const a=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(u))return this.deleteItem(u,e),[u[a]];this._dataView.beginUpdate(!0);const i=[];return u.forEach(t=>{(t==null?void 0:t[a])!==void 0&&i.push(t[a])}),this._dataView.deleteItems(i),this._dataView.endUpdate(),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",u),i}deleteItemById(u,e){if(e={...$i,...e},!(e!=null&&e.skipError)&&u==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(u),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",u),u}deleteItemByIds(u,e){if(e={...$i,...e},Array.isArray(u)){this._dataView.beginUpdate(!0);for(let a=0;a{const s=!o||!o.hasOwnProperty(a)?void 0:o[a];if(t.push(s),this._dataView.getIdxById(s)!==void 0){const l=this._dataView.getRowById(s);l!==void 0&&(i.push(l),this._grid.updateRow(l))}}),this._dataView.updateItems(t,u),this._dataView.endUpdate(),(r=this._gridOptions)!=null&&r.enableTreeData&&this.invalidateHierarchicalDataset(),e.highlightRow&&this.highlightRow(i),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(i),e.triggerEvent&&this.pubSubService.publish("onItemUpdated",u),i}updateItemById(u,e,a){var t;if(a={...Tn,...a},!(a!=null&&a.skipError)&&u===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const i=this._dataView.getRowById(u);if(!(a!=null&&a.skipError)&&!e&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${u}`);return this._dataView.getIdxById(u)!==void 0&&(this._dataView.updateItem(u,e),i!==void 0&&this._grid.updateRow(i),(t=this._gridOptions)!=null&&t.enableTreeData&&this.invalidateHierarchicalDataset(),a.scrollRowIntoView&&i!==void 0&&this._grid.scrollRowIntoView(i),a.highlightRow&&i!==void 0&&this.highlightRow(i),i!==void 0&&a.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(i),a.triggerEvent&&this.pubSubService.publish("onItemUpdated",e)),i}upsertItem(u,e){e={...Xa,...e};const a=this._gridOptions.datasetIdPropertyName||"id",i=!u||!u.hasOwnProperty(a)?void 0:u[a];if(!(e!=null&&e.skipError)&&i===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${a}" property`);return this.upsertItemById(i,u,e)}upsertItems(u,e){if(e={...Xa,...e},!Array.isArray(u))return[this.upsertItem(u,e)];this._dataView.beginUpdate(!0);const a=[];u.forEach(t=>{a.push(this.upsertItem(t,{...e,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const i=a.map(t=>t.added!==void 0?t.added:t.updated);if(e.highlightRow&&this.highlightRow(i),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(i),e.triggerEvent){this.pubSubService.publish("onItemUpserted",u);const t=a.filter(o=>o.added!==void 0);Array.isArray(t)&&t.length>0&&this.pubSubService.publish("onItemAdded",t);const r=a.filter(o=>o.updated!==void 0);Array.isArray(r)&&r.length>0&&this.pubSubService.publish("onItemUpdated",r)}return a}upsertItemById(u,e,a){let i=!1;if(a={...Xa,...a},!(a!=null&&a.skipError)&&u===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 t,r;return this._dataView.getRowById(u)===void 0?(t=this.addItem(e,a),i=!0):(r=this.updateItem(e,{highlightRow:a.highlightRow,selectRow:a.selectRow,triggerEvent:a.triggerEvent}),i=!1),a.triggerEvent&&(this.pubSubService.publish("onItemUpserted",e),i?this.pubSubService.publish("onItemAdded",e):this.pubSubService.publish("onItemUpdated",e)),{added:t,updated:r}}invalidateHierarchicalDataset(u){var e;if((e=this._gridOptions)!=null&&e.enableTreeData&&this.treeDataService){const a=u??this._dataView.getItems(),i=this.sortService.getCurrentColumnSorts(),t=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(a||[],this.sharedService.allColumns,this._gridOptions,i);this.sharedService.hierarchicalDataset=t.hierarchical,this.filterService.refreshTreeDataFilters(u),this._dataView.setItems(t.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const u=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!u}}class Rh{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new Su}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(u){const e=u==null?void 0:u.getData();this._eventHandler.subscribe(u.onBeforeEditCell,(a,i)=>{if(!a||!i||!u||i.cell===void 0||!u.getColumns||!u.getDataItem)return;const t=u.getColumns()[i.cell];if(typeof t.onBeforeEditCell=="function"){const r={row:i.row,cell:i.cell,dataView:e,grid:u,columnDef:t,dataContext:u.getDataItem(i.row)};t.onBeforeEditCell(a instanceof ju?a.getNativeEvent():a,r)}})}bindOnCellChange(u){const e=u==null?void 0:u.getData();this._eventHandler.subscribe(u.onCellChange,(a,i)=>{if(!a||!i||!u||i.cell===void 0||!u.getColumns||!u.getDataItem)return;const t=u.getColumns()[i.cell];if(typeof t.onCellChange=="function"){const r={row:i.row,cell:i.cell,dataView:e,grid:u,columnDef:t,dataContext:u.getDataItem(i.row)};t.onCellChange(a instanceof ju?a.getNativeEvent():a,r)}})}bindOnClick(u){const e=u==null?void 0:u.getData();this._eventHandler.subscribe(u.onClick,(a,i)=>{if(!a||!i||!u||i.cell===void 0||!u.getColumns||!u.getDataItem)return;const t=u.getColumns()[i.cell];if(typeof t.onCellClick=="function"){const r={row:i.row,cell:i.cell,dataView:e,grid:u,columnDef:t,dataContext:u.getDataItem(i.row)};t.onCellClick(a instanceof ju?a.getNativeEvent():a,r)}})}}class Nh{constructor(u,e,a,i,t,r){this.extensionService=u,this.filterService=e,this.pubSubService=a,this.sharedService=i,this.sortService=t,this.treeDataService=r,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0,this._eventHandler=new Su}get _dataView(){var u;return((u=this._grid)==null?void 0:u.getData())??{}}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(u){this._selectedRowDataContextIds=u}init(u){this._grid=u,this.subscribeToAllGridChanges(u)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(u,e=!0,a=!1){var i,t,r,o,s,l;if(Array.isArray(u)&&u.length>0){const E=this.getAssociatedGridColumns(this._grid,u);if(E&&Array.isArray(E)&&E.length>0){if(Array.isArray(this.sharedService.allColumns)){const d=[];if(this._gridOptions.enableCheckboxSelector){const c=((t=(i=this._gridOptions)==null?void 0:i.checkboxSelector)==null?void 0:t.columnIndexPosition)??0;d.push({columnId:"_checkbox_selector",columnIndexPosition:c})}if(this._gridOptions.enableRowDetailView){const c=((o=(r=this._gridOptions)==null?void 0:r.rowDetailView)==null?void 0:o.columnIndexPosition)??0;d.push({columnId:"_detail_selector",columnIndexPosition:c})}if(this._gridOptions.enableRowMoveManager){const c=((l=(s=this._gridOptions)==null?void 0:s.rowMoveManager)==null?void 0:l.columnIndexPosition)??0;d.push({columnId:"_move",columnIndexPosition:c})}this.addColumnDynamicWhenFeatureEnabled(d,this.sharedService.allColumns,E)}E.forEach(d=>d.originalWidth=d.width||d.originalWidth),this._grid.setColumns(E),this.sharedService.visibleColumns=E,e?this._grid.autosizeColumns():(a||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var r;const{frozenColumn:u,frozenRow:e,frozenBottom:a}=this.sharedService.gridOptions,i={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:u,frozenRow:e,frozenBottom:a}},t=this.getCurrentPagination();if(t&&(i.pagination=t),this.hasRowSelectionEnabled()){const o=this.getCurrentRowSelections();o&&(i.rowSelection=o)}if((r=this._gridOptions)!=null&&r.enableTreeData){const o=this.getCurrentTreeDataToggleState();o&&(i.treeData=o)}return i}getColumns(){return this._columns}getAssociatedCurrentColumns(u){const e=[];return u&&Array.isArray(u)&&u.forEach(a=>{a!=null&&a.id&&e.push({columnId:a.id,cssClass:a.cssClass||"",headerCssClass:a.headerCssClass||"",width:a.width||0})}),e}getAssociatedGridColumns(u,e){const a=[],i=this.sharedService.allColumns||u.getColumns();return e&&Array.isArray(e)&&e.forEach(t=>{const r=i.find(o=>o.id===t.columnId);r!=null&&r.id&&a.push({...r,cssClass:t.cssClass||r.cssClass,headerCssClass:t.headerCssClass||r.headerCssClass,width:t.width})}),this._columns=a,a}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var u,e;if((u=this._gridOptions)!=null&&u.backendServiceApi){const a=this._gridOptions.backendServiceApi.service;if(a!=null&&a.getCurrentFilters)return a.getCurrentFilters()}else if((e=this.filterService)!=null&&e.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var u;if((u=this._gridOptions)!=null&&u.enablePagination)if(this._gridOptions.backendServiceApi){const e=this._gridOptions.backendServiceApi.service;if(e!=null&&e.getCurrentPagination)return e.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 u,e;if((u=this._gridOptions)!=null&&u.backendServiceApi){const a=this._gridOptions.backendServiceApi.service;if(a!=null&&a.getCurrentSorters)return a.getCurrentSorters()}else if((e=this.sortService)!=null&&e.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var u;return(u=this._gridOptions)!=null&&u.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var e;let u=!1;if((e=this._gridOptions)!=null&&e.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const a=this._gridOptions.dataView.syncGridSelection;typeof a=="boolean"?u=this._gridOptions.dataView.syncGridSelection:typeof a=="object"&&(u=a.preserveHidden||a.preserveHiddenOnSelectionChange),u&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(u=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return u}resetColumns(u){const e=u||this._columns,a=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:a,type:F0.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(u=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,u&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var u,e;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const a=(e=(u=this.extensionService)==null?void 0:u.getExtensionByName)==null?void 0:e.call(u,ou.rowSelection);a!=null&&a.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(u){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:F0.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:F0.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:F0.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:F0.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(ou.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(ou.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",u),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",u),this.bindSlickGridOnSetOptionsEventToGridStateChange(u),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(e,a)=>{const i=(this._selectedRowIndexes||[]).slice(),t=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=a.filteredIds,this._selectedRowIndexes=a.rows,!ne(this.selectedRowDataContextIds,t)||!ne(this._selectedRowIndexes,i)){const r={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:a.selectedRowIds,filteredDataContextIds:a.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:r,type:F0.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuHideColumns",e=>{const a=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:a,type:F0.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:F0.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:F0.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(u,e,a){u.sort((i,t)=>i.columnIndexPosition-t.columnIndexPosition),u.forEach(i=>{const t=e.findIndex(o=>o.id===i.columnId),r=a.findIndex(o=>o.id===i.columnId);if(t>=0&&r===-1){const o=e[t];t===0?a.unshift(o):a.splice(t,0,o)}})}bindExtensionAddonEventToGridStateChange(u,e){var t,r,o;const a=(r=(t=this.extensionService)==null?void 0:t.getExtensionByName)==null?void 0:r.call(t,u),i=(o=a==null?void 0:a.instance)==null?void 0:o[e];i&&typeof i.subscribe=="function"&&this._eventHandler.subscribe(i,(s,l)=>{const E=l==null?void 0:l.columns,d=this.getAssociatedCurrentColumns(E);this.pubSubService.publish("onGridStateChanged",{change:{newValues:d,type:F0.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(u,e){const a=e==null?void 0:e[u];a&&typeof a.subscribe=="function"&&this._eventHandler.subscribe(a,()=>{const i=e.getColumns(),t=this.getAssociatedCurrentColumns(i);this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:F0.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(u){const e=u.onSetOptions;this._eventHandler.subscribe(e,(a,i)=>{const{frozenBottom:t,frozenColumn:r,frozenRow:o}=i.optionsBefore,{frozenBottom:s,frozenColumn:l,frozenRow:E}=i.optionsAfter;if(t!==s||r!==l||o!==E){const d={frozenBottom:s,frozenColumn:l,frozenRow:E},c=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:d,type:F0.pinning},gridState:c})}})}hasRowSelectionEnabled(){const u=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!u}}class Kh{constructor(u,e){this.extensionUtility=u,this.pubSubService=e,this._subscriptions=[],this._eventHandler=new Su}get _dataView(){var u;return((u=this._grid)==null?void 0:u.getData())??{}}get eventHandler(){return this._eventHandler}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get _columnDefinitions(){var u;return((u=this._grid)==null?void 0:u.getColumns())??[]}init(u){if(this._grid=u,u&&this._gridOptions&&this._gridOptions.createPreHeaderPanel){this._gridOptions.enableTranslate&&this.translateGroupingAndColSpan(),this._eventHandler.subscribe(u.onSort,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(u.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(u.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(u.onColumnsResized,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(u.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 e=u.getPluginByName("Resizer");e!=null&&e.onGridAfterResize&&this._eventHandler.subscribe(e.onGridAfterResize,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(u.onSetOptions,(a,i)=>{var t,r;((t=i==null?void 0:i.optionsBefore)==null?void 0:t.frozenColumn)!==((r=i==null?void 0:i.optionsAfter)==null?void 0:r.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75)}}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}delayRenderPreHeaderRowGroupingTitles(u=0){setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),u)}renderPreHeaderRowGroupingTitles(){var e;const u=this._columnDefinitions.length;if(((e=this._gridOptions)==null?void 0:e.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0){const a=this._gridOptions.frozenColumn;this.renderHeaderGroups(this._grid.getPreHeaderPanelLeft(),0,a+1),this.renderHeaderGroups(this._grid.getPreHeaderPanelRight(),a+1,u)}else this.renderHeaderGroups(this._grid.getPreHeaderPanel(),0,u)}renderHeaderGroups(u,e,a){var d,c,D;Au(u),u.className="slick-header-columns",u.style.left="-1000px",u.style.width=`${this._grid.getHeadersWidth()}px`,(d=u.parentElement)==null||d.classList.add("slick-header");const i=this._grid.getHeaderColumnWidthDiff();let t,r=null,o="",s=0;const l=((c=this._gridOptions)==null?void 0:c.frozenHeaderWidthCalcDifferential)??0,E=((D=this._gridOptions)==null?void 0:D.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let m=e;m0?(s+=t.width||0,r!=null&&r.style&&(r.style.width=`${s-i-l}px`)):(s=t.width||0,r=A("div",{className:`slick-state-default slick-header-column ${E?"frozen":""}`,dataset:{group:t.columnGroup},style:{width:`${s-i}px`}}),A("span",{className:"slick-column-name",textContent:t.columnGroup||""},r),u.appendChild(r)),o=t.columnGroup||"")}translateGroupingAndColSpan(){const u=this._grid.getColumns();this.extensionUtility.translateItems(u,"columnGroupKey","columnGroup"),this._grid.setColumns(u),this.renderPreHeaderRowGroupingTitles()}}class Hh{constructor(u,e,a,i){this.pubSubService=u,this.sharedService=e,this.backendUtilities=a,this.rxjs=i,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,this._eventHandler=new Su}get dataView(){var u;return((u=this.grid)==null?void 0:u.getData())??{}}set paginationOptions(u){this._paginationOptions=u}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(u){this._totalItems=u,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(u){this.rxjs=u}init(u,e,a){var t;if(this._availablePageSizes=e.pageSizes,this.grid=u,this._backendServiceApi=a,this._paginationOptions=e,this._isLocalGrid=!a,this._pageNumber=e.pageNumber||1,this._isCursorBased=((t=a==null?void 0:a.options)==null?void 0:t.useCursor)??!1,a&&(!a.service||!a.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})}),queueMicrotask(()=>{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 i=this.getFullPagination();this._previousPagination={pageNumber:i.pageNumber,pageSize:i.pageSize,pageSizes:i.pageSizes,totalItems:this.totalItems},this._initialized=!0,Wt(e,"totalItems",r=>this._totalItems=r)}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(u,e,a=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/u),this._itemsPerPage=u,a?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToFirstPage(u,e=!0){return this._pageNumber=1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,u,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,u):Promise.resolve(this.getFullPagination())}goToLastPage(u,e=!0){return this._pageNumber=this._pageCount||1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,u,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,u):Promise.resolve(this.getFullPagination())}goToNextPage(u,e=!0){return this._pageNumberthis._pageCount?this._pageNumber=this._pageCount:this._pageNumber=u,this._pageNumber!==i?a?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(u,e=!0){return this._pageNumber>1?(this._pageNumber--,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,u,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,u):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(u=!1,e=!0,a=!1){var r,o,s;const i={...this.getFullPagination()};if(this._paginationOptions){const l=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=l.pageSize:this._itemsPerPage=+((s=(o=(r=this._backendServiceApi)==null?void 0:r.options)==null?void 0:o.paginationOptions)!=null&&s.first?this._backendServiceApi.options.paginationOptions.first:l.pageSize)),(u||this._totalItems!==l.totalItems)&&(u?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&l.pageNumber&&l.pageNumber>1&&(this._pageNumber=l.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=l.pageSizes,!this._totalItems&&l.totalItems&&(this._totalItems=l.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),e&&!ne(i,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),a&&!ne(i,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const t=this.getFullPagination();this._previousPagination={pageNumber:t.pageNumber,pageSize:t.pageSize,pageSizes:t.pageSizes,totalItems:this.totalItems}}resetPagination(u=!0){var e,a;this._isLocalGrid&&this.dataView&&((a=(e=this.sharedService)==null?void 0:e.gridOptions)!=null&&a.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,u)}togglePaginationVisibility(u){var e;if(this.grid&&((e=this.sharedService)!=null&&e.gridOptions)){const a=u!==void 0?u:!this.sharedService.gridOptions.enablePagination;if(a&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const i=u?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:i,pageNum:0})}this.sharedService.gridOptions.enablePagination=a,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:a})}}processOnPageChanged(u,e,a){return console.assert(!this.isCursorBased||a,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((i,t)=>{var r,o,s;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:u-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),i(this.getFullPagination());else{const l=+this._itemsPerPage,E=new Date;if((r=this._backendServiceApi)!=null&&r.preProcess&&this._backendServiceApi.preProcess(),(o=this._backendServiceApi)!=null&&o.process){const d=this.isCursorBased&&a?this._backendServiceApi.service.processOnPaginationChanged(e,a):this._backendServiceApi.service.processOnPaginationChanged(e,{newPage:u,pageSize:l}),c=this._backendServiceApi.process(d);c instanceof Promise?c.then(D=>{var h;(h=this.backendUtilities)==null||h.executeBackendProcessesCallback(E,D,this._backendServiceApi,this._totalItems);const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},i(this.getFullPagination())}).catch(D=>{var m,h,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(D,this._backendServiceApi),(!((h=this._backendServiceApi)!=null&&h.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&t(c)}):(s=this.rxjs)!=null&&s.isObservable(c)&&this._subscriptions.push(c.subscribe(D=>{var h;const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},i((h=this.backendUtilities)==null?void 0:h.executeBackendProcessesCallback(E,D,this._backendServiceApi,this._totalItems))},D=>{var m,h,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(D,this._backendServiceApi),(!((h=this._backendServiceApi)!=null&&h.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&t(c)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){((this._pageNumber-1)*this._itemsPerPage>this._totalItems||this._totalItems>0&&this._pageNumber===0)&&(this._pageNumber=1),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._totalItemsthis._totalItems&&(this._dataTo=this._totalItems)),this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItemsthis.resizeColumnsByCellContent(!0))),this.gridOptions.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",l=>{this.handleSingleColumnResizeByContent(l.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(l,E)=>{this.handleSingleColumnResizeByContent(E.triggeredByColumn)}))}bindAutoResizeDataGrid(u){var e;if(((e=this.gridOptions.autoResize)==null?void 0:e.resizeDetection)==="container"){if(!this._pageContainerElm||!this._pageContainerElm)throw new Error(` [Slickgrid-Universal] Resizer Service requires a container when gridOption.autoResize.resizeDetection="container" You can fix this by setting your gridOption.autoResize.container`);this._resizeObserver||(this._resizeObserver=new ResizeObserver(()=>this.resizeObserverCallback())),this._resizeObserver.observe(this._pageContainerElm)}else{if(this._gridDomElm===void 0||Ou(this._gridDomElm)===void 0)return null;this.resizeGrid().then(()=>this.resizeGridWhenStylingIsBrokenUntilCorrected()).catch(a=>console.log("Error:",a)),this.resizeGrid(10,u),this._bindingEventService.bind(window,"resize",this.handleResizeGrid.bind(this,u))}}handleResizeGrid(u){this.pubSubService.publish("onGridBeforeResize"),this._resizePaused||(this.resizeGrid(0,u),this.resizeGrid(0,u))}resizeObserverCallback(){this._resizePaused||this.resizeGrid()}calculateGridNewDimensions(u){var h,g;const e=(u==null?void 0:u.autoResize)??{},a=Ou(this._gridDomElm);if(!window||a===void 0)return null;let i=(e==null?void 0:e.bottomPadding)!==void 0?e.bottomPadding:Oh;if(i&&u.enablePagination&&(i+=Gh),i&&u.showCustomFooter){const x=((g=(h=this.gridOptions)==null?void 0:h.customFooterOptions)==null?void 0:g.footerHeight)??Ih;i+=parseInt(`${x}`,10)}let t=0,r=0;e.calculateAvailableSizeBy==="container"?t=pt(this._pageContainerElm,"height")||0:(t=window.innerHeight||0,r=(a==null?void 0:a.top)??0);const o=t-r-i,s=pt(this._pageContainerElm,"width")||window.innerWidth||0,l=e==null?void 0:e.maxHeight,E=(e==null?void 0:e.minHeight)??Vh,d=e==null?void 0:e.maxWidth,c=(e==null?void 0:e.minWidth)??$h;let D=o,m=e!=null&&e.rightPadding?s-e.rightPadding:s;return Dl&&(D=l),md&&(m=d),{height:this._fixedHeight||D,width:this._fixedWidth||m}}getLastResizeDimensions(){return this._lastDimensions}pauseResizer(u){this._resizePaused=u}resizeGrid(u,e){return new Promise(a=>{u=u||0,u>0?(clearTimeout(this._timer),this._timer=setTimeout(()=>a(this.resizeGridCallback(e)),u)):a(this.resizeGridCallback(e))})}resizeGridCallback(u){var a,i;const e=this.resizeGridWithDimensions(u);return this.pubSubService.publish("onGridAfterResize",e),this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((a=this._lastDimensions)!=null&&a.width)||(e==null?void 0:e.width)!==((i=this._lastDimensions)==null?void 0:i.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions=e,e}resizeGridWithDimensions(u){var a,i,t,r;const e=this.calculateGridNewDimensions(this.gridOptions);if((u||e)&&this._gridDomElm){const o=u!=null&&u.height?u.height:e==null?void 0:e.height,s=u!=null&&u.width?u.width:e==null?void 0:e.width;this.gridOptions.autoHeight||(this._gridDomElm.style.height=`${o}px`),this._gridDomElm.style.width=`${s}px`,this._gridContainerElm&&(this._gridContainerElm.style.width=`${s}px`),(a=this._grid)!=null&&a.resizeCanvas&&this._gridContainerElm&&this._grid.resizeCanvas(),this._grid&&((i=this.gridOptions)!=null&&i.enableAutoSizeColumns)?this.gridUid&&document.querySelector(this.gridUidSelector)&&(!this._lastDimensions||this._lastDimensions.height!==o||this._lastDimensions.width!==s)&&this._grid.autosizeColumns():this.gridOptions.enableAutoResizeColumnsByCellContent&&(!((t=this._lastDimensions)!=null&&t.width)||s!==((r=this._lastDimensions)==null?void 0:r.width))&&this.resizeColumnsByCellContent(!1),this._lastDimensions={height:o||0,width:s||0}}return this._lastDimensions}requestStopOfAutoFixResizeGrid(u=!0){this._isStopResizeIntervalRequested=u}resizeColumnsByCellContent(u=!1){var l,E;const e=this._grid.getColumns(),a=this.dataView.getItems(),i={};let t=!1,r=0;const o=((l=this._gridContainerElm)==null?void 0:l.offsetWidth)??0;if(!Array.isArray(a)||a.length===0||!u&&this._totalColumnsWidthByContent>0&&this._totalColumnsWidthByContento?this._grid.reRenderColumns(t):this._grid.autosizeColumns(),this.pubSubService.publish("onAfterResizeByContent",{readItemCount:r,calculateColumnWidths:s})}calculateCellWidthByReadingDataset(u,e,a=1e3,i){const t=Array.isArray(u)?u:[u],r=this.dataView.getItems();let o=0;for(const[s,l]of r.entries()){if(s>a)break;Array.isArray(t)&&typeof e=="object"&&t.forEach((E,d)=>{const c=this.calculateCellWidthByContent(l,E,s,i??d,e[E.id]);c!==void 0&&(e[E.id]=c)}),o=s+1}return o}calculateCellWidthByContent(u,e,a,i,t){const r=this.resizeByContentOptions.cellCharWidthInPx??7;if(!e.originalWidth){const o=(e==null?void 0:e.resizeCharWidthInPx)??r,s=un(e==null?void 0:e.formatter,a,i,e,u,this._grid),l=ca(s)?Vu(s):"",E=Math.ceil(l.length*o),d=e.resizeMaxWidthThreshold;e&&(t===void 0||E>t)&&(t=d!==void 0&&E>d?d:e.maxWidth!==void 0&&E>e.maxWidth?e.maxWidth:E)}return t}applyNewCalculatedColumnWidthByReference(u,e){var s;const a=this.resizeByContentOptions.cellPaddingWidthInPx??6,i=this.resizeByContentOptions.formatterPaddingWidthInPx??6,t=((s=u==null?void 0:u.filter)==null?void 0:s.type)??(u==null?void 0:u.type)??C.string;let r=e;const o=(u==null?void 0:u.resizeCalcWidthRatio)??this.resizeByContentOptions.defaultRatioForStringType??.9;r*=t==="string"?o:1,r+=a,u.resizeExtraWidthPadding&&(r+=u.resizeExtraWidthPadding),u.editor&&this.gridOptions.editable&&(r+=i),u.maxWidth!==void 0&&r>u.maxWidth&&(r=u.maxWidth),u.resizeMaxWidthThreshold!==void 0&&r>u.resizeMaxWidthThreshold&&(r=u.resizeMaxWidthThreshold),r=Math.ceil(r),(u.originalWidth===void 0||u.resizeAlwaysRecalculateWidth===!0||this.resizeByContentOptions.alwaysRecalculateColumnWidth===!0)&&(u.width=this.readjustNewColumnWidthWhenOverLimit(u,r))}handleSingleColumnResizeByContent(u){const e=this._grid.getColumns(),a=e.findIndex(i=>i.id===u);if(a>=0){const i=e[a],t={[u]:i.originalWidth??i.minWidth??0};i.originalWidth=void 0,this.calculateCellWidthByReadingDataset(i,t,this.resizeByContentOptions.maxItemToInspectSingleColumnWidthByContent,a),this.applyNewCalculatedColumnWidthByReference(i,t[u]),this._grid.reRenderColumns((i==null?void 0:i.rerenderOnResize)??!1)}}readjustNewColumnWidthWhenOverLimit(u,e){var r,o;const a=this.gridOptions.frozenColumn??-1,i=this._grid.getColumns().findIndex(s=>s.id===u.id)??0;let t=e;if(a>=0&&i<=a){const s=Array.from(this._grid.getViewports());if(s){const l=((r=s.find(m=>m.classList.contains("slick-viewport-left")))==null?void 0:r.clientWidth)??0,E=((o=s.find(m=>m.classList.contains("slick-viewport-right")))==null?void 0:o.clientWidth)??0,d=l+E,c=l-(u.width??0);if(c+e>d){const m=this.resizeByContentOptions.widthToRemoveFromExceededWidthReadjustment??50;t=l-c+E-m}}}return Math.ceil(t)}checkIsGridShown(){var u;return!!(((u=document.querySelector(`${this.gridUidSelector}`))==null?void 0:u.offsetParent)??!1)}resizeGridWhenStylingIsBrokenUntilCorrected(){var o,s;const u=((o=this.gridOptions)==null?void 0:o.autoFixResizeTimeout)??18e3,e=((s=this.gridOptions)==null?void 0:s.autoFixResizeRequiredGoodCount)??5,a=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-header`),i=this._gridContainerElm.querySelector(`${this.gridUidSelector} .slick-viewport`);let t=0,r=0;if(a&&i&&this.gridOptions.autoFixResizeWhenBrokenStyleDetected){const l=this.dataView.getItemCount(),E=this._grid.getColumns()||[];this._intervalId=setInterval(async()=>{var F,v,b;const c=Ou(a);let D=(c==null?void 0:c.top)??0;(F=this.gridOptions)!=null&&F.enableFiltering&&this.gridOptions.headerRowHeight&&(D+=this.gridOptions.headerRowHeight),(v=this.gridOptions)!=null&&v.createPreHeaderPanel&&this.gridOptions.showPreHeaderPanel&&this.gridOptions.preHeaderPanelHeight&&(D+=this.gridOptions.preHeaderPanelHeight),D+=44;const m=Ou(i),h=(m==null?void 0:m.top)??0,g=Ou(this._gridContainerElm);let x=(c==null?void 0:c.top)===0||D-h>2||(g==null?void 0:g.left)===0&&(g==null?void 0:g.top)===0;const p=((b=this._grid.getRenderedRange())==null?void 0:b.rightPx)??0;!x&&l>0&&p===0&&E.length>1&&(x=!0),this._isStopResizeIntervalRequested&&(x=!1,t=u),this.checkIsGridShown()&&(x||(g==null?void 0:g.left)===0||(g==null?void 0:g.top)===0)&&(await this.resizeGrid(),r<5&&this._grid.updateColumns(),this.checkIsGridShown()&&(x=!1)),this.checkIsGridShown()&&r++,this.checkIsGridShown()&&!x&&(r>=e||t++>=u)&&clearInterval(this._intervalId)},this.intervalRetryDelay)}}}class Uh{constructor(){this._hasColumnsReordered=!1,this._hideHeaderRowAfterPageLoad=!1}get allColumns(){return this._allColumns}set allColumns(u){this._allColumns=u}get columnDefinitions(){var u;return((u=this._grid)==null?void 0:u.getColumns())??[]}get currentPagination(){return this._currentPagination}set currentPagination(u){this._currentPagination=u}get dataView(){return this._dataView}set dataView(u){this._dataView=u}get frozenVisibleColumnId(){return this._frozenVisibleColumnId}set frozenVisibleColumnId(u){this._frozenVisibleColumnId=u}get hasColumnsReordered(){return this._hasColumnsReordered}set hasColumnsReordered(u){this._hasColumnsReordered=u}get slickGrid(){return this._grid}set slickGrid(u){this._grid=u}get gridContainerElement(){return this._gridContainerElm}set gridContainerElement(u){this._gridContainerElm=u}get gridOptions(){var u;return this._gridOptions||((u=this._grid)==null?void 0:u.getOptions())||{}}set gridOptions(u){this._gridOptions=u}get groupItemMetadataProvider(){return this._groupItemMetadataProvider}set groupItemMetadataProvider(u){this._groupItemMetadataProvider=u}get hideHeaderRowAfterPageLoad(){return this._hideHeaderRowAfterPageLoad}set hideHeaderRowAfterPageLoad(u){this._hideHeaderRowAfterPageLoad=u}get externalRegisteredResources(){return this._externalRegisteredResources}set externalRegisteredResources(u){this._externalRegisteredResources=u}get visibleColumns(){return this._visibleColumns}set visibleColumns(u){this._visibleColumns=u}get hierarchicalDataset(){return this._hierarchicalDataset}set hierarchicalDataset(u){this._hierarchicalDataset=u}}class qh{constructor(u,e,a,i){this.sharedService=u,this.pubSubService=e,this.backendUtilities=a,this.rxjs=i,this._currentLocalSorters=[],this._isBackendGrid=!1,this._eventHandler=new Su,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get _columnDefinitions(){var u;return((u=this._grid)==null?void 0:u.getColumns())??[]}dispose(){var u,e;(u=this._eventHandler)!=null&&u.unsubscribeAll&&this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((e=this.rxjs)!=null&&e.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete())}addRxJsResource(u){this.rxjs=u}bindBackendOnSort(u){this._isBackendGrid=!0,this._grid=u,this._dataView=u==null?void 0:u.getData(),this._eventHandler.subscribe(u.onSort,this.onBackendSortChanged.bind(this))}bindLocalOnSort(u){this._isBackendGrid=!1,this._grid=u,this._dataView=u==null?void 0:u.getData(),this.processTreeDataInitialSort(),this._eventHandler.subscribe(u.onSort,this.handleLocalOnSort.bind(this))}handleLocalOnSort(u,e){var i;const a=e.multiColumnSort?e.sortCols:new Array({columnId:((i=e.sortCol)==null?void 0:i.id)??"",sortAsc:e.sortAsc,sortCol:e.sortCol});this._currentLocalSorters=[],Array.isArray(a)&&a.forEach(t=>{t.sortCol&&this._currentLocalSorters.push({columnId:t.sortCol.id,direction:t.sortAsc?a0.ASC:a0.DESC})}),this.onLocalSortChanged(this._grid,a),this.emitSortChanged(Ku.local)}clearSortByColumnId(u,e){var t;const a=this.getCurrentColumnSorts(),i=this.getCurrentColumnSorts(`${e}`);if(Array.isArray(a)&&Array.isArray(i)&&a.length!==i.length){if(this._gridOptions.backendServiceApi)this.onBackendSortChanged(u,{multiColumnSort:!0,sortCols:i,grid:this._grid});else if(this._dataView)this.onLocalSortChanged(this._grid,i,!0,!0);else{const s=((t=this._gridOptions)==null?void 0:t.multiColumnSort)??!1?i:i[0];this._grid.onSort.notify(s)}const r=i.map(o=>{var s;return{columnId:((s=o==null?void 0:o.sortCol)==null?void 0:s.id)??"",sortAsc:o==null?void 0:o.sortAsc,sortCol:o==null?void 0:o.sortCol}});this._grid.setSortColumns(r)}Array.isArray(i)&&i.length===0&&this.sortLocalGridByDefaultSortFieldId()}clearSorting(u=!0){var e,a;if(this._grid&&this._gridOptions&&this._dataView){if(this._grid.setSortColumns([]),u)this._isBackendGrid?this.onBackendSortChanged(void 0,{grid:this._grid,multiColumnSort:!0,sortCols:[],clearSortTriggered:!0}):this._columnDefinitions&&Array.isArray(this._columnDefinitions)&&this._columnDefinitions.length>0&&this.sortLocalGridByDefaultSortFieldId();else if(this._isBackendGrid){const i=(a=(e=this._gridOptions)==null?void 0:e.backendServiceApi)==null?void 0:a.service;i!=null&&i.clearSorters&&i.clearSorters()}}this._currentLocalSorters=[],this.pubSubService.publish("onSortCleared",!0)}disableSortFunctionality(u=!0,e=!0){const i=!this._gridOptions.enableSorting;this._gridOptions.enableSorting=i;let t;u?(e&&this.clearSorting(),this._eventHandler.unsubscribeAll(),t=this.disableAllSortingCommands(!0)):(t=this.disableAllSortingCommands(!1),this._eventHandler.subscribe(this._grid.onSort,(r,o)=>this.handleLocalOnSort(r,o))),this._grid.setOptions({enableSorting:this._gridOptions.enableSorting},!1,!0),this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(t)}toggleSortFunctionality(u=!0){const e=this._gridOptions.enableSorting;this.disableSortFunctionality(e,u)}emitSortChanged(u,e){var a;if(u===Ku.remote&&((a=this._gridOptions)!=null&&a.backendServiceApi)){let i=[];const t=this._gridOptions.backendServiceApi.service;t!=null&&t.getCurrentSorters&&(i=t.getCurrentSorters()),this.pubSubService.publish("onSortChanged",i)}else u===Ku.local&&(e&&(this._currentLocalSorters=e),this.pubSubService.publish("onSortChanged",this.getCurrentLocalSorters()))}getCurrentLocalSorters(){return this._currentLocalSorters}getCurrentColumnSorts(u){if(this._grid){const e=this._grid.getSortColumns();if(Array.isArray(e))return e.reduce((i,t)=>(t&&(!u||t.columnId!==u)&&i.push({columnId:t.columnId||"",sortCol:this._columnDefinitions[this._grid.getColumnIndex(t.columnId||"")],sortAsc:t.sortAsc}),i),[])}return[]}loadGridSorters(u){this._currentLocalSorters=[];const e=[];return Array.isArray(u)&&((this._gridOptions.multiColumnSort?u:u.slice(0,1)).forEach(i=>{const t=this._columnDefinitions.find(r=>r.id===i.columnId);if(t){if(!t.sortable){let r="[Slickgrid-Universal] Cannot add sort icon to a column that is not sortable, please add `sortable: true` to your column or remove it from your list of columns to sort.";throw this._gridOptions.enableTreeData&&(r+=" Also note that TreeData feature requires the column holding the tree (expand/collapse icons) to be sortable."),new Error(r)}e.push({columnId:t.id,sortAsc:i.direction.toUpperCase()===a0.ASC,sortCol:t}),this._currentLocalSorters.push({columnId:String(t.id),direction:i.direction.toUpperCase()})}}),this.onLocalSortChanged(this._grid,e),this._grid.setSortColumns(e.map(i=>({columnId:i.columnId,sortAsc:i.sortAsc})))),e}processTreeDataInitialSort(){var u,e,a;if((u=this._gridOptions)!=null&&u.enableTreeData&&this._gridOptions.treeDataOptions){const i=this._gridOptions.treeDataOptions,t=this._columnDefinitions.find(r=>r.id===i.columnId);if(t){let r=a0.ASC,o={columnId:i.columnId,sortCol:t,sortAsc:!0};if((e=i==null?void 0:i.initialSort)!=null&&e.columnId){const s=i.initialSort.columnId,l=this._columnDefinitions.find(E=>E.id===s);r=(i.initialSort.direction||a0.ASC).toUpperCase(),o={columnId:s,sortCol:l,sortAsc:r===a0.ASC}}o!=null&&o.columnId&&((a=this.sharedService)!=null&&a.hierarchicalDataset)&&this.updateSorting([{columnId:o.columnId||"",direction:r}])}}}onBackendSortChanged(u,e){var s,l,E;if(!e||!e.grid)throw new Error('Something went wrong when trying to bind the "onBackendSortChanged(event, args)" function, it seems that "args" is not populated correctly');const a=((s=e.grid)==null?void 0:s.getOptions())??{},i=a.backendServiceApi;if(!i||!i.process||!i.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const t=new Date;i.preProcess&&i.preProcess();const r=i.service.processOnSortChanged(u,e),o=((l=a==null?void 0:a.pagination)==null?void 0:l.totalItems)||0;(E=this.backendUtilities)==null||E.executeBackendCallback(i,r,e,t,o,{emitActionChangedCallback:this.emitSortChanged.bind(this),errorCallback:()=>{var c,D,m;this._grid.setSortColumns(e.previousSortColumns||[]);const d=(c=e.previousSortColumns)==null?void 0:c.map(h=>({columnId:h.columnId,sortAsc:h.sortAsc,sortCol:this._columnDefinitions.find(g=>g.id===h.columnId)}));(m=(D=i==null?void 0:i.service)==null?void 0:D.updateSorters)==null||m.call(D,d||[])},httpCancelRequestSubject:this.httpCancelRequests$})}async onLocalSortChanged(u,e,a=!1,i=!1){var s,l;const t=((s=this._gridOptions)==null?void 0:s.datasetIdPropertyName)??"id",r=((l=this._gridOptions)==null?void 0:l.enableTreeData)??!1,o=u.getData();if(await this.pubSubService.publish("onBeforeSortChange",{sortColumns:e},0),u&&o){if(a&&!r&&o.reSort(),r&&this.sharedService&&Array.isArray(this.sharedService.hierarchicalDataset)){const E=this.sortHierarchicalDataset(this.sharedService.hierarchicalDataset,e);this._dataView.setItems(E.flat,t),this._dataView.onRowCountChanged.notify({previous:this._dataView.getFilteredItemCount(),current:this._dataView.getLength(),itemCount:this._dataView.getItemCount(),dataView:this._dataView,callingOnRowsChanged:!0})}else o.sort(this.sortComparers.bind(this,e));u.invalidate(),i&&this.emitSortChanged(Ku.local,e.map(E=>{var d;return{columnId:((d=E.sortCol)==null?void 0:d.id)??"id",direction:E.sortAsc?a0.ASC:a0.DESC}}))}}sortHierarchicalDataset(u,e,a=!1){var s,l,E;this.sortTreeData(u,e);const i=((s=this._gridOptions)==null?void 0:s.datasetIdPropertyName)??"id",t=((l=this._gridOptions)==null?void 0:l.treeDataOptions)??{columnId:""},r={...t,identifierPropName:t.identifierPropName??i,shouldAddTreeLevelNumber:!0},o=Hl(u,r);if(a){this._currentLocalSorters=[],e.forEach(c=>{this._currentLocalSorters.push({columnId:c.columnId,direction:c.sortAsc?"ASC":"DESC"})});const d=(E=this._gridOptions)!=null&&E.backendServiceApi?Ku.remote:Ku.local;this.emitSortChanged(d)}return{hierarchical:u,flat:o}}sortLocalGridByDefaultSortFieldId(){const u=this._gridOptions&&this._gridOptions.defaultColumnSortFieldId||this._gridOptions.datasetIdPropertyName||"id",e={id:u,field:u};this.onLocalSortChanged(this._grid,new Array({columnId:e.id,sortAsc:!0,sortCol:e,clearSortTriggered:!0}),!1,!0)}sortComparers(u,e,a){if(Array.isArray(u))for(const i of u){const t=this.sortComparer(i,e,a);if(t!==void 0)return t}return Pu.neutral}sortComparer(u,e,a,i){if(u!=null&&u.sortCol){const t=u.sortCol,r=u.sortAsc?Pu.asc:Pu.desc;let o=i||t.queryFieldSorter||t.queryField||t.field,s=o;const l=t.type||C.string;typeof t.queryFieldNameGetterFn=="function"&&(o=t.queryFieldNameGetterFn(e),s=t.queryFieldNameGetterFn(a));let E=e[o],d=a[s];if((o==null?void 0:o.indexOf("."))>=0&&(E=Qu(e,o)),(s==null?void 0:s.indexOf("."))>=0&&(d=Qu(a,s)),t.sortComparer){const c=t.sortComparer(E,d,r,t,this._gridOptions);if(c!==Pu.neutral)return c}else{const c=Ta(l,E,d,r,t,this._gridOptions);if(c!==Pu.neutral)return c}}}sortTreeData(u,e){Array.isArray(e)&&e.forEach(a=>{this.sortTreeChildren(u,a,0)})}sortTreeChildren(u,e,a){var r;const i=(r=this._gridOptions)==null?void 0:r.treeDataOptions,t=(i==null?void 0:i.childrenPropName)??"children";u.sort((o,s)=>this.sortComparer(e,o,s)??Pu.neutral),u.forEach(o=>{o&&o.hasOwnProperty(t)&&Array.isArray(o[t])&&(a++,this.sortTreeChildren(o[t],e,a),a--)})}updateSorting(u,e=!0,a=!0){var i,t;if(!this._gridOptions||!this._gridOptions.enableSorting)throw new Error('[Slickgrid-Universal] in order to use "updateSorting" method, you need to have Sortable Columns defined in your grid and "enableSorting" set in your Grid Options');if(Array.isArray(u)){const r=(i=this._gridOptions)==null?void 0:i.backendServiceApi;if(r){const o=r==null?void 0:r.service;o!=null&&o.updateSorters&&(o.updateSorters(void 0,u),a&&((t=this.backendUtilities)==null||t.refreshBackendDataset(this._gridOptions)))}else this.loadGridSorters(u);if(e){const o=r?Ku.remote:Ku.local;this.emitSortChanged(o)}}}disableAllSortingCommands(u=!0){var i,t;const e=this._grid.getColumns();e.forEach(r=>{var o,s;r.sortable!==void 0&&(r.sortable=!u),(o=r==null?void 0:r.header)!=null&&o.menu&&((s=r.header.menu.commandItems)==null||s.forEach(l=>{if(l&&typeof l!="string"){const E=l.command;(E==="sort-asc"||E==="sort-desc"||E==="clear-sort")&&(l.hidden=u)}}))});const a=(t=(i=this._gridOptions)==null?void 0:i.gridMenu)==null?void 0:t.commandItems;return a&&a.forEach(r=>{r&&typeof r!="string"&&r.command==="clear-sorting"&&(r.hidden=u)}),e}}class Zh{constructor(u,e,a){this.pubSubService=u,this.sharedService=e,this.sortService=a,this._currentToggledItems=[],this._isLastFullToggleCollapsed=!1,this._isOneCpuCyclePassed=!1,this._isTreeDataEnabled=!1,this._subscriptions=[],this._treeDataRecalcHandler=null,this._eventHandler=new Su,setTimeout(()=>this._isOneCpuCyclePassed=!0)}set currentToggledItems(u){this._currentToggledItems=u}get dataset(){var u;return(u=this.dataView)==null?void 0:u.getItems()}get datasetHierarchical(){return this.sharedService.hierarchicalDataset}get dataView(){var u;return(u=this._grid)==null?void 0:u.getData()}get eventHandler(){return this._eventHandler}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}get treeDataOptions(){return this.gridOptions.treeDataOptions}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}init(u){var e,a,i,t,r,o,s,l;if(this._grid=u,this._isTreeDataEnabled=((e=this.gridOptions)==null?void 0:e.enableTreeData)??!1,this._isLastFullToggleCollapsed=((a=this.treeDataOptions)==null?void 0:a.initiallyCollapsed)??!1,this._currentToggledItems=((t=(i=this.gridOptions.presets)==null?void 0:i.treeData)==null?void 0:t.toggledItems)??[],this._lastToggleStateChange={type:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this._isTreeDataEnabled){if((r=this.gridOptions)!=null&&r.multiColumnSort)throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data with multi-column sorting, unfortunately it is not supported because of its complexity, you can disable it via "multiColumnSort: false" grid option and/or help in providing support for this feature.');if(!((o=this.gridOptions)!=null&&o.enableFiltering))throw new Error('[Slickgrid-Universal] It looks like you are trying to use Tree Data without using the filtering option, unfortunately that is not possible with Tree Data since it relies heavily on the filters to expand/collapse the tree. You need to enable it via "enableFiltering: true"');if((s=this.gridOptions)!=null&&s.backendServiceApi||(l=this.gridOptions)!=null&&l.enablePagination)throw new Error("[Slickgrid-Universal] It looks like you are trying to use Tree Data with Pagination and/or a Backend Service (OData, GraphQL) but unfortunately that is simply not supported because of its complexity.");if(!this.gridOptions.treeDataOptions||!this.gridOptions.treeDataOptions.columnId)throw new Error('[Slickgrid-Universal] When enabling tree data, you must also provide the "treeDataOption" property in your Grid Options with "childrenPropName" or "parentPropName" (depending if your array is hierarchical or flat) for the Tree Data to work properly.')}this._eventHandler.subscribe(u.onClick,this.handleOnCellClick.bind(this)),this._subscriptions.push(this.pubSubService.subscribe("onGridMenuClearAllSorting",this.clearSorting.bind(this))),this._treeDataRecalcHandler=this.setAutoRecalcTotalsCallbackWhenFeatEnabled(this.gridOptions),this._eventHandler.subscribe(this.dataView.onRowCountChanged,()=>{var E;typeof this._treeDataRecalcHandler=="function"&&this._isOneCpuCyclePassed&&(clearTimeout(this._timer),this._timer=setTimeout(()=>{var d;return(d=this._treeDataRecalcHandler)==null?void 0:d.call(this)},((E=this.treeDataOptions)==null?void 0:E.autoRecalcTotalsDebounce)??0))})}applyToggledItemStateChanges(u,e,a=!0,i=!1){if(Array.isArray(u)){const t=this.getTreeDataOptionPropName("collapsedPropName"),r=this.getTreeDataOptionPropName("hasChildrenPropName");this.dataView.beginUpdate(!0);const s=(e??this._lastToggleStateChange.previousFullToggleType)==="full-collapse";e&&(this._lastToggleStateChange.previousFullToggleType=e),a&&(this.dataView.getItems()||[]).forEach(l=>{l[r]&&(l[t]=s)}),this.dynamicallyToggleItemState(u,i)}}dynamicallyToggleItemState(u,e=!0){Array.isArray(u)&&(this.dataView.beginUpdate(!0),u.forEach(a=>{const i=this.dataView.getItemById(a.itemId);if(this.updateToggledItem(i,a.isCollapsed),e){const t=this._currentToggledItems.findIndex(r=>r.itemId===a.itemId);t>=0?this._currentToggledItems[t].isCollapsed=a.isCollapsed:this._currentToggledItems.push({itemId:a.itemId,isCollapsed:a.isCollapsed}),this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:a.itemId,toggledItems:this._currentToggledItems,type:a.isCollapsed?ke.toggleCollapse:ke.toggleExpand})}}),this.dataView.endUpdate(),this.dataView.refresh())}getCurrentToggleState(){return this._lastToggleStateChange}getInitialSort(u,e){var r;const a=e==null?void 0:e.treeDataOptions,i=(a==null?void 0:a.initialSort)??{columnId:(a==null?void 0:a.columnId)??"",direction:"ASC"},t=u.find(o=>o.id===i.columnId);return{columnId:i.columnId,sortAsc:((r=i==null?void 0:i.direction)==null?void 0:r.toUpperCase())!=="DESC",sortCol:t}}getItemCount(u){if(u!==void 0){const e=this.getTreeDataOptionPropName("levelPropName");return this.dataView.getItems().filter(a=>a[e]===u).length}return this.dataView.getItemCount()}getToggledItems(){return this._currentToggledItems}getTreeDataOptionPropName(u){var a,i,t,r,o,s,l;let e="";switch(u){case"childrenPropName":e=((a=this.treeDataOptions)==null?void 0:a.childrenPropName)??_.treeDataProperties.CHILDREN_PROP;break;case"collapsedPropName":e=((i=this.treeDataOptions)==null?void 0:i.collapsedPropName)??_.treeDataProperties.COLLAPSED_PROP;break;case"hasChildrenPropName":e=((t=this.treeDataOptions)==null?void 0:t.hasChildrenPropName)??_.treeDataProperties.HAS_CHILDREN_PROP;break;case"identifierPropName":e=((r=this.treeDataOptions)==null?void 0:r.identifierPropName)??((o=this.gridOptions)==null?void 0:o.datasetIdPropertyName)??"id";break;case"levelPropName":e=((s=this.treeDataOptions)==null?void 0:s.levelPropName)??_.treeDataProperties.TREE_LEVEL_PROP;break;case"parentPropName":e=((l=this.treeDataOptions)==null?void 0:l.parentPropName)??_.treeDataProperties.PARENT_PROP;break}return e}clearSorting(){const u=this.getInitialSort(this.sharedService.columnDefinitions,this.sharedService.gridOptions);this.sortService.loadGridSorters([{columnId:u.columnId,direction:u.sortAsc?"ASC":"DESC"}])}convertFlatParentChildToTreeDatasetAndSort(u,e,a,i){var s;const t=this.convertFlatParentChildToTreeDataset(u,a),r=Array.isArray(i)&&i.length?i[0]:this.getInitialSort(e,a),o=this.sortService.sortHierarchicalDataset(t,[r],!0);return(s=this._grid)==null||s.setSortColumns([r]),o}convertFlatParentChildToTreeDataset(u,e){const a=(e==null?void 0:e.datasetIdPropertyName)??"id",i=(e==null?void 0:e.treeDataOptions)??{columnId:"id"},t={...i,identifierPropName:i.identifierPropName??a,initiallyCollapsed:this._isLastFullToggleCollapsed};return Ol(u,t)}enableAutoRecalcTotalsFeature(u=!0){u&&this._isTreeDataEnabled?this._treeDataRecalcHandler=this.recalculateTreeTotals.bind(this,this.gridOptions):this._treeDataRecalcHandler=null}recalculateTreeTotals(u){const e=u.treeDataOptions,a=(e==null?void 0:e.childrenPropName)??_.treeDataProperties.CHILDREN_PROP,i=(e==null?void 0:e.levelPropName)??_.treeDataProperties.TREE_LEVEL_PROP;e!=null&&e.aggregators&&(e.aggregators.forEach(t=>{yi(this.sharedService.hierarchicalDataset||[],{childrenPropName:a,levelPropName:i,aggregator:t})}),this._grid.invalidate())}sortHierarchicalDataset(u,e){const a=e??this.getInitialSort(this.sharedService.allColumns,this.gridOptions),i=Array.isArray(a)?a:[a];return this.sortService.sortHierarchicalDataset(u,i)}async toggleTreeDataCollapse(u,e=!0){var i;if((i=this.gridOptions)!=null&&i.enableTreeData){const t=this.getTreeDataOptionPropName("hasChildrenPropName");e&&await this.pubSubService.publish("onTreeFullToggleStart",{collapsing:u}),this.dataView.beginUpdate(!0),(this.dataView.getItems()||[]).forEach(r=>{r[t]&&this.updateToggledItem(r,u)}),this.dataView.endUpdate(),this.dataView.refresh(),this._isLastFullToggleCollapsed=u}const a=u?ke.fullCollapse:ke.fullExpand;this._lastToggleStateChange={type:a,previousFullToggleType:a,toggledItems:null},e&&this.pubSubService.publish("onTreeFullToggleEnd",this._lastToggleStateChange)}handleOnCellClick(u,e){if(u&&e){const a=u.target||{},i=this.gridOptions.datasetIdPropertyName??"id",t=this.getTreeDataOptionPropName("collapsedPropName"),r=this.getTreeDataOptionPropName("childrenPropName");if(typeof(a==null?void 0:a.className)=="string"&&(a.className.indexOf("toggle")>=0||!1)){const s=this.dataView.getItem(e.row);if(s){s[t]=!s[t];const l=s[t],E=s[i],d=this._currentToggledItems.findIndex(m=>m.itemId===E);d>=0?this._currentToggledItems[d].isCollapsed=l:this._currentToggledItems.push({itemId:E,isCollapsed:l}),this.dataView.updateItem(E,s);const c=m=>m[i]===E,D=$e(this.sharedService.hierarchicalDataset||[],c,r);D&&(D[t]=l),this._grid.invalidate(),this._lastToggleStateChange={type:l?ke.toggleCollapse:ke.toggleExpand,previousFullToggleType:this._isLastFullToggleCollapsed?"full-collapse":"full-expand",toggledItems:this._currentToggledItems},this.pubSubService.publish("onTreeItemToggled",{...this._lastToggleStateChange,fromItemId:E})}u.stopImmediatePropagation()}}}updateToggledItem(u,e){var r;const a=((r=this.gridOptions)==null?void 0:r.datasetIdPropertyName)??"id",i=this.getTreeDataOptionPropName("childrenPropName"),t=this.getTreeDataOptionPropName("collapsedPropName");if(u){u[t]=e,this.dataView.updateItem(u[a],u);const o=l=>l[a]===u[a],s=$e(this.sharedService.hierarchicalDataset||[],o,i);s&&(s[t]=e)}}setAutoRecalcTotalsCallbackWhenFeatEnabled(u){var e,a;return u!=null&&u.enableTreeData&&((e=u==null?void 0:u.treeDataOptions)!=null&&e.autoRecalcTotalsOnFilterChange)&&((a=u==null?void 0:u.treeDataOptions)!=null&&a.aggregators)?this.recalculateTreeTotals.bind(this,u):null}}class Ue{constructor(u){this.translaterService=u,this._debounceTypingDelay=0,this._shouldTriggerQuery=!0,this._inputType="text",this.inputFilterType="single",this.searchTerms=[],this._bindEventService=new pu}get columnFilter(){var u;return((u=this.columnDef)==null?void 0:u.filter)??{}}get defaultOperator(){return T.empty}get inputType(){return this._inputType}set inputType(u){this._inputType=u}get operator(){var u;return((u=this.columnFilter)==null?void 0:u.operator)??this.defaultOperator}set operator(u){this.columnFilter&&(this.columnFilter.operator=u)}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}init(u){var i,t,r;if(!u)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=u.grid,this.callback=u.callback,this.columnDef=u.columnDef,this.inputFilterType==="compound"&&(this.operator=u.operator||""),this.searchTerms=(u==null?void 0:u.searchTerms)??[],this._cellContainerElm=u.filterContainerElm;const e=(i=this.gridOptions)==null?void 0:i.backendServiceApi;this._debounceTypingDelay=(e?(e==null?void 0:e.filterTypingDebounce)??((t=this.gridOptions)==null?void 0:t.defaultBackendServiceFilterTypingDebounce):(r=this.gridOptions)==null?void 0:r.filterTypingDebounce)??0;const a=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(a),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this)),this._bindEventService.bind(this._filterInputElm,"wheel",this.onTriggerEvent.bind(this),{passive:!0}),this.inputFilterType==="compound"&&this._selectOperatorElm&&this._bindEventService.bind(this._selectOperatorElm,"change",this.onTriggerEvent.bind(this))}clear(u=!0){this._filterInputElm&&(this._shouldTriggerQuery=u,this.searchTerms=[],this._filterInputElm.value="",this._currentValue=void 0,this.updateFilterStyle(!1),this.inputFilterType==="compound"&&this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this.onTriggerEvent(void 0,!0))}destroy(){var u,e,a,i;this._bindEventService.unbindAll(),(e=(u=this._selectOperatorElm)==null?void 0:u.remove)==null||e.call(u),(i=(a=this._filterInputElm)==null?void 0:a.remove)==null||i.call(a)}getValues(){return this._filterInputElm.value}setValues(u,e,a=!1){const i=Array.isArray(u)?u:[u];let t="";for(const r of i)this.inputFilterType==="single"?t=e?this.addOptionalOperatorIntoSearchString(r,e):r:t=`${r}`,this._filterInputElm.value=`${t??""}`,this._currentValue=this._filterInputElm.value;if(this.updateFilterStyle(this.getValues()!==""),this.operator=e||this.defaultOperator,e&&this._selectOperatorElm){const r=La(this.operator);this._selectOperatorElm.value=r}a&&this.onTriggerEvent(void 0,!1)}addOptionalOperatorIntoSearchString(u,e){let a="",i="",t=u==null?"":`${u}`;if(e&&t){switch(e){case"<>":case"!=":case"=":case"==":case">":case">=":case"<":case"<=":a=e;break;case"EndsWith":case"*z":a="*";break;case"StartsWith":case"a*":i="*";break}t=`${a}${t}${i}`}return t}getCompoundOperatorOptionValues(){var i;const u=this.columnDef.type&&this.columnDef.type?this.columnDef.type:C.string;let e,a="text";if((i=this.columnFilter)!=null&&i.compoundOperatorList)e=this.columnFilter.compoundOperatorList;else switch(u){case C.string:case C.text:case C.readonly:case C.password:a="text",e=gD(this.gridOptions,this.translaterService);break;default:a="numeric",e=Ir(this.gridOptions,this.translaterService);break}return Gr(this.gridOptions,e,a),e}createDomFilterElement(u){var t,r,o,s;const e=((t=this.columnDef)==null?void 0:t.id)??"";Au(this._cellContainerElm);let a=((r=this.gridOptions)==null?void 0:r.defaultFilterPlaceholder)??"";(o=this.columnFilter)!=null&&o.placeholder&&(a=this.columnFilter.placeholder);const i=`${u??""}`;if(this._filterInputElm=A("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",placeholder:a,ariaLabel:((s=this.columnFilter)==null?void 0:s.ariaLabel)??`${ce(e+"")} Search Filter`,className:`form-control filter-${e}`,value:i,dataset:{columnid:`${e}`}}),this.updateFilterStyle(!!u),u!==void 0&&(this._currentValue=i),this.inputFilterType==="single")this._filterContainerElm=this._filterInputElm,this._filterInputElm.classList.add("search-filter"),this._cellContainerElm.appendChild(this._filterInputElm),this._cellContainerElm.appendChild(document.createElement("span"));else{this._filterInputElm.classList.add("compound-input"),this._selectOperatorElm=Or(this.getCompoundOperatorOptionValues(),this.grid),this._filterContainerElm=A("div",{className:`form-group search-filter filter-${e}`});const l=A("div",{className:"input-group"},this._filterContainerElm);A("div",{className:"input-group-addon input-group-prepend operator"},l).appendChild(this._selectOperatorElm),l.appendChild(this._filterInputElm),l.appendChild(A("span")),this.operator&&(this._selectOperatorElm.value=La(this.operator)),this._filterContainerElm&&this._cellContainerElm.appendChild(this._filterContainerElm)}}onTriggerEvent(u,e=!1){var a,i;if(e)this.callback(u,{columnDef:this.columnDef,clearFilterTriggered:e,shouldTriggerQuery:this._shouldTriggerQuery}),this.updateFilterStyle(!1);else{const t=(u==null?void 0:u.type)??"",r=((a=this._selectOperatorElm)==null?void 0:a.value)??this.operator;let o=this._filterInputElm.value;const s=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof o=="string"&&s&&(o=o.trim()),((i=u==null?void 0:u.target)==null?void 0:i.tagName.toLowerCase())!=="select"&&(this._currentValue=o),this.updateFilterStyle(o!=="");const l={columnDef:this.columnDef,operator:r,searchTerms:o?[o]:null,shouldTriggerQuery:this._shouldTriggerQuery},E=t==="keyup"&&(u==null?void 0:u.key)!=="Enter"?this._debounceTypingDelay:0,d=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,c=d&&bu(this._currentValue)||this._currentValue===""&&bu(this._lastSearchValue);(this.inputFilterType==="single"||!d||c)&&(E>0?(clearTimeout(this._timer),this._timer=setTimeout(()=>this.callback(u,l),E)):this.callback(u,l)),this._lastSearchValue=o}this._shouldTriggerQuery=!0}updateFilterStyle(u){var e,a;u?((e=this._filterContainerElm)==null||e.classList.add("filled"),this._filterInputElm.classList.add("filled")):((a=this._filterContainerElm)==null||a.classList.remove("filled"),this._filterInputElm.classList.remove("filled"))}}class $s extends Ue{constructor(u){super(u),this.translaterService=u,this.inputType="text",this.inputFilterType="compound"}}class Yh extends Ue{constructor(u){super(u),this.translaterService=u,this.inputType="number",this.inputFilterType="compound"}}class Qh extends Ue{constructor(u){super(u),this.translaterService=u,this.inputType="password",this.inputFilterType="compound"}}const Pn="#86bff8",Ji=0,Xh=20;class uo{constructor(u){this.translaterService=u,this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this._sliderTrackFilledColor=Pn,this.sliderType="double",this.searchTerms=[],this._bindEventService=new pu}get columnFilter(){var u;return((u=this.columnDef)==null?void 0:u.filter)??{}}get currentValue(){return this._currentValue}get currentValues(){return this._currentValues}get defaultOperator(){return this.sliderType==="compound"?T.empty:this.sliderType==="single"?T.greaterThanOrEqual:this.gridOptions.defaultFilterRangeOperator||T.rangeInclusive}get filterOptions(){var u,e;return{...(u=this.gridOptions.defaultFilterOptions)==null?void 0:u.slider,...(e=this.columnFilter)==null?void 0:e.filterOptions}}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get sliderOptions(){return this._sliderOptions}get operator(){return this._operator||(this.columnFilter.operator??this.defaultOperator)}set operator(u){this._operator=u}init(u){if(!u)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');this.grid=u.grid,this.callback=u.callback,this.columnDef=u.columnDef,this.operator=u.operator||"",this.searchTerms=(u==null?void 0:u.searchTerms)??[],this._argFilterContainerElm=u.filterContainerElm,this._sliderTrackFilledColor=window.getComputedStyle(document.documentElement).getPropertyValue("--slick-slider-filter-filled-track-color")||Pn,this._filterElm=this.createDomFilterElement(this.searchTerms)}clear(u=!0){var e,a,i,t,r,o,s;if(this._filterElm){this._clearFilterTriggered=!0,this._shouldTriggerQuery=u,this.searchTerms=[];const l=+(((e=this.filterOptions)==null?void 0:e.sliderStartValue)??_.SLIDER_DEFAULT_MIN_VALUE),E=+(((a=this.filterOptions)==null?void 0:a.sliderEndValue)??_.SLIDER_DEFAULT_MAX_VALUE);this.sliderType==="double"?(this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=`${l}`),this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${E}`),this._currentValues=[l,E],(i=this._sliderLeftInputElm)==null||i.dispatchEvent(new Event("change")),(t=this._sliderRightInputElm)==null||t.dispatchEvent(new Event("change"))):(this._sliderRightInputElm&&(this._sliderRightInputElm.value=`${l}`),this._selectOperatorElm&&(this._selectOperatorElm.selectedIndex=0),this._currentValue=l,(r=this._sliderRightInputElm)==null||r.dispatchEvent(new Event("change"))),(((o=this.filterOptions)==null?void 0:o.hideSliderNumber)??((s=this.filterOptions)==null?void 0:s.hideSliderNumbers))||(this.sliderType==="double"?this.renderSliderValues(l,E):this.renderSliderValues(void 0,l)),this.updateFilterStyle(!1),this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:u,searchTerms:[]})}}destroy(){var u,e,a;this._bindEventService.unbindAll(),(u=this._sliderTrackElm)==null||u.remove(),(e=this._sliderLeftInputElm)==null||e.remove(),(a=this._sliderRightInputElm)==null||a.remove()}renderSliderValues(u,e,a=!0){var r,o;const i=(u==null?void 0:u.toString())||"",t=(e==null?void 0:e.toString())||"";(r=this._leftSliderNumberElm)!=null&&r.textContent&&(this._leftSliderNumberElm.textContent=i),(o=this._rightSliderNumberElm)!=null&&o.textContent&&(this._rightSliderNumberElm.textContent=t),this._sliderRangeContainElm.title=this.sliderType==="double"?`${i} - ${t}`:`${t}`,a&&this.grid.onHeaderRowMouseLeave.notify({column:this.columnDef,grid:this.grid})}getValues(){return this.sliderType==="double"?this._currentValues:this._currentValue}setValues(u,e,a=!1){var r;if(u){let o=[];const s=Array.isArray(u)?u==null?void 0:u[0]:u;if(Array.isArray(u)&&u.length===2?o=u:typeof s=="string"&&s.indexOf("..")>0?(o=s.split(".."),this._currentValue=+((o==null?void 0:o[0])??0)):(bu(s)||s==="")&&(this._currentValue=s===null?void 0:+s,o=[s]),this.sliderType!=="double"&&this._sliderRightInputElm)this._sliderRightInputElm.value=typeof u=="string"?u:`${s}`,this.renderSliderValues(void 0,this._sliderRightInputElm.value);else if(Array.isArray(o)&&o.length===2&&!((r=this.filterOptions)!=null&&r.hideSliderNumbers)){const[l,E]=o;this._sliderLeftInputElm&&(this._sliderLeftInputElm.value=String(l??_.SLIDER_DEFAULT_MIN_VALUE)),this._sliderRightInputElm&&(this._sliderRightInputElm.value=String(E??_.SLIDER_DEFAULT_MAX_VALUE)),this.renderSliderValues(...o)}}else this._currentValue=void 0,this._currentValues=void 0;const i=this.getValues(),t=i===void 0?[]:Array.isArray(i)?i:[i];if(this.updateFilterStyle(t.length>0),e!==void 0&&(this.operator=e),this.operator&&this._selectOperatorElm){const o=La(this.operator);this._selectOperatorElm.value=o}a&&this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:t,shouldTriggerQuery:!0})}createDomFilterElement(u){var d,c,D,m,h;const e=((d=this.columnDef)==null?void 0:d.id)??"",a=+(this.columnFilter.minValue??_.SLIDER_DEFAULT_MIN_VALUE),i=+(this.columnFilter.maxValue??_.SLIDER_DEFAULT_MAX_VALUE),t=+(this.columnFilter.valueStep??_.SLIDER_DEFAULT_STEP);Au(this._argFilterContainerElm);const r=+((Array.isArray(u)&&(u==null?void 0:u[0]))??((c=this.filterOptions)==null?void 0:c.sliderStartValue)??a),o=+((Array.isArray(u)&&(u==null?void 0:u[1]))??((D=this.filterOptions)==null?void 0:D.sliderEndValue)??i);if(this._sliderRangeContainElm=A("div",{className:`filter-input filter-${e} slider-input-container slider-values`,title:this.sliderType==="double"?`${r} - ${o}`:`${r}`}),this._sliderTrackElm=A("div",{className:"slider-track"}),this.sliderType==="compound"){const g=A("span",{className:"input-group-addon input-group-prepend operator"});this._selectOperatorElm=Or(this.getOperatorOptionValues(),this.grid),g.appendChild(this._selectOperatorElm)}this.sliderType==="double"&&(this._sliderLeftInputElm=A("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${ce(e+"")} Search Filter`,defaultValue:`${r}`,value:`${r}`,min:`${a}`,max:`${i}`,step:`${t}`}));const s=this.sliderType==="double"?o:r;this._sliderRightInputElm=A("input",{type:"range",className:"slider-filter-input",ariaLabel:this.columnFilter.ariaLabel??`${ce(e+"")} Search Filter`,defaultValue:`${s}`,value:`${s}`,min:`${a}`,max:`${i}`,step:`${t}`});const l=((m=this.filterOptions)==null?void 0:m.hideSliderNumber)??((h=this.filterOptions)==null?void 0:h.hideSliderNumbers),E=l?"":"input-group";if(this._divContainerFilterElm=A("div",{className:`${E} search-filter slider-container slider-values filter-${e}`.trim()}),this._sliderRangeContainElm.appendChild(this._sliderTrackElm),this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRangeContainElm.appendChild(this._sliderLeftInputElm),this._sliderRangeContainElm.appendChild(this._sliderRightInputElm),l)this._divContainerFilterElm.appendChild(this._sliderRangeContainElm);else{let g;this.sliderType==="compound"&&this._selectOperatorElm?(g=A("span",{className:"input-group-addon input-group-prepend operator"}),g.appendChild(this._selectOperatorElm)):this.sliderType==="double"&&(g=A("div",{className:"input-group-addon input-group-prepend slider-range-value"}),this._leftSliderNumberElm=A("span",{className:`input-group-text lowest-range-${e}`,textContent:`${r}`}),g.appendChild(this._leftSliderNumberElm));const x=A("div",{className:"input-group-addon input-group-append slider-range-value"});this._rightSliderNumberElm=A("span",{className:`input-group-text highest-range-${e}`,textContent:`${s}`},x),g&&this._divContainerFilterElm.appendChild(g),this._divContainerFilterElm.appendChild(this._sliderRangeContainElm),this._divContainerFilterElm.appendChild(x)}return this._sliderOptions={minValue:a,maxValue:i,step:t},this._currentValues=[r,o],Array.isArray(u)&&u.length>0&&u[0]!==""&&(this.updateFilterStyle(!0),this._currentValue=r),(this.filterOptions.sliderStartValue!==void 0||this.columnFilter.minValue!==void 0)&&(this._currentValue=r),this._argFilterContainerElm.appendChild(this._divContainerFilterElm),this.updateTrackFilledColorWhenEnabled(),this._bindEventService.bind(this._sliderTrackElm,"click",this.sliderTrackClicked.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["input","change"],this.slideRightInputChanged.bind(this)),this._bindEventService.bind(this._sliderRightInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this)),this.sliderType==="compound"&&this._selectOperatorElm?this._bindEventService.bind(this._selectOperatorElm,["change"],this.onValueChanged.bind(this)):this.sliderType==="double"&&this._sliderLeftInputElm&&(this._bindEventService.bind(this._sliderLeftInputElm,["input","change"],this.slideLeftInputChanged.bind(this)),this._bindEventService.bind(this._sliderLeftInputElm,["change","mouseup","touchend"],this.onValueChanged.bind(this))),this._divContainerFilterElm}getOperatorOptionValues(){let u;return this.columnFilter.compoundOperatorList?u=this.columnFilter.compoundOperatorList:u=Ir(this.gridOptions,this.translaterService),Gr(this.gridOptions,u,"numeric"),u}onValueChanged(u){var t,r,o,s,l;const e=parseInt(((t=this._sliderRightInputElm)==null?void 0:t.value)??"",10);let a,i;if(this.sliderType==="compound"||this.sliderType==="single")((o=(r=u==null?void 0:u.target)==null?void 0:r.tagName)==null?void 0:o.toLowerCase())!=="select"&&(this._currentValue=+e),a=this._currentValue,i=[a||"0"];else if(this.sliderType==="double"){const d=[parseInt(((s=this._sliderLeftInputElm)==null?void 0:s.value)??"",10),e];a=d.join(".."),i=d}if(this._clearFilterTriggered)this.updateFilterStyle(!1),this.callback(u,{columnDef:this.columnDef,clearFilterTriggered:this._clearFilterTriggered,searchTerms:[],shouldTriggerQuery:this._shouldTriggerQuery});else{const E=((l=this._selectOperatorElm)==null?void 0:l.value)??this.operator;this.updateFilterStyle(a!=="");const d=this.columnFilter.skipCompoundOperatorFilterWithNullInput??this.gridOptions.skipCompoundOperatorFilterWithNullInput,c=d&&bu(this._currentValue)||!bu(this._currentValue)&&bu(this._lastSearchValue);(this.sliderType!=="compound"||!d||c)&&this.callback(u,{columnDef:this.columnDef,operator:E||"",searchTerms:i,shouldTriggerQuery:this._shouldTriggerQuery})}this._clearFilterTriggered=!1,this._shouldTriggerQuery=!0,this.changeBothSliderFocuses(!1),this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new ju(u)),this._lastSearchValue=a}changeBothSliderFocuses(u){var a,i;const e=u?"add":"remove";(a=this._sliderLeftInputElm)==null||a.classList[e]("focus"),(i=this._sliderRightInputElm)==null||i.classList[e]("focus")}slideLeftInputChanged(u){var i,t,r,o;const e=parseInt(((i=this._sliderLeftInputElm)==null?void 0:i.value)??"",10),a=parseInt(((t=this._sliderRightInputElm)==null?void 0:t.value)??"",10);this._sliderLeftInputElm&&a-e<=(((r=this.filterOptions)==null?void 0:r.stopGapBetweenSliderHandles)??Ji)&&(this._sliderLeftInputElm.value=String(e-(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??Ji))),this._sliderLeftInputElm&&this._sliderRightInputElm&&(+this._sliderLeftInputElm.value>=+this._sliderRightInputElm.value-Xh?(this._sliderLeftInputElm.style.zIndex="1",this._sliderRightInputElm.style.zIndex="0"):(this._sliderLeftInputElm.style.zIndex="0",this._sliderRightInputElm.style.zIndex="1")),this.sliderLeftOrRightChanged(u,"left",e,a)}slideRightInputChanged(u){var i,t,r,o;const e=parseInt(((i=this._sliderLeftInputElm)==null?void 0:i.value)??"",10),a=parseInt(((t=this._sliderRightInputElm)==null?void 0:t.value)??"",10);this.sliderType==="double"&&this._sliderRightInputElm&&a-e<=(((r=this.filterOptions)==null?void 0:r.stopGapBetweenSliderHandles)??Ji)&&(this._sliderRightInputElm.value=String(e+(((o=this.filterOptions)==null?void 0:o.stopGapBetweenSliderHandles)??Ji))),this.sliderLeftOrRightChanged(u,"right",e,a)}sliderLeftOrRightChanged(u,e,a,i){var o,s,l,E,d,c;let t=!0;this.updateTrackFilledColorWhenEnabled(),this.changeBothSliderFocuses(!0),this._sliderRangeContainElm.title=this.sliderType==="double"?`${a} - ${i}`:`${i}`,this.sliderType==="double"&&this._sliderLeftInputElm&&this._sliderRightInputElm&&(e==="left"&&a>i?(this._sliderLeftInputElm.value=`${i}`,t=!1):e==="right"&&a>i&&(this._sliderRightInputElm.value=`${a}`,t=!1)),(((o=this.filterOptions)==null?void 0:o.hideSliderNumber)??((s=this.filterOptions)==null?void 0:s.hideSliderNumbers))||((l=this._leftSliderNumberElm)!=null&&l.textContent&&(this._leftSliderNumberElm.textContent=((E=this._sliderLeftInputElm)==null?void 0:E.value)??""),(d=this._rightSliderNumberElm)!=null&&d.textContent&&(this._rightSliderNumberElm.textContent=((c=this._sliderRightInputElm)==null?void 0:c.value)??"")),t&&this.grid.onHeaderRowMouseEnter.notify({column:this.columnDef,grid:this.grid},new ju(u))}sliderTrackClicked(u){u.preventDefault();const e=u.offsetX,a=this._sliderTrackElm.offsetWidth,i=(e+0)*100/a;this._sliderRightInputElm&&this.sliderType!=="double"?(this._sliderRightInputElm.value=`${i}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))):this._sliderLeftInputElm&&this._sliderRightInputElm&&(i<=50?(this._sliderLeftInputElm.value=`${i}`,this._sliderLeftInputElm.dispatchEvent(new Event("change"))):(this._sliderRightInputElm.value=`${i}`,this._sliderRightInputElm.dispatchEvent(new Event("change"))))}updateTrackFilledColorWhenEnabled(){var u,e,a,i;if((u=this.filterOptions)!=null&&u.enableSliderTrackColoring&&this._sliderRightInputElm){let t=0;this._sliderLeftInputElm&&(t=(+this._sliderLeftInputElm.value-+this._sliderLeftInputElm.min)/(((e=this.sliderOptions)==null?void 0:e.maxValue)??0-+this._sliderLeftInputElm.min)*100);const r=(+this._sliderRightInputElm.value-+this._sliderRightInputElm.min)/(((a=this.sliderOptions)==null?void 0:a.maxValue)??0-+this._sliderRightInputElm.min)*100,o="linear-gradient(to right, %b %p1, %c %p1, %c %p2, %b %p2)".replace(/%b/g,"#eee").replace(/%c/g,((i=this.filterOptions)==null?void 0:i.sliderTrackFilledColor)||this._sliderTrackFilledColor||Pn).replace(/%p1/g,`${t}%`).replace(/%p2/g,`${r}%`);this._sliderTrackElm.style.background=o,this._sliderOptions.sliderTrackBackground=o}}updateFilterStyle(u){var e,a;u?(this._divContainerFilterElm.classList.add("filled"),(e=this._filterElm)==null||e.classList.add("filled")):(this._divContainerFilterElm.classList.remove("filled"),(a=this._filterElm)==null||a.classList.remove("filled"))}}class ux extends uo{constructor(u){super(u),this.translaterService=u,this.sliderType="compound"}}class ex extends y1{constructor(u){super(u),this.translaterService=u,this.inputFilterType="range"}}class ax extends Ue{constructor(u){super(u),this.translaterService=u,this._inputMask="",this.inputType="text"}get inputMask(){return this._inputMask}init(u){var a,i,t,r;if(!u)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=u.grid,this.callback=u.callback,this.columnDef=u.columnDef,this.searchTerms=(u.hasOwnProperty("searchTerms")?u.searchTerms:[])||[],this._cellContainerElm=u.filterContainerElm,(i=(a=this.columnDef)==null?void 0:a.params)!=null&&i.mask?this._inputMask=this.columnDef.params.mask:(r=(t=this.columnFilter)==null?void 0:t.params)!=null&&r.mask&&(this._inputMask=this.columnFilter.params.mask),!this._inputMask)throw new Error(`[Slickgrid-Universal] The Filters.inputMask requires the mask to be passed in the filter params or the column definition params - for example:: this.columnDefinitions: [{ id: 'phone', field: 'phone', filter: { model: Filters.inputMask, params: { mask: '000-000-0000' }}}]`);const e=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(e),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this))}onTriggerEvent(u,e=!1){var i,t;let a="";if((i=u==null?void 0:u.target)!=null&&i.value){let r=((t=u==null?void 0:u.target)==null?void 0:t.value)??"";const o=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof r=="string"&&o&&(r=r.trim());const s=this.unmaskValue(r),l=this.maskValue(s);a=s,(u==null?void 0:u.keyCode)>=48&&(this._filterInputElm.value=l,u.preventDefault())}e?(this.callback(u,{columnDef:this.columnDef,clearFilterTriggered:e,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterInputElm.classList.remove("filled")):(this._filterInputElm.classList.add("filled"),this.callback(u,{columnDef:this.columnDef,operator:this.operator,searchTerms:[a],shouldTriggerQuery:this._shouldTriggerQuery})),this._shouldTriggerQuery=!0}maskValue(u){let e=0,a="";return this._inputMask&&(a=this._inputMask.replace(/[09A]/gi,i=>((i==="0"||i==="9")&&/\d+/g.test(u[e])||i.toUpperCase()==="A"&&/[^\d]+/gi.test(u[e]))&&u[e++]||"")),a}unmaskValue(u){const e=u.replace(/[^0-9a-z]*/gi,""),a=this._inputMask.replace(/[^0-9a-z]*/gi,"");let i="";for(let t=0;tu in n?nx(n,u,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[u]=e,X=(n,u,e)=>rx(n,typeof u!="symbol"?u+"":u,e),ox=class{constructor(u){X(this,"_distinctEvent"),X(this,"_boundedEvents",[]),this._distinctEvent=(u==null?void 0:u.distinctEvent)??!1}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(u,e,a,i,t=""){let r=Array.isArray(e)?e:[e];if(typeof(u==null?void 0:u.forEach)=="function")u.forEach(o=>{for(let s of r)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(o,s))&&(o.addEventListener(s,a,i),this._boundedEvents.push({element:o,eventName:s,listener:a,groupName:t}))});else for(let o of r)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(u,o))&&(u.addEventListener(o,a,i),this._boundedEvents.push({element:u,eventName:o,listener:a,groupName:t}))}hasBinding(u,e){return this._boundedEvents.some(a=>a.element===u&&(!e||a.eventName===e))}unbind(u,e,a){var i;if(u){let t=Array.isArray(u)?u:[u],r=Array.isArray(e)?e||"":[e||""];for(let o of t){a||(a=this._boundedEvents.find(s=>{if(s.element===o&&(!e||s.eventName===e))return s.listener}));for(let s of r)(i=o==null?void 0:o.removeEventListener)==null||i.call(o,s,a)}}}unbindAll(u){if(u){let e=Array.isArray(u)?u:[u];for(let a=this._boundedEvents.length-1;a>=0;--a){let i=this._boundedEvents[a];if(e.some(t=>t===i.groupName)){let{element:t,eventName:r,listener:o}=i;this.unbind(t,r,o),this._boundedEvents.splice(a,1)}}}else for(;this._boundedEvents.length>0;){let e=this._boundedEvents.pop(),{element:a,eventName:i,listener:t}=e;this.unbind(a,i,t)}}},r4=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},sx={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(n,u){return`${n} of ${u} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};r4.locales["en-US"]=sx;var o4=r4.locales,lx=50,Ex=4,s4={name:"",placeholder:"",classes:"",classPrefix:"",data:void 0,locale:void 0,selectAll:!0,single:void 0,singleRadio:!1,multiple:!1,hideOptgroupCheckboxes:!1,multipleWidth:80,width:void 0,dropWidth:void 0,maxHeight:250,maxHeightUnit:"px",position:"bottom",displayValues:!1,displayTitle:!1,displayDelimiter:", ",minimumCountSelected:3,ellipsis:!1,isOpen:!1,keepOpen:!1,openOnHover:!1,container:null,filter:!1,filterGroup:!1,filterPlaceholder:"",filterAcceptOnEnter:!1,filterByDataLength:void 0,customFilter(n){let{text:u,label:e,search:a}=n;return(e||u||"").includes(a)},showClear:!1,autoAdjustDropHeight:!1,autoAdjustDropPosition:!1,autoAdjustDropWidthByTextSize:!1,adjustedHeightPadding:10,useSelectOptionLabel:!1,useSelectOptionLabelToHtml:!1,navigationHighlight:!0,infiniteScroll:!1,virtualScroll:!0,cssStyler:()=>null,textTemplate:n=>n.innerHTML.trim(),labelTemplate:n=>n.label,onOpen:()=>!1,onClose:()=>!1,onCheckAll:()=>!1,onUncheckAll:()=>!1,onFocus:()=>!1,onBlur:()=>!1,onOptgroupClick:()=>!1,onBeforeClick:()=>!0,onClick:()=>!1,onFilter:()=>!1,onFilterClear:()=>!1,onClear:()=>!1,onAfterCreate:()=>!1,onDestroy:()=>!1,onAfterDestroy:()=>!1,onDestroyed:()=>!1},dx=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(s4,o4["en-US"]);var cx={BLOCK_ROWS:lx,CLUSTER_BLOCKS:Ex,DEFAULTS:s4,METHODS:dx},ie=cx;function Dx(n,u,e=!1){let a=Object.keys(n),i=Object.keys(u);if(e&&a.length!==i.length)return!1;for(let t of a)if(i.includes(t)&&n[t]!==u[t])return!1;return!0}function Er(n){let u=()=>{let i={};for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(i[t]=Er(n[t]));return i},e=()=>n.map(i=>Er(i)),a=Object.prototype.toString.call(n).slice(8,-1).toLowerCase();return a==="object"?u():a==="array"?e():n}function _n(n){return n!=null&&n!==""}function mx(n,u){return typeof n=="object"?Object.fromEntries(u?Object.entries(n).filter(([e,a])=>!_n(a)&&!u.includes(e)||_n(a)):Object.entries(n).filter(([e,a])=>_n(a))):n}function hx(n){let u=0;return n.forEach((e,a)=>{e.type==="optgroup"?(e._key=`group_${a}`,e.visible=typeof e.visible>"u"?!0:e.visible,e.children.forEach((i,t)=>{i&&(i.visible=typeof(i==null?void 0:i.visible)>"u"?!0:i.visible,i.divider||(i._key=`option_${a}_${t}`,u+=1))})):(e.visible=typeof e.visible>"u"?!0:e.visible,e.divider||(e._key=`option_${a}`,u+=1))}),u}function Wi(n,u,e){if(Array.isArray(n))for(let a of n){if(a[u]===e||a[u]===`${+a[u]}`&&+a[u]===e)return a;if(a.type==="optgroup"){for(let i of a.children)if(i&&(i[u]===e||i[u]===`${+i[u]}`&&+i[u]===e))return i}}}function xx(n){return n.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<|<)(\/*)(script|script defer)(.*)(>|>|>">)/gi,"")}function jn(n){return Object.keys(n).forEach(u=>n[u]===void 0?delete n[u]:""),n}function va(n,u){if(typeof n!="string")return n;if(typeof u=="function")return u(n);if(typeof n.normalize=="function")return n.normalize("NFD").replace(/[\u0300-\u036F]/g,"");throw new Error("[Multiple-Select-Vanilla] `normalize()` function is not defined, you can optionally provide a custom parser via the `diacriticParser` option.")}function Ln(n){let u=0,e=0,a=0,i=0,t=window.innerHeight??0,r=window.innerWidth??0,o=px(),s=o.top,l=o.left,E=cr(n);if(E){let d=E.top??0,c=E.left??0;e=d-s,u=t-(d-s),a=c-l,i=r-(c-l)}return{top:e,bottom:u,left:a,right:i}}function Rn(n=""){return n.split(" ").filter(u=>u)}function f0(n,u,e){let a=document.createElement(n);return u&&Object.keys(u).forEach(i=>{let t=u[i];typeof t=="object"?Object.assign(a[i],t):a[i]=u[i]}),e!=null&&e.appendChild&&e.appendChild(a),a}function l4(n,u,e){var t;let a=(t=n.props)!=null&&t.innerHTML?Cx(n.props,"innerHTML"):n.props,i=f0(n.tagName,mx(a,["className","title","style"]),u);if(n.props.innerHTML&&(i.innerHTML=n.props.innerHTML),n.attrs)for(let r of Object.keys(n.attrs))i.setAttribute(r,n.attrs[r]);if(n.children)for(let r of n.children)l4(r,i);return u==null||u.appendChild(i),i}function dr(n){return n.hasOwnProperty("tagName")?l4(n):document.createElement("li")}function mt(n){for(;n!=null&&n.firstChild;)n.lastChild&&n.removeChild(n.lastChild);return n}function cr(n){var r;if(!n)return;let u=(r=n==null?void 0:n.getBoundingClientRect)==null?void 0:r.call(n),e=0,a=0,i=0,t=0;return(u==null?void 0:u.top)!==void 0&&u.left!==void 0&&(e=u.top+window.pageYOffset,a=u.left+window.pageXOffset,t=u.right,i=u.bottom),{top:e,left:a,bottom:i,right:t}}function Ui(n,u,e){if(!n)return 0;let a=Number.parseFloat(n.style[e]);if(!a||Number.isNaN(a)){switch(u){case"outer":a=n[e==="width"?"offsetWidth":"offsetHeight"];break;case"scroll":a=n[e==="width"?"scrollWidth":"scrollHeight"];break;case"inner":default:a=n[e==="width"?"clientWidth":"clientHeight"];break}a=n.getBoundingClientRect()[e]}if(!a||Number.isNaN(a)){let i=n.style.display,t=n.style.position;n.style.display="block",n.style.position="absolute";let r=window.getComputedStyle(n)[e];a=Number.parseFloat(r),Number.isNaN(a)&&(a=0),n.style.display=i,n.style.position=t}return a||0}function Js(n,u){let e=null,a=n==null?void 0:n.parentElement;for(;a;){let[i,t,r,o]=u.match(/^([a-z]*)([#.]{1})([a-z\-]+)$/i)||[];if(r&&o)for(let s of o.replace(r,"").split(" "))a.classList.contains(s)&&(t?(a==null?void 0:a.tagName.toLowerCase())===t&&(e=a):e=a);a=a.parentElement}return e}function gx(n,u){var e;(e=n.parentNode)==null||e.insertBefore(u,n.nextSibling)}function Cx(n,u){let{[u]:e,...a}=n;return a}function Ws(n,u){n!=null&&n.style&&(n.style.display=n.style.display==="none"&&u!==!1||u===!0?"block":"none")}function px(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}var Fx=class{constructor(u){var a;X(this,"clusterRows"),X(this,"cache"),X(this,"scrollEl"),X(this,"blockHeight"),X(this,"clusterHeight"),X(this,"contentEl"),X(this,"parentEl"),X(this,"itemHeight"),X(this,"lastCluster"),X(this,"scrollTop"),X(this,"dataStart"),X(this,"dataEnd"),X(this,"rows"),X(this,"destroy"),X(this,"callback"),X(this,"sanitizer"),this.rows=u.rows,this.scrollEl=u.scrollEl,this.contentEl=u.contentEl,this.parentEl=(a=u.contentEl)==null?void 0:a.parentElement,this.callback=u.callback,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;let e=()=>{this.lastCluster!==(this.lastCluster=this.getNum())&&(this.initDOM(this.rows),this.callback())};this.scrollEl.addEventListener("scroll",e,!1),this.destroy=()=>{this.scrollEl.removeEventListener("scroll",e,!1),mt(this.contentEl)}}reset(u){this.lastCluster=0,this.cache={},mt(this.contentEl),this.initDOM(u)}initDOM(u){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let r=dr(u[0]);this.contentEl.appendChild(r),this.contentEl.appendChild(r),this.contentEl.appendChild(r),this.cache.data=[u[0]],this.getRowsHeight()}let e=this.initData(u,this.getNum()),a=this.checkChanges("data",e.rows),i=this.checkChanges("top",e.topOffset),t=this.checkChanges("bottom",e.bottomOffset);mt(this.contentEl),a&&i?(e.topOffset&&this.contentEl.appendChild(this.getExtra("top",e.topOffset)),e.rows.forEach(r=>this.contentEl.appendChild(dr(r))),e.bottomOffset&&this.contentEl.appendChild(this.getExtra("bottom",e.bottomOffset))):t&&this.contentEl.lastChild&&(this.contentEl.lastChild.style.height=`${e.bottomOffset}px`)}getRowsHeight(){var u;if(typeof this.itemHeight>"u"){let e=((u=this.parentEl)==null?void 0:u.style.display)||"";this.parentEl&&(e===""||e==="none")&&(this.parentEl.style.display="block");let a=this.contentEl.children,i=a[Math.floor(a.length/2)];this.itemHeight=i.offsetHeight,this.parentEl&&(this.parentEl.style.display=e)}this.blockHeight=this.itemHeight*ie.BLOCK_ROWS,this.clusterRows=ie.BLOCK_ROWS*ie.CLUSTER_BLOCKS,this.clusterHeight=this.blockHeight*ie.CLUSTER_BLOCKS}getNum(){this.scrollTop=this.scrollEl.scrollTop;let u=(this.clusterHeight||0)-(this.blockHeight||0);return u&&Math.floor(this.scrollTop/u)||0}initData(u,e){if(u.lengthdelete this[o])))}initLocale(){if(this.options.locale){if(typeof this.options.locale=="object"){Object.assign(this.options,this.options.locale);return}let u=window.multipleSelect.locales,e=this.options.locale.split(/-|_/);if(e[0]=e[0].toLowerCase(),e[1]&&(e[1]=e[1].toUpperCase()),u[this.options.locale])Object.assign(this.options,u[this.options.locale]);else if(u[e.join("-")])Object.assign(this.options,u[e.join("-")]);else if(u[e[0]])Object.assign(this.options,u[e[0]]);else throw new Error(`[multiple-select-vanilla] invalid locales "${this.options.locale}", make sure to import it before using it`)}}initContainer(){var i;let u=this.elm.getAttribute("name")||this.options.name||"";this.options.classes&&this.elm.classList.add(this.options.classes),this.options.classPrefix&&(this.elm.classList.add(this.options.classPrefix),this.options.size&&this.elm.classList.add(`${this.options.classPrefix}-${this.options.size}`)),this.elm.style.display="none",this.labelElm=this.elm.closest("label"),!this.labelElm&&this.elm.id&&(this.labelElm=document.createElement("label"),this.labelElm.htmlFor=this.elm.id),(i=this.labelElm)!=null&&i.querySelector("input")&&(this.labelElm=null),typeof this.options.single>"u"&&(this.options.single=!this.elm.multiple),this.parentElm=f0("div",{className:Rn(`ms-parent ${this.elm.className||""} ${this.options.classes}`).join(" "),dataset:{test:"sel"}}),this.options.darkMode&&this.parentElm.classList.add("ms-dark-mode");let e=this.elm.getAttribute("title")||"";e&&(this.parentElm.title=e),this.options.placeholder=this.options.placeholder||this.elm.getAttribute("placeholder")||"",this.choiceElm=f0("button",{className:"ms-choice",type:"button"},this.parentElm),this.options.labelId&&(this.choiceElm.id=this.options.labelId,this.choiceElm.setAttribute("aria-labelledby",this.options.labelId)),this.choiceElm.appendChild(f0("span",{className:"ms-placeholder",textContent:this.options.placeholder})),this.options.showClear&&(this.selectClearElm=f0("div",{className:"ms-icon ms-icon-close"}),this.selectClearElm.style.display="none",this.choiceElm.appendChild(this.selectClearElm)),this.choiceElm.appendChild(f0("div",{className:"ms-icon ms-icon-caret"})),this.dropElm=f0("div",{className:`ms-drop ${this.options.position}`,ariaExpanded:"false"},this.parentElm),this.options.darkMode&&this.dropElm.classList.add("ms-dark-mode"),u&&(this.dropElm.dataset.name=u);let a=this.elm.getAttribute("data-test")||this.options.dataTest;a&&(this.parentElm.dataset.test=a,this.dropElm.dataset.test=a),this.closeElm=this.choiceElm.querySelector(".ms-icon-close"),this.options.dropWidth&&(this.dropElm.style.width=typeof this.options.dropWidth=="string"?this.options.dropWidth:`${this.options.dropWidth}px`),gx(this.elm,this.parentElm),this.elm.disabled&&(this.choiceElm.classList.add("disabled"),this.choiceElm.disabled=!0),this.selectAllName=`selectAll${u}`,this.selectGroupName=`selectGroup${u}`,this.selectItemName=`selectItem${u}`,this.options.keepOpen||(this._bindEventService.unbindAll("body-click"),this._bindEventService.bind(document.body,"click",t=>{this.getEventTarget(t)===this.choiceElm||Js(this.getEventTarget(t),".ms-choice")===this.choiceElm||(this.getEventTarget(t)===this.dropElm||Js(this.getEventTarget(t),".ms-drop")!==this.dropElm&&this.getEventTarget(t)!==this.elm)&&this.options.isOpen&&this.close("body.click")},void 0,"body-click"))}initData(){let u=[];if(this.options.data){if(Array.isArray(this.options.data))this.data=this.options.data.map(e=>typeof e=="string"||typeof e=="number"?{text:e,value:e}:e);else if(typeof this.options.data=="object"){for(let[e,a]of Object.entries(this.options.data))u.push({value:e,text:`${a}`});this.data=u}}else this.elm.childNodes.forEach(e=>{let a=this.initRow(e);a&&u.push(a)}),this.options.data=u,this.data=u,this.fromHtml=!0;this.dataTotal=hx(this.data||[])}initRow(u,e){var i,t;let a={};return((i=u.tagName)==null?void 0:i.toLowerCase())==="option"?(a.type="option",a.text=this.options.textTemplate(u),a.value=u.value,a.visible=!0,a.selected=!!u.selected,a.disabled=e||u.disabled,a.classes=u.getAttribute("class")||"",a.title=u.getAttribute("title")||"",u.dataset.value&&(a._value=u.dataset.value),Object.keys(u.dataset).length&&(a._data=u.dataset,a._data.divider&&(a.divider=a._data.divider)),a):((t=u.tagName)==null?void 0:t.toLowerCase())==="optgroup"?(a.type="optgroup",a.label=this.options.labelTemplate(u),a.visible=!0,a.selected=!!u.selected,a.disabled=u.disabled,a.children=[],Object.keys(u.dataset).length&&(a._data=u.dataset),u.childNodes.forEach(r=>{a.children.push(this.initRow(r,a.disabled))}),a):null}initDrop(){this.initList(),this.update(!0),this.options.isOpen&&this.open(10),this.options.openOnHover&&this.parentElm&&(this._bindEventService.bind(this.parentElm,"mouseover",()=>this.open(null)),this._bindEventService.bind(this.parentElm,"mouseout",()=>this.close("hover.mouseout")))}initFilter(){if(this.filterText="",this.options.filter||!this.options.filterByDataLength)return;let u=0;for(let e of this.data||[])e.type==="optgroup"?u+=e.children.length:u+=1;this.options.filter=u>this.options.filterByDataLength}initList(){var u,e;if(this.options.filter&&(this.filterParentElm=f0("div",{className:"ms-search"},this.dropElm),this.filterParentElm.appendChild(f0("input",{autocomplete:"off",autocapitalize:"off",spellcheck:!1,type:"text",placeholder:this.options.filterPlaceholder||"🔎︎"})),this.options.showSearchClear&&this.filterParentElm.appendChild(f0("span",{className:"ms-icon ms-icon-close"}))),this.options.selectAll&&!this.options.single){let a=this.elm.getAttribute("name")||this.options.name||"";this.selectAllParentElm=f0("div",{className:"ms-select-all",dataset:{key:"select_all"}});let i=document.createElement("label"),t=`ms-icon ${this.isAllSelected?"ms-icon-check":this.isPartiallyAllSelected?"ms-icon-minus":"ms-icon-uncheck"}`,r=f0("div",{className:"icon-checkbox-container"},i);f0("input",{type:"checkbox",ariaChecked:String(this.isAllSelected),checked:this.isAllSelected,dataset:{name:`selectAll${a}`}},r),f0("div",{className:t},r),i.appendChild(f0("span",{textContent:this.formatSelectAll()})),this.selectAllParentElm.appendChild(i),(u=this.dropElm)==null||u.appendChild(this.selectAllParentElm)}this.ulElm=document.createElement("ul"),this.ulElm.role="combobox",this.ulElm.ariaExpanded="false",this.ulElm.ariaMultiSelectable=String(!this.options.single),(e=this.dropElm)==null||e.appendChild(this.ulElm),this.options.showOkButton&&!this.options.single&&(this.okButtonElm=f0("button",{className:"ms-ok-button",type:"button",textContent:this.formatOkButton()},this.dropElm)),this.initListItems()}initListItems(){var a;let u=0,e=this.getListRows();if(this.options.selectAll&&!this.options.single&&(u=-1),e.length>ie.BLOCK_ROWS*ie.CLUSTER_BLOCKS){let i=this.dropElm&&((a=this.dropElm)==null?void 0:a.style.display)!=="none";!i&&this.dropElm&&(this.dropElm.style.left="-10000",this.dropElm.style.display="block",this.dropElm.ariaExpanded="true");let t=()=>{if(this.virtualScroll){this._currentHighlightIndex=0,this.updateDataStart=this.virtualScroll.dataStart+u,this.updateDataEnd=this.virtualScroll.dataEnd+u,this.updateDataStart<0&&(this.updateDataStart=0,this._currentHighlightIndex=0);let r=this.getDataLength();this.updateDataEnd>r&&(this.updateDataEnd=r),this.ulElm&&(this.isMoveUpRecalcRequired?this.recalculateArrowMove("up"):this.virtualScroll.dataStart>this.updateDataStart&&this.recalculateArrowMove("down"))}};this.ulElm&&(this.virtualScroll?this.virtualScroll.reset(e):this.virtualScroll=new Fx({rows:e,scrollEl:this.ulElm,contentEl:this.ulElm,sanitizer:this.options.sanitizer,callback:()=>{t(),this.events()}})),t(),!i&&this.dropElm&&(this.dropElm.style.left="0",this.dropElm.style.display="none",this.dropElm.ariaExpanded="false")}else this.ulElm&&(mt(this.ulElm),e.forEach(i=>this.ulElm.appendChild(dr(i)))),this.updateDataStart=0,this.updateDataEnd=this.updateData.length;return this.events(),e}getEventTarget(u){return u.composedPath?u.composedPath()[0]:u.target}getListRows(){var e;let u=[];return this.updateData=[],(e=this.data)==null||e.forEach(a=>u.push(...this.initListItem(a))),this.options.infiniteScroll&&u.push({tagName:"li",props:{className:"ms-infinite-option",role:"option"}}),u.push({tagName:"li",props:{className:"ms-no-results",textContent:this.formatNoMatchesFound()}}),u}initListItem(u,e=0){let a=(u==null?void 0:u.title)||"",i=this.options.multiple?"multiple":"",t=this.options.single?"radio":"checkbox",r=!!(u!=null&&u.selected),o=this.options.single&&!this.options.singleRadio,s="";if(!(u!=null&&u.visible))return[];if(this.updateData.push(u),o&&(s="hide-radio "),u.selected&&(s+="selected "),u.type==="optgroup"){let g=[],x;if(this.options.hideOptgroupCheckboxes||this.options.single)x={tagName:"span",props:{dataset:{name:this.selectGroupName,key:u._key}}};else{let b={tagName:"input",props:{type:"checkbox",dataset:{name:this.selectGroupName,key:u._key},checked:r,disabled:u.disabled}};o?x=b:x={tagName:"div",props:{className:`icon-checkbox-container${t==="radio"?" radio":""}`},children:[b,{tagName:"div",props:{className:`ms-icon ${r?t==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]}}!s.includes("hide-radio")&&(this.options.hideOptgroupCheckboxes||this.options.single)&&(s+="hide-radio ");let p={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(p.props,u.label);let F={tagName:"li",props:{className:Rn(`group${this.options.single||u.disabled?" disabled":""} ${s}`).join(" "),role:"option",ariaSelected:String(r),dataset:{key:u._key}},children:[{tagName:"label",props:{className:Rn(`optgroup${this.options.single||u.disabled?" disabled":""}`).join(" ")},children:[x,p]}]},v=this.options.cssStyler(u);return v&&(F.props.style=v),g.push(F),u.children.forEach(b=>g.push(...this.initListItem(b,1))),g}if(s+=u.classes||"",e&&this.options.single&&(s+=`option-level-${e} `),u.divider)return[{tagName:"li",props:{className:"option-divider"}}];let l=i||s?(i+s).trim():"";u.disabled&&(l+=" disabled");let E=`${u.disabled?"disabled":""}`,d={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(d.props,u.text);let c={tagName:"input",props:{type:t,value:encodeURI(u.value),dataset:{key:u._key,name:this.selectItemName},checked:r,disabled:!!u.disabled}};u.selected&&(c.attrs={checked:"checked"});let D={tagName:"div",props:{className:`icon-checkbox-container${t==="radio"?" radio":""}`},children:[c,{tagName:"div",props:{className:`ms-icon ${c.props.checked?t==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]},m={tagName:"li",props:{role:"option",title:a,ariaSelected:String(r),dataset:{key:u._key}},children:[{tagName:"label",props:{className:E},children:[o?c:D,d]}]};l&&(m.props.className=l);let h=this.options.cssStyler(u);return h&&(m.props.style=h),[m]}initSelected(u=!1){var a,i;let e=0;for(let t of this.data||[])if(t.type==="optgroup"){let r=t.children.filter(o=>(o==null?void 0:o.selected)&&!o.disabled&&o.visible).length;t.children.length&&(t.selected=!this.options.single&&r&&r===t.children.filter(o=>o&&!o.disabled&&o.visible&&!o.divider).length),e+=r}else e+=t.selected&&!t.disabled&&t.visible?1:0;this.isAllSelected=((a=this.data)==null?void 0:a.filter(t=>t.selected&&!t.disabled&&t.visible).length)===((i=this.data)==null?void 0:i.filter(t=>!t.disabled&&t.visible&&!t.divider).length),this.isPartiallyAllSelected=!this.isAllSelected&&e>0,u||(this.isAllSelected?this.options.onCheckAll():e===0&&this.options.onUncheckAll())}initView(){let u;window.getComputedStyle?(u=window.getComputedStyle(this.elm).width,u==="auto"&&(u=Ui(this.dropElm,"outer","width")+20)):u=Ui(this.elm,"outer","width")+20,this.parentElm.style.width=`${this.options.width||u}px`,this.elm.classList.add("ms-offscreen")}events(){var e,a,i,t,r,o,s;this._bindEventService.unbindAll(["ok-button","search-input","select-all-checkbox","input-checkbox-list","group-checkbox-list","hover-highlight","arrow-highlight","option-list-scroll"]),this.clearSearchIconElm=(e=this.filterParentElm)==null?void 0:e.querySelector(".ms-icon-close"),this.searchInputElm=(a=this.dropElm)==null?void 0:a.querySelector(".ms-search input"),this.selectAllElm=(i=this.dropElm)==null?void 0:i.querySelector(`input[data-name="${this.selectAllName}"]`),this.selectGroupElms=(t=this.dropElm)==null?void 0:t.querySelectorAll(`input[data-name="${this.selectGroupName}"],span[data-name="${this.selectGroupName}"]`),this.selectItemElms=(r=this.dropElm)==null?void 0:r.querySelectorAll(`input[data-name="${this.selectItemName}"]:enabled`),this.noResultsElm=(o=this.dropElm)==null?void 0:o.querySelector(".ms-no-results");let u=l=>{l.preventDefault(),!this.getEventTarget(l).classList.contains("ms-icon-close")&&(this.options.isOpen?this.close("toggle.close"):this.open())};this.labelElm&&this._bindEventService.bind(this.labelElm,"click",l=>{this.getEventTarget(l).nodeName.toLowerCase()==="label"&&(u(l),(!this.options.filter||!this.options.isOpen)&&this.focus(),l.stopPropagation())}),this._bindEventService.bind(this.choiceElm,"click",u),this.options.onFocus&&this._bindEventService.bind(this.choiceElm,"focus",this.options.onFocus),this.options.onBlur&&this._bindEventService.bind(this.choiceElm,"blur",this.options.onBlur),this._bindEventService.bind(this.parentElm,"keydown",l=>{l.code==="Escape"&&this.handleEscapeKey()}),this.closeElm&&this._bindEventService.bind(this.closeElm,"click",l=>{l.preventDefault(),this._checkAll(!1,!0),this.initSelected(!1),this.updateSelected(),this.update(),this.options.onClear()}),this.clearSearchIconElm&&this._bindEventService.bind(this.clearSearchIconElm,"click",l=>{l.preventDefault(),this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this._currentHighlightIndex=-1,this.moveHighlightDown(),this.filter(),this.options.onFilterClear()}),this.searchInputElm&&(this._bindEventService.bind(this.searchInputElm,"keydown",l=>{l.code==="Tab"&&l.shiftKey&&this.close("key.shift+tab")},void 0,"search-input"),this._bindEventService.bind(this.searchInputElm,"keyup",l=>{var E,d,c;if(this.options.filterAcceptOnEnter&&["Enter","Space"].includes(l.code)&&((E=this.searchInputElm)!=null&&E.value)){if(this.options.single){let D=[];(d=this.selectItemElms)==null||d.forEach(m=>{var h;((h=m.closest("li"))==null?void 0:h.style.display)!=="none"&&D.push(m)}),D.length&&D[0].hasAttribute("data-name")&&this.setSelects([D[0].value])}else(c=this.selectAllElm)==null||c.click();this.close(`key.${l.code.toLowerCase()}`),this.focus();return}this.filter()},void 0,"search-input")),this.selectAllElm&&this._bindEventService.bind(this.selectAllElm,"click",l=>{var E;return this._checkAll((E=l.currentTarget)==null?void 0:E.checked)},void 0,"select-all-checkbox"),this.okButtonElm&&this._bindEventService.bind(this.okButtonElm,"click",l=>{u(l),l.stopPropagation()},void 0,"ok-button"),this.selectGroupElms&&this._bindEventService.bind(this.selectGroupElms,"click",l=>{let E=l.currentTarget,d=E.checked,c=Wi(this.data,"_key",E.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(jn({label:c.label,selected:c.selected,data:c._data,children:c.children.map(D=>{if(D)return jn({text:D.text,value:D.value,selected:D.selected,disabled:D.disabled,data:D._data})})}))},void 0,"group-checkbox-list"),this.selectItemElms&&this._bindEventService.bind(this.selectItemElms,"click",l=>{let E=l.currentTarget,d=E.checked,c=Wi(this.data,"_key",E.dataset.key),D=()=>{this.options.single&&this.options.isOpen&&!this.options.keepOpen&&this.close("selection")};if(this.options.onBeforeClick(c)===!1){D();return}this._check(c,d),this.options.onClick(jn({text:c.text,value:c.value,selected:c.selected,data:c._data})),D()},void 0,"input-checkbox-list"),this.lastFocusedItemKey&&this.dropElm&&((s=this.dropElm.querySelector(`li[data-key=${this.lastFocusedItemKey}]`))==null||s.focus()),this.options.navigationHighlight&&this.dropElm&&(this._bindEventService.bind(this.dropElm,"mouseover",l=>{var d,c;let E=this.getEventTarget(l).closest(".ms-select-all")||this.getEventTarget(l).closest("li");if((d=this.dropElm)!=null&&d.contains(E)&&this.lastMouseOverPosition!==`${l.clientX}:${l.clientY}`){let D=((c=this.dropElm)==null?void 0:c.querySelectorAll(ui))||[],m=Array.from(D).findIndex(h=>h.dataset.key===E.dataset.key);this._currentHighlightIndex!==m&&!E.classList.contains("disabled")&&(this._currentSelectedElm=E,this._currentHighlightIndex=m,this.changeCurrentOptionHighlight(E))}this.lastMouseOverPosition=`${l.clientX}:${l.clientY}`},void 0,"hover-highlight"),this._bindEventService.bind(this.dropElm,"keydown",l=>{var E,d,c,D;switch(l.key){case"ArrowUp":l.preventDefault(),this.moveHighlightUp();break;case"ArrowDown":l.preventDefault(),this.moveHighlightDown();break;case"Escape":this.handleEscapeKey();break;case"Enter":case" ":{if(document.activeElement!==this.okButtonElm){let m=this.getEventTarget(l).closest(".ms-select-all")||this.getEventTarget(l).closest("li");if(l.key===" "&&this.options.filter||this.options.filterAcceptOnEnter&&!m)return;l.preventDefault(),(d=(E=this._currentSelectedElm)==null?void 0:E.querySelector("input"))==null||d.click(),this.options.single&&(this.choiceElm.focus(),this.lastFocusedItemKey=((c=this.choiceElm)==null?void 0:c.dataset.key)||"")}break}case"Tab":{l.preventDefault(),l.shiftKey?document.activeElement===this.okButtonElm?(this.focusSelectAllOrList(),this.highlightCurrentOption()):(this.close("key.shift+tab"),this.choiceElm.focus()):(this.changeCurrentOptionHighlight(),(D=this.okButtonElm)==null||D.focus());break}}},void 0,"arrow-highlight")),this.ulElm&&this.options.infiniteScroll&&this._bindEventService.bind(this.ulElm,"scroll",this.infiniteScrollHandler.bind(this),void 0,"option-list-scroll")}handleEscapeKey(){this.options.keepOpen||(this.close("key.escape"),this.choiceElm.focus())}infiniteScrollHandler(u,e,a){let i=!1;u&&this.getEventTarget(u)&&this.ulElm&&this.scrolledByMouse?this.getEventTarget(u).scrollTop+this.getEventTarget(u).clientHeight===this.ulElm.scrollHeight&&(i=!0):e!==void 0&&e+1===a&&(i=!0),i&&this.ulElm&&(this.virtualScroll?this.initListItems():this.ulElm.scrollTop=0,this._currentHighlightIndex=0,this.highlightCurrentOption())}open(u=0){return new Promise(e=>{u!==null&&u>=0?(clearTimeout(this.openDelayTimer),this.openDelayTimer=setTimeout(()=>{this.openDrop(),e()},u)):(this.openDrop(),e())})}openDrop(){var i,t,r,o,s;if(!this.dropElm||(i=this.choiceElm)!=null&&i.classList.contains("disabled"))return;if(this.options.isOpen=!0,this.parentElm.classList.add("ms-parent-open"),(r=(t=this.choiceElm)==null?void 0:t.querySelector("div.ms-icon-caret"))==null||r.classList.add("open"),this.dropElm.style.display="block",this.dropElm.ariaExpanded="true",(o=this.selectAllElm)!=null&&o.parentElement&&(this.selectAllElm.parentElement.style.display="inline-flex"),this.noResultsElm&&(this.noResultsElm.style.display="none"),this.getDataLength()||((s=this.selectAllElm)!=null&&s.parentElement&&(this.selectAllElm.parentElement.style.display="none"),this.noResultsElm&&(this.noResultsElm.style.display="block")),this.options.container){let l=cr(this.dropElm),E;this.options.container instanceof Node?E=this.options.container:typeof this.options.container=="string"&&(E=this.options.container==="body"?document.body:document.querySelector(this.options.container)),E.appendChild(this.dropElm),this.dropElm.style.top=`${(l==null?void 0:l.top)??0}px`,this.dropElm.style.left=`${(l==null?void 0:l.left)??0}px`,this.dropElm.style.minWidth="auto",this.dropElm.style.width=`${Ui(this.parentElm,"outer","width")}px`}let u=this.options.minHeight,e=this.options.maxHeight;this.options.maxHeightUnit==="row"&&(e=Ui(this.dropElm.querySelector("ul>li"),"outer","height")*this.options.maxHeight),this.ulElm??(this.ulElm=this.dropElm.querySelector("ul")),this.ulElm&&(u&&(this.ulElm.style.minHeight=`${u}px`),this.ulElm.style.maxHeight=`${e}px`),this.dropElm.querySelectorAll(".multiple").forEach(l=>{l.style.width=`${this.options.multipleWidth}px`}),this.getDataLength()&&this.options.filter?(this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this.filter(!0)):this.focusSelectAllOrList(),this._currentHighlightIndex<0?this.moveHighlightDown():this.highlightCurrentOption(),this.options.autoAdjustDropWidthByTextSize&&this.adjustDropWidthByText();let a=this.options.position;if(this.options.autoAdjustDropHeight){if(this.options.autoAdjustDropPosition){let{bottom:l,top:E}=Ln(this.dropElm),d=this.dropElm.getBoundingClientRect().height;a=ll?"top":"bottom"}this.adjustDropHeight(a)}this.options.autoAdjustDropPosition&&this.adjustDropPosition(!0),this.options.onOpen()}focusSelectAllOrList(){this.selectAllElm?this.selectAllElm.focus():this.ulElm&&(this.ulElm.tabIndex=0,this.ulElm.focus())}highlightCurrentOption(){var e;let u=((e=this.dropElm)==null?void 0:e.querySelectorAll(ui))||[];if(this._currentHighlightIndex<=u.length){let a=u[this._currentHighlightIndex];a&&(this.lastFocusedItemKey=a.dataset.key||"",this._currentSelectedElm=a,this.scrolledByMouse=!1,a.scrollIntoView({block:"nearest"}),this.changeCurrentOptionHighlight(a),setTimeout(()=>this.scrolledByMouse=!0,10))}}changeCurrentOptionHighlight(u){var e;u==null||u.classList.add("highlighted"),(((e=this.dropElm)==null?void 0:e.querySelectorAll(kx))||[]).forEach(a=>{a!==u&&a.classList.remove("highlighted")})}moveHighlightDown(){var a,i;let u=((a=this.dropElm)==null?void 0:a.querySelectorAll(ui))||[],e=u.length;this._currentHighlightIndex0&&this.ulElm){let t=u[this._currentHighlightIndex+(this.options.single?0:1)],r=t==null?void 0:t.dataset.key;this.lastFocusedItemKey=r,this.ulElm.scrollTop=this.ulElm.scrollTop-(t==null?void 0:t.getBoundingClientRect().height)||10,this.isMoveUpRecalcRequired=!0;return}this._currentHighlightIndex>0&&(this._currentHighlightIndex--,(i=u[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightUp()),this.highlightCurrentOption()}recalculateArrowMove(u){var i;let e=((i=this.dropElm)==null?void 0:i.querySelectorAll(ui))||[],a=Array.from(e).findIndex(t=>t.dataset.key===this.lastFocusedItemKey);this._currentHighlightIndex=a-1,u==="down"?this.moveHighlightDown():u==="up"&&(this.moveHighlightUp(),this.isMoveUpRecalcRequired=!1)}close(u){var e,a;this.options.isOpen=!1,this.parentElm.classList.remove("ms-parent-open"),(a=(e=this.choiceElm)==null?void 0:e.querySelector("div.ms-icon-caret"))==null||a.classList.remove("open"),this.dropElm&&(this.dropElm.style.display="none",this.dropElm.ariaExpanded="false",this.options.container&&(this.parentElm.appendChild(this.dropElm),this.dropElm.style.top="auto",this.dropElm.style.left="auto")),this.options.onClose(u)}applyAsTextOrHtmlWhenEnabled(u,e){u||(u={}),this.isRenderAsHtml?u.innerHTML=typeof this.options.sanitizer=="function"?this.options.sanitizer(e):e:u.textContent=e}update(u=!1){var l;let e=this.getSelects(),a=this.getSelects("text");this.options.displayValues&&(a=e);let i=(l=this.choiceElm)==null?void 0:l.querySelector("span"),t=e.length,r=null,o=()=>{if(this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml){let E=e.join(this.options.displayDelimiter);return this.options.useSelectOptionLabelToHtml?xx(E):E}return a.join(this.options.displayDelimiter)};if(i){if(t===0){let E=this.options.placeholder||"";i.classList.add("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,E)}else tthis.options.minimumCountSelected?r=`${a.slice(0,this.options.minimumCountSelected).join(this.options.displayDelimiter)}...`:this.formatCountSelected(t,this.dataTotal)&&t>this.options.minimumCountSelected?r=this.formatCountSelected(t,this.dataTotal):r=o();if(r!==null&&(i==null||i.classList.remove("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,r)),this.options.showClear&&this.selectClearElm){let E=r?"block":"none";this.selectClearElm.style.display=E}if(this.options.displayTitle){let E=this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml?"value":"text";i.title=this.getSelects(E).join(this.options.displayDelimiter)}}let s=this.getSelects();this.options.single?this.elm.value=s.length?s[0]:"":Array.from(this.elm.options).forEach(E=>{E.selected=s.some(d=>d===E.value)}),u||this.elm.dispatchEvent(new Event("change"))}updateSelected(u){var a,i,t;for(let r=this.updateDataStart;rr.visible).length)===0;if(this.selectAllElm){this.selectAllElm.ariaChecked=String(this.isAllSelected);let r=(t=this.dropElm)==null?void 0:t.querySelector(".ms-select-all .icon-checkbox-container div");if(r){let o="";this.isAllSelected?o="ms-icon-check":this.isPartiallyAllSelected?o="ms-icon-minus":o="ms-icon-uncheck",r.className=`ms-icon ${o}`}this.selectAllElm.checked=this.isAllSelected,Ws(this.selectAllElm.closest("li"),!e)}Ws(this.noResultsElm,e),this.virtualScroll&&(this.virtualScroll.rows=u??this.getListRows())}getData(){return this.options.data}getDataLength(){var u;return((u=this.data)==null?void 0:u.length)??0}getOptions(u=!0){let e=Object.assign({},this.options);return delete e.data,u?Er(e):this.options}refreshOptions(u){Dx(this.options,u,!0)||(this.options=Object.assign(this.options,u),this.destroy(!1),this.init())}getDropElement(){return this.dropElm}getParentElement(){return this.parentElm}getSelects(u="value"){let e=[];for(let a of this.data||[])if(a.type==="optgroup"){let i=a.children.filter(t=>t==null?void 0:t.selected);if(!i.length)continue;if(u==="value"||this.options.single)e.push(...i.map(t=>u==="value"&&t._value||t[u]));else{let t=[];t.push("["),t.push(a.label),t.push(`: ${i.map(r=>r[u]).join(", ")}`),t.push("]"),e.push(t.join(""))}}else a.selected&&e.push(u==="value"&&a._value||a[u]);return e}setSelects(u,e="value",a=!1){let i=!1,t=r=>{var o;for(let s of r){let l=!1;if(e==="text"){let E=document.createElement("div");this.applyAsTextOrHtmlWhenEnabled(E,s.text),l=u.includes(((o=E.textContent)==null?void 0:o.trim())??"")}else l=u.includes(s._value||s.value),!l&&s.value===`${+s.value}`&&(l=u.includes(+s.value));s.selected!==l&&(i=!0),s.selected=l}};for(let r of this.data||[])r.type==="optgroup"?t(r.children):t([r]);i&&(this.initSelected(a),this.updateSelected(),this.update(a))}enable(){this.choiceElm&&(this.choiceElm.classList.remove("disabled"),this.choiceElm.disabled=!1)}disable(){var u;this.choiceElm&&((u=this.choiceElm)==null||u.classList.add("disabled"),this.choiceElm.disabled=!0)}check(u){let e=Wi(this.data,"value",u);e&&this._check(e,!0)}uncheck(u){let e=Wi(this.data,"value",u);e&&this._check(e,!1)}_check(u,e){this.options.single&&this._checkAll(!1,!0),u.selected=e,this.initSelected(),this.updateSelected(),this.update()}checkAll(){this._checkAll(!0)}uncheckAll(){this._checkAll(!1)}_checkAll(u,e){for(let a of this.data||[])a.type==="optgroup"?this._checkGroup(a,u,!0):!a.disabled&&!a.divider&&(e||a.visible)&&(a.selected=u);e||(this.initSelected(),this.updateSelected(),this.update())}_checkGroup(u,e,a){u.selected=e,u.children.forEach(i=>{i&&!i.disabled&&!i.divider&&(a||i.visible)&&(i.selected=e)}),a||(this.initSelected(),this.updateSelected(),this.update())}checkInvert(){if(!this.options.single){for(let u of this.data||[])if(u.type==="optgroup")for(let e of u.children)e&&(e.divider||(e.selected=!e.selected));else u&&!u.divider&&(u.selected=!u.selected);this.initSelected(),this.updateSelected(),this.update()}}focus(){var u;(u=this.choiceElm)==null||u.focus(),this.options.onFocus()}blur(){var u;(u=this.choiceElm)==null||u.blur(),this.options.onBlur()}refresh(){this.destroy(!1),this.init()}filter(u){var t;let e=((t=this.searchInputElm)==null?void 0:t.value.trim())??"",a=e.toLowerCase();if(this.filterText===a)return;this.filterText=a;for(let r of this.data||[])if(r.type==="optgroup")if(this.options.filterGroup){let o=`${(r==null?void 0:r.label)??""}`;if(r!=null){let s=this.options.customFilter({label:va(o.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalLabel:o,originalSearch:e,row:r});r.visible=s;for(let l of r.children)l&&(l.visible=s)}}else{for(let o of r.children)if(o!=null){let s=`${(o==null?void 0:o.text)??""}`;o.visible=this.options.customFilter({text:va(s.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalText:s,originalSearch:e,row:o,parent:r})}r.visible=r.children.filter(o=>o==null?void 0:o.visible).length>0}else{let o=`${(r==null?void 0:r.text)??""}`;r.visible=this.options.customFilter({text:va(o.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalText:o,originalSearch:e,row:r})}let i=this.initListItems();this.initSelected(u),this.updateSelected(i),u||this.options.onFilter(e)}adjustDropHeight(u){var E,d,c,D;let e=u!=="top",a=((E=this.filterParentElm)==null?void 0:E.getBoundingClientRect().height)??0,i=((d=this.okButtonElm)==null?void 0:d.getBoundingClientRect().height)??0,t=this.options.single?0:((c=this.selectAllParentElm)==null?void 0:c.getBoundingClientRect().height)??0,r=a+i+t+5,{bottom:o,top:s}=Ln(this.parentElm),l=this.options.maxHeight;if(e?l=o-r-this.options.adjustedHeightPadding:l=s-r-this.options.adjustedHeightPadding,!this.options.maxHeight||this.options.maxHeight&&lo)e="bottom";else if(o>a&&i>a){if(this.options.container){let d=t-o;d<0&&(d=0),(d>0||u)&&(e="top",this.dropElm.style.top=`${d<0?0:d}px`)}else e="top",this.dropElm.classList.add(e);this.dropElm.classList.remove("bottom")}l-sa.clientHeight?this.getScrollbarWidth():0,o=0;this.dropElm.querySelectorAll("li label").forEach(s=>{s.scrollWidth>o&&(o=s.scrollWidth)}),o+=i+r,othis.options.maxWidth&&(o=this.options.maxWidth),this.options.minWidth&&otypeof n=="string"?Nn(document.querySelectorAll(n),u):n instanceof Node?Nn([n],u):Nn(n,u);function Nn(n,u){let e=Array.from(n),a=[];for(let i=0;idelete t._multipleSelect,r.onAfterHardDestroyed=()=>a[i]=null,a.push(t._multipleSelect)}catch(r){console.error(r)}}return a.length===1?a[0]:a}Va.defaults=ie.DEFAULTS;Va.locales={...o4};Va.methods=ie.METHODS;typeof window<"u"&&(window.multipleSelect=Va);class E4{constructor(u,e,a,i=!0){this.translaterService=u,this.collectionService=e,this.rxjs=a,this._isMultipleSelect=!0,this._collectionLength=0,this._shouldTriggerQuery=!0,this.isFilled=!1,this.enableTranslateLabel=!1,this.subscriptions=[],this._isMultipleSelect=i}get collectionOptions(){var u,e;return((e=(u=this.columnDef)==null?void 0:u.filter)==null?void 0:e.collectionOptions)??{}}get columnFilter(){var u;return((u=this.columnDef)==null?void 0:u.filter)??{}}get customStructure(){var u,e;return(e=(u=this.columnDef)==null?void 0:u.filter)==null?void 0:e.customStructure}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get defaultOperator(){return this.isMultipleSelect?T.in:T.equal}get filterOptions(){var u,e;return{...(u=this.gridOptions.defaultFilterOptions)==null?void 0:u.select,...(e=this.columnFilter)==null?void 0:e.filterOptions}}get isMultipleSelect(){return this._isMultipleSelect}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get operator(){var u;return((u=this.columnFilter)==null?void 0:u.operator)??this.defaultOperator}set operator(u){this.columnFilter&&(this.columnFilter.operator=u)}init(u){var i,t,r,o,s,l,E,d,c,D,m;if(!u)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=u.grid,this.callback=u.callback,this.columnDef=u.columnDef,this.searchTerms=(u.hasOwnProperty("searchTerms")?u.searchTerms:[])||[],this.filterContainerElm=u.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the MultipleSelect/SingleSelect Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.multipleSelect, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);if(this.enableTranslateLabel=((i=this.columnFilter)==null?void 0:i.enableTranslateLabel)??!1,this.labelName=((t=this.customStructure)==null?void 0:t.label)??"label",this.labelPrefixName=((r=this.customStructure)==null?void 0:r.labelPrefix)??"labelPrefix",this.labelSuffixName=((o=this.customStructure)==null?void 0:o.labelSuffix)??"labelSuffix",this.optionLabel=((s=this.customStructure)==null?void 0:s.optionLabel)??"value",this.valueName=((l=this.customStructure)==null?void 0:l.value)??"value",this.enableTranslateLabel&&(!this.translaterService||typeof this.translaterService.translate!="function"))throw new Error('[select-filter] The Translate Service is required for the Select Filter to work correctly when "enableTranslateLabel" is set.');this._locales=((E=this.gridOptions)==null?void 0:E.locales)??_.locales,this.initMultipleSelectTemplate();let e=((d=this.gridOptions)==null?void 0:d.defaultFilterPlaceholder)||"";(c=this.columnFilter)!=null&&c.placeholder&&(e=this.columnFilter.placeholder),this.defaultOptions.placeholder=e||"",this._isMultipleSelect&&((D=this.columnDef)!=null&&D.filter)&&(this.columnDef.filter.emptySearchTermReturnAllValues=((m=this.columnDef.filter)==null?void 0:m.emptySearchTermReturnAllValues)??!1);const a=this.columnFilter.collection||[];return new Promise(async(h,g)=>{try{let x;this.columnFilter.collectionAsync&&!this.columnFilter.collection?(x=c1(this.columnFilter.collectionAsync,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),h(x)):(x=a,this.renderDomElement(a),h(a)),(this.columnFilter.collectionAsync||this.columnFilter.enableCollectionWatch)&&(await(x??this.columnFilter.collectionAsync),this.watchCollectionChanges())}catch(x){g(x)}})}clear(u=!0){this._msInstance&&this._collectionLength>0&&(this._msInstance.setSelects([]),this.updateFilterStyle(!1),this.searchTerms=[],this._shouldTriggerQuery=u,this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0)}destroy(){var u,e;typeof((u=this._msInstance)==null?void 0:u.destroy)=="function"&&this._msInstance.destroy(),(e=this.filterElm)==null||e.remove(),qt(this.subscriptions)}getValues(){var u;return((u=this._msInstance)==null?void 0:u.getSelects())??[]}setValues(u,e,a=!1){u!==void 0&&this._msInstance&&(u=Array.isArray(u)?u.every(i=>Si(i))?u.map(String):u:[u],this._msInstance.setSelects(u)),this.updateFilterStyle(this.getValues().length>0),this.operator=e||this.defaultOperator,a&&this.onTriggerEvent()}filterCollection(u){var a,i;let e=u;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const t=this.columnFilter.collectionFilterBy,r=((a=this.columnFilter.collectionOptions)==null?void 0:a.filterResultAfterEachPass)||null;e=((i=this.collectionService)==null?void 0:i.filterCollection(e,t,r))||[]}return e}sortCollection(u){var a;let e=u;if(this.columnFilter&&this.columnFilter.collectionSortBy){const i=this.columnFilter.collectionSortBy;e=((a=this.collectionService)==null?void 0:a.sortCollection(this.columnDef,e,i,this.enableTranslateLabel))||[]}return e}watchCollectionChanges(){var u;(u=this.columnFilter)!=null&&u.collection&&(pi(this.columnFilter.collection,this.watchCallback.bind(this)),Wt(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(u){this.renderDomElement(u||[]),this.columnFilter.collection&&pi(this.columnFilter.collection,this.watchCallback.bind(this))}watchCallback(u){this.renderDomElement(this.columnFilter.collection||u||[])}renderDomElement(u){var t,r,o,s;if(!Array.isArray(u)&&((t=this.collectionOptions)!=null&&t.collectionInsideObjectProperty)){const l=this.collectionOptions.collectionInsideObjectProperty;u=Qu(u,l||"")}if(!Array.isArray(u))throw new Error('The "collection" passed to the Select Filter is not a valid array.');let e=[];if(u.length>0&&(e=[...u]),(r=this.collectionOptions)!=null&&r.addBlankEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==""&&e.unshift(this.createBlankEntry()),(o=this.collectionOptions)!=null&&o.addCustomFirstEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&e.unshift(this.collectionOptions.addCustomFirstEntry),(s=this.collectionOptions)!=null&&s.addCustomLastEntry&&Array.isArray(e)&&e.length>0){const l=e.length-1;e[l][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&e.push(this.collectionOptions.addCustomLastEntry)}let a=e;a=this.filterCollection(a),a=this.sortCollection(a);const i=S1("filter",a,this.columnDef,this.grid,this.isMultipleSelect,this.translaterService,this.searchTerms||[]);this.isFilled=i.hasFoundSearchTerm,this.createFilterElement(i.selectElement,i.dataCollection),this._collectionLength=a.length}createBlankEntry(){const u={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(u[this.labelPrefixName]=""),this.labelSuffixName&&(u[this.labelSuffixName]=""),u}createFilterElement(u,e){var i;const a=((i=this.columnDef)==null?void 0:i.id)??"";this.elementName=`filter-${a}`,this.defaultOptions.name=this.elementName,Au(this.filterContainerElm),this.filterElm=u,this.filterElm.dataset.columnId=`${a}`,this.updateFilterStyle(this.isFilled),this.filterContainerElm.appendChild(u),this.filterElmOptions={...this.defaultOptions,...this.filterOptions,data:e},this._msInstance=Va(u,this.filterElmOptions)}initMultipleSelectTemplate(){var i,t,r,o,s,l,E,d,c,D,m,h,g;const u=((i=this.gridOptions)==null?void 0:i.enableTranslate)??!1,a={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,name:`${((t=this.columnDef)==null?void 0:t.id)??""}`,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,single:!0,singleRadio:!0,showSearchClear:!0,renderOptionLabelAsHtml:((r=this.columnFilter)==null?void 0:r.enableRenderHtml)??!1,sanitizer:x=>this.grid.sanitizeHtmlString(x),onClose:()=>this.onTriggerEvent(),onClear:()=>this.clear()};if(this._isMultipleSelect){a.single=!1,a.singleRadio=!1,a.showOkButton=!0,a.displayTitle=!0;const x=Q0(this.gridOptions);a.countSelectedText=u&&((o=this.translaterService)!=null&&o.translate)?this.translaterService.translate(`${x}X_OF_Y_SELECTED`):(s=this._locales)==null?void 0:s.TEXT_X_OF_Y_SELECTED,a.allSelectedText=u&&((l=this.translaterService)!=null&&l.translate)?this.translaterService.translate(`${x}ALL_SELECTED`):(E=this._locales)==null?void 0:E.TEXT_ALL_SELECTED,a.noMatchesFoundText=u&&((d=this.translaterService)!=null&&d.translate)?this.translaterService.translate(`${x}NO_MATCHES_FOUND`):(c=this._locales)==null?void 0:c.TEXT_NO_MATCHES_FOUND,a.okButtonText=u&&((D=this.translaterService)!=null&&D.translate)?this.translaterService.translate(`${x}OK`):(m=this._locales)==null?void 0:m.TEXT_OK,a.selectAllText=u&&((h=this.translaterService)!=null&&h.translate)?this.translaterService.translate(`${x}SELECT_ALL`):(g=this._locales)==null?void 0:g.TEXT_SELECT_ALL}this.defaultOptions=a}onTriggerEvent(){if(this._msInstance){const u=this.getValues();this.updateFilterStyle(Array.isArray(u)&&u.length>1||u.length===1&&u[0]!==""),this.searchTerms=u,this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:u,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0}}updateFilterStyle(u){var e,a,i,t,r,o;u?(this.isFilled=!0,(e=this.filterElm)==null||e.classList.add("filled"),(i=(a=this._msInstance)==null?void 0:a.getParentElement())==null||i.classList.add("filled")):(this.isFilled=!1,(t=this.filterElm)==null||t.classList.remove("filled"),(o=(r=this._msInstance)==null?void 0:r.getParentElement())==null||o.classList.remove("filled"))}}class Ax extends E4{constructor(u,e,a){super(u,e,a,!0),this.translaterService=u,this.collectionService=e,this.rxjs=a}}class bx extends E4{constructor(u,e,a){super(u,e,a,!1),this.translaterService=u,this.collectionService=e,this.rxjs=a}}class fx extends uo{constructor(u){super(u),this.translaterService=u,this.sliderType="single"}}class Bx extends uo{constructor(u){super(u),this.translaterService=u,this.sliderType="double"}}const H={autocompleter:CD,compoundDate:_m,compoundInput:$s,compoundInputNumber:Yh,compoundInputPassword:Qh,compoundInputText:$s,compoundSlider:ux,dateRange:ex,input:Ue,inputMask:ax,inputNumber:ix,inputPassword:tx,inputText:Ue,multipleSelect:Ax,singleSelect:bx,slider:fx,sliderRange:Bx};class yx{constructor(u,e,a,i){var t;this.config=u,this.translaterService=e,this.collectionService=a,this.rxjs=i,this._options=((t=this.config)==null?void 0:t.options)??{}}addRxJsResource(u){this.rxjs=u}createFilter(u){let e;return u!=null&&u.model&&(e=typeof u.model=="function"?new u.model(this.translaterService,this.collectionService,this.rxjs):u.model),!e&&this._options.defaultFilter&&(e=new this._options.defaultFilter(this.translaterService,this.collectionService,this.rxjs)),e}}const eo={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Us},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"}},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{itemsKey:"ITEMS",ofKey:"OF",itemsSelectedKey:"ITEMS_SELECTED"}},customTooltip:{tooltipTextMaxLength:700,maxWidth:500},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:H.input,defaultBackendServiceFilterTypingDebounce:500,enableFilterTrimWhiteSpace:!1,defaultFilterPlaceholder:"🔎︎",defaultFilterRangeOperator:T.rangeInclusive,defaultColumnSortFieldId:"id",draggableGrouping:{hideToggleAllButton:!1,toggleAllButtonText:"",dropPlaceHolderTextKey:"DROP_COLUMN_HEADER_TO_GROUP_BY"},editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,emptyDataWarning:{className:"slick-empty-data-warning",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,autoDetectCellFormat:!0,exportWithFormatter:!1,filename:"export",format:Hu.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"⮞",groupExpandedSymbol:"⮟",groupingAggregatorRowText:"",sanitizeDataExport:!0},textExportOptions:{delimiter:ze.comma,exportWithFormatter:!1,filename:"export",format:Hu.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!0,useUtf8WithBom:!0},eventNamingStyle:I0.lowerCase,forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleFilterCommand:!1,hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-pin-off-outline",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",headerColumnValueExtractor:Us},headerMenu:{autoAlign:!0,autoAlignOffset:4,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFilterShortcutSubMenu:"mdi mdi-filter-outline",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},ignoreAccentOnStringFilterAndSort:!1,multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},headerRowHeight:35,rowHeight:35,topPanelHeight:30,translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"͏͏͏͏͏͏͏͏͏·"}};function Us(n,u){const e=(n==null?void 0:n.columnGroup)||"",a=(u==null?void 0:u.columnGroupSeparator)??" - ";return e?e+a+n.name:(n==null?void 0:n.name)??""}class zx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._sum=0,this._itemCount=0,this._type="sum",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._isTreeAggregator=e,this._isInitialized=!0,this._sum=0,this._itemCount=0,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={},u.__treeTotals.count={}),u.__treeTotals.count[this._field]=0,u.__treeTotals[this._type][this._field]=0)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;this._isTreeAggregator?e?(u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals),this._sum=parseFloat(u.__treeTotals[this._type][this._field]??0),this._itemCount=u.__treeTotals.count[this._field]??0):lu(a)&&(this._sum=parseFloat(a),this._itemCount=1):lu(a)&&(this._sum+=parseFloat(a))}storeResult(u){(!u||u[this._type]===void 0)&&(u[this._type]={}),this.addGroupTotalPropertiesWhenNotExist(u);let e=this._sum,a=this._itemCount;this._isTreeAggregator&&(e+=u[this._type][this._field],a+=u.count[this._field],u.count[this._field]=a),u[this._type][this._field]=e}addGroupTotalPropertiesWhenNotExist(u){u[this._type]===void 0&&(u[this._type]={}),this._isTreeAggregator&&u.count===void 0&&(u.count={})}}class Sx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._max=null,this._type="max",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._max=null,this._isInitialized=!0,this._isTreeAggregator=e,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={}),u.__treeTotals[this._type][this._field]=null)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;if(!this._isTreeAggregator)this.keepMaxValueWhenFound(a);else if(e){u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals);const i=u.__treeTotals[this._type][this._field]!==null?parseFloat(u.__treeTotals[this._type][this._field]):null;i!==null&&lu(i)&&(this._max===null||i>this._max)&&(this._max=i)}else lu(a)&&this.keepMaxValueWhenFound(a)}storeResult(u){let e=this._max;if(this.addGroupTotalPropertiesWhenNotExist(u),this._isTreeAggregator&&e!==null){const a=u[this._type][this._field];lu(a)&&a>e&&(e=a)}u[this._type][this._field]=e}addGroupTotalPropertiesWhenNotExist(u){u[this._type]===void 0&&(u[this._type]={})}keepMaxValueWhenFound(u){lu(u)&&(this._max===null||u>this._max)&&(this._max=parseFloat(u))}}class wx{constructor(u){this._isInitialized=!1,this._distinctValues=[],this._type="distinct",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){if(this._distinctValues=[],this._isInitialized=!0,e)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(u){const e=u&&u.hasOwnProperty(this._field)?u[this._field]:void 0;this._distinctValues.indexOf(e)===-1&&e!==void 0&&this._distinctValues.push(e)}storeResult(u){(!u||u[this._type]===void 0)&&(u[this._type]={}),u[this._type][this._field]=this._distinctValues}}class Mx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._min=null,this._type="min",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._min=null,this._isInitialized=!0,this._isTreeAggregator=e,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={}),u.__treeTotals[this._type][this._field]=null)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;if(!this._isTreeAggregator)this.keepMinValueWhenFound(a);else if(e){u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals);const i=u.__treeTotals[this._type][this._field]!==null?parseFloat(u.__treeTotals[this._type][this._field]):null;i!==null&&lu(i)&&(this._min===null||i=t)||r==="inclusive"&&(Et)))s=!1,l=e||_.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN.replace(/{{minLength}}|{{maxLength}}/gi,d=>o[d]);else if(i!==void 0&&E!==null&&(r==="exclusive"&&E<=i||r==="inclusive"&&E!==null&&Eo[c])}else if(t!==void 0&&E!==null&&(r==="exclusive"&&E>=t||r==="inclusive"&&E!==null&&E>t)){s=!1;const d=r==="inclusive"?_.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE:_.VALIDATION_EDITOR_TEXT_MAX_LENGTH;l=e||d.replace(/{{maxLength}}/gi,c=>o[c])}return{valid:s,msg:l}}const jx=3;class Lx{constructor(u){var e;if(this.args=u,this._isValueTouched=!1,this._lastTriggeredByClearInput=!1,this.disabled=!1,this.forceUserInput=!1,this.finalCollection=[],!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this._bindEventService=new pu,(e=this.gridOptions)!=null&&e.translater&&(this._translater=this.gridOptions.translater),this._locales=this.gridOptions&&this.gridOptions.locales||_.locales,this.init()}get autocompleterOptions(){return this._autocompleterOptions||{}}get collection(){var u;return((u=this.columnEditor)==null?void 0:u.collection)??[]}get editorDomElement(){return this._inputElm}get elementCollection(){return this._elementCollection}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get customStructure(){var a,i,t,r,o;let u=(a=this.columnEditor)==null?void 0:a.customStructure;const e=((i=this.columnEditor)==null?void 0:i.type)??((t=this.columnDef)==null?void 0:t.type);return!u&&e===C.object&&((r=this.columnDef)!=null&&r.dataKey)&&((o=this.columnDef)!=null&&o.labelKey)&&(u={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),u}get dataContext(){return this.args.item}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.autocompleter,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get instance(){return this._instance}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var e,a,i,t,r,o;this.labelName=((e=this.customStructure)==null?void 0:e.label)??"label",this.valueName=((a=this.customStructure)==null?void 0:a.value)??"value",this.labelPrefixName=((i=this.customStructure)==null?void 0:i.labelPrefix)??"labelPrefix",this.labelSuffixName=((t=this.customStructure)==null?void 0:t.labelSuffix)??"labelSuffix";let u=this.columnEditor.collection;(r=this.columnEditor)!=null&&r.collectionAsync&&!u&&(u=[]),this.renderDomElement(u),(this.disabled||(o=this.columnEditor)!=null&&o.collectionAsync&&Array.isArray(u)&&u.length===0)&&this.disable(!0)}destroy(){var u,e,a;this._bindEventService.unbindAll(),typeof((u=this._instance)==null?void 0:u.destroy)=="function"&&this._instance.destroy(),(a=(e=this._inputElm)==null?void 0:e.remove)==null||a.call(e),this._elementCollection=null}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._inputElm)if(u){this._inputElm.disabled=!0;const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.clear(!0)}else this._inputElm.disabled=!1}focus(){this.grid.focus(),this._inputElm&&(this._inputElm.focus(),this._inputElm.select())}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(u,e=!1,a=!0){if(this._inputElm.value=u!=null&&u.hasOwnProperty(this.labelName)?u[this.labelName]:u,e){this._currentValue=u,this._defaultTextValue=typeof u=="string"?u:(u==null?void 0:u[this.labelName])??"",this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var t,r;let a=e;const i=(t=this.columnDef)==null?void 0:t.field;if(i!==void 0){Array.isArray(this.collection)&&this.collection.length>0&&(a=Ae(this.collection,l=>l&&Ge(e)&&l.hasOwnProperty(this.valueName)?l[this.valueName].toString()===(e.hasOwnProperty(this.valueName)&&e[this.valueName].toString()):l&&typeof e=="string"&&l.hasOwnProperty(this.valueName)?l[this.valueName].toString()===e:(l==null?void 0:l.toString())===e,""));const o=(i==null?void 0:i.indexOf("."))>0,s=this.validate(null,a);if(a=s!=null&&s.valid?a:"",o){const l=((r=this.columnEditor)==null?void 0:r.complexObjectPath)??i??"";B0(u,l,a)}else u[i]=a}}isValueChanged(){var i,t;const u=this._inputElm.value,e=(i=this._lastInputKeyEvent)==null?void 0:i.key;if((t=this.columnEditor)!=null&&t.alwaysSaveOnEnterKey&&e==="Enter")return!0;const a=!(u===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&u!==this._defaultTextValue;return this._lastTriggeredByClearInput||a}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._currentValue=t,this._originalValue=t,this._defaultTextValue=typeof t=="string"?t:(t==null?void 0:t[this.labelName])??"",this._inputElm.value=this._defaultTextValue,this._inputElm.select()}}clear(u=!1){this._inputElm&&(this._currentValue="",this._defaultTextValue="",this.setValue("",!0)),this._isValueTouched=!0,this._lastTriggeredByClearInput=!0;const e=this.args.compositeEditorOptions;if(e){const a=!u;this.handleChangeOnCompositeEditor(null,e,"user",a)}else this.save()}reset(u,e=!0,a=!1){const i=u??this._originalValue??"";this._inputElm&&(this._currentValue=i,this._defaultTextValue=typeof i=="string"?i:(i==null?void 0:i[this.labelName])??"",this._inputElm.value=this._defaultTextValue),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u,e,a,i,t;if(this._inputElm&&this.editorOptions.forceUserInput){const r=((u=this.editorOptions)==null?void 0:u.minLength)??jx;this._currentValue=this._inputElm.value.length>r?this._inputElm.value:this._currentValue}return this.customStructure&&this._currentValue&&this._currentValue.hasOwnProperty(this.valueName)&&((e=this.columnDef)==null?void 0:e.type)!==C.object&&((a=this.columnEditor)==null?void 0:a.type)!==C.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((i=this.columnDef)==null?void 0:i.type)===C.object||((t=this.columnEditor)==null?void 0:t.type)===C.object?{[this.labelName]:this._currentValue.label,[this.valueName]:this._currentValue.value}:this._currentValue.value:this._currentValue}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._inputElm)==null?void 0:i.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleSelect(u){var e;if(u!==void 0){const i=u;this._currentValue=i,this._isValueTouched=!0;const t=this.args.compositeEditorOptions,r=((e=this.editorOptions)==null?void 0:e.renderItem)??!1,o=typeof i=="string"?i:r?i[this.labelName]:i.label;if(this.setValue(o),t?this.handleChangeOnCompositeEditor(null,t):this.save(),typeof this.editorOptions.onSelectItem=="function"){const{row:s,cell:l}=this.grid.getActiveCell()||{};this.editorOptions.onSelectItem(u,s,l,this.args.column,this.args.item)}setTimeout(()=>this._lastTriggeredByClearInput=!1)}return!1}renderRegularItem(u){const e=typeof u=="string"?u:(u==null?void 0:u.label)??"";return A("div",{textContent:e||""})}renderCustomItem(u){var i,t;const e=((t=(i=this._autocompleterOptions)==null?void 0:i.renderItem)==null?void 0:t.templateCallback(u))??"",a=document.createElement("div");return this.grid.applyHtmlCode(a,e),a}renderCollectionItem(u){var l;const e=((l=this.columnEditor)==null?void 0:l.enableRenderHtml)??!1,a=u.labelPrefix||"",i=u.label||"",t=u.labelSuffix||"",r=a+i+t,o=this.grid.sanitizeHtmlString(r)||"",s=document.createElement("div");return s[e?"innerHTML":"textContent"]=o,s}renderDomElement(u){var o,s,l,E,d,c,D,m,h,g,x,p;const e=((o=this.columnDef)==null?void 0:o.id)??"",a=((s=this.columnEditor)==null?void 0:s.placeholder)??"",i=((l=this.columnEditor)==null?void 0:l.title)??"";this._editorInputGroupElm=A("div",{className:"autocomplete-container input-group"});const t=A("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=A("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(A("i",{className:"icon-clear"})),this._inputElm=A("input",{type:"text",placeholder:a,title:i,autocomplete:"off",ariaAutoComplete:"none",className:`autocomplete form-control editor-text input-group-editor editor-${e}`,dataset:{input:""}},this._editorInputGroupElm),this._editorInputGroupElm.appendChild(document.createElement("span")),(E=this.editorOptions)!=null&&E.hideClearButton||(t.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(t),this._bindEventService.bind(this._clearButtonElm,"click",()=>this.clear())),this._bindEventService.bind(this._inputElm,"focus",()=>{var F;return(F=this._inputElm)==null?void 0:F.select()}),this._bindEventService.bind(this._inputElm,"keydown",F=>{this._lastInputKeyEvent=F,(F.key==="ArrowLeft"||F.key==="ArrowRight")&&F.stopImmediatePropagation(),F.key==="Enter"&&F.target.value===""&&this.columnEditor.alwaysSaveOnEnterKey&&(this._currentValue=null)});let r=u;if(r&&((d=this.columnEditor)!=null&&d.collectionOverride)){const F={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:v,modalType:b}=this.args.compositeEditorOptions;F.compositeEditorOptions={formValues:v,modalType:b}}r=this.columnEditor.collectionOverride(r,F)}r&&(this.finalCollection=r),Array.isArray(r)&&(this.collection.every(F=>Si(F))?r=r.map(F=>({label:F,value:F})):r=r.map(F=>({label:F==null?void 0:F[this.labelName],value:F==null?void 0:F[this.valueName],labelPrefix:(F==null?void 0:F[this.labelPrefixName])??"",labelSuffix:(F==null?void 0:F[this.labelSuffixName])??""})),this._elementCollection=r),this._autocompleterOptions={input:this._inputElm,debounceWaitMs:200,className:`slick-autocomplete ${((c=this.editorOptions)==null?void 0:c.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((D=this._translater)!=null&&D.translate)?this._translater.translate("NO_ELEMENTS_FOUND"):((m=this._locales)==null?void 0:m.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(F,v,b)=>{b.style.width=""},onSelect:this.handleSelect.bind(this),...this.editorOptions},(h=this.gridOptions)!=null&&h.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=_u(this.autocompleterOptions.className).join(" "),(g=this._autocompleterOptions.renderItem)!=null&&g.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${Na(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(u)?this._autocompleterOptions.render=((x=this._autocompleterOptions.render)==null?void 0:x.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(p=this._autocompleterOptions)!=null&&p.fetch?(d1(this._inputElm,this._autocompleterOptions),this._instance=bt(this._autocompleterOptions)):this._instance=bt({...this._autocompleterOptions,fetch:(F,v)=>{r&&v(r.filter(b=>((typeof b=="string"?b:b==null?void 0:b.label)||"").toLowerCase().includes(F.toLowerCase())))}}),this.args.container.appendChild(this._editorInputGroupElm),this.args.compositeEditorOptions||setTimeout(()=>this.focus(),50)}}class Rx{constructor(u){if(this.args=u,this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var i,t,r,o;const u=((i=this.columnDef)==null?void 0:i.id)??"",e=this.args.compositeEditorOptions;this._checkboxContainerElm=A("div",{className:`checkbox-editor-container editor-${u}`}),this._input=A("input",{type:"checkbox",value:"true",ariaLabel:((t=this.columnEditor)==null?void 0:t.ariaLabel)??`${ce(u+"")} Checkbox Editor`,className:`editor-checkbox editor-${u}`,title:((r=this.columnEditor)==null?void 0:r.title)??""});const a=(o=this.args)==null?void 0:o.container;a&&typeof a.appendChild=="function"&&(e?(this._checkboxContainerElm.appendChild(this._input),a.appendChild(this._checkboxContainerElm)):a.appendChild(this._input)),this.hasAutoCommitEdit&&!e&&this._bindEventService.bind(this._input,"click",()=>{this._isValueTouched=!0,this.save()}),e?this._bindEventService.bind(this._input,"change",s=>{this._isValueTouched=!0,this.handleChangeOnCompositeEditor(s,e)}):this.focus()}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._input)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._input)if(u){this._input.setAttribute("disabled","disabled"),this._checkboxContainerElm.classList.add("disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==!1&&this.reset(!1,!0,!0)}else this._input.removeAttribute("disabled"),this._checkboxContainerElm.classList.remove("disabled")}focus(){var u;this.grid.focus(),(u=this._input)==null||u.focus()}preClick(){this._input&&(this._input.checked=!this._input.checked)}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var u;return((u=this._input)==null?void 0:u.checked)??!1}setValue(u,e=!1,a=!0){const i=!!u;if(this._input&&(this._input.checked=i),e){this.applyValue(this.args.item,this.serializeValue());const t=this.args.compositeEditorOptions;t&&a&&this.handleChangeOnCompositeEditor(null,t,"system")}}applyValue(u,e){var i;const a=this.columnDef&&this.columnDef.field;if(a!==void 0){const t=(a==null?void 0:a.indexOf("."))>0,r=this.validate(null,e),o=r&&r.valid?e:"";if(t){const s=((i=this.columnEditor)==null?void 0:i.complexObjectPath)??a??"";B0(u,s,o)}else u[a]=o}}isValueChanged(){return this.serializeValue()!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(u){const e=this.columnDef&&this.columnDef.field;if(u&&e!==void 0&&this._input){const i=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=i,this._input.checked=!!this._originalValue}}reset(u,e=!0,a=!1){const i=u??this._originalValue??!1;this._input&&(this._originalValue=i,this._input.checked=!!i),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=u&&u.valid||!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u;return((u=this._input)==null?void 0:u.checked)??!1}validate(u,e){var r,o;const a=(r=this.args)!=null&&r.compositeEditorOptions?!1:this.columnEditor.required,i=e!==void 0?e:(o=this._input)==null?void 0:o.checked,t=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(i,this.args):a&&!i?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}}class Nx{constructor(u){var e;if(this.args=u,this._isValueTouched=!1,this._lastClickIsDate=!1,this._lastTriggeredByClearDate=!1,this.hasTimePicker=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},(e=this.gridOptions)!=null&&e.translater&&(this._translaterService=this.gridOptions.translater),this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._inputElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.date,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get pickerOptions(){return this._pickerMergedOptions}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}async init(){var u,e,a,i,t,r,o;if(this.args&&this.columnDef){const s=this.args.compositeEditorOptions,l=((u=this.columnDef)==null?void 0:u.id)??"",E=this.args.grid.getOptions()||{};this.defaultDate=(e=this.args.item)==null?void 0:e[this.columnDef.field];const d=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,c=$0(d),D=((i=(a=this._translaterService)==null?void 0:a.getCurrentLanguage)==null?void 0:i.call(a))||E.locale||"en";c&&(c==="ISO8601"||c.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const m=$0(this.hasTimePicker?C.dateTimeIsoAM_PM:C.dateIso),h={input:!0,jumpToSelectedDate:!0,sanitizer:p=>this.grid.sanitizeHtmlString(p),toggleSelected:!1,actions:{clickDay:()=>{this._lastClickIsDate=!0},changeToInput:(p,F)=>{if(F.HTMLInputElement){let v="";if(F.selectedDates[0]?(v=F.selectedDates[0],F.HTMLInputElement.value=Ee(F.selectedDates[0],void 0,d)):F.HTMLInputElement.value="",v&&this.hasTimePicker){const b=At(v,m);b.setHours(+(F.selectedHours||0)),b.setMinutes(+(F.selectedMinutes||0)),F.HTMLInputElement.value=Ee(b,void 0,d)}this._lastClickIsDate&&(this.handleOnDateChange(),F.hide())}}},settings:{lang:D,iso8601:!1,visibility:{theme:(t=this.gridOptions)!=null&&t.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.hasTimePicker&&(h.settings.selection={time:24}),this._pickerMergedOptions=Mu(!0,{},h,{settings:this.editorOptions,type:"default"});const g=`.editor-text.date-picker.editor-${l}.form-control.input-group-editor`;this._editorInputGroupElm=A("div",{className:"vanilla-picker input-group"});const x=A("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=A("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(A("i",{className:"icon-clear"})),this._inputElm=A("input",{placeholder:((r=this.columnEditor)==null?void 0:r.placeholder)??"",title:this.columnEditor&&this.columnEditor.title||"",className:g.replace(/\./g," "),dataset:{input:"",defaultdate:this.defaultDate},readOnly:!0},this._editorInputGroupElm),this.args.container.appendChild(this._editorInputGroupElm),(o=this.columnEditor.editorOptions)!=null&&o.hideClearButton||(x.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(x),this._bindEventService.bind(this._clearButtonElm,"click",()=>{this.clear(),this.handleOnDateChange()})),queueMicrotask(()=>{this.calendarInstance=new B1(this._inputElm,this._pickerMergedOptions),this.calendarInstance.init(),s||(this.show(),this.focus()),this.calendarInstance&&Di(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:this.defaultDate,updatePickerUI:!0})})}}destroy(){queueMicrotask(()=>{var u,e,a;this.hide(),(u=this.calendarInstance)==null||u.destroy(),Au(this._editorInputGroupElm),Au(this._inputElm),(e=this._editorInputGroupElm)==null||e.remove(),(a=this._inputElm)==null||a.remove()}),this._bindEventService.unbindAll()}clear(){this._lastTriggeredByClearDate=!0,this.calendarInstance&&(this.calendarInstance.settings.selected.dates=[],this._inputElm.value="")}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._inputElm)if(u){this._inputElm.setAttribute("disabled","disabled"),this._clearButtonElm.disabled=!0;const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._inputElm.removeAttribute("disabled"),this._clearButtonElm.disabled=!1}changeEditorOption(u,e){this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[u]=e,this._pickerMergedOptions=Mu(!0,{},this._pickerMergedOptions,{settings:{[u]:e}})}focus(){var u;this.grid.focus(),this.show(),(u=this._inputElm)==null||u.focus()}hide(){var u;(u=this.calendarInstance)==null||u.hide()}show(){var e;const u=!!((e=this.args)!=null&&e.compositeEditorOptions);!u&&this.calendarInstance?this.calendarInstance.show():u&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(u,e=!1,a=!0){if(this.calendarInstance&&Di(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:u,updatePickerUI:!0}),e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(i,"system")}}applyValue(u,e){var i,t;const a=(i=this.columnDef)==null?void 0:i.field;if(this.columnDef&&a!==void 0){const r=this.columnDef.saveOutputType||this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,o=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,s=a.indexOf(".")>0,l=this.validate(null,e),E=e&&(l!=null&&l.valid)?Ee(e,o,r):"";if(s){const d=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??a;B0(u,d,E)}else u[a]=E}}isValueChanged(){let u=!1;const e=this.getValue();return this.columnDef&&(u=this._lastTriggeredByClearDate||!(e===""&&this._originalDate==="")&&e!==this._originalDate),u}isValueTouched(){return this._isValueTouched}loadValue(u){var a,i;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&this.columnDef&&e!==void 0){const r=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e],o=this.columnEditor.type||((i=this.columnDef)==null?void 0:i.type)||C.dateIso,s=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateIso;this._originalDate=Ee(r,o,s),this._inputElm.value=this._originalDate}}reset(u,e=!0,a=!1){const i=u??this._originalDate??"";this.calendarInstance&&(this._originalDate=i,this.calendarInstance.settings.selected.dates=[i],i||(this.calendarInstance.settings.selected.dates=[],this._inputElm.value="")),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){const u=this.getValue();return u||""}validate(u,e){var r,o;const a=(r=this.args)!=null&&r.compositeEditorOptions?!1:this.columnEditor.required,i=e??((o=this._inputElm)==null?void 0:o.value),t=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(i,this.args):a&&i===""?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleOnDateChange(){if(this._isValueTouched=!0,this.args){const u=this.args.compositeEditorOptions;u?this.handleChangeOnCompositeEditor(u):this.save()}setTimeout(()=>this._lastTriggeredByClearDate=!1)}handleChangeOnCompositeEditor(u,e="user",a=!1){var d,c,D;const i=this.grid.getActiveCell(),t=this.args.column,r=((d=this.columnDef)==null?void 0:d.id)??"",o=this.dataContext,s=this.grid,l=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,l),this.applyValue(u.formValues,l);const E=((D=(c=this.gridOptions)==null?void 0:c.compositeEditorOptions)==null?void 0:D.excludeDisabledFieldFormValues)??!1;(a||this.disabled&&E&&u.formValues.hasOwnProperty(r))&&delete u.formValues[r],s.onCompositeEditorChange.notify({...i,item:o,grid:s,column:t,formValues:u.formValues,editors:u.editors,triggeredBy:e},new ju)}}function d4(n,u){const e=isNaN(n)?null:parseFloat(n),a=u.decimal||0,i=u.required,t=u.minValue,r=u.maxValue,o=u.operatorConditionalType||"inclusive",s=u.errorMessage,l={"{{minValue}}":t,"{{maxValue}}":r,"{{minDecimal}}":0,"{{maxDecimal}}":a};let E=!0,d="";if(typeof u.validator=="function")return u.validator(n,u.editorArgs);if(i&&n==="")E=!1,d=s||_.VALIDATION_REQUIRED_FIELD;else if(n!==""&&(isNaN(n)||a===0&&!/^[-+]?(\d*(\.)?(\d)*)$/.test(n)))E=!1,d=s||_.VALIDATION_EDITOR_VALID_NUMBER;else if(t!==void 0&&r!==void 0&&e!==null&&(o==="exclusive"&&(e<=+t||e>=+r)||o==="inclusive"&&(e<+t||e>+r)))E=!1,d=s||_.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,c=>l[c]);else if(t!==void 0&&e!==null&&(o==="exclusive"&&e<=+t||o==="inclusive"&&e<+t)){E=!1;const c=o==="inclusive"?_.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE:_.VALIDATION_EDITOR_NUMBER_MIN;d=s||c.replace(/{{minValue}}/gi,D=>l[D])}else if(r!==void 0&&e!==null&&(o==="exclusive"&&e>=+r||o==="inclusive"&&e>+r)){E=!1;const c=o==="inclusive"?_.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE:_.VALIDATION_EDITOR_NUMBER_MAX;d=s||c.replace(/{{maxValue}}/gi,D=>l[D])}else a>0&&!new RegExp(`^[-+]?(\\d*(\\.)?(\\d){0,${a}})$`).test(n)&&(E=!1,d=s||_.VALIDATION_EDITOR_DECIMAL_BETWEEN.replace(/{{minDecimal}}|{{maxDecimal}}/gi,c=>l[c]));return{valid:E,msg:d}}function c4(n,u){let e=isNaN(n)?null:parseInt(n,10);e!==null&&isNaN(e)&&(e=null);const a=u.errorMessage,i=u.required,t=u.minValue,r=u.maxValue,o=u.operatorConditionalType||"inclusive",s={"{{minValue}}":t,"{{maxValue}}":r};let l=!0,E="";if(u.validator)return u.validator(n,u.editorArgs);if(i&&n==="")l=!1,E=a||_.VALIDATION_REQUIRED_FIELD;else if(n!==""&&(isNaN(n)||!/^[+-]?\d+$/.test(n)))l=!1,E=a||_.VALIDATION_EDITOR_VALID_INTEGER;else if(t!==void 0&&r!==void 0&&e!==null&&(o==="exclusive"&&(e<=+t||e>=+r)||o==="inclusive"&&(e<+t||e>+r)))l=!1,E=a||_.VALIDATION_EDITOR_INTEGER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,d=>s[d]);else if(t!==void 0&&e!==null&&(o==="exclusive"&&e<=+t||o==="inclusive"&&e!==null&&e<+t)){l=!1;const d=o==="inclusive"?_.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE:_.VALIDATION_EDITOR_INTEGER_MIN;E=a||d.replace(/{{minValue}}/gi,c=>s[c])}else if(r!==void 0&&e!==null&&(o==="exclusive"&&e>=+r||o==="inclusive"&&e!==null&&e>+r)){l=!1;const d=o==="inclusive"?_.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE:_.VALIDATION_EDITOR_INTEGER_MAX;E=a||d.replace(/{{maxValue}}/gi,c=>s[c])}return{valid:l,msg:E}}function Kx(n,u){const e=u.required,a=u.minValue,i=u.maxValue,t=u.errorMessage,r={"{{minValue}}":a,"{{maxValue}}":i};return u.validator?u.validator(n,u.editorArgs):e&&n===""?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:a!==void 0&&i!==void 0&&n!==null&&(ni)?{valid:!1,msg:t||_.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,o=>r[o])}:{valid:!0,msg:null}}class Hx{constructor(u){if(this.args=u,this._isValueSaveCalled=!1,this._isLeftValueTouched=!1,this._isRightValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},this._eventHandler=new Su,this._bindEventService=new pu,this.init(),this._eventHandler.subscribe(this.grid.onValidationError,()=>this._isValueSaveCalled=!0)}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return{leftInput:this._leftInput,rightInput:this._rightInput}}get editorParams(){return this.columnEditor.params||{}}get eventHandler(){return this._eventHandler}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get isValueSaveCalled(){return this._isValueSaveCalled}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var a,i,t,r;if(!this.editorParams||!this.editorParams.leftInput||!this.editorParams.leftInput.field||!this.editorParams.rightInput||!this.editorParams.rightInput.field)throw new Error(`[Slickgrid-Universal] Please make sure that your Combo Input Editor has params defined with "leftInput" and "rightInput" (example: { editor: { model: Editors.comboInput, params: { leftInput: { field: 'firstName' }, { rightSide: { field: 'lastName' } }}}`);this._leftFieldName=(a=this.editorParams.leftInput)==null?void 0:a.field,this._rightFieldName=(i=this.editorParams.rightInput)==null?void 0:i.field,this._leftInput=this.createInput("leftInput"),this._rightInput=this.createInput("rightInput");const u=(t=this.args)==null?void 0:t.container;u&&typeof u.appendChild=="function"&&(u.appendChild(this._leftInput),u.appendChild(this._rightInput)),this._bindEventService.bind(this._leftInput,"keydown",o=>this.handleKeyDown(o,"leftInput")),this._bindEventService.bind(this._rightInput,"keydown",o=>this.handleKeyDown(o,"rightInput")),this.hasAutoCommitEdit&&(this._bindEventService.bind(this._leftInput,"focusout",o=>this.handleFocusOut(o,"leftInput")),this._bindEventService.bind(this._rightInput,"focusout",o=>this.handleFocusOut(o,"rightInput"))),((r=this.args)==null?void 0:r.compositeEditorOptions)?(this._bindEventService.bind(this._leftInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this)),this._bindEventService.bind(this._rightInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this))):setTimeout(()=>this._leftInput.select(),50)}handleFocusOut(u,e){var r;const a=((r=u.relatedTarget)==null?void 0:r.className)||"";!this.args.compositeEditorOptions&&a.indexOf("dual-editor")===-1&&this._lastEventType!=="focusout-right"&&(e==="rightInput"||e==="leftInput"&&this._lastEventType!=="focusout-left")&&(e==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this.save());const t=e==="leftInput"?"left":"right";this._lastEventType=`${u==null?void 0:u.type}-${t}`}handleKeyDown(u,e){e==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this._lastInputKeyEvent=u,(u.key==="ArrowLeft"||u.key==="ArrowRight"||u.key==="Tab")&&u.stopImmediatePropagation()}destroy(){var u,e,a,i;this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),(e=(u=this._leftInput)==null?void 0:u.remove)==null||e.call(u),(i=(a=this._rightInput)==null?void 0:a.remove)==null||i.call(a)}createInput(u){var s,l,E,d;const e=this.editorParams[u],a=((s=this.columnDef)==null?void 0:s.id)??"",i=this.gridOptions.datasetIdPropertyName||"id",t=((E=(l=this.args)==null?void 0:l.item)==null?void 0:E[i])??"";let r=e.type||"text";(r==="float"||r==="integer")&&(r="number");const o=A("input",{type:r||"text",id:`item-${t}-${u}`,ariaLabel:((d=this.columnEditor)==null?void 0:d.ariaLabel)??`${ce(a+"")} Input Editor`,className:`dual-editor-text editor-${a} ${u.replace(/input/gi,"")}`,autocomplete:"off",ariaAutoComplete:"none",placeholder:e.placeholder||"",title:e.title||""});return r==="readonly"&&(o.readOnly=!0,r="text"),r==="number"&&(o.step=this.getInputDecimalSteps(u)),o}disable(u=!0){var a;const e=this.disabled;this.disabled=u,this._leftInput&&this._rightInput&&(u?(this._leftInput.setAttribute("disabled","disabled"),this._rightInput.setAttribute("disabled","disabled"),e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&this.reset("",!0,!0)):(this._leftInput.removeAttribute("disabled"),this._rightInput.removeAttribute("disabled")))}focus(){this.grid.focus()}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValues(){const u={},e=this._leftInput.value,a=this._rightInput.value,i=this.editorParams.leftInput&&(this.editorParams.leftInput.type==="float"||this.editorParams.leftInput.type==="integer"),t=this.editorParams.rightInput&&(this.editorParams.rightInput.type==="float"||this.editorParams.rightInput.type==="integer"),r=e!==""&&i?+this._leftInput.value:e||"",o=a!==""&&t?+this._rightInput.value:a||"";return B0(u,this._leftFieldName,r),B0(u,this._rightFieldName,o),u}setValues(u){Array.isArray(u)&&u.length===2&&(this._leftInput.value=`${u[0]}`,this._rightInput.value=`${u[1]}`)}applyValue(u,e){this.applyValueByPosition(u,e,"leftInput"),this.applyValueByPosition(u,e,"rightInput")}applyValueByPosition(u,e,a){var t;const i=a==="leftInput"?this._leftFieldName:this._rightFieldName;if(i!==void 0){const r=(i==null?void 0:i.indexOf("."))>0;let o=i;if(r){const E=i.split(/\.(.*)/);o=E.length>1?E[1]:E}const s=r?Qu(e,o):e[i],l=this.validate(null,{position:a,inputValue:s});if(r){const E=Qu(e,o),d=l&&l.valid?E:"",c=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??i??"";B0(u,c,d)}else i&&(u[i]=l&&l.valid?e[i]:"")}}isValueChanged(){var s,l,E;const u=this._leftInput.value,e=this._rightInput.value,a=(s=this.editorParams)==null?void 0:s.leftInput,i=(l=this.editorParams)==null?void 0:l.rightInput,t=(E=this._lastInputKeyEvent)==null?void 0:E.key;if((a&&a.alwaysSaveOnEnterKey||i&&i.alwaysSaveOnEnterKey)&&t==="Enter")return!0;const r=!(u===""&&(this._originalLeftValue===null||this._originalLeftValue===void 0))&&u!==this._originalLeftValue,o=!(e===""&&(this._originalRightValue===null||this._originalRightValue===void 0))&&e!==this._originalRightValue;return r||o}isValueTouched(){return this._isLeftValueTouched||this._isRightValueTouched}loadValue(u){this.loadValueByPosition(u,"leftInput"),this.loadValueByPosition(u,"rightInput"),this._leftInput.select()}loadValueByPosition(u,e){const a=e==="leftInput"?this._leftFieldName:this._rightFieldName,i=e==="leftInput"?"_originalLeftValue":"_originalRightValue",t=e==="leftInput"?"_leftInput":"_rightInput";if(u&&a!==void 0){const o=(a==null?void 0:a.indexOf("."))>0?Qu(u,a):u.hasOwnProperty(a)?u[a]:"";if(this[i]=o,this.editorParams[e].type==="float"){const s=this.getDecimalPlaces(e);s!==null&&(this[i]||this[i]===0)&&this[i]!==void 0&&(this[i]=(+this[i]).toFixed(s))}this[t]&&(this[t].value=`${this[i]}`)}}reset(u,e=!0,a=!1){const i=u??this._originalLeftValue??"",t=u??this._originalRightValue??"";this._leftInput&&this._rightInput&&(this._originalLeftValue=i,this._originalRightValue=t,this._leftInput.value=`${i}`,this._rightInput.value=`${t}`),this._isLeftValueTouched=!1,this._isRightValueTouched=!1;const r=this.args.compositeEditorOptions;if(r&&e){const o=!a;this.handleChangeOnCompositeEditor(null,r,"user",o)}}save(){const u=this.validate(),e=u&&u.valid||!1;this._isValueSaveCalled||(this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges(),this._isValueSaveCalled=!0)}serializeValue(){const u={},e=this.serializeValueByPosition("leftInput"),a=this.serializeValueByPosition("rightInput");return B0(u,this._leftFieldName,e),B0(u,this._rightFieldName,a),u}serializeValueByPosition(u){const e=u==="leftInput"?this._leftInput.value:this._rightInput.value;if(e===""||isNaN(+e))return e;let a=parseFloat(e);const i=this.getDecimalPlaces(u);return i!==null&&(a||a===0)&&a.toFixed&&(a=parseFloat(a.toFixed(i))),a}getDecimalPlaces(u){const a=u==="leftInput"?"leftInput":"rightInput",i=this.editorParams[a],t=i==null?void 0:i.decimal;return t===void 0?0:t}getInputDecimalSteps(u){const e=this.getDecimalPlaces(u);let a="";for(let i=1;i0?`0.${a}1`:"1"}validate(u,e){if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(e){const a=this.validateByPosition(e.position,e.inputValue);if(!a.valid)return e.position==="leftInput"?this._leftInput.select():this._rightInput.select(),a}else{const a=this.validateByPosition("leftInput"),i=this.validateByPosition("rightInput");if(!a.valid)return this._leftInput.select(),a;if(!i.valid)return this._rightInput.select(),i}return{valid:!0,msg:""}}validateByPosition(u,e){var o;const a=this.editorParams[u];let i="";if(e)i=e;else{const s=u==="leftInput"?this._leftInput:this._rightInput;i=s&&s.value}const t=this.validator;i=typeof t=="function"?this.getValues():i;const r={editorArgs:this.args,errorMessage:a.errorMessage,required:(o=this.args)!=null&&o.compositeEditorOptions?!1:a.required,validator:typeof t=="function"?t:a.validator};switch(a.type){case"float":return d4(i,{...r,decimal:this.getDecimalPlaces(u),minValue:a.minValue,maxValue:a.maxValue,operatorConditionalType:a.operatorConditionalType});case"integer":return c4(i,{...r,minValue:a.minValue,maxValue:a.maxValue,operatorConditionalType:a.operatorConditionalType});case"text":case"password":default:return en(i,r)}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var D,m,h,g,x,p;const t=this.grid.getActiveCell(),r=this.args.column,o=((m=(D=this.columnEditor.params)==null?void 0:D.leftInput)==null?void 0:m.field)??"",s=((g=(h=this.columnEditor.params)==null?void 0:h.rightInput)==null?void 0:g.field)??"",l=this.dataContext,E=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(e.formValues,d);const c=((p=(x=this.gridOptions)==null?void 0:x.compositeEditorOptions)==null?void 0:p.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&c&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],(i||this.disabled&&c&&e.formValues.hasOwnProperty(s))&&delete e.formValues[s],E.onCompositeEditorChange.notify({...t,item:l,grid:E,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleChangeOnCompositeEditorDebounce(u){var a,i;const e=(a=this.args)==null?void 0:a.compositeEditorOptions;if(e){const t=((i=this.gridOptions)==null?void 0:i.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),t)}}}const Ox=0;class an{constructor(u,e="text"){if(this.args=u,this._inputType="text",this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=u.grid&&u.grid.getOptions(),this._bindEventService=new pu,this.inputType=e,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get inputType(){return this._inputType}set inputType(u){this._inputType=u}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var i,t,r,o;const u=((i=this.columnDef)==null?void 0:i.id)??"",e=this.args.compositeEditorOptions;this._input=A("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",ariaLabel:((t=this.columnEditor)==null?void 0:t.ariaLabel)??`${ce(u+"")} Input Editor`,className:`editor-text editor-${u}`,placeholder:((r=this.columnEditor)==null?void 0:r.placeholder)??"",title:((o=this.columnEditor)==null?void 0:o.title)??""}),this.inputType==="number"&&(this._input.step=`${this.columnEditor.valueStep!==void 0?this.columnEditor.valueStep:this.getInputDecimalSteps()}`);const a=this.args.container;a&&typeof a.appendChild=="function"&&a.appendChild(this._input),this._bindEventService.bind(this._input,"focus",()=>{var s;return(s=this._input)==null?void 0:s.select()}),this._bindEventService.bind(this._input,"keydown",s=>{this._isValueTouched=!0,this._lastInputKeyEvent=s,(s.key==="ArrowLeft"||s.key==="ArrowRight")&&s.stopImmediatePropagation()}),this.hasAutoCommitEdit&&!e&&this._bindEventService.bind(this._input,["focusout","blur"],()=>{this._isValueTouched=!0,this.save()}),e&&(this._bindEventService.bind(this._input,["input","paste"],this.handleOnInputChange.bind(this)),this.inputType==="number"&&this._bindEventService.bind(this._input,"wheel",this.handleOnMouseWheel.bind(this),{passive:!0}))}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._input)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._input)if(u){this._input.setAttribute("disabled","disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._input.removeAttribute("disabled")}focus(){var u;this.grid.focus(),(u=this._input)==null||u.focus()}getDecimalPlaces(){var e,a,i;let u=((e=this.columnEditor)==null?void 0:e.decimal)??((i=(a=this.columnEditor)==null?void 0:a.params)==null?void 0:i.decimalPlaces)??void 0;return u===void 0&&(u=Ox),!u&&u!==0?null:u}getInputDecimalSteps(){const u=this.getDecimalPlaces();let e="";for(let a=1;a0?`0.${e}1`:"1"}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var u;return((u=this._input)==null?void 0:u.value)||""}setValue(u,e=!1,a=!0){if(this._input&&(this._input.value=`${u}`,e)){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var i;const a=this.columnDef&&this.columnDef.field;if(a!==void 0){const t=(a==null?void 0:a.indexOf("."))>0,r=this.validate(null,e),o=r!=null&&r.valid?e:"";if(t){const s=((i=this.columnEditor)==null?void 0:i.complexObjectPath)??a??"";B0(u,s,o)}else a&&(u[a]=o)}}isValueChanged(){var a,i,t;const u=(a=this._input)==null?void 0:a.value,e=(i=this._lastInputKeyEvent)==null?void 0:i.key;return(t=this.columnEditor)!=null&&t.alwaysSaveOnEnterKey&&e==="Enter"?!0:!(u===""&&(this._originalValue===null||this._originalValue===void 0))&&u!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0&&this._input){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u.hasOwnProperty(e)&&u[e]||"";this._originalValue=t,this._input.value=this._originalValue,this._input.select()}}reset(u,e=!0,a=!1){const i=u??this._originalValue??"";this._input&&(this._originalValue=i,this._input.value=`${i}`),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=u&&u.valid||!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u;return((u=this._input)==null?void 0:u.value)??""}validate(u,e){var i;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:this._input&&this._input.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(i=this.args)!=null&&i.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleOnInputChange(u){var a;this._isValueTouched=!0;const e=this.args.compositeEditorOptions;if(e){const i=((a=this.gridOptions)==null?void 0:a.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),i)}}handleOnMouseWheel(u){this._isValueTouched=!0;const e=this.args.compositeEditorOptions;e&&this.handleChangeOnCompositeEditor(u,e)}}class Ix extends an{constructor(u){super(u,"number"),this.args=u}loadValue(u){const e=this.columnDef&&this.columnDef.field;if(e!==void 0&&u&&e!==void 0&&this._input){const i=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=i;const t=this.getDecimalPlaces();t!==null&&(this._originalValue||this._originalValue===0)&&this._originalValue!==void 0&&(this._originalValue=(+this._originalValue).toFixed(t)),this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var i;const u=(i=this._input)==null?void 0:i.value;if(u===void 0||u===""||isNaN(+u))return u;let e=parseFloat(u);const a=this.getDecimalPlaces();return a!==null&&(e||e===0)&&e.toFixed&&(e=parseFloat(e.toFixed(a))),e}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._input)==null?void 0:i.value;return d4(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,decimal:this.getDecimalPlaces(),minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}}class Gx extends an{constructor(u){super(u,"password"),this.args=u}}class Vx extends an{constructor(u){super(u,"number"),this.args=u}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(e!==void 0&&u&&e!==void 0&&this._input){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=isNaN(t)||t===null||t===void 0?t:`${t}`,this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var a;const u=(a=this._input)==null?void 0:a.value;if(u===void 0||u===""||isNaN(+u))return u;const e=isNaN(+u)?u:parseInt(u,10);return isNaN(+e)?u:e}validate(u,e){var i;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:this.getValue();return c4(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(i=this.args)!=null&&i.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}handleOnMouseWheel(u){this._isValueTouched=!0;const e=this.args.compositeEditorOptions;e&&this.handleChangeOnCompositeEditor(u,e)}}class $x{constructor(u){var a,i;if(this.args=u,this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=(a=u.grid)==null?void 0:a.getOptions();const e=this.gridOptions||this.args.column.params||{};e!=null&&e.translater&&(this._translater=e.translater),this._locales=((i=this.gridOptions)==null?void 0:i.locales)||_.locales,this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._textareaElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.longText,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get hasAutoCommitEdit(){var u;return((u=this.gridOptions)==null?void 0:u.autoCommitEdit)??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var E,d,c,D,m,h,g,x,p,F,v,b,B,S,y;let u="",e="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const w=Q0(this.gridOptions),M=((E=this.editorOptions.buttonTexts)==null?void 0:E.cancelKey)??`${w}CANCEL`,j=((d=this.editorOptions.buttonTexts)==null?void 0:d.saveKey)??`${w}SAVE`;u=this._translater.translate(`${w}${M}`),e=this._translater.translate(`${w}${j}`)}else u=((c=this.editorOptions.buttonTexts)==null?void 0:c.cancel)??((D=this._locales)==null?void 0:D.TEXT_CANCEL)??"Cancel",e=((m=this.editorOptions.buttonTexts)==null?void 0:m.save)??((h=this._locales)==null?void 0:h.TEXT_SAVE)??"Save";const a=this.args.compositeEditorOptions,i=((g=this.columnDef)==null?void 0:g.id)??"",t=(x=this.columnEditor)==null?void 0:x.maxLength,r=((p=this.editorOptions)==null?void 0:p.rows)??4,o=a?this.args.container:document.body;this._wrapperElm=A("div",{className:`slick-large-editor-text editor-${i}`,style:{position:a?"relative":"absolute"}}),(F=this.gridOptions)!=null&&F.darkMode&&this._wrapperElm.classList.add("slick-dark-mode"),o.appendChild(this._wrapperElm),this._textareaElm=A("textarea",{ariaLabel:((v=this.columnEditor)==null?void 0:v.ariaLabel)??`${ce(i+"")} Text Editor`,cols:((b=this.editorOptions)==null?void 0:b.cols)??40,rows:a&&r>3?3:r,placeholder:((B=this.columnEditor)==null?void 0:B.placeholder)??"",title:((S=this.columnEditor)==null?void 0:S.title)??""},this._wrapperElm);const s=A("div",{className:"editor-footer"}),l=A("span",{className:"counter"});if(this._currentLengthElm=A("span",{className:"text-length",textContent:"0"}),l.appendChild(this._currentLengthElm),t!==void 0&&(l.appendChild(A("span",{className:"separator",textContent:"/"})),l.appendChild(A("span",{className:"max-length",textContent:`${t}`}))),s.appendChild(l),!a){const w=A("button",{className:"btn btn-cancel btn-default btn-xs",textContent:u},s),M=A("button",{className:"btn btn-save btn-primary btn-xs",textContent:e},s);this._bindEventService.bind(w,"click",this.cancel.bind(this)),this._bindEventService.bind(M,"click",this.save.bind(this)),this.position((y=this.args)==null?void 0:y.position),this._textareaElm.focus(),this._textareaElm.select()}this._wrapperElm.appendChild(s),this._bindEventService.bind(this._textareaElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._textareaElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._textareaElm,"paste",this.handleOnInputChange.bind(this))}cancel(){var e;const u=this._defaultTextValue||"";this._textareaElm.value=u,this._currentLengthElm.textContent=`${u.length}`,(e=this.args)!=null&&e.cancelChanges&&this.args.cancelChanges()}hide(){this._wrapperElm.style.display="none"}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)?this.applyInputUsabilityState():this._wrapperElm.style.display="block"}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._wrapperElm)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._textareaElm&&this._wrapperElm)if(u){this._textareaElm.disabled=!0,this._wrapperElm.classList.add("disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._textareaElm.disabled=!1,this._wrapperElm.classList.remove("disabled")}focus(){this.grid.focus(),this._textareaElm&&(this._textareaElm.focus(),this._textareaElm.select())}getValue(){return this._textareaElm.value}setValue(u,e=!1,a=!0){if(this._textareaElm.value=u,this._currentLengthElm.textContent=`${u.length}`,e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var i,t;const a=(i=this.columnDef)==null?void 0:i.field;if(a!==void 0){const r=(a==null?void 0:a.indexOf("."))>0,o=this.validate(void 0,e),s=o!=null&&o.valid?e:"";if(r){const l=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??a??"";B0(u,l,s)}else u[a]=s}}isValueChanged(){const u=this._textareaElm.value;return!(u===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&u!==this._defaultTextValue}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._defaultTextValue=t||"",this._textareaElm.value=this._defaultTextValue,this._currentLengthElm.textContent=this._defaultTextValue.length,this._textareaElm.defaultValue=this._defaultTextValue,this._textareaElm.select()}}position(u){var c,D;const e=Ou(this.args.container),a=this.args.container.offsetHeight,i=this.args.container.offsetWidth,t=this._wrapperElm.getBoundingClientRect().height||this.args.position.height,r=this._wrapperElm.getBoundingClientRect().width||this.args.position.width,o=document.body.offsetHeight||window.innerHeight,s=document.body.offsetWidth||window.innerWidth;let l=(e==null?void 0:e.top)??u.top??0,E=(e==null?void 0:e.left)??u.left??0;const d=((c=this.editorOptions)==null?void 0:c.position)??"auto";if(d==="left"||d==="auto"&&E+r>s){const m=((D=this.editorOptions)==null?void 0:D.marginRight)??0;E-=r-i+m}(d==="top"||d==="auto"&&l+t>o)&&(l-=t-a),this._wrapperElm.style.top=`${l}px`,this._wrapperElm.style.left=`${E}px`}reset(u,e=!0,a=!1){const i=u??this._defaultTextValue??"";this._textareaElm&&(this._defaultTextValue=i,this._textareaElm.value=i,this._currentLengthElm.textContent=i.length),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){return this._textareaElm.value}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._textareaElm)==null?void 0:i.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleKeyDown(u){const e=u.key;this._isValueTouched=!0,this.args.compositeEditorOptions||(e==="Enter"&&u.ctrlKey||u.ctrlKey&&u.key.toUpperCase()==="S"?(u.preventDefault(),this.save()):e==="Escape"?(u.preventDefault(),this.cancel()):e==="Tab"&&u.shiftKey?(u.preventDefault(),this.args&&this.grid&&this.grid.navigatePrev()):e==="Tab"&&(u.preventDefault(),this.args&&this.grid&&this.grid.navigateNext()))}handleOnInputChange(u){var t,r;const e=this.args.compositeEditorOptions,a=(t=this.columnEditor)==null?void 0:t.maxLength;let i=!1;if(a&&(i=this.truncateText(this._textareaElm,a)),i)this._currentLengthElm.textContent=`${a}`;else{const o=u.type==="paste"?u.clipboardData.getData("text"):u.target.value;this._currentLengthElm.textContent=`${o.length}`}if(e){const o=((r=this.gridOptions)==null?void 0:r.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),o)}}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}truncateText(u,e){const a=u.value+"";return a.length>e?(u.value=a.substring(0,e),!0):!1}}class D4{constructor(u,e,a=-1){var o,s,l,E,d,c,D,m,h;if(this.args=u,this.isMultipleSelect=e,this.delayOpening=a,this._isValueTouched=!1,this._isDisposingOrCallingSave=!1,this.disabled=!1,this.enableTranslateLabel=!1,this.finalCollection=[],!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},(o=this.gridOptions)!=null&&o.translater&&(this._translaterService=this.gridOptions.translater),this._locales=this.gridOptions.locales||_.locales;const i=((s=this.columnDef)==null?void 0:s.id)??"";this.elementName=`editor-${i}`;const t=this.args.compositeEditorOptions,r={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,minHeight:25,name:this.elementName,single:!0,singleRadio:!0,renderOptionLabelAsHtml:((l=this.columnEditor)==null?void 0:l.enableRenderHtml)??!1,sanitizer:g=>this.grid.sanitizeHtmlString(g),onClick:()=>this._isValueTouched=!0,onCheckAll:()=>this._isValueTouched=!0,onUncheckAll:()=>this._isValueTouched=!0,onClose:g=>{if(g==="key.escape"||g==="body.click"||!this.hasAutoCommitEdit&&!this.isValueChanged()){g==="key.escape"&&this.cancel();return}t?this.handleChangeOnCompositeEditor(t):(this._isDisposingOrCallingSave=!0,this.save(this.hasAutoCommitEdit))}};if(e)if(r.single=!1,r.singleRadio=!1,r.displayTitle=!0,r.showOkButton=!0,(E=this._translaterService)!=null&&E.getCurrentLanguage()){const g=Q0(this.gridOptions);r.countSelectedText=this._translaterService.translate(`${g}X_OF_Y_SELECTED`),r.allSelectedText=this._translaterService.translate(`${g}ALL_SELECTED`),r.selectAllText=this._translaterService.translate(`${g}SELECT_ALL`),r.okButtonText=this._translaterService.translate(`${g}OK`),r.noMatchesFoundText=this._translaterService.translate(`${g}NO_MATCHES_FOUND`)}else r.countSelectedText=(d=this._locales)==null?void 0:d.TEXT_X_OF_Y_SELECTED,r.allSelectedText=(c=this._locales)==null?void 0:c.TEXT_ALL_SELECTED,r.selectAllText=(D=this._locales)==null?void 0:D.TEXT_SELECT_ALL,r.okButtonText=(m=this._locales)==null?void 0:m.TEXT_OK,r.noMatchesFoundText=(h=this._locales)==null?void 0:h.TEXT_NO_MATCHES_FOUND;this.defaultOptions=r,this.init()}get collection(){var u;return((u=this.columnEditor)==null?void 0:u.collection)??[]}get collectionOptions(){var u;return(u=this.columnEditor)==null?void 0:u.collectionOptions}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this.editorElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.select,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get isCompositeEditor(){var u;return!!((u=this.args)!=null&&u.compositeEditorOptions)}get customStructure(){var u,e;return(e=(u=this.columnDef)==null?void 0:u.editor)==null?void 0:e.customStructure}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get currentValues(){var i,t,r;const u=((i=this._msInstance)==null?void 0:i.getSelects())??[];if(this.collection.every(o=>typeof o=="number"||typeof o=="string"))return this.collection.filter(o=>u==null?void 0:u.some(s=>`${s}`===(o==null?void 0:o.toString())));const e=((t=this.collectionOptions)==null?void 0:t.separatorBetweenTextLabels)??"",a=((r=this.collectionOptions)==null?void 0:r.includePrefixSuffixToSelectedValues)??!1;return this.collection.filter(o=>u.some(s=>{var l;return`${s}`===((l=o==null?void 0:o[this.valueName])==null?void 0:l.toString())})).map(o=>{var m,h;const s=o[this.valueName];let l=o[this.labelPrefixName]||"",E=o[this.labelSuffixName]||"";const d=((m=this.columnDef)==null?void 0:m.field)??"",c=(d==null?void 0:d.indexOf("."))>0,D=((h=this.columnEditor)==null?void 0:h.serializeComplexValueFormat)??"object";return c&&typeof o=="object"&&D==="object"?o:(l=this.enableTranslateLabel&&this._translaterService&&l&&typeof l=="string"?this._translaterService.translate(l||" "):l,E=this.enableTranslateLabel&&this._translaterService&&E&&typeof E=="string"?this._translaterService.translate(E||" "):E,a?[l,s,E].filter(x=>x).join(e):s)})}get currentValue(){var i,t,r,o,s;const u=((i=this._msInstance)==null?void 0:i.getSelects())??[],e=u.length?u[0]:"",a=(t=this.columnDef)==null?void 0:t.field;if(a!==void 0){if(this.collection.every(m=>typeof m=="number"||typeof m=="string"))return Ae(this.collection,m=>{var h;return((h=m==null?void 0:m.toString)==null?void 0:h.call(m))===`${e}`});const l=((r=this.collectionOptions)==null?void 0:r.separatorBetweenTextLabels)??"",E=((o=this.collectionOptions)==null?void 0:o.includePrefixSuffixToSelectedValues)??!1,d=Ae(this.collection,m=>{var h;return m.hasOwnProperty(this.valueName)&&((h=m[this.valueName])==null?void 0:h.toString())===`${e}`}),c=(a==null?void 0:a.indexOf("."))>0,D=((s=this.columnEditor)==null?void 0:s.serializeComplexValueFormat)??"object";if(c&&typeof d=="object"&&D==="object")return d;if(d&&d.hasOwnProperty(this.valueName)){const m=d[this.valueName];if(E){let h=d[this.labelPrefixName]||"",g=d[this.labelSuffixName]||"";return h=this.enableTranslateLabel&&this._translaterService&&h&&typeof h=="string"?this._translaterService.translate(h||" "):h,g=this.enableTranslateLabel&&this._translaterService&&g&&typeof g=="string"?this._translaterService.translate(g||" "):g,[h,m,g].filter(p=>p).join(l)}return m}}return""}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var u,e,a,i,t,r,o;if(!this.columnDef||!this.columnDef.editor||!this.columnDef.editor.collection&&!this.columnDef.editor.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") inside Column Definition Editor for the MultipleSelect/SingleSelect Editor to work correctly. + for example:: this.columnDefinitions: [{ id: 'phone', field: 'phone', filter: { model: Filters.inputMask, params: { mask: '000-000-0000' }}}]`);const e=Array.isArray(this.searchTerms)&&this.searchTerms.length>=0?this.searchTerms[0]:"";this.createDomFilterElement(e),this._bindEventService.bind(this._filterInputElm,["keyup","blur","change"],this.onTriggerEvent.bind(this))}onTriggerEvent(u,e=!1){var i,t;let a="";if((i=u==null?void 0:u.target)!=null&&i.value){let r=((t=u==null?void 0:u.target)==null?void 0:t.value)??"";const o=this.gridOptions.enableFilterTrimWhiteSpace||this.columnFilter.enableTrimWhiteSpace;typeof r=="string"&&o&&(r=r.trim());const s=this.unmaskValue(r),l=this.maskValue(s);a=s,(u==null?void 0:u.keyCode)>=48&&(this._filterInputElm.value=l,u.preventDefault())}e?(this.callback(u,{columnDef:this.columnDef,clearFilterTriggered:e,shouldTriggerQuery:this._shouldTriggerQuery}),this._filterInputElm.classList.remove("filled")):(this._filterInputElm.classList.add("filled"),this.callback(u,{columnDef:this.columnDef,operator:this.operator,searchTerms:[a],shouldTriggerQuery:this._shouldTriggerQuery})),this._shouldTriggerQuery=!0}maskValue(u){let e=0,a="";return this._inputMask&&(a=this._inputMask.replace(/[09A]/gi,i=>((i==="0"||i==="9")&&/\d+/g.test(u[e])||i.toUpperCase()==="A"&&/[^\d]+/gi.test(u[e]))&&u[e++]||"")),a}unmaskValue(u){const e=u.replace(/[^0-9a-z]*/gi,""),a=this._inputMask.replace(/[^0-9a-z]*/gi,"");let i="";for(let t=0;tu in n?nx(n,u,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[u]=e,X=(n,u,e)=>rx(n,typeof u!="symbol"?u+"":u,e),ox=class{constructor(u){X(this,"_distinctEvent"),X(this,"_boundedEvents",[]),this._distinctEvent=(u==null?void 0:u.distinctEvent)??!1}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(u,e,a,i,t=""){let r=Array.isArray(e)?e:[e];if(typeof(u==null?void 0:u.forEach)=="function")u.forEach(o=>{for(let s of r)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(o,s))&&(o.addEventListener(s,a,i),this._boundedEvents.push({element:o,eventName:s,listener:a,groupName:t}))});else for(let o of r)(!this._distinctEvent||this._distinctEvent&&!this.hasBinding(u,o))&&(u.addEventListener(o,a,i),this._boundedEvents.push({element:u,eventName:o,listener:a,groupName:t}))}hasBinding(u,e){return this._boundedEvents.some(a=>a.element===u&&(!e||a.eventName===e))}unbind(u,e,a){var i;if(u){let t=Array.isArray(u)?u:[u],r=Array.isArray(e)?e||"":[e||""];for(let o of t){a||(a=this._boundedEvents.find(s=>{if(s.element===o&&(!e||s.eventName===e))return s.listener}));for(let s of r)(i=o==null?void 0:o.removeEventListener)==null||i.call(o,s,a)}}}unbindAll(u){if(u){let e=Array.isArray(u)?u:[u];for(let a=this._boundedEvents.length-1;a>=0;--a){let i=this._boundedEvents[a];if(e.some(t=>t===i.groupName)){let{element:t,eventName:r,listener:o}=i;this.unbind(t,r,o),this._boundedEvents.splice(a,1)}}}else for(;this._boundedEvents.length>0;){let e=this._boundedEvents.pop(),{element:a,eventName:i,listener:t}=e;this.unbind(a,i,t)}}},r4=typeof window<"u"&&window.multipleSelect!==void 0?window.multipleSelect:{locales:{}},sx={formatSelectAll(){return"[Select all]"},formatAllSelected(){return"All selected"},formatCountSelected(n,u){return`${n} of ${u} selected`},formatNoMatchesFound(){return"No matches found"},formatOkButton(){return"OK"}};r4.locales["en-US"]=sx;var o4=r4.locales,lx=50,Ex=4,s4={name:"",placeholder:"",classes:"",classPrefix:"",data:void 0,locale:void 0,selectAll:!0,single:void 0,singleRadio:!1,multiple:!1,hideOptgroupCheckboxes:!1,multipleWidth:80,width:void 0,dropWidth:void 0,maxHeight:250,maxHeightUnit:"px",position:"bottom",displayValues:!1,displayTitle:!1,displayDelimiter:", ",minimumCountSelected:3,ellipsis:!1,isOpen:!1,keepOpen:!1,openOnHover:!1,container:null,filter:!1,filterGroup:!1,filterPlaceholder:"",filterAcceptOnEnter:!1,filterByDataLength:void 0,customFilter(n){let{text:u,label:e,search:a}=n;return(e||u||"").includes(a)},showClear:!1,autoAdjustDropHeight:!1,autoAdjustDropPosition:!1,autoAdjustDropWidthByTextSize:!1,adjustedHeightPadding:10,useSelectOptionLabel:!1,useSelectOptionLabelToHtml:!1,navigationHighlight:!0,infiniteScroll:!1,virtualScroll:!0,cssStyler:()=>null,textTemplate:n=>n.innerHTML.trim(),labelTemplate:n=>n.label,onOpen:()=>!1,onClose:()=>!1,onCheckAll:()=>!1,onUncheckAll:()=>!1,onFocus:()=>!1,onBlur:()=>!1,onOptgroupClick:()=>!1,onBeforeClick:()=>!0,onClick:()=>!1,onFilter:()=>!1,onFilterClear:()=>!1,onClear:()=>!1,onAfterCreate:()=>!1,onDestroy:()=>!1,onAfterDestroy:()=>!1,onDestroyed:()=>!1},dx=["init","getOptions","refreshOptions","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"];Object.assign(s4,o4["en-US"]);var cx={BLOCK_ROWS:lx,CLUSTER_BLOCKS:Ex,DEFAULTS:s4,METHODS:dx},ie=cx;function Dx(n,u,e=!1){let a=Object.keys(n),i=Object.keys(u);if(e&&a.length!==i.length)return!1;for(let t of a)if(i.includes(t)&&n[t]!==u[t])return!1;return!0}function Er(n){let u=()=>{let i={};for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(i[t]=Er(n[t]));return i},e=()=>n.map(i=>Er(i)),a=Object.prototype.toString.call(n).slice(8,-1).toLowerCase();return a==="object"?u():a==="array"?e():n}function _n(n){return n!=null&&n!==""}function mx(n,u){return typeof n=="object"?Object.fromEntries(u?Object.entries(n).filter(([e,a])=>!_n(a)&&!u.includes(e)||_n(a)):Object.entries(n).filter(([e,a])=>_n(a))):n}function hx(n){let u=0;return n.forEach((e,a)=>{e.type==="optgroup"?(e._key=`group_${a}`,e.visible=typeof e.visible>"u"?!0:e.visible,e.children.forEach((i,t)=>{i&&(i.visible=typeof(i==null?void 0:i.visible)>"u"?!0:i.visible,i.divider||(i._key=`option_${a}_${t}`,u+=1))})):(e.visible=typeof e.visible>"u"?!0:e.visible,e.divider||(e._key=`option_${a}`,u+=1))}),u}function Wi(n,u,e){if(Array.isArray(n))for(let a of n){if(a[u]===e||a[u]===`${+a[u]}`&&+a[u]===e)return a;if(a.type==="optgroup"){for(let i of a.children)if(i&&(i[u]===e||i[u]===`${+i[u]}`&&+i[u]===e))return i}}}function xx(n){return n.replace(/(\b)(on[a-z]+)(\s*)=([^>]*)|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<|<)(\/*)(script|script defer)(.*)(>|>|>">)/gi,"")}function jn(n){return Object.keys(n).forEach(u=>n[u]===void 0?delete n[u]:""),n}function va(n,u){if(typeof n!="string")return n;if(typeof u=="function")return u(n);if(typeof n.normalize=="function")return n.normalize("NFD").replace(/[\u0300-\u036F]/g,"");throw new Error("[Multiple-Select-Vanilla] `normalize()` function is not defined, you can optionally provide a custom parser via the `diacriticParser` option.")}function Ln(n){let u=0,e=0,a=0,i=0,t=window.innerHeight??0,r=window.innerWidth??0,o=px(),s=o.top,l=o.left,E=cr(n);if(E){let d=E.top??0,c=E.left??0;e=d-s,u=t-(d-s),a=c-l,i=r-(c-l)}return{top:e,bottom:u,left:a,right:i}}function Rn(n=""){return n.split(" ").filter(u=>u)}function f0(n,u,e){let a=document.createElement(n);return u&&Object.keys(u).forEach(i=>{let t=u[i];typeof t=="object"?Object.assign(a[i],t):a[i]=u[i]}),e!=null&&e.appendChild&&e.appendChild(a),a}function l4(n,u,e){var t;let a=(t=n.props)!=null&&t.innerHTML?Cx(n.props,"innerHTML"):n.props,i=f0(n.tagName,mx(a,["className","title","style"]),u);if(n.props.innerHTML&&(i.innerHTML=n.props.innerHTML),n.attrs)for(let r of Object.keys(n.attrs))i.setAttribute(r,n.attrs[r]);if(n.children)for(let r of n.children)l4(r,i);return u==null||u.appendChild(i),i}function dr(n){return n.hasOwnProperty("tagName")?l4(n):document.createElement("li")}function mt(n){for(;n!=null&&n.firstChild;)n.lastChild&&n.removeChild(n.lastChild);return n}function cr(n){var r;if(!n)return;let u=(r=n==null?void 0:n.getBoundingClientRect)==null?void 0:r.call(n),e=0,a=0,i=0,t=0;return(u==null?void 0:u.top)!==void 0&&u.left!==void 0&&(e=u.top+window.pageYOffset,a=u.left+window.pageXOffset,t=u.right,i=u.bottom),{top:e,left:a,bottom:i,right:t}}function Ui(n,u,e){if(!n)return 0;let a=Number.parseFloat(n.style[e]);if(!a||Number.isNaN(a)){switch(u){case"outer":a=n[e==="width"?"offsetWidth":"offsetHeight"];break;case"scroll":a=n[e==="width"?"scrollWidth":"scrollHeight"];break;case"inner":default:a=n[e==="width"?"clientWidth":"clientHeight"];break}a=n.getBoundingClientRect()[e]}if(!a||Number.isNaN(a)){let i=n.style.display,t=n.style.position;n.style.display="block",n.style.position="absolute";let r=window.getComputedStyle(n)[e];a=Number.parseFloat(r),Number.isNaN(a)&&(a=0),n.style.display=i,n.style.position=t}return a||0}function Js(n,u){let e=null,a=n==null?void 0:n.parentElement;for(;a;){let[i,t,r,o]=u.match(/^([a-z]*)([#.]{1})([a-z\-]+)$/i)||[];if(r&&o)for(let s of o.replace(r,"").split(" "))a.classList.contains(s)&&(t?(a==null?void 0:a.tagName.toLowerCase())===t&&(e=a):e=a);a=a.parentElement}return e}function gx(n,u){var e;(e=n.parentNode)==null||e.insertBefore(u,n.nextSibling)}function Cx(n,u){let{[u]:e,...a}=n;return a}function Ws(n,u){n!=null&&n.style&&(n.style.display=n.style.display==="none"&&u!==!1||u===!0?"block":"none")}function px(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}var Fx=class{constructor(u){var a;X(this,"clusterRows"),X(this,"cache"),X(this,"scrollEl"),X(this,"blockHeight"),X(this,"clusterHeight"),X(this,"contentEl"),X(this,"parentEl"),X(this,"itemHeight"),X(this,"lastCluster"),X(this,"scrollTop"),X(this,"dataStart"),X(this,"dataEnd"),X(this,"rows"),X(this,"destroy"),X(this,"callback"),X(this,"sanitizer"),this.rows=u.rows,this.scrollEl=u.scrollEl,this.contentEl=u.contentEl,this.parentEl=(a=u.contentEl)==null?void 0:a.parentElement,this.callback=u.callback,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;let e=()=>{this.lastCluster!==(this.lastCluster=this.getNum())&&(this.initDOM(this.rows),this.callback())};this.scrollEl.addEventListener("scroll",e,!1),this.destroy=()=>{this.scrollEl.removeEventListener("scroll",e,!1),mt(this.contentEl)}}reset(u){this.lastCluster=0,this.cache={},mt(this.contentEl),this.initDOM(u)}initDOM(u){if(typeof this.clusterHeight>"u"){this.cache.scrollTop=this.scrollEl.scrollTop;let r=dr(u[0]);this.contentEl.appendChild(r),this.contentEl.appendChild(r),this.contentEl.appendChild(r),this.cache.data=[u[0]],this.getRowsHeight()}let e=this.initData(u,this.getNum()),a=this.checkChanges("data",e.rows),i=this.checkChanges("top",e.topOffset),t=this.checkChanges("bottom",e.bottomOffset);mt(this.contentEl),a&&i?(e.topOffset&&this.contentEl.appendChild(this.getExtra("top",e.topOffset)),e.rows.forEach(r=>this.contentEl.appendChild(dr(r))),e.bottomOffset&&this.contentEl.appendChild(this.getExtra("bottom",e.bottomOffset))):t&&this.contentEl.lastChild&&(this.contentEl.lastChild.style.height=`${e.bottomOffset}px`)}getRowsHeight(){var u;if(typeof this.itemHeight>"u"){let e=((u=this.parentEl)==null?void 0:u.style.display)||"";this.parentEl&&(e===""||e==="none")&&(this.parentEl.style.display="block");let a=this.contentEl.children,i=a[Math.floor(a.length/2)];this.itemHeight=i.offsetHeight,this.parentEl&&(this.parentEl.style.display=e)}this.blockHeight=this.itemHeight*ie.BLOCK_ROWS,this.clusterRows=ie.BLOCK_ROWS*ie.CLUSTER_BLOCKS,this.clusterHeight=this.blockHeight*ie.CLUSTER_BLOCKS}getNum(){this.scrollTop=this.scrollEl.scrollTop;let u=(this.clusterHeight||0)-(this.blockHeight||0);return u&&Math.floor(this.scrollTop/u)||0}initData(u,e){if(u.lengthdelete this[o])))}initLocale(){if(this.options.locale){if(typeof this.options.locale=="object"){Object.assign(this.options,this.options.locale);return}let u=window.multipleSelect.locales,e=this.options.locale.split(/-|_/);if(e[0]=e[0].toLowerCase(),e[1]&&(e[1]=e[1].toUpperCase()),u[this.options.locale])Object.assign(this.options,u[this.options.locale]);else if(u[e.join("-")])Object.assign(this.options,u[e.join("-")]);else if(u[e[0]])Object.assign(this.options,u[e[0]]);else throw new Error(`[multiple-select-vanilla] invalid locales "${this.options.locale}", make sure to import it before using it`)}}initContainer(){var i;let u=this.elm.getAttribute("name")||this.options.name||"";this.options.classes&&this.elm.classList.add(this.options.classes),this.options.classPrefix&&(this.elm.classList.add(this.options.classPrefix),this.options.size&&this.elm.classList.add(`${this.options.classPrefix}-${this.options.size}`)),this.elm.style.display="none",this.labelElm=this.elm.closest("label"),!this.labelElm&&this.elm.id&&(this.labelElm=document.createElement("label"),this.labelElm.htmlFor=this.elm.id),(i=this.labelElm)!=null&&i.querySelector("input")&&(this.labelElm=null),typeof this.options.single>"u"&&(this.options.single=!this.elm.multiple),this.parentElm=f0("div",{className:Rn(`ms-parent ${this.elm.className||""} ${this.options.classes}`).join(" "),dataset:{test:"sel"}}),this.options.darkMode&&this.parentElm.classList.add("ms-dark-mode");let e=this.elm.getAttribute("title")||"";e&&(this.parentElm.title=e),this.options.placeholder=this.options.placeholder||this.elm.getAttribute("placeholder")||"",this.choiceElm=f0("button",{className:"ms-choice",type:"button"},this.parentElm),this.options.labelId&&(this.choiceElm.id=this.options.labelId,this.choiceElm.setAttribute("aria-labelledby",this.options.labelId)),this.choiceElm.appendChild(f0("span",{className:"ms-placeholder",textContent:this.options.placeholder})),this.options.showClear&&(this.selectClearElm=f0("div",{className:"ms-icon ms-icon-close"}),this.selectClearElm.style.display="none",this.choiceElm.appendChild(this.selectClearElm)),this.choiceElm.appendChild(f0("div",{className:"ms-icon ms-icon-caret"})),this.dropElm=f0("div",{className:`ms-drop ${this.options.position}`,ariaExpanded:"false"},this.parentElm),this.options.darkMode&&this.dropElm.classList.add("ms-dark-mode"),u&&(this.dropElm.dataset.name=u);let a=this.elm.getAttribute("data-test")||this.options.dataTest;a&&(this.parentElm.dataset.test=a,this.dropElm.dataset.test=a),this.closeElm=this.choiceElm.querySelector(".ms-icon-close"),this.options.dropWidth&&(this.dropElm.style.width=typeof this.options.dropWidth=="string"?this.options.dropWidth:`${this.options.dropWidth}px`),gx(this.elm,this.parentElm),this.elm.disabled&&(this.choiceElm.classList.add("disabled"),this.choiceElm.disabled=!0),this.selectAllName=`selectAll${u}`,this.selectGroupName=`selectGroup${u}`,this.selectItemName=`selectItem${u}`,this.options.keepOpen||(this._bindEventService.unbindAll("body-click"),this._bindEventService.bind(document.body,"click",t=>{this.getEventTarget(t)===this.choiceElm||Js(this.getEventTarget(t),".ms-choice")===this.choiceElm||(this.getEventTarget(t)===this.dropElm||Js(this.getEventTarget(t),".ms-drop")!==this.dropElm&&this.getEventTarget(t)!==this.elm)&&this.options.isOpen&&this.close("body.click")},void 0,"body-click"))}initData(){let u=[];if(this.options.data){if(Array.isArray(this.options.data))this.data=this.options.data.map(e=>typeof e=="string"||typeof e=="number"?{text:e,value:e}:e);else if(typeof this.options.data=="object"){for(let[e,a]of Object.entries(this.options.data))u.push({value:e,text:`${a}`});this.data=u}}else this.elm.childNodes.forEach(e=>{let a=this.initRow(e);a&&u.push(a)}),this.options.data=u,this.data=u,this.fromHtml=!0;this.dataTotal=hx(this.data||[])}initRow(u,e){var i,t;let a={};return((i=u.tagName)==null?void 0:i.toLowerCase())==="option"?(a.type="option",a.text=this.options.textTemplate(u),a.value=u.value,a.visible=!0,a.selected=!!u.selected,a.disabled=e||u.disabled,a.classes=u.getAttribute("class")||"",a.title=u.getAttribute("title")||"",u.dataset.value&&(a._value=u.dataset.value),Object.keys(u.dataset).length&&(a._data=u.dataset,a._data.divider&&(a.divider=a._data.divider)),a):((t=u.tagName)==null?void 0:t.toLowerCase())==="optgroup"?(a.type="optgroup",a.label=this.options.labelTemplate(u),a.visible=!0,a.selected=!!u.selected,a.disabled=u.disabled,a.children=[],Object.keys(u.dataset).length&&(a._data=u.dataset),u.childNodes.forEach(r=>{a.children.push(this.initRow(r,a.disabled))}),a):null}initDrop(){this.initList(),this.update(!0),this.options.isOpen&&this.open(10),this.options.openOnHover&&this.parentElm&&(this._bindEventService.bind(this.parentElm,"mouseover",()=>this.open(null)),this._bindEventService.bind(this.parentElm,"mouseout",()=>this.close("hover.mouseout")))}initFilter(){if(this.filterText="",this.options.filter||!this.options.filterByDataLength)return;let u=0;for(let e of this.data||[])e.type==="optgroup"?u+=e.children.length:u+=1;this.options.filter=u>this.options.filterByDataLength}initList(){var u,e;if(this.options.filter&&(this.filterParentElm=f0("div",{className:"ms-search"},this.dropElm),this.filterParentElm.appendChild(f0("input",{autocomplete:"off",autocapitalize:"off",spellcheck:!1,type:"text",placeholder:this.options.filterPlaceholder||"🔎︎"})),this.options.showSearchClear&&this.filterParentElm.appendChild(f0("span",{className:"ms-icon ms-icon-close"}))),this.options.selectAll&&!this.options.single){let a=this.elm.getAttribute("name")||this.options.name||"";this.selectAllParentElm=f0("div",{className:"ms-select-all",dataset:{key:"select_all"}});let i=document.createElement("label"),t=`ms-icon ${this.isAllSelected?"ms-icon-check":this.isPartiallyAllSelected?"ms-icon-minus":"ms-icon-uncheck"}`,r=f0("div",{className:"icon-checkbox-container"},i);f0("input",{type:"checkbox",ariaChecked:String(this.isAllSelected),checked:this.isAllSelected,dataset:{name:`selectAll${a}`}},r),f0("div",{className:t},r),i.appendChild(f0("span",{textContent:this.formatSelectAll()})),this.selectAllParentElm.appendChild(i),(u=this.dropElm)==null||u.appendChild(this.selectAllParentElm)}this.ulElm=document.createElement("ul"),this.ulElm.role="combobox",this.ulElm.ariaExpanded="false",this.ulElm.ariaMultiSelectable=String(!this.options.single),(e=this.dropElm)==null||e.appendChild(this.ulElm),this.options.showOkButton&&!this.options.single&&(this.okButtonElm=f0("button",{className:"ms-ok-button",type:"button",textContent:this.formatOkButton()},this.dropElm)),this.initListItems()}initListItems(){var a;let u=0,e=this.getListRows();if(this.options.selectAll&&!this.options.single&&(u=-1),e.length>ie.BLOCK_ROWS*ie.CLUSTER_BLOCKS){let i=this.dropElm&&((a=this.dropElm)==null?void 0:a.style.display)!=="none";!i&&this.dropElm&&(this.dropElm.style.left="-10000",this.dropElm.style.display="block",this.dropElm.ariaExpanded="true");let t=()=>{if(this.virtualScroll){this._currentHighlightIndex=0,this.updateDataStart=this.virtualScroll.dataStart+u,this.updateDataEnd=this.virtualScroll.dataEnd+u,this.updateDataStart<0&&(this.updateDataStart=0,this._currentHighlightIndex=0);let r=this.getDataLength();this.updateDataEnd>r&&(this.updateDataEnd=r),this.ulElm&&(this.isMoveUpRecalcRequired?this.recalculateArrowMove("up"):this.virtualScroll.dataStart>this.updateDataStart&&this.recalculateArrowMove("down"))}};this.ulElm&&(this.virtualScroll?this.virtualScroll.reset(e):this.virtualScroll=new Fx({rows:e,scrollEl:this.ulElm,contentEl:this.ulElm,sanitizer:this.options.sanitizer,callback:()=>{t(),this.events()}})),t(),!i&&this.dropElm&&(this.dropElm.style.left="0",this.dropElm.style.display="none",this.dropElm.ariaExpanded="false")}else this.ulElm&&(mt(this.ulElm),e.forEach(i=>this.ulElm.appendChild(dr(i)))),this.updateDataStart=0,this.updateDataEnd=this.updateData.length;return this.events(),e}getEventTarget(u){return u.composedPath?u.composedPath()[0]:u.target}getListRows(){var e;let u=[];return this.updateData=[],(e=this.data)==null||e.forEach(a=>u.push(...this.initListItem(a))),this.options.infiniteScroll&&u.push({tagName:"li",props:{className:"ms-infinite-option",role:"option"}}),u.push({tagName:"li",props:{className:"ms-no-results",textContent:this.formatNoMatchesFound()}}),u}initListItem(u,e=0){let a=(u==null?void 0:u.title)||"",i=this.options.multiple?"multiple":"",t=this.options.single?"radio":"checkbox",r=!!(u!=null&&u.selected),o=this.options.single&&!this.options.singleRadio,s="";if(!(u!=null&&u.visible))return[];if(this.updateData.push(u),o&&(s="hide-radio "),u.selected&&(s+="selected "),u.type==="optgroup"){let g=[],x;if(this.options.hideOptgroupCheckboxes||this.options.single)x={tagName:"span",props:{dataset:{name:this.selectGroupName,key:u._key}}};else{let b={tagName:"input",props:{type:"checkbox",dataset:{name:this.selectGroupName,key:u._key},checked:r,disabled:u.disabled}};o?x=b:x={tagName:"div",props:{className:`icon-checkbox-container${t==="radio"?" radio":""}`},children:[b,{tagName:"div",props:{className:`ms-icon ${r?t==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]}}!s.includes("hide-radio")&&(this.options.hideOptgroupCheckboxes||this.options.single)&&(s+="hide-radio ");let p={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(p.props,u.label);let F={tagName:"li",props:{className:Rn(`group${this.options.single||u.disabled?" disabled":""} ${s}`).join(" "),role:"option",ariaSelected:String(r),dataset:{key:u._key}},children:[{tagName:"label",props:{className:Rn(`optgroup${this.options.single||u.disabled?" disabled":""}`).join(" ")},children:[x,p]}]},v=this.options.cssStyler(u);return v&&(F.props.style=v),g.push(F),u.children.forEach(b=>g.push(...this.initListItem(b,1))),g}if(s+=u.classes||"",e&&this.options.single&&(s+=`option-level-${e} `),u.divider)return[{tagName:"li",props:{className:"option-divider"}}];let l=i||s?(i+s).trim():"";u.disabled&&(l+=" disabled");let E=`${u.disabled?"disabled":""}`,d={tagName:"span",props:{}};this.applyAsTextOrHtmlWhenEnabled(d.props,u.text);let c={tagName:"input",props:{type:t,value:encodeURI(u.value),dataset:{key:u._key,name:this.selectItemName},checked:r,disabled:!!u.disabled}};u.selected&&(c.attrs={checked:"checked"});let D={tagName:"div",props:{className:`icon-checkbox-container${t==="radio"?" radio":""}`},children:[c,{tagName:"div",props:{className:`ms-icon ${c.props.checked?t==="radio"?"ms-icon-radio":"ms-icon-check":"ms-icon-uncheck"}`}}]},m={tagName:"li",props:{role:"option",title:a,ariaSelected:String(r),dataset:{key:u._key}},children:[{tagName:"label",props:{className:E},children:[o?c:D,d]}]};l&&(m.props.className=l);let h=this.options.cssStyler(u);return h&&(m.props.style=h),[m]}initSelected(u=!1){var a,i;let e=0;for(let t of this.data||[])if(t.type==="optgroup"){let r=t.children.filter(o=>(o==null?void 0:o.selected)&&!o.disabled&&o.visible).length;t.children.length&&(t.selected=!this.options.single&&r&&r===t.children.filter(o=>o&&!o.disabled&&o.visible&&!o.divider).length),e+=r}else e+=t.selected&&!t.disabled&&t.visible?1:0;this.isAllSelected=((a=this.data)==null?void 0:a.filter(t=>t.selected&&!t.disabled&&t.visible).length)===((i=this.data)==null?void 0:i.filter(t=>!t.disabled&&t.visible&&!t.divider).length),this.isPartiallyAllSelected=!this.isAllSelected&&e>0,u||(this.isAllSelected?this.options.onCheckAll():e===0&&this.options.onUncheckAll())}initView(){let u;window.getComputedStyle?(u=window.getComputedStyle(this.elm).width,u==="auto"&&(u=Ui(this.dropElm,"outer","width")+20)):u=Ui(this.elm,"outer","width")+20,this.parentElm.style.width=`${this.options.width||u}px`,this.elm.classList.add("ms-offscreen")}events(){var e,a,i,t,r,o,s;this._bindEventService.unbindAll(["ok-button","search-input","select-all-checkbox","input-checkbox-list","group-checkbox-list","hover-highlight","arrow-highlight","option-list-scroll"]),this.clearSearchIconElm=(e=this.filterParentElm)==null?void 0:e.querySelector(".ms-icon-close"),this.searchInputElm=(a=this.dropElm)==null?void 0:a.querySelector(".ms-search input"),this.selectAllElm=(i=this.dropElm)==null?void 0:i.querySelector(`input[data-name="${this.selectAllName}"]`),this.selectGroupElms=(t=this.dropElm)==null?void 0:t.querySelectorAll(`input[data-name="${this.selectGroupName}"],span[data-name="${this.selectGroupName}"]`),this.selectItemElms=(r=this.dropElm)==null?void 0:r.querySelectorAll(`input[data-name="${this.selectItemName}"]:enabled`),this.noResultsElm=(o=this.dropElm)==null?void 0:o.querySelector(".ms-no-results");let u=l=>{l.preventDefault(),!this.getEventTarget(l).classList.contains("ms-icon-close")&&(this.options.isOpen?this.close("toggle.close"):this.open())};this.labelElm&&this._bindEventService.bind(this.labelElm,"click",l=>{this.getEventTarget(l).nodeName.toLowerCase()==="label"&&(u(l),(!this.options.filter||!this.options.isOpen)&&this.focus(),l.stopPropagation())}),this._bindEventService.bind(this.choiceElm,"click",u),this.options.onFocus&&this._bindEventService.bind(this.choiceElm,"focus",this.options.onFocus),this.options.onBlur&&this._bindEventService.bind(this.choiceElm,"blur",this.options.onBlur),this._bindEventService.bind(this.parentElm,"keydown",l=>{l.code==="Escape"&&this.handleEscapeKey()}),this.closeElm&&this._bindEventService.bind(this.closeElm,"click",l=>{l.preventDefault(),this._checkAll(!1,!0),this.initSelected(!1),this.updateSelected(),this.update(),this.options.onClear()}),this.clearSearchIconElm&&this._bindEventService.bind(this.clearSearchIconElm,"click",l=>{l.preventDefault(),this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this._currentHighlightIndex=-1,this.moveHighlightDown(),this.filter(),this.options.onFilterClear()}),this.searchInputElm&&(this._bindEventService.bind(this.searchInputElm,"keydown",l=>{l.code==="Tab"&&l.shiftKey&&this.close("key.shift+tab")},void 0,"search-input"),this._bindEventService.bind(this.searchInputElm,"keyup",l=>{var E,d,c;if(this.options.filterAcceptOnEnter&&["Enter","Space"].includes(l.code)&&((E=this.searchInputElm)!=null&&E.value)){if(this.options.single){let D=[];(d=this.selectItemElms)==null||d.forEach(m=>{var h;((h=m.closest("li"))==null?void 0:h.style.display)!=="none"&&D.push(m)}),D.length&&D[0].hasAttribute("data-name")&&this.setSelects([D[0].value])}else(c=this.selectAllElm)==null||c.click();this.close(`key.${l.code.toLowerCase()}`),this.focus();return}this.filter()},void 0,"search-input")),this.selectAllElm&&this._bindEventService.bind(this.selectAllElm,"click",l=>{var E;return this._checkAll((E=l.currentTarget)==null?void 0:E.checked)},void 0,"select-all-checkbox"),this.okButtonElm&&this._bindEventService.bind(this.okButtonElm,"click",l=>{u(l),l.stopPropagation()},void 0,"ok-button"),this.selectGroupElms&&this._bindEventService.bind(this.selectGroupElms,"click",l=>{let E=l.currentTarget,d=E.checked,c=Wi(this.data,"_key",E.dataset.key);this._checkGroup(c,d),this.options.onOptgroupClick(jn({label:c.label,selected:c.selected,data:c._data,children:c.children.map(D=>{if(D)return jn({text:D.text,value:D.value,selected:D.selected,disabled:D.disabled,data:D._data})})}))},void 0,"group-checkbox-list"),this.selectItemElms&&this._bindEventService.bind(this.selectItemElms,"click",l=>{let E=l.currentTarget,d=E.checked,c=Wi(this.data,"_key",E.dataset.key),D=()=>{this.options.single&&this.options.isOpen&&!this.options.keepOpen&&this.close("selection")};if(this.options.onBeforeClick(c)===!1){D();return}this._check(c,d),this.options.onClick(jn({text:c.text,value:c.value,selected:c.selected,data:c._data})),D()},void 0,"input-checkbox-list"),this.lastFocusedItemKey&&this.dropElm&&((s=this.dropElm.querySelector(`li[data-key=${this.lastFocusedItemKey}]`))==null||s.focus()),this.options.navigationHighlight&&this.dropElm&&(this._bindEventService.bind(this.dropElm,"mouseover",l=>{var d,c;let E=this.getEventTarget(l).closest(".ms-select-all")||this.getEventTarget(l).closest("li");if((d=this.dropElm)!=null&&d.contains(E)&&this.lastMouseOverPosition!==`${l.clientX}:${l.clientY}`){let D=((c=this.dropElm)==null?void 0:c.querySelectorAll(ui))||[],m=Array.from(D).findIndex(h=>h.dataset.key===E.dataset.key);this._currentHighlightIndex!==m&&!E.classList.contains("disabled")&&(this._currentSelectedElm=E,this._currentHighlightIndex=m,this.changeCurrentOptionHighlight(E))}this.lastMouseOverPosition=`${l.clientX}:${l.clientY}`},void 0,"hover-highlight"),this._bindEventService.bind(this.dropElm,"keydown",l=>{var E,d,c,D;switch(l.key){case"ArrowUp":l.preventDefault(),this.moveHighlightUp();break;case"ArrowDown":l.preventDefault(),this.moveHighlightDown();break;case"Escape":this.handleEscapeKey();break;case"Enter":case" ":{if(document.activeElement!==this.okButtonElm){let m=this.getEventTarget(l).closest(".ms-select-all")||this.getEventTarget(l).closest("li");if(l.key===" "&&this.options.filter||this.options.filterAcceptOnEnter&&!m)return;l.preventDefault(),(d=(E=this._currentSelectedElm)==null?void 0:E.querySelector("input"))==null||d.click(),this.options.single&&(this.choiceElm.focus(),this.lastFocusedItemKey=((c=this.choiceElm)==null?void 0:c.dataset.key)||"")}break}case"Tab":{l.preventDefault(),l.shiftKey?document.activeElement===this.okButtonElm?(this.focusSelectAllOrList(),this.highlightCurrentOption()):(this.close("key.shift+tab"),this.choiceElm.focus()):(this.changeCurrentOptionHighlight(),(D=this.okButtonElm)==null||D.focus());break}}},void 0,"arrow-highlight")),this.ulElm&&this.options.infiniteScroll&&this._bindEventService.bind(this.ulElm,"scroll",this.infiniteScrollHandler.bind(this),void 0,"option-list-scroll")}handleEscapeKey(){this.options.keepOpen||(this.close("key.escape"),this.choiceElm.focus())}infiniteScrollHandler(u,e,a){let i=!1;u&&this.getEventTarget(u)&&this.ulElm&&this.scrolledByMouse?this.getEventTarget(u).scrollTop+this.getEventTarget(u).clientHeight===this.ulElm.scrollHeight&&(i=!0):e!==void 0&&e+1===a&&(i=!0),i&&this.ulElm&&(this.virtualScroll?this.initListItems():this.ulElm.scrollTop=0,this._currentHighlightIndex=0,this.highlightCurrentOption())}open(u=0){return new Promise(e=>{u!==null&&u>=0?(clearTimeout(this.openDelayTimer),this.openDelayTimer=setTimeout(()=>{this.openDrop(),e()},u)):(this.openDrop(),e())})}openDrop(){var i,t,r,o,s;if(!this.dropElm||(i=this.choiceElm)!=null&&i.classList.contains("disabled"))return;if(this.options.isOpen=!0,this.parentElm.classList.add("ms-parent-open"),(r=(t=this.choiceElm)==null?void 0:t.querySelector("div.ms-icon-caret"))==null||r.classList.add("open"),this.dropElm.style.display="block",this.dropElm.ariaExpanded="true",(o=this.selectAllElm)!=null&&o.parentElement&&(this.selectAllElm.parentElement.style.display="inline-flex"),this.noResultsElm&&(this.noResultsElm.style.display="none"),this.getDataLength()||((s=this.selectAllElm)!=null&&s.parentElement&&(this.selectAllElm.parentElement.style.display="none"),this.noResultsElm&&(this.noResultsElm.style.display="block")),this.options.container){let l=cr(this.dropElm),E;this.options.container instanceof Node?E=this.options.container:typeof this.options.container=="string"&&(E=this.options.container==="body"?document.body:document.querySelector(this.options.container)),E.appendChild(this.dropElm),this.dropElm.style.top=`${(l==null?void 0:l.top)??0}px`,this.dropElm.style.left=`${(l==null?void 0:l.left)??0}px`,this.dropElm.style.minWidth="auto",this.dropElm.style.width=`${Ui(this.parentElm,"outer","width")}px`}let u=this.options.minHeight,e=this.options.maxHeight;this.options.maxHeightUnit==="row"&&(e=Ui(this.dropElm.querySelector("ul>li"),"outer","height")*this.options.maxHeight),this.ulElm??(this.ulElm=this.dropElm.querySelector("ul")),this.ulElm&&(u&&(this.ulElm.style.minHeight=`${u}px`),this.ulElm.style.maxHeight=`${e}px`),this.dropElm.querySelectorAll(".multiple").forEach(l=>{l.style.width=`${this.options.multipleWidth}px`}),this.getDataLength()&&this.options.filter?(this.searchInputElm&&(this.searchInputElm.value="",this.searchInputElm.focus()),this.filter(!0)):this.focusSelectAllOrList(),this._currentHighlightIndex<0?this.moveHighlightDown():this.highlightCurrentOption(),this.options.autoAdjustDropWidthByTextSize&&this.adjustDropWidthByText();let a=this.options.position;if(this.options.autoAdjustDropHeight){if(this.options.autoAdjustDropPosition){let{bottom:l,top:E}=Ln(this.dropElm),d=this.dropElm.getBoundingClientRect().height;a=ll?"top":"bottom"}this.adjustDropHeight(a)}this.options.autoAdjustDropPosition&&this.adjustDropPosition(!0),this.options.onOpen()}focusSelectAllOrList(){this.selectAllElm?this.selectAllElm.focus():this.ulElm&&(this.ulElm.tabIndex=0,this.ulElm.focus())}highlightCurrentOption(){var e;let u=((e=this.dropElm)==null?void 0:e.querySelectorAll(ui))||[];if(this._currentHighlightIndex<=u.length){let a=u[this._currentHighlightIndex];a&&(this.lastFocusedItemKey=a.dataset.key||"",this._currentSelectedElm=a,this.scrolledByMouse=!1,a.scrollIntoView({block:"nearest"}),this.changeCurrentOptionHighlight(a),setTimeout(()=>this.scrolledByMouse=!0,10))}}changeCurrentOptionHighlight(u){var e;u==null||u.classList.add("highlighted"),(((e=this.dropElm)==null?void 0:e.querySelectorAll(kx))||[]).forEach(a=>{a!==u&&a.classList.remove("highlighted")})}moveHighlightDown(){var a,i;let u=((a=this.dropElm)==null?void 0:a.querySelectorAll(ui))||[],e=u.length;this._currentHighlightIndex0&&this.ulElm){let t=u[this._currentHighlightIndex+(this.options.single?0:1)],r=t==null?void 0:t.dataset.key;this.lastFocusedItemKey=r,this.ulElm.scrollTop=this.ulElm.scrollTop-(t==null?void 0:t.getBoundingClientRect().height)||10,this.isMoveUpRecalcRequired=!0;return}this._currentHighlightIndex>0&&(this._currentHighlightIndex--,(i=u[this._currentHighlightIndex])!=null&&i.classList.contains("disabled")&&this.moveHighlightUp()),this.highlightCurrentOption()}recalculateArrowMove(u){var i;let e=((i=this.dropElm)==null?void 0:i.querySelectorAll(ui))||[],a=Array.from(e).findIndex(t=>t.dataset.key===this.lastFocusedItemKey);this._currentHighlightIndex=a-1,u==="down"?this.moveHighlightDown():u==="up"&&(this.moveHighlightUp(),this.isMoveUpRecalcRequired=!1)}close(u){var e,a;this.options.isOpen=!1,this.parentElm.classList.remove("ms-parent-open"),(a=(e=this.choiceElm)==null?void 0:e.querySelector("div.ms-icon-caret"))==null||a.classList.remove("open"),this.dropElm&&(this.dropElm.style.display="none",this.dropElm.ariaExpanded="false",this.options.container&&(this.parentElm.appendChild(this.dropElm),this.dropElm.style.top="auto",this.dropElm.style.left="auto")),this.options.onClose(u)}applyAsTextOrHtmlWhenEnabled(u,e){u||(u={}),this.isRenderAsHtml?u.innerHTML=typeof this.options.sanitizer=="function"?this.options.sanitizer(e):e:u.textContent=e}update(u=!1){var l;let e=this.getSelects(),a=this.getSelects("text");this.options.displayValues&&(a=e);let i=(l=this.choiceElm)==null?void 0:l.querySelector("span"),t=e.length,r=null,o=()=>{if(this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml){let E=e.join(this.options.displayDelimiter);return this.options.useSelectOptionLabelToHtml?xx(E):E}return a.join(this.options.displayDelimiter)};if(i){if(t===0){let E=this.options.placeholder||"";i.classList.add("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,E)}else tthis.options.minimumCountSelected?r=`${a.slice(0,this.options.minimumCountSelected).join(this.options.displayDelimiter)}...`:this.formatCountSelected(t,this.dataTotal)&&t>this.options.minimumCountSelected?r=this.formatCountSelected(t,this.dataTotal):r=o();if(r!==null&&(i==null||i.classList.remove("ms-placeholder"),this.applyAsTextOrHtmlWhenEnabled(i,r)),this.options.showClear&&this.selectClearElm){let E=r?"block":"none";this.selectClearElm.style.display=E}if(this.options.displayTitle){let E=this.options.useSelectOptionLabel||this.options.useSelectOptionLabelToHtml?"value":"text";i.title=this.getSelects(E).join(this.options.displayDelimiter)}}let s=this.getSelects();this.options.single?this.elm.value=s.length?s[0]:"":Array.from(this.elm.options).forEach(E=>{E.selected=s.some(d=>d===E.value)}),u||this.elm.dispatchEvent(new Event("change"))}updateSelected(u){var a,i,t;for(let r=this.updateDataStart;rr.visible).length)===0;if(this.selectAllElm){this.selectAllElm.ariaChecked=String(this.isAllSelected);let r=(t=this.dropElm)==null?void 0:t.querySelector(".ms-select-all .icon-checkbox-container div");if(r){let o="";this.isAllSelected?o="ms-icon-check":this.isPartiallyAllSelected?o="ms-icon-minus":o="ms-icon-uncheck",r.className=`ms-icon ${o}`}this.selectAllElm.checked=this.isAllSelected,Ws(this.selectAllElm.closest("li"),!e)}Ws(this.noResultsElm,e),this.virtualScroll&&(this.virtualScroll.rows=u??this.getListRows())}getData(){return this.options.data}getDataLength(){var u;return((u=this.data)==null?void 0:u.length)??0}getOptions(u=!0){let e=Object.assign({},this.options);return delete e.data,u?Er(e):this.options}refreshOptions(u){Dx(this.options,u,!0)||(this.options=Object.assign(this.options,u),this.destroy(!1),this.init())}getDropElement(){return this.dropElm}getParentElement(){return this.parentElm}getSelects(u="value"){let e=[];for(let a of this.data||[])if(a.type==="optgroup"){let i=a.children.filter(t=>t==null?void 0:t.selected);if(!i.length)continue;if(u==="value"||this.options.single)e.push(...i.map(t=>u==="value"&&t._value||t[u]));else{let t=[];t.push("["),t.push(a.label),t.push(`: ${i.map(r=>r[u]).join(", ")}`),t.push("]"),e.push(t.join(""))}}else a.selected&&e.push(u==="value"&&a._value||a[u]);return e}setSelects(u,e="value",a=!1){let i=!1,t=r=>{var o;for(let s of r){let l=!1;if(e==="text"){let E=document.createElement("div");this.applyAsTextOrHtmlWhenEnabled(E,s.text),l=u.includes(((o=E.textContent)==null?void 0:o.trim())??"")}else l=u.includes(s._value||s.value),!l&&s.value===`${+s.value}`&&(l=u.includes(+s.value));s.selected!==l&&(i=!0),s.selected=l}};for(let r of this.data||[])r.type==="optgroup"?t(r.children):t([r]);i&&(this.initSelected(a),this.updateSelected(),this.update(a))}enable(){this.choiceElm&&(this.choiceElm.classList.remove("disabled"),this.choiceElm.disabled=!1)}disable(){var u;this.choiceElm&&((u=this.choiceElm)==null||u.classList.add("disabled"),this.choiceElm.disabled=!0)}check(u){let e=Wi(this.data,"value",u);e&&this._check(e,!0)}uncheck(u){let e=Wi(this.data,"value",u);e&&this._check(e,!1)}_check(u,e){this.options.single&&this._checkAll(!1,!0),u.selected=e,this.initSelected(),this.updateSelected(),this.update()}checkAll(){this._checkAll(!0)}uncheckAll(){this._checkAll(!1)}_checkAll(u,e){for(let a of this.data||[])a.type==="optgroup"?this._checkGroup(a,u,!0):!a.disabled&&!a.divider&&(e||a.visible)&&(a.selected=u);e||(this.initSelected(),this.updateSelected(),this.update())}_checkGroup(u,e,a){u.selected=e,u.children.forEach(i=>{i&&!i.disabled&&!i.divider&&(a||i.visible)&&(i.selected=e)}),a||(this.initSelected(),this.updateSelected(),this.update())}checkInvert(){if(!this.options.single){for(let u of this.data||[])if(u.type==="optgroup")for(let e of u.children)e&&(e.divider||(e.selected=!e.selected));else u&&!u.divider&&(u.selected=!u.selected);this.initSelected(),this.updateSelected(),this.update()}}focus(){var u;(u=this.choiceElm)==null||u.focus(),this.options.onFocus()}blur(){var u;(u=this.choiceElm)==null||u.blur(),this.options.onBlur()}refresh(){this.destroy(!1),this.init()}filter(u){var t;let e=((t=this.searchInputElm)==null?void 0:t.value.trim())??"",a=e.toLowerCase();if(this.filterText===a)return;this.filterText=a;for(let r of this.data||[])if(r.type==="optgroup")if(this.options.filterGroup){let o=`${(r==null?void 0:r.label)??""}`;if(r!=null){let s=this.options.customFilter({label:va(o.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalLabel:o,originalSearch:e,row:r});r.visible=s;for(let l of r.children)l&&(l.visible=s)}}else{for(let o of r.children)if(o!=null){let s=`${(o==null?void 0:o.text)??""}`;o.visible=this.options.customFilter({text:va(s.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalText:s,originalSearch:e,row:o,parent:r})}r.visible=r.children.filter(o=>o==null?void 0:o.visible).length>0}else{let o=`${(r==null?void 0:r.text)??""}`;r.visible=this.options.customFilter({text:va(o.toString().toLowerCase(),this.options.diacriticParser),search:va(a,this.options.diacriticParser),originalText:o,originalSearch:e,row:r})}let i=this.initListItems();this.initSelected(u),this.updateSelected(i),u||this.options.onFilter(e)}adjustDropHeight(u){var E,d,c,D;let e=u!=="top",a=((E=this.filterParentElm)==null?void 0:E.getBoundingClientRect().height)??0,i=((d=this.okButtonElm)==null?void 0:d.getBoundingClientRect().height)??0,t=this.options.single?0:((c=this.selectAllParentElm)==null?void 0:c.getBoundingClientRect().height)??0,r=a+i+t+5,{bottom:o,top:s}=Ln(this.parentElm),l=this.options.maxHeight;if(e?l=o-r-this.options.adjustedHeightPadding:l=s-r-this.options.adjustedHeightPadding,!this.options.maxHeight||this.options.maxHeight&&lo)e="bottom";else if(o>a&&i>a){if(this.options.container){let d=t-o;d<0&&(d=0),(d>0||u)&&(e="top",this.dropElm.style.top=`${d<0?0:d}px`)}else e="top",this.dropElm.classList.add(e);this.dropElm.classList.remove("bottom")}l-sa.clientHeight?this.getScrollbarWidth():0,o=0;this.dropElm.querySelectorAll("li label").forEach(s=>{s.scrollWidth>o&&(o=s.scrollWidth)}),o+=i+r,othis.options.maxWidth&&(o=this.options.maxWidth),this.options.minWidth&&otypeof n=="string"?Nn(document.querySelectorAll(n),u):n instanceof Node?Nn([n],u):Nn(n,u);function Nn(n,u){let e=Array.from(n),a=[];for(let i=0;idelete t._multipleSelect,r.onAfterHardDestroyed=()=>a[i]=null,a.push(t._multipleSelect)}catch(r){console.error(r)}}return a.length===1?a[0]:a}Va.defaults=ie.DEFAULTS;Va.locales={...o4};Va.methods=ie.METHODS;typeof window<"u"&&(window.multipleSelect=Va);class E4{constructor(u,e,a,i=!0){this.translaterService=u,this.collectionService=e,this.rxjs=a,this._isMultipleSelect=!0,this._collectionLength=0,this._shouldTriggerQuery=!0,this.isFilled=!1,this.enableTranslateLabel=!1,this.subscriptions=[],this._isMultipleSelect=i}get collectionOptions(){var u,e;return((e=(u=this.columnDef)==null?void 0:u.filter)==null?void 0:e.collectionOptions)??{}}get columnFilter(){var u;return((u=this.columnDef)==null?void 0:u.filter)??{}}get customStructure(){var u,e;return(e=(u=this.columnDef)==null?void 0:u.filter)==null?void 0:e.customStructure}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get defaultOperator(){return this.isMultipleSelect?T.in:T.equal}get filterOptions(){var u,e;return{...(u=this.gridOptions.defaultFilterOptions)==null?void 0:u.select,...(e=this.columnFilter)==null?void 0:e.filterOptions}}get isMultipleSelect(){return this._isMultipleSelect}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get operator(){var u;return((u=this.columnFilter)==null?void 0:u.operator)??this.defaultOperator}set operator(u){this.columnFilter&&(this.columnFilter.operator=u)}init(u){var i,t,r,o,s,l,E,d,c,D,m;if(!u)throw new Error('[Slickgrid-Universal] A filter must always have an "init()" with valid arguments.');if(this.grid=u.grid,this.callback=u.callback,this.columnDef=u.columnDef,this.searchTerms=(u.hasOwnProperty("searchTerms")?u.searchTerms:[])||[],this.filterContainerElm=u.filterContainerElm,!this.grid||!this.columnDef||!this.columnFilter||!this.columnFilter.collection&&!this.columnFilter.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") for the MultipleSelect/SingleSelect Filter to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example:: { filter: model: Filters.multipleSelect, collection: [{ value: true, label: 'True' }, { value: false, label: 'False'}] }`);if(this.enableTranslateLabel=((i=this.columnFilter)==null?void 0:i.enableTranslateLabel)??!1,this.labelName=((t=this.customStructure)==null?void 0:t.label)??"label",this.labelPrefixName=((r=this.customStructure)==null?void 0:r.labelPrefix)??"labelPrefix",this.labelSuffixName=((o=this.customStructure)==null?void 0:o.labelSuffix)??"labelSuffix",this.optionLabel=((s=this.customStructure)==null?void 0:s.optionLabel)??"value",this.valueName=((l=this.customStructure)==null?void 0:l.value)??"value",this.enableTranslateLabel&&(!this.translaterService||typeof this.translaterService.translate!="function"))throw new Error('[select-filter] The Translate Service is required for the Select Filter to work correctly when "enableTranslateLabel" is set.');this._locales=((E=this.gridOptions)==null?void 0:E.locales)??_.locales,this.initMultipleSelectTemplate();let e=((d=this.gridOptions)==null?void 0:d.defaultFilterPlaceholder)||"";(c=this.columnFilter)!=null&&c.placeholder&&(e=this.columnFilter.placeholder),this.defaultOptions.placeholder=e||"",this._isMultipleSelect&&((D=this.columnDef)!=null&&D.filter)&&(this.columnDef.filter.emptySearchTermReturnAllValues=((m=this.columnDef.filter)==null?void 0:m.emptySearchTermReturnAllValues)??!1);const a=this.columnFilter.collection||[];return new Promise(async(h,g)=>{try{let x;this.columnFilter.collectionAsync&&!this.columnFilter.collection?(x=c1(this.columnFilter.collectionAsync,this.columnDef,this.renderDomElement.bind(this),this.rxjs,this.subscriptions),h(x)):(x=a,this.renderDomElement(a),h(a)),(this.columnFilter.collectionAsync||this.columnFilter.enableCollectionWatch)&&(await(x??this.columnFilter.collectionAsync),this.watchCollectionChanges())}catch(x){g(x)}})}clear(u=!0){this._msInstance&&this._collectionLength>0&&(this._msInstance.setSelects([]),this.updateFilterStyle(!1),this.searchTerms=[],this._shouldTriggerQuery=u,this.callback(void 0,{columnDef:this.columnDef,clearFilterTriggered:!0,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0)}destroy(){var u,e;typeof((u=this._msInstance)==null?void 0:u.destroy)=="function"&&this._msInstance.destroy(),(e=this.filterElm)==null||e.remove(),qt(this.subscriptions)}getValues(){var u;return((u=this._msInstance)==null?void 0:u.getSelects())??[]}setValues(u,e,a=!1){u!==void 0&&this._msInstance&&(u=Array.isArray(u)?u.every(i=>Si(i))?u.map(String):u:[u],this._msInstance.setSelects(u)),this.updateFilterStyle(this.getValues().length>0),this.operator=e||this.defaultOperator,a&&this.onTriggerEvent()}filterCollection(u){var a,i;let e=u;if(this.columnFilter&&this.columnFilter.collectionFilterBy){const t=this.columnFilter.collectionFilterBy,r=((a=this.columnFilter.collectionOptions)==null?void 0:a.filterResultAfterEachPass)||null;e=((i=this.collectionService)==null?void 0:i.filterCollection(e,t,r))||[]}return e}sortCollection(u){var a;let e=u;if(this.columnFilter&&this.columnFilter.collectionSortBy){const i=this.columnFilter.collectionSortBy;e=((a=this.collectionService)==null?void 0:a.sortCollection(this.columnDef,e,i,this.enableTranslateLabel))||[]}return e}watchCollectionChanges(){var u;(u=this.columnFilter)!=null&&u.collection&&(pi(this.columnFilter.collection,this.watchCallback.bind(this)),Wt(this.columnFilter,"collection",this.propertyObserverCallback.bind(this)))}propertyObserverCallback(u){this.renderDomElement(u||[]),this.columnFilter.collection&&pi(this.columnFilter.collection,this.watchCallback.bind(this))}watchCallback(u){this.renderDomElement(this.columnFilter.collection||u||[])}renderDomElement(u){var t,r,o,s;if(!Array.isArray(u)&&((t=this.collectionOptions)!=null&&t.collectionInsideObjectProperty)){const l=this.collectionOptions.collectionInsideObjectProperty;u=Qu(u,l||"")}if(!Array.isArray(u))throw new Error('The "collection" passed to the Select Filter is not a valid array.');let e=[];if(u.length>0&&(e=[...u]),(r=this.collectionOptions)!=null&&r.addBlankEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==""&&e.unshift(this.createBlankEntry()),(o=this.collectionOptions)!=null&&o.addCustomFirstEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&e.unshift(this.collectionOptions.addCustomFirstEntry),(s=this.collectionOptions)!=null&&s.addCustomLastEntry&&Array.isArray(e)&&e.length>0){const l=e.length-1;e[l][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&e.push(this.collectionOptions.addCustomLastEntry)}let a=e;a=this.filterCollection(a),a=this.sortCollection(a);const i=S1("filter",a,this.columnDef,this.grid,this.isMultipleSelect,this.translaterService,this.searchTerms||[]);this.isFilled=i.hasFoundSearchTerm,this.createFilterElement(i.selectElement,i.dataCollection),this._collectionLength=a.length}createBlankEntry(){const u={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(u[this.labelPrefixName]=""),this.labelSuffixName&&(u[this.labelSuffixName]=""),u}createFilterElement(u,e){var i;const a=((i=this.columnDef)==null?void 0:i.id)??"";this.elementName=`filter-${a}`,this.defaultOptions.name=this.elementName,Au(this.filterContainerElm),this.filterElm=u,this.filterElm.dataset.columnId=`${a}`,this.updateFilterStyle(this.isFilled),this.filterContainerElm.appendChild(u),this.filterElmOptions={...this.defaultOptions,...this.filterOptions,data:e},this._msInstance=Va(u,this.filterElmOptions)}initMultipleSelectTemplate(){var i,t,r,o,s,l,E,d,c,D,m,h,g;const u=((i=this.gridOptions)==null?void 0:i.enableTranslate)??!1,a={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,name:`${((t=this.columnDef)==null?void 0:t.id)??""}`,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,single:!0,singleRadio:!0,showSearchClear:!0,renderOptionLabelAsHtml:((r=this.columnFilter)==null?void 0:r.enableRenderHtml)??!1,sanitizer:x=>this.grid.sanitizeHtmlString(x),onClose:()=>this.onTriggerEvent(),onClear:()=>this.clear()};if(this._isMultipleSelect){a.single=!1,a.singleRadio=!1,a.showOkButton=!0,a.displayTitle=!0;const x=Q0(this.gridOptions);a.countSelectedText=u&&((o=this.translaterService)!=null&&o.translate)?this.translaterService.translate(`${x}X_OF_Y_SELECTED`):(s=this._locales)==null?void 0:s.TEXT_X_OF_Y_SELECTED,a.allSelectedText=u&&((l=this.translaterService)!=null&&l.translate)?this.translaterService.translate(`${x}ALL_SELECTED`):(E=this._locales)==null?void 0:E.TEXT_ALL_SELECTED,a.noMatchesFoundText=u&&((d=this.translaterService)!=null&&d.translate)?this.translaterService.translate(`${x}NO_MATCHES_FOUND`):(c=this._locales)==null?void 0:c.TEXT_NO_MATCHES_FOUND,a.okButtonText=u&&((D=this.translaterService)!=null&&D.translate)?this.translaterService.translate(`${x}OK`):(m=this._locales)==null?void 0:m.TEXT_OK,a.selectAllText=u&&((h=this.translaterService)!=null&&h.translate)?this.translaterService.translate(`${x}SELECT_ALL`):(g=this._locales)==null?void 0:g.TEXT_SELECT_ALL}this.defaultOptions=a}onTriggerEvent(){if(this._msInstance){const u=this.getValues();this.updateFilterStyle(Array.isArray(u)&&u.length>1||u.length===1&&u[0]!==""),this.searchTerms=u,this.callback(void 0,{columnDef:this.columnDef,operator:this.operator,searchTerms:u,shouldTriggerQuery:this._shouldTriggerQuery}),this._shouldTriggerQuery=!0}}updateFilterStyle(u){var e,a,i,t,r,o;u?(this.isFilled=!0,(e=this.filterElm)==null||e.classList.add("filled"),(i=(a=this._msInstance)==null?void 0:a.getParentElement())==null||i.classList.add("filled")):(this.isFilled=!1,(t=this.filterElm)==null||t.classList.remove("filled"),(o=(r=this._msInstance)==null?void 0:r.getParentElement())==null||o.classList.remove("filled"))}}class Ax extends E4{constructor(u,e,a){super(u,e,a,!0),this.translaterService=u,this.collectionService=e,this.rxjs=a}}class bx extends E4{constructor(u,e,a){super(u,e,a,!1),this.translaterService=u,this.collectionService=e,this.rxjs=a}}class fx extends uo{constructor(u){super(u),this.translaterService=u,this.sliderType="single"}}class Bx extends uo{constructor(u){super(u),this.translaterService=u,this.sliderType="double"}}const H={autocompleter:CD,compoundDate:_m,compoundInput:$s,compoundInputNumber:Yh,compoundInputPassword:Qh,compoundInputText:$s,compoundSlider:ux,dateRange:ex,input:Ue,inputMask:ax,inputNumber:ix,inputPassword:tx,inputText:Ue,multipleSelect:Ax,singleSelect:bx,slider:fx,sliderRange:Bx};class yx{constructor(u,e,a,i){var t;this.config=u,this.translaterService=e,this.collectionService=a,this.rxjs=i,this._options=((t=this.config)==null?void 0:t.options)??{}}addRxJsResource(u){this.rxjs=u}createFilter(u){let e;return u!=null&&u.model&&(e=typeof u.model=="function"?new u.model(this.translaterService,this.collectionService,this.rxjs):u.model),!e&&this._options.defaultFilter&&(e=new this._options.defaultFilter(this.translaterService,this.collectionService,this.rxjs)),e}}const eo={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoFixResizeTimeout:5*60*5,autoFixResizeRequiredGoodCount:2,autoFixResizeWhenBrokenStyleDetected:!1,autoParseInputFilterOperator:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:Us},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"}},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{itemsKey:"ITEMS",ofKey:"OF",itemsSelectedKey:"ITEMS_SELECTED"}},customTooltip:{tooltipTextMaxLength:700,maxWidth:500},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:H.input,defaultBackendServiceFilterTypingDebounce:500,enableFilterTrimWhiteSpace:!1,defaultFilterPlaceholder:"🔎︎",defaultFilterRangeOperator:T.rangeInclusive,defaultColumnSortFieldId:"id",draggableGrouping:{hideToggleAllButton:!1,toggleAllButtonText:"",dropPlaceHolderTextKey:"DROP_COLUMN_HEADER_TO_GROUP_BY"},editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,emptyDataWarning:{className:"slick-empty-data-warning",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,autoDetectCellFormat:!0,exportWithFormatter:!1,filename:"export",format:Hu.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"⮞",groupExpandedSymbol:"⮟",groupingAggregatorRowText:"",sanitizeDataExport:!0},textExportOptions:{delimiter:ze.comma,exportWithFormatter:!1,filename:"export",format:Hu.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!0,useUtf8WithBom:!0},eventNamingStyle:I0.lowerCase,forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleFilterCommand:!1,hideToggleDarkModeCommand:!0,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-pin-off-outline",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,showBulletWhenIconMissing:!0,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",headerColumnValueExtractor:Us},headerMenu:{autoAlign:!0,autoAlignOffset:4,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFilterShortcutSubMenu:"mdi mdi-filter-outline",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270"},ignoreAccentOnStringFilterAndSort:!1,multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},headerRowHeight:35,rowHeight:35,topPanelHeight:30,translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"͏͏͏͏͏͏͏͏͏·"}};function Us(n,u){let e=(n==null?void 0:n.columnPickerLabel)??(n==null?void 0:n.name)??"";(e instanceof HTMLElement||e instanceof DocumentFragment)&&(e=e.textContent||"");const a=(n==null?void 0:n.columnGroup)||"",i=(u==null?void 0:u.columnGroupSeparator)??" - ";return a?a+i+e:e}class zx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._sum=0,this._itemCount=0,this._type="sum",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._isTreeAggregator=e,this._isInitialized=!0,this._sum=0,this._itemCount=0,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={},u.__treeTotals.count={}),u.__treeTotals.count[this._field]=0,u.__treeTotals[this._type][this._field]=0)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;this._isTreeAggregator?e?(u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals),this._sum=parseFloat(u.__treeTotals[this._type][this._field]??0),this._itemCount=u.__treeTotals.count[this._field]??0):lu(a)&&(this._sum=parseFloat(a),this._itemCount=1):lu(a)&&(this._sum+=parseFloat(a))}storeResult(u){(!u||u[this._type]===void 0)&&(u[this._type]={}),this.addGroupTotalPropertiesWhenNotExist(u);let e=this._sum,a=this._itemCount;this._isTreeAggregator&&(e+=u[this._type][this._field],a+=u.count[this._field],u.count[this._field]=a),u[this._type][this._field]=e}addGroupTotalPropertiesWhenNotExist(u){u[this._type]===void 0&&(u[this._type]={}),this._isTreeAggregator&&u.count===void 0&&(u.count={})}}class Sx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._max=null,this._type="max",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._max=null,this._isInitialized=!0,this._isTreeAggregator=e,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={}),u.__treeTotals[this._type][this._field]=null)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;if(!this._isTreeAggregator)this.keepMaxValueWhenFound(a);else if(e){u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals);const i=u.__treeTotals[this._type][this._field]!==null?parseFloat(u.__treeTotals[this._type][this._field]):null;i!==null&&lu(i)&&(this._max===null||i>this._max)&&(this._max=i)}else lu(a)&&this.keepMaxValueWhenFound(a)}storeResult(u){let e=this._max;if(this.addGroupTotalPropertiesWhenNotExist(u),this._isTreeAggregator&&e!==null){const a=u[this._type][this._field];lu(a)&&a>e&&(e=a)}u[this._type][this._field]=e}addGroupTotalPropertiesWhenNotExist(u){u[this._type]===void 0&&(u[this._type]={})}keepMaxValueWhenFound(u){lu(u)&&(this._max===null||u>this._max)&&(this._max=parseFloat(u))}}class wx{constructor(u){this._isInitialized=!1,this._distinctValues=[],this._type="distinct",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){if(this._distinctValues=[],this._isInitialized=!0,e)throw new Error("[Slickgrid-Universal] CloneAggregator is not currently supported for use with Tree Data")}accumulate(u){const e=u&&u.hasOwnProperty(this._field)?u[this._field]:void 0;this._distinctValues.indexOf(e)===-1&&e!==void 0&&this._distinctValues.push(e)}storeResult(u){(!u||u[this._type]===void 0)&&(u[this._type]={}),u[this._type][this._field]=this._distinctValues}}class Mx{constructor(u){this._isInitialized=!1,this._isTreeAggregator=!1,this._min=null,this._type="min",this._field=u}get field(){return this._field}get isInitialized(){return this._isInitialized}get type(){return this._type}init(u,e=!1){this._min=null,this._isInitialized=!0,this._isTreeAggregator=e,e&&(u.__treeTotals||(u.__treeTotals={}),u.__treeTotals[this._type]===void 0&&(u.__treeTotals[this._type]={}),u.__treeTotals[this._type][this._field]=null)}accumulate(u,e=!1){const a=u!=null&&u.hasOwnProperty(this._field)?u[this._field]:null;if(!this._isTreeAggregator)this.keepMinValueWhenFound(a);else if(e){u.__treeTotals||(u.__treeTotals={}),this.addGroupTotalPropertiesWhenNotExist(u.__treeTotals);const i=u.__treeTotals[this._type][this._field]!==null?parseFloat(u.__treeTotals[this._type][this._field]):null;i!==null&&lu(i)&&(this._min===null||i=t)||r==="inclusive"&&(Et)))s=!1,l=e||_.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN.replace(/{{minLength}}|{{maxLength}}/gi,d=>o[d]);else if(i!==void 0&&E!==null&&(r==="exclusive"&&E<=i||r==="inclusive"&&E!==null&&Eo[c])}else if(t!==void 0&&E!==null&&(r==="exclusive"&&E>=t||r==="inclusive"&&E!==null&&E>t)){s=!1;const d=r==="inclusive"?_.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE:_.VALIDATION_EDITOR_TEXT_MAX_LENGTH;l=e||d.replace(/{{maxLength}}/gi,c=>o[c])}return{valid:s,msg:l}}const jx=3;class Lx{constructor(u){var e;if(this.args=u,this._isValueTouched=!1,this._lastTriggeredByClearInput=!1,this.disabled=!1,this.forceUserInput=!1,this.finalCollection=[],!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this._bindEventService=new pu,(e=this.gridOptions)!=null&&e.translater&&(this._translater=this.gridOptions.translater),this._locales=this.gridOptions&&this.gridOptions.locales||_.locales,this.init()}get autocompleterOptions(){return this._autocompleterOptions||{}}get collection(){var u;return((u=this.columnEditor)==null?void 0:u.collection)??[]}get editorDomElement(){return this._inputElm}get elementCollection(){return this._elementCollection}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get customStructure(){var a,i,t,r,o;let u=(a=this.columnEditor)==null?void 0:a.customStructure;const e=((i=this.columnEditor)==null?void 0:i.type)??((t=this.columnDef)==null?void 0:t.type);return!u&&e===C.object&&((r=this.columnDef)!=null&&r.dataKey)&&((o=this.columnDef)!=null&&o.labelKey)&&(u={label:this.columnDef.labelKey,value:this.columnDef.dataKey}),u}get dataContext(){return this.args.item}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.autocompleter,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get instance(){return this._instance}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var e,a,i,t,r,o;this.labelName=((e=this.customStructure)==null?void 0:e.label)??"label",this.valueName=((a=this.customStructure)==null?void 0:a.value)??"value",this.labelPrefixName=((i=this.customStructure)==null?void 0:i.labelPrefix)??"labelPrefix",this.labelSuffixName=((t=this.customStructure)==null?void 0:t.labelSuffix)??"labelSuffix";let u=this.columnEditor.collection;(r=this.columnEditor)!=null&&r.collectionAsync&&!u&&(u=[]),this.renderDomElement(u),(this.disabled||(o=this.columnEditor)!=null&&o.collectionAsync&&Array.isArray(u)&&u.length===0)&&this.disable(!0)}destroy(){var u,e,a;this._bindEventService.unbindAll(),typeof((u=this._instance)==null?void 0:u.destroy)=="function"&&this._instance.destroy(),(a=(e=this._inputElm)==null?void 0:e.remove)==null||a.call(e),this._elementCollection=null}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._inputElm)if(u){this._inputElm.disabled=!0;const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.clear(!0)}else this._inputElm.disabled=!1}focus(){this.grid.focus(),this._inputElm&&(this._inputElm.focus(),this._inputElm.select())}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(u,e=!1,a=!0){if(this._inputElm.value=u!=null&&u.hasOwnProperty(this.labelName)?u[this.labelName]:u,e){this._currentValue=u,this._defaultTextValue=typeof u=="string"?u:(u==null?void 0:u[this.labelName])??"",this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var t,r;let a=e;const i=(t=this.columnDef)==null?void 0:t.field;if(i!==void 0){Array.isArray(this.collection)&&this.collection.length>0&&(a=Ae(this.collection,l=>l&&Ge(e)&&l.hasOwnProperty(this.valueName)?l[this.valueName].toString()===(e.hasOwnProperty(this.valueName)&&e[this.valueName].toString()):l&&typeof e=="string"&&l.hasOwnProperty(this.valueName)?l[this.valueName].toString()===e:(l==null?void 0:l.toString())===e,""));const o=(i==null?void 0:i.indexOf("."))>0,s=this.validate(null,a);if(a=s!=null&&s.valid?a:"",o){const l=((r=this.columnEditor)==null?void 0:r.complexObjectPath)??i??"";B0(u,l,a)}else u[i]=a}}isValueChanged(){var i,t;const u=this._inputElm.value,e=(i=this._lastInputKeyEvent)==null?void 0:i.key;if((t=this.columnEditor)!=null&&t.alwaysSaveOnEnterKey&&e==="Enter")return!0;const a=!(u===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&u!==this._defaultTextValue;return this._lastTriggeredByClearInput||a}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._currentValue=t,this._originalValue=t,this._defaultTextValue=typeof t=="string"?t:(t==null?void 0:t[this.labelName])??"",this._inputElm.value=this._defaultTextValue,this._inputElm.select()}}clear(u=!1){this._inputElm&&(this._currentValue="",this._defaultTextValue="",this.setValue("",!0)),this._isValueTouched=!0,this._lastTriggeredByClearInput=!0;const e=this.args.compositeEditorOptions;if(e){const a=!u;this.handleChangeOnCompositeEditor(null,e,"user",a)}else this.save()}reset(u,e=!0,a=!1){const i=u??this._originalValue??"";this._inputElm&&(this._currentValue=i,this._defaultTextValue=typeof i=="string"?i:(i==null?void 0:i[this.labelName])??"",this._inputElm.value=this._defaultTextValue),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u,e,a,i,t;if(this._inputElm&&this.editorOptions.forceUserInput){const r=((u=this.editorOptions)==null?void 0:u.minLength)??jx;this._currentValue=this._inputElm.value.length>r?this._inputElm.value:this._currentValue}return this.customStructure&&this._currentValue&&this._currentValue.hasOwnProperty(this.valueName)&&((e=this.columnDef)==null?void 0:e.type)!==C.object&&((a=this.columnEditor)==null?void 0:a.type)!==C.object?this._currentValue[this.valueName]:this._currentValue&&this._currentValue.value!==void 0?((i=this.columnDef)==null?void 0:i.type)===C.object||((t=this.columnEditor)==null?void 0:t.type)===C.object?{[this.labelName]:this._currentValue.label,[this.valueName]:this._currentValue.value}:this._currentValue.value:this._currentValue}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._inputElm)==null?void 0:i.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleSelect(u){var e;if(u!==void 0){const i=u;this._currentValue=i,this._isValueTouched=!0;const t=this.args.compositeEditorOptions,r=((e=this.editorOptions)==null?void 0:e.renderItem)??!1,o=typeof i=="string"?i:r?i[this.labelName]:i.label;if(this.setValue(o),t?this.handleChangeOnCompositeEditor(null,t):this.save(),typeof this.editorOptions.onSelectItem=="function"){const{row:s,cell:l}=this.grid.getActiveCell()||{};this.editorOptions.onSelectItem(u,s,l,this.args.column,this.args.item)}setTimeout(()=>this._lastTriggeredByClearInput=!1)}return!1}renderRegularItem(u){const e=typeof u=="string"?u:(u==null?void 0:u.label)??"";return A("div",{textContent:e||""})}renderCustomItem(u){var i,t;const e=((t=(i=this._autocompleterOptions)==null?void 0:i.renderItem)==null?void 0:t.templateCallback(u))??"",a=document.createElement("div");return this.grid.applyHtmlCode(a,e),a}renderCollectionItem(u){var l;const e=((l=this.columnEditor)==null?void 0:l.enableRenderHtml)??!1,a=u.labelPrefix||"",i=u.label||"",t=u.labelSuffix||"",r=a+i+t,o=this.grid.sanitizeHtmlString(r)||"",s=document.createElement("div");return s[e?"innerHTML":"textContent"]=o,s}renderDomElement(u){var o,s,l,E,d,c,D,m,h,g,x,p;const e=((o=this.columnDef)==null?void 0:o.id)??"",a=((s=this.columnEditor)==null?void 0:s.placeholder)??"",i=((l=this.columnEditor)==null?void 0:l.title)??"";this._editorInputGroupElm=A("div",{className:"autocomplete-container input-group"});const t=A("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=A("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(A("i",{className:"icon-clear"})),this._inputElm=A("input",{type:"text",placeholder:a,title:i,autocomplete:"off",ariaAutoComplete:"none",className:`autocomplete form-control editor-text input-group-editor editor-${e}`,dataset:{input:""}},this._editorInputGroupElm),this._editorInputGroupElm.appendChild(document.createElement("span")),(E=this.editorOptions)!=null&&E.hideClearButton||(t.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(t),this._bindEventService.bind(this._clearButtonElm,"click",()=>this.clear())),this._bindEventService.bind(this._inputElm,"focus",()=>{var F;return(F=this._inputElm)==null?void 0:F.select()}),this._bindEventService.bind(this._inputElm,"keydown",F=>{this._lastInputKeyEvent=F,(F.key==="ArrowLeft"||F.key==="ArrowRight")&&F.stopImmediatePropagation(),F.key==="Enter"&&F.target.value===""&&this.columnEditor.alwaysSaveOnEnterKey&&(this._currentValue=null)});let r=u;if(r&&((d=this.columnEditor)!=null&&d.collectionOverride)){const F={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:v,modalType:b}=this.args.compositeEditorOptions;F.compositeEditorOptions={formValues:v,modalType:b}}r=this.columnEditor.collectionOverride(r,F)}r&&(this.finalCollection=r),Array.isArray(r)&&(this.collection.every(F=>Si(F))?r=r.map(F=>({label:F,value:F})):r=r.map(F=>({label:F==null?void 0:F[this.labelName],value:F==null?void 0:F[this.valueName],labelPrefix:(F==null?void 0:F[this.labelPrefixName])??"",labelSuffix:(F==null?void 0:F[this.labelSuffixName])??""})),this._elementCollection=r),this._autocompleterOptions={input:this._inputElm,debounceWaitMs:200,className:`slick-autocomplete ${((c=this.editorOptions)==null?void 0:c.className)??""}`.trim(),emptyMsg:this.gridOptions.enableTranslate&&((D=this._translater)!=null&&D.translate)?this._translater.translate("NO_ELEMENTS_FOUND"):((m=this._locales)==null?void 0:m.TEXT_NO_ELEMENTS_FOUND)??"No elements found",customize:(F,v,b)=>{b.style.width=""},onSelect:this.handleSelect.bind(this),...this.editorOptions},(h=this.gridOptions)!=null&&h.darkMode&&(this._autocompleterOptions.className+=" slick-dark-mode"),this.autocompleterOptions.className=_u(this.autocompleterOptions.className).join(" "),(g=this._autocompleterOptions.renderItem)!=null&&g.layout?(this._autocompleterOptions.className+=` autocomplete-custom-${Na(this._autocompleterOptions.renderItem.layout)}`,this._autocompleterOptions.render=this.renderCustomItem.bind(this)):Array.isArray(u)?this._autocompleterOptions.render=((x=this._autocompleterOptions.render)==null?void 0:x.bind(this))??this.renderCollectionItem.bind(this):this._autocompleterOptions.render||(this._autocompleterOptions.render=this.renderRegularItem.bind(this)),(p=this._autocompleterOptions)!=null&&p.fetch?(d1(this._inputElm,this._autocompleterOptions),this._instance=bt(this._autocompleterOptions)):this._instance=bt({...this._autocompleterOptions,fetch:(F,v)=>{r&&v(r.filter(b=>((typeof b=="string"?b:b==null?void 0:b.label)||"").toLowerCase().includes(F.toLowerCase())))}}),this.args.container.appendChild(this._editorInputGroupElm),this.args.compositeEditorOptions||setTimeout(()=>this.focus(),50)}}class Rx{constructor(u){if(this.args=u,this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var i,t,r,o;const u=((i=this.columnDef)==null?void 0:i.id)??"",e=this.args.compositeEditorOptions;this._checkboxContainerElm=A("div",{className:`checkbox-editor-container editor-${u}`}),this._input=A("input",{type:"checkbox",value:"true",ariaLabel:((t=this.columnEditor)==null?void 0:t.ariaLabel)??`${ce(u+"")} Checkbox Editor`,className:`editor-checkbox editor-${u}`,title:((r=this.columnEditor)==null?void 0:r.title)??""});const a=(o=this.args)==null?void 0:o.container;a&&typeof a.appendChild=="function"&&(e?(this._checkboxContainerElm.appendChild(this._input),a.appendChild(this._checkboxContainerElm)):a.appendChild(this._input)),this.hasAutoCommitEdit&&!e&&this._bindEventService.bind(this._input,"click",()=>{this._isValueTouched=!0,this.save()}),e?this._bindEventService.bind(this._input,"change",s=>{this._isValueTouched=!0,this.handleChangeOnCompositeEditor(s,e)}):this.focus()}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._input)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._input)if(u){this._input.setAttribute("disabled","disabled"),this._checkboxContainerElm.classList.add("disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==!1&&this.reset(!1,!0,!0)}else this._input.removeAttribute("disabled"),this._checkboxContainerElm.classList.remove("disabled")}focus(){var u;this.grid.focus(),(u=this._input)==null||u.focus()}preClick(){this._input&&(this._input.checked=!this._input.checked)}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var u;return((u=this._input)==null?void 0:u.checked)??!1}setValue(u,e=!1,a=!0){const i=!!u;if(this._input&&(this._input.checked=i),e){this.applyValue(this.args.item,this.serializeValue());const t=this.args.compositeEditorOptions;t&&a&&this.handleChangeOnCompositeEditor(null,t,"system")}}applyValue(u,e){var i;const a=this.columnDef&&this.columnDef.field;if(a!==void 0){const t=(a==null?void 0:a.indexOf("."))>0,r=this.validate(null,e),o=r&&r.valid?e:"";if(t){const s=((i=this.columnEditor)==null?void 0:i.complexObjectPath)??a??"";B0(u,s,o)}else u[a]=o}}isValueChanged(){return this.serializeValue()!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(u){const e=this.columnDef&&this.columnDef.field;if(u&&e!==void 0&&this._input){const i=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=i,this._input.checked=!!this._originalValue}}reset(u,e=!0,a=!1){const i=u??this._originalValue??!1;this._input&&(this._originalValue=i,this._input.checked=!!i),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=u&&u.valid||!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u;return((u=this._input)==null?void 0:u.checked)??!1}validate(u,e){var r,o;const a=(r=this.args)!=null&&r.compositeEditorOptions?!1:this.columnEditor.required,i=e!==void 0?e:(o=this._input)==null?void 0:o.checked,t=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(i,this.args):a&&!i?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}}class Nx{constructor(u){var e;if(this.args=u,this._isValueTouched=!1,this._lastClickIsDate=!1,this._lastTriggeredByClearDate=!1,this.hasTimePicker=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},(e=this.gridOptions)!=null&&e.translater&&(this._translaterService=this.gridOptions.translater),this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._inputElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.date,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get pickerOptions(){return this._pickerMergedOptions}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}async init(){var u,e,a,i,t,r,o;if(this.args&&this.columnDef){const s=this.args.compositeEditorOptions,l=((u=this.columnDef)==null?void 0:u.id)??"",E=this.args.grid.getOptions()||{};this.defaultDate=(e=this.args.item)==null?void 0:e[this.columnDef.field];const d=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,c=$0(d),D=((i=(a=this._translaterService)==null?void 0:a.getCurrentLanguage)==null?void 0:i.call(a))||E.locale||"en";c&&(c==="ISO8601"||c.toLowerCase().includes("h"))&&(this.hasTimePicker=!0);const m=$0(this.hasTimePicker?C.dateTimeIsoAM_PM:C.dateIso),h={input:!0,jumpToSelectedDate:!0,sanitizer:p=>this.grid.sanitizeHtmlString(p),toggleSelected:!1,actions:{clickDay:()=>{this._lastClickIsDate=!0},changeToInput:(p,F)=>{if(F.HTMLInputElement){let v="";if(F.selectedDates[0]?(v=F.selectedDates[0],F.HTMLInputElement.value=Ee(F.selectedDates[0],void 0,d)):F.HTMLInputElement.value="",v&&this.hasTimePicker){const b=At(v,m);b.setHours(+(F.selectedHours||0)),b.setMinutes(+(F.selectedMinutes||0)),F.HTMLInputElement.value=Ee(b,void 0,d)}this._lastClickIsDate&&(this.handleOnDateChange(),F.hide())}}},settings:{lang:D,iso8601:!1,visibility:{theme:(t=this.gridOptions)!=null&&t.darkMode?"dark":"light",positionToInput:"auto",weekend:!1}}};this.hasTimePicker&&(h.settings.selection={time:24}),this._pickerMergedOptions=Mu(!0,{},h,{settings:this.editorOptions,type:"default"});const g=`.editor-text.date-picker.editor-${l}.form-control.input-group-editor`;this._editorInputGroupElm=A("div",{className:"vanilla-picker input-group"});const x=A("span",{className:"input-group-btn input-group-append",dataset:{clear:""}});this._clearButtonElm=A("button",{type:"button",className:"btn btn-default btn-clear"}),this._clearButtonElm.appendChild(A("i",{className:"icon-clear"})),this._inputElm=A("input",{placeholder:((r=this.columnEditor)==null?void 0:r.placeholder)??"",title:this.columnEditor&&this.columnEditor.title||"",className:g.replace(/\./g," "),dataset:{input:"",defaultdate:this.defaultDate},readOnly:!0},this._editorInputGroupElm),this.args.container.appendChild(this._editorInputGroupElm),(o=this.columnEditor.editorOptions)!=null&&o.hideClearButton||(x.appendChild(this._clearButtonElm),this._editorInputGroupElm.appendChild(x),this._bindEventService.bind(this._clearButtonElm,"click",()=>{this.clear(),this.handleOnDateChange()})),queueMicrotask(()=>{this.calendarInstance=new B1(this._inputElm,this._pickerMergedOptions),this.calendarInstance.init(),s||(this.show(),this.focus()),this.calendarInstance&&Di(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:this.defaultDate,updatePickerUI:!0})})}}destroy(){queueMicrotask(()=>{var u,e,a;this.hide(),(u=this.calendarInstance)==null||u.destroy(),Au(this._editorInputGroupElm),Au(this._inputElm),(e=this._editorInputGroupElm)==null||e.remove(),(a=this._inputElm)==null||a.remove()}),this._bindEventService.unbindAll()}clear(){this._lastTriggeredByClearDate=!0,this.calendarInstance&&(this.calendarInstance.settings.selected.dates=[],this._inputElm.value="")}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._inputElm)if(u){this._inputElm.setAttribute("disabled","disabled"),this._clearButtonElm.disabled=!0;const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._inputElm.removeAttribute("disabled"),this._clearButtonElm.disabled=!1}changeEditorOption(u,e){this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[u]=e,this._pickerMergedOptions=Mu(!0,{},this._pickerMergedOptions,{settings:{[u]:e}})}focus(){var u;this.grid.focus(),this.show(),(u=this._inputElm)==null||u.focus()}hide(){var u;(u=this.calendarInstance)==null||u.hide()}show(){var e;const u=!!((e=this.args)!=null&&e.compositeEditorOptions);!u&&this.calendarInstance?this.calendarInstance.show():u&&this.applyInputUsabilityState()}getValue(){return this._inputElm.value}setValue(u,e=!1,a=!0){if(this.calendarInstance&&Di(this.columnEditor,this._inputElm,this.calendarInstance,{columnDef:this.columnDef,newVal:u,updatePickerUI:!0}),e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(i,"system")}}applyValue(u,e){var i,t;const a=(i=this.columnDef)==null?void 0:i.field;if(this.columnDef&&a!==void 0){const r=this.columnDef.saveOutputType||this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,o=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateUtc,s=a.indexOf(".")>0,l=this.validate(null,e),E=e&&(l!=null&&l.valid)?Ee(e,o,r):"";if(s){const d=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??a;B0(u,d,E)}else u[a]=E}}isValueChanged(){let u=!1;const e=this.getValue();return this.columnDef&&(u=this._lastTriggeredByClearDate||!(e===""&&this._originalDate==="")&&e!==this._originalDate),u}isValueTouched(){return this._isValueTouched}loadValue(u){var a,i;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&this.columnDef&&e!==void 0){const r=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e],o=this.columnEditor.type||((i=this.columnDef)==null?void 0:i.type)||C.dateIso,s=this.columnDef.outputType||this.columnEditor.type||this.columnDef.type||C.dateIso;this._originalDate=Ee(r,o,s),this._inputElm.value=this._originalDate}}reset(u,e=!0,a=!1){const i=u??this._originalDate??"";this.calendarInstance&&(this._originalDate=i,this.calendarInstance.settings.selected.dates=[i],i||(this.calendarInstance.settings.selected.dates=[],this._inputElm.value="")),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){const u=this.getValue();return u||""}validate(u,e){var r,o;const a=(r=this.args)!=null&&r.compositeEditorOptions?!1:this.columnEditor.required,i=e??((o=this._inputElm)==null?void 0:o.value),t=this.columnEditor.errorMessage;return this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled?{valid:!0,msg:""}:this.validator?this.validator(i,this.args):a&&i===""?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleOnDateChange(){if(this._isValueTouched=!0,this.args){const u=this.args.compositeEditorOptions;u?this.handleChangeOnCompositeEditor(u):this.save()}setTimeout(()=>this._lastTriggeredByClearDate=!1)}handleChangeOnCompositeEditor(u,e="user",a=!1){var d,c,D;const i=this.grid.getActiveCell(),t=this.args.column,r=((d=this.columnDef)==null?void 0:d.id)??"",o=this.dataContext,s=this.grid,l=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,l),this.applyValue(u.formValues,l);const E=((D=(c=this.gridOptions)==null?void 0:c.compositeEditorOptions)==null?void 0:D.excludeDisabledFieldFormValues)??!1;(a||this.disabled&&E&&u.formValues.hasOwnProperty(r))&&delete u.formValues[r],s.onCompositeEditorChange.notify({...i,item:o,grid:s,column:t,formValues:u.formValues,editors:u.editors,triggeredBy:e},new ju)}}function d4(n,u){const e=isNaN(n)?null:parseFloat(n),a=u.decimal||0,i=u.required,t=u.minValue,r=u.maxValue,o=u.operatorConditionalType||"inclusive",s=u.errorMessage,l={"{{minValue}}":t,"{{maxValue}}":r,"{{minDecimal}}":0,"{{maxDecimal}}":a};let E=!0,d="";if(typeof u.validator=="function")return u.validator(n,u.editorArgs);if(i&&n==="")E=!1,d=s||_.VALIDATION_REQUIRED_FIELD;else if(n!==""&&(isNaN(n)||a===0&&!/^[-+]?(\d*(\.)?(\d)*)$/.test(n)))E=!1,d=s||_.VALIDATION_EDITOR_VALID_NUMBER;else if(t!==void 0&&r!==void 0&&e!==null&&(o==="exclusive"&&(e<=+t||e>=+r)||o==="inclusive"&&(e<+t||e>+r)))E=!1,d=s||_.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,c=>l[c]);else if(t!==void 0&&e!==null&&(o==="exclusive"&&e<=+t||o==="inclusive"&&e<+t)){E=!1;const c=o==="inclusive"?_.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE:_.VALIDATION_EDITOR_NUMBER_MIN;d=s||c.replace(/{{minValue}}/gi,D=>l[D])}else if(r!==void 0&&e!==null&&(o==="exclusive"&&e>=+r||o==="inclusive"&&e>+r)){E=!1;const c=o==="inclusive"?_.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE:_.VALIDATION_EDITOR_NUMBER_MAX;d=s||c.replace(/{{maxValue}}/gi,D=>l[D])}else a>0&&!new RegExp(`^[-+]?(\\d*(\\.)?(\\d){0,${a}})$`).test(n)&&(E=!1,d=s||_.VALIDATION_EDITOR_DECIMAL_BETWEEN.replace(/{{minDecimal}}|{{maxDecimal}}/gi,c=>l[c]));return{valid:E,msg:d}}function c4(n,u){let e=isNaN(n)?null:parseInt(n,10);e!==null&&isNaN(e)&&(e=null);const a=u.errorMessage,i=u.required,t=u.minValue,r=u.maxValue,o=u.operatorConditionalType||"inclusive",s={"{{minValue}}":t,"{{maxValue}}":r};let l=!0,E="";if(u.validator)return u.validator(n,u.editorArgs);if(i&&n==="")l=!1,E=a||_.VALIDATION_REQUIRED_FIELD;else if(n!==""&&(isNaN(n)||!/^[+-]?\d+$/.test(n)))l=!1,E=a||_.VALIDATION_EDITOR_VALID_INTEGER;else if(t!==void 0&&r!==void 0&&e!==null&&(o==="exclusive"&&(e<=+t||e>=+r)||o==="inclusive"&&(e<+t||e>+r)))l=!1,E=a||_.VALIDATION_EDITOR_INTEGER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,d=>s[d]);else if(t!==void 0&&e!==null&&(o==="exclusive"&&e<=+t||o==="inclusive"&&e!==null&&e<+t)){l=!1;const d=o==="inclusive"?_.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE:_.VALIDATION_EDITOR_INTEGER_MIN;E=a||d.replace(/{{minValue}}/gi,c=>s[c])}else if(r!==void 0&&e!==null&&(o==="exclusive"&&e>=+r||o==="inclusive"&&e!==null&&e>+r)){l=!1;const d=o==="inclusive"?_.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE:_.VALIDATION_EDITOR_INTEGER_MAX;E=a||d.replace(/{{maxValue}}/gi,c=>s[c])}return{valid:l,msg:E}}function Kx(n,u){const e=u.required,a=u.minValue,i=u.maxValue,t=u.errorMessage,r={"{{minValue}}":a,"{{maxValue}}":i};return u.validator?u.validator(n,u.editorArgs):e&&n===""?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:a!==void 0&&i!==void 0&&n!==null&&(ni)?{valid:!1,msg:t||_.VALIDATION_EDITOR_NUMBER_BETWEEN.replace(/{{minValue}}|{{maxValue}}/gi,o=>r[o])}:{valid:!0,msg:null}}class Hx{constructor(u){if(this.args=u,this._isValueSaveCalled=!1,this._isLeftValueTouched=!1,this._isRightValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},this._eventHandler=new Su,this._bindEventService=new pu,this.init(),this._eventHandler.subscribe(this.grid.onValidationError,()=>this._isValueSaveCalled=!0)}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return{leftInput:this._leftInput,rightInput:this._rightInput}}get editorParams(){return this.columnEditor.params||{}}get eventHandler(){return this._eventHandler}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get isValueSaveCalled(){return this._isValueSaveCalled}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var a,i,t,r;if(!this.editorParams||!this.editorParams.leftInput||!this.editorParams.leftInput.field||!this.editorParams.rightInput||!this.editorParams.rightInput.field)throw new Error(`[Slickgrid-Universal] Please make sure that your Combo Input Editor has params defined with "leftInput" and "rightInput" (example: { editor: { model: Editors.comboInput, params: { leftInput: { field: 'firstName' }, { rightSide: { field: 'lastName' } }}}`);this._leftFieldName=(a=this.editorParams.leftInput)==null?void 0:a.field,this._rightFieldName=(i=this.editorParams.rightInput)==null?void 0:i.field,this._leftInput=this.createInput("leftInput"),this._rightInput=this.createInput("rightInput");const u=(t=this.args)==null?void 0:t.container;u&&typeof u.appendChild=="function"&&(u.appendChild(this._leftInput),u.appendChild(this._rightInput)),this._bindEventService.bind(this._leftInput,"keydown",o=>this.handleKeyDown(o,"leftInput")),this._bindEventService.bind(this._rightInput,"keydown",o=>this.handleKeyDown(o,"rightInput")),this.hasAutoCommitEdit&&(this._bindEventService.bind(this._leftInput,"focusout",o=>this.handleFocusOut(o,"leftInput")),this._bindEventService.bind(this._rightInput,"focusout",o=>this.handleFocusOut(o,"rightInput"))),((r=this.args)==null?void 0:r.compositeEditorOptions)?(this._bindEventService.bind(this._leftInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this)),this._bindEventService.bind(this._rightInput,"input",this.handleChangeOnCompositeEditorDebounce.bind(this))):setTimeout(()=>this._leftInput.select(),50)}handleFocusOut(u,e){var r;const a=((r=u.relatedTarget)==null?void 0:r.className)||"";!this.args.compositeEditorOptions&&a.indexOf("dual-editor")===-1&&this._lastEventType!=="focusout-right"&&(e==="rightInput"||e==="leftInput"&&this._lastEventType!=="focusout-left")&&(e==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this.save());const t=e==="leftInput"?"left":"right";this._lastEventType=`${u==null?void 0:u.type}-${t}`}handleKeyDown(u,e){e==="leftInput"?this._isLeftValueTouched=!0:this._isRightValueTouched=!0,this._lastInputKeyEvent=u,(u.key==="ArrowLeft"||u.key==="ArrowRight"||u.key==="Tab")&&u.stopImmediatePropagation()}destroy(){var u,e,a,i;this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),(e=(u=this._leftInput)==null?void 0:u.remove)==null||e.call(u),(i=(a=this._rightInput)==null?void 0:a.remove)==null||i.call(a)}createInput(u){var s,l,E,d;const e=this.editorParams[u],a=((s=this.columnDef)==null?void 0:s.id)??"",i=this.gridOptions.datasetIdPropertyName||"id",t=((E=(l=this.args)==null?void 0:l.item)==null?void 0:E[i])??"";let r=e.type||"text";(r==="float"||r==="integer")&&(r="number");const o=A("input",{type:r||"text",id:`item-${t}-${u}`,ariaLabel:((d=this.columnEditor)==null?void 0:d.ariaLabel)??`${ce(a+"")} Input Editor`,className:`dual-editor-text editor-${a} ${u.replace(/input/gi,"")}`,autocomplete:"off",ariaAutoComplete:"none",placeholder:e.placeholder||"",title:e.title||""});return r==="readonly"&&(o.readOnly=!0,r="text"),r==="number"&&(o.step=this.getInputDecimalSteps(u)),o}disable(u=!0){var a;const e=this.disabled;this.disabled=u,this._leftInput&&this._rightInput&&(u?(this._leftInput.setAttribute("disabled","disabled"),this._rightInput.setAttribute("disabled","disabled"),e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&this.reset("",!0,!0)):(this._leftInput.removeAttribute("disabled"),this._rightInput.removeAttribute("disabled")))}focus(){this.grid.focus()}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValues(){const u={},e=this._leftInput.value,a=this._rightInput.value,i=this.editorParams.leftInput&&(this.editorParams.leftInput.type==="float"||this.editorParams.leftInput.type==="integer"),t=this.editorParams.rightInput&&(this.editorParams.rightInput.type==="float"||this.editorParams.rightInput.type==="integer"),r=e!==""&&i?+this._leftInput.value:e||"",o=a!==""&&t?+this._rightInput.value:a||"";return B0(u,this._leftFieldName,r),B0(u,this._rightFieldName,o),u}setValues(u){Array.isArray(u)&&u.length===2&&(this._leftInput.value=`${u[0]}`,this._rightInput.value=`${u[1]}`)}applyValue(u,e){this.applyValueByPosition(u,e,"leftInput"),this.applyValueByPosition(u,e,"rightInput")}applyValueByPosition(u,e,a){var t;const i=a==="leftInput"?this._leftFieldName:this._rightFieldName;if(i!==void 0){const r=(i==null?void 0:i.indexOf("."))>0;let o=i;if(r){const E=i.split(/\.(.*)/);o=E.length>1?E[1]:E}const s=r?Qu(e,o):e[i],l=this.validate(null,{position:a,inputValue:s});if(r){const E=Qu(e,o),d=l&&l.valid?E:"",c=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??i??"";B0(u,c,d)}else i&&(u[i]=l&&l.valid?e[i]:"")}}isValueChanged(){var s,l,E;const u=this._leftInput.value,e=this._rightInput.value,a=(s=this.editorParams)==null?void 0:s.leftInput,i=(l=this.editorParams)==null?void 0:l.rightInput,t=(E=this._lastInputKeyEvent)==null?void 0:E.key;if((a&&a.alwaysSaveOnEnterKey||i&&i.alwaysSaveOnEnterKey)&&t==="Enter")return!0;const r=!(u===""&&(this._originalLeftValue===null||this._originalLeftValue===void 0))&&u!==this._originalLeftValue,o=!(e===""&&(this._originalRightValue===null||this._originalRightValue===void 0))&&e!==this._originalRightValue;return r||o}isValueTouched(){return this._isLeftValueTouched||this._isRightValueTouched}loadValue(u){this.loadValueByPosition(u,"leftInput"),this.loadValueByPosition(u,"rightInput"),this._leftInput.select()}loadValueByPosition(u,e){const a=e==="leftInput"?this._leftFieldName:this._rightFieldName,i=e==="leftInput"?"_originalLeftValue":"_originalRightValue",t=e==="leftInput"?"_leftInput":"_rightInput";if(u&&a!==void 0){const o=(a==null?void 0:a.indexOf("."))>0?Qu(u,a):u.hasOwnProperty(a)?u[a]:"";if(this[i]=o,this.editorParams[e].type==="float"){const s=this.getDecimalPlaces(e);s!==null&&(this[i]||this[i]===0)&&this[i]!==void 0&&(this[i]=(+this[i]).toFixed(s))}this[t]&&(this[t].value=`${this[i]}`)}}reset(u,e=!0,a=!1){const i=u??this._originalLeftValue??"",t=u??this._originalRightValue??"";this._leftInput&&this._rightInput&&(this._originalLeftValue=i,this._originalRightValue=t,this._leftInput.value=`${i}`,this._rightInput.value=`${t}`),this._isLeftValueTouched=!1,this._isRightValueTouched=!1;const r=this.args.compositeEditorOptions;if(r&&e){const o=!a;this.handleChangeOnCompositeEditor(null,r,"user",o)}}save(){const u=this.validate(),e=u&&u.valid||!1;this._isValueSaveCalled||(this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges(),this._isValueSaveCalled=!0)}serializeValue(){const u={},e=this.serializeValueByPosition("leftInput"),a=this.serializeValueByPosition("rightInput");return B0(u,this._leftFieldName,e),B0(u,this._rightFieldName,a),u}serializeValueByPosition(u){const e=u==="leftInput"?this._leftInput.value:this._rightInput.value;if(e===""||isNaN(+e))return e;let a=parseFloat(e);const i=this.getDecimalPlaces(u);return i!==null&&(a||a===0)&&a.toFixed&&(a=parseFloat(a.toFixed(i))),a}getDecimalPlaces(u){const a=u==="leftInput"?"leftInput":"rightInput",i=this.editorParams[a],t=i==null?void 0:i.decimal;return t===void 0?0:t}getInputDecimalSteps(u){const e=this.getDecimalPlaces(u);let a="";for(let i=1;i0?`0.${a}1`:"1"}validate(u,e){if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(e){const a=this.validateByPosition(e.position,e.inputValue);if(!a.valid)return e.position==="leftInput"?this._leftInput.select():this._rightInput.select(),a}else{const a=this.validateByPosition("leftInput"),i=this.validateByPosition("rightInput");if(!a.valid)return this._leftInput.select(),a;if(!i.valid)return this._rightInput.select(),i}return{valid:!0,msg:""}}validateByPosition(u,e){var o;const a=this.editorParams[u];let i="";if(e)i=e;else{const s=u==="leftInput"?this._leftInput:this._rightInput;i=s&&s.value}const t=this.validator;i=typeof t=="function"?this.getValues():i;const r={editorArgs:this.args,errorMessage:a.errorMessage,required:(o=this.args)!=null&&o.compositeEditorOptions?!1:a.required,validator:typeof t=="function"?t:a.validator};switch(a.type){case"float":return d4(i,{...r,decimal:this.getDecimalPlaces(u),minValue:a.minValue,maxValue:a.maxValue,operatorConditionalType:a.operatorConditionalType});case"integer":return c4(i,{...r,minValue:a.minValue,maxValue:a.maxValue,operatorConditionalType:a.operatorConditionalType});case"text":case"password":default:return en(i,r)}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var D,m,h,g,x,p;const t=this.grid.getActiveCell(),r=this.args.column,o=((m=(D=this.columnEditor.params)==null?void 0:D.leftInput)==null?void 0:m.field)??"",s=((g=(h=this.columnEditor.params)==null?void 0:h.rightInput)==null?void 0:g.field)??"",l=this.dataContext,E=this.grid,d=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,d),this.applyValue(e.formValues,d);const c=((p=(x=this.gridOptions)==null?void 0:x.compositeEditorOptions)==null?void 0:p.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&c&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],(i||this.disabled&&c&&e.formValues.hasOwnProperty(s))&&delete e.formValues[s],E.onCompositeEditorChange.notify({...t,item:l,grid:E,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleChangeOnCompositeEditorDebounce(u){var a,i;const e=(a=this.args)==null?void 0:a.compositeEditorOptions;if(e){const t=((i=this.gridOptions)==null?void 0:i.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),t)}}}const Ox=0;class an{constructor(u,e="text"){if(this.args=u,this._inputType="text",this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=u.grid&&u.grid.getOptions(),this._bindEventService=new pu,this.inputType=e,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)||{}}get dataContext(){return this.args.item}get editorDomElement(){return this._input}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get inputType(){return this._inputType}set inputType(u){this._inputType=u}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var i,t,r,o;const u=((i=this.columnDef)==null?void 0:i.id)??"",e=this.args.compositeEditorOptions;this._input=A("input",{type:this._inputType||"text",autocomplete:"off",ariaAutoComplete:"none",ariaLabel:((t=this.columnEditor)==null?void 0:t.ariaLabel)??`${ce(u+"")} Input Editor`,className:`editor-text editor-${u}`,placeholder:((r=this.columnEditor)==null?void 0:r.placeholder)??"",title:((o=this.columnEditor)==null?void 0:o.title)??""}),this.inputType==="number"&&(this._input.step=`${this.columnEditor.valueStep!==void 0?this.columnEditor.valueStep:this.getInputDecimalSteps()}`);const a=this.args.container;a&&typeof a.appendChild=="function"&&a.appendChild(this._input),this._bindEventService.bind(this._input,"focus",()=>{var s;return(s=this._input)==null?void 0:s.select()}),this._bindEventService.bind(this._input,"keydown",s=>{this._isValueTouched=!0,this._lastInputKeyEvent=s,(s.key==="ArrowLeft"||s.key==="ArrowRight")&&s.stopImmediatePropagation()}),this.hasAutoCommitEdit&&!e&&this._bindEventService.bind(this._input,["focusout","blur"],()=>{this._isValueTouched=!0,this.save()}),e&&(this._bindEventService.bind(this._input,["input","paste"],this.handleOnInputChange.bind(this)),this.inputType==="number"&&this._bindEventService.bind(this._input,"wheel",this.handleOnMouseWheel.bind(this),{passive:!0}))}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._input)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._input)if(u){this._input.setAttribute("disabled","disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._input.removeAttribute("disabled")}focus(){var u;this.grid.focus(),(u=this._input)==null||u.focus()}getDecimalPlaces(){var e,a,i;let u=((e=this.columnEditor)==null?void 0:e.decimal)??((i=(a=this.columnEditor)==null?void 0:a.params)==null?void 0:i.decimalPlaces)??void 0;return u===void 0&&(u=Ox),!u&&u!==0?null:u}getInputDecimalSteps(){const u=this.getDecimalPlaces();let e="";for(let a=1;a0?`0.${e}1`:"1"}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var u;return((u=this._input)==null?void 0:u.value)||""}setValue(u,e=!1,a=!0){if(this._input&&(this._input.value=`${u}`,e)){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var i;const a=this.columnDef&&this.columnDef.field;if(a!==void 0){const t=(a==null?void 0:a.indexOf("."))>0,r=this.validate(null,e),o=r!=null&&r.valid?e:"";if(t){const s=((i=this.columnEditor)==null?void 0:i.complexObjectPath)??a??"";B0(u,s,o)}else a&&(u[a]=o)}}isValueChanged(){var a,i,t;const u=(a=this._input)==null?void 0:a.value,e=(i=this._lastInputKeyEvent)==null?void 0:i.key;return(t=this.columnEditor)!=null&&t.alwaysSaveOnEnterKey&&e==="Enter"?!0:!(u===""&&(this._originalValue===null||this._originalValue===void 0))&&u!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0&&this._input){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u.hasOwnProperty(e)&&u[e]||"";this._originalValue=t,this._input.value=this._originalValue,this._input.select()}}reset(u,e=!0,a=!1){const i=u??this._originalValue??"";this._input&&(this._originalValue=i,this._input.value=`${i}`),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=u&&u.valid||!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var u;return((u=this._input)==null?void 0:u.value)??""}validate(u,e){var i;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:this._input&&this._input.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(i=this.args)!=null&&i.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}handleOnInputChange(u){var a;this._isValueTouched=!0;const e=this.args.compositeEditorOptions;if(e){const i=((a=this.gridOptions)==null?void 0:a.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),i)}}handleOnMouseWheel(u){this._isValueTouched=!0;const e=this.args.compositeEditorOptions;e&&this.handleChangeOnCompositeEditor(u,e)}}class Ix extends an{constructor(u){super(u,"number"),this.args=u}loadValue(u){const e=this.columnDef&&this.columnDef.field;if(e!==void 0&&u&&e!==void 0&&this._input){const i=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=i;const t=this.getDecimalPlaces();t!==null&&(this._originalValue||this._originalValue===0)&&this._originalValue!==void 0&&(this._originalValue=(+this._originalValue).toFixed(t)),this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var i;const u=(i=this._input)==null?void 0:i.value;if(u===void 0||u===""||isNaN(+u))return u;let e=parseFloat(u);const a=this.getDecimalPlaces();return a!==null&&(e||e===0)&&e.toFixed&&(e=parseFloat(e.toFixed(a))),e}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._input)==null?void 0:i.value;return d4(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,decimal:this.getDecimalPlaces(),minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}}class Gx extends an{constructor(u){super(u,"password"),this.args=u}}class Vx extends an{constructor(u){super(u,"number"),this.args=u}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(e!==void 0&&u&&e!==void 0&&this._input){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._originalValue=isNaN(t)||t===null||t===void 0?t:`${t}`,this._input.value=`${this._originalValue}`,this._input.select()}}serializeValue(){var a;const u=(a=this._input)==null?void 0:a.value;if(u===void 0||u===""||isNaN(+u))return u;const e=isNaN(+u)?u:parseInt(u,10);return isNaN(+e)?u:e}validate(u,e){var i;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:this.getValue();return c4(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(i=this.args)!=null&&i.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}handleOnMouseWheel(u){this._isValueTouched=!0;const e=this.args.compositeEditorOptions;e&&this.handleChangeOnCompositeEditor(u,e)}}class $x{constructor(u){var a,i;if(this.args=u,this._isValueTouched=!1,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=(a=u.grid)==null?void 0:a.getOptions();const e=this.gridOptions||this.args.column.params||{};e!=null&&e.translater&&(this._translater=e.translater),this._locales=((i=this.gridOptions)==null?void 0:i.locales)||_.locales,this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._textareaElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.longText,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get hasAutoCommitEdit(){var u;return((u=this.gridOptions)==null?void 0:u.autoCommitEdit)??!1}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var E,d,c,D,m,h,g,x,p,F,v,b,B,S,y;let u="",e="";if(this._translater&&this._translater.translate&&this.gridOptions.enableTranslate){const w=Q0(this.gridOptions),M=((E=this.editorOptions.buttonTexts)==null?void 0:E.cancelKey)??`${w}CANCEL`,j=((d=this.editorOptions.buttonTexts)==null?void 0:d.saveKey)??`${w}SAVE`;u=this._translater.translate(`${w}${M}`),e=this._translater.translate(`${w}${j}`)}else u=((c=this.editorOptions.buttonTexts)==null?void 0:c.cancel)??((D=this._locales)==null?void 0:D.TEXT_CANCEL)??"Cancel",e=((m=this.editorOptions.buttonTexts)==null?void 0:m.save)??((h=this._locales)==null?void 0:h.TEXT_SAVE)??"Save";const a=this.args.compositeEditorOptions,i=((g=this.columnDef)==null?void 0:g.id)??"",t=(x=this.columnEditor)==null?void 0:x.maxLength,r=((p=this.editorOptions)==null?void 0:p.rows)??4,o=a?this.args.container:document.body;this._wrapperElm=A("div",{className:`slick-large-editor-text editor-${i}`,style:{position:a?"relative":"absolute"}}),(F=this.gridOptions)!=null&&F.darkMode&&this._wrapperElm.classList.add("slick-dark-mode"),o.appendChild(this._wrapperElm),this._textareaElm=A("textarea",{ariaLabel:((v=this.columnEditor)==null?void 0:v.ariaLabel)??`${ce(i+"")} Text Editor`,cols:((b=this.editorOptions)==null?void 0:b.cols)??40,rows:a&&r>3?3:r,placeholder:((B=this.columnEditor)==null?void 0:B.placeholder)??"",title:((S=this.columnEditor)==null?void 0:S.title)??""},this._wrapperElm);const s=A("div",{className:"editor-footer"}),l=A("span",{className:"counter"});if(this._currentLengthElm=A("span",{className:"text-length",textContent:"0"}),l.appendChild(this._currentLengthElm),t!==void 0&&(l.appendChild(A("span",{className:"separator",textContent:"/"})),l.appendChild(A("span",{className:"max-length",textContent:`${t}`}))),s.appendChild(l),!a){const w=A("button",{className:"btn btn-cancel btn-default btn-xs",textContent:u},s),M=A("button",{className:"btn btn-save btn-primary btn-xs",textContent:e},s);this._bindEventService.bind(w,"click",this.cancel.bind(this)),this._bindEventService.bind(M,"click",this.save.bind(this)),this.position((y=this.args)==null?void 0:y.position),this._textareaElm.focus(),this._textareaElm.select()}this._wrapperElm.appendChild(s),this._bindEventService.bind(this._textareaElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._textareaElm,"input",this.handleOnInputChange.bind(this)),this._bindEventService.bind(this._textareaElm,"paste",this.handleOnInputChange.bind(this))}cancel(){var e;const u=this._defaultTextValue||"";this._textareaElm.value=u,this._currentLengthElm.textContent=`${u.length}`,(e=this.args)!=null&&e.cancelChanges&&this.args.cancelChanges()}hide(){this._wrapperElm.style.display="none"}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)?this.applyInputUsabilityState():this._wrapperElm.style.display="block"}destroy(){var u,e;this._bindEventService.unbindAll(),(e=(u=this._wrapperElm)==null?void 0:u.remove)==null||e.call(u)}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._textareaElm&&this._wrapperElm)if(u){this._textareaElm.disabled=!0,this._wrapperElm.classList.add("disabled");const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset("",!0,!0)}else this._textareaElm.disabled=!1,this._wrapperElm.classList.remove("disabled")}focus(){this.grid.focus(),this._textareaElm&&(this._textareaElm.focus(),this._textareaElm.select())}getValue(){return this._textareaElm.value}setValue(u,e=!1,a=!0){if(this._textareaElm.value=u,this._currentLengthElm.textContent=`${u.length}`,e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var i,t;const a=(i=this.columnDef)==null?void 0:i.field;if(a!==void 0){const r=(a==null?void 0:a.indexOf("."))>0,o=this.validate(void 0,e),s=o!=null&&o.valid?e:"";if(r){const l=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??a??"";B0(u,l,s)}else u[a]=s}}isValueChanged(){const u=this._textareaElm.value;return!(u===""&&(this._defaultTextValue===null||this._defaultTextValue===void 0))&&u!==this._defaultTextValue}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=(a=this.columnDef)==null?void 0:a.field;if(u&&e!==void 0){const t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u[e];this._defaultTextValue=t||"",this._textareaElm.value=this._defaultTextValue,this._currentLengthElm.textContent=this._defaultTextValue.length,this._textareaElm.defaultValue=this._defaultTextValue,this._textareaElm.select()}}position(u){var c,D;const e=Ou(this.args.container),a=this.args.container.offsetHeight,i=this.args.container.offsetWidth,t=this._wrapperElm.getBoundingClientRect().height||this.args.position.height,r=this._wrapperElm.getBoundingClientRect().width||this.args.position.width,o=document.body.offsetHeight||window.innerHeight,s=document.body.offsetWidth||window.innerWidth;let l=(e==null?void 0:e.top)??u.top??0,E=(e==null?void 0:e.left)??u.left??0;const d=((c=this.editorOptions)==null?void 0:c.position)??"auto";if(d==="left"||d==="auto"&&E+r>s){const m=((D=this.editorOptions)==null?void 0:D.marginRight)??0;E-=r-i+m}(d==="top"||d==="auto"&&l+t>o)&&(l-=t-a),this._wrapperElm.style.top=`${l}px`,this._wrapperElm.style.left=`${E}px`}reset(u,e=!0,a=!1){const i=u??this._defaultTextValue??"";this._textareaElm&&(this._defaultTextValue=i,this._textareaElm.value=i,this._currentLengthElm.textContent=i.length),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=(u==null?void 0:u.valid)??!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){return this._textareaElm.value}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._textareaElm)==null?void 0:i.value;return en(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minLength:this.columnEditor.minLength,maxLength:this.columnEditor.maxLength,operatorConditionalType:this.columnEditor.operatorConditionalType,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleKeyDown(u){const e=u.key;this._isValueTouched=!0,this.args.compositeEditorOptions||(e==="Enter"&&u.ctrlKey||u.ctrlKey&&u.key.toUpperCase()==="S"?(u.preventDefault(),this.save()):e==="Escape"?(u.preventDefault(),this.cancel()):e==="Tab"&&u.shiftKey?(u.preventDefault(),this.args&&this.grid&&this.grid.navigatePrev()):e==="Tab"&&(u.preventDefault(),this.args&&this.grid&&this.grid.navigateNext()))}handleOnInputChange(u){var t,r;const e=this.args.compositeEditorOptions,a=(t=this.columnEditor)==null?void 0:t.maxLength;let i=!1;if(a&&(i=this.truncateText(this._textareaElm,a)),i)this._currentLengthElm.textContent=`${a}`;else{const o=u.type==="paste"?u.clipboardData.getData("text"):u.target.value;this._currentLengthElm.textContent=`${o.length}`}if(e){const o=((r=this.gridOptions)==null?void 0:r.editorTypingDebounce)??500;clearTimeout(this._timer),this._timer=setTimeout(()=>this.handleChangeOnCompositeEditor(u,e),o)}}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}truncateText(u,e){const a=u.value+"";return a.length>e?(u.value=a.substring(0,e),!0):!1}}class D4{constructor(u,e,a=-1){var o,s,l,E,d,c,D,m,h;if(this.args=u,this.isMultipleSelect=e,this.delayOpening=a,this._isValueTouched=!1,this._isDisposingOrCallingSave=!1,this.disabled=!1,this.enableTranslateLabel=!1,this.finalCollection=[],!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},(o=this.gridOptions)!=null&&o.translater&&(this._translaterService=this.gridOptions.translater),this._locales=this.gridOptions.locales||_.locales;const i=((s=this.columnDef)==null?void 0:s.id)??"";this.elementName=`editor-${i}`;const t=this.args.compositeEditorOptions,r={autoAdjustDropHeight:!0,autoAdjustDropPosition:!0,autoAdjustDropWidthByTextSize:!0,container:"body",darkMode:!!this.gridOptions.darkMode,filter:!1,maxHeight:275,minHeight:25,name:this.elementName,single:!0,singleRadio:!0,renderOptionLabelAsHtml:((l=this.columnEditor)==null?void 0:l.enableRenderHtml)??!1,sanitizer:g=>this.grid.sanitizeHtmlString(g),onClick:()=>this._isValueTouched=!0,onCheckAll:()=>this._isValueTouched=!0,onUncheckAll:()=>this._isValueTouched=!0,onClose:g=>{if(g==="key.escape"||g==="body.click"||!this.hasAutoCommitEdit&&!this.isValueChanged()){g==="key.escape"&&this.cancel();return}t?this.handleChangeOnCompositeEditor(t):(this._isDisposingOrCallingSave=!0,this.save(this.hasAutoCommitEdit))}};if(e)if(r.single=!1,r.singleRadio=!1,r.displayTitle=!0,r.showOkButton=!0,(E=this._translaterService)!=null&&E.getCurrentLanguage()){const g=Q0(this.gridOptions);r.countSelectedText=this._translaterService.translate(`${g}X_OF_Y_SELECTED`),r.allSelectedText=this._translaterService.translate(`${g}ALL_SELECTED`),r.selectAllText=this._translaterService.translate(`${g}SELECT_ALL`),r.okButtonText=this._translaterService.translate(`${g}OK`),r.noMatchesFoundText=this._translaterService.translate(`${g}NO_MATCHES_FOUND`)}else r.countSelectedText=(d=this._locales)==null?void 0:d.TEXT_X_OF_Y_SELECTED,r.allSelectedText=(c=this._locales)==null?void 0:c.TEXT_ALL_SELECTED,r.selectAllText=(D=this._locales)==null?void 0:D.TEXT_SELECT_ALL,r.okButtonText=(m=this._locales)==null?void 0:m.TEXT_OK,r.noMatchesFoundText=(h=this._locales)==null?void 0:h.TEXT_NO_MATCHES_FOUND;this.defaultOptions=r,this.init()}get collection(){var u;return((u=this.columnEditor)==null?void 0:u.collection)??[]}get collectionOptions(){var u;return(u=this.columnEditor)==null?void 0:u.collectionOptions}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this.editorElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.select,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get isCompositeEditor(){var u;return!!((u=this.args)!=null&&u.compositeEditorOptions)}get customStructure(){var u,e;return(e=(u=this.columnDef)==null?void 0:u.editor)==null?void 0:e.customStructure}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get msInstance(){return this._msInstance}get selectOptions(){return this.defaultOptions}get currentValues(){var i,t,r;const u=((i=this._msInstance)==null?void 0:i.getSelects())??[];if(this.collection.every(o=>typeof o=="number"||typeof o=="string"))return this.collection.filter(o=>u==null?void 0:u.some(s=>`${s}`===(o==null?void 0:o.toString())));const e=((t=this.collectionOptions)==null?void 0:t.separatorBetweenTextLabels)??"",a=((r=this.collectionOptions)==null?void 0:r.includePrefixSuffixToSelectedValues)??!1;return this.collection.filter(o=>u.some(s=>{var l;return`${s}`===((l=o==null?void 0:o[this.valueName])==null?void 0:l.toString())})).map(o=>{var m,h;const s=o[this.valueName];let l=o[this.labelPrefixName]||"",E=o[this.labelSuffixName]||"";const d=((m=this.columnDef)==null?void 0:m.field)??"",c=(d==null?void 0:d.indexOf("."))>0,D=((h=this.columnEditor)==null?void 0:h.serializeComplexValueFormat)??"object";return c&&typeof o=="object"&&D==="object"?o:(l=this.enableTranslateLabel&&this._translaterService&&l&&typeof l=="string"?this._translaterService.translate(l||" "):l,E=this.enableTranslateLabel&&this._translaterService&&E&&typeof E=="string"?this._translaterService.translate(E||" "):E,a?[l,s,E].filter(x=>x).join(e):s)})}get currentValue(){var i,t,r,o,s;const u=((i=this._msInstance)==null?void 0:i.getSelects())??[],e=u.length?u[0]:"",a=(t=this.columnDef)==null?void 0:t.field;if(a!==void 0){if(this.collection.every(m=>typeof m=="number"||typeof m=="string"))return Ae(this.collection,m=>{var h;return((h=m==null?void 0:m.toString)==null?void 0:h.call(m))===`${e}`});const l=((r=this.collectionOptions)==null?void 0:r.separatorBetweenTextLabels)??"",E=((o=this.collectionOptions)==null?void 0:o.includePrefixSuffixToSelectedValues)??!1,d=Ae(this.collection,m=>{var h;return m.hasOwnProperty(this.valueName)&&((h=m[this.valueName])==null?void 0:h.toString())===`${e}`}),c=(a==null?void 0:a.indexOf("."))>0,D=((s=this.columnEditor)==null?void 0:s.serializeComplexValueFormat)??"object";if(c&&typeof d=="object"&&D==="object")return d;if(d&&d.hasOwnProperty(this.valueName)){const m=d[this.valueName];if(E){let h=d[this.labelPrefixName]||"",g=d[this.labelSuffixName]||"";return h=this.enableTranslateLabel&&this._translaterService&&h&&typeof h=="string"?this._translaterService.translate(h||" "):h,g=this.enableTranslateLabel&&this._translaterService&&g&&typeof g=="string"?this._translaterService.translate(g||" "):g,[h,m,g].filter(p=>p).join(l)}return m}}return""}get validator(){var u,e;return((u=this.columnEditor)==null?void 0:u.validator)??((e=this.columnDef)==null?void 0:e.validator)}init(){var u,e,a,i,t,r,o;if(!this.columnDef||!this.columnDef.editor||!this.columnDef.editor.collection&&!this.columnDef.editor.collectionAsync)throw new Error(`[Slickgrid-Universal] You need to pass a "collection" (or "collectionAsync") inside Column Definition Editor for the MultipleSelect/SingleSelect Editor to work correctly. Also each option should include a value/label pair (or value/labelKey when using Locale). For example: { editor: { collection: [{ value: true, label: 'True' },{ value: false, label: 'False'}] } }`);if(this._collectionService=new z1(this._translaterService),this.enableTranslateLabel=((u=this.columnEditor)==null?void 0:u.enableTranslateLabel)??!1,this.labelName=((e=this.customStructure)==null?void 0:e.label)??"label",this.labelPrefixName=((a=this.customStructure)==null?void 0:a.labelPrefix)??"labelPrefix",this.labelSuffixName=((i=this.customStructure)==null?void 0:i.labelSuffix)??"labelSuffix",this.optionLabel=((t=this.customStructure)==null?void 0:t.optionLabel)??"value",this.valueName=((r=this.customStructure)==null?void 0:r.value)??"value",this.enableTranslateLabel&&(!this._translaterService||typeof this._translaterService.translate!="function"))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.renderDomElement(this.collection),(this.disabled||(o=this.columnEditor)!=null&&o.collectionAsync&&Array.isArray(this.collection)&&this.collection.length===0)&&this.disable(!0)}getValue(){return this.isMultipleSelect?this.currentValues:this.currentValue}setValue(u,e=!1,a=!0){if(this.isMultipleSelect&&Array.isArray(u)?this.loadMultipleValues(u):this.loadSingleValue(u),e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(i,"system")}}cancel(){var u;(u=this.args)!=null&&u.cancelChanges&&this.args.cancelChanges()}hide(){this._msInstance&&this._msInstance.close()}show(u){!this.isCompositeEditor&&this._msInstance?this._msInstance.open(u):this.isCompositeEditor&&this.applyInputUsabilityState()}applyValue(u,e){var r,o,s;const a=(r=this.columnDef)==null?void 0:r.field,i=(o=this.columnDef)==null?void 0:o.type;let t=e;if(a!==void 0){(i===C.number||i===C.integer||i===C.boolean)&&!isNaN(parseFloat(e))&&(t=parseFloat(e)),this.isMultipleSelect&&typeof e=="string"&&e.indexOf(",")>=0&&(t=e.split(","));const l=(a==null?void 0:a.indexOf("."))>0,E=this.validate(null,t);if(t=E!=null&&E.valid?t:"",l){const d=((s=this.columnEditor)==null?void 0:s.complexObjectPath)??a??"";B0(u,d,t)}else u[a]=t}}destroy(){var u,e;this._msInstance&&this.hasAutoCommitEdit&&this.isValueChanged()&&!this._isDisposingOrCallingSave&&!this.isCompositeEditor&&(this._isDisposingOrCallingSave=!0,this.save(!0)),this._isDisposingOrCallingSave=!0,typeof((u=this._msInstance)==null?void 0:u.destroy)=="function"&&this._msInstance.destroy(),(e=this.editorElm)==null||e.remove(),this._msInstance=void 0}loadValue(u){var i,t;const e=(i=this.columnDef)==null?void 0:i.field,a=e!==void 0&&(e==null?void 0:e.indexOf("."))>0;if(u&&e!==void 0){const r=((t=this.columnEditor)==null?void 0:t.complexObjectPath)??e,o=a?Qu(u,r):u.hasOwnProperty(e)&&u[e],s=a&&(o!=null&&o.hasOwnProperty(this.valueName))?o[this.valueName]:o;this.isMultipleSelect&&Array.isArray(s)?this.loadMultipleValues(s):this.loadSingleValue(s)}}loadMultipleValues(u){var e;if(Array.isArray(u)){this.originalValue=u.map(i=>typeof i=="number"||typeof i=="boolean"?`${i}`:i),(e=this._msInstance)==null||e.setSelects(this.originalValue);const a=this.args.compositeEditorOptions;a&&this.handleChangeOnCompositeEditor(a)}}loadSingleValue(u){var e;this.originalValue=typeof u=="number"||typeof u=="boolean"?`${u}`:u,(e=this._msInstance)==null||e.setSelects([this.originalValue])}serializeValue(){return this.isMultipleSelect?this.currentValues:this.currentValue}changeEditorOption(u,e){var a;this.columnEditor&&(this.columnEditor.editorOptions||(this.columnEditor.editorOptions={}),this.columnEditor.editorOptions[u]=e,this.editorElmOptions={...this.editorElmOptions,[u]:e},(a=this._msInstance)==null||a.refreshOptions(this.editorElmOptions))}disable(u=!0){const e=this.disabled;if(this.disabled=u,this._msInstance)if(u){this._msInstance.disable();const a=this.getValue(),i=Array.isArray(a)&&this.isMultipleSelect?(a==null?void 0:a[0])==="":a==="";e!==u&&this.isCompositeEditor&&!i&&this.reset("",!0,!0)}else this._msInstance.enable()}focus(){var u;this.grid.focus(),(u=this._msInstance)==null||u.focus()}isValueChanged(){var a;const u=(a=this._msInstance)==null?void 0:a.getSelects();if(this.isMultipleSelect)return!ne(u,this.originalValue);const e=Array.isArray(u)&&u.length>0?u[0]:void 0;return e!==void 0&&e!==this.originalValue}isValueTouched(){return this._isValueTouched}reset(u,e=!0,a=!1){const i=u??this.originalValue;if(this._msInstance){this.originalValue=this.isMultipleSelect?i!==void 0?[i]:[]:i;const r=this.originalValue===void 0?[]:[this.originalValue];this._msInstance.setSelects(r)}this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(t,"user",r)}}save(u=!1){const e=this.validate(),a=(e==null?void 0:e.valid)??!1;(!this._isDisposingOrCallingSave||u)&&this.hasAutoCommitEdit&&a?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}validate(u,e){var r,o;const a=this.isCompositeEditor?!1:(r=this.columnEditor)==null?void 0:r.required,i=e!==void 0?e:(o=this._msInstance)==null?void 0:o.getSelects(),t=this.columnEditor&&this.columnEditor.errorMessage;if(this.isCompositeEditor&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};if(this.validator){const s=e!==void 0?e:this.isMultipleSelect?this.currentValues:this.currentValue;return this.validator(s,this.args)}return a&&(i===""||Array.isArray(i)&&i.length===0)?{valid:!1,msg:t||_.VALIDATION_REQUIRED_FIELD}:{valid:!0,msg:null}}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}filterCollection(u){var a;let e=u;if(this.columnEditor&&this.columnEditor.collectionFilterBy){const i=this.columnEditor.collectionFilterBy,t=((a=this.columnEditor.collectionOptions)==null?void 0:a.filterResultAfterEachPass)??null;e=this._collectionService.filterCollection(e,i,t)}return e}sortCollection(u){let e=u;if(this.columnDef&&this.columnEditor&&this.columnEditor.collectionSortBy){const a=this.columnEditor.collectionSortBy;e=this._collectionService.sortCollection(this.columnDef,e,a,this.enableTranslateLabel)}return e}renderDomElement(u){var t,r,o,s,l;if(!Array.isArray(u)&&((t=this.collectionOptions)!=null&&t.collectionInsideObjectProperty)){const E=this.collectionOptions.collectionInsideObjectProperty;u=Qu(u,E)}if(!Array.isArray(u))throw new Error('The "collection" passed to the Select Editor is not a valid array.');let e=[];if(u.length>0&&(e=[...u]),(r=this.collectionOptions)!=null&&r.addBlankEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==""&&(e.unshift(this.createBlankEntry()),this.collection.unshift(this.createBlankEntry())),(o=this.collectionOptions)!=null&&o.addCustomFirstEntry&&Array.isArray(e)&&e.length>0&&e[0][this.valueName]!==this.collectionOptions.addCustomFirstEntry[this.valueName]&&(e.unshift(this.collectionOptions.addCustomFirstEntry),this.collection.unshift(this.collectionOptions.addCustomFirstEntry)),(s=this.collectionOptions)!=null&&s.addCustomLastEntry&&Array.isArray(e)&&e.length>0){const E=e.length-1;e[E][this.valueName]!==this.collectionOptions.addCustomLastEntry[this.valueName]&&e.push(this.collectionOptions.addCustomLastEntry)}let a=e;if(a=this.filterCollection(a),a=this.sortCollection(a),(l=this.columnEditor)!=null&&l.collectionOverride){const E={column:this.columnDef,dataContext:this.dataContext,grid:this.grid,originalCollections:this.collection};if(this.args.compositeEditorOptions){const{formValues:d,modalType:c}=this.args.compositeEditorOptions;E.compositeEditorOptions={formValues:d,modalType:c}}a=this.columnEditor.collectionOverride(a,E)}this.finalCollection=a;const i=S1("editor",a,this.columnDef,this.grid,this.isMultipleSelect,this._translaterService);this.createDomElement(i.selectElement,i.dataCollection)}createBlankEntry(){const u={[this.labelName]:"",[this.valueName]:""};return this.labelPrefixName&&(u[this.labelPrefixName]=""),this.labelSuffixName&&(u[this.labelSuffixName]=""),u}createDomElement(u,e){var t;const a=this.args.container;u&&a&&typeof a.appendChild=="function"&&(Au(a),a.appendChild(u));const i=((t=this.columnEditor)==null?void 0:t.placeholder)??"";this.defaultOptions.placeholder=i||"",this.editorElmOptions={...this.defaultOptions,...this.editorOptions,data:e},this._msInstance=Va(u,this.editorElmOptions),this.editorElm=this._msInstance.getParentElement(),this.isCompositeEditor||this.show(this.delayOpening)}handleChangeOnCompositeEditor(u,e="user",a=!1){var d,c,D;const i=this.grid.getActiveCell(),t=this.args.column,r=((d=this.columnDef)==null?void 0:d.id)??"",o=this.dataContext,s=this.grid,l=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,l),this.applyValue(u.formValues,l);const E=((D=(c=this.gridOptions)==null?void 0:c.compositeEditorOptions)==null?void 0:D.excludeDisabledFieldFormValues)??!1;(a||this.disabled&&E&&u.formValues.hasOwnProperty(r))&&delete u.formValues[r],s.onCompositeEditorChange.notify({...i,item:o,grid:s,column:t,formValues:u.formValues,editors:u.editors,triggeredBy:e},new ju)}}class Jx extends D4{constructor(u,e=0){super(u,!0,e),this.args=u,this.delayOpening=e}}class Wx extends D4{constructor(u,e=0){super(u,!1,e),this.args=u,this.delayOpening=e}}class Ux{constructor(u){if(this.args=u,this._defaultValue=0,this._isValueTouched=!1,this._sliderNumberElm=null,this.disabled=!1,!u)throw new Error("[Slickgrid-Universal] Something is wrong with this grid, an Editor must always have valid arguments.");this.grid=u.grid,this.gridOptions=this.grid.getOptions()||{},this._bindEventService=new pu,this.init()}get columnDef(){return this.args.column}get columnEditor(){var u;return((u=this.columnDef)==null?void 0:u.editor)??{}}get dataContext(){return this.args.item}get editorDomElement(){return this._editorElm}get editorInputDomElement(){return this._inputElm}get editorOptions(){var u,e;return{...(u=this.gridOptions.defaultEditorOptions)==null?void 0:u.slider,...(e=this.columnEditor)==null?void 0:e.editorOptions}}get hasAutoCommitEdit(){return this.gridOptions.autoCommitEdit??!1}get sliderOptions(){return this._sliderOptions}get validator(){var u;return this.columnEditor.validator??((u=this.columnDef)==null?void 0:u.validator)}init(){var u;if(this._cellContainerElm=(u=this.args)==null?void 0:u.container,this._cellContainerElm&&this.columnDef){const e=this.args.compositeEditorOptions;this._editorElm=this.buildDomElement(),e||this.focus(),this._cellContainerElm.appendChild(this._editorElm),this._bindEventService.bind(this._sliderTrackElm,["click","mouseup"],this.sliderTrackClicked.bind(this)),this._bindEventService.bind(this._inputElm,["change","mouseup","touchend"],this.handleChangeEvent.bind(this)),this._bindEventService.bind(this._inputElm,["input","change"],this.handleChangeSliderNumber.bind(this))}}cancel(){this._inputElm&&(this._inputElm.value=`${this._originalValue}`),this.args.cancelChanges()}destroy(){var u,e,a;this._bindEventService.unbindAll(),(u=this._inputElm)==null||u.remove(),(e=this._editorElm)==null||e.remove(),(a=this._sliderTrackElm)==null||a.remove()}disable(u=!0){var a;const e=this.disabled;if(this.disabled=u,this._inputElm)if(u){this._inputElm.disabled=!0;const i=this.getValue();e!==u&&((a=this.args)!=null&&a.compositeEditorOptions)&&i!==""&&this.reset(0,!0,!0)}else this._inputElm.disabled=!1}focus(){var u;this.grid.focus(),(u=this._inputElm)==null||u.focus()}show(){var e;!!((e=this.args)!=null&&e.compositeEditorOptions)&&this.applyInputUsabilityState()}getValue(){var u;return((u=this._inputElm)==null?void 0:u.value)??""}setValue(u,e=!1,a=!0){if(this._inputElm&&(this._inputElm.value=`${u}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${u}`),e){this.applyValue(this.args.item,this.serializeValue());const i=this.args.compositeEditorOptions;i&&a&&this.handleChangeOnCompositeEditor(null,i,"system")}}applyValue(u,e){var i;const a=((i=this.columnDef)==null?void 0:i.field)??"";if(a!==void 0){const t=(a==null?void 0:a.indexOf("."))>0,r=this.validate(void 0,e),o=r&&r.valid?e:"";if(t){const s=this.columnEditor.complexObjectPath??a??"";B0(u,s,o)}else u&&(u[a]=o)}}isValueChanged(){var e;const u=((e=this._inputElm)==null?void 0:e.value)??"";return!(u===""&&this._originalValue===void 0)&&+u!==this._originalValue}isValueTouched(){return this._isValueTouched}loadValue(u){var a;const e=((a=this.columnDef)==null?void 0:a.field)??"";if(u&&e!==void 0){let t=(e==null?void 0:e.indexOf("."))>0?Qu(u,e):u.hasOwnProperty(e)?u[e]:this._defaultValue;(t===""||t===null||t===void 0)&&(t=this._defaultValue),this._originalValue=+t,this._inputElm&&(this._inputElm.value=`${t}`,this._inputElm.title=`${t}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${t}`)}this.updateTrackFilledColorWhenEnabled()}reset(u,e=!0,a=!1){const i=u??this._originalValue??0;this._inputElm&&(this._inputElm.value=`${i}`),this._sliderNumberElm&&(this._sliderNumberElm.textContent=`${i}`),this._isValueTouched=!1;const t=this.args.compositeEditorOptions;if(t&&e){const r=!a;this.handleChangeOnCompositeEditor(null,t,"user",r)}}save(){const u=this.validate(),e=u&&u.valid||!1;this.hasAutoCommitEdit&&e?this.grid.getEditorLock().commitCurrentEdit():this.args.commitChanges()}serializeValue(){var e;const u=((e=this._inputElm)==null?void 0:e.value)??"";return u!==""?parseInt(u,10):this._originalValue}validate(u,e){var i,t;if(this.args.compositeEditorOptions&&this.applyInputUsabilityState(),this.disabled)return{valid:!0,msg:""};const a=e!==void 0?e:(i=this._inputElm)==null?void 0:i.value;return Kx(a,{editorArgs:this.args,errorMessage:this.columnEditor.errorMessage,minValue:this.columnEditor.minValue,maxValue:this.columnEditor.maxValue,required:(t=this.args)!=null&&t.compositeEditorOptions?!1:this.columnEditor.required,validator:this.validator})}buildDomElement(){var l;const u=((l=this.columnDef)==null?void 0:l.id)??"",e=this.columnEditor.title??"",a=+(this.columnEditor.minValue??_.SLIDER_DEFAULT_MIN_VALUE),i=+(this.columnEditor.maxValue??_.SLIDER_DEFAULT_MAX_VALUE),t=+(this.columnEditor.valueStep??_.SLIDER_DEFAULT_STEP),r=this.editorOptions.sliderStartValue??a;this._defaultValue=+r,this._sliderTrackElm=A("div",{className:"slider-track"}),this._inputElm=A("input",{type:"range",title:e,defaultValue:`${r}`,value:`${r}`,min:`${a}`,max:`${i}`,step:`${this.columnEditor.valueStep??_.SLIDER_DEFAULT_STEP}`,ariaLabel:this.columnEditor.ariaLabel??`${ce(u+"")} Slider Editor`,className:`slider-editor-input editor-${u}`});const o=A("div",{className:"slider-container slider-editor"}),s=A("div",{className:"slider-input-container slider-editor"});if(s.appendChild(this._sliderTrackElm),s.appendChild(this._inputElm),o.appendChild(s),!this.editorOptions.hideSliderNumber){o.classList.add("input-group");const E=A("div",{className:"input-group-addon input-group-append slider-value"});this._sliderNumberElm=A("span",{className:"input-group-text",textContent:`${r}`}),E.appendChild(this._sliderNumberElm),o.appendChild(E)}return this._sliderOptions={minValue:a,maxValue:i,step:t},o}applyInputUsabilityState(){const u=this.grid.getActiveCell(),e=this.grid.onBeforeEditCell.notify({...u,item:this.dataContext,column:this.args.column,grid:this.grid,target:"composite",compositeEditorOptions:this.args.compositeEditorOptions}).getReturnValue();this.disable(e===!1)}handleChangeEvent(u){this._isValueTouched=!0;const e=this.args.compositeEditorOptions;e?this.handleChangeOnCompositeEditor(u,e):this.save()}handleChangeSliderNumber(u){var a,i;const e=((a=u.target)==null?void 0:a.value)??"";e!==""&&(!this.editorOptions.hideSliderNumber&&this._sliderNumberElm&&(this._sliderNumberElm.textContent=e),this._inputElm.title=e,(i=this.args)!=null&&i.compositeEditorOptions||this.grid.onMouseEnter.notify({column:this.columnDef,grid:this.grid},new ju(u))),this.updateTrackFilledColorWhenEnabled()}handleChangeOnCompositeEditor(u,e,a="user",i=!1){var c,D,m;const t=this.grid.getActiveCell(),r=this.args.column,o=((c=this.columnDef)==null?void 0:c.id)??"",s=this.dataContext,l=this.grid,E=this.serializeValue();this.validate().valid&&this.applyValue(this.dataContext,E),this.applyValue(e.formValues,E);const d=((m=(D=this.gridOptions)==null?void 0:D.compositeEditorOptions)==null?void 0:m.excludeDisabledFieldFormValues)??!1;(i||this.disabled&&d&&e.formValues.hasOwnProperty(o))&&delete e.formValues[o],l.onCompositeEditorChange.notify({...t,item:s,grid:l,column:r,formValues:e.formValues,editors:e.editors,triggeredBy:a},new ju(u))}sliderTrackClicked(u){u.preventDefault();const e=u.offsetX,a=this._sliderTrackElm.offsetWidth,i=(e+0)*100/a;this._inputElm&&(this._inputElm.value=`${i}`,this._inputElm.dispatchEvent(new Event("change")))}updateTrackFilledColorWhenEnabled(){var u,e;if(this.editorOptions.enableSliderTrackColoring&&this._inputElm){const i=(+this.getValue()-+this._inputElm.min)/(((u=this.sliderOptions)==null?void 0:u.maxValue)??0-+this._inputElm.min)*100,t="linear-gradient(to right, %b %p1, %c %p1, %c %p2, %b %p2)".replace(/%b/g,"#eee").replace(/%c/g,((e=this.editorOptions)==null?void 0:e.sliderTrackFilledColor)??"var(--slick-slider-filter-thumb-color, #86bff8)").replace(/%p1/g,"0%").replace(/%p2/g,`${i}%`);this._sliderTrackElm.style.background=t,this._sliderOptions.sliderTrackBackground=t}}}const $={autocompleter:Lx,checkbox:Rx,date:Nx,dualInput:Hx,float:Ix,integer:Vx,longText:$x,multipleSelect:Jx,password:Gx,singleSelect:Wx,slider:Ux,text:an},qx=(n,u,e,a,i)=>{var l;const t=a&&a.params||{},r=t.propertyNames,o=(t==null?void 0:t.includeTitle)??!0;let s=t.dataContextProperty;if(s||(s=((l=a==null?void 0:a.field)==null?void 0:l.split(".")[0])||""),!r||!Array.isArray(r)||!s)throw new Error(`Formatters.arrayObjectToCsv requires you to pass an array of "propertyNames" (declared in "params") that you want to pull the data from. For example, if we have an array of user objects that have the property of firstName & lastName then we need to pass in your column definition:: { params: { propertyNames: ['firtName'] }}. @@ -22,7 +22,7 @@ var M5=Object.defineProperty;var T5=(n,u,e)=>u in n?M5(n,u,{enumerable:!0,config There are 3 ways to provide it: 1- via the generic "params" with a "complexField" property on your Column Definition, example: this.columnDefs = [{ id: 'user', field: 'user', params: { complexField: 'user.firstName' } }] 2- via the generic "params" with a "complexField" and a "labelKey" property on your Column Definition, example: this.columnDefs = [{ id: 'user', field: 'user', labelKey: 'firstName', params: { complexField: 'user' } }] - 3- via the field name that includes a dot notation, example: this.columnDefs = [{ id: 'user', field: 'user.firstName'}] `);if(a.labelKey&&i.hasOwnProperty(r))return(o=i[r])==null?void 0:o[a.labelKey];if(typeof r=="string"&&r.indexOf(".")>0){let s=r.split(".").reduce((l,E)=>l!=null&&l.hasOwnProperty(E)?l[E]:"",i);return(s==null||typeof s=="object"&&Object.entries(s).length===0&&!(s instanceof Date))&&(s=""),s}return e},Xx=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,numberPrefix:s,numberSuffix:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(a,t,"decimal","cell");return lu(e)?$u(e,r,o,c,s,l,E,d):e},u6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");return lu(e)?$u(e,r,o,E,"$","",s,l):e},e6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");if(lu(e)){const d=e>=0?"green":"red",c=$u(e,r,o,E,"$","",s,l),D=A("span",{ariaHidden:"true",textContent:c});return D.style.color=d,D}return e},a6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");if(lu(e)){const d=e>=0?"green":"red",c=$u(e,r,o,E,"$","",s,l),D=A("span",{ariaHidden:"true",textContent:c});return D.style.color=d,D.style.fontWeight="bold",D}return e},i6=(n,u,e,a,i,t)=>{const{currencyPrefix:r,currencySuffix:o,minDecimal:s,maxDecimal:l,numberPrefix:E,numberSuffix:d,decimalSeparator:c,thousandSeparator:D,wrapNegativeNumber:m}=Xu(a,t,"decimal","cell");if(lu(e)){const h=$u(e,s,l,m,r,o,c,D);return`${E}${h}${d}`}return e},t6=(n,u,e,a,i,t)=>{const r=a&&a.params||{};let o=r.hyperlinkText?r.hyperlinkText:e;o=t.sanitizeHtmlString(o);let s=r.hyperlinkUrl?r.hyperlinkUrl:e;s=t.sanitizeHtmlString(s);const l=s.match(/^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?/i);if(l&&Array.isArray(l)&&l.length>0){const E=l[0];return A("a",{href:E,textContent:o})}return e},n6=(n,u,e,a)=>{const t=((a==null?void 0:a.params)||{}).cssClass;if(!t)throw new Error('[Slickgrid-Universal] When using `Formatters.iconBoolean`, you must provide You must provide the "cssClass", e.g.: { formatter: Formatters.iconBoolean, params: { cssClass: "mdi mdi-check" }}');let r=!1;const o=!isNaN(e);return(e===!0||o&&parseFloat(e)>0||!o&&typeof e=="string"&&e.toLowerCase()!=="false"&&e!=="0")&&(r=!0),r?A("i",{className:t,ariaHidden:"true"}):""},r6=(n,u,e,a)=>{const i=(a==null?void 0:a.params)??{},t=i.iconCssClass||i.icon||i.formatterIcon;if(!t)throw new Error('[Slickgrid-Universal] When using `Formatters.icon`, you must provide the "iconCssClass" via the generic "params". (e.g.: `{ formatter: Formatters.icon, params: { iconCssClass: "mdi mdi-magnify" }}`');return A("i",{className:t,ariaHidden:"true"})},o6=(n,u,e,a,i,t)=>{const o=(a.params||{}).mask;if(!o)throw new Error(`You must provide a "mask" via the generic "params" options (e.g.: { formatter: Formatters.mask, params: { mask: '000-000' }}`);if(e){let s=0;const l=e.toString(),E=t.getOptions()||{},d=E!=null&&E.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return d.textContent=o.replace(/[09A]/gi,()=>l[s++]||""),d}return e},s6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");if(lu(e)){const d=e*100;return $u(d,r,o,E,"","%",s,l)}return e},l6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);return i>100&&(i=100),i<30?a="red":i<70?a="silver":a="green",A("span",{className:"percent-complete-bar",title:`${i}%`,style:{background:a,width:`${i}%`}})},E6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);return i>100&&(i=100),i<30?a="red":i<70?a="silver":a="green",A("div",{className:"percent-complete-bar-with-text",title:`${i}%`,textContent:`${i}%`,style:{background:a,width:`${i}%`}})},d6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");if(lu(e)){const d=e<50?"red":"green",c=$u(e,r,o,E,"","%",s,l),D=e>100?"100%":c;return A("span",{textContent:D,style:{color:d}})}return e},c6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");return lu(e)?$u(e,r,o,E,"","%",s,l):e},D6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);i>100&&(i=100),i<30?a="danger":i<70?a="warning":a="success";const t=A("div",{className:"progress"});return t.appendChild(A("div",{className:`progress-bar progress-bar-${a} bg-${a}`,role:"progressbar",ariaValueNow:String(i),ariaValueMin:"0",ariaValueMax:"100",textContent:`${i}%`,style:{minWidth:"2em",width:`${i}%`}})),t},m6=(n,u,e,a,i,t)=>{const o=((t==null?void 0:t.getOptions())??{}).translater||a&&a.params&&a.params.translater;if(!o||typeof o.translate!="function")throw new Error(`"Formatters.translate" requires the Translate Service to be provided as a Grid Options "translater" (or "i18n" depending on which framework you use). + 3- via the field name that includes a dot notation, example: this.columnDefs = [{ id: 'user', field: 'user.firstName'}] `);if(a.labelKey&&i.hasOwnProperty(r))return(o=i[r])==null?void 0:o[a.labelKey];if(typeof r=="string"&&r.indexOf(".")>0){let s=r.split(".").reduce((l,E)=>l!=null&&l.hasOwnProperty(E)?l[E]:"",i);return(s==null||typeof s=="object"&&Object.entries(s).length===0&&!(s instanceof Date))&&(s=""),s}return e},Xx=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,numberPrefix:s,numberSuffix:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(a,t,"decimal","cell");return lu(e)?$u(e,r,o,c,s,l,E,d):e},u6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");return lu(e)?$u(e,r,o,E,"$","",s,l):e},e6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");if(lu(e)){const d=e>=0?"green":"red",c=$u(e,r,o,E,"$","",s,l),D=A("span",{ariaHidden:"true",textContent:c});return D.style.color=d,D}return e},a6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"currency","cell");if(lu(e)){const d=e>=0?"green":"red",c=$u(e,r,o,E,"$","",s,l),D=A("span",{ariaHidden:"true",textContent:c});return D.style.color=d,D.style.fontWeight="bold",D}return e},i6=(n,u,e,a,i,t)=>{const{currencyPrefix:r,currencySuffix:o,minDecimal:s,maxDecimal:l,numberPrefix:E,numberSuffix:d,decimalSeparator:c,thousandSeparator:D,wrapNegativeNumber:m}=Xu(a,t,"decimal","cell");if(lu(e)){const h=$u(e,s,l,m,r,o,c,D);return`${E}${h}${d}`}return e},t6=(n,u,e,a,i,t)=>{const r=a&&a.params||{};let o=r.hyperlinkText?r.hyperlinkText:e;o=t.sanitizeHtmlString(o);let s=r.hyperlinkUrl?r.hyperlinkUrl:e;s=t.sanitizeHtmlString(s);const l=s.match(/^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?/i);if(l&&Array.isArray(l)&&l.length>0){const E=l[0];return A("a",{href:E,textContent:o})}return e},n6=(n,u,e,a)=>{const t=((a==null?void 0:a.params)||{}).cssClass;if(!t)throw new Error('[Slickgrid-Universal] When using `Formatters.iconBoolean`, you must provide You must provide the "cssClass", e.g.: { formatter: Formatters.iconBoolean, params: { cssClass: "mdi mdi-check" }}');let r=!1;const o=!isNaN(e);return(e===!0||o&&parseFloat(e)>0||!o&&typeof e=="string"&&e.toLowerCase()!=="false"&&e!=="0")&&(r=!0),r?A("i",{className:t,ariaHidden:"true"}):""},r6=(n,u,e,a)=>{const i=(a==null?void 0:a.params)??{},t=i.iconCssClass||i.icon||i.formatterIcon;if(!t)throw new Error('[Slickgrid-Universal] When using `Formatters.icon`, you must provide the "iconCssClass" via the generic "params". (e.g.: `{ formatter: Formatters.icon, params: { iconCssClass: "mdi mdi-magnify" }}`');const r=i.title||null;return A("i",{className:t,ariaHidden:"true",title:r})},o6=(n,u,e,a,i,t)=>{const o=(a.params||{}).mask;if(!o)throw new Error(`You must provide a "mask" via the generic "params" options (e.g.: { formatter: Formatters.mask, params: { mask: '000-000' }}`);if(e){let s=0;const l=e.toString(),E=t.getOptions()||{},d=E!=null&&E.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return d.textContent=o.replace(/[09A]/gi,()=>l[s++]||""),d}return e},s6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");if(lu(e)){const d=e*100;return $u(d,r,o,E,"","%",s,l)}return e},l6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);return i>100&&(i=100),i<30?a="red":i<70?a="silver":a="green",A("span",{className:"percent-complete-bar",title:`${i}%`,style:{background:a,width:`${i}%`}})},E6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);return i>100&&(i=100),i<30?a="red":i<70?a="silver":a="green",A("div",{className:"percent-complete-bar-with-text",title:`${i}%`,textContent:`${i}%`,style:{background:a,width:`${i}%`}})},d6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");if(lu(e)){const d=e<50?"red":"green",c=$u(e,r,o,E,"","%",s,l),D=e>100?"100%":c;return A("span",{textContent:D,style:{color:d}})}return e},c6=(n,u,e,a,i,t)=>{const{minDecimal:r,maxDecimal:o,decimalSeparator:s,thousandSeparator:l,wrapNegativeNumber:E}=Xu(a,t,"percent","cell");return lu(e)?$u(e,r,o,E,"","%",s,l):e},D6=(n,u,e)=>{if(!lu(e))return"";let a="",i=parseFloat(e);i>100&&(i=100),i<30?a="danger":i<70?a="warning":a="success";const t=A("div",{className:"progress"});return t.appendChild(A("div",{className:`progress-bar progress-bar-${a} bg-${a}`,role:"progressbar",ariaValueNow:String(i),ariaValueMin:"0",ariaValueMax:"100",textContent:`${i}%`,style:{minWidth:"2em",width:`${i}%`}})),t},m6=(n,u,e,a,i,t)=>{const o=((t==null?void 0:t.getOptions())??{}).translater||a&&a.params&&a.params.translater;if(!o||typeof o.translate!="function")throw new Error(`"Formatters.translate" requires the Translate Service to be provided as a Grid Options "translater" (or "i18n" depending on which framework you use). For example: this.gridOptions = { enableTranslate: true, translater: this.translateService }`);return e!=null&&typeof e!="string"&&(e=e+""),e?o.translate(e):""},h6=(n,u,e,a,i,t)=>{var S,y;const r=t.getOptions(),o=r==null?void 0:r.treeDataOptions,s=(o==null?void 0:o.collapsedPropName)??_.treeDataProperties.COLLAPSED_PROP,l=(o==null?void 0:o.hasChildrenPropName)??_.treeDataProperties.HAS_CHILDREN_PROP,E=(o==null?void 0:o.levelPropName)??_.treeDataProperties.TREE_LEVEL_PROP,d=(o==null?void 0:o.exportIndentMarginLeft)??5,c=(o==null?void 0:o.exportIndentationLeadingChar)??".",D=(o==null?void 0:o.exportIndentationLeadingSpaceCount)??3,m=((S=r==null?void 0:r.excelExportOptions)==null?void 0:S.groupCollapsedSymbol)??"⮞",h=((y=r==null?void 0:r.excelExportOptions)==null?void 0:y.groupExpandedSymbol)??"⮟";let g=e;if(g=Fi(a,i,e),g==null||i===void 0)return"";if(!i.hasOwnProperty(E))throw new Error('[Slickgrid-Universal] You must provide valid "treeDataOptions" in your Grid Options, however it seems that we could not find any tree level info on the current item datacontext row.');const x=(i==null?void 0:i[E])??0;let p="",F=0;i[l]?(p=i!=null&&i[s]?m:h,F=x===0?0:d*x):F=d*(x===0?0:x+1);const v=Ra(F);return o!=null&&o.titleFormatter&&(g=un(o.titleFormatter,n,u,a,i,t)),g=`${x===0&&p?"":x===0?`${c}${Ra(D)}`:c}${v}${p} ${g}`,Vu(g)},x6=(n,u,e,a,i,t)=>{const r=t.getOptions(),o=r==null?void 0:r.treeDataOptions,s=(o==null?void 0:o.indentMarginLeft)??15,l=(o==null?void 0:o.collapsedPropName)??_.treeDataProperties.COLLAPSED_PROP,E=(o==null?void 0:o.hasChildrenPropName)??_.treeDataProperties.HAS_CHILDREN_PROP,d=(o==null?void 0:o.levelPropName)??_.treeDataProperties.TREE_LEVEL_PROP;let c=e;if(c=Fi(a,i,e),c==null||i===void 0)return"";if(!i.hasOwnProperty(d))throw new Error('[Slickgrid-Universal] You must provide valid "treeDataOptions" in your Grid Options, however it seems that we could not find any tree level info on the current item datacontext row.');const D=(i==null?void 0:i[d])??0,m=document.createElement("span");m.style.display="inline-block",m.style.width=`${s*D}px`;const h=`slick-tree-level-${D}`;let g="";i[E]&&(g=i!=null&&i[l]?"collapsed":"expanded"),o!=null&&o.titleFormatter&&(c=un(o.titleFormatter,n,u,a,i,t));const x=`slick-group-toggle ${g}`.trim(),p=A("div",{className:x,ariaExpanded:String(g==="expanded")}),F=A("span",{className:"slick-tree-title"});t.applyHtmlCode(F,c),F.setAttribute("level",D);const v=r!=null&&r.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;return v.appendChild(m),v.appendChild(p),v.appendChild(F),{addClasses:h,html:v}},g6=(n,u,e,a,i,t)=>{var d;const r=t.getOptions(),o=((d=r==null?void 0:r.treeDataOptions)==null?void 0:d.hasChildrenPropName)??_.treeDataProperties.HAS_CHILDREN_PROP,{groupTotalsFormatter:s,treeTotalsFormatter:l,params:E}=a;if(!s&&!l)throw new Error('[Slickgrid-Universal] When using Formatters.treeParseTotals, you must provide a total formatter via "groupTotalsFormatter" or "treeTotalsFormatter".');if(i[o]&&(i!=null&&i.__treeTotals)&&(s||l))return(l??s)(i==null?void 0:i.__treeTotals,a,t);if(E.formatters){let c=e;for(const D of E.formatters)!i[o]&&!(i!=null&&i.__treeTotals)&&typeof D=="function"&&(c=D(n,u,c,a,i,t)||e);return c}return e},C6=(n,u,e,a,i,t)=>{const o=((t==null?void 0:t.getOptions())??{}).translater||a&&a.params&&a.params.translater;if(!o||typeof o.translate!="function")throw new Error(`"Formatters.translateBoolean" requires the Translate Service to be provided as a Grid Options "translater" (or "i18n" depending on which framework you use). For example: this.gridOptions = { enableTranslate: true, translater: this.translateService }`);return e!=null&&typeof e!="string"&&(e=e+""),e?o.translate(e.toUpperCase()):""},P={arrayObjectToCsv:qx,arrayToCsv:jt,checkmarkMaterial:Zx,complex:qs,complexObject:qs,collection:Qx,collectionEditor:Yx,currency:i6,dateIso:qu(C.dateIso,"-"),dateTimeIso:qu(C.dateTimeIso,"-"),dateTimeShortIso:qu(C.dateTimeShortIso,"-"),dateTimeIsoAmPm:qu(C.dateTimeIsoAmPm,"-"),dateTimeIsoAM_PM:qu(C.dateTimeIsoAM_PM,"-"),dateEuro:qu(C.dateEuro,"/"),dateEuroShort:qu(C.dateEuroShort,"/"),dateTimeEuro:qu(C.dateTimeEuro,"/"),dateTimeEuroShort:qu(C.dateTimeEuroShort,"/"),dateTimeShortEuro:qu(C.dateTimeShortEuro,"/"),dateTimeEuroAmPm:qu(C.dateTimeEuroAmPm,"/"),dateTimeEuroAM_PM:qu(C.dateTimeEuroAM_PM,"/"),dateTimeEuroShortAmPm:qu(C.dateTimeEuroShortAmPm,"/"),dateTimeEuroShortAM_PM:qu(C.dateTimeEuroShortAM_PM,"/"),dateUs:qu(C.dateUs,"/"),dateTimeUs:qu(C.dateTimeUs,"/"),dateTimeShortUs:qu(C.dateTimeShortUs,"/"),dateTimeUsAmPm:qu(C.dateTimeUsAmPm,"/"),dateTimeUsAM_PM:qu(C.dateTimeUsAM_PM,"/"),dateTimeUsShort:qu(C.dateTimeUsShort,"/"),dateTimeUsShortAmPm:qu(C.dateTimeUsShortAmPm,"/"),dateTimeUsShortAM_PM:qu(C.dateTimeUsShortAM_PM,"/"),dateUsShort:qu(C.dateUsShort,"/"),dateUtc:qu(C.dateUtc,"-"),decimal:Xx,dollar:u6,dollarColored:e6,dollarColoredBold:a6,hyperlink:t6,icon:r6,iconBoolean:n6,mask:o6,multiple:Dt,percent:s6,percentComplete:d6,percentCompleteBar:l6,percentCompleteBarWithText:E6,percentSymbol:c6,progressBar:D6,translate:m6,translateBoolean:C6,tree:x6,treeParseTotals:g6,treeExport:h6},p6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){const m=$u(i,s,l,c,"","",E,d);return`${r}${m}${o}`}return""},F6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"currency","group");if(lu(i)){const m=$u(i,s,l,c,"$","",E,d);return`${r}${m}${o}`}return""},k6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"currency","group");if(lu(i)){const m=i>=0?"green":"red",h=$u(i,s,l,c,"$","",E,d);return A("span",{style:{color:m},textContent:`${r}${h}${o}`})}return""},v6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"currency","group");if(lu(i)){const m=i>=0?"green":"red",h=$u(i,s,l,c,"$","",E,d);return A("span",{style:{color:m,fontWeight:"bold"},textContent:`${r}${h}${o}`})}return""},A6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"currency","group");if(lu(i)){const m=$u(i,s,l,c,"$","",E,d);return A("span",{style:{fontWeight:"bold"},textContent:`${r}${m}${o}`})}return""},b6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){const m=i>=0?"green":"red",h=$u(i,s,l,c,"","",E,d);return A("span",{style:{color:m},textContent:`${r}${h}${o}`})}return""},f6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.sum)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){const m=$u(i,s,l,c,"","",E,d);return A("span",{style:{fontWeight:"bold"},textContent:`${r}${m}${o}`})}return""},B6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.min)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){const m=$u(i,s,l,c,"","",E,d);return`${r}${m}${o}`}return""},y6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.max)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){const m=$u(i,s,l,c,"","",E,d);return`${r}${m}${o}`}return""},z6=(n,u,e)=>{var D;const a=u.field??"";let i=(D=n.avg)==null?void 0:D[a];const t=u==null?void 0:u.params;let r=(t==null?void 0:t.groupFormatterPrefix)||"";const o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"percent","group");if(lu(i)){if(i<0)if(i=Math.abs(i),!c)r+="-";else{if(isNaN(s)&&isNaN(l)){const m=ve(Math.round(i),d);return`${r}(${m}%)${o}`}return`${r}(${te(i,s,l,E,d)}%)${o}`}if(isNaN(s)&&isNaN(l)){const m=ve(Math.round(i),d);return`${r}${m}%${o}`}return`${r}${te(i,s,l,E,d)}%${o}`}return""},S6=(n,u,e)=>{var D;const a=u.field??"",i=(D=n.avg)==null?void 0:D[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"currency","group");if(lu(i)){const m=$u(i,s,l,c,"$","",E,d);return`${r}${m}${o}`}return""},w6=(n,u,e)=>{var h;const a=u.field??"",i=(h=n.avg)==null?void 0:h[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",s=(t==null?void 0:t.groupFormatterCurrencyPrefix)||"",l=(t==null?void 0:t.groupFormatterCurrencySuffix)||"",{minDecimal:E,maxDecimal:d,decimalSeparator:c,thousandSeparator:D,wrapNegativeNumber:m}=Xu(u,e,"currency","group");if(lu(i)){const g=$u(i,E,d,m,s,l,c,D);return`${r}${g}${o}`}return""},M6=(n,u,e)=>{var D;const a=u.field??"";let i=(D=n.avg)==null?void 0:D[a];const t=u==null?void 0:u.params;let r=(t==null?void 0:t.groupFormatterPrefix)||"";const o=(t==null?void 0:t.groupFormatterSuffix)||"",{minDecimal:s,maxDecimal:l,decimalSeparator:E,thousandSeparator:d,wrapNegativeNumber:c}=Xu(u,e,"regular","group");if(lu(i)){if(i<0)if(i=Math.abs(i),!c)r+="-";else{if(isNaN(s)&&isNaN(l)){const m=ve(Math.round(i),d);return`${r}(${m})${o}`}return`${r}(${te(i,s,l,E,d)})${o}`}if(isNaN(s)&&isNaN(l)){const m=ve(Math.round(i),d);return`${r}${m}${o}`}return`${r}${te(i,s,l,E,d)}${o}`}return""},T6=(n,u,e)=>{var h;const a=u.field??"",i=(h=n.sum)==null?void 0:h[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",s=(t==null?void 0:t.groupFormatterCurrencyPrefix)||"",l=(t==null?void 0:t.groupFormatterCurrencySuffix)||"",{minDecimal:E,maxDecimal:d,decimalSeparator:c,thousandSeparator:D,wrapNegativeNumber:m}=Xu(u,e,"currency","group");if(lu(i)){const g=$u(i,E,d,m,s,l,c,D);return`${r}${g}${o}`}return""},P6=(n,u,e)=>{var h;const a=u.field??"",i=(h=n.sum)==null?void 0:h[a],t=u==null?void 0:u.params,r=(t==null?void 0:t.groupFormatterPrefix)||"",o=(t==null?void 0:t.groupFormatterSuffix)||"",s=(t==null?void 0:t.groupFormatterCurrencyPrefix)||"",l=(t==null?void 0:t.groupFormatterCurrencySuffix)||"",{minDecimal:E,maxDecimal:d,decimalSeparator:c,thousandSeparator:D,wrapNegativeNumber:m}=Xu(u,e,"currency","group");if(lu(i)){const g=i>=0?"green":"red",x=$u(i,E,d,m,s,l,c,D);return A("span",{style:{color:g},textContent:`${r}${x}${o}`})}return""},su={avgTotals:M6,avgTotalsCurrency:w6,avgTotalsDollar:S6,avgTotalsPercentage:z6,maxTotals:y6,minTotals:B6,sumTotals:p6,sumTotalsBold:f6,sumTotalsColored:b6,sumTotalsCurrency:T6,sumTotalsCurrencyColored:P6,sumTotalsDollar:F6,sumTotalsDollarBold:A6,sumTotalsDollarColored:k6,sumTotalsDollarColoredBold:v6};class _6{constructor(){this.options=eo}}const tn={...P5,..._5,...R5,...mD,...$5,deepAssign:da};class ao{constructor(){this._isPreviouslyShown=!1,this._warningLeftElement=null,this._warningRightElement=null}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}init(u,e){this._grid=u,this._translaterService=e.get("TranslaterService")}dispose(){var u,e;(u=this._warningLeftElement)==null||u.remove(),(e=this._warningRightElement)==null||e.remove(),this._warningLeftElement=null,this._warningRightElement=null}showEmptyDataMessage(u=!0,e){var x,p,F,v;if(!this._grid||!this.gridOptions||this._isPreviouslyShown===u)return!1;this._isPreviouslyShown=u;const a=this._grid.getUID(),t={message:"No data to display.",...this.gridOptions.emptyDataWarning,...e},r=(t==null?void 0:t.className)??"slick-empty-data-warning";this._warningLeftElement=document.querySelector(`.${a} .${r}`);const o=document.querySelector(`.${a} .grid-canvas.grid-canvas-left`),s=document.querySelector(`.${a} .grid-canvas.grid-canvas-right`),l=t.leftViewportMarginLeft??0,E=t.rightViewportMarginLeft??0,d=t.frozenLeftViewportMarginLeft??0,c=t.frozenRightViewportMarginLeft??0,D=((x=this.gridOptions)==null?void 0:x.frozenColumn)!==void 0&&this.gridOptions.frozenColumn>=0,m=typeof l=="string"?l:`${l}px`,h=typeof E=="string"?E:`${E}px`;if(this.gridOptions.autoHeight){const b=document.querySelector(`.${a} .slick-pane.slick-pane-top.slick-pane-left`);if(b&&b.style&&o&&o.style){const B=parseInt(b.style.height,10)||0,S=((p=this.gridOptions)==null?void 0:p.rowHeight)??0,y=this.gridOptions.enableFiltering?((F=this.gridOptions)==null?void 0:F.headerRowHeight)??0:0,w=this.gridOptions.createPreHeaderPanel?((v=this.gridOptions)==null?void 0:v.preHeaderPanelHeight)??0:0;if(u){let M=B!==null&&B<100?B:100;M+=y+w,b.style.minHeight=`${M}px`,o.style.minHeight=`${S}px`}}}let g=t.message;if(this.gridOptions.enableTranslate&&this._translaterService&&(t!=null&&t.messageKey)&&(g=this._translaterService.translate(t.messageKey)),!this._warningLeftElement&&o&&s&&(this._warningLeftElement=document.createElement("div"),this._warningLeftElement.classList.add(..._u(r)),this._warningLeftElement.classList.add("left"),this._grid.applyHtmlCode(this._warningLeftElement,g),this._warningRightElement=this._warningLeftElement.cloneNode(!0),this._warningRightElement.classList.add("right"),s.appendChild(this._warningRightElement),o.appendChild(this._warningLeftElement)),this._warningLeftElement){let b=u?"flex":"none";D&&u&&(b=t.hideFrozenLeftWarning?"none":"flex"),this._warningLeftElement.style.display=b;const B=typeof d=="string"?d:`${d}px`;this._warningLeftElement.style.marginLeft=D?B:m}if(this._warningRightElement){let b=u?"flex":"none";D&&u&&(b=t.hideFrozenRightWarning?"none":"flex"),this._warningRightElement.style.display=b;const B=typeof c=="string"?c:`${c}px`;this._warningRightElement.style.marginLeft=D?B:h}return u}}class m4{constructor(u,e,a,i){var t,r,o;if(this.paginationService=u,this.pubSubService=e,this.sharedService=a,this.translaterService=i,this._enableTranslate=!1,this._subscriptions=[],this.firstButtonClasses="",this.lastButtonClasses="",this.prevButtonClasses="",this.nextButtonClasses="",this.textItemsPerPage="items per page",this.textItems="items",this.textOf="of",this.textPage="Page",this._bindingHelper=new Ll,this._bindingEventService=new pu,this._bindingHelper.querySelectorPrefix=`.${this.gridUid} `,this.currentPagination=this.paginationService.getFullPagination(),this._enableTranslate=((t=this.gridOptions)==null?void 0:t.enableTranslate)??!1,this._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.');if(this.translatePaginationTexts(),this._enableTranslate&&((r=this.pubSubService)!=null&&r.subscribe)){const s=((o=this.translaterService)==null?void 0:o.eventName)??"onLanguageChange";this._subscriptions.push(this.pubSubService.subscribe(s,()=>this.translatePaginationTexts()))}this._subscriptions.push(this.pubSubService.subscribe("onPaginationRefreshed",s=>{var l;for(const E of Object.keys(s))this.currentPagination[E]=s[E];this.updatePageButtonsUsability(),(l=this._spanInfoFromToElm)!=null&&l.style&&(this._spanInfoFromToElm.style.display=this.currentPagination.totalItems===0?"none":"")}),this.pubSubService.subscribe("onPaginationSetCursorBased",()=>{this.dispose(),this.renderPagination(this._gridParentContainerElm)}))}get availablePageSizes(){return this.paginationService.availablePageSizes||[]}get dataFrom(){return this.paginationService.dataFrom}get dataTo(){return this.paginationService.dataTo}get itemsPerPage(){return this.paginationService.itemsPerPage}set itemsPerPage(u){this.paginationService.changeItemPerPage(u)}get pageCount(){return this.paginationService.pageCount}get pageNumber(){return this.paginationService.pageNumber}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions}get gridUid(){var u;return((u=this.grid)==null?void 0:u.getUID())??""}get locales(){var u;return((u=this.gridOptions)==null?void 0:u.locales)??_.locales}get totalItems(){return this.paginationService.totalItems}get isLeftPaginationDisabled(){return this.pageNumber===1||this.totalItems===0}get isRightPaginationDisabled(){return this.pageNumber===this.pageCount||this.totalItems===0}dispose(){this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),this._bindingHelper.dispose(),this._paginationElement.remove()}renderPagination(u){this._gridParentContainerElm=u;const e=this.createPaginationContainer(),a=A("div",{className:"slick-pagination-nav"}),i=A("nav",{ariaLabel:"Page navigation"}),t=A("ul",{className:"pagination"});this._seekFirstElm=A("li",{className:"page-item seek-first"},t),this._seekFirstElm.appendChild(A("a",{className:"page-link icon-seek-first",ariaLabel:"First Page",role:"button"})),this._seekPrevElm=A("li",{className:"page-item seek-prev"},t),this._seekPrevElm.appendChild(A("a",{className:"page-link icon-seek-prev",ariaLabel:"Previous Page",role:"button"})),i.appendChild(t);const r=this.createPageNumberSection(),o=A("nav",{ariaLabel:"Page navigation"}),s=A("ul",{className:"pagination"});this._seekNextElm=A("li",{className:"page-item seek-next"},s),this._seekNextElm.appendChild(A("a",{className:"page-link icon-seek-next",ariaLabel:"Next Page",role:"button"})),this._seekEndElm=A("li",{className:"page-item seek-end"},s),this._seekEndElm.appendChild(A("a",{className:"page-link icon-seek-end",ariaLabel:"Last Page",role:"button"})),o.appendChild(s),e.appendChild(a),a.appendChild(i),a.appendChild(r),a.appendChild(o);const l=this.createPaginationSettingsSection();e.appendChild(a),e.appendChild(l),this._paginationElement.appendChild(e),u!=null&&u.appendChild&&this._paginationElement&&u.appendChild(this._paginationElement),this.renderPageSizes(),this.addBindings(),this.addEventListeners(),this.updatePageButtonsUsability()}renderPageSizes(){if(this._itemPerPageElm&&Array.isArray(this.availablePageSizes))for(const u of this.availablePageSizes)this._itemPerPageElm.appendChild(A("option",{value:`${u}`,text:`${u}`}))}addBindings(){this._bindingHelper.addElementBinding(this,"firstButtonClasses","li.page-item.seek-first","className"),this._bindingHelper.addElementBinding(this,"prevButtonClasses","li.page-item.seek-prev","className"),this._bindingHelper.addElementBinding(this,"lastButtonClasses","li.page-item.seek-end","className"),this._bindingHelper.addElementBinding(this,"nextButtonClasses","li.page-item.seek-next","className"),this._bindingHelper.addElementBinding(this.currentPagination,"dataFrom","span.item-from","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"dataTo","span.item-to","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"totalItems","span.total-items","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageCount","span.page-count","textContent"),this._bindingHelper.addElementBinding(this.currentPagination,"pageSize","select.items-per-page","value"),this.paginationService.isCursorBased?this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","span.page-number","textContent"):this._bindingHelper.addElementBinding(this.currentPagination,"pageNumber","input.page-number","value","change",this.changeToCurrentPage.bind(this)),this._bindingHelper.addElementBinding(this,"textItems","span.text-items","textContent"),this._bindingHelper.addElementBinding(this,"textItemsPerPage","span.text-item-per-page","textContent"),this._bindingHelper.addElementBinding(this,"textOf","span.text-of","textContent"),this._bindingHelper.addElementBinding(this,"textPage","span.text-page","textContent")}addEventListeners(){this._bindingEventService.bind(this._seekFirstElm,"click",this.changeToFirstPage.bind(this)),this._bindingEventService.bind(this._seekEndElm,"click",this.changeToLastPage.bind(this)),this._bindingEventService.bind(this._seekNextElm,"click",this.changeToNextPage.bind(this)),this._bindingEventService.bind(this._seekPrevElm,"click",this.changeToPreviousPage.bind(this)),this._bindingEventService.bind(this._itemPerPageElm,"change",this.updateItemsPerPage.bind(this))}changeToFirstPage(u){this.isLeftPaginationDisabled||this.paginationService.goToFirstPage(u)}changeToLastPage(u){this.isRightPaginationDisabled||this.paginationService.goToLastPage(u)}changeToNextPage(u){this.isRightPaginationDisabled||this.paginationService.goToNextPage(u)}changeToPreviousPage(u){this.isLeftPaginationDisabled||this.paginationService.goToPreviousPage(u)}changeToCurrentPage(u){this.paginationService.goToPageNumber(+u)}updateItemsPerPage(u){var e;this.itemsPerPage=+(((e=u==null?void 0:u.target)==null?void 0:e.value)??0)}translatePaginationTexts(){var u;if(this._enableTranslate&&((u=this.translaterService)!=null&&u.translate)){const e=Q0(this.gridOptions);this.textItemsPerPage=this.translaterService.translate(`${e}ITEMS_PER_PAGE`),this.textItems=this.translaterService.translate(`${e}ITEMS`),this.textOf=this.translaterService.translate(`${e}OF`),this.textPage=this.translaterService.translate(`${e}PAGE`)}else this.locales&&(this.textItemsPerPage=this.locales.TEXT_ITEMS_PER_PAGE||"TEXT_ITEMS_PER_PAGE",this.textItems=this.locales.TEXT_ITEMS||"TEXT_ITEMS",this.textOf=this.locales.TEXT_OF||"TEXT_OF",this.textPage=this.locales.TEXT_PAGE||"TEXT_PAGE")}createPaginationContainer(){const u=A("div",{id:"pager",className:`slick-pagination-container ${this.gridUid} pager`,style:{width:"100%"}}),e=A("div",{className:"slick-pagination"});return u.appendChild(e),this._paginationElement=u,e}createPageNumberSection(){const u=A("div",{className:"slick-page-number"});return A("span",{className:"text-page",textContent:"Page"},u),u.appendChild(document.createTextNode(" ")),this.paginationService.isCursorBased?A("span",{className:"page-number",ariaLabel:"Page Number",dataset:{test:"page-number-label"},textContent:"1"},u):A("input",{type:"text",className:"form-control page-number",ariaLabel:"Page Number",value:"1",size:1,dataset:{test:"page-number-input"}},u),u.appendChild(document.createTextNode(" ")),A("span",{className:"text-of",textContent:"of"},u),u.appendChild(document.createTextNode(" ")),A("span",{className:"page-count",dataset:{test:"page-count"}},u),u}createPaginationSettingsSection(){const u=A("span",{className:"slick-pagination-settings"});this._itemPerPageElm=A("select",{id:"items-per-page-label",ariaLabel:"Items per Page",className:"items-per-page"},u),u.appendChild(document.createTextNode(" ")),A("span",{className:"text-item-per-page",textContent:"items per page"},u),u.appendChild(document.createTextNode(", "));const e=A("span",{className:"slick-pagination-count"},u);this._spanInfoFromToElm=A("span",{className:"page-info-from-to"},e),A("span",{className:"item-from",ariaLabel:"Page Item From",dataset:{test:"item-from"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode("-")),A("span",{className:"item-to",ariaLabel:"Page Item To",dataset:{test:"item-to"}},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" ")),A("span",{className:"text-of",textContent:"of"},this._spanInfoFromToElm),this._spanInfoFromToElm.appendChild(document.createTextNode(" "));const a=A("span",{className:"page-info-total-items"},e);return A("span",{className:"total-items",ariaLabel:"Total Items",dataset:{test:"total-items"}},a),a.appendChild(document.createTextNode(" ")),A("span",{className:"text-items",textContent:"items"},a),a.appendChild(document.createTextNode(" ")),u}updatePageButtonsUsability(){this.firstButtonClasses=this.isLeftPaginationDisabled?"page-item seek-first disabled":"page-item seek-first",this.prevButtonClasses=this.isLeftPaginationDisabled?"page-item seek-prev disabled":"page-item seek-prev",this.lastButtonClasses=this.isRightPaginationDisabled?"page-item seek-end disabled":"page-item seek-end",this.nextButtonClasses=this.isRightPaginationDisabled?"page-item seek-next disabled":"page-item seek-next"}}class j6{get eventHandler(){return this._eventHandler}get gridUid(){var u;return((u=this.grid)==null?void 0:u.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get gridOptions(){var u;return((u=this.grid)==null?void 0:u.getOptions())??{}}get locales(){var u;return((u=this.gridOptions)==null?void 0:u.locales)??_.locales}set metrics(u){this.renderMetrics(u)}get leftFooterText(){var u;return((u=document.querySelector(`.slick-custom-footer${this.gridUidSelector} .left-footer`))==null?void 0:u.textContent)??""}set leftFooterText(u){this.renderLeftFooterText(u)}get rightFooterText(){var u;return((u=document.querySelector(`.slick-custom-footer${this.gridUidSelector} .right-footer`))==null?void 0:u.textContent)??""}set rightFooterText(u){this.renderRightFooterText(u)}constructor(u,e,a,i){var t,r,o,s,l;if(this.grid=u,this.customFooterOptions=e,this.pubSubService=a,this.translaterService=i,this._enableTranslate=!1,this._isLeftFooterOriginallyEmpty=!0,this._isLeftFooterDisplayingSelectionRowCount=!1,this._isRightFooterOriginallyEmpty=!0,this._selectedRowCount=0,this._subscriptions=[],this._bindingHelper=new Ll,this._bindingHelper.querySelectorPrefix=`.${this.gridUid} `,this._eventHandler=new Su,this._enableTranslate=((t=this.gridOptions)==null?void 0:t.enableTranslate)??!1,this._isLeftFooterOriginallyEmpty=!((r=this.gridOptions.customFooterOptions)!=null&&r.leftFooterText),this._isRightFooterOriginallyEmpty=!((o=this.gridOptions.customFooterOptions)!=null&&o.rightFooterText),this.registerOnSelectedRowsChangedWhenEnabled(e),this._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.');if(this.translateCustomFooterTexts(),this._enableTranslate&&((s=this.pubSubService)!=null&&s.subscribe)){const E=((l=this.translaterService)==null?void 0:l.eventName)??"onLanguageChange";this._subscriptions.push(this.pubSubService.subscribe(E,()=>this.translateCustomFooterTexts()))}}dispose(){var u;this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingHelper.dispose(),(u=this._footerElement)==null||u.remove()}renderFooter(u){this.translateCustomFooterTexts(),this.createFooterContainer(u)}renderMetrics(u){var a;const e=u!=null&&u.endTime?Yu(u.endTime,this.customFooterOptions.dateFormat,"en-US"):"";this._bindingHelper.setElementAttributeValue("span.last-update-timestamp","textContent",e),this._bindingHelper.setElementAttributeValue("span.item-count","textContent",u.itemCount),this._bindingHelper.setElementAttributeValue("span.total-count","textContent",u.totalItemCount),(a=this.customFooterOptions.metricTexts)!=null&&a.lastUpdate&&this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"lastUpdate","span.text-last-update","textContent"),this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"items","span.text-items","textContent"),this._bindingHelper.addElementBinding(this.customFooterOptions.metricTexts,"of","span.text-of","textContent")}renderLeftFooterText(u){this._bindingHelper.setElementAttributeValue("div.left-footer","textContent",u)}renderRightFooterText(u){this._bindingHelper.setElementAttributeValue("div.right-footer","textContent",u)}translateCustomFooterTexts(){var u,e,a,i,t;if(this.gridOptions.enableTranslate&&((u=this.translaterService)!=null&&u.translate)){this.customFooterOptions.metricTexts=this.customFooterOptions.metricTexts||{};for(const r of Object.keys(this.customFooterOptions.metricTexts))if(r.lastIndexOf("Key")>0){const o=r.substring(0,r.lastIndexOf("Key"));this.customFooterOptions.metricTexts[o]=this.translaterService.translate(this.customFooterOptions.metricTexts[r]||" ")}this._isLeftFooterDisplayingSelectionRowCount&&(this.leftFooterText=`${this._selectedRowCount} ${this.customFooterOptions.metricTexts.itemsSelected}`)}else this.locales&&(this.customFooterOptions.metricTexts=this.customFooterOptions.metricTexts||{},this.customFooterOptions.metricTexts.lastUpdate=this.customFooterOptions.metricTexts.lastUpdate||((e=this.locales)==null?void 0:e.TEXT_LAST_UPDATE)||"TEXT_LAST_UPDATE",this.customFooterOptions.metricTexts.items=this.customFooterOptions.metricTexts.items||((a=this.locales)==null?void 0:a.TEXT_ITEMS)||"TEXT_ITEMS",this.customFooterOptions.metricTexts.itemsSelected=this.customFooterOptions.metricTexts.itemsSelected||((i=this.locales)==null?void 0:i.TEXT_ITEMS_SELECTED)||"TEXT_ITEMS_SELECTED",this.customFooterOptions.metricTexts.of=this.customFooterOptions.metricTexts.of||((t=this.locales)==null?void 0:t.TEXT_OF)||"TEXT_OF")}createFooterContainer(u){const e=A("div",{className:`slick-custom-footer ${this.gridUid}`,style:{width:"100%",height:`${this.customFooterOptions.footerHeight||20}px`}}),a=A("div",{className:`left-footer ${this.customFooterOptions.leftContainerClass}`});this.grid.applyHtmlCode(a,this.customFooterOptions.leftFooterText),e.appendChild(a),e.appendChild(this.createFooterRightContainer()),this._footerElement=e,u!=null&&u.appendChild&&this._footerElement&&u.appendChild(this._footerElement)}createFooterRightContainer(){var e,a,i,t;const u=A("div",{className:`right-footer ${this.customFooterOptions.rightContainerClass||""}`});if(!this._isRightFooterOriginallyEmpty)this.grid.applyHtmlCode(u,this.customFooterOptions.rightFooterText);else if(!this.customFooterOptions.hideMetrics){u.classList.add("metrics");const r=A("span",{className:"timestamp"},u);if(!this.customFooterOptions.hideLastUpdateTimestamp){const o=this.createFooterLastUpdate();o&&r.appendChild(o)}u.appendChild(A("span",{className:"item-count",textContent:`${((e=this.metrics)==null?void 0:e.itemCount)??"0"}`})),this.customFooterOptions.hideTotalItemCount||(u.appendChild(document.createTextNode(`\r `)),u.appendChild(A("span",{className:"text-of",textContent:` ${((a=this.customFooterOptions.metricTexts)==null?void 0:a.of)??"of"} `})),u.appendChild(document.createTextNode(`\r @@ -1980,7 +1980,7 @@ due to use of copyActiveEditorCell

`;class lg{constructor(){k(this,"_darkMode",!1)}attached(){const u=document.querySelector(".icons-container"),e=document.querySelector(".icon-counter"),a=this.getIcons();e.textContent=`(${a.length} icons)`,a.forEach(i=>{const t=document.createElement("div");t.className="slick-col-medium-2 icon-box",t.style.marginBottom="5px";const r=document.createElement("span");r.className=i.replace(/\./gi," "),i.includes("mdi-change-record-type")?r.classList.add("mdi-20px"):r.classList.add("mdi-24px"),r.title=i.replace(".mdi.",""),r.style.marginRight="5px",t.appendChild(r);const o=document.createElement("span");o.textContent=i.replace(".mdi.",""),t.appendChild(o),u.appendChild(t)})}dispose(){var u;(u=document.querySelector(".demo-container"))==null||u.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}toggleDarkMode(){var u,e;this._darkMode=!this._darkMode,this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"))}getIcons(){return[".mdi.mdi-account",".mdi.mdi-account-box",".mdi.mdi-account-box-outline",".mdi.mdi-account-circle",".mdi.mdi-account-edit",".mdi.mdi-account-minus",".mdi.mdi-account-off",".mdi.mdi-account-plus",".mdi.mdi-account-search",".mdi.mdi-alarm",".mdi.mdi-alarm-check",".mdi.mdi-alarm-off",".mdi.mdi-alert",".mdi.mdi-alert-box",".mdi.mdi-alert-box-outline",".mdi.mdi-alert-circle",".mdi.mdi-alert-octagon",".mdi.mdi-alert-outline",".mdi.mdi-alert-rhombus",".mdi.mdi-alert-rhombus-outline",".mdi.mdi-arrow-collapse",".mdi.mdi-arrow-down",".mdi.mdi-arrow-down-bold",".mdi.mdi-arrow-down-bold-box",".mdi.mdi-arrow-down-bold-box-outline",".mdi.mdi-arrow-down-bold-outline",".mdi.mdi-arrow-expand",".mdi.mdi-arrow-expand-horizontal",".mdi.mdi-arrow-split-vertical",".mdi.mdi-book-open-blank-variant-outline",".mdi.mdi-brightness-4",".mdi.mdi-calendar",".mdi.mdi-calendar-check",".mdi.mdi-calendar-clock",".mdi.mdi-calendar-edit",".mdi.mdi-calendar-remove",".mdi.mdi-calendar-search",".mdi.mdi-call-split",".mdi.mdi-cancel",".mdi.mdi-cash-check",".mdi.mdi-cash-remove",".mdi.mdi-certificate",".mdi.mdi-certificate-outline",".mdi.mdi-change-record-type",".mdi.mdi-check",".mdi.mdi-check-all",".mdi.mdi-check-bold",".mdi.mdi-checkbox-blank-outline",".mdi.mdi-checkbox-marked-circle-outline",".mdi.mdi-check-box-outline",".mdi.mdi-checkbox-marked",".mdi.mdi-check-circle",".mdi.mdi-check-circle-outline",".mdi.mdi-check-outline",".mdi.mdi-check-underline",".mdi.mdi-chevron-down",".mdi.mdi-chevron-down-box",".mdi.mdi-chevron-down-box-outline",".mdi.mdi-chevron-down-circle",".mdi.mdi-chevron-down-circle-outline",".mdi.mdi-clipboard-check",".mdi.mdi-clipboard-check-outline",".mdi.mdi-clipboard-edit",".mdi.mdi-clipboard-edit-outline",".mdi.mdi-clipboard-multiple",".mdi.mdi-clipboard-multiple-outline",".mdi.mdi-clipboard-outline",".mdi.mdi-close",".mdi.mdi-close-circle",".mdi.mdi-close-circle-outline",".mdi.mdi-close-thick",".mdi.mdi-coffee",".mdi.mdi-coffee-outline",".mdi.mdi-cog",".mdi.mdi-cog-outline",".mdi.mdi-content-copy",".mdi.mdi-currency-usd",".mdi.mdi-currency-usd-off",".mdi.mdi-database-refresh",".mdi.mdi-delete",".mdi.mdi-delete-outline",".mdi.mdi-dots-grid",".mdi.mdi-dots-vertical",".mdi.mdi-download",".mdi.mdi-drag",".mdi.mdi-drag-vertical",".mdi.mdi-eye-off-outline",".mdi.mdi-eye-outline",".mdi.mdi-file",".mdi.mdi-file-alert",".mdi.mdi-file-alert-outline",".mdi.mdi-file-cad",".mdi.mdi-file-check",".mdi.mdi-file-check-outline",".mdi.mdi-file-document-outline",".mdi.mdi-file-excel-outline",".mdi.mdi-file-move",".mdi.mdi-file-move-outline",".mdi.mdi-file-multiple",".mdi.mdi-file-multiple-outline",".mdi.mdi-file-music-outline",".mdi.mdi-file-outline",".mdi.mdi-file-pdf-outline",".mdi.mdi-file-question",".mdi.mdi-file-question-outline",".mdi.mdi-file-search-outline",".mdi.mdi-file-send",".mdi.mdi-file-send-outline",".mdi.mdi-file-tree",".mdi.mdi-file-tree-outline",".mdi.mdi-file-upload",".mdi.mdi-file-upload-outline",".mdi.mdi-filter",".mdi.mdi-filter-minus-outline",".mdi.mdi-filter-off-outline",".mdi.mdi-filter-outline",".mdi.mdi-filter-plus-outline",".mdi.mdi-filter-remove-outline",".mdi.mdi-fire",".mdi.mdi-flip-vertical",".mdi.mdi-folder",".mdi.mdi-folder-open",".mdi.mdi-forum",".mdi.mdi-forum-outline",".mdi.mdi-github",".mdi.mdi-help",".mdi.mdi-help-circle",".mdi.mdi-help-circle-outline",".mdi.mdi-history",".mdi.mdi-information",".mdi.mdi-information-outline",".mdi.mdi-lightbulb",".mdi.mdi-lightbulb-off",".mdi.mdi-lightbulb-off-outline",".mdi.mdi-lightbulb-on",".mdi.mdi-lightbulb-on-outline",".mdi.mdi-lightbulb-outline",".mdi.mdi-link",".mdi.mdi-link-variant",".mdi.mdi-load",".mdi.mdi-magnify",".mdi.mdi-map-marker-radius",".mdi.mdi-map-marker-radius-outline",".mdi.mdi-menu",".mdi.mdi-message-text",".mdi.mdi-message-text-outline",".mdi.mdi-microsoft-excel",".mdi.mdi-minus",".mdi.mdi-minus-circle",".mdi.mdi-minus-circle-outline",".mdi.mdi-order-bool-ascending-variant",".mdi.mdi-page-first",".mdi.mdi-page-last",".mdi.mdi-paperclip",".mdi.mdi-pencil",".mdi.mdi-pencil-outline",".mdi.mdi-pencil-box-multiple",".mdi.mdi-pencil-box-multiple-outline",".mdi.mdi-percent",".mdi.mdi-percent-outline",".mdi.mdi-pin-off-outline",".mdi.mdi-pin-outline",".mdi.mdi-play-circle-outline",".mdi.mdi-playlist-plus",".mdi.mdi-playlist-remove",".mdi.mdi-plus",".mdi.mdi-plus-circle",".mdi.mdi-plus-circle-outline",".mdi.mdi-progress-download",".mdi.mdi-redo",".mdi.mdi-refresh",".mdi.mdi-shape-square-plus",".mdi.mdi-snowflake",".mdi.mdi-sort-ascending",".mdi.mdi-sort-descending",".mdi.mdi-sort-variant-off",".mdi.mdi-sort-variant-remove",".mdi.mdi-square-edit-outline",".mdi.mdi-star",".mdi.mdi-star-outline",".mdi.mdi-stop-circle-outline",".mdi.mdi-subdirectory-arrow-right",".mdi.mdi-swap-horizontal",".mdi.mdi-swap-vertical",".mdi.mdi-sync",".mdi.mdi-sync-circle",".mdi.mdi-table-edit",".mdi.mdi-table-refresh",".mdi.mdi-text-box-remove",".mdi.mdi-text-box-remove-outline",".mdi.mdi-text-box-search-outline",".mdi.mdi-theme-light-dark",".mdi.mdi-toggle-switch",".mdi.mdi-toggle-switch-off-outline",".mdi.mdi-trash-can",".mdi.mdi-trash-can-outline",".mdi.mdi-truck",".mdi.mdi-truck-delivery-outline",".mdi.mdi-tune",".mdi.mdi-tune-variant",".mdi.mdi-undo",".mdi.mdi-upload",".mdi.mdi-vanish",".mdi.mdi-wrench",".mdi.mdi-wrench-outline"]}}/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:g4,setPrototypeOf:Zs,isFrozen:Eg,getPrototypeOf:dg,getOwnPropertyDescriptor:cg}=Object;let{freeze:P0,seal:Y0,create:C4}=Object,{apply:Dr,construct:mr}=typeof Reflect<"u"&&Reflect;P0||(P0=function(u){return u});Y0||(Y0=function(u){return u});Dr||(Dr=function(u,e,a){return u.apply(e,a)});mr||(mr=function(u,e){return new u(...e)});const qi=J0(Array.prototype.forEach),Ys=J0(Array.prototype.pop),ei=J0(Array.prototype.push),ht=J0(String.prototype.toLowerCase),Kn=J0(String.prototype.toString),Qs=J0(String.prototype.match),ai=J0(String.prototype.replace),Dg=J0(String.prototype.indexOf),mg=J0(String.prototype.trim),ee=J0(Object.prototype.hasOwnProperty),S0=J0(RegExp.prototype.test),ii=hg(TypeError);function J0(n){return function(u){for(var e=arguments.length,a=new Array(e>1?e-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:ht;Zs&&Zs(n,null);let a=u.length;for(;a--;){let i=u[a];if(typeof i=="string"){const t=e(i);t!==i&&(Eg(u)||(u[a]=t),i=t)}n[i]=!0}return n}function xg(n){for(let u=0;u/gm),kg=Y0(/\${[\w\W]*}/gm),vg=Y0(/^data-[\-\w.\u00B7-\uFFFF]/),Ag=Y0(/^aria-[\-\w]+$/),p4=Y0(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),bg=Y0(/^(?:\w+script|data):/i),fg=Y0(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),F4=Y0(/^html$/i),Bg=Y0(/^[a-z][.\w]*(-[.\w]+)+$/i);var il=Object.freeze({__proto__:null,MUSTACHE_EXPR:pg,ERB_EXPR:Fg,TMPLIT_EXPR:kg,DATA_ATTR:vg,ARIA_ATTR:Ag,IS_ALLOWED_URI:p4,IS_SCRIPT_OR_DATA:bg,ATTR_WHITESPACE:fg,DOCTYPE_NAME:F4,CUSTOM_ELEMENT:Bg});const ni={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},yg=function(){return typeof window>"u"?null:window},zg=function(u,e){if(typeof u!="object"||typeof u.createPolicy!="function")return null;let a=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(a=e.getAttribute(i));const t="dompurify"+(a?"#"+a:"");try{return u.createPolicy(t,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+t+" could not be created."),null}};function k4(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:yg();const u=uu=>k4(uu);if(u.version="3.1.6",u.removed=[],!n||!n.document||n.document.nodeType!==ni.document)return u.isSupported=!1,u;let{document:e}=n;const a=e,i=a.currentScript,{DocumentFragment:t,HTMLTemplateElement:r,Node:o,Element:s,NodeFilter:l,NamedNodeMap:E=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:d,DOMParser:c,trustedTypes:D}=n,m=s.prototype,h=ti(m,"cloneNode"),g=ti(m,"remove"),x=ti(m,"nextSibling"),p=ti(m,"childNodes"),F=ti(m,"parentNode");if(typeof r=="function"){const uu=e.createElement("template");uu.content&&uu.content.ownerDocument&&(e=uu.content.ownerDocument)}let v,b="";const{implementation:B,createNodeIterator:S,createDocumentFragment:y,getElementsByTagName:w}=e,{importNode:M}=a;let j={};u.isSupported=typeof g4=="function"&&typeof F=="function"&&B&&B.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:G,ERB_EXPR:L,TMPLIT_EXPR:Y,DATA_ATTR:Eu,ARIA_ATTR:Cu,IS_SCRIPT_OR_DATA:hu,ATTR_WHITESPACE:du,CUSTOM_ELEMENT:Ju}=il;let{IS_ALLOWED_URI:o0}=il,Q=null;const yu=ku({},[...Xs,...Hn,...On,...In,...ul]);let cu=null;const Tu=ku({},[...el,...Gn,...al,...Zi]);let nu=Object.seal(C4(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),iu=null,fu=null,h0=!0,X0=!0,W0=!1,J=!0,xu=!1,Wu=!0,Uu=!1,x0=!1,g0=!1,K0=!1,_0=!1,E0=!1,Pe=!0,Bo=!1;const A5="user-content-";let En=!0,Ua=!1,xa={},ga=null;const yo=ku({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let zo=null;const So=ku({},["audio","video","img","source","image","track"]);let dn=null;const wo=ku({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),_i="http://www.w3.org/1998/Math/MathML",ji="http://www.w3.org/2000/svg",ge="http://www.w3.org/1999/xhtml";let Ca=ge,cn=!1,Dn=null;const b5=ku({},[_i,ji,ge],Kn);let qa=null;const f5=["application/xhtml+xml","text/html"],B5="text/html";let c0=null,pa=null;const y5=e.createElement("form"),Mo=function(f){return f instanceof RegExp||f instanceof Function},mn=function(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(pa&&pa===f)){if((!f||typeof f!="object")&&(f={}),f=na(f),qa=f5.indexOf(f.PARSER_MEDIA_TYPE)===-1?B5:f.PARSER_MEDIA_TYPE,c0=qa==="application/xhtml+xml"?Kn:ht,Q=ee(f,"ALLOWED_TAGS")?ku({},f.ALLOWED_TAGS,c0):yu,cu=ee(f,"ALLOWED_ATTR")?ku({},f.ALLOWED_ATTR,c0):Tu,Dn=ee(f,"ALLOWED_NAMESPACES")?ku({},f.ALLOWED_NAMESPACES,Kn):b5,dn=ee(f,"ADD_URI_SAFE_ATTR")?ku(na(wo),f.ADD_URI_SAFE_ATTR,c0):wo,zo=ee(f,"ADD_DATA_URI_TAGS")?ku(na(So),f.ADD_DATA_URI_TAGS,c0):So,ga=ee(f,"FORBID_CONTENTS")?ku({},f.FORBID_CONTENTS,c0):yo,iu=ee(f,"FORBID_TAGS")?ku({},f.FORBID_TAGS,c0):{},fu=ee(f,"FORBID_ATTR")?ku({},f.FORBID_ATTR,c0):{},xa=ee(f,"USE_PROFILES")?f.USE_PROFILES:!1,h0=f.ALLOW_ARIA_ATTR!==!1,X0=f.ALLOW_DATA_ATTR!==!1,W0=f.ALLOW_UNKNOWN_PROTOCOLS||!1,J=f.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xu=f.SAFE_FOR_TEMPLATES||!1,Wu=f.SAFE_FOR_XML!==!1,Uu=f.WHOLE_DOCUMENT||!1,K0=f.RETURN_DOM||!1,_0=f.RETURN_DOM_FRAGMENT||!1,E0=f.RETURN_TRUSTED_TYPE||!1,g0=f.FORCE_BODY||!1,Pe=f.SANITIZE_DOM!==!1,Bo=f.SANITIZE_NAMED_PROPS||!1,En=f.KEEP_CONTENT!==!1,Ua=f.IN_PLACE||!1,o0=f.ALLOWED_URI_REGEXP||p4,Ca=f.NAMESPACE||ge,nu=f.CUSTOM_ELEMENT_HANDLING||{},f.CUSTOM_ELEMENT_HANDLING&&Mo(f.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(nu.tagNameCheck=f.CUSTOM_ELEMENT_HANDLING.tagNameCheck),f.CUSTOM_ELEMENT_HANDLING&&Mo(f.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(nu.attributeNameCheck=f.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),f.CUSTOM_ELEMENT_HANDLING&&typeof f.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(nu.allowCustomizedBuiltInElements=f.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xu&&(X0=!1),_0&&(K0=!0),xa&&(Q=ku({},ul),cu=[],xa.html===!0&&(ku(Q,Xs),ku(cu,el)),xa.svg===!0&&(ku(Q,Hn),ku(cu,Gn),ku(cu,Zi)),xa.svgFilters===!0&&(ku(Q,On),ku(cu,Gn),ku(cu,Zi)),xa.mathMl===!0&&(ku(Q,In),ku(cu,al),ku(cu,Zi))),f.ADD_TAGS&&(Q===yu&&(Q=na(Q)),ku(Q,f.ADD_TAGS,c0)),f.ADD_ATTR&&(cu===Tu&&(cu=na(cu)),ku(cu,f.ADD_ATTR,c0)),f.ADD_URI_SAFE_ATTR&&ku(dn,f.ADD_URI_SAFE_ATTR,c0),f.FORBID_CONTENTS&&(ga===yo&&(ga=na(ga)),ku(ga,f.FORBID_CONTENTS,c0)),En&&(Q["#text"]=!0),Uu&&ku(Q,["html","head","body"]),Q.table&&(ku(Q,["tbody"]),delete iu.tbody),f.TRUSTED_TYPES_POLICY){if(typeof f.TRUSTED_TYPES_POLICY.createHTML!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof f.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');v=f.TRUSTED_TYPES_POLICY,b=v.createHTML("")}else v===void 0&&(v=zg(D,i)),v!==null&&typeof b=="string"&&(b=v.createHTML(""));P0&&P0(f),pa=f}},To=ku({},["mi","mo","mn","ms","mtext"]),Po=ku({},["foreignobject","annotation-xml"]),z5=ku({},["title","style","font","a","script"]),_o=ku({},[...Hn,...On,...gg]),jo=ku({},[...In,...Cg]),S5=function(f){let K=F(f);(!K||!K.tagName)&&(K={namespaceURI:Ca,tagName:"template"});const Z=ht(f.tagName),Nu=ht(K.tagName);return Dn[f.namespaceURI]?f.namespaceURI===ji?K.namespaceURI===ge?Z==="svg":K.namespaceURI===_i?Z==="svg"&&(Nu==="annotation-xml"||To[Nu]):!!_o[Z]:f.namespaceURI===_i?K.namespaceURI===ge?Z==="math":K.namespaceURI===ji?Z==="math"&&Po[Nu]:!!jo[Z]:f.namespaceURI===ge?K.namespaceURI===ji&&!Po[Nu]||K.namespaceURI===_i&&!To[Nu]?!1:!jo[Z]&&(z5[Z]||!_o[Z]):!!(qa==="application/xhtml+xml"&&Dn[f.namespaceURI]):!1},re=function(f){ei(u.removed,{element:f});try{F(f).removeChild(f)}catch{g(f)}},Li=function(f,K){try{ei(u.removed,{attribute:K.getAttributeNode(f),from:K})}catch{ei(u.removed,{attribute:null,from:K})}if(K.removeAttribute(f),f==="is"&&!cu[f])if(K0||_0)try{re(K)}catch{}else try{K.setAttribute(f,"")}catch{}},Lo=function(f){let K=null,Z=null;if(g0)f=""+f;else{const C0=Qs(f,/^[\r\n\t ]+/);Z=C0&&C0[0]}qa==="application/xhtml+xml"&&Ca===ge&&(f=''+f+"");const Nu=v?v.createHTML(f):f;if(Ca===ge)try{K=new c().parseFromString(Nu,qa)}catch{}if(!K||!K.documentElement){K=B.createDocument(Ca,"template",null);try{K.documentElement.innerHTML=cn?b:Nu}catch{}}const A0=K.body||K.documentElement;return f&&Z&&A0.insertBefore(e.createTextNode(Z),A0.childNodes[0]||null),Ca===ge?w.call(K,Uu?"html":"body")[0]:Uu?K.documentElement:A0},Ro=function(f){return S.call(f.ownerDocument||f,f,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},No=function(f){return f instanceof d&&(typeof f.nodeName!="string"||typeof f.textContent!="string"||typeof f.removeChild!="function"||!(f.attributes instanceof E)||typeof f.removeAttribute!="function"||typeof f.setAttribute!="function"||typeof f.namespaceURI!="string"||typeof f.insertBefore!="function"||typeof f.hasChildNodes!="function")},Ko=function(f){return typeof o=="function"&&f instanceof o},Ce=function(f,K,Z){j[f]&&qi(j[f],Nu=>{Nu.call(u,K,Z,pa)})},Ho=function(f){let K=null;if(Ce("beforeSanitizeElements",f,null),No(f))return re(f),!0;const Z=c0(f.nodeName);if(Ce("uponSanitizeElement",f,{tagName:Z,allowedTags:Q}),f.hasChildNodes()&&!Ko(f.firstElementChild)&&S0(/<[/\w]/g,f.innerHTML)&&S0(/<[/\w]/g,f.textContent)||f.nodeType===ni.progressingInstruction||Wu&&f.nodeType===ni.comment&&S0(/<[/\w]/g,f.data))return re(f),!0;if(!Q[Z]||iu[Z]){if(!iu[Z]&&Io(Z)&&(nu.tagNameCheck instanceof RegExp&&S0(nu.tagNameCheck,Z)||nu.tagNameCheck instanceof Function&&nu.tagNameCheck(Z)))return!1;if(En&&!ga[Z]){const Nu=F(f)||f.parentNode,A0=p(f)||f.childNodes;if(A0&&Nu){const C0=A0.length;for(let j0=C0-1;j0>=0;--j0){const oe=h(A0[j0],!0);oe.__removalCount=(f.__removalCount||0)+1,Nu.insertBefore(oe,x(f))}}}return re(f),!0}return f instanceof s&&!S5(f)||(Z==="noscript"||Z==="noembed"||Z==="noframes")&&S0(/<\/no(script|embed|frames)/i,f.innerHTML)?(re(f),!0):(xu&&f.nodeType===ni.text&&(K=f.textContent,qi([G,L,Y],Nu=>{K=ai(K,Nu," ")}),f.textContent!==K&&(ei(u.removed,{element:f.cloneNode()}),f.textContent=K)),Ce("afterSanitizeElements",f,null),!1)},Oo=function(f,K,Z){if(Pe&&(K==="id"||K==="name")&&(Z in e||Z in y5))return!1;if(!(X0&&!fu[K]&&S0(Eu,K))){if(!(h0&&S0(Cu,K))){if(!cu[K]||fu[K]){if(!(Io(f)&&(nu.tagNameCheck instanceof RegExp&&S0(nu.tagNameCheck,f)||nu.tagNameCheck instanceof Function&&nu.tagNameCheck(f))&&(nu.attributeNameCheck instanceof RegExp&&S0(nu.attributeNameCheck,K)||nu.attributeNameCheck instanceof Function&&nu.attributeNameCheck(K))||K==="is"&&nu.allowCustomizedBuiltInElements&&(nu.tagNameCheck instanceof RegExp&&S0(nu.tagNameCheck,Z)||nu.tagNameCheck instanceof Function&&nu.tagNameCheck(Z))))return!1}else if(!dn[K]){if(!S0(o0,ai(Z,du,""))){if(!((K==="src"||K==="xlink:href"||K==="href")&&f!=="script"&&Dg(Z,"data:")===0&&zo[f])){if(!(W0&&!S0(hu,ai(Z,du,"")))){if(Z)return!1}}}}}}return!0},Io=function(f){return f!=="annotation-xml"&&Qs(f,Ju)},Go=function(f){Ce("beforeSanitizeAttributes",f,null);const{attributes:K}=f;if(!K)return;const Z={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:cu};let Nu=K.length;for(;Nu--;){const A0=K[Nu],{name:C0,namespaceURI:j0,value:oe}=A0,Za=c0(C0);let z0=C0==="value"?oe:mg(oe);if(Z.attrName=Za,Z.attrValue=z0,Z.keepAttr=!0,Z.forceKeepAttr=void 0,Ce("uponSanitizeAttribute",f,Z),z0=Z.attrValue,Wu&&S0(/((--!?|])>)|<\/(style|title)/i,z0)){Li(C0,f);continue}if(Z.forceKeepAttr||(Li(C0,f),!Z.keepAttr))continue;if(!J&&S0(/\/>/i,z0)){Li(C0,f);continue}xu&&qi([G,L,Y],$o=>{z0=ai(z0,$o," ")});const Vo=c0(f.nodeName);if(Oo(Vo,Za,z0)){if(Bo&&(Za==="id"||Za==="name")&&(Li(C0,f),z0=A5+z0),v&&typeof D=="object"&&typeof D.getAttributeType=="function"&&!j0)switch(D.getAttributeType(Vo,Za)){case"TrustedHTML":{z0=v.createHTML(z0);break}case"TrustedScriptURL":{z0=v.createScriptURL(z0);break}}try{j0?f.setAttributeNS(j0,C0,z0):f.setAttribute(C0,z0),No(f)?re(f):Ys(u.removed)}catch{}}}Ce("afterSanitizeAttributes",f,null)},w5=function uu(f){let K=null;const Z=Ro(f);for(Ce("beforeSanitizeShadowDOM",f,null);K=Z.nextNode();)Ce("uponSanitizeShadowNode",K,null),!Ho(K)&&(K.content instanceof t&&uu(K.content),Go(K));Ce("afterSanitizeShadowDOM",f,null)};return u.sanitize=function(uu){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},K=null,Z=null,Nu=null,A0=null;if(cn=!uu,cn&&(uu=""),typeof uu!="string"&&!Ko(uu))if(typeof uu.toString=="function"){if(uu=uu.toString(),typeof uu!="string")throw ii("dirty is not a string, aborting")}else throw ii("toString is not a function");if(!u.isSupported)return uu;if(x0||mn(f),u.removed=[],typeof uu=="string"&&(Ua=!1),Ua){if(uu.nodeName){const oe=c0(uu.nodeName);if(!Q[oe]||iu[oe])throw ii("root node is forbidden and cannot be sanitized in-place")}}else if(uu instanceof o)K=Lo(""),Z=K.ownerDocument.importNode(uu,!0),Z.nodeType===ni.element&&Z.nodeName==="BODY"||Z.nodeName==="HTML"?K=Z:K.appendChild(Z);else{if(!K0&&!xu&&!Uu&&uu.indexOf("<")===-1)return v&&E0?v.createHTML(uu):uu;if(K=Lo(uu),!K)return K0?null:E0?b:""}K&&g0&&re(K.firstChild);const C0=Ro(Ua?uu:K);for(;Nu=C0.nextNode();)Ho(Nu)||(Nu.content instanceof t&&w5(Nu.content),Go(Nu));if(Ua)return uu;if(K0){if(_0)for(A0=y.call(K.ownerDocument);K.firstChild;)A0.appendChild(K.firstChild);else A0=K;return(cu.shadowroot||cu.shadowrootmode)&&(A0=M.call(a,A0,!0)),A0}let j0=Uu?K.outerHTML:K.innerHTML;return Uu&&Q["!doctype"]&&K.ownerDocument&&K.ownerDocument.doctype&&K.ownerDocument.doctype.name&&S0(F4,K.ownerDocument.doctype.name)&&(j0=" `+j0),xu&&qi([G,L,Y],oe=>{j0=ai(j0,oe," ")}),v&&E0?v.createHTML(j0):j0},u.setConfig=function(){let uu=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};mn(uu),x0=!0},u.clearConfig=function(){pa=null,x0=!1},u.isValidAttribute=function(uu,f,K){pa||mn({});const Z=c0(uu),Nu=c0(f);return Oo(Z,Nu,K)},u.addHook=function(uu,f){typeof f=="function"&&(j[uu]=j[uu]||[],ei(j[uu],f))},u.removeHook=function(uu){if(j[uu])return Ys(j[uu])},u.removeHooks=function(uu){j[uu]&&(j[uu]=[])},u.removeAllHooks=function(){j={}},u}var v4=k4();const Lu={enableSorting:!0,headerRowHeight:45,rowHeight:45,topPanelHeight:30,sanitizer:n=>v4.sanitize(n,{ADD_ATTR:["level"],RETURN_TRUSTED_TYPE:!0})},tl=995;class Sg{constructor(){k(this,"_darkModeGrid1",!1);k(this,"gridOptions1");k(this,"gridOptions2");k(this,"columnDefinitions1");k(this,"columnDefinitions2");k(this,"dataset1");k(this,"dataset2");k(this,"sgb1");k(this,"sgb2");k(this,"isGrid2WithPagination",!0)}attached(){this.defineGrids(),this.dataset1=this.mockData(tl),this.dataset2=this.mockData(tl),this.sgb1=new Bu.GridBundle(document.querySelector(".grid1"),this.columnDefinitions1,{...Lu,...this.gridOptions1},this.dataset1),this.sgb2=new Bu.GridBundle(document.querySelector(".grid2"),this.columnDefinitions2,{...Lu,...this.gridOptions2},this.dataset2)}dispose(){var u,e;(u=this.sgb1)==null||u.dispose(),(e=this.sgb2)==null||e.dispose()}isBrowserDarkModeEnabled(){var u;return((u=window.matchMedia)==null?void 0:u.call(window,"(prefers-color-scheme: dark)").matches)??!1}defineGrids(){this.columnDefinitions1=[{id:"title",name:"Title",field:"title",sortable:!0,minWidth:100,filterable:!0},{id:"duration",name:"Duration (days)",field:"duration",sortable:!0,minWidth:100,filterable:!0,type:C.number},{id:"%",name:"% Complete",field:"percentComplete",sortable:!0,minWidth:100,filterable:!0,type:C.number},{id:"start",name:"Start",field:"start",formatter:P.dateIso,exportWithFormatter:!0,filterable:!0},{id:"finish",name:"Finish",field:"finish",formatter:P.dateIso,exportWithFormatter:!0,filterable:!0},{id:"effort-driven",name:"Effort Driven",field:"effortDriven",sortable:!0,minWidth:100,filterable:!0}],this._darkModeGrid1=this.isBrowserDarkModeEnabled(),this.gridOptions1={enableAutoResize:!1,darkMode:this._darkModeGrid1,gridHeight:225,gridWidth:800,rowHeight:33,gridMenu:{hideToggleDarkModeCommand:!1,onCommand:(u,e)=>{e.command==="toggle-dark-mode"&&(this._darkModeGrid1=!this._darkModeGrid1)}}},this.columnDefinitions2=this.columnDefinitions1,this.gridOptions2={...this.gridOptions1,darkMode:!1,gridHeight:255,headerRowHeight:40,columnPicker:{onColumnsChanged:(u,e)=>console.log("onColumnPickerColumnsChanged - visible columns count",e.visibleColumns.length)},gridMenu:{subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",commandItems:[{command:"",divider:!0,positionOrder:98},{command:"export",title:"Exports",iconCssClass:"mdi mdi-download",positionOrder:99,commandItems:[{command:"exports-txt",title:"Text (tab delimited)"},{command:"sub-menu",title:"Excel",cssClass:"green",subMenuTitle:"available formats",subMenuTitleCssClass:"text-italic orange",commandItems:[{command:"exports-csv",title:"Excel (csv)"},{command:"exports-xlsx",title:"Excel (xlsx)"}]}]},{command:"feedback",title:"Feedback",iconCssClass:"mdi mdi-information-outline",positionOrder:100,commandItems:[{command:"request-update",title:"Request update from supplier",iconCssClass:"mdi mdi-star",tooltip:"this will automatically send an alert to the shipping team to contact the user for an update"},"divider",{command:"sub-menu",title:"Contact Us",iconCssClass:"mdi mdi-account",subMenuTitle:"contact us...",subMenuTitleCssClass:"italic",commandItems:[{command:"contact-email",title:"Email us",iconCssClass:"mdi mdi-pencil-outline"},{command:"contact-chat",title:"Chat with us",iconCssClass:"mdi mdi-message-text-outline"},{command:"contact-meeting",title:"Book an appointment",iconCssClass:"mdi mdi-coffee"}]}]}],onBeforeMenuShow:()=>{console.log("onGridMenuBeforeMenuShow")},onAfterMenuShow:()=>console.log("onGridMenuAfterMenuShow"),onColumnsChanged:(u,e)=>console.log("onGridMenuColumnsChanged",e),onCommand:(u,e)=>{var i;const a=(i=e.item)==null?void 0:i.command;a.includes("exports-")?alert("Exporting as "+(e==null?void 0:e.item.title)):a.includes("contact-")?alert("Command: "+(e==null?void 0:e.command)):console.log("onGridMenuCommand",e.command)},onMenuClose:(u,e)=>console.log("onGridMenuMenuClose - visible columns count",e.visibleColumns.length)},enableFiltering:!0,enablePagination:!0,pagination:{pageSizes:[5,10,15,20,25,50,75,100],pageSize:5},presets:{pagination:{pageNumber:2,pageSize:5},sorters:[{columnId:"title",direction:"ASC"}],filters:[{columnId:"title",searchTerms:["2"]}]}}}mockData(u){const e=[];for(let a=0;a>1|(Gu&21845)<<1;je=(je&52428)>>2|(je&13107)<<2,je=(je&61680)>>4|(je&3855)<<4,Rt[Gu]=((je&65280)>>8|(je&255)<<8)>>1}var _a=function(n,u,e){for(var a=n.length,i=0,t=new N0(u);i>s]=l}else for(o=new N0(a),i=0;i>15-n[i]);return o},qe=new D0(288);for(var Gu=0;Gu<144;++Gu)qe[Gu]=8;for(var Gu=144;Gu<256;++Gu)qe[Gu]=9;for(var Gu=256;Gu<280;++Gu)qe[Gu]=7;for(var Gu=280;Gu<288;++Gu)qe[Gu]=8;var bi=new D0(32);for(var Gu=0;Gu<32;++Gu)bi[Gu]=5;var f4=_a(qe,9,0),B4=_a(bi,5,0),to=function(n){return(n+7)/8|0},no=function(n,u,e){return(u==null||u<0)&&(u=0),(e==null||e>n.length)&&(e=n.length),new D0(n.subarray(u,e))},Pg=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Oa=function(n,u,e){var a=new Error(u||Pg[n]);if(a.code=n,Error.captureStackTrace&&Error.captureStackTrace(a,Oa),!e)throw a;return a},le=function(n,u,e){e<<=u&7;var a=u/8|0;n[a]|=e,n[a+1]|=e>>8},ba=function(n,u,e){e<<=u&7;var a=u/8|0;n[a]|=e,n[a+1]|=e>>8,n[a+2]|=e>>16},xt=function(n,u){for(var e=[],a=0;ac&&(c=t[a].s);var D=new N0(c+1),m=Nt(e[E-1],D,0);if(m>u){var a=0,h=0,g=m-u,x=1<u)h+=x-(1<>=g;h>0;){var F=t[a].s;D[F]=0&&h;--a){var v=t[a].s;D[v]==u&&(--D[v],++h)}m=u}return{t:new D0(D),l:m}},Nt=function(n,u,e){return n.s==-1?Math.max(Nt(n.l,u,e+1),Nt(n.r,u,e+1)):u[n.s]=e},gr=function(n){for(var u=n.length;u&&!n[--u];);for(var e=new N0(++u),a=0,i=n[0],t=1,r=function(s){e[a++]=s},o=1;o<=u;++o)if(n[o]==i&&o!=u)++t;else{if(!i&&t>2){for(;t>138;t-=138)r(32754);t>2&&(r(t>10?t-11<<5|28690:t-3<<5|12305),t=0)}else if(t>3){for(r(i),--t;t>6;t-=6)r(8304);t>2&&(r(t-3<<5|8208),t=0)}for(;t--;)r(i);t=1,i=n[o]}return{c:e.subarray(0,a),n:u}},fa=function(n,u){for(var e=0,a=0;a>8,n[i+2]=n[i]^255,n[i+3]=n[i+1]^255;for(var t=0;t4&&!M[hr[G-1]];--G);var L=l+5<<3,Y=fa(i,qe)+fa(t,bi)+r,Eu=fa(i,c)+fa(t,h)+r+14+3*G+fa(S,M)+2*S[16]+3*S[17]+7*S[18];if(s>=0&&L<=Y&&L<=Eu)return ro(u,E,n.subarray(s,s+l));var Cu,hu,du,Ju;if(le(u,E,1+(Eu15&&(le(u,E,cu[y]>>5&127),E+=cu[y]>>12)}}else Cu=f4,hu=qe,du=B4,Ju=bi;for(var y=0;y255){var Tu=nu>>18&31;ba(u,E,Cu[Tu+257]),E+=hu[Tu+257],Tu>7&&(le(u,E,nu>>23&31),E+=rn[Tu]);var iu=nu&31;ba(u,E,du[iu]),E+=Ju[iu],iu>3&&(ba(u,E,nu>>5&8191),E+=on[iu])}else ba(u,E,Cu[nu]),E+=hu[nu]}return ba(u,E,Cu[256]),E+hu[256]},y4=new nn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),oo=new D0(0),z4=function(n,u,e,a,i,t){var r=t.z||n.length,o=new D0(a+r+5*(1+Math.ceil(r/7e3))+i),s=o.subarray(a,o.length-i),l=t.l,E=(t.r||0)&7;if(u){E&&(s[0]=t.r>>3);for(var d=y4[u-1],c=d>>13,D=d&8191,m=(1<7e3||M>24576)&&(Cu>423||!l)){E=Cr(n,s,0,v,b,B,y,M,G,w-G,E),M=S=y=0,G=w;for(var hu=0;hu<286;++hu)b[hu]=0;for(var hu=0;hu<30;++hu)B[hu]=0}var du=2,Ju=0,o0=D,Q=Y-Eu&32767;if(Cu>2&&L==F(w-Q))for(var yu=Math.min(c,Cu)-1,cu=Math.min(32767,w),Tu=Math.min(258,Cu);Q<=cu&&--o0&&Y!=Eu;){if(n[w+du]==n[w+du-Q]){for(var nu=0;nudu){if(du=nu,Ju=Q,nu>yu)break;for(var iu=Math.min(Q,nu-2),fu=0,hu=0;hufu&&(fu=W0,Eu=h0)}}}Y=Eu,Eu=h[Y],Q+=Y-Eu&32767}if(Ju){v[M++]=268435456|Lt[du]<<18|xr[Ju];var J=Lt[du]&31,xu=xr[Ju]&31;y+=rn[J]+on[xu],++b[257+J],++B[xu],j=w+du,++S}else v[M++]=n[w],++b[n[w]]}}for(w=Math.max(w,j);w=r&&(s[E/8|0]=l,Wu=r),E=ro(s,E+1,n.subarray(w,Wu))}t.i=r}return no(o,0,a+to(E)+i)},_g=function(){for(var n=new Int32Array(256),u=0;u<256;++u){for(var e=u,a=9;--a;)e=(e&1&&-306674912)^e>>>1;n[u]=e}return n}(),jg=function(){var n=-1;return{p:function(u){for(var e=n,a=0;a>>8;n=e},d:function(){return~n}}},S4=function(n,u,e,a,i){if(!i&&(i={l:1},u.dictionary)){var t=u.dictionary.subarray(-32768),r=new D0(t.length+n.length);r.set(t),r.set(n,t.length),n=r,i.w=t.length}return z4(n,u.level==null?6:u.level,u.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+u.mem,e,a,i)},so=function(n,u){var e={};for(var a in n)e[a]=n[a];for(var a in u)e[a]=u[a];return e},rl=function(n,u,e){for(var a=n(),i=n.toString(),t=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),r=0;r>>=8};function Hg(n,u,e){return e||(e=u,u={}),typeof e!="function"&&Oa(7),Kg(n,u,[Ng],function(a){return w4(lo(a.data[0],a.data[1]))},0,e)}function lo(n,u){return S4(n,u||{},0,0)}var M4=function(n,u,e,a){for(var i in n){var t=n[i],r=u+i,o=a;Array.isArray(t)&&(o=so(a,t[1]),t=t[0]),t instanceof D0?e[r]=[t,o]:(e[r+="/"]=[new D0(0),o],M4(t,r,e,a))}},ol=typeof TextEncoder<"u"&&new TextEncoder,Og=typeof TextDecoder<"u"&&new TextDecoder,Ig=0;try{Og.decode(oo,{stream:!0}),Ig=1}catch{}function pr(n,u){if(u){for(var e=new D0(n.length),a=0;a>1)),r=0,o=function(E){t[r++]=E},a=0;at.length){var s=new D0(r+8+(i-a<<1));s.set(t),t=s}var l=n.charCodeAt(a);l<128||u?o(l):l<2048?(o(192|l>>6),o(128|l&63)):l>55295&&l<57344?(l=65536+(l&1047552)|n.charCodeAt(++a)&1023,o(240|l>>18),o(128|l>>12&63),o(128|l>>6&63),o(128|l&63)):(o(224|l>>12),o(128|l>>6&63),o(128|l&63))}return no(t,0,r)}var Fr=function(n){var u=0;if(n)for(var e in n){var a=n[e].length;a>65535&&Oa(9),u+=a+4}return u},sl=function(n,u,e,a,i,t,r,o){var s=a.length,l=e.extra,E=o&&o.length,d=Fr(l);k0(n,u,r!=null?33639248:67324752),u+=4,r!=null&&(n[u++]=20,n[u++]=e.os),n[u]=20,u+=2,n[u++]=e.flag<<1|(t<0&&8),n[u++]=i&&8,n[u++]=e.compression&255,n[u++]=e.compression>>8;var c=new Date(e.mtime==null?Date.now():e.mtime),D=c.getFullYear()-1980;if((D<0||D>119)&&Oa(10),k0(n,u,D<<25|c.getMonth()+1<<21|c.getDate()<<16|c.getHours()<<11|c.getMinutes()<<5|c.getSeconds()>>1),u+=4,t!=-1&&(k0(n,u,e.crc),k0(n,u+4,t<0?-t-2:t),k0(n,u+8,e.size)),k0(n,u+12,s),k0(n,u+14,d),u+=16,r!=null&&(k0(n,u,E),k0(n,u+6,e.attrs),k0(n,u+10,r),u+=14),n.set(a,u),u+=s,d)for(var m in l){var h=l[m],g=h.length;k0(n,u,+m),k0(n,u+2,g),n.set(h,u+4),u+=4+g}return E&&(n.set(o,u),u+=E),u},Gg=function(n,u,e,a,i){k0(n,u,101010256),k0(n,u+8,e),k0(n,u+10,e),k0(n,u+12,a),k0(n,u+16,i)};function Vg(n,u,e){e||(e=u,u={}),typeof e!="function"&&Oa(7);var a={};M4(n,"",a,u);var i=Object.keys(a),t=i.length,r=0,o=0,s=t,l=new Array(t),E=[],d=function(){for(var g=0;g65535&&Y(Oa(11,0,1),null),!L)Y(null,F);else if(B<16e4)try{Y(null,lo(F,v))}catch(Eu){Y(Eu,null)}else E.push(Hg(F,v,Y))},h=0;hu in n?$g(n,u,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[u]=e,I=(n,u,e)=>(Jg(n,typeof u!="symbol"?u+"":u,e),e);const Wg={"&":"&","<":"<",">":">",'"':""","'":"'"},T4=n=>(typeof n!="string"&&(n=`${n}`),n.replace(/[&<>"']/g,u=>Wg[u]));function Fe(n){const u=typeof n;return n!=null&&(u==="object"||u==="function")}function Ug(n){if(typeof n!="object"||n===null||Object.prototype.toString.call(n)!=="[object Object]")return!1;const u=Object.getPrototypeOf(n);if(u===null)return!0;const e=Object.prototype.hasOwnProperty.call(u,"constructor")&&u.constructor;return typeof e=="function"&&e instanceof e&&Function.prototype.call(e)===Function.prototype.call(n)}function Ba(n){return n!=null&&typeof n.valueOf()=="string"}function qg(n,u){return u.reduce((e,a)=>(n!=null&&n.hasOwnProperty(a)&&(e[a]=n[a]),e),{})}const Vn={};function Ze(n="$lodash$"){Vn[n]||(Vn[n]=0);const u=++Vn[n];return n==="$lodash$"?`${u}`:`${n}${u}`}let sn=class{constructor(u,e){I(this,"documentElement"),this.documentElement=this.createElement(e),this.documentElement.setAttribute("xmlns",u)}createElement(u){return new _4({nodeName:u})}createTextNode(u){return new P4(u)}toString(){return this.documentElement.toString()}};I(sn,"Node",{Create:n=>{switch(n.type){case"XML":return new _4(n);case"TEXT":return new P4(n.nodeValue);default:return null}}});let P4=class{constructor(u){I(this,"nodeValue"),this.nodeValue=u}toJSON(){return{nodeValue:this.nodeValue,type:"TEXT"}}toString(){return T4(this.nodeValue)}},_4=class j4{constructor(u){if(I(this,"nodeName",""),I(this,"children"),I(this,"nodeValue"),I(this,"attributes"),I(this,"firstChild"),this.nodeName=u.nodeName,this.children=[],this.nodeValue=u.nodeValue||"",this.attributes={},u.children)for(let e=0,a=u.children.length;e${e}`:u+="/>",u}toJSON(){const u=[];for(let e=0,a=this.children.length;e0;)t-=Math.pow(26,a-1),i=t%Math.pow(26,a),t-=i,i=i/Math.pow(26,a-1),r=o.charAt(i)+r,a+=1;return ra.LETTER_REFS[u]=r,r.concat(String(e))}};I(gt,"_idSpaces",{}),I(gt,"LETTER_REFS",{}),I(gt,"schemas",{worksheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",sharedStrings:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",stylesheet:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",relationships:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",relationshipPackage:"http://schemas.openxmlformats.org/package/2006/relationships",contentTypes:"http://schemas.openxmlformats.org/package/2006/content-types",spreadsheetml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",markupCompat:"http://schemas.openxmlformats.org/markup-compatibility/2006",x14ac:"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",officeDocument:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",package:"http://schemas.openxmlformats.org/package/2006/relationships",table:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",spreadsheetDrawing:"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",drawing:"http://schemas.openxmlformats.org/drawingml/2006/main",drawingRelationship:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",image:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",chart:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"});let tu=gt;const Re={};let kr=class{constructor(){I(this,"relations",{}),I(this,"lastId",1),Ze("rId")}importData(u){this.relations=u.relations,this.lastId=u.lastId}exportData(){return{relations:this.relations,lastId:this.lastId}}addRelation(u,e){return this.relations[u.id]={id:Ze("rId"),schema:tu.schemas[e],object:u},this.relations[u.id].id}getRelationshipId(u){return this.relations[u.id]?this.relations[u.id].id:null}toXML(){const u=tu.createXmlDoc(tu.schemas.relationshipPackage,"Relationships"),e=u.documentElement;for(const[a,i]of Object.entries(this.relations)){const t=tu.createElement(u,"Relationship",[["Id",i.id],["Type",i.schema],["Target",i.object.target||Re[a]]]);i.object.targetMode&&t.setAttribute("TargetMode",i.object.targetMode),e.appendChild(t)}return u}},Zg=class{constructor(){I(this,"state",null),I(this,"xSplit",null),I(this,"ySplit",null),I(this,"activePane","bottomRight"),I(this,"topLeftCell",null),I(this,"_freezePane")}freezePane(u,e,a){this._freezePane={xSplit:u,ySplit:e,cell:a}}exportXML(u){const e=u.createElement("pane");return this.state!==null&&(e.setAttribute("xSplit",this._freezePane.xSplit),e.setAttribute("ySplit",this._freezePane.ySplit),e.setAttribute("topLeftCell",this._freezePane.cell),e.setAttribute("activePane","bottomRight"),e.setAttribute("state","frozen")),e}},El=class{constructor(){I(this,"strings",{}),I(this,"stringArray",[]),I(this,"id",Ze("SharedStrings"))}addString(u){return this.strings[u]=this.stringArray.length,this.stringArray[this.stringArray.length]=u,this.strings[u]}exportData(){return this.strings}toXML(){const u=tu.createXmlDoc(tu.schemas.spreadsheetml,"sst"),e=u.documentElement;this.stringArray.reverse();let a=this.stringArray.length;e.setAttribute("count",a),e.setAttribute("uniqueCount",a);const i=u.createElement("si"),t=u.createElement("t");t.appendChild(u.createTextNode("--placeholder--")),i.appendChild(t);const r=this.stringArray;for(;a--;){const o=i.cloneNode(!0);typeof r[a]=="string"&&r[a].match(/\s+/)&&o.firstChild.setAttribute("xml:space","preserve"),o.firstChild.firstChild.nodeValue=r[a],e.appendChild(o)}return u}},Yg=class{constructor(u){I(this,"pane"),I(this,"showZeros",null),I(this,"defaultGridColor",null),I(this,"colorId",null),I(this,"rightToLeft",null),I(this,"showFormulas",null),I(this,"showGridLines",null),I(this,"showOutlineSymbols",null),I(this,"showRowColHeaders",null),I(this,"showRuler",null),I(this,"showWhiteSpace",null),I(this,"tabSelected",null),I(this,"topLeftCell",null),I(this,"viewType",null),I(this,"windowProtection",null),I(this,"zoomScale",null),I(this,"zoomScaleNormal",null),I(this,"zoomScalePageLayoutView",null),I(this,"zoomScaleSheetLayoutView",null);const e=u||{};this.pane=e.pane||new Zg}freezePane(u,e,a){this.pane.state="frozen",this.pane.xSplit=u,this.pane.ySplit=e,this.pane.topLeftCell=a}exportXML(u){const e=u.createElement("sheetViews"),a=u.createElement("sheetView");return tu.setAttributesOnDoc(a,{workbookViewId:0,showZeros:{v:this.showZeros,type:Boolean},defaultGridColor:{v:this.defaultGridColor,type:Boolean},colorId:this.colorId,rightToLeft:{v:this.rightToLeft,type:Boolean},showFormulas:{v:this.showFormulas,type:Boolean},showGridLines:{v:this.showGridLines,type:Boolean},showOutlineSymbols:{v:this.showOutlineSymbols,type:Boolean},showRowColHeaders:{v:this.showRowColHeaders,type:Boolean},showRuler:{v:this.showRuler,type:Boolean},showWhiteSpace:{v:this.showWhiteSpace,type:Boolean},tabSelected:{v:this.tabSelected,type:Boolean},viewType:this.viewType,windowProtection:{v:this.windowProtection,type:Boolean},zoomScale:{v:this.zoomScale,type:Boolean},zoomScaleNormal:this.zoomScaleNormal,zoomScalePageLayoutView:this.zoomScalePageLayoutView,zoomScaleSheetLayoutView:this.zoomScaleSheetLayoutView}),a.appendChild(this.pane.exportXML(u)),e.appendChild(a),e}},dl=class{constructor(){I(this,"id",Ze("StyleSheet")),I(this,"cellStyles",[{name:"Normal",xfId:"0",builtinId:"0"}]),I(this,"defaultTableStyle",!1),I(this,"differentialStyles",[{}]),I(this,"masterCellFormats",[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfid:0}]),I(this,"masterCellStyles",[{numFmtId:0,fontId:0,fillId:0,borderId:0}]),I(this,"fonts",[{}]),I(this,"numberFormatters",[]),I(this,"fills",[{},{type:"pattern",patternType:"gray125",fgColor:"FF333333",bgColor:"FF333333"}]),I(this,"borders",[{top:{},left:{},right:{},bottom:{},diagonal:{}}]),I(this,"tableStyles",[])}createSimpleFormatter(u){const e={id:this.masterCellFormats.length};switch(u){case"date":e.numFmtId=14;break}return this.masterCellFormats.push(e),e}createFill(u){const e=this.fills.length,a=u;return a.id=e,this.fills.push(a),a}createNumberFormatter(u){const e={id:this.numberFormatters.length+100,formatCode:u};return this.numberFormatters.push(e),e}createFormat(u){const e={id:this.masterCellFormats.length};if(u.protection&&(e.protection=u.protection),u.font&&Fe(u.font))e.fontId=this.createFontStyle(u.font).id;else if(u.font){if(Number.isNaN(parseInt(u.font,10)))throw new Error("Passing a non-numeric font id is not supported");e.fontId=u.font}if(u.format&&Ba(u.format))e.numFmtId=this.createNumberFormatter(u.format).id;else if(u.format){if(Number.isNaN(parseInt(u.format,10)))throw new Error("Invalid number formatter id");e.numFmtId=u.format}if(u.border&&Fe(u.border))e.borderId=this.createBorderFormatter(u.border).id;else if(u.border){if(Number.isNaN(parseInt(u.border,10)))throw new Error("Passing a non-numeric border id is not supported");e.borderId=u.border}if(u.fill&&Fe(u.fill))e.fillId=this.createFill(u.fill).id;else if(u.fill){if(Number.isNaN(parseInt(u.fill,10)))throw new Error("Passing a non-numeric fill id is not supported");e.fillId=u.fill}return u.alignment&&Fe(u.alignment)&&(e.alignment=qg(u.alignment,["horizontal","justifyLastLine","readingOrder","relativeIndent","shrinkToFit","textRotation","vertical","wrapText"])),this.masterCellFormats.push(e),e}createDifferentialStyle(u){const e=this.differentialStyles.length,a={id:e};return u.font&&Fe(u.font)&&(a.font=u.font),u.border&&Fe(u.border)&&(a.border=Object.assign({top:{},left:{},right:{},bottom:{},diagonal:{}},u.border)),u.fill&&Fe(u.fill)&&(a.fill=u.fill),u.alignment&&Fe(u.alignment)&&(a.alignment=u.alignment),u.format&&Ba(u.format)&&(a.numFmt=u.format),this.differentialStyles[e]=a,a}createTableStyle(u){this.tableStyles.push(u)}createBorderFormatter(u){return u={top:{},left:{},right:{},bottom:{},diagonal:{},id:this.borders.length,...u},this.borders.push(u),u}createFontStyle(u){const e={id:this.fonts.length};return u.bold&&(e.bold=!0),u.italic&&(e.italic=!0),u.superscript&&(e.vertAlign="superscript"),u.subscript&&(e.vertAlign="subscript"),u.underline&&(typeof u.underline=="string"&&["double","singleAccounting","doubleAccounting"].includes(u.underline)?e.underline=u.underline:e.underline=!0),u.strike&&(e.strike=!0),u.outline&&(e.outline=!0),u.shadow&&(e.shadow=!0),u.size&&(e.size=u.size),u.color&&(e.color=u.color),u.fontName&&(e.fontName=u.fontName),this.fonts.push(e),e}exportBorders(u){const e=u.createElement("borders");e.setAttribute("count",this.borders.length);for(let a=0,i=this.borders.length;a{const r=u.createElement(t);return e[t].style&&r.setAttribute("style",e[t].style),e[t].color&&r.appendChild(this.exportColor(u,e[t].color)),r};return a.appendChild(i("left")),a.appendChild(i("right")),a.appendChild(i("top")),a.appendChild(i("bottom")),a.appendChild(i("diagonal")),a}exportColor(u,e){const a=u.createElement("color");return Ba(e)?(a.setAttribute("rgb",e),a):(e.tint!==void 0&&a.setAttribute("tint",e.tint),e.auto!==void 0&&a.setAttribute("auto",String(!!e.auto)),e.theme!==void 0&&a.setAttribute("theme",e.theme),a)}exportMasterCellFormats(u){const e=tu.createElement(u,"cellXfs",[["count",this.masterCellFormats.length]]);for(let a=0,i=this.masterCellFormats.length;ai.indexOf(o)!==-1);if(e.alignment){const o=e.alignment;a.appendChild(this.exportAlignment(u,o))}e.protection&&(a.appendChild(this.exportProtection(u,e.protection)),a.setAttribute("applyProtection","1"));let r=t.length;for(;r--;)a.setAttribute(t[r],e[t[r]]);return e.fillId&&a.setAttribute("applyFill","1"),e.fontId&&a.setAttribute("applyFont","1"),e.borderId&&a.setAttribute("applyBorder","1"),e.alignment&&a.setAttribute("applyAlignment","1"),e.numFmtId&&a.setAttribute("applyNumberFormat","1"),e.numFmtId!==void 0&&e.xfId===void 0&&a.setAttribute("xfId","0"),a}exportAlignment(u,e){const a=u.createElement("alignment"),i=Object.keys(e);for(let t=0,r=i.length;t{if(t==="name")return;i++;const o=u.createElement("tableStyleElement");o.setAttribute("type",t),o.setAttribute("dxfId",r),a.appendChild(o)}),a.setAttribute("count",String(i)),a}exportProtection(u,e){const a=u.createElement("protection");for(const i in e)e.hasOwn(i)&&a.setAttribute(i,e[i]);return a}toXML(){const u=tu.createXmlDoc(tu.schemas.spreadsheetml,"styleSheet"),e=u.documentElement;return e.appendChild(this.exportNumberFormatters(u)),e.appendChild(this.exportFonts(u)),e.appendChild(this.exportFills(u)),e.appendChild(this.exportBorders(u)),e.appendChild(this.exportMasterCellStyles(u)),e.appendChild(this.exportMasterCellFormats(u)),e.appendChild(this.exportCellStyles(u)),e.appendChild(this.exportDifferentialStyles(u)),this.tableStyles.length&&e.appendChild(this.exportTableStyles(u)),u}},Qg=class{constructor(u){I(this,"name",""),I(this,"id",Ze("Worksheet")),I(this,"_timezoneOffset"),I(this,"relations",null),I(this,"columnFormats",[]),I(this,"data",[]),I(this,"mergedCells",[]),I(this,"columns",[]),I(this,"sheetProtection",!1),I(this,"_headers",[]),I(this,"_footers",[]),I(this,"_tables",[]),I(this,"_drawings",[]),I(this,"_orientation"),I(this,"_margin"),I(this,"_rowInstructions",{}),I(this,"_freezePane",{}),I(this,"sharedStrings",null),I(this,"hyperlinks",[]),I(this,"sheetView"),I(this,"showZeros",null),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,this.sheetView=u.sheetView||new Yg,this.initialize(u)}initialize(u){u=u||{},this.name=u.name,this.id=Ze("Worksheet"),this._timezoneOffset=new Date().getTimezoneOffset()*60*1e3,u.columns&&this.setColumns(u.columns),this.relations=new kr}exportData(){return{relations:this.relations.exportData(),columnFormats:this.columnFormats,data:this.data,columns:this.columns,mergedCells:this.mergedCells,_headers:this._headers,_footers:this._footers,_tables:this._tables,_rowInstructions:this._rowInstructions,_freezePane:this._freezePane,name:this.name,id:this.id}}importData(u){this.relations.importData(u.relations),delete u.relations,Object.assign(this,u)}setSharedStringCollection(u){this.sharedStrings=u}addTable(u){this._tables.push(u),this.relations.addRelation(u,"table")}addDrawings(u){this._drawings.push(u),this.relations.addRelation(u,"drawingRelationship")}setRowInstructions(u,e){this._rowInstructions[u]=e}setHeader(u){if(!Array.isArray(u))throw"Invalid argument type - setHeader expects an array of three instructions";this._headers=u}setFooter(u){if(!Array.isArray(u))throw"Invalid argument type - setFooter expects an array of three instructions";this._footers=u}compilePageDetailPackage(u){return u=u||"",["&L",this.compilePageDetailPiece(u[0]||""),"&C",this.compilePageDetailPiece(u[1]||""),"&R",this.compilePageDetailPiece(u[2]||"")].join("")}compilePageDetailPiece(u){if(Ba(u))return'&"-,Regular"'.concat(u);if(Fe(u)&&!Array.isArray(u)){let e="";if(u.font||u.bold){const a=u.bold?"Bold":"Regular";e+=`&"${u.font||"-"}`,e+=`,${a}"`}else e+='&"-,Regular"';return u.underline&&(e+="&U"),u.fontSize&&(e+=`&${u.fontSize}`),e+=u.text,e}if(Array.isArray(u))return u.reduce((e,a)=>e.concat(this.compilePageDetailPiece(a)),"")}exportHeader(u){const e=u.createElement("oddHeader");return e.appendChild(u.createTextNode(this.compilePageDetailPackage(this._headers))),e}exportFooter(u){const e=u.createElement("oddFooter");return e.appendChild(u.createTextNode(this.compilePageDetailPackage(this._footers))),e}_buildCache(u){const e=u.createElement("c"),a=u.createElement("v");a.appendChild(u.createTextNode("--temp--")),e.appendChild(a);const i=u.createElement("c"),t=u.createElement("f");t.appendChild(u.createTextNode("--temp--")),i.appendChild(t);const r=u.createElement("c");r.setAttribute("t","s");const o=u.createElement("v");return o.appendChild(u.createTextNode("--temp--")),r.appendChild(o),{number:e,date:e,string:r,formula:i}}collectSharedStrings(){const u=this.data,e={};for(let a=0,i=u.length;a"u"&&(e[s]=!0)}}return Object.keys(e)}toXML(){var u,e,a;const i=this.data,t=this.columns||[],r=tu.createXmlDoc(tu.schemas.spreadsheetml,"worksheet"),o=r.documentElement;let s,l,E;o.setAttribute("xmlns:r",tu.schemas.relationships),o.setAttribute("xmlns:mc",tu.schemas.markupCompat);let d=0;const c=tu.createElement(r,"sheetData"),D=this._buildCache(r);for(E=0,l=i.length;Ed?h:d;const g=r.createElement("row");for(let x=0;x0){const m=r.createElement("hyperlinks"),h=this.hyperlinks;for(s=0,l=h.length;s0){const m=r.createElement("mergeCells");for(s=0,l=this.mergedCells.length;s0||this._footers.length>0){const m=r.createElement("headerFooter");this._headers.length>0&&m.appendChild(this.exportHeader(r)),this._footers.length>0&&m.appendChild(this.exportFooter(r)),o.appendChild(m)}for(s=0,l=this._drawings.length;s0){const m=r.createElement("tableParts");for(m.setAttribute("count",this._tables.length),s=0,l=this._tables.length;sa&&console.log(`Microsoft Excel requires work sheet names to be less than ${a+1} characters long, work sheet name "${this.worksheets[o].name}" is ${this.worksheets[o].name.length} characters long`),l.setAttribute("name",this.worksheets[o].name),l.setAttribute("sheetId",o+1),l.setAttribute("r:id",this.relations.getRelationshipId(this.worksheets[o])),i.appendChild(l)}e.appendChild(i);const t=tu.createElement(u,"definedNames");let r=0;for(const o in this.printTitles){if(!this.printTitles.hasOwn(o))continue;const s=this.printTitles[o],l=u.createElement("definedName");l.setAttribute("name","_xlnm.Print_Titles"),l.setAttribute("localSheetId",r++);let E="";s.top&&(E+=`${o}!$1:$${s.top}`,s.left&&(E+=",")),s.left&&(E+=`${o}!$A:$${s.left}`),l.appendChild(u.createTextNode(E)),t.appendChild(l)}return e.appendChild(t),u}createWorkbookRelationship(){const u=tu.createXmlDoc(tu.schemas.relationshipPackage,"Relationships");return u.documentElement.appendChild(tu.createElement(u,"Relationship",[["Id","rId1"],["Type",tu.schemas.officeDocument],["Target","xl/workbook.xml"]])),u}_generateCorePaths(u){let e,a;for(Re[this.styleSheet.id]="styles.xml",Re[this.sharedStrings.id]="sharedStrings.xml",Re[this.id]="/xl/workbook.xml",e=0,a=this.tables.length;e ${i}`}}generateFiles(){return new Promise(u=>{const e={};this._generateCorePaths(e);for(let a=0,i=this.worksheets.length;a{n.generateFiles().then(r=>{for(const[o,s]of Object.entries(r))a[o.substr(1)]=pr(s);return Vg(a,(e==null?void 0:e.zipOptions)||{},(o,s)=>{if(o){t(o);return}if(u==="Uint8Array")i(s);else{const l=(e==null?void 0:e.fileFormat)??"xlsx";let E=e==null?void 0:e.mimeType;E===void 0&&(E=l==="xls"?"application/vnd.ms-excel":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),i(new Blob([s],{type:E}))}})})})}function eC(n,u,e){if((e==null?void 0:e.downloadType)==="node")throw new Error('[Excel-Builder-Vanilla] Please note that `downloadExcelFile()` is currently only supporting the "browser" download type at the moment.');const a=u.match(/.*\.xls$/)?"xls":"xlsx";return uC(n,"Blob",{...e,fileFormat:a}).then(i=>{aC(u,i)})}function aC(n,u){const e=document.createElement("a"),a=URL.createObjectURL(u);e&&document&&(e.textContent="download",e.href=a,e.setAttribute("download",n),e.style.visibility="hidden",document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(a))}const iC=(n,{excelFormatId:u})=>u!==void 0?{value:n,metadata:{style:u}}:n,tC=(n,{columnDef:u,excelFormatId:e,gridOptions:a})=>({value:typeof n=="string"&&/\d/g.test(n)?nC(n,u,a):n,metadata:{style:e}});function nC(n,u,e){let a=n;if(typeof n=="string"&&n){const i=se("decimalSeparator",u,e,_.DEFAULT_NUMBER_DECIMAL_SEPARATOR),t=parseFloat(i===","?n.replace(/[^0-9,-]+/g,"").replace(",","."):n.replace(/[^\d.-]/g,""));a=isNaN(t)?n:t}return a}function rC(n,u,e,a,i=!0){const t=ki(e);let r,o=iC;return t===C.number&&i&&(r=Eo(n,u,e,a,"cell").excelFormat.id,o=tC),{excelFormatId:r,getDataValueParser:o}}function oC(n,u){var e;return((e=n==null?void 0:n[u.groupType])==null?void 0:e[u.columnDef.field])??0}function sC(n,u,e){var i;let a;if(e==="group")switch(n.groupTotalsFormatter){case su.avgTotalsCurrency:case su.avgTotalsDollar:case su.sumTotalsCurrency:case su.sumTotalsCurrencyColored:case su.sumTotalsDollar:case su.sumTotalsDollarBold:case su.sumTotalsDollarColored:case su.sumTotalsDollarColoredBold:a="currency";break;case su.avgTotalsPercentage:a="percent";break;case su.avgTotals:case su.minTotals:case su.maxTotals:case su.sumTotals:case su.sumTotalsColored:case su.sumTotalsBold:default:a="decimal";break}else if(n.formatter===P.multiple&&Array.isArray((i=n.params)==null?void 0:i.formatters)){a="decimal";for(const t of n.params.formatters)if(a=cl(t),a!=="decimal")break}else a=cl(n.formatter);return Xu(n,u,a,e)}function cl(n){let u;switch(n){case P.currency:case P.dollar:case P.dollarColored:case P.dollarColoredBold:u="currency";break;case P.percent:case P.percentComplete:case P.percentCompleteBar:case P.percentCompleteBarWithText:case P.percentSymbol:u="percent";break;case P.decimal:default:u="decimal";break}return u}function Eo(n,u,e,a,i){var l,E;let t="",r=((l=e.groupTotalsExcelExportOptions)==null?void 0:l.groupType)||"",o;const s=ki(e);if(i==="group")switch(e.groupTotalsFormatter){case su.avgTotals:case su.avgTotalsCurrency:case su.avgTotalsDollar:case su.avgTotalsPercentage:r="avg";break;case su.minTotals:r="min";break;case su.maxTotals:r="max";break;case su.sumTotals:case su.sumTotalsBold:case su.sumTotalsColored:case su.sumTotalsCurrency:case su.sumTotalsCurrencyColored:case su.sumTotalsDollar:case su.sumTotalsDollarColoredBold:case su.sumTotalsDollarColored:case su.sumTotalsDollarBold:r="sum";break;default:o=u.numberFormat;break}else switch(s){case C.number:switch(e.formatter){case P.multiple:if(Array.isArray((E=e.params)==null?void 0:E.formatters))for(const d of e.params.formatters){const{excelFormat:c}=Eo(n,u,{...e,formatter:d},a,i);if(c!==u.numberFormat){o=c;break}}o||(o=u.numberFormat);break;case P.currency:case P.decimal:case P.dollar:case P.dollarColored:case P.dollarColoredBold:case P.percent:case P.percentComplete:case P.percentCompleteBar:case P.percentCompleteBarWithText:case P.percentSymbol:t=ml(e,a,"cell");break;default:o=u.numberFormat;break}break}return!o&&(e.formatter||e.groupTotalsFormatter)&&(t=ml(e,a,i,r),u.hasOwnProperty(t)||(u[t]=n.createFormat({format:t})),o=u[t]),{excelFormat:o,groupType:r}}function Dl(n){const[u,e,a,i,t,r,o,s]=(n==null?void 0:n.match(/^([^\d(-]*)([(]?)([^\d]*)([-]?[\w]]?[\d\s]*[.,\d]*[\d]*[^)\s%]?)([^\d.,)]*)([)]?)([^\d]*)$/i))||[],l=(t||"").replace(/1/g,"0").replace(/[2]/g,"#");return[Qi(e??""),a??"",Qi(i??""),l,Qi(r??""),o??"",Qi(s??"")].join("").replace(",",",")}function ml(n,u,e,a=""){let i="",t="",r="";const{minDecimal:o,maxDecimal:s,thousandSeparator:l}=sC(n,u,e),d=parseFloat(`${l?"2220":"0"}.${lC(o,s)}`);return e==="group"&&n.groupTotalsFormatter?(t=Vu(n.groupTotalsFormatter({[a]:{[n.field]:d}},n,u)),r=Vu(n.groupTotalsFormatter({[a]:{[n.field]:-d}},n,u))):n.formatter&&(t=Vu(n.formatter(0,0,d,n,{},u)),r=Vu(n.formatter(0,0,-d,n,{},u))),t&&r&&(i=Dl(t)+";"+Dl(r)),i}function Qi(n){return n&&`"${n}"`}function lC(n,u){return hl("1",n)+hl("2",u-n)}function hl(n,u){let e="";for(let a=0;a{const i={name:this._excelExportOptions.sheetName||"Sheet1"};this._workbook=new Xg,this._sheet=this._workbook.createWorksheet(i),this._stylesheet=this._workbook.getStyleSheet();const t=this._stylesheet.createFormat({font:{bold:!0}}),r=this._stylesheet.createFormat({format:"@"}),o=this._stylesheet.createFormat({format:"0"});this._stylesheetFormats={boldFormat:t,numberFormat:o,stringFormat:r},this._sheet.setColumnFormats([t]);const s=this.getDataOutput();setTimeout(async()=>{var m,h,g,x;(h=(m=this._gridOptions)==null?void 0:m.excelExportOptions)!=null&&h.customExcelHeader&&this._gridOptions.excelExportOptions.customExcelHeader(this._workbook,this._sheet);const l=((g=this._grid)==null?void 0:g.getColumns())||[];this._sheet.setColumns(this.getColumnStyles(l));const E=this._sheet.data;let d=E;Array.isArray(E)&&Array.isArray(s)&&(d=this._sheet.data.concat(s)),this._sheet.setData(d),this._workbook.addWorksheet(this._sheet);let c=(x=this._excelExportOptions)==null?void 0:x.mimeType;c===void 0&&(c=this._fileFormat===Hu.xls?"application/vnd.ms-excel":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");const D=`${this._excelExportOptions.filename}.${this._fileFormat}`;eC(this._workbook,D,{mimeType:c}).then(()=>{var p;(p=this._pubSubService)==null||p.publish("onAfterExportToExcel",{filename:D,mimeType:c}),a(!0)})})})}getExcelColumnNameByIndex(u){const e="ZABCDEFGHIJKLMNOPQRSTUVWXY";let a=Math.floor(u/26);const i=Math.floor(u%26);return i===0&&a--,u>26?this.getExcelColumnNameByIndex(a)+e[i]:e[i]+""}getDataOutput(){var r,o;const u=((r=this._grid)==null?void 0:r.getColumns())||[],e=[],a=(o=this._gridOptions)==null?void 0:o.excelExportOptions,i=a==null?void 0:a.columnHeaderStyle;let t=this._stylesheetFormats.boldFormat.id;if(i&&(t=this._stylesheet.createFormat(i).id),this._gridOptions.createPreHeaderPanel&&this._gridOptions.showPreHeaderPanel&&!this._gridOptions.enableDraggableGrouping){const s=this._stylesheet.createFormat({alignment:{horizontal:"center"},font:{bold:!0}});e.push(this.getColumnGroupedHeaderTitlesData(u,{style:s==null?void 0:s.id})),this._hasColumnTitlePreHeader=!0}return e.push(this.getColumnHeaderData(u,{style:t})),this.pushAllGridRowDataToArray(e,u),e}getColumnStyles(u){var i,t;const e=this._dataView.getGrouping(),a=[];return Array.isArray(e)&&e.length>0&&a.push({bestFit:!0,columnStyles:((t=(i=this._gridOptions)==null?void 0:i.excelExportOptions)==null?void 0:t.customColumnWidth)??10}),u.forEach(r=>{var s,l,E;const o=r.excludeFromExport??!1;(r.width===void 0||r.width>0)&&!o&&a.push({bestFit:!0,width:((s=r.excelExportOptions)==null?void 0:s.width)??((E=(l=this._gridOptions)==null?void 0:l.excelExportOptions)==null?void 0:E.customColumnWidth)??10})}),a}getColumnGroupedHeaderTitlesData(u,e){let a=[];this._groupedColumnHeaders=this.getColumnGroupedHeaderTitles(u)||[],this._groupedColumnHeaders&&Array.isArray(this._groupedColumnHeaders)&&this._groupedColumnHeaders.length>0&&(a=this._groupedColumnHeaders.map(r=>({value:r.title,metadata:e})));let i=0;const t=this._groupedColumnHeaders.length;for(let r=0;r0&&(a=this._columnHeaders.map(t=>({value:Vu(t.title),metadata:e})));const i=this.getGroupColumnTitle();return i&&a.unshift({value:i,metadata:e}),a}getGroupColumnTitle(){var a,i;let u=this._excelExportOptions.groupingColumnHeaderTitle;!u&&this._gridOptions.enableTranslate&&((a=this._translaterService)!=null&&a.translate)?u=this._translaterService.translate(`${Q0(this._gridOptions)}GROUP_BY`):u||(u=(i=this._locales)==null?void 0:i.TEXT_GROUP_BY);const e=this._dataView.getGrouping();return Array.isArray(e)&&e.length>0?(this._hasGroupedItems=!0,u):(this._hasGroupedItems=!1,null)}getColumnGroupedHeaderTitles(u){const e=[];return Array.isArray(u)&&u.forEach(a=>{var r;let i="";a.columnGroupKey&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)?i=this._translaterService.translate(a.columnGroupKey):i=a.columnGroup||"";const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:a.field||a.id,title:i||""})}),e}getColumnHeaders(u){const e=[];return Array.isArray(u)&&u.forEach(a=>{var r;let i="";(a.nameKey||a.nameKey)&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)?i=this._translaterService.translate(a.nameKey||a.nameKey):i=i0(a.name||"","innerHTML")||R0(a.field);const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:(a.field||a.id)+"",title:i})}),e}pushAllGridRowDataToArray(u,e){const a=this._dataView.getLength();for(let i=0;i1||s==="*"&&h>0||(s=(v==null?void 0:v.colspan)??1),s==="*"?x=u.length-h:(x=s,g.id in F&&(p=g.id,l=h))}if(s==="*"&&h>0||!isNaN(s)&&+s>1&&g.id!==p){const F=e+(this._hasColumnTitlePreHeader?3:2);if(typeof s=="number"&&x-1===1){const v=this.getExcelColumnNameByIndex(l+1),b=this.getExcelColumnNameByIndex(h+1);this._sheet.mergeCells(`${v}${F}`,`${b}${F}`),r.push("")}else if(s==="*"&&x===1){const v=this.getExcelColumnNameByIndex(h+1);this._sheet.mergeCells(`A${F}`,`${v}${F}`)}else r.push("");typeof s=="number"&&!isNaN(s)&&+s>1&&(x=s--)}else{let F="";const v=ki(g),b={...this._excelExportOptions};if(g.exportWithFormatter!==!1&&Mr(v)&&(b.exportWithFormatter=!0),F=Xr(e,h,g,a,this._grid,b),!this._regularCellExcelFormats.hasOwnProperty(g.id)){const y=((d=g.excelExportOptions)==null?void 0:d.autoDetectCellFormat)??((c=this._excelExportOptions)==null?void 0:c.autoDetectCellFormat),w=rC(this._stylesheet,this._stylesheetFormats,g,this._grid,y);(D=g.excelExportOptions)!=null&&D.style&&(w.excelFormatId=this._stylesheet.createFormat(g.excelExportOptions.style).id),(m=g.excelExportOptions)!=null&&m.valueParserCallback&&(w.getDataValueParser=g.excelExportOptions.valueParserCallback),this._regularCellExcelFormats[g.id]=w}typeof F=="string"&&(g.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(F=Vu(F));const{excelFormatId:B,getDataValueParser:S}=this._regularCellExcelFormats[g.id];F=S(F,{columnDef:g,excelFormatId:B,stylesheet:this._stylesheet,gridOptions:this._gridOptions,dataRowIdx:i,dataContext:a}),r.push(F),t++}}return r}readGroupedRowTitle(u){var a,i,t;const e=Vu(u.title);if((a=this._excelExportOptions)!=null&&a.addGroupIndentation){const r=((i=this._excelExportOptions)==null?void 0:i.groupCollapsedSymbol)||"⮞",o=((t=this._excelExportOptions)==null?void 0:t.groupExpandedSymbol)||"⮟";return(u.collapsed?r:o)+" "+Ra(5*u.level)+e}return e}readGroupedTotalRows(u,e,a){const t=[this._excelExportOptions.groupingAggregatorRowText||""];return u.forEach(r=>{var d,c,D,m,h,g,x;let o="";const s=ki(r),l=r.excludeFromExport||!1;if(r.exportCustomGroupTotalsFormatter){const p=r.exportCustomGroupTotalsFormatter(e,r,this._grid);o=p instanceof HTMLElement?p.textContent||"":p}const E=((d=r.excelExportOptions)==null?void 0:d.autoDetectCellFormat)??((c=this._excelExportOptions)==null?void 0:c.autoDetectCellFormat);if(s===C.number&&E!==!1){let p=this._groupTotalExcelFormats[r.id];p!=null&&p.groupType||(p=Eo(this._stylesheet,this._stylesheetFormats,r,this._grid,"group"),(D=r.groupTotalsExcelExportOptions)!=null&&D.style&&(p.excelFormat=this._stylesheet.createFormat(r.groupTotalsExcelExportOptions.style)),this._groupTotalExcelFormats[r.id]=p);const F=((m=r.groupTotalsExcelExportOptions)==null?void 0:m.valueParserCallback)??oC;if(((h=e[p.groupType])==null?void 0:h[r.field])!==void 0){const v=F(e,{columnDef:r,groupType:p.groupType,excelFormatId:(g=p.excelFormat)==null?void 0:g.id,stylesheet:this._stylesheet,dataRowIdx:a});o=typeof v=="object"&&v.hasOwnProperty("metadata")?v:o={value:v,metadata:{style:(x=p.excelFormat)==null?void 0:x.id}}}}else if(r.groupTotalsFormatter){const p=r.groupTotalsFormatter(e,r,this._grid);o=p instanceof HTMLElement?p.textContent||"":p}typeof o=="string"&&(r.sanitizeDataExport||this._excelExportOptions.sanitizeDataExport)&&(o=Vu(o)),(r.width===void 0||r.width>0)&&!l&&t.push(o)}),t}}function Xi(n,u,e){return u<=n&&n<=e}function L4(n){if(n===void 0)return{};if(n===Object(n))return n;throw TypeError("Could not convert argument to dictionary")}function dC(n){for(var u=String(n),e=u.length,a=0,i=[];a57343)i.push(t);else if(56320<=t&&t<=57343)i.push(65533);else if(55296<=t&&t<=56319)if(a===e-1)i.push(65533);else{var r=n.charCodeAt(a+1);if(56320<=r&&r<=57343){var o=t&1023,s=r&1023;i.push(65536+(o<<10)+s),a+=1}else i.push(65533)}a+=1}return i}var R4=-1;function N4(n){this.tokens=[].slice.call(n)}N4.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():R4},prepend:function(n){if(Array.isArray(n))for(var u=n;u.length;)this.tokens.unshift(u.pop());else this.tokens.unshift(n)},push:function(n){if(Array.isArray(n))for(var u=n;u.length;)this.tokens.push(u.shift());else this.tokens.push(n)}};var vr=-1,xl="utf-8";function Kt(n,u){if(!(this instanceof Kt))return new Kt(n,u);if(n=n!==void 0?String(n).toLowerCase():xl,n!==xl)throw new Error("Encoding not supported. Only utf-8 is supported");u=L4(u),this._streaming=!1,this._encoder=null,this._options={fatal:!!u.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}Kt.prototype={encode:function(u,e){u=u?String(u):"",e=L4(e),this._streaming||(this._encoder=new cC(this._options)),this._streaming=!!e.stream;for(var a=[],i=new N4(dC(u)),t;!i.endOfStream()&&(t=this._encoder.handler(i,i.read()),t!==vr);)Array.isArray(t)?a.push.apply(a,t):a.push(t);if(!this._streaming){for(;t=this._encoder.handler(i,i.read()),t!==vr;)Array.isArray(t)?a.push.apply(a,t):a.push(t);this._encoder=null}return new Uint8Array(a)}};function cC(n){n.fatal,this.handler=function(u,e){if(e===R4)return vr;if(Xi(e,0,127))return e;var a,i;Xi(e,128,2047)?(a=1,i=192):Xi(e,2048,65535)?(a=2,i=224):Xi(e,65536,1114111)&&(a=3,i=240);for(var t=[(e>>6*a)+i];a>0;){var r=e>>6*(a-1);t.push(128|r&63),a-=1}return t}}const DC={delimiter:ze.comma,filename:"export",format:Hu.csv,useUtf8WithBom:!0};class $a{constructor(){this._delimiter=",",this._exportQuoteWrapper="",this._fileFormat=Hu.csv,this._lineCarriageReturn=` -`,this._columnHeaders=[],this._hasGroupedItems=!1,this.className="TextExportService"}get _datasetIdPropName(){return this._gridOptions&&this._gridOptions.datasetIdPropertyName||"id"}get _dataView(){var u;return(u=this._grid)==null?void 0:u.getData()}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}dispose(){var u;(u=this._pubSubService)==null||u.unsubscribeAll()}init(u,e){var a;if(this._grid=u,this._pubSubService=e.get("PubSubService"),this._locales=this._gridOptions&&this._gridOptions.locales||_.locales,this._translaterService=(a=this._gridOptions)==null?void 0:a.translater,this._gridOptions.enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be passed in the "translater" Grid Options when "enableTranslate" is enabled. (example: this.gridOptions = { enableTranslate: true, translater: this.translaterService })')}exportToFile(u){if(!this._grid||!this._dataView||!this._pubSubService)throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableTextExport"?');return new Promise(e=>{var i;(i=this._pubSubService)==null||i.publish("onBeforeExportToTextFile",!0),this._exportOptions=Mu(!0,{},{...DC,...this._gridOptions.textExportOptions,...u}),this._delimiter=this._exportOptions.delimiterOverride||this._exportOptions.delimiter||"",this._fileFormat=this._exportOptions.format||Hu.csv;const a=this.getDataOutput();setTimeout(()=>{var r;const t={filename:`${this._exportOptions.filename}.${this._fileFormat}`,format:this._fileFormat||Hu.csv,mimeType:this._exportOptions.mimeType||"text/plain",useUtf8WithBom:this._exportOptions&&this._exportOptions.hasOwnProperty("useUtf8WithBom")?this._exportOptions.useUtf8WithBom:!0};this.startDownloadFile({...t,content:a}),(r=this._pubSubService)==null||r.publish("onAfterExportToTextFile",t),e(!0)},0)})}startDownloadFile(u){const e=Wl(u.content);let a;u.format===Hu.csv?a=new Kt("utf-8").encode(e):a=e;const i=new Blob([u.useUtf8WithBom?"\uFEFF":"",a],{type:u.mimeType});if(typeof navigator.msSaveOrOpenBlob=="function")navigator.msSaveOrOpenBlob(i,u.filename);else{const t=document.createElement("a"),r=URL.createObjectURL(i);t.textContent="download",t.href=r,t.setAttribute("download",u.filename),t.style.visibility="hidden",document.body.appendChild(t),t.click(),document.body.removeChild(t)}}getDataOutput(){var t,r,o;const u=this._grid.getColumns()||[];let e=this._exportOptions.groupingColumnHeaderTitle;!e&&this._gridOptions.enableTranslate&&((t=this._translaterService)!=null&&t.translate)&&((o=(r=this._translaterService)==null?void 0:r.getCurrentLanguage)!=null&&o.call(r))?e=this._translaterService.translate(`${Q0(this._gridOptions)}GROUP_BY`):e||(e=this._locales&&this._locales.TEXT_GROUP_BY),this._exportQuoteWrapper=this._fileFormat===Hu.csv?'"':"";let a="";const i=this._dataView.getGrouping();if(i&&Array.isArray(i)&&i.length>0?(this._hasGroupedItems=!0,a+=this._fileFormat===Hu.csv?`"${e}"${this._delimiter}`:`${e}${this._delimiter}`):this._hasGroupedItems=!1,this._gridOptions.createPreHeaderPanel&&this._gridOptions.showPreHeaderPanel&&!this._gridOptions.enableDraggableGrouping&&(this._groupedColumnHeaders=this.getColumnGroupedHeaderTitles(u)||[],this._groupedColumnHeaders&&Array.isArray(this._groupedColumnHeaders)&&this._groupedColumnHeaders.length>0)){const s=this._groupedColumnHeaders.map(l=>`${this._exportQuoteWrapper}${l.title}${this._exportQuoteWrapper}`);a+=s.join(this._delimiter)+this._lineCarriageReturn}if(this._columnHeaders=this.getColumnHeaders(u)||[],this._columnHeaders&&Array.isArray(this._columnHeaders)&&this._columnHeaders.length>0){const s=this._columnHeaders.map(l=>Vu(`${this._exportQuoteWrapper}${l.title}${this._exportQuoteWrapper}`));a+=s.join(this._delimiter)+this._lineCarriageReturn}return a+=this.getAllGridRowData(u,this._lineCarriageReturn),a}getAllGridRowData(u,e){const a=[],i=this._dataView.getLength();for(let t=0;t{var r,o,s;let i="";a.columnGroupKey&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)&&((s=(o=this._translaterService)==null?void 0:o.getCurrentLanguage)!=null&&s.call(o))?i=this._translaterService.translate(a.columnGroupKey):i=a.columnGroup||"";const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:a.field||a.id,title:i||""})}),e}getColumnHeaders(u){const e=[];return u&&Array.isArray(u)&&u.forEach(a=>{var r,o,s;let i="";(a.nameKey||a.nameKey)&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)&&((s=(o=this._translaterService)==null?void 0:o.getCurrentLanguage)!=null&&s.call(o))?i=this._translaterService.translate(a.nameKey||a.nameKey):i=i0(a.name||"","innerHTML")||R0(a.field);const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:a.field||a.id,title:i||""})}),e}readRegularRowData(u,e,a){let i=0;const t=[],r=this._exportQuoteWrapper;let o=1;const s=this._dataView.getItemMetadata(e);for(let l=0,E=u.length;l1||o==="*"&&l>0||(o=(m==null?void 0:m.colspan)??1),o!=="*"&&d.id in D&&(c=d.id)}if(o==="*"&&l>0||!isNaN(o)&&+o>1&&d.id!==c)t.push(""),!isNaN(o)&&+o>1&&o--;else{let D=Xr(e,l,d,a,this._grid,this._exportOptions);(d.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(D=Vu(D)),this._fileFormat===Hu.csv&&D&&(D=D.toString().replace(/"/gi,'""'));const m=d!=null&&d.exportCsvForceToKeepAsString?"=":"";t.push(m+r+D+r)}i++}return t.join(this._delimiter)}readGroupedTitleRow(u){let e=Vu(u.title);const a=this._exportQuoteWrapper;return e=Ra(5*u.level)+e,this._fileFormat===Hu.csv&&(e=e.toString().replace(/"/gi,'""')),a+e+a}readGroupedTotalRow(u,e){const a=this._exportOptions.delimiter,i=this._exportOptions.format,t=this._exportOptions.groupingAggregatorRowText||"",r=this._exportQuoteWrapper,o=[`${r}${t}${r}`];return u.forEach(s=>{let l="";const E=s.excludeFromExport||!1;if(s.groupTotalsFormatter){const d=s.groupTotalsFormatter(e,s,this._grid);l=d instanceof HTMLElement?d.textContent||"":d}(s.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(l=Vu(l)),i===Hu.csv&&(l=l.toString().replace(/"/gi,'""')),(s.width===void 0||s.width>0)&&!E&&o.push(r+l+r)}),o.join(a)}}const mC=500;class hC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"commandQueue",[]);k(this,"sgb");k(this,"excelExportService");k(this,"loadingClass","");this.excelExportService=new y0,this._bindingEventService=new pu}attached(){this.initializeGrid(),this.dataset=this.loadData(mC);const u=document.querySelector(".grid2");this._bindingEventService.bind(u,"onbeforeexporttoexcel",()=>this.loadingClass="mdi mdi-load mdi-spin-1s mdi-22px"),this._bindingEventService.bind(u,"onafterexporttoexcel",()=>this.loadingClass=""),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),document.body.classList.add("material-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme")}initializeGrid(){this.columnDefinitions=[{id:"sel",name:"#",field:"num",width:40,type:C.number,excludeFromExport:!0,maxWidth:70,resizable:!0,filterable:!0,selectable:!1,focusable:!1},{id:"title",name:"Title",field:"title",width:50,minWidth:50,cssClass:"cell-title",filterable:!0,sortable:!0},{id:"duration",name:"Duration",field:"duration",minWidth:50,width:60,filterable:!0,filter:{model:H.slider,operator:">=",filterOptions:{hideSliderNumber:!0,enableSliderTrackColoring:!0,sliderTrackFilledColor:"#9ac49c"}},sortable:!0,type:C.number,groupTotalsFormatter:su.sumTotals,params:{groupFormatterPrefix:"Total: "}},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:70,width:90,formatter:P.percentCompleteBar,filterable:!0,filter:{model:H.compoundSlider},sortable:!0,type:C.number,groupTotalsFormatter:su.avgTotalsPercentage,params:{groupFormatterPrefix:"Avg: "}},{id:"start",name:"Start",field:"start",minWidth:60,maxWidth:130,filterable:!0,filter:{model:H.compoundDate},sortable:!0,type:C.dateIso,formatter:P.dateIso,exportWithFormatter:!0},{id:"finish",name:"Finish",field:"finish",minWidth:60,maxWidth:130,filterable:!0,filter:{model:H.compoundDate},sortable:!0,type:C.dateIso,outputType:C.dateIso,formatter:P.dateIso},{id:"cost",name:"Cost",field:"cost",minWidth:70,width:80,sortable:!0,filterable:!0,filter:{model:H.compoundInputNumber},type:C.number,formatter:P.currency,groupTotalsFormatter:su.sumTotalsCurrency,params:{displayNegativeNumberWithParentheses:!0,currencyPrefix:"€",groupFormatterCurrencyPrefix:"€",minDecimal:2,maxDecimal:4,groupFormatterPrefix:"Total: "},excelExportOptions:{style:{font:{outline:!0,italic:!0},format:"€0.00##;[Red](€0.00##)"},width:18},groupTotalsExcelExportOptions:{style:{alignment:{horizontal:"center"},font:{bold:!0,color:"FF005289",underline:"single",fontName:"Consolas",size:10},fill:{type:"pattern",patternType:"solid",fgColor:"FFE6F2F6"},border:{top:{color:"FFa500ff",style:"thick"},left:{color:"FFa500ff",style:"medium"},right:{color:"FFa500ff",style:"dotted"},bottom:{color:"FFa500ff",style:"double"}},format:'"Total: "€0.00##;[Red]"Total: "(€0.00##)'}}},{id:"effortDriven",name:"Effort Driven",minWidth:30,width:80,maxWidth:90,cssClass:"cell-effort-driven",field:"effortDriven",formatter:P.checkmarkMaterial,sortable:!0,filterable:!0,filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}]},excelExportOptions:{width:11}}],this.gridOptions={autoResize:{bottomPadding:30,rightPadding:10},enableTextExport:!0,enableFiltering:!0,enableGrouping:!0,columnPicker:{onColumnsChanged:(u,e)=>console.log(u,e)},enableExcelExport:!0,excelExportOptions:{filename:"my-export",sanitizeDataExport:!0,columnHeaderStyle:{font:{color:"FFFFFFFF"},fill:{type:"pattern",patternType:"solid",fgColor:"FF4a6c91"}},customExcelHeader:(u,e)=>{const a=u.getStyleSheet().createFormat({font:{size:18,fontName:"Calibri",bold:!0,color:"FFFFFFFF"},alignment:{wrapText:!0,horizontal:"center"},fill:{type:"pattern",patternType:"solid",fgColor:"FF203764"}});e.setRowInstructions(0,{height:50});const i="Grouping and Aggregator - My header is too long enough, so it will wrap";e.mergeCells("A1","H1"),e.data.push([{value:i,metadata:{style:a.id}}])}},textExportOptions:{filename:"my-export",sanitizeDataExport:!0},externalResources:[this.excelExportService,new $a],showCustomFooter:!0,customFooterOptions:{leftFooterText:'Grid created with Slickgrid-Universal',hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!1}}}loadData(u){const e=[];for(let a=0;a`Duration: ${o.value} (${o.count} items)`,comparer:(o,s)=>T0.numeric(o.value,s.value,Pu.asc),aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],aggregateCollapsed:!1,lazyTotalsCalculation:!0}),(i=(a=this.sgb)==null?void 0:a.slickGrid)==null||i.setSortColumns([{columnId:"duration",sortAsc:!0}]),(r=(t=this.sgb)==null?void 0:t.slickGrid)==null||r.invalidate()}groupByDurationOrderByCount(u){var e,a,i,t,r,o;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping({getter:"duration",formatter:s=>`Duration: ${s.value} (${s.count} items)`,comparer:(s,l)=>s.count-l.count,aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],aggregateCollapsed:u,lazyTotalsCalculation:!0}),(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.invalidate()}groupByDurationEffortDriven(){var e,a,i,t,r,o,s,l;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping([{getter:"duration",formatter:E=>`Duration: ${E.value} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!0,lazyTotalsCalculation:!0},{getter:"effortDriven",formatter:E=>`Effort-Driven: ${E.value?"True":"False"} (${E.count} items)`,aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],collapsed:!0,lazyTotalsCalculation:!0}]);const u=[{columnId:"duration",sortAsc:!0},{columnId:"effortDriven",sortAsc:!0}];(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.setSortColumns(u),(l=(s=this.sgb)==null?void 0:s.slickGrid)==null||l.invalidate()}groupByDurationEffortDrivenPercent(){var e,a,i,t,r,o,s,l;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping([{getter:"duration",formatter:E=>`Duration: ${E.value} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!0,lazyTotalsCalculation:!0},{getter:"effortDriven",formatter:E=>`Effort-Driven: ${E.value?"True":"False"} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],lazyTotalsCalculation:!0},{getter:"percentComplete",formatter:E=>`% Complete: ${E.value} (${E.count} items)`,aggregators:[new vu.Avg("percentComplete")],aggregateCollapsed:!0,collapsed:!0,lazyTotalsCalculation:!0}]);const u=[{columnId:"duration",sortAsc:!0},{columnId:"effortDriven",sortAsc:!0},{columnId:"percentComplete",sortAsc:!0}];(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.setSortColumns(u),(l=(s=this.sgb)==null?void 0:s.slickGrid)==null||l.invalidate()}}class xC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"editCommandQueue",[]);k(this,"excelExportService");k(this,"sgb");k(this,"durationOrderByCount",!1);k(this,"draggableGroupingPlugin");k(this,"loadingClass","");k(this,"selectedGroupingFields",["","",""]);this._bindingEventService=new pu,this.excelExportService=new y0}attached(){this.initializeGrid(),this.dataset=this.loadData(500);const u=document.querySelector(".grid3");this._bindingEventService.bind(u,"onclick",this.handleOnClick.bind(this)),this._bindingEventService.bind(u,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(u,"onvalidationerror",this.handleValidationError.bind(this)),this._bindingEventService.bind(u,"onitemdeleted",this.handleItemDeleted.bind(this)),this._bindingEventService.bind(u,"onbeforeexporttoexcel",()=>this.loadingClass="mdi mdi-load mdi-spin-1s mdi-22px"),this._bindingEventService.bind(u,"onafterexporttoexcel",()=>this.loadingClass=""),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset)}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",columnGroup:"Common Factor",sortable:!0,type:C.string,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0,minLength:5,maxLength:255},filterable:!0,grouping:{getter:"title",formatter:u=>`Title: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"duration",name:"Duration",field:"duration",columnGroup:"Common Factor",sortable:!0,filterable:!0,editor:{model:$.float,decimal:2,valueStep:1,maxValue:1e4,alwaysSaveOnEnterKey:!0},type:C.number,groupTotalsFormatter:su.sumTotals,grouping:{getter:"duration",formatter:u=>`Duration: ${u.value} (${u.count} items)`,comparer:(u,e)=>this.durationOrderByCount?u.count-e.count:T0.numeric(u.value,e.value,Pu.asc),aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"start",name:"Start",field:"start",sortable:!0,columnGroup:"Period",type:C.date,outputType:C.dateIso,filterable:!0,filter:{model:H.compoundDate},formatter:P.dateIso,editor:{model:$.date},grouping:{getter:"start",formatter:u=>`Start: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"finish",name:"Finish",field:"finish",columnGroup:"Period",sortable:!0,editor:{model:$.date,editorOptions:{range:{min:"today"}}},type:C.date,outputType:C.dateIso,formatter:P.dateIso,filterable:!0,filter:{model:H.dateRange},grouping:{getter:"finish",formatter:u=>`Finish: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"cost",name:"Cost",field:"cost",columnGroup:"Analysis",width:90,sortable:!0,filterable:!0,formatter:P.dollar,exportWithFormatter:!0,groupTotalsFormatter:su.sumTotalsDollar,type:C.number,grouping:{getter:"cost",formatter:u=>`Cost: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!0,collapsed:!0}},{id:"percentComplete",name:"% Complete",field:"percentComplete",columnGroup:"Analysis",type:C.number,editor:{model:$.slider,minValue:0,maxValue:100},sortable:!0,filterable:!0,filter:{model:H.slider,operator:">="},groupTotalsFormatter:su.avgTotalsPercentage,grouping:{getter:"percentComplete",formatter:u=>`% Complete: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1},params:{groupFormatterPrefix:"Avg: "}},{id:"effortDriven",name:"Effort-Driven",field:"effortDriven",columnGroup:"Analysis",width:80,minWidth:20,maxWidth:100,cssClass:"cell-effort-driven",sortable:!0,filterable:!0,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect},exportWithFormatter:!1,formatter:P.checkmarkMaterial,grouping:{getter:"effortDriven",formatter:u=>`Effort-Driven: ${u.value?"True":"False"} (${u.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],collapsed:!1}},{id:"action",name:"Action",field:"action",width:90,maxWidth:90,excludeFromExport:!0,formatter:()=>'',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"command2",title:"Command 2",positionOrder:62,action:(u,e)=>{console.log(e.dataContext,e.column)},itemUsabilityOverride:u=>!u.dataContext.completed},{command:"command1",title:"Command 1",cssClass:"orange",positionOrder:61},{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"red",textCssClass:"bold",itemVisibilityOverride:u=>!u.dataContext.completed},{divider:!0,command:"",positionOrder:63},{command:"help",title:"Help",iconCssClass:"mdi mdi-help-circle-outline",positionOrder:66},{command:"something",title:"Disabled Command",disabled:!0,positionOrder:67}],optionTitle:"Change Effort-Driven Flag",optionItems:[{option:!0,title:"True",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,title:"False",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}}],this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},dataView:{useCSPSafeFilter:!0},headerMenu:{hideFreezeColumnsCommand:!1},gridMenu:{hideClearFrozenColumnsCommand:!1},enableAutoSizeColumns:!0,enableAutoResize:!0,enableCellNavigation:!0,enableTextExport:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0},externalResources:[new $a,this.excelExportService],enableFiltering:!0,rowSelectionOptions:{selectActiveRow:!1},showCustomFooter:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:26,createTopHeaderPanel:!0,showTopHeaderPanel:!0,topHeaderPanelHeight:35,rowHeight:33,headerRowHeight:35,enableDraggableGrouping:!0,draggableGrouping:{dropPlaceHolderText:"Drop a column header here to group by the column",deleteIconCssClass:"mdi mdi-close text-color-danger",sortAscIconCssClass:"mdi mdi-arrow-up",sortDescIconCssClass:"mdi mdi-arrow-down",onGroupChanged:(u,e)=>this.onGroupChanged(e),onExtensionRegistered:u=>this.draggableGroupingPlugin=u},enableCheckboxSelector:!0,enableRowSelection:!0,checkboxSelector:{hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},editCommandHandler:(u,e,a)=>{this.editCommandQueue.push(a),a.execute()},enableCellMenu:!0,cellMenu:{onCommand:(u,e)=>this.executeCommand(u,e),onOptionSelected:(u,e)=>{const a=e&&e.dataContext;a&&a.hasOwnProperty("effortDriven")&&(a.effortDriven=e.item.option,this.sgb.gridService.updateItem(a))}}}}loadData(u){const e=[],a=new Date().getFullYear();for(let i=0;ithis.selectedGroupingFields[e]=""),this.selectedGroupingFields=[...this.selectedGroupingFields]}clearGrouping(){var u,e,a;(u=this.draggableGroupingPlugin)==null||u.clearDroppedGroups(),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate()}collapseAllGroups(){var u,e;(e=(u=this.sgb)==null?void 0:u.dataView)==null||e.collapseAllGroups()}expandAllGroups(){var u,e;(e=(u=this.sgb)==null?void 0:u.dataView)==null||e.expandAllGroups()}exportToExcel(){this.excelExportService.exportToExcel({filename:"Export",format:Hu.xlsx})}groupByDuration(){var u,e,a;this.clearGrouping(),(u=this.draggableGroupingPlugin)!=null&&u.setDroppedGroups&&(this.showTopHeader(),this.draggableGroupingPlugin.setDroppedGroups("duration"),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate())}groupByDurationOrderByCount(u=!1){var a,i,t,r;this.durationOrderByCount=u,this.clearGrouping(),this.groupByDuration();const e=u?[]:[{columnId:"duration",sortAsc:!0}];(i=(a=this.sgb)==null?void 0:a.slickGrid)==null||i.setSortColumns(e),(r=(t=this.sgb)==null?void 0:t.slickGrid)==null||r.invalidate()}groupByDurationEffortDriven(){var u,e,a;this.clearGrouping(),(u=this.draggableGroupingPlugin)!=null&&u.setDroppedGroups&&(this.showTopHeader(),this.draggableGroupingPlugin.setDroppedGroups(["duration","effortDriven"]),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate())}showTopHeader(){var u,e;(e=(u=this.sgb)==null?void 0:u.slickGrid)==null||e.setTopHeaderPanelVisibility(!0)}toggleDarkMode(){var u,e,a;this._darkMode=!this._darkMode,this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")),(a=this.sgb.slickGrid)==null||a.setOptions({darkMode:this._darkMode})}toggleDraggableGroupingRow(){var u,e,a,i;this.clearGroupsAndSelects(),(i=(u=this.sgb)==null?void 0:u.slickGrid)==null||i.setTopHeaderPanelVisibility(!((a=(e=this.sgb)==null?void 0:e.slickGrid)!=null&&a.getOptions().showTopHeaderPanel))}onGroupChanged(u){const e=u&&u.caller||[],a=u&&u.groupColumns||[];Array.isArray(this.selectedGroupingFields)&&Array.isArray(a)&&a.length>0?(this.selectedGroupingFields.forEach((i,t)=>this.selectedGroupingFields[t]=a[t]&&a[t].getter||""),this.selectedGroupingFields=[...this.selectedGroupingFields]):a.length===0&&e==="remove-group"&&this.clearGroupingSelects()}handleOnClick(u){console.log("onClick",u.detail)}handleOnCellChange(u){var e;(e=this.sgb.dataView)==null||e.refresh(),console.log("onCellChanged",u.detail)}handleValidationError(u){console.log("handleValidationError",u.detail);const e=u.detail&&u.detail.args;e.validationResults&&alert(e.validationResults.msg)}handleItemDeleted(u){const e=u&&u.detail;console.log("item deleted with id:",e)}executeCommand(u,e){var t;const a=e.command,i=e.dataContext;switch(a){case"command1":alert("Command 1");break;case"command2":alert("Command 2");break;case"help":alert("Please help!");break;case"delete-row":confirm(`Do you really want to delete row (${e.row+1}) with "${i.title}"`)&&((t=this.sgb)==null||t.gridService.deleteItemById(i.id));break}}undo(){var e,a;const u=this.editCommandQueue.pop();u&&Z0.cancelCurrentEdit()&&(u.undo(),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.gotoCell(u.row,u.cell,!1))}}var gC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function K4(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ar={exports:{}};(function(n,u){(function(e,a){a(u,n)})(gC,function(e,a){var i={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function t(){return"jsonp_"+Date.now()+"_"+Math.ceil(Math.random()*1e5)}function r(l){try{delete window[l]}catch{window[l]=void 0}}function o(l){var E=document.getElementById(l);E&&document.getElementsByTagName("head")[0].removeChild(E)}function s(l){var E=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=l,c=E.timeout||i.timeout,D=E.jsonpCallback||i.jsonpCallback,m=void 0;return new Promise(function(h,g){var x=E.jsonpCallbackFunction||t(),p=D+"_"+x;window[x]=function(v){h({ok:!0,json:function(){return Promise.resolve(v)}}),m&&clearTimeout(m),o(p),r(x)},d+=d.indexOf("?")===-1?"?":"&";var F=document.createElement("script");F.setAttribute("src",""+d+D+"="+x),E.charset&&F.setAttribute("charset",E.charset),E.nonce&&F.setAttribute("nonce",E.nonce),E.referrerPolicy&&F.setAttribute("referrerPolicy",E.referrerPolicy),E.crossorigin&&F.setAttribute("crossorigin","true"),F.id=p,document.getElementsByTagName("head")[0].appendChild(F),m=setTimeout(function(){g(new Error("JSONP request to "+l+" timed out")),r(x),o(p),window[x]=function(){r(x)}},c),F.onerror=function(){g(new Error("JSONP request to "+l+" failed")),r(x),o(p),m&&clearTimeout(m)}})}a.exports=s})})(Ar,Ar.exports);var CC=Ar.exports;const gl=K4(CC),pC=n=>n==null||!n.length?{valid:!1,msg:"This is a required field"}:/^Task\s\d+$/.test(n)?{valid:!0,msg:""}:{valid:!1,msg:'Your title is invalid, it must start with "Task" followed by a number'},FC=(n,u,e,a,i)=>i.title;class kC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"dataViewObj");k(this,"commandQueue",[]);k(this,"frozenColumnCount",2);k(this,"frozenRowCount",3);k(this,"isFrozenBottom",!1);k(this,"sgb");k(this,"checkboxSelectorInstance");k(this,"isSelectAllShownAsColumnTitle",!1);this._bindingEventService=new pu}attached(){const u=this.initializeGrid(),e=document.querySelector(".grid4");this._bindingEventService.bind(e,"onvalidationerror",this.handleOnValidationError.bind(this)),this._bindingEventService.bind(e,"onitemdeleted",this.handleOnItemDeleted.bind(this)),this.sgb=new Bu.GridBundle(e,this.columnDefinitions,{...Lu,...this.gridOptions},u)}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll()}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",sortable:!0,type:C.string,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0,validator:pC},formatter:FC,filterable:!0},{id:"percentComplete",name:"% Complete",field:"percentComplete",sortable:!0,filterable:!0,type:C.number,editor:{enableRenderHtml:!0,collection:Array.from(Array(101).keys()).map(u=>({value:u,label:u,symbol:''})),customStructure:{value:"value",label:"label",labelSuffix:"symbol"},collectionSortBy:{property:"label",sortDesc:!0},collectionFilterBy:{property:"value",value:0,operator:T.notEqual},editorOptions:{filter:!0},model:$.singleSelect}},{id:"start",name:"Start",field:"start",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"finish",name:"Finish",field:"finish",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"completed",name:"Completed",field:"completed",sortable:!0,formatter:Bu.Formatters.checkmarkMaterial,exportWithFormatter:!1,filterable:!0,editor:{model:$.checkbox},filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}]}},{id:"cost",name:"Cost | Duration",field:"cost",formatter:this.costDurationFormatter.bind(this),sortable:!0,filter:{model:H.compoundSlider},editor:{model:$.dualInput,params:{leftInput:{field:"cost",type:"float",decimal:2,minValue:0,maxValue:5e4,placeholder:"< 50K",errorMessage:"Cost must be positive and below $50K."},rightInput:{field:"duration",type:"float",minValue:0,maxValue:100,title:"make sure Duration is withing its range of 0 to 100",errorMessage:"Duration must be between 0 and 100."}}}},{id:"cityOfOrigin",name:"City of Origin",field:"cityOfOrigin",filterable:!0,sortable:!0,minWidth:100,editor:{model:$.autocompleter,placeholder:"🔎︎ search city",editorOptions:{minLength:3,fetch:(u,e)=>{gl(`http://gd.geobytes.com/AutoCompleteCity?q=${u}`).then(a=>a.json()).then(a=>e(a)).catch(a=>console.log("invalid JSONP response",a))}}},filter:{model:H.autocompleter,filterOptions:{minLength:3,fetch:(u,e)=>{gl(`http://gd.geobytes.com/AutoCompleteCity?q=${u}`).then(a=>a.json()).then(a=>e(a)).catch(a=>console.log("invalid JSONP response",a))}}}},{id:"action",name:"Action",field:"action",width:100,maxWidth:100,excludeFromExport:!0,formatter:()=>'
Action
',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"command2",title:"Command 2",positionOrder:62,action:(u,e)=>{console.log(e.dataContext,e.column)},itemUsabilityOverride:u=>!u.dataContext.completed},{command:"command1",title:"Command 1",cssClass:"orange",positionOrder:61},{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"red",textCssClass:"bold",itemVisibilityOverride:u=>!u.dataContext.completed},{divider:!0,command:"",positionOrder:63},{command:"help",title:"Help",iconCssClass:"mdi mdi-help-circle",positionOrder:66},{command:"something",title:"Disabled Command",disabled:!0,positionOrder:67}],optionTitle:"Change Complete Flag",optionItems:[{option:!0,title:"True",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,title:"False",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}}],this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},enableAutoTooltip:!0,autoTooltipOptions:{enableForHeaderCells:!0},enableAutoSizeColumns:!0,enableAutoResize:!0,enableCellNavigation:!0,enableFiltering:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},externalResources:[new y0],rowSelectionOptions:{selectActiveRow:!1},enableCheckboxSelector:!0,checkboxSelector:{hideInColumnTitleRow:!this.isSelectAllShownAsColumnTitle,hideInFilterHeaderRow:this.isSelectAllShownAsColumnTitle,name:"Sel",onExtensionRegistered:u=>this.checkboxSelectorInstance=u},enableRowSelection:!0,frozenColumn:this.frozenColumnCount,frozenRow:this.frozenRowCount,editCommandHandler:(u,e,a)=>{this.commandQueue.push(a),a.execute()},enableCellMenu:!0,cellMenu:{subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",onCommand:(u,e)=>this.executeCommand(u,e),onOptionSelected:(u,e)=>{var i;const a=e==null?void 0:e.dataContext;a&&a.hasOwnProperty("completed")&&(a.completed=e.item.option,(i=this.sgb)==null||i.gridService.updateItem(a))}},gridMenu:{hideClearFrozenColumnsCommand:!1},headerMenu:{hideFreezeColumnsCommand:!1},enableContextMenu:!0,contextMenu:{optionShownOverColumnIds:["percentComplete"],subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",hideCloseButton:!0,optionTitle:"Change Percent Complete",onOptionSelected:(u,e)=>{var i;const a=e==null?void 0:e.dataContext;a!=null&&a.hasOwnProperty("percentComplete")&&(a.percentComplete=e.item.option,(i=this.sgb.slickGrid)==null||i.updateRow(e.row||0))},optionItems:[{option:0,iconCssClass:"mdi mdi-checkbox-blank-outline text-color-secondary",title:"Not Started (0%)"},{option:50,iconCssClass:"mdi mdi-flip-vertical",title:"Half Completed (50%)"},{option:100,iconCssClass:"mdi mdi-checkbox-marked text-color-success",title:"Completed (100%)"},"divider",{option:null,title:"Sub-Options (demo)",subMenuTitle:"Set Percent Complete",optionItems:[{option:0,iconCssClass:"mdi mdi-checkbox-blank-outline text-color-secondary",title:"Not Started (0%)"},{option:50,iconCssClass:"mdi mdi-flip-vertical",title:"Half Completed (50%)"},{option:100,iconCssClass:"mdi mdi-checkbox-marked text-color-success",title:"Completed (100%)"}]}],commandItems:[{command:"",divider:!0,positionOrder:98},{command:"export",title:"Exports",iconCssClass:"mdi mdi-download",positionOrder:99,commandItems:[{command:"exports-txt",title:"Text (tab delimited)"},{command:"sub-menu",title:"Excel",cssClass:"green",subMenuTitle:"available formats",subMenuTitleCssClass:"text-italic orange",commandItems:[{command:"exports-csv",title:"Excel (csv)"},{command:"exports-xlsx",title:"Excel (xlsx)"}]}]},{command:"feedback",title:"Feedback",iconCssClass:"mdi mdi-information-outline",positionOrder:100,commandItems:[{command:"request-update",title:"Request update from supplier",iconCssClass:"mdi mdi-star",tooltip:"this will automatically send an alert to the shipping team to contact the user for an update"},"divider",{command:"sub-menu",title:"Contact Us",iconCssClass:"mdi mdi-account",subMenuTitle:"contact us...",subMenuTitleCssClass:"italic",commandItems:[{command:"contact-email",title:"Email us",iconCssClass:"mdi mdi-pencil-outline"},{command:"contact-chat",title:"Chat with us",iconCssClass:"mdi mdi-message-text-outline"},{command:"contact-meeting",title:"Book an appointment",iconCssClass:"mdi mdi-coffee"}]}]}],onCommand:(u,e)=>this.executeCommand(u,e)}},this.dataset=[];for(let u=0;u<500;u++)this.dataset[u]={id:u,title:"Task "+u,duration:u%8?Math.round(Math.random()*100)+"":null,percentComplete:Math.round(Math.random()*100),start:new Date(2009,0,1),finish:new Date(2009,4,5),cost:u%33===0?null:Math.random()*1e4,completed:u%5===0,cityOfOrigin:u%2?"Vancouver, BC, Canada":"Boston, MA, United States"};return this.dataset}costDurationFormatter(u,e,a,i,t){const r=this.isNullUndefinedOrEmpty(t.cost)?"n/a":Bu.Utilities.formatNumber(t.cost,0,2,!1,"$","",".",",");let o="n/a";return!this.isNullUndefinedOrEmpty(t.duration)&&t.duration>=0&&(o=`${t.duration} ${t.duration>1?"days":"day"}`),`${r} | ${o}`}isNullUndefinedOrEmpty(u){return u===""||u===null||u===void 0}handleOnClick(u){console.log("onClick",u.detail)}handleOnValidationError(u){console.log("handleOnValidationError",u.detail);const e=u.detail&&u.detail.args;if(e.validationResults)return alert(e.validationResults.msg),!1}handleOnItemDeleted(u){const e=u&&u.detail;console.log("item deleted with id:",e)}changeFrozenColumnCount(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenColumn:+this.frozenColumnCount}))}changeFrozenRowCount(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenRow:+this.frozenRowCount}))}setFrozenColumns(u){var e,a,i,t;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setOptions({frozenColumn:u,alwaysShowVerticalScroll:!1}),this.gridOptions=((t=(i=this.sgb)==null?void 0:i.slickGrid)==null?void 0:t.getOptions())??{}}toggleFrozenBottomRows(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenBottom:!this.isFrozenBottom}),this.isFrozenBottom=!this.isFrozenBottom)}toggleWhichRowToShowSelectAll(){this.isSelectAllShownAsColumnTitle=!this.isSelectAllShownAsColumnTitle,this.checkboxSelectorInstance.setOptions({hideInColumnTitleRow:!this.isSelectAllShownAsColumnTitle,hideInFilterHeaderRow:this.isSelectAllShownAsColumnTitle})}executeCommand(u,e){var t;const a=e.command,i=e.dataContext;switch(a){case"command1":case"command2":alert(e.item.title);break;case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;case"help":alert("Please help!");break;case"delete-row":confirm(`Do you really want to delete row (${e.row+1}) with "${i.title}"?`)&&((t=this.sgb)==null||t.gridService.deleteItemById(i.id));break;default:alert("Command: "+e.command);break}}}const vC=500;class AC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"sgb");k(this,"loadingClass","");k(this,"isLargeDataset",!1);k(this,"hasNoExpandCollapseChanged",!0);k(this,"treeToggleItems",[]);this._bindingEventService=new pu}attached(){this.initializeGrid(),this.dataset=[];const u=document.querySelector(".grid5");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions}),this.dataset=this.loadData(vC),this._bindingEventService.bind(u,"onbeforefilterchange",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onfilterchanged",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"onbeforefilterclear",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onfiltercleared",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"onbeforesortchange",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onsortchanged",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"ontreefulltogglestart",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"ontreefulltoggleend",this.handleOnTreeFullToggleEnd.bind(this)),this._bindingEventService.bind(u,"ontreeitemtoggled",this.handleOnTreeItemToggled.bind(this)),document.body.classList.add("material-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),document.body.classList.remove("material-theme")}hideSpinner(){setTimeout(()=>this.loadingClass="",200)}showSpinner(){this.isLargeDataset&&(this.loadingClass="mdi mdi-load mdi-spin-1s mdi-24px text-color-alt-success")}getTreeIds(u){let e=[];return u.__hasChildren&&u.treeLevel===0&&(e=this.sgb.dataset.filter(a=>a.parentId===u.id).map(a=>a.id),e.push(u.id)),e}getTreeSelectedCount(u,e){var t;let a=[];const i=(t=this.sgb.dataView)==null?void 0:t.mapRowsToIds(e);return u.__hasChildren&&u.treeLevel===0&&(a=this.sgb.dataset.filter(r=>r.parentId===u.id).filter(r=>i==null?void 0:i.some(o=>o===r.id)).map(r=>r.id)),a.length}handleOnSelectedRowsChanged(u){var a,i,t,r,o,s,l,E,d;const e=u.detail.args;if(e.caller==="click.toggle"){let c=[];const D=[],m=e.changedSelectedRows.concat(e.changedUnselectedRows);let h=m.length>0?m[0]:null;if(h!==null){const g=e.changedUnselectedRows.length&&h===e.changedUnselectedRows[0];let x=(a=this.sgb.dataView)==null?void 0:a.getItem(h);if(x.__hasChildren&&x.treeLevel===0)this.sgb.treeDataService.dynamicallyToggleItemState([{itemId:x.id,isCollapsed:!1}]),c=this.getTreeIds(x);else if(x.__hasChildren&&x.treeLevel===1||!x.__hasChildren&&x.parentId&&!this.getTreeSelectedCount((i=this.sgb.dataView)==null?void 0:i.getItemById(x.parentId),e.previousSelectedRows)){const p=(t=this.sgb.dataView)==null?void 0:t.getItem(h);x=(r=this.sgb.dataView)==null?void 0:r.getItemById(p.parentId),h=(s=(o=this.sgb.dataView)==null?void 0:o.mapIdsToRows([p.parentId]))==null?void 0:s[0],c=this.getTreeIds(x)}if(c.length>0){const p=(l=this.sgb.slickGrid)==null?void 0:l.getSelectedRows();for(const B of c){const S=(E=this.sgb.dataView)==null?void 0:E.mapIdsToRows([B]);Array.isArray(S)&&S.length>0&&D.push({itemId:B,rowIdx:S[0]})}const F=D.map(B=>B.rowIdx),v=Array.from(new Set(p==null?void 0:p.concat(F))),b=g?v.filter(B=>!F.includes(B)):v;(d=this.sgb.slickGrid)==null||d.setSelectedRows(b)}}}}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",width:220,cssClass:"cell-title",filterable:!0,sortable:!0,exportWithFormatter:!1,queryFieldSorter:"id",type:C.string,formatter:P.tree,exportCustomFormatter:P.treeExport},{id:"duration",name:"Duration",field:"duration",minWidth:90,filterable:!0},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:120,maxWidth:200,exportWithFormatter:!1,sortable:!0,filterable:!0,filter:{model:H.compoundSlider,operator:">="},formatter:P.percentCompleteBarWithText,type:C.number},{id:"start",name:"Start",field:"start",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"finish",name:"Finish",field:"finish",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"effortDriven",name:"Effort Driven",width:80,minWidth:20,maxWidth:120,cssClass:"cell-effort-driven",field:"effortDriven",exportWithFormatter:!1,formatter:P.checkmarkMaterial,cannotTriggerInsert:!0,filterable:!0,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect}}],this.gridOptions={autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,enableExcelExport:!0,textExportOptions:{exportWithFormatter:!0},excelExportOptions:{exportWithFormatter:!0},externalResources:[new y0],enableFiltering:!0,showCustomFooter:!0,customFooterOptions:{leftFooterText:'Grid created with Slickgrid-Universal '},enableTreeData:!0,treeDataOptions:{columnId:"title",parentPropName:"parentId",levelPropName:"treeLevel",indentMarginLeft:15,initiallyCollapsed:!0,initialSort:{columnId:"title",direction:"ASC"},titleFormatter:(u,e,a,i,t)=>{let r="";return t.treeLevel>0&&(r=''),r+=`${a}`,t.parentId&&(r+=` (parentId: ${t.parentId})`),r}},multiColumnSort:!1,presets:{filters:[{columnId:"percentComplete",searchTerms:[25],operator:">="}]},filterTypingDebounce:250}}addNewRow(){var a;const u=this.sgb.dataset.length,e=(a=this.sgb.dataView)==null?void 0:a.getItemById(1);if(e!=null&&e.__hasChildren){const i={id:u,parentId:e.id,title:`Task ${u}`,duration:"1 day",percentComplete:99,start:new Date,finish:new Date,effortDriven:!1};this.sgb.gridService.addItem(i)}}updateFirstRow(){var e;const u=(e=this.sgb.dataView)==null?void 0:e.getItemById(0);this.sgb.gridService.updateItem({...u,duration:"11 days",percentComplete:77,start:new Date,finish:new Date,effortDriven:!1})}collapseAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!0)}collapseAllWithoutEvent(){this.sgb.treeDataService.toggleTreeDataCollapse(!0,!1)}expandAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!1)}dynamicallyChangeFilter(){this.sgb.filterService.updateFilters([{columnId:"percentComplete",operator:"<",searchTerms:[40]}])}logHierarchicalStructure(){console.log("hierarchical array",this.sgb.treeDataService.datasetHierarchical)}logFlatStructure(){console.log("flat array",this.sgb.treeDataService.dataset)}loadData(u){this.isLargeDataset=u>5e3;let e=0;const a=[],i=[];for(let t=0;t.8&&t>0&&e<3&&t-1!==0&&t-1!==2?(e++,a.push(t-1)):Math.random()<.3&&e>0&&(e--,a.pop()),a.length>0?E=a[a.length-1]:E=null,l.id=t,l.parentId=E,l.title=`Task ${t}`,l.duration="5 days",l.percentComplete=Math.round(Math.random()*100),l.start=new Date(r,o,s),l.finish=new Date(r,o+1,s),l.effortDriven=t%5===0}return this.sgb&&(this.sgb.dataset=i),i}handleOnTreeFullToggleEnd(u){const e=u.detail;console.log("Tree Data changes",e),this.hideSpinner()}handleOnTreeItemToggled(u){this.hasNoExpandCollapseChanged=!1;const e=u.detail;this.treeToggleItems=e.toggledItems,console.log("Tree Data changes",e)}handleOnGridStateChanged(u){var a,i,t,r;this.hasNoExpandCollapseChanged=!1;const e=u.detail;((a=e.change)==null?void 0:a.type)===F0.treeData&&(console.log("Tree Data gridStateChange",(i=e.gridState)==null?void 0:i.treeData),this.treeToggleItems=(r=(t=e.gridState)==null?void 0:t.treeData)==null?void 0:r.toggledItems)}logTreeDataToggledItems(){console.log(this.sgb.treeDataService.getToggledItems())}dynamicallyToggledFirstParent(){var r;const u="parentId",e="treeLevel",i=this.sgb.dataset.find(o=>o[e]===1),t=(r=this.sgb.dataView)==null?void 0:r.getItemByIdx(i[u]);i&&t&&this.sgb.treeDataService.dynamicallyToggleItemState([{itemId:t.id,isCollapsed:!t.__collapsed}])}reapplyToggledItems(){this.sgb.treeDataService.applyToggledItemStateChanges(this.treeToggleItems)}}class bC{constructor(){k(this,"columnDefinitions");k(this,"gridOptions");k(this,"datasetFlat");k(this,"datasetHierarchical",[]);k(this,"sgb");k(this,"durationOrderByCount",!1);k(this,"isExcludingChildWhenFiltering",!1);k(this,"isAutoApproveParentItemWhenTreeColumnIsValid",!0);k(this,"isAutoRecalcTotalsOnFilterChange",!1);k(this,"isRemoveLastInsertedPopSongDisabled",!0);k(this,"lastInsertedPopSongId");k(this,"searchString","");k(this,"treeFormatter",(u,e,a,i,t,r)=>{var p,F;const o=r.getOptions(),s=((p=o==null?void 0:o.treeDataOptions)==null?void 0:p.levelPropName)||"__treeLevel";if(a==null||t===void 0)return"";const l=r.getData(),E=l.getItems(),d=l.getIdPropertyName()||"id",c=l.getIdxById(t[d]),D=this.getFileIcon(a),m=t[s],h=".";a=a.replace(/&/g,"&").replace(//g,">");const g=``,x=Ra(5*m);if(((F=E[c+1])==null?void 0:F[s])>E[c][s]||E[c].__hasChildren){const v=``;return t.__collapsed?`${g}${x} ${v} ${D} ${a}`:`${g}${x} ${v} ${D} ${a}`}else return`${g}${x} ${D} ${a}`})}attached(){this.initializeGrid(),this.datasetFlat=[],this.datasetHierarchical=this.mockDataset();const u=document.querySelector(".grid6");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},void 0,this.datasetHierarchical),document.body.classList.add("salesforce-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),document.body.classList.remove("salesforce-theme")}initializeGrid(){this.columnDefinitions=[{id:"file",name:"Files",field:"file",type:C.string,width:150,formatter:this.treeFormatter,filterable:!0,sortable:!0},{id:"dateModified",name:"Date Modified",field:"dateModified",formatter:P.dateIso,type:C.dateUtc,outputType:C.dateIso,minWidth:90,exportWithFormatter:!0,filterable:!0,filter:{model:H.compoundDate}},{id:"description",name:"Description",field:"description",minWidth:90,filterable:!0,sortable:!0},{id:"size",name:"Size",field:"size",minWidth:90,type:C.number,exportWithFormatter:!0,excelExportOptions:{autoDetectCellFormat:!1},filterable:!0,filter:{model:H.compoundInputNumber},formatter:(u,e,a,i,t)=>{var o,s,l,E;const r=i.field;if((t==null?void 0:t.__treeTotals)!==void 0){const d=t[((s=(o=this.gridOptions)==null?void 0:o.treeDataOptions)==null?void 0:s.levelPropName)||"__treeLevel"],c=(l=t==null?void 0:t.__treeTotals)==null?void 0:l.sum[r],D=(E=t==null?void 0:t.__treeTotals)==null?void 0:E.avg[r];if(D!==void 0&&c!==void 0)return isNaN(c)?"":`sum: ${te(c,0,2)} MB / avg: ${te(D,0,2)} MB (${d===0?"total":"sub-total"})`;if(c!==void 0)return isNaN(c)?"":`sum: ${te(c,0,2)} MB (${d===0?"total":"sub-total"})`}return lu(a)?`${a} MB`:""}}],this.gridOptions={autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},gridMenu:{iconCssClass:"mdi mdi-dots-grid"},externalResources:[new y0,new $a],enableFiltering:!0,enableTreeData:!0,multiColumnSort:!1,rowHeight:35,treeDataOptions:{columnId:"file",childrenPropName:"files",excludeChildrenWhenFilteringTree:this.isExcludingChildWhenFiltering,autoApproveParentItemWhenTreeColumnIsValid:this.isAutoApproveParentItemWhenTreeColumnIsValid,aggregators:[new vu.Avg("size"),new vu.Sum("size")],autoRecalcTotalsOnFilterChange:this.isAutoRecalcTotalsOnFilterChange},showCustomFooter:!0,presets:{treeData:{toggledItems:[{itemId:4,isCollapsed:!0}]}}}}changeAutoApproveParentItem(){var u;return this.isAutoApproveParentItemWhenTreeColumnIsValid=!this.isAutoApproveParentItemWhenTreeColumnIsValid,this.gridOptions.treeDataOptions.autoApproveParentItemWhenTreeColumnIsValid=this.isAutoApproveParentItemWhenTreeColumnIsValid,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.refreshTreeDataFilters(),!0}changeAutoRecalcTotalsOnFilterChange(){var u;return this.isAutoRecalcTotalsOnFilterChange=!this.isAutoRecalcTotalsOnFilterChange,this.gridOptions.treeDataOptions.autoRecalcTotalsOnFilterChange=this.isAutoRecalcTotalsOnFilterChange,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.clearFilters(),this.sgb.treeDataService.enableAutoRecalcTotalsFeature(),!0}changeExcludeChildWhenFiltering(){var u;return this.isExcludingChildWhenFiltering=!this.isExcludingChildWhenFiltering,this.gridOptions.treeDataOptions.excludeChildrenWhenFilteringTree=this.isExcludingChildWhenFiltering,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.refreshTreeDataFilters(),!0}clearSearch(){this.searchFile(new KeyboardEvent("keyup",{code:"",bubbles:!0,cancelable:!0})),document.querySelector("input.search").value=""}executeCommand(u,e){switch(e.command){case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;default:alert("Command: "+e.command);break}}searchFile(u){var e;this.searchString=((e=u.target)==null?void 0:e.value)||"",this.updateFilter()}updateFilter(){this.sgb.filterService.updateFilters([{columnId:"file",searchTerms:[this.searchString]}],!0,!1,!0)}getFileIcon(u){let e="";return u.includes(".pdf")?e='':u.includes(".txt")?e='':u.includes(".csv")||u.includes(".xls")?e='':u.includes(".mp3")?e='':u.includes(".")&&(e=''),e}addNewFile(){const u=this.sgb.dataView.getItemCount()+50,e=$e(this.datasetHierarchical,a=>a.file==="pop","files");e&&Array.isArray(e.files)&&(e.files.push({id:u,file:`pop-${u}.mp3`,dateModified:new Date,size:u+3}),this.lastInsertedPopSongId=u,this.isRemoveLastInsertedPopSongDisabled=!1,this.sgb.datasetHierarchical=this.datasetHierarchical,setTimeout(()=>{var i,t;const a=(i=this.sgb.dataView)==null?void 0:i.getRowById(u);(t=this.sgb.slickGrid)==null||t.scrollRowIntoView(a+3)},0))}deleteFile(){const u=$e(this.datasetHierarchical,a=>a.file==="pop","files"),e=$e(this.datasetHierarchical,a=>a.id===this.lastInsertedPopSongId,"files");if(u&&e){const a=u.files.findIndex(i=>i.id===e.id);a>=0&&(u.files.splice(a,1),this.lastInsertedPopSongId=void 0,this.isRemoveLastInsertedPopSongDisabled=!0,this.sgb.datasetHierarchical=this.datasetHierarchical)}}clearFilters(){this.sgb.filterService.clearFilters()}collapseAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!0)}expandAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!1)}logHierarchicalStructure(){console.log("hierarchical array",this.sgb.treeDataService.datasetHierarchical)}logFlatStructure(){console.log("flat array",this.sgb.treeDataService.dataset)}mockDataset(){return[{id:24,file:"bucket-list.txt",dateModified:"2012-03-05T12:44:00.123Z",size:.5},{id:18,file:"something.txt",dateModified:"2015-03-03T03:50:00.123Z",size:90},{id:21,file:"documents",files:[{id:2,file:"txt",files:[{id:3,file:"todo.txt",description:"things to do someday maybe",dateModified:"2015-05-12T14:50:00.123Z",size:.7}]},{id:4,file:"pdf",files:[{id:22,file:"map2.pdf",dateModified:"2015-07-21T08:22:00.123Z",size:2.9},{id:5,file:"map.pdf",dateModified:"2015-05-21T10:22:00.123Z",size:3.1},{id:6,file:"internet-bill.pdf",dateModified:"2015-05-12T14:50:00.123Z",size:1.3},{id:23,file:"phone-bill.pdf",dateModified:"2015-05-01T07:50:00.123Z",size:1.5}]},{id:9,file:"misc",files:[{id:10,file:"warranties.txt",dateModified:"2015-02-26T16:50:00.123Z",size:.4}]},{id:7,file:"xls",files:[{id:8,file:"compilation.xls",dateModified:"2014-10-02T14:50:00.123Z",size:2.3}]},{id:55,file:"unclassified.csv",dateModified:"2015-04-08T03:44:12.333Z",size:.25},{id:56,file:"unresolved.csv",dateModified:"2015-04-03T03:21:12.000Z",size:.79},{id:57,file:"zebra.dll",dateModified:"2016-12-08T13:22:12.432",size:1.22}]},{id:11,file:"music",files:[{id:12,file:"mp3",files:[{id:16,file:"rock",files:[{id:17,file:"soft.mp3",dateModified:"2015-05-13T13:50:00Z",size:98}]},{id:14,file:"pop",files:[{id:15,file:"theme.mp3",description:"Movie Theme Song",dateModified:"2015-03-01T17:05:00Z",size:47},{id:25,file:"song.mp3",description:"it is a song...",dateModified:"2016-10-04T06:33:44Z",size:6.3}]},{id:33,file:"other",files:[]}]}]},{id:26,file:"recipes",description:"Cake Recipes",dateModified:"2012-03-05T12:44:00.123Z",files:[{id:29,file:"cheesecake",description:"strawberry cheesecake",dateModified:"2012-04-04T13:52:00.123Z",size:.2},{id:30,file:"chocolate-cake",description:"tasty sweet chocolate cake",dateModified:"2012-05-05T09:22:00.123Z",size:.2},{id:31,file:"coffee-cake",description:"chocolate coffee cake",dateModified:"2012-01-01T08:08:48.123Z",size:.2}]}]}displaySumAggregatorOnly(){this.sgb.slickGrid.setOptions({treeDataOptions:{columnId:"file",childrenPropName:"files",excludeChildrenWhenFilteringTree:this.isExcludingChildWhenFiltering,autoApproveParentItemWhenTreeColumnIsValid:this.isAutoApproveParentItemWhenTreeColumnIsValid,aggregators:[new vu.Sum("size")]}}),this.sgb.datasetHierarchical=this.mockDataset()}}class fC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"sgb");k(this,"duplicateTitleHeaderCount",1);k(this,"filteringEnabledClass","");k(this,"sortingEnabledClass","");k(this,"selectedLanguage");k(this,"selectedLanguageFile");k(this,"translateService");this._bindingEventService=new pu,this.translateService=window.TranslateService,this.selectedLanguage=this.translateService.getCurrentLanguage(),this.selectedLanguageFile=`${this.selectedLanguage}.json`,this.isFilteringEnabled=!0,this.isSortingEnabled=!0}set isFilteringEnabled(u){this.filteringEnabledClass=u?"mdi mdi-toggle-switch":"mdi mdi-toggle-switch-off-outline"}set isSortingEnabled(u){this.sortingEnabledClass=u?"mdi mdi-toggle-switch":"mdi mdi-toggle-switch-off-outline"}async attached(){this.initializeGrid(),this.dataset=this.loadData(500);const u=document.querySelector(".grid7");this._bindingEventService.bind(u,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(u,"onvalidationerror",this.handleValidationError.bind(this)),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),document.body.classList.add("material-theme")}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",nameKey:"TITLE",field:"title",filterable:!0,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0}},{id:"action",name:"Action",field:"action",minWidth:55,maxWidth:55,excludeFromExport:!0,excludeFromHeaderMenu:!0,cssClass:"justify-center",formatter:()=>'
',cellMenu:{hideCloseButton:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",commandTitleKey:"COMMANDS",commandItems:[{command:"command1",titleKey:"DELETE_ROW",iconCssClass:"mdi mdi-close",cssClass:"has-text-danger",textCssClass:"bold",action:(u,e)=>{var a;confirm(`Do you really want to delete row (${e.row+1}) with "${e.dataContext.title}"?`)&&((a=this.sgb)==null||a.gridService.deleteItemById(e.dataContext.id))}},"divider",{command:"help",titleKey:"HELP",iconCssClass:"mdi mdi-help-circle",action:()=>alert("Please help!")},{command:"",divider:!0,positionOrder:98},{command:"export",title:"Exports",iconCssClass:"mdi mdi-download",positionOrder:99,commandItems:[{command:"exports-txt",title:"Text (tab delimited)"},{command:"sub-menu",title:"Excel",cssClass:"green",subMenuTitle:"available formats",subMenuTitleCssClass:"text-italic orange",commandItems:[{command:"exports-csv",title:"Excel (csv)"},{command:"exports-xlsx",title:"Excel (xlsx)"}]}]},{command:"feedback",title:"Feedback",positionOrder:100,commandItems:[{command:"request-update",title:"Request update from supplier",iconCssClass:"mdi mdi-star",tooltip:"this will automatically send an alert to the shipping team to contact the user for an update"},"divider",{command:"sub-menu",title:"Contact Us",iconCssClass:"mdi mdi-account",subMenuTitle:"contact us...",subMenuTitleCssClass:"italic",commandItems:[{command:"contact-email",title:"Email us",iconCssClass:"mdi mdi-pencil-outline"},{command:"contact-chat",title:"Chat with us",iconCssClass:"mdi mdi-message-text-outline"},{command:"contact-meeting",title:"Book an appointment",iconCssClass:"mdi mdi-coffee"}]}]}],onCommand:(u,e)=>{var a;if(!((a=e.item)!=null&&a.action))switch(e.command){case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;default:alert("Command: "+e.command);break}},optionTitleKey:"CHANGE_COMPLETED_FLAG",optionItems:[{option:!0,titleKey:"TRUE",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,titleKey:"FALSE",iconCssClass:"mdi mdi-checkbox-blank-outline"},{option:null,title:"Sub-Options (demo)",subMenuTitleKey:"CHANGE_COMPLETED_FLAG",optionItems:[{option:!0,titleKey:"TRUE",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,titleKey:"FALSE",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}],onOptionSelected:(u,e)=>{this.changeCompletedOption(e.dataContext,e.item.option)}}},{id:"duration",nameKey:"DURATION",field:"duration",sortable:!0,filterable:!0,type:"number",editor:{model:$.text,alwaysSaveOnEnterKey:!0},formatter:this.dayDurationTranslateFormatter.bind(this)},{id:"percentComplete",nameKey:"PERCENT_COMPLETE",field:"percentComplete",type:"number",filterable:!0,sortable:!0,editor:{model:$.slider,minValue:0,maxValue:100}},{id:"start",nameKey:"START",field:"start",formatter:P.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},editor:{model:$.date},type:C.date,saveOutputType:C.dateUtc},{id:"finish",nameKey:"FINISH",field:"finish",formatter:P.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},editor:{model:$.date},type:C.dateIso,saveOutputType:C.dateUtc},{id:"completed",nameKey:"COMPLETED",field:"completed",formatter:P.checkmarkMaterial,filterable:!0,sortable:!0,filter:{enableRenderHtml:!0,collection:[{value:"",label:""},{value:!0,label:"True",labelSuffix:' '},{value:!1,label:"False",labelSuffix:' '}],model:H.singleSelect},editor:{model:$.singleSelect,enableRenderHtml:!0,collectionAsync:new Promise(u=>setTimeout(()=>{u([{value:!0,label:"True",labelSuffix:' '},{value:!1,label:"False",labelSuffix:' '}])},250))}},{id:"prerequisites",name:"Prerequisites",field:"prerequisites",filterable:!0,formatter:(u,e,a)=>{if(a&&Array.isArray(a)){const i=a.map(t=>`Task ${t}`).join(", ");return`${i}`}return""},exportWithFormatter:!0,sanitizeDataExport:!0,minWidth:100,sortable:!0,type:C.string,editor:{collectionAsync:new Promise(u=>{setTimeout(()=>{u(Array.from(Array((this.dataset||[]).length).keys()).map(e=>({value:e,label:e,prefix:"Task",suffix:"days"})))},500)}),collectionSortBy:{property:"value",sortDesc:!0,fieldType:C.number},customStructure:{label:"label",value:"value",labelPrefix:"prefix"},collectionOptions:{separatorBetweenTextLabels:" "},model:$.multipleSelect},filter:{collectionAsync:new Promise(u=>{setTimeout(()=>{u(Array.from(Array((this.dataset||[]).length).keys()).map(e=>({value:e,label:`Task ${e}`})))})}),collectionSortBy:{property:"value",sortDesc:!0,fieldType:C.number},customStructure:{label:"label",value:"value",labelPrefix:"prefix"},collectionOptions:{separatorBetweenTextLabels:" "},model:H.multipleSelect,operator:T.inContains}}],this.gridOptions={enableAutoResize:!0,autoResize:{container:".demo-container",rightPadding:10},darkMode:this._darkMode,gridMenu:{commandTitleKey:"CUSTOM_COMMANDS"},autoEdit:!0,autoCommitEdit:!0,editable:!0,showCustomFooter:!0,enableExcelExport:!0,excelExportOptions:{sanitizeDataExport:!0},enableCellMenu:!0,enableFiltering:!0,enableTranslate:!0,translater:this.translateService,externalResources:[new y0],enableCellNavigation:!0,enableCheckboxSelector:!0,enableRowSelection:!0,rowSelectionOptions:{selectActiveRow:!1},checkboxSelector:{hideSelectAllCheckbox:!1,columnIndexPosition:1},dataView:{syncGridSelection:!0},enableRowMoveManager:!0,rowMoveManager:{columnIndexPosition:0,singleRowMove:!0,disableRowSelection:!0,cancelEditOnDrag:!0,hideRowMoveShadow:!1,onBeforeMoveRows:this.onBeforeMoveRow.bind(this),onMoveRows:this.onMoveRows.bind(this)},presets:{filters:[{columnId:"prerequisites",searchTerms:[1,3,5,7,9,12,15,18,21,25,28]}],rowSelection:{dataContextIds:[2,3,6,7]}}}}addItem(){const u=this.dataset.length,e=this.loadData(1,u);setTimeout(()=>{const a=this.columnDefinitions.find(i=>i.id==="prerequisites");if(a){const i=a.editor.collection,t=a.filter.collection;Array.isArray(i)&&Array.isArray(t)&&(this.sgb.gridService.addItem(e[0],{position:"bottom",highlightRow:!1}),i.push({value:u,label:u,prefix:"Task",suffix:"days"}),t.push({value:u,label:u,prefix:"Task",suffix:"days"}))}},50)}clearFilters(){this.sgb.filterService.clearFilters()}allFilters(){const u=this.sgb,e=``}}function I4(n,u,e){let a;e={...{modalType:"edit",validationFailedMsg:"Some of the fields have failed validation",validationMsgPrefix:null,show:null,hide:null,position:null,destroy:null,formValues:{},editors:{}},...e};const t=()=>{},r=s=>{const l=u[s],E=Ou(l),d=(l==null?void 0:l.clientWidth)??0,c=(l==null?void 0:l.clientHeight)??0;return{top:(E==null?void 0:E.top)??0,left:(E==null?void 0:E.left)??0,bottom:((E==null?void 0:E.top)??0)+c,right:((E==null?void 0:E.left)??0)+d,width:d,height:c,visible:!0}};function o(s){const l=this;let E=[];function d(){let c={},D=0;for(;D{Array.isArray(E)&&E.length>0&&typeof E[0].focus=="function"&&E[0].focus()},0)}l.getEditors=()=>E,l.destroy=()=>{var m;let c=E.pop();for(;c;)c==null||c.destroy(),c=E.pop();let D=u.pop();for(;D;)Au(D),D==null||D.remove(),D=u.pop();(m=e==null?void 0:e.destroy)==null||m.call(e),E=[],u=null},l.focus=()=>{(a||E[0]).focus()},l.isValueChanged=()=>{let c=0;for(;c{const c=[];let D=0;for(;D{let m=0;for(;m{let D=0;for(;D{var g;let D;a=null;const m=[];let h=0;for(;h{var D,m,h;let c=0;for(;c{var D,m,h;let c=0;for(;c{var D;(D=e==null?void 0:e.position)==null||D.call(e,c)},d()}return o.prototype=this,o}const vl=n=>console.log(n.message);class br{get eventHandler(){return this._eventHandler}get dataView(){var u;return(u=this.grid)==null?void 0:u.getData()}get dataViewLength(){return this.dataView.getLength()}get formValues(){return this._formValues}get editors(){return this._editors}set editors(u){this._editors=u}get gridOptions(){var u;return(u=this.grid)==null?void 0:u.getOptions()}constructor(){this._columnDefinitions=[],this._lastActiveRowNumber=-1,this._formValues=null,this.gridService=null,this._eventHandler=new Su,this._bindEventService=new pu}init(u,e){var a;if(this.grid=u,this.gridService=e.get("GridService"),this.translaterService=e.get("TranslaterService"),!this.gridService)throw new Error("[Slickgrid-Universal] it seems that the GridService is not being loaded properly, make sure the Container Service is properly implemented.");if(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.');this._locales=((a=this.gridOptions)==null?void 0:a.locales)??_.locales}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this._formValues=null,this.disposeComponent()}disposeComponent(){var u,e,a;(u=this._modalBodyTopValidationElm)==null||u.remove(),(e=this._modalSaveButtonElm)==null||e.remove(),typeof((a=this._modalElm)==null?void 0:a.remove)=="function"&&(this._modalElm.remove(),document.body.classList.remove("slick-modal-open")),this._editorContainers=[]}changeFormInputValue(u,e,a=!1,i=!0){var E,d,c,D,m,h;const t=this.getColumnByObjectOrId(u),r=typeof u=="string"?u:(t==null?void 0:t.id)??"",o=(E=this._editors)==null?void 0:E[r];let s=e;if(!o&&!a)throw new Error(`Composite Editor with column id "${r}" not found.`);if(typeof(o==null?void 0:o.setValue)=="function"&&Array.isArray(this._editorContainers)){o.setValue(e,!0,i);const g=this._editorContainers.find(p=>p.dataset.editorid===r),x=((c=(d=this.gridOptions)==null?void 0:d.compositeEditorOptions)==null?void 0:c.excludeDisabledFieldFormValues)??!1;!o.disabled||o.disabled&&!x?(D=g==null?void 0:g.classList)==null||D.add("modified"):(s="",(m=g==null?void 0:g.classList)==null||m.remove("modified")),o.disabled&&(s!==""||s!==null||s!==void 0||s!==0)&&(s="")}const l=(t==null?void 0:t.field)??"";if(t&&(l!=null&&l.includes("."))){const g=((h=t.editor)==null?void 0:h.complexObjectPath)??l??"";B0(this._formValues??{},g,e)}else this._formValues={...this._formValues,[r]:s}}changeFormValue(u,e){var r;const a=this.getColumnByObjectOrId(u),i=typeof u=="string"?u:(a==null?void 0:a.id)??"",t=(a==null?void 0:a.field)??u;if(t!=null&&t.includes(".")){const o=((r=a==null?void 0:a.editor)==null?void 0:r.complexObjectPath)??t??"";B0(this._formValues,o,e)}else this._formValues={...this._formValues,[i]:e};this._formValues=da({},this._itemDataContext,this._formValues)}changeFormEditorOption(u,e,a){var t;const i=(t=this._editors)==null?void 0:t[u];if(i!=null&&i.changeEditorOption)i.changeEditorOption(e,a);else throw new Error(`Editor with column id "${u}" not found OR the Editor does not support "changeEditorOption" (current only available with AutoComplete, Date, MultipleSelect & SingleSelect Editors).`)}disableFormInput(u,e=!0){var i;const a=(i=this._editors)==null?void 0:i[u];a!=null&&a.disable&&Array.isArray(this._editorContainers)&&a.disable(e)}openDetails(u){var i,t,r,o,s,l,E,d,c;const e=u.onError??vl,a={backdrop:"static",showCloseButtonOutside:!0,shouldClearRowSelectionAfterMassAction:!0,viewColumnLayout:"auto",modalType:"edit"};try{if(!this.grid||this.grid.getEditorLock().isActive()&&!this.grid.getEditorLock().commitCurrentEdit())return null;this._formValues=null,this._options={...a,...this.gridOptions.compositeEditorOptions,...u,labels:{...(i=this.gridOptions.compositeEditorOptions)==null?void 0:i.labels,...u==null?void 0:u.labels}},this._options.backdrop=u.backdrop!==void 0?u.backdrop:"static";const D=this._options.viewColumnLayout||1,m=this.grid.getActiveCell(),h=(m==null?void 0:m.cell)??0,g=(m==null?void 0:m.row)??0,x=this.grid.getUID()||"";let p=u.headerTitle||"";typeof this._options.onBeforeOpen=="function"&&this._options.onBeforeOpen(),this.hasRowSelectionEnabled()&&this._options.modalType==="auto-mass"&&this.grid.getSelectedRows&&((this.grid.getSelectedRows()||[]).length>0?(this._options.modalType="mass-selection",u!=null&&u.headerTitleMassSelection&&(p=u==null?void 0:u.headerTitleMassSelection)):(this._options.modalType="mass-update",u!=null&&u.headerTitleMassUpdate&&(p=u==null?void 0:u.headerTitleMassUpdate)));const F=this._options.modalType||"edit";if(this.gridOptions.editable)if(this.gridOptions.enableCellNavigation){if(!this.gridOptions.enableAddRow&&(F==="clone"||F==="create"))return e({type:"error",code:"ENABLE_ADD_ROW_REQUIRED",message:'Composite Editor requires the flag "enableAddRow" to be set to True in your Grid Options when cloning/creating a new item.'}),null;if(!m&&(F==="clone"||F==="edit"))return e({type:"warning",code:"NO_RECORD_FOUND",message:"No records selected for edit or clone operation."}),null;{const v=F==="mass-update"||F==="mass-selection",b=v?{}:this.grid.getDataItem(g);this._originalDataContext=Mu(!0,{},b),this._columnDefinitions=this.grid.getColumns();const B=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],S=((t=this.dataView)==null?void 0:t.getItemCount())??0;this._lastActiveRowNumber=g;const y=this.dataView.getAllSelectedIds(),w=F==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,b,h,w,v))return null;if(F==="edit"&&!b)return e({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(F==="mass-selection"&&B.length<1)return e({type:"warning",code:"ROW_SELECTION_REQUIRED",message:"You must select some rows before trying to apply new value(s)."}),null;let j=[];v?j=this._columnDefinitions.filter(iu=>{var fu;return iu.editorClass&&((fu=iu.editor)==null?void 0:fu.massUpdate)===!0}):j=this._columnDefinitions.filter(iu=>iu.editorClass),j.some(iu=>{var fu;return((fu=iu.editor)==null?void 0:fu.compositeEditorFormOrder)!==void 0})&&j.sort((iu,fu)=>{var W0,J;const h0=((W0=iu==null?void 0:iu.editor)==null?void 0:W0.compositeEditorFormOrder)??1/0,X0=((J=fu==null?void 0:fu.editor)==null?void 0:J.compositeEditorFormOrder)??1/0;return u1(h0,X0,Pu.asc)});const G=p.replace(/\{\{(.*?)\}\}/g,(iu,fu)=>Qu(b,fu)),L=D==="auto"?this.autoCalculateLayoutColumnCount(j.length):D;this._modalElm=A("div",{className:`slick-editor-modal ${x}`});const Y=A("div",{className:"slick-editor-modal-content"});if((r=this.gridOptions)!=null&&r.darkMode&&Y.classList.add("slick-dark-mode"),!isNaN(D)&&+D>1||D==="auto"&&L>1){const iu=L===2?"split-view":"triple-split-view";Y.classList.add(iu)}const Eu=A("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(Eu,G);const Cu=A("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((o=Eu==null?void 0:Eu.classList)==null||o.add("outside"),(s=Cu==null?void 0:Cu.classList)==null||s.add("outside"));const hu=A("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});hu.appendChild(Eu),hu.appendChild(Cu);const du=A("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=A("div",{className:"validation-summary",style:{display:"none"}},du);const Ju=A("div",{className:"slick-editor-modal-footer"}),o0=A("button",{type:"button",ariaLabel:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),className:"btn btn-cancel btn-default btn-sm",textContent:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),dataset:{action:"cancel"}});let Q="",yu="";switch(F){case"clone":yu=this.getLabelText("cloneButton","TEXT_CLONE","Clone");break;case"mass-update":const iu=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");Q=this.parseText(iu,{x:S}),yu=this.getLabelText("massUpdateButton","TEXT_APPLY_MASS_UPDATE","Mass Update");break;case"mass-selection":const fu=this.getLabelText("massSelectionStatus","TEXT_X_OF_Y_MASS_SELECTED","{{x}} of {{y}} selected");Q=this.parseText(fu,{x:y.length,y:S}),yu=this.getLabelText("massSelectionButton","TEXT_APPLY_TO_SELECTION","Update Selection");break;default:yu=this.getLabelText("saveButton","TEXT_SAVE","Save")}const cu=A("div",{className:"footer-status-text",textContent:Q});this._modalSaveButtonElm=A("button",{type:"button",className:"btn btn-save btn-primary btn-sm",ariaLabel:yu,textContent:yu,dataset:{action:F==="create"||F==="edit"?"save":F,ariaLabel:yu}});const Tu=A("div",{className:"footer-buttons"});(F==="mass-update"||F==="mass-selection")&&Ju.appendChild(cu),Tu.appendChild(o0),Tu.appendChild(this._modalSaveButtonElm),Ju.appendChild(Tu),Y.appendChild(hu),Y.appendChild(du),Y.appendChild(Ju),this._modalElm.appendChild(Y);for(const iu of j)if(iu.editorClass){const fu=A("div",{className:`item-details-container editor-${iu.id}`});L===1?fu.classList.add("slick-col-medium-12"):fu.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/L}`);const h0=A("div",{className:`item-details-label editor-${iu.id}`});this.grid.applyHtmlCode(h0,this.getColumnLabel(iu)||"n/a");const X0=A("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${iu.id}`}}),W0=A("div",{className:`item-details-validation editor-${iu.id}`});if((l=this._options)!=null&&l.showResetButtonOnEachEditor){const J=this.createEditorResetButtonElement(`${iu.id}`);this._bindEventService.bind(J,"click",this.handleResetInputValue.bind(this)),h0.appendChild(J)}fu.appendChild(h0),fu.appendChild(X0),fu.appendChild(W0),du.appendChild(fu)}if((E=this._options)!=null&&E.showFormResetButton){const iu=this.createFormResetButtonElement();this._bindEventService.bind(iu,"click",this.handleResetFormClicked.bind(this)),du.appendChild(iu)}document.body.appendChild(this._modalElm),document.body.classList.add("slick-modal-open"),this._bindEventService.bind(document.body,"click",this.handleBodyClicked.bind(this)),typeof this._options.onRendered=="function"&&this._options.onRendered(this._modalElm),this._editors={},this._editorContainers=j.map(iu=>du.querySelector(`[data-editorid='${iu.id}']`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:F,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const nu=new I4(j,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(nu),this._bindEventService.bind(Cu,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(o0,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(this._modalSaveButtonElm,"click",this.handleSaveClicked.bind(this)),this._bindEventService.bind(this._modalElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._modalElm,"focusout",this.validateCurrentEditor.bind(this)),this._bindEventService.bind(this._modalElm,"blur",this.validateCurrentEditor.bind(this)),this._eventHandler.subscribe(this.grid.onCompositeEditorChange,this.handleOnCompositeEditorChange.bind(this)),this._eventHandler.subscribe(this.grid.onAddNewRow,(iu,fu)=>{this._originalDataContext=this.insertNewItemInDataView(fu.item)})}}else return e({type:"error",code:"ENABLE_CELL_NAVIGATION_REQUIRED",message:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.'}),null;else return e({type:"error",code:"EDITABLE_GRID_REQUIRED",message:"Your grid must be editable in order to use the Composite Editor Modal."}),null;return this}catch(D){this.dispose();const m=typeof D=="string"?D:(D==null?void 0:D.message)??((d=D==null?void 0:D.body)==null?void 0:d.message)??"",h=typeof D=="string"?D:(D==null?void 0:D.status)??((c=D==null?void 0:D.body)==null?void 0:c.status)??m;return e({type:"error",code:h,message:m}),null}}async cancelEditing(){var e,a,i;let u=!0;this.formValues&&Object.keys(this.formValues).length>0&&typeof this._options.onClose=="function"&&(u=await this._options.onClose()),u&&((e=this.grid.getEditController())==null||e.cancelCurrentEdit(),(((a=this._options)==null?void 0:a.modalType)==="edit"||((i=this._options)==null?void 0:i.modalType)==="clone")&&this.resetCurrentRowDataContext(),this.grid.setActiveRow(this._lastActiveRowNumber),this.dispose())}showValidationSummaryText(u,e=""){var a,i;u&&e!==""?(this._modalBodyTopValidationElm.textContent=e,this._modalBodyTopValidationElm.style.display="block",(i=(a=this._modalBodyTopValidationElm).scrollIntoView)==null||i.call(a),this._modalSaveButtonElm.disabled=!1,this._modalSaveButtonElm.classList.remove("saving")):(this._modalBodyTopValidationElm.style.display="none",this._modalBodyTopValidationElm.textContent=e)}applySaveMassUpdateChanges(u,e,a=!0){const i=a?this.dataView.getItems():Mu(!0,[],this.dataView.getItems());return Object.keys(u).forEach(t=>{t in u&&i.forEach(r=>{var o;t in u&&(((o=this._options)==null?void 0:o.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(t,r,u)!==!1)&&(r[t]=u[t])})}),a&&(this.dataView.setItems(i,this.gridOptions.datasetIdPropertyName),this.grid.invalidate()),i}applySaveMassSelectionChanges(u,e,a=!0){var o;const t=((e==null?void 0:e.dataContextIds)??[]).map(s=>this.dataView.getItemById(s)),r=a?t:Mu(!0,[],t);return Object.keys(u).forEach(s=>{s in u&&r.forEach(l=>{var E;s in u&&(((E=this._options)==null?void 0:E.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(s,l,u)!==!1)&&(l[s]=u[s])})}),a&&((o=this.gridService)==null||o.updateItems(r)),r}autoCalculateLayoutColumnCount(u){return u>=15?3:u>=8?2:1}createEditorResetButtonElement(u){var a,i,t,r;const e=A("button",{type:"button",name:u,ariaLabel:"Reset",title:((i=(a=this._options)==null?void 0:a.labels)==null?void 0:i.resetFormButton)??"Reset Form Input",className:"btn btn-xs btn-editor-reset"});if((t=this._options)!=null&&t.resetEditorButtonCssClass){const o=_u((r=this._options)==null?void 0:r.resetEditorButtonCssClass);for(const s of o)e.classList.add(s)}return e}createFormResetButtonElement(){var a;const u=A("div",{className:"reset-container"}),e=A("button",{type:"button",className:"btn btn-sm reset-form"},u);return A("span",{className:((a=this._options)==null?void 0:a.resetFormButtonIconCssClass)??""},e),e.appendChild(document.createTextNode(" Reset Form")),u}executeOnError(u){var a;(((a=this._options)==null?void 0:a.onError)??vl)(u)}async executeOnSave(u,e,a,i){var t,r,o,s;try{if(this.showValidationSummaryText(!1,""),this.validateCompositeEditors().valid){if(this._modalSaveButtonElm.classList.add("saving"),this._modalSaveButtonElm.disabled=!0,typeof((t=this._options)==null?void 0:t.onSave)=="function"){const E=this._options.modalType==="mass-update"||this._options.modalType==="mass-selection";let d;E&&((r=this._options)!=null&&r.shouldPreviewMassChangeDataset)&&(d=u(this.formValues,this.getCurrentRowSelections(),!1));const c=E?d:i;await((o=this._options)==null?void 0:o.onSave(this.formValues,this.getCurrentRowSelections(),c))&&(u(this.formValues,this.getCurrentRowSelections()),e())}else u(this.formValues,this.getCurrentRowSelections()),e();typeof a=="function"&&a(),this.dispose()}}catch(l){const E=typeof l=="string"?l:(l==null?void 0:l.message)??((s=l==null?void 0:l.body)==null?void 0:s.message)??"";this.showValidationSummaryText(!0,E)}}focusOnFirstColumnCellWithEditor(u,e,a,i,t){const r=t&&!this.gridOptions.enableAddRow&&i>=this.dataViewLength?this.dataViewLength-1:i;let o=a;const s=u[a].editorClass;let l=this.grid.getCellNode(r,a);if(!s||!l||!this.getActiveCellEditor(r,a)){if(o=this.findNextAvailableEditorColumnIndex(u,e,i,t),o===-1)return this.executeOnError({type:"error",code:"NO_EDITOR_FOUND",message:"We could not find any Editor in your Column Definition"}),!1;this.grid.setActiveCell(r,o,!1),t&&this.grid.setActiveRow(this.dataViewLength,o,!0)}return l=this.grid.getCellNode(r,o),!!l}findNextAvailableEditorColumnIndex(u,e,a,i){var r;let t=-1;for(let o=0;oa.id===u)),e}getActiveCellEditor(u,e){return this.grid.setActiveCell(u,e,!1),this.grid.getCellEditor()}getColumnLabel(u){var r;const e=this.gridOptions.columnGroupSeparator||" - ";let a=u.nameCompositeEditor||u.name||"",i=u.columnGroup||"";if(this.gridOptions.enableTranslate&&this.translaterService){const o=u.nameCompositeEditorKey||u.nameKey;o&&(a=this.translaterService.translate(o)),u.columnGroupKey&&((r=this.translaterService)!=null&&r.translate)&&(i=this.translaterService.translate(u.columnGroupKey))}const t=i?`${i}${e}${a}`:a;return i0(t,"innerHTML")}getLabelText(u,e,a){var t,r,o,s,l;const i={...(t=this.gridOptions.compositeEditorOptions)==null?void 0:t.labels,...(r=this._options)==null?void 0:r.labels};if((o=this.gridOptions)!=null&&o.enableTranslate&&((s=this.translaterService)!=null&&s.translate)&&i.hasOwnProperty(`${u}Key`)){const E=i[`${u}Key`];return this.translaterService.translate(E||"")}return(i==null?void 0:i[u])??((l=this._locales)==null?void 0:l[e])??a}getCurrentRowSelections(){const u=this.dataView.getAllSelectedIds();return{gridRowIndexes:this.dataView.mapIdsToRows(u),dataContextIds:u}}handleBodyClicked(u){var e,a,i;(a=(e=u.target)==null?void 0:e.classList)!=null&&a.contains("slick-editor-modal")&&((i=this._options)==null?void 0:i.backdrop)!=="static"&&this.dispose()}handleKeyDown(u){u.code==="Escape"?(this.cancelEditing(),u.stopPropagation(),u.preventDefault()):u.code==="Tab"&&this.validateCurrentEditor()}handleResetInputValue(u){var i,t;const e=u.target.name,a=(i=this._editors)==null?void 0:i[e];typeof(a==null?void 0:a.reset)=="function"&&a.reset(),(t=this._formValues)==null||delete t[e]}async handleMassSaving(u,e){if(!this.formValues||Object.keys(this.formValues).length===0)this.executeOnError({type:"warning",code:"NO_CHANGES_DETECTED",message:"Sorry we could not detect any changes."});else{const a=u==="mass-update"?"applySaveMassUpdateChanges":"applySaveMassSelectionChanges";this.executeOnSave(this[a].bind(this),e.bind(this))}}handleOnCompositeEditorChange(u,e){var o,s,l,E;const a=((o=e.column)==null?void 0:o.id)??"";this._formValues={...this._formValues,...e.formValues};const i=(s=this._editors)==null?void 0:s[a],t=((l=i==null?void 0:i.isValueTouched)==null?void 0:l.call(i))??((E=i==null?void 0:i.isValueChanged)==null?void 0:E.call(i))??!1;this._itemDataContext=(i==null?void 0:i.dataContext)??{};const r=this._modalElm.querySelector(`[data-editorid=${a}]`);r!=null&&r.classList&&(t?r.classList.add("modified"):r.classList.remove("modified")),this.validateCompositeEditors()}hasRowSelectionEnabled(){const u=this.grid.getSelectionModel();return!!((this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&u)}handleResetFormClicked(){for(const u of Object.keys(this._editors)){const e=this._editors[u];e!=null&&e.reset&&e.reset()}this._formValues=Yl(this._formValues)}async handleSaveClicked(){var e,a,i,t;const u=(e=this._options)==null?void 0:e.modalType;switch(u){case"mass-update":this.handleMassSaving(u,()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"mass-selection":this.handleMassSaving(u,()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveRow(this._lastActiveRowNumber),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"clone":const r={...this._originalDataContext,...this.formValues},o=()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1)};this.executeOnSave(this.insertNewItemInDataView.bind(this,r),o,this.resetCurrentRowDataContext.bind(this),r);break;case"create":case"edit":default:let s=(a=this.grid.getEditController())==null?void 0:a.commitCurrentEdit();if(s&&typeof((i=this._options)==null?void 0:i.onSave)=="function"){const l=u==="create"?this._originalDataContext:this.grid.getDataItem(this._lastActiveRowNumber);s=await((t=this._options)==null?void 0:t.onSave(this.formValues,this.getCurrentRowSelections(),l))}s&&this.dispose();break}}insertNewItemInDataView(u){var i,t;const e=((i=this.dataView)==null?void 0:i.getItemCount())||0,a=this._options.insertNewId??e+1;return u[this.gridOptions.datasetIdPropertyName||"id"]=a,this.dataView.getItemById(a)?this.executeOnError({type:"error",code:"ITEM_ALREADY_EXIST",message:`The item object which you are trying to add already exist with the same Id:: ${a}`}):(t=this.gridService)==null||t.addItem(u,this._options.insertOptions),u}parseText(u,e){return u.replace(/\{\{(.*?)\}\}/g,(a,i)=>e[i]!==void 0?e[i]:a)}resetCurrentRowDataContext(){const u=this.gridOptions.datasetIdPropertyName||"id";this.grid.getData().updateItem(this._originalDataContext[u],this._originalDataContext)}validateCompositeEditors(u){let e={valid:!0,msg:""};const a=this.grid.getCellEditor();return a&&(e=a.validate(u)),e}validateCurrentEditor(){const u=this.grid.getCellEditor();u!=null&&u.validate&&u.validate()}}const Do=document.createElement("div");Do.appendChild(A("span",{className:"mdi mdi-alert text-color-warning"}));Do.appendChild(A("span",{textContent:"No data to display."}));const IC={autoEdit:!0,autoCommitEdit:!0,autoFixResizeTimeout:5*60*60,autoFixResizeRequiredGoodCount:5*60*60,autoFixResizeWhenBrokenStyleDetected:!0,cellValueCouldBeUndefined:!0,contextMenu:{hideCloseButton:!1},eventNamingStyle:I0.lowerCaseWithoutOnPrefix,compositeEditorOptions:{resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h",shouldPreviewMassChangeDataset:!0},datasetIdPropertyName:"Id",emptyDataWarning:{message:Do},enableDeepCopyDatasetOnPageLoad:!0,enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableCellNavigation:!0,customTooltip:{tooltipTextMaxLength:650},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,mimeType:"",sanitizeDataExport:!0},filterTypingDebounce:250,formatterOptions:{thousandSeparator:","},frozenHeaderWidthCalcDifferential:2,columnPicker:{hideForceFitButton:!0},gridMenu:{commandLabels:{clearFrozenColumnsCommandKey:"UNFREEZE_COLUMNS"},hideToggleDarkModeCommand:!1,hideTogglePreHeaderCommand:!0,hideRefreshDatasetCommand:!0,hideClearFrozenColumnsCommand:!1,hideForceFitButton:!0},headerMenu:{hideFreezeColumnsCommand:!1,iconSortAscCommand:"mdi mdi-arrow-up",iconSortDescCommand:"mdi mdi-arrow-down"},preventDocumentFragmentUsage:!0,sanitizer:n=>typeof n=="string"?n.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<)(\/*)(script|script defer)(.*)(>|>">)/gi,""):n,showCustomFooter:!0,customFooterOptions:{hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,metricTexts:{itemsSelectedKey:"RECORDS_SELECTED"}},headerRowHeight:35,rowHeight:33,resizeByContentOnlyOnFirstLoad:!1,resizeByContentOptions:{formatterPaddingWidthInPx:8,maxItemToInspectCellContentWidth:500},rowMoveManager:{hideRowMoveShadow:!1},useSalesforceDefaultGridOptions:!0};class GC extends io{constructor(u,e,a,i,t,r){super(u,e,a,i,t,r)}mergeGridOptions(u){var i;const e=u.useSalesforceDefaultGridOptions||(i=this._gridOptions)!=null&&i.useSalesforceDefaultGridOptions?IC:{},a=Mu(!0,{},eo,e,u);return a.enableFiltering&&!a.showHeaderRow&&(a.showHeaderRow=a.enableFiltering),a!=null&&a.pagination&&(u.enablePagination||u.backendServiceApi)&&u.pagination&&Array.isArray(u.pagination.pageSizes)&&(a.pagination.pageSizes=u.pagination.pageSizes),!a.enableFiltering&&a.enablePagination&&this._isLocalGrid&&(a.enableFiltering=!0,a.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService&&(this.sharedService.hideHeaderRowAfterPageLoad=!0)),a}registerResources(){if(this.gridOptions.enableTextExport&&this._registeredResources.push(new $a),this.gridOptions.enableTextExport&&this._registeredResources.push(new y0),this._registeredResources.push(new ma),Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.groupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new ao,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(u=>u instanceof br)||(this.slickCompositeEditor=new br,this._registeredResources.push(this.slickCompositeEditor))),Array.isArray(this._registeredResources))for(const u of this._registeredResources)this.slickGrid&&typeof u.init=="function"&&u.init(this.slickGrid,this.universalContainerService)}}const G4={GridBundle:GC,Aggregators:vu,BindingService:fi,Editors:$,Enums:wr,Filters:H,Formatters:P,GroupTotalFormatters:su,SlickGlobalEditorLock:Z0,SortComparers:T0,Utilities:tn};typeof window<"u"&&(window.Slicker=G4);const VC=(n,u)=>(n==null||!n.length)&&(u.compositeEditorOptions&&u.compositeEditorOptions.modalType==="create"||u.compositeEditorOptions.modalType==="edit")?{valid:!1,msg:"This is a required field."}:/^(task\s\d+)*$/i.test(n)?{valid:!0,msg:""}:{valid:!1,msg:'Your title is invalid, it must start with "Task" followed by a number.'};function V4(n,u,e){const a=e.getOptions(),i=u.editor;let r=a.editable&&i;if(n&&u&&(a!=null&&a.editable))switch(u.id){case"finish":r=!!(n!=null&&n.completed);break}return r}const $C=(n,u,e,a,i,t)=>{const r=V4(i,a,t);e=e??"";const o=document.createElement("div");return o.className="editing-field",e instanceof HTMLElement?o.appendChild(e):o.textContent=e,r?o:e};class JC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"compositeEditorInstance");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset",[]);k(this,"isGridEditable",!0);k(this,"editQueue",[]);k(this,"editedItems",{});k(this,"isCompositeDisabled",!1);k(this,"isMassSelectionDisabled",!0);k(this,"gridContainerElm");k(this,"cellCssStyleQueue",[]);k(this,"complexityLevelList",[{value:0,label:"Very Simple"},{value:1,label:"Simple"},{value:2,label:"Straightforward"},{value:3,label:"Complex"},{value:4,label:"Very Complex"}]);k(this,"sgb");this.compositeEditorInstance=new br,this._bindingEventService=new pu}get slickerGridInstance(){var u;return(u=this.sgb)==null?void 0:u.instances}attached(){this.initializeGrid(),this.dataset=this.loadData(500),this.gridContainerElm=document.querySelector(".grid12"),this.sgb=new G4.GridBundle(this.gridContainerElm,this.columnDefinitions,{...Lu,...this.gridOptions}),this.sgb.dataset=this.dataset,this._bindingEventService.bind(this.gridContainerElm,"onvalidationerror",this.handleValidationError.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onitemdeleted",this.handleItemDeleted.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onbeforeeditcell",this.handleOnBeforeEditCell.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onclick",this.handleOnCellClicked.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"ongridstatechanged",this.handleOnGridStateChanged.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"ondblclick",()=>this.openCompositeModal("edit",50)),this._bindingEventService.bind(this.gridContainerElm,"oncompositeeditorchange",this.handleOnCompositeEditorChange.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onrowsorcountchanged",this.handleReRenderUnsavedStyling.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onselectedrowidschanged",this.handleOnSelectedRowIdsChanged.bind(this))}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),this.gridContainerElm.remove(),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",name:' Title ',field:"title",sortable:!0,type:C.string,minWidth:75,cssClass:"text-bold text-uppercase",filterable:!0,columnGroup:"Common Factor",filter:{model:H.compoundInputText},editor:{model:$.longText,massUpdate:!1,required:!0,alwaysSaveOnEnterKey:!0,maxLength:12,editorOptions:{cols:45,rows:6,buttonTexts:{cancel:"Close",save:"Done"}},validator:VC}},{id:"duration",name:"Duration",field:"duration",sortable:!0,filterable:!0,minWidth:75,type:C.number,columnGroup:"Common Factor",formatter:(u,e,a)=>a==null||a===""?"":a>1?`${a} days`:`${a} day`,editor:{model:$.float,massUpdate:!0,decimal:2,valueStep:1,minValue:0,maxValue:1e4,alwaysSaveOnEnterKey:!0,required:!0}},{id:"cost",name:"Cost",field:"cost",width:90,minWidth:70,sortable:!0,filterable:!0,type:C.number,columnGroup:"Analysis",filter:{model:H.compoundInputNumber},formatter:P.dollar},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:100,type:C.number,sortable:!0,filterable:!0,columnGroup:"Analysis",filter:{model:H.compoundSlider,operator:">="},editor:{model:$.slider,massUpdate:!0,minValue:0,maxValue:100},customTooltip:{position:"center"}},{id:"complexity",name:"Complexity",field:"complexity",minWidth:100,type:C.number,sortable:!0,filterable:!0,columnGroup:"Analysis",formatter:(u,e,a)=>{var i;return(i=this.complexityLevelList[a])==null?void 0:i.label},exportCustomFormatter:(u,e,a)=>{var i;return(i=this.complexityLevelList[a])==null?void 0:i.label},filter:{model:H.multipleSelect,collection:this.complexityLevelList,filterOptions:{showClear:!0}},editor:{model:$.singleSelect,collection:this.complexityLevelList,massUpdate:!0}},{id:"start",name:"Start",field:"start",sortable:!0,minWidth:100,formatter:P.dateUs,columnGroup:"Period",exportCustomFormatter:P.dateUs,type:C.date,outputType:C.dateUs,saveOutputType:C.dateUtc,filterable:!0,filter:{model:H.compoundDate},editor:{model:$.date,massUpdate:!0,editorOptions:{hideClearButton:!1}}},{id:"completed",name:"Completed",field:"completed",width:80,minWidth:75,maxWidth:100,sortable:!0,filterable:!0,columnGroup:"Period",cssClass:"text-center",formatter:P.checkmarkMaterial,exportWithFormatter:!1,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect,filterOptions:{showClear:!0}},editor:{model:$.checkbox,massUpdate:!0}},{id:"finish",name:"Finish",field:"finish",sortable:!0,minWidth:100,formatter:P.dateUs,columnGroup:"Period",type:C.date,outputType:C.dateUs,saveOutputType:C.dateUtc,filterable:!0,filter:{model:H.compoundDate},exportCustomFormatter:P.dateUs,editor:{model:$.date,editorOptions:{range:{min:"today"}},massUpdate:!0,validator:(u,e)=>{const a=e&&e.item;return a&&a.completed&&!u?{valid:!1,msg:'You must provide a "Finish" date when "Completed" is checked.'}:{valid:!0,msg:""}}}},{id:"product",name:"Product",field:"product",filterable:!0,columnGroup:"Item",minWidth:100,exportWithFormatter:!0,dataKey:"id",labelKey:"itemName",formatter:P.complexObject,exportCustomFormatter:P.complex,type:C.object,sortComparer:T0.objectString,editor:{model:$.autocompleter,alwaysSaveOnEnterKey:!0,massUpdate:!0,editorOptions:{minLength:1,fetch:(u,e)=>{const a=this.mockProducts();e(a.filter(i=>i.itemName.toLowerCase().includes(u.toLowerCase())))},renderItem:{layout:"fourCorners",templateCallback:u=>this.renderItemCallbackWith4Corners(u)}}},filter:{model:H.inputText,type:C.string,queryField:"product.itemName"}},{id:"origin",name:"Country of Origin",field:"origin",formatter:P.complexObject,columnGroup:"Item",exportCustomFormatter:P.complex,dataKey:"code",labelKey:"name",type:C.object,sortComparer:T0.objectString,filterable:!0,sortable:!0,minWidth:100,editor:{model:$.autocompleter,alwaysSaveOnEnterKey:!0,massUpdate:!0,editorOptions:{minLength:0,showOnFocus:!1,fetch:(u,e)=>{const i=JSON.parse(co).filter(t=>t.name.toLowerCase().includes(u.toLowerCase()));e(i.map(t=>({label:t.name,value:t.code})))}}},filter:{model:H.inputText,type:"string",queryField:"origin.name"}},{id:"action",name:"Action",field:"action",width:70,minWidth:70,maxWidth:70,excludeFromExport:!0,cssClass:"justify-center flex",formatter:()=>'
',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"edit",title:"Edit Row",iconCssClass:"mdi mdi-square-edit-outline",positionOrder:66,action:()=>this.openCompositeModal("edit")},{command:"clone",title:"Clone Row",iconCssClass:"mdi mdi-content-copy",positionOrder:66,action:()=>this.openCompositeModal("clone")},"divider",{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"has-text-danger",textCssClass:"text-italic",itemVisibilityOverride:u=>{var e;return!((e=u.dataContext)!=null&&e.completed)},action:(u,e)=>{var i;const a=e.dataContext;confirm(`Do you really want to delete row (${e.row+1}) with "${a.title}"`)&&((i=this.slickerGridInstance)==null||i.gridService.deleteItemById(a.id))}}]}}],this.gridOptions={useSalesforceDefaultGridOptions:!0,autoFixResizeRequiredGoodCount:1,datasetIdPropertyName:"id",darkMode:this._darkMode,eventNamingStyle:I0.lowerCase,autoAddCustomEditorFormatter:$C,enableAddRow:!0,enableCellNavigation:!0,asyncEditorLoading:!1,autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,showCustomFooter:!0,enablePagination:!0,pagination:{pageSize:10,pageSizes:[10,200,500,5e3]},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!1},externalResources:[new y0,this.compositeEditorInstance],enableFiltering:!0,rowSelectionOptions:{selectActiveRow:!1},createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:28,rowHeight:33,headerRowHeight:35,enableCheckboxSelector:!0,enableRowSelection:!0,checkboxSelector:{applySelectOnAllPages:!0,hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},enableCompositeEditor:!0,editCommandHandler:(u,e,a)=>{const i=Array.isArray(a.prevSerializedValue)?a.prevSerializedValue:[a.prevSerializedValue],t=Array.isArray(a.serializedValue)?a.serializedValue:[a.serializedValue],r=this.columnDefinitions.filter(s=>s.editor!==void 0),o=[];i.forEach((s,l)=>{var c;const E=i[l],d=t[l];if(E!==d||d===""){const D=Array.isArray(a.prevSerializedValue)?r[l]:e;this.editedItems[this.gridOptions.datasetIdPropertyName||"id"]=u,(c=this.sgb.slickGrid)==null||c.invalidate(),a.execute(),this.renderUnsavedCellStyling(u,D,a),o.push(D)}}),this.editQueue.push({item:u,columns:o,editCommand:a})},enableCellMenu:!0,cellMenu:{activateCellOnMenuClick:!0},gridMenu:{hideToggleDarkModeCommand:!1,onCommand:(u,e)=>{e.command==="toggle-dark-mode"&&(this._darkMode=!this._darkMode,this.toggleBodyBackground())}},skipCompoundOperatorFilterWithNullInput:!0}}loadData(u){var a,i;const e=[];for(let t=0;t100?t>5?100:88:D,h=m===100;e[t]={id:t,title:"Task "+t,duration:Math.floor(Math.random()*100)+10,percentComplete:m,analysis:{percentComplete:m},complexity:t%3?0:2,start:new Date(o,l,E,E,d,d,d),finish:h||t%3===0&&c>new Date&&t>3?h?new Date:c:"",cost:t%33===0?null:Math.round(Math.random()*1e4)/100,completed:h||t%3===0&&c>new Date&&t>3,product:{id:(a=this.mockProducts()[r])==null?void 0:a.id,itemName:(i=this.mockProducts()[r])==null?void 0:i.itemName},origin:t%2?{code:"CA",name:"Canada"}:{code:"US",name:"United States"}},t%8||(delete e[t].finish,delete e[t].percentComplete,delete e[t].analysis.percentComplete)}return e}handleValidationError(u){var a;const e=(a=u.detail)==null?void 0:a.args;if(console.log("handleValidationError",u.detail),e.validationResults){let i=e.validationResults.msg||"";if((e==null?void 0:e.editor)instanceof I4){if(e.validationResults.errors){i+=` `;for(const t of e.validationResults.errors){const r=t.editor.args.column.name;i+=`${r.toUpperCase()}: ${t.msg}`}}console.log(i)}}else alert(e.validationResults.msg);return!1}handleItemDeleted(u){const e=u==null?void 0:u.detail;console.log("item deleted with id:",e)}handleOnBeforeEditCell(u){var r;const e=(r=u==null?void 0:u.detail)==null?void 0:r.args,{column:a,item:i,grid:t}=e;return a&&i&&!V4(i,a,t)?(u.preventDefault(),!1):!0}handleOnCellChange(u){var i;const e=(i=u==null?void 0:u.detail)==null?void 0:i.args,a=e==null?void 0:e.item;console.log("cell change",e),a&&!a.completed&&(a.finish=null,this.sgb.gridService.updateItem(a))}handleOnCellClicked(u){var i,t;const e=(i=u==null?void 0:u.detail)==null?void 0:i.args,a=(t=u==null?void 0:u.detail)==null?void 0:t.eventData;console.log(a,e)}handleOnCompositeEditorChange(u){const e=u.detail.args,a=e.column,i=e.formValues;a.id==="percentComplete"&&i.percentComplete===100&&(this.compositeEditorInstance.changeFormInputValue("completed",!0),this.compositeEditorInstance.changeFormInputValue("finish",new Date))}handleReRenderUnsavedStyling(){this.removeAllUnsavedStylingFromCell(),this.renderUnsavedStylingOnAllVisibleCells()}handleOnGridStateChanged(u){var a;const e=(a=u==null?void 0:u.detail)==null?void 0:a.gridState;Array.isArray(e==null?void 0:e.rowSelection.dataContextIds)&&(this.isMassSelectionDisabled=e.rowSelection.dataContextIds.length===0)}handleOnSelectedRowIdsChanged(u){var a;const e=(a=u==null?void 0:u.detail)==null?void 0:a.args;console.log("sortedSelectedIds",e.filteredIds.length,e.selectedRowIds.length)}removeUnsavedStylingFromCell(u,e,a){var r;const i=`unsaved_highlight_${[e.id]}${a}`;(r=this.sgb.slickGrid)==null||r.removeCellCssStyles(i);const t=this.cellCssStyleQueue.findIndex(o=>o===i);t>=0&&this.cellCssStyleQueue.splice(t,1)}removeAllUnsavedStylingFromCell(){var u;for(const e of this.cellCssStyleQueue)(u=this.sgb.slickGrid)==null||u.removeCellCssStyles(e);this.cellCssStyleQueue=[]}renderUnsavedStylingOnAllVisibleCells(){for(const u of this.editQueue)if(u){const{item:e,columns:a,editCommand:i}=u;Array.isArray(a)&&a.forEach(t=>{this.renderUnsavedCellStyling(e,t,i)})}}renderUnsavedCellStyling(u,e,a){var i,t;if(a&&u&&e){const r=(i=this.sgb.dataView)==null?void 0:i.getRowByItem(u);if(r!==void 0&&r>=0){const o={[r]:{[e.id]:"unsaved-editable-field"}},s=`unsaved_highlight_${[e.id]}${r}`;(t=this.sgb.slickGrid)==null||t.setCellCssStyles(s,o),this.cellCssStyleQueue.push(s)}}}saveAll(){console.log(this.editQueue),console.log(this.editedItems),this.removeAllUnsavedStylingFromCell(),this.editQueue=[],this.editedItems={}}undoLastEdit(u=!1){var i,t,r;const e=this.editQueue.pop(),a=e==null?void 0:e.editCommand;if(e&&a&&Z0.cancelCurrentEdit()){a.undo();for(const o of e.columns)this.removeUnsavedStylingFromCell(e.item,o,a.row);(i=this.sgb.slickGrid)==null||i.invalidate(),u&&((r=(t=this.sgb)==null?void 0:t.slickGrid)==null||r.gotoCell(a.row,a.cell,!1))}}undoAllEdits(){var u;for(const e of this.editQueue){const a=e==null?void 0:e.editCommand;if(a&&Z0.cancelCurrentEdit()){a.undo();for(const i of e.columns)this.removeUnsavedStylingFromCell(e.item,i,a.row)}}(u=this.sgb.slickGrid)==null||u.invalidate(),this.editQueue=[]}toggleGridEditReadonly(){this.undoAllEdits(),this.isGridEditable=!this.isGridEditable,this.sgb.gridOptions={...this.sgb.gridOptions,editable:this.isGridEditable},this.gridOptions=this.sgb.gridOptions,this.isCompositeDisabled=!this.isGridEditable,this.isGridEditable||(this.isMassSelectionDisabled=!0)}toggleDarkMode(){var u;this._darkMode=!this._darkMode,this.toggleBodyBackground(),this.sgb.gridOptions={...this.sgb.gridOptions,darkMode:this._darkMode},(u=this.sgb.slickGrid)==null||u.setOptions({darkMode:this._darkMode})}toggleBodyBackground(){var u,e;this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"))}mockProducts(){return[{id:0,itemName:"Sleek Metal Computer",itemNameTranslated:"some fantastic sleek metal computer description",listPrice:2100.23,itemTypeName:"I",image:"http://i.stack.imgur.com/pC1Tv.jpg",icon:this.getRandomIcon(0)},{id:1,itemName:"Tasty Granite Table",itemNameTranslated:"an extremely huge and heavy table",listPrice:3200.12,itemTypeName:"I",image:"https://i.imgur.com/Fnm7j6h.jpg",icon:this.getRandomIcon(1)},{id:2,itemName:"Awesome Wooden Mouse",itemNameTranslated:"super old mouse",listPrice:15,itemTypeName:"I",image:"https://i.imgur.com/RaVJuLr.jpg",icon:this.getRandomIcon(2)},{id:3,itemName:"Gorgeous Fresh Shirt",itemNameTranslated:"what a gorgeous shirt seriously",listPrice:25.76,itemTypeName:"I",image:"http://i.stack.imgur.com/pC1Tv.jpg",icon:this.getRandomIcon(3)},{id:4,itemName:"Refined Cotton Table",itemNameTranslated:"super light table that will fall apart amazingly fast",listPrice:13.35,itemTypeName:"I",image:"https://i.imgur.com/Fnm7j6h.jpg",icon:this.getRandomIcon(4)},{id:5,itemName:"Intelligent Wooden Pizza",itemNameTranslated:"wood not included",listPrice:23.33,itemTypeName:"I",image:"https://i.imgur.com/RaVJuLr.jpg",icon:this.getRandomIcon(5)},{id:6,itemName:"Licensed Cotton Chips",itemNameTranslated:"not sure what that is",listPrice:71.21,itemTypeName:"I",image:"http://i.stack.imgur.com/pC1Tv.jpg",icon:this.getRandomIcon(6)},{id:7,itemName:"Ergonomic Rubber Soap",itemNameTranslated:"so good you'll want to use it every night",listPrice:2.43,itemTypeName:"I",image:"https://i.imgur.com/Fnm7j6h.jpg",icon:this.getRandomIcon(7)},{id:8,itemName:"Handcrafted Steel Car",itemNameTranslated:"aka tesla truck",listPrice:31288.39,itemTypeName:"I",image:"https://i.imgur.com/RaVJuLr.jpg",icon:this.getRandomIcon(8)}]}getRandomIcon(u){const e=["mdi-arrow-collapse","mdi-arrow-expand","mdi-cancel","mdi-check","mdi-checkbox-blank-outline","mdi-check-box-outline","mdi-checkbox-marked","mdi-close","mdi-close-circle","mdi-close-circle-outline","mdi-close-thick","mdi-content-copy","mdi-database-refresh","mdi-download","mdi-file-document-outline","mdi-file-excel-outline","mdi-file-music-outline","mdi-file-pdf-outline","mdi-filter-remove-outline","mdi-flip-vertical","mdi-folder","mdi-folder-open","mdi-help-circle","mdi-help-circle-outline","mdi-history","mdi-information","mdi-information-outline","mdi-link","mdi-link-variant","mdi-menu","mdi-microsoft-excel","mdi-minus","mdi-page-first","mdi-page-last","mdi-paperclip","mdi-pin-off-outline","mdi-pin-outline","mdi-playlist-plus","mdi-playlist-remove","mdi-plus","mdi-redo","mdi-refresh","mdi-shape-square-plus","mdi-sort-ascending","mdi-sort-descending","mdi-swap-horizontal","mdi-swap-vertical","mdi-sync","mdi-table-edit","mdi-table-refresh","mdi-undo"],a=Math.floor(Math.random()*e.length-1);return e[u??a]}renderItemCallbackWith2Rows(u){return`
diff --git a/index.html b/index.html index 2117c5f41..9c7937b92 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ style-src 'self' 'unsafe-inline'; worker-src 'self' blob:; "> - +