@deephaven/code-studio 0.44.1 → 0.44.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{C as h,G as re,r as w,I as Yb,P as q,F as te,J as Ff,K as fe,L as Uu,M as zi,N as rt,O as Pe,Q as If,S as ct,T as Nh,U as qb,V as Xb,W as Qb,X as Zb,$ as ce,R as Fh,Y as Qc,Z as Xe,_ as Ih,a0 as Jb,a1 as Ve,a2 as $u,E as eS,D as kr,a3 as nd,a4 as _f,a5 as _h,a6 as tS,a7 as An,a8 as rS,a9 as nS,aa as iS,ab as aS,ac as Bu,ad as oS,ae as sS,af as lS,ag as Zc,ah as dS,ai as Jc,aj as uS,ak as hS,al as cS,am as mS,an as vS,ao as gS,ap as $t,aq as Mf,ar as fS,as as Af,at as pS,H as F,au as Lf,av as CS,aw as bS,ax as SS,ay as wS,az as em,aA as ES,aB as yS}from"./vendor-56855688.js";import{e as ni,l as _n,K as Qr,a as tm,R as TS,b as Ui,W as PS}from"./monaco-13f9c9bb.js";import{v as Vu,d as OS,a as kf,b as Mh,L as Hn,c as gs,e as ti,f as xf,g as ie,h as rm,i as DS,j as RS,k as NS,l as FS,m as Hr,n as Wi,o as Hf,p as ii,q as id,r as no,s as IS,t as _S,u as nm,w as Rl,x as im,y as Uf,z as MS,A as fs,B as $f,C as AS,D as LS,T as et,E as Ah,F as Lh,G as Nl,H as Gn,I as kS,J as xS,K as HS,M as US,N as $S,O as BS,P as kh,Q as Yi,R as am,S as ps,U as xh,V as Hh,W as Bf,X as VS,Y as ad,Z as GS,_ as os,$ as WS,a0 as Uh,a1 as Vf,a2 as ma,a3 as jS,a4 as zS,a5 as KS,a6 as YS,a7 as qS,a8 as XS,a9 as su,aa as QS,ab as om,ac as ZS,ad as JS,ae as od,af as sd,ag as ew,ah as tw,ai as ld,aj as Gf,ak as rw,al as nw,am as iw,an as Wf,ao as aw,ap as ow,aq as sw,ar as lw,as as dw,at as uw,au as hw,av as cw,aw as mw,ax as vw,ay as gw,az as fw,aA as pw,aB as jf,aC as Cw,aD as Gu,aE as Wu,aF as bw,aG as Sw,aH as ww,aI as Ew,aJ as yw,aK as Tw,aL as Pw,aM as Ow,aN as Dw,aO as Rw,aP as Nw,aQ as Fw,aR as Iw,aS as sm,aT as _w,aU as Mw,aV as lm}from"./index-d4b59214.js";import{P as Te,u as Pa,T as dd,B as j,a as L,S as qe,M as we,K as Oe,G as ui,C as le,b as Zr,c as rn,D as ai,d as go,e as ud,f as pt,g as Cs,I as io,U as Aw,h as ge,i as H,F as oi,j as wn,k as Ea,l as $h,m as U,E as xe,n as Zn,o as Ki,p as bl,q as Tt,r as tt,s as yt,t as hd,v as Lw,O as ei,w as kw,x as bn,y as vn,z as xw,A as Hw,R as cd,H as si,J as md,L as zf,N as Kf,Q as Uw,V as $w,W as dm,X as Je,Y as um,Z as Yf,_ as Bh,$ as hm,a0 as ss,a1 as qf,a2 as Bw,a3 as Xf,a4 as Vw,a5 as hn,a6 as Gw,a7 as Ww,a8 as jw,a9 as zw,aa as Kw,ab as Yw,ac as qw,ad as Xw,ae as Qw,af as Zw,ag as Jw,ah as eE}from"./useUser-4c6c31c4.js";import{P as Fl,b as tE,h as rE,p as nE,o as iE,s as aE,t as oE,c as Sl}from"./plotly-14bed2d9.js";import"./helpers-042e6b4d.js";class Vh{static isDark(e){var t=document.createElement("div");t.style.display="none",t.style.color=e;var r=getComputedStyle(document.body.appendChild(t)).color,i=r.match(/\d+/g),a=[];if(i)a=i.map(s=>parseInt(s,10));else throw new Error("Invalid color received. Got ".concat(r));document.body.removeChild(t);var o=Vh.getBrightness(a);return o<125}static getBrightness(e){return Math.round((e[0]*299+e[1]*587+e[2]*114)/1e3)}}const Qf=Vh;function fo(n,e,t){return e=sE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sE(n){var e=lE(n,"string");return typeof e=="symbol"?e:String(e)}function lE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var dE="table_",Zf="column_",uE=new Set(["in","not","i","ii","k"]),hE=new Set(["abstract","continue","for","new","switch","assert","default","if","package","synchronized","boolean","do","goto","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","null","true","false"]),cE=/[^a-zA-Z0-9_$+@-]/g,mE=/[^A-Za-z0-9_$]/g;class nn{}fo(nn,"legalize",(n,e,t,r,i)=>{var a=n.trim().replace(/[- ]/g,"_");return r&&(uE.has(a)||hE.has(a))&&(a=e+a),a=a.replace(t,""),a||(a=e+i),Number.isNaN(Number(a.charAt(0)))||(a=e+a),a});fo(nn,"legalizeTableName",n=>nn.legalize(n,dE,cE,!1,0));fo(nn,"legalizeColumnNames",n=>{var e=[];return n.forEach((t,r)=>{var i=nn.legalizeColumnName(t,r);e.includes(i)&&(i=Zf+r),e.push(i)}),e});fo(nn,"legalizeColumnName",function(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return nn.legalize(n,Zf,mE,!0,e)});fo(nn,"isValidTableName",n=>nn.legalizeTableName(n)===n);fo(nn,"isValidColumnName",n=>nn.legalizeColumnName(n)===n);const po=nn;function vE(n,e){return n?n.closest(".".concat(e)):null}const gE={getClosestByClassName:vE};function cm(n,e,t){return e=fE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fE(n){var e=pE(n,"string");return typeof e=="symbol"?e:String(e)}function pE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class CE{constructor(){cm(this,"pending",[]),cm(this,"resolved",[])}add(e,t){var r=Te.makeCancelable(e,t);return this.pending.push(r),r.then(()=>{this.resolve(r)},()=>{this.resolve(r)}),r}remove(e){for(var t=0;t<this.pending.length;t+=1)if(this.pending[t]===e){this.pending.splice(t,1);return}}resolve(e){this.remove(e),this.resolved.push(e)}cancel(){for(var e=[...this.pending,...this.resolved],t=0;t<e.length;t+=1)e[t].cancel();this.pending=[],this.resolved=[]}}const hi=CE;function bE(n,e,t){return e=SE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function SE(n){var e=wE(n,"string");return typeof e=="symbol"?e:String(e)}function wE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class EE extends Error{constructor(){super(...arguments),bE(this,"isInvalid",!0)}}const Ja=EE;function Jf(n){var{type:e}=n,t=Pa();switch(e){case t.VariableType.TABLE:case t.VariableType.TABLEMAP:case t.VariableType.TREETABLE:case t.VariableType.HIERARCHICALTABLE:return h.createElement(re,{icon:Mh});case t.VariableType.FIGURE:return h.createElement(re,{icon:kf});case t.VariableType.PANDAS:return h.createElement(re,{icon:OS});default:return h.createElement(re,{icon:Vu})}}function yE(n,e,t){return e=TE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function TE(n){var e=PE(n,"string");return typeof e=="symbol"?e:String(e)}function PE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class OE extends w.Component{constructor(e){super(e),yE(this,"container",void 0),this.container=null}componentDidMount(){this.colorize()}colorize(){var{children:e}=this.props;this.container&&e!=null&&ni.colorizeElement(this.container,{theme:"dh-dark"})}render(){var{children:e,language:t}=this.props;return h.createElement("div",null,h.createElement("div",{"data-lang":t,ref:r=>{this.container=r},style:{pointerEvents:"none"}},e))}}const vd=OE;class DE{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const ep=DE;class Il{static hasComment(e){return e.comment!==void 0}static hasPattern(e){return e.pattern!==void 0}static hasOp(e){return e.op!==void 0}static parseArguments(e){return e==null||!(typeof e=="string"||e instanceof String)?[]:Yb.parse(e).filter(t=>!this.hasComment(t)).map(t=>this.hasPattern(t)?t.pattern:this.hasOp(t)?t.op:"".concat(t))}static formatTimestamp(e){if(e==null||!(e instanceof Date))return null;var t="".concat(e.getHours()).padStart(2,"0"),r="".concat(e.getMinutes()).padStart(2,"0"),i="".concat(e.getSeconds()).padStart(2,"0"),a="".concat(e.getMilliseconds()).padStart(3,"0");return"".concat(t,":").concat(r,":").concat(i,".").concat(a)}static isTableType(e,t){return t===e.VariableType.TABLE||t===e.VariableType.TREETABLE||t===e.VariableType.HIERARCHICALTABLE}static isWidgetType(e,t){return t===e.VariableType.FIGURE||t===e.VariableType.OTHERWIDGET||t===e.VariableType.PANDAS}static isOpenableType(e,t){return Il.isTableType(e,t)||Il.isWidgetType(e,t)}static isFigureType(e,t){return t===e.VariableType.FIGURE}static isPandas(e,t){return t===e.VariableType.PANDAS}}const ju=Il;function tp(n){var{children:e}=n;return h.createElement("div",{className:"console-history-item-result"},h.createElement("div",{className:"console-history-gutter"},"-"),h.createElement("div",{className:"console-history-content"},e))}tp.propTypes={children:q.node.isRequired};function zu(n,e,t){return e=RE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RE(n){var e=NE(n,"string");return typeof e=="symbol"?e:String(e)}function NE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class rp extends w.Component{constructor(e){super(e),zu(this,"timer",void 0),zu(this,"startTime",void 0),this.updateElapsed=this.updateElapsed.bind(this),this.startTime=Date.now(),this.state={elapsed:0}}componentDidMount(){this.timer=setInterval(this.updateElapsed,1e3)}componentWillUnmount(){this.timer&&clearInterval(this.timer),this.timer=void 0}updateElapsed(){this.setState({elapsed:Math.round((Date.now()-this.startTime)/1e3)})}render(){var{disabled:e,onCancelClick:t}=this.props,{elapsed:r}=this.state;return h.createElement("div",{className:te("console-history-result-in-progress",{disabled:e})},h.createElement("span",{className:"badge"},h.createElement(Hn,null)," Running... ",dd.formatElapsedTime(r)," ",h.createElement(j,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:gs,tooltip:"Cancel",onClick:t,disabled:e})))}}zu(rp,"defaultProps",{disabled:!1});const FE=rp;function Qo(n,e,t){return e=IE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IE(n){var e=_E(n,"string");return typeof e=="symbol"?e:String(e)}function _E(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ao extends w.PureComponent{constructor(e){super(e),Qo(this,"mouseX",void 0),Qo(this,"mouseY",void 0),Qo(this,"isClicking",void 0),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleToggleError=this.handleToggleError.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.mouseX=null,this.mouseY=null,this.isClicking=!1,this.state={isExpanded:!1,isTriggerHovered:!1}}handleKeyPress(e){switch(e.key){case"Enter":case" ":this.handleToggleError(),e.stopPropagation(),e.preventDefault();break}}handleMouseDown(e){this.mouseX=e.clientX,this.mouseY=e.clientY,this.isClicking=!0}handleMouseMove(e){this.mouseX!=null&&this.mouseY!=null?(Math.abs(e.clientX-this.mouseX)>=ao.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=ao.mouseDragThreshold)&&(this.isClicking=!1):this.isClicking&&(this.isClicking=!1)}handleMouseUp(e){this.isClicking&&!e.shiftKey&&!e.metaKey&&!e.altKey&&this.handleToggleError(),this.mouseX=null,this.mouseY=null,this.isClicking=!1}handleToggleError(){this.setState(e=>({isExpanded:!e.isExpanded}))}handleMouseEnter(){this.setState({isTriggerHovered:!0})}handleMouseLeave(){this.setState({isTriggerHovered:!1})}render(){var{isExpanded:e,isTriggerHovered:t}=this.state,{message:r}=this.props;L(r);var i=r.indexOf(`
1
+ import{C as h,G as re,r as w,I as Yb,P as q,F as te,J as Ff,K as fe,L as Uu,M as zi,N as rt,O as Pe,Q as If,S as ct,T as Nh,U as qb,V as Xb,W as Qb,X as Zb,$ as ce,R as Fh,Y as Qc,Z as Xe,_ as Ih,a0 as Jb,a1 as Ve,a2 as $u,E as eS,D as kr,a3 as nd,a4 as _f,a5 as _h,a6 as tS,a7 as An,a8 as rS,a9 as nS,aa as iS,ab as aS,ac as Bu,ad as oS,ae as sS,af as lS,ag as Zc,ah as dS,ai as Jc,aj as uS,ak as hS,al as cS,am as mS,an as vS,ao as gS,ap as $t,aq as Mf,ar as fS,as as Af,at as pS,H as F,au as Lf,av as CS,aw as bS,ax as SS,ay as wS,az as em,aA as ES,aB as yS}from"./vendor-56855688.js";import{e as ni,l as _n,K as Qr,a as tm,R as TS,b as Ui,W as PS}from"./monaco-13f9c9bb.js";import{v as Vu,d as OS,a as kf,b as Mh,L as Hn,c as gs,e as ti,f as xf,g as ie,h as rm,i as DS,j as RS,k as NS,l as FS,m as Hr,n as Wi,o as Hf,p as ii,q as id,r as no,s as IS,t as _S,u as nm,w as Rl,x as im,y as Uf,z as MS,A as fs,B as $f,C as AS,D as LS,T as et,E as Ah,F as Lh,G as Nl,H as Gn,I as kS,J as xS,K as HS,M as US,N as $S,O as BS,P as kh,Q as Yi,R as am,S as ps,U as xh,V as Hh,W as Bf,X as VS,Y as ad,Z as GS,_ as os,$ as WS,a0 as Uh,a1 as Vf,a2 as ma,a3 as jS,a4 as zS,a5 as KS,a6 as YS,a7 as qS,a8 as XS,a9 as su,aa as QS,ab as om,ac as ZS,ad as JS,ae as od,af as sd,ag as ew,ah as tw,ai as ld,aj as Gf,ak as rw,al as nw,am as iw,an as Wf,ao as aw,ap as ow,aq as sw,ar as lw,as as dw,at as uw,au as hw,av as cw,aw as mw,ax as vw,ay as gw,az as fw,aA as pw,aB as jf,aC as Cw,aD as Gu,aE as Wu,aF as bw,aG as Sw,aH as ww,aI as Ew,aJ as yw,aK as Tw,aL as Pw,aM as Ow,aN as Dw,aO as Rw,aP as Nw,aQ as Fw,aR as Iw,aS as sm,aT as _w,aU as Mw,aV as lm}from"./index-0dd45b95.js";import{P as Te,u as Pa,T as dd,B as j,a as L,S as qe,M as we,K as Oe,G as ui,C as le,b as Zr,c as rn,D as ai,d as go,e as ud,f as pt,g as Cs,I as io,U as Aw,h as ge,i as H,F as oi,j as wn,k as Ea,l as $h,m as U,E as xe,n as Zn,o as Ki,p as bl,q as Tt,r as tt,s as yt,t as hd,v as Lw,O as ei,w as kw,x as bn,y as vn,z as xw,A as Hw,R as cd,H as si,J as md,L as zf,N as Kf,Q as Uw,V as $w,W as dm,X as Je,Y as um,Z as Yf,_ as Bh,$ as hm,a0 as ss,a1 as qf,a2 as Bw,a3 as Xf,a4 as Vw,a5 as hn,a6 as Gw,a7 as Ww,a8 as jw,a9 as zw,aa as Kw,ab as Yw,ac as qw,ad as Xw,ae as Qw,af as Zw,ag as Jw,ah as eE}from"./useUser-da7ab951.js";import{P as Fl,b as tE,h as rE,p as nE,o as iE,s as aE,t as oE,c as Sl}from"./plotly-14bed2d9.js";import"./helpers-042e6b4d.js";class Vh{static isDark(e){var t=document.createElement("div");t.style.display="none",t.style.color=e;var r=getComputedStyle(document.body.appendChild(t)).color,i=r.match(/\d+/g),a=[];if(i)a=i.map(s=>parseInt(s,10));else throw new Error("Invalid color received. Got ".concat(r));document.body.removeChild(t);var o=Vh.getBrightness(a);return o<125}static getBrightness(e){return Math.round((e[0]*299+e[1]*587+e[2]*114)/1e3)}}const Qf=Vh;function fo(n,e,t){return e=sE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sE(n){var e=lE(n,"string");return typeof e=="symbol"?e:String(e)}function lE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var dE="table_",Zf="column_",uE=new Set(["in","not","i","ii","k"]),hE=new Set(["abstract","continue","for","new","switch","assert","default","if","package","synchronized","boolean","do","goto","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","null","true","false"]),cE=/[^a-zA-Z0-9_$+@-]/g,mE=/[^A-Za-z0-9_$]/g;class nn{}fo(nn,"legalize",(n,e,t,r,i)=>{var a=n.trim().replace(/[- ]/g,"_");return r&&(uE.has(a)||hE.has(a))&&(a=e+a),a=a.replace(t,""),a||(a=e+i),Number.isNaN(Number(a.charAt(0)))||(a=e+a),a});fo(nn,"legalizeTableName",n=>nn.legalize(n,dE,cE,!1,0));fo(nn,"legalizeColumnNames",n=>{var e=[];return n.forEach((t,r)=>{var i=nn.legalizeColumnName(t,r);e.includes(i)&&(i=Zf+r),e.push(i)}),e});fo(nn,"legalizeColumnName",function(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return nn.legalize(n,Zf,mE,!0,e)});fo(nn,"isValidTableName",n=>nn.legalizeTableName(n)===n);fo(nn,"isValidColumnName",n=>nn.legalizeColumnName(n)===n);const po=nn;function vE(n,e){return n?n.closest(".".concat(e)):null}const gE={getClosestByClassName:vE};function cm(n,e,t){return e=fE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fE(n){var e=pE(n,"string");return typeof e=="symbol"?e:String(e)}function pE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class CE{constructor(){cm(this,"pending",[]),cm(this,"resolved",[])}add(e,t){var r=Te.makeCancelable(e,t);return this.pending.push(r),r.then(()=>{this.resolve(r)},()=>{this.resolve(r)}),r}remove(e){for(var t=0;t<this.pending.length;t+=1)if(this.pending[t]===e){this.pending.splice(t,1);return}}resolve(e){this.remove(e),this.resolved.push(e)}cancel(){for(var e=[...this.pending,...this.resolved],t=0;t<e.length;t+=1)e[t].cancel();this.pending=[],this.resolved=[]}}const hi=CE;function bE(n,e,t){return e=SE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function SE(n){var e=wE(n,"string");return typeof e=="symbol"?e:String(e)}function wE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class EE extends Error{constructor(){super(...arguments),bE(this,"isInvalid",!0)}}const Ja=EE;function Jf(n){var{type:e}=n,t=Pa();switch(e){case t.VariableType.TABLE:case t.VariableType.TABLEMAP:case t.VariableType.TREETABLE:case t.VariableType.HIERARCHICALTABLE:return h.createElement(re,{icon:Mh});case t.VariableType.FIGURE:return h.createElement(re,{icon:kf});case t.VariableType.PANDAS:return h.createElement(re,{icon:OS});default:return h.createElement(re,{icon:Vu})}}function yE(n,e,t){return e=TE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function TE(n){var e=PE(n,"string");return typeof e=="symbol"?e:String(e)}function PE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class OE extends w.Component{constructor(e){super(e),yE(this,"container",void 0),this.container=null}componentDidMount(){this.colorize()}colorize(){var{children:e}=this.props;this.container&&e!=null&&ni.colorizeElement(this.container,{theme:"dh-dark"})}render(){var{children:e,language:t}=this.props;return h.createElement("div",null,h.createElement("div",{"data-lang":t,ref:r=>{this.container=r},style:{pointerEvents:"none"}},e))}}const vd=OE;class DE{static get LANGUAGE_MAP(){return new Map([["python","Python"],["groovy","Groovy"],["scala","Scala"]])}}const ep=DE;class Il{static hasComment(e){return e.comment!==void 0}static hasPattern(e){return e.pattern!==void 0}static hasOp(e){return e.op!==void 0}static parseArguments(e){return e==null||!(typeof e=="string"||e instanceof String)?[]:Yb.parse(e).filter(t=>!this.hasComment(t)).map(t=>this.hasPattern(t)?t.pattern:this.hasOp(t)?t.op:"".concat(t))}static formatTimestamp(e){if(e==null||!(e instanceof Date))return null;var t="".concat(e.getHours()).padStart(2,"0"),r="".concat(e.getMinutes()).padStart(2,"0"),i="".concat(e.getSeconds()).padStart(2,"0"),a="".concat(e.getMilliseconds()).padStart(3,"0");return"".concat(t,":").concat(r,":").concat(i,".").concat(a)}static isTableType(e,t){return t===e.VariableType.TABLE||t===e.VariableType.TREETABLE||t===e.VariableType.HIERARCHICALTABLE}static isWidgetType(e,t){return t===e.VariableType.FIGURE||t===e.VariableType.OTHERWIDGET||t===e.VariableType.PANDAS}static isOpenableType(e,t){return Il.isTableType(e,t)||Il.isWidgetType(e,t)}static isFigureType(e,t){return t===e.VariableType.FIGURE}static isPandas(e,t){return t===e.VariableType.PANDAS}}const ju=Il;function tp(n){var{children:e}=n;return h.createElement("div",{className:"console-history-item-result"},h.createElement("div",{className:"console-history-gutter"},"-"),h.createElement("div",{className:"console-history-content"},e))}tp.propTypes={children:q.node.isRequired};function zu(n,e,t){return e=RE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RE(n){var e=NE(n,"string");return typeof e=="symbol"?e:String(e)}function NE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class rp extends w.Component{constructor(e){super(e),zu(this,"timer",void 0),zu(this,"startTime",void 0),this.updateElapsed=this.updateElapsed.bind(this),this.startTime=Date.now(),this.state={elapsed:0}}componentDidMount(){this.timer=setInterval(this.updateElapsed,1e3)}componentWillUnmount(){this.timer&&clearInterval(this.timer),this.timer=void 0}updateElapsed(){this.setState({elapsed:Math.round((Date.now()-this.startTime)/1e3)})}render(){var{disabled:e,onCancelClick:t}=this.props,{elapsed:r}=this.state;return h.createElement("div",{className:te("console-history-result-in-progress",{disabled:e})},h.createElement("span",{className:"badge"},h.createElement(Hn,null)," Running... ",dd.formatElapsedTime(r)," ",h.createElement(j,{className:"console-history-result-in-progress-cancel",kind:"ghost",icon:gs,tooltip:"Cancel",onClick:t,disabled:e})))}}zu(rp,"defaultProps",{disabled:!1});const FE=rp;function Qo(n,e,t){return e=IE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IE(n){var e=_E(n,"string");return typeof e=="symbol"?e:String(e)}function _E(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ao extends w.PureComponent{constructor(e){super(e),Qo(this,"mouseX",void 0),Qo(this,"mouseY",void 0),Qo(this,"isClicking",void 0),this.handleKeyPress=this.handleKeyPress.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleToggleError=this.handleToggleError.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.mouseX=null,this.mouseY=null,this.isClicking=!1,this.state={isExpanded:!1,isTriggerHovered:!1}}handleKeyPress(e){switch(e.key){case"Enter":case" ":this.handleToggleError(),e.stopPropagation(),e.preventDefault();break}}handleMouseDown(e){this.mouseX=e.clientX,this.mouseY=e.clientY,this.isClicking=!0}handleMouseMove(e){this.mouseX!=null&&this.mouseY!=null?(Math.abs(e.clientX-this.mouseX)>=ao.mouseDragThreshold||Math.abs(e.clientY-this.mouseY)>=ao.mouseDragThreshold)&&(this.isClicking=!1):this.isClicking&&(this.isClicking=!1)}handleMouseUp(e){this.isClicking&&!e.shiftKey&&!e.metaKey&&!e.altKey&&this.handleToggleError(),this.mouseX=null,this.mouseY=null,this.isClicking=!1}handleToggleError(){this.setState(e=>({isExpanded:!e.isExpanded}))}handleMouseEnter(){this.setState({isTriggerHovered:!0})}handleMouseLeave(){this.setState({isTriggerHovered:!1})}render(){var{isExpanded:e,isTriggerHovered:t}=this.state,{message:r}=this.props;L(r);var i=r.indexOf(`
2
2
  `),a=i>-1,o=r;a&&(o=r.slice(0,i));var s=r.slice(i),l=t?"error-btn-link error-btn-link--active":"error-btn-link";return h.createElement("div",{key:"error",className:te("error-message",{expanded:e})},a&&h.createElement(h.Fragment,null,h.createElement("div",{className:"error-gutter"},h.createElement("button",{type:"button",onClick:this.handleToggleError,className:l,tabIndex:-1},h.createElement(re,{icon:e?ti:xf,transform:"left-3"}))),h.createElement("div",{className:"error-content"},h.createElement("div",{className:"console-error-text-trigger",role:"button",tabIndex:0,onKeyPress:this.handleKeyPress,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseUp:this.handleMouseUp},o),e?s:"")),!a&&h.createElement("div",{className:"error-content"},h.createElement("div",{className:"console-error-text"},o)))}}Qo(ao,"defaultProps",{message:""});Qo(ao,"mouseDragThreshold",5);const ME=ao;function AE(n,e,t){return e=LE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function LE(n){var e=kE(n,"string");return typeof e=="symbol"?e:String(e)}function kE(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var mm=ie.module("ConsoleHistoryItem");class np extends w.PureComponent{constructor(e){super(e),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleObjectClick=this.handleObjectClick.bind(this)}handleObjectClick(e){mm.debug("handleObjectClick",e);var{openObject:t}=this.props;t(e)}handleCancelClick(){var{item:e}=this.props;e!=null&&e.cancelResult&&(mm.debug("Cancelling command: ".concat(e.command)),e.cancelResult())}render(){var{disabled:e,item:t,language:r}=this.props,{disabledObjects:i,result:a}=t,o=null;t.command!=null&&t.command!==""&&(o=h.createElement("div",{className:"console-history-item-command"},h.createElement("div",{className:"console-history-gutter"},">"),h.createElement("div",{className:"console-history-content"},h.createElement(vd,{language:r},t.command))));var s=[],l=!1;if(a){var{error:d,message:u,changes:c}=a;if(c){var{created:m,updated:v}=c;[...m,...v].forEach(E=>{l=!0;var{title:y}=E,T="".concat(y),O=e===void 0||e||(i??[]).indexOf(T)>=0,D=h.createElement(j,{key:T,kind:"primary",onClick:()=>this.handleObjectClick(E),className:"btn-console-object",disabled:O,icon:h.createElement(Jf,{type:E.type})},y);s.push(D)})}if(d!=null&&t.command==null){var g,f="".concat((g=d.message)!==null&&g!==void 0?g:d);f||(f=d);var p=h.createElement(ME,{key:"result-error",message:f});s.push(p)}if(u!==void 0&&u!==""){var C=h.createElement("div",{key:"log-message",className:"log-message"},u);s.push(C)}}else{l=!0;var b=h.createElement(FE,{key:"in_progress",onCancelClick:this.handleCancelClick,disabled:e});s.push(b)}var S=null;return s.length>0&&(S=h.createElement(tp,null,s)),h.createElement("div",{className:te("console-command-result",{"console-result-buttons":l})},o,S)}}AE(np,"defaultProps",{disabled:!1});const xE=np;function HE(n,e,t){return e=UE(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UE(n){var e=$E(n,"string");return typeof e=="symbol"?e:String(e)}function $E(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class gd extends w.Component{static itemKey(e,t){return"".concat(e,".").concat(t.command,".").concat(t.result&&t.result.message,".").concat(t.result&&t.result.error)}render(){for(var{disabled:e,items:t,language:r,openObject:i}=this.props,a=[],o=0;o<t.length;o+=1){var s=t[o],l=h.createElement(xE,{key:gd.itemKey(o,s),disabled:e,item:s,openObject:i,language:r});a.push(l)}return h.createElement("div",{className:"container-fluid console-history"},a)}}HE(gd,"defaultProps",{disabled:!1});const BE=gd;var VE={name:"Console",CLEAR:qe.createAndAdd({id:"CONSOLE.CLEAR",name:"Clear",shortcut:[we.CTRL,Oe.L],macShortcut:[we.CTRL,Oe.C]}),FOCUS_HISTORY:qe.createAndAdd({id:"CONSOLE.FOCUS_HISTORY",name:"Focus History",shortcut:[we.CTRL,Oe.H],macShortcut:[we.CTRL,we.OPTION,Oe.H]})},GE={name:"Command History",FOCUS_HISTORY:qe.createAndAdd({id:"COMMAND_HISTORY.FOCUS_HISTORY",name:"Focus History Search",shortcut:[we.CTRL,Oe.H],macShortcut:[we.CTRL,we.OPTION,Oe.H]}),SEND_TO_CONSOLE:qe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_CONSOLE",name:"Send to Console",shortcut:[Oe.ENTER],macShortcut:[Oe.ENTER]}),SEND_TO_NOTEBOOK:qe.createAndAdd({id:"COMMAND_HISTORY.SEND_TO_NOTEBOOK",name:"Send to Notebook",shortcut:[we.CTRL,Oe.ENTER],macShortcut:[we.CMD,Oe.ENTER]}),RUN:qe.createAndAdd({id:"COMMAND_HISTORY.RUN",name:"Run",shortcut:[we.ALT,Oe.R],macShortcut:[we.OPTION,Oe.R]})},WE={name:"Notebook",RUN:qe.createAndAdd({id:"NOTEBOOK.RUN",name:"Run",shortcut:[we.ALT,Oe.R],macShortcut:[we.OPTION,Oe.R]}),RUN_SELECTED:qe.createAndAdd({id:"NOTEBOOK.RUN_SELECTED",name:"Run Selected",shortcut:[we.ALT,we.SHIFT,Oe.R],macShortcut:[we.OPTION,we.SHIFT,Oe.R]}),FIND:qe.createAndAdd({id:"NOTEBOOK.FIND",name:"Find",shortcut:[we.CTRL,Oe.F],macShortcut:[we.CMD,Oe.F],isEditable:!1}),MINIMAP:qe.createAndAdd({id:"NOTEBOOK.MINIMAP",name:"Show Minimap",shortcut:[we.ALT,Oe.M],macShortcut:[we.OPTION,Oe.M]}),WORDWRAP:qe.createAndAdd({id:"NOTEBOOK.WORDWRAP",name:"Word Wrap",shortcut:[we.ALT,Oe.Z],macShortcut:[we.OPTION,Oe.Z]})},jE={CONSOLE:VE,COMMAND_HISTORY:GE,NOTEBOOK:WE};const nr=jE,xt=Object.freeze({FATAL:"FATAL",STDERR:"STDERR",ERROR:"ERROR",WARN:"WARN",STDOUT:"STDOUT",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}),zE="#2d2a2e",KE="#fcfcfa",YE="#fcd65b",qE="#b2b1b2",XE="#9edc6f",QE="#76d9e4",ZE="#f95d84",JE="#aa9af4",ey="#f95d84",ty="#fcfcfa",ry="#7c7b7c",Ce={"error-foreground":"#f95d84",background:zE,foreground:KE,"line-height":"19px",string:YE,"string-delim":"#929192",delimiter:qE,predefined:XE,keyword:QE,storage:ZE,number:JE,operator:ey,identifier:ty,"namespace-identifier":"#f95d84","identifier-js":"#fcd65b",comment:ry,"input-option-active-border":"#929192","focus-border":"rgba(72, 120, 234, 0.85)","input-background":"#555356","input-foreground":"#f0f0ee","input-border":"#929192","editor-line-number-foreground":"#929192","editor-selection-background":"#676368","editor-line-highlight-bg":"#373438","context-menu-background":"#555356","context-menu-foreground":"#f0f0ee","menu-selection-background":"#4878ea","log-date":"#929192","log-error":"#f95d84","log-info":"#76d9e4","log-stdout":"#f0f0ee","log-warn":"#fcd65b","log-debug":"#aa9af4","log-trace":"#9edc6f","editor-find-match-background":"#3c5595","editor-find-match-highlight-background":"#343e5d","editor-widget-background":"#403e41","input-option-active-background":"#4878ea","input-option-active-foreground":"#f0f0ee","editor-suggest-widget-background":"#403e41","editor-suggest-widget-border":"#5b5a5c","editor-suggest-widget-foreground":"#f0f0ee","editor-suggest-widget-selected-background":"#41475a","editor-suggest-widget-highlightForeground":"#4878ea","list-hover-background":"#555356","text-link-foreground":"#929192","text-link-active-foreground":"#f0f0ee","editor-link-active-foreground":"#f0f0ee"};var ny="python",iy={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:/^\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\s*$/,action:{indentAction:1}}],folding:{offSide:!0,markers:{start:/^\s*#region\b/,end:/^\s*#endregion\b/}}},ay={keywords:["and","del","from","not","while","as","elif","global","or","with","assert","else","if","pass","yield","break","except","import","print","exec","in","raise","continue","finally","is","return","for","try",":","=","isinstance","__debug__"],storage:["class","def","async","lambda"],operators:["+","-","*","**","/","//","%","<<",">>","&","|","^","~","<",">","<=",">=","==","!=","<>","+=","-=","*=","/","//=","%=","&=","|=","^=",">>=","<<=","**="],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~&|+\-*/^%]+/,delimiters:/[;=.@:,`]/,escapes:/\\(?:[abfnrtv\\"'\n\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{\w+\})/,rawpre:/(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,strpre:/(?:[buBU])/,tokenizer:{root:[[/@strpre?("""|''')/,{token:"string.delim",bracket:"@open",next:"@mstring.$1"}],[/@strpre?"([^"\\]|\\.)*$/,"string.invalid"],[/@strpre?'([^'\\]|\\.)*$/,"string.invalid"],[/@strpre?(["])/,{token:"string.delim",bracket:"@open",next:"@sstring.$1",nextEmbedded:"deephavenDb"}],[/@strpre?(["'])/,{token:"string.delim",bracket:"@open",next:"@string.$1"}],[/@rawpre("""|''')/,{token:"string.delim",bracket:"@open",next:"@mrawstring.$1"}],[/@rawpre"([^"\\]|\\.)*$/,"string.invalid"],[/@rawpre'([^'\\]|\\.)*$/,"string.invalid"],[/@rawpre(["'])/,{token:"string.delim",bracket:"@open",next:"@rawstring.$1"}],[/__[\w$]*/,"predefined"],[/[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@storage":"storage","@default":"identifier"}}],[/[A-Z][\w]*/,{cases:{"~[A-Z0-9_]+":"constructor.identifier","@default":"namespace.identifier"}}],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/@symbols/,{cases:{"@keywords":"keyword","@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+[lL]?/,"number.hex"],[/0[bB][0-1]+[lL]?/,"number.binary"],[/(0[oO][0-7]+|0[0-7]+)[lL]?/,"number.octal"],[/(0|[1-9]\d*)[lL]?/,"number"],[":",{token:"keyword",bracket:"@open"}],[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}]],comment:[[/[^/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[/*]/,"comment"]],mstring:[{include:"@strcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],sstring:[{include:"@strcontent"},[/["]/,{token:"string.delim",bracket:"@close",next:"@pop",nextEmbedded:"@pop"}],[/./,"string.invalid"]],string:[{include:"@strcontent"},[/[']/,{token:"string.delim",bracket:"@close",next:"@pop"}],[/./,"string.invalid"]],strcontent:[[/[^\\"']+/,"string"],[/\\$/,"string.escape"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"]],mrawstring:[{include:"@rawstrcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],rawstring:[{include:"@rawstrcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],rawstrcontent:[[/[^\\"']+/,"string"],[/\\["']/,"string"],[/\\u[0-9A-Fa-f]{4}/,"string.escape"],[/\\/,"string"]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]]}},oy={id:ny,conf:iy,language:ay};const sy=oy;var ly="groovy",dy={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:/^\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\s*$/,action:{indentAction:1}}],folding:{offSide:!0,markers:{start:/^\s*#region\b/,end:/^\s*#endregion\b/}}},uy={keywords:["and","del","from","not","while","as","elif","global","or","with","assert","else","if","pass","yield","break","except","import","print","println","class","exec","in","raise","continue","finally","is","return","def","for","lambda","try",":","=","isinstance","__debug__"],operators:["+","-","*","**","/","//","%","<<",">>","&","|","^","~","<",">","<=",">=","==","!=","<>","+=","-=","*=","/","//=","%=","&=","|=","^=",">>=","<<=","**="],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~&|+\-*/^%]+/,delimiters:/[;=.@:,`]/,escapes:/\\(?:[abfnrtv\\"'\n\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{\w+\})/,rawpre:/(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,strpre:/(?:[buBU])/,tokenizer:{root:[[/@strpre?("""|''')/,{token:"string.delim",bracket:"@open",next:"@mstring.$1"}],[/@strpre?"([^"\\]|\\.)*$/,"string.invalid"],[/@strpre?'([^'\\]|\\.)*$/,"string.invalid"],[/@strpre?(["])/,{token:"string.delim",bracket:"@open",next:"@sstring.$1",nextEmbedded:"deephavenDb"}],[/@strpre?(["'])/,{token:"string.delim",bracket:"@open",next:"@string.$1"}],[/@rawpre("""|''')/,{token:"string.delim",bracket:"@open",next:"@mrawstring.$1"}],[/@rawpre"([^"\\]|\\.)*$/,"string.invalid"],[/@rawpre'([^'\\]|\\.)*$/,"string.invalid"],[/@rawpre(["'])/,{token:"string.delim",bracket:"@open",next:"@rawstring.$1"}],[/__[\w$]*/,"predefined"],[/[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w]*/,{cases:{"~[A-Z0-9_]+":"constructor.identifier","@default":"namespace.identifier"}}],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/@symbols/,{cases:{"@keywords":"keyword","@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+[lL]?/,"number.hex"],[/0[bB][0-1]+[lL]?/,"number.binary"],[/(0[oO][0-7]+|0[0-7]+)[lL]?/,"number.octal"],[/(0|[1-9]\d*)[lL]?/,"number"],[":",{token:"keyword",bracket:"@open"}],[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}]],mstring:[{include:"@strcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],sstring:[{include:"@strcontent"},[/["]/,{token:"string.delim",bracket:"@close",next:"@pop",nextEmbedded:"@pop"}],[/./,"string.invalid"]],string:[{include:"@strcontent"},[/[']/,{token:"string.delim",bracket:"@close",next:"@pop"}],[/./,"string.invalid"]],strcontent:[[/[^\\"']+/,"string"],[/\\$/,"string.escape"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"]],mrawstring:[{include:"@rawstrcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],rawstring:[{include:"@rawstrcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],rawstrcontent:[[/[^\\"']+/,"string"],[/\\["']/,"string"],[/\\u[0-9A-Fa-f]{4}/,"string.escape"],[/\\/,"string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],doccomment:[[/[^/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[/*]/,"comment.doc"]]}},hy={id:ly,conf:dy,language:uy};const cy=hy;var my="scala",vy={wordPattern:/(unary_[@~!#%^&*()\-=+\\|:<>/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:/^\s*\/\/\s*(?:(?:#?region\b)|(?:<editor-fold\b))/,end:/^\s*\/\/\s*(?:(?:#?endregion\b)|(?:<\/editor-fold>))/}}},gy={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],softKeywords:["as","export","extension","end","derives","on"],constants:["true","false","null","this","super"],modifiers:["abstract","final","implicit","lazy","override","private","protected","sealed"],softModifiers:["inline","opaque","open","transparent","using"],name:/(?:[a-z_$][\w$]*|`[^`]+`)/,type:/(?:[A-Z][\w$]*)/,symbols:/[=><!~?:&|+\-*/^\\%@#]+/,digits:/\d+(_+\d+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,escapes:/\\(?:[btnfr\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,fstring_conv:/[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,tokenizer:{root:[[/\braw"""/,{token:"string.quote",bracket:"@open",next:"@rawstringt"}],[/\braw"/,{token:"string.quote",bracket:"@open",next:"@rawstring"}],[/\bs"""/,{token:"string.quote",bracket:"@open",next:"@sstringt"}],[/\bs"/,{token:"string.quote",bracket:"@open",next:"@sstring"}],[/\bf""""/,{token:"string.quote",bracket:"@open",next:"@fstringt"}],[/\bf"/,{token:"string.quote",bracket:"@open",next:"@fstring"}],[/"""/,{token:"string.quote",bracket:"@open",next:"@stringt"}],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/(@digits)[eE]([-+]?(@digits))?[fFdD]?/,"number.float","@allowMethod"],[/(@digits)\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,"number.float","@allowMethod"],[/0[xX](@hexdigits)[Ll]?/,"number.hex","@allowMethod"],[/(@digits)[fFdD]/,"number.float","@allowMethod"],[/(@digits)[lL]?/,"number","@allowMethod"],[/\b_\*/,"key"],[/\b(_)\b/,"keyword","@allowMethod"],[/\bimport\b/,"keyword","@import"],[/\b(case)([ \t]+)(class)\b/,["keyword.modifier","white","keyword"]],[/\bcase\b/,"keyword","@case"],[/\bva[lr]\b/,"keyword","@vardef"],[/\b(def)([ \t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,["keyword","white","identifier"]],[/@name(?=[ \t]*:(?!:))/,"variable"],[/(\.)(@name|@symbols)/,[{token:"operator"},{token:"@rematch",next:"@allowMethod"}]],[/([{(])(\s*)(@name(?=\s*=>))/,["@brackets","white","variable"]],[/@name/,{cases:{"@keywords":"keyword","@softKeywords":"keyword","@modifiers":"keyword.modifier","@softModifiers":"keyword.modifier","@constants":{token:"constant",next:"@allowMethod"},"@default":{token:"identifier",next:"@allowMethod"}}}],[/@type/,"type","@allowMethod"],{include:"@whitespace"},[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/,"annotation"],[/[{(]/,"@brackets"],[/[})]/,"@brackets","@allowMethod"],[/\[/,"operator.square"],[/](?!\s*(?:va[rl]|def|type)\b)/,"operator.square","@allowMethod"],[/]/,"operator.square"],[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},."'`])/,"keyword"],[/@symbols/,"operator"],[/[;,.]/,"delimiter"],[/'[a-zA-Z$][\w$]*(?!')/,"attribute.name"],[/'[^\\']'/,"string","@allowMethod"],[/(')(@escapes)(')/,[{token:"string"},{token:"string.escape"},{token:"string",next:"@allowMethod"}]],[/'/,"string.invalid"]],import:[[/;/,"delimiter","@pop"],[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/@name|@type/,"type"],[/[(){}]/,"@brackets"],[/[[\]]/,"operator.square"],[/[.,]/,"delimiter"]],allowMethod:[[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/(?==>[\s\w([{])/,"keyword","@pop"],[/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,{cases:{"@keywords":{token:"keyword",next:"@pop"},"->|<-|>:|<:|<%":{token:"keyword",next:"@pop"},"@default":{token:"@rematch",next:"@pop"}}}],["","","@pop"]],comment:[[/[^/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],case:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword","@allowMethod"],[/\bif\b|=>/,"keyword","@pop"],[/`[^`]+`/,"identifier","@allowMethod"],[/@name/,"variable","@allowMethod"],[/:::?|\||@(?![a-z_$])/,"keyword"],{include:"@root"}],vardef:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword"],[/@name/,"variable"],[/:::?|\||@(?![a-z_$])/,"keyword"],[/=|:(?!:)/,"operator","@pop"],[/$/,"white","@pop"],{include:"@root"}],string:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],stringt:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],fstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],fstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],sstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],sstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],interp:[[/{/,"operator","@push"],[/}/,"operator","@pop"],{include:"@root"}],rawstring:[[/[^"]/,"string"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],rawstringt:[[/[^"]/,"string"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}},fy={id:my,conf:vy,language:gy};const py=fy;var Cy="deephavenDb",by={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:/^\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\s*$/,action:{indentAction:1}}],folding:{offSide:!0,markers:{start:/^\s*#region\b/,end:/^\s*#endregion\b/}}},Sy={tokenPostfix:".js",keywords:["boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with"],builtins:["define","require","window","document","undefined"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[~!@#%\^&*-+=|\\:`<>.?\/]+/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,exponent:/[eE][\-+]?[0-9]+/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/([a-zA-Z_\$][\w\$]*)(\s*)(:?)/,{cases:{"$1@keywords":["keyword","white","delimiter"],$3:["key.identifier","white","delimiter"],"$1@builtins":["predefined.identifier","white","delimiter"],"@default":["identifier","white","delimiter"]}}],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/)/,{token:"regexp.slash",bracket:"@open",next:"@regexp"}],[/[{}()\[\]]/,"@brackets"],[/[;,.]/,"delimiter"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d+\.\d*(@exponent)?/,"number.float"],[/\.\d+(@exponent)?/,"number.float"],[/\d+@exponent/,"number.float"],[/0[xX][\da-fA-F]+/,"number.hex"],[/0[0-7]+/,"number.octal"],[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment.invalid"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["@brackets.regexp.escape.control","regexp.escape.control","@brackets.regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[{token:"@brackets.regexp.escape.control"},{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["@brackets.regexp.escape.control","regexp.escape.control"]],[/[()]/,"@brackets.regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],["/",{token:"regexp.slash",bracket:"@close"},"@pop"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]]}},wy={id:Cy,conf:by,language:Sy};const Ey=wy;var yy="log",Ty={},Py={tokenizer:{root:[[/ FATAL[\s\S]*/,{token:"error",next:"@error"}],[/ ERROR[\s\S]*/,{token:"error",next:"@error"}],[/ STDERR[\s\S]*/,{token:"error",next:"@error"}],[/ STDOUT.*/,{token:"stdout",next:"@stdout"}],[/ INFO[\s\S]*/,{token:"info",next:"@info"}],[/ WARN.*/,{token:"warn",next:"@warn"}],[/ TRACE[\s\S]*/,{token:"trace",next:"@trace"}],[/ DEBUG[.\s\S]*/,{token:"debug",next:"@debug"}],[/^\d{2}:\d{2}:\d{2}.\d{3}/,"date"]],error:[{include:"@body"}],info:[{include:"@body"}],warn:[{include:"@body"}],stdout:[{include:"@body"}],trace:[{include:"@body"}],debug:[{include:"@body"}],body:[[/^\d{2}:\d{2}:\d{2}.\d{3}/,{token:"date",next:"@pop"}],[/[\s\S]*/,{token:"$S0"}]]}},Oy={id:yy,conf:Ty,language:Py};const Dy=Oy;function vm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function gm(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vm(Object(t),!0).forEach(function(r){Ry(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):vm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ry(n,e,t){return e=Ny(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ny(n){var e=Fy(n,"string");return typeof e=="symbol"?e:String(e)}function Fy(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var On=ie.module("MonacoUtils");class Rn{static init(){var{getWorker:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};On.debug("Initializing Monaco..."),e!==void 0&&Rn.registerGetWorker(e);var{registerLanguages:t,removeHashtag:r}=Rn,i=[{token:"",foreground:r(Ce.foreground)},{token:"string",foreground:r(Ce.string)},{token:"string.delim",foreground:r(Ce["string-delim"])},{token:"keyword",foreground:r(Ce.keyword)},{token:"identifier.js",foreground:r(Ce["identifier-js"])},{token:"delimiter",foreground:r(Ce.delimiter)},{token:"comment",foreground:r(Ce.comment)},{token:"number",foreground:r(Ce.number)},{token:"storage",foreground:r(Ce.storage)},{token:"identifier",foreground:r(Ce.identifier)},{token:"namespace.identifier",foreground:r(Ce["namespace-identifier"])},{token:"operator",foreground:r(Ce.operator)},{token:"predefined",foreground:r(Ce.predefined)},{token:"error.log",foreground:Ce["log-error"].substring(1)},{token:"warn.log",foreground:r(Ce["log-warn"])},{token:"info.log",foreground:r(Ce["log-info"])},{token:"stdout.log",foreground:r(Ce["log-stdout"])},{token:"trace.log",foreground:r(Ce["log-trace"])},{token:"debug.log",foreground:r(Ce["log-debug"])},{token:"date.log",foreground:r(Ce["log-date"])}],a={errorForeground:Ce["error-foreground"],"inputOption.activeBorder":Ce["input-option-active-border"],"editor.background":Ce.background,"editor.foreground":Ce.foreground,"editor.lineHighlightBackground":Ce["editor-line-highlight-bg"],"editorLineNumber.foreground":Ce["editor-line-number-foreground"],"editor.selectionBackground":Ce["editor-selection-background"],"editor.findMatchBackground":Ce["editor-find-match-background"],"editor.findMatchHighlightBackground":Ce["editor-find-match-highlight-background"],"editorSuggestWidget.background":Ce["editor-suggest-widget-background"],"editorSuggestWidget.border":Ce["editor-suggest-widget-border"],"editorSuggestWidget.foreground":Ce["editor-suggest-widget-foreground"],"editorSuggestWidget.selectedBackground":Ce["editor-suggest-widget-selected-background"],"editorSuggestWidget.highlightForeground":Ce["editor-suggest-widget-highlightForeground"],"list.hoverBackground":Ce["list-hover-background"],"dropdown.background":Ce["context-menu-background"],"dropdown.foreground":Ce["context-menu-foreground"],"menu.selectionBackground":Ce["menu-selection-background"],"list.focusBackground":Ce["menu-selection-background"],"editorWidget.background":Ce["editor-widget-background"],"inputOption.activeBackground":Ce["input-option-active-background"],"inputOption.activeForeground":Ce["input-option-active-foreground"],focusBorder:Ce["focus-border"],"input.background":Ce["input-background"],"input.foreground":Ce["input-foreground"],"input.border":Ce["input-border"],"textLink.foreground":Ce["text-link-foreground"],"textLink.activeForeground":Ce["text-link-active-foreground"],"editorLink.activeForeground":Ce["editor-link-active-foreground"]};ni.defineTheme("dh-dark",{base:"vs-dark",inherit:!0,rules:i,colors:a}),On.debug2("monaco theme: ",Ce),ni.setTheme("dh-dark"),t([Ey,sy,cy,Dy,py]),On.debug("Monaco initialized.")}static registerGetWorker(e){window.MonacoEnvironment=gm(gm({},window.MonacoEnvironment),{},{getWorker:e})}static removeHashtag(e){return e.substring(1)}static registerLanguages(e){var t=e.map(r=>{var{id:i}=r;return i});_n.getLanguages().filter(r=>{var{id:i}=r;return t.includes(i)}).forEach(r=>{var i=r;On.debug2("Overriding default language loader:",i.id)}),e.forEach(r=>{Rn.registerLanguage(r)})}static registerLanguage(e){On.debug2("Registering language: ",e.id),_n.register(e),_n.onLanguage(e.id,()=>{_n.setLanguageConfiguration(e.id,e.conf),_n.setMonarchTokensProvider(e.id,e.language)})}static setEOL(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ni.EndOfLineSequence.LF;(t=e.getModel())===null||t===void 0||t.setEOL(r)}static openDocument(e,t){var r=e.getModel();L(r);var i={textDocument:{uri:"".concat(r.uri),languageId:r.getLanguageId(),version:r.getVersionId(),text:r.getValue()}};On.debug2("didOpenDocumentParams: ",i),t.openDocument(i);var a=e.onDidChangeModelContent(o=>{for(var{changes:s,versionId:l}=o,d=[],u=0;u<s.length;u+=1){var c=s[u],{range:m,rangeLength:v,text:g}=c,f={range:{start:{line:m.startLineNumber-1,character:m.startColumn-1},end:{line:m.endLineNumber-1,character:m.endColumn-1}},rangeLength:v,text:g};d.push(f)}if(d.length>0){var p={textDocument:{version:l,uri:"".concat(r.uri)},contentChanges:d};On.debug2("didChangeDocumentParams",p),t.changeDocument(p)}});return a}static closeDocument(e,t){var r=e.getModel();L(r);var i={textDocument:{uri:"".concat(r.uri)}};t.closeDocument(i)}static registerPasteHandler(e){e.onDidPaste(t=>{var r=/“|”/g,i=/\u200b/g,a=/\u00A0/g,o=e.getModel();L(o);var s=o.getValueInRange(t.range);(r.test(s)||i.test(s)||a.test(s))&&o.applyEdits([{range:t.range,text:s.replace(r,'"').replace(i,"").replace(a," ")}])})}static isMacPlatform(){var{platform:e}=window.navigator;return e.startsWith("Mac")}static removeConflictingKeybindings(e){var t=[{windows:"ctrl+D",mac:"meta+D"},{windows:"ctrl+H"}];try{t.forEach(r=>{Rn.isMacPlatform()&&r.mac===""||!Rn.isMacPlatform()&&r.windows===""||Rn.removeKeybinding(e,Rn.isMacPlatform()?r.mac:r.windows)})}catch(r){On.error(r)}}static removeKeybinding(e,t){if(t!==void 0){var r=e._standaloneKeybindingService._getResolver()._map.get(t);r!=null?r.forEach(i=>{On.debug2("Removing Monaco keybinding ".concat(t," for ").concat(i.command)),e._standaloneKeybindingService.addDynamicKeybinding("-".concat(i.command),null,()=>{})}):On.warn("Did not find any keybindings to remove for ".concat(t))}}static getMonacoKeyCodeFromShortcut(e){var{keyState:t}=e,{keyValue:r}=t;if(r===null)return 0;var i=Rn.isMacPlatform();return i?(t.metaKey?Qr.CtrlCmd:0)|(t.shiftKey?Qr.Shift:0)|(t.altKey?Qr.Alt:0)|(t.ctrlKey?Qr.WinCtrl:0)|tm.fromString(r):(t.ctrlKey?Qr.CtrlCmd:0)|(t.shiftKey?Qr.Shift:0)|(t.altKey?Qr.Alt:0)|(t.metaKey?Qr.WinCtrl:0)|tm.fromString(r)}static provideLinks(e){for(var t=[],r=function(o){var s=e.getLineContent(o),l=Ff(s),d=l.filter(u=>u.type==="url"?/^https?:\/\//.test(u.value):!0);d.forEach(u=>{t.push({url:u.href,range:new TS(o,u.start+1,o,u.end+1)})})},i=1;i<=e.getLineCount();i+=1)r(i);return{links:t}}}const Cr=Rn;function lu(n,e,t){return e=Iy(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Iy(n){var e=_y(n,"string");return typeof e=="symbol"?e:String(e)}function _y(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Wn=ie.module("MonacoCompletionProvider");class la extends w.PureComponent{static lspToMonacoKind(e){var t=_n.CompletionItemKind;switch(e){case 1:return t.Text;case 2:return t.Method;case 3:return t.Function;case 4:return t.Constructor;case 5:return t.Field;case 6:return t.Variable;case 7:return t.Class;case 8:return t.Interface;case 9:return t.Module;case 10:return t.Property;case 11:return t.Unit;case 12:return t.Value;case 13:return t.Enum;case 14:return t.Keyword;case 15:return t.Snippet;case 16:return t.Color;case 17:return t.File;case 18:return t.Reference;case 19:return t.Folder;case 20:return t.EnumMember;case 21:return t.Constant;case 22:return t.Struct;case 23:return t.Event;case 24:return t.Operator;case 25:return t.TypeParameter;default:return t.Variable}}static lspToMonacoRange(e){var{start:t,end:r}=e;return{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:r.line+1,endColumn:r.character+1}}static monacoToLspPosition(e){return{line:e.lineNumber-1,character:e.column-1}}constructor(e){super(e),lu(this,"registeredCompletionProvider",void 0),lu(this,"registeredSignatureProvider",void 0),lu(this,"registeredHoverProvider",void 0),this.handleCompletionRequest=this.handleCompletionRequest.bind(this),this.handleSignatureRequest=this.handleSignatureRequest.bind(this),this.handleHoverRequest=this.handleHoverRequest.bind(this)}componentDidMount(){var{language:e,session:t}=this.props;this.registeredCompletionProvider=_n.registerCompletionItemProvider(e,{provideCompletionItems:this.handleCompletionRequest,triggerCharacters:[".",'"',"'"]}),t.getSignatureHelp&&(this.registeredSignatureProvider=_n.registerSignatureHelpProvider(e,{provideSignatureHelp:this.handleSignatureRequest,signatureHelpTriggerCharacters:["(",","]})),t.getHover&&(this.registeredHoverProvider=_n.registerHoverProvider(e,{provideHover:this.handleHoverRequest}))}componentWillUnmount(){var e,t,r;(e=this.registeredCompletionProvider)===null||e===void 0||e.dispose(),(t=this.registeredSignatureProvider)===null||t===void 0||t.dispose(),(r=this.registeredHoverProvider)===null||r===void 0||r.dispose()}handleCompletionRequest(e,t,r){var{model:i,session:a}=this.props;if(e!==i)return null;var o={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:la.monacoToLspPosition(t),context:r},s=a.getCompletionItems(o);Wn.debug("Requested completion items",o);var l=s.then(d=>{Wn.debug("Completion items received: ",o,d);var u=d.map(c=>{var{label:m,kind:v,detail:g,documentation:f,sortText:p,filterText:C,textEdit:b,insertTextFormat:S}=c;return{label:m,kind:la.lspToMonacoKind(v),detail:g,documentation:f?.kind==="markdown"?f:f?.value,sortText:p,filterText:C,insertText:b.text,insertTextRules:S===2?4:S,range:la.lspToMonacoRange(b.range)}});return{incomplete:!0,suggestions:u}}).catch(d=>(Wn.error("There was an error retrieving completion items",d),{suggestions:[]}));return l}handleSignatureRequest(e,t,r,i){var a={value:{signatures:[],activeSignature:0,activeParameter:0},dispose:()=>{}},{model:o,session:s}=this.props;if(e!==o||!s.getSignatureHelp)return null;var l={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:la.monacoToLspPosition(t),context:i},d=s.getSignatureHelp(l);Wn.debug("Requested signature help",l);var u=d.then(c=>{Wn.debug("Signatures received: ",l,d);var m=c.map(g=>{var{label:f,documentation:p,parameters:C}=g;return{documentation:p?.kind==="markdown"?p:p?.value,label:f,parameters:C??[]}});if(m.length===0)return a;var v=0;return{value:{signatures:m,activeSignature:v,activeParameter:c[v].activeParameter},dispose:()=>{}}}).catch(c=>(Wn.error("There was an error retrieving completion items",c),a));return u}handleHoverRequest(e,t){var{model:r,session:i}=this.props;if(e!==r||!i.getHover)return null;var a={textDocument:{uri:"".concat(e.uri),version:e.getVersionId()},position:la.monacoToLspPosition(t)},o=i.getHover(a);Wn.debug("Requested hover",a);var s=o.then(l=>{Wn.debug("Hover received: ",a,l);var{contents:d}=l;return{contents:d?[d]:[]}}).catch(l=>(Wn.error("There was an error retrieving hover",l),{contents:[]}));return s}render(){return null}}const ip=la;function fm(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function My(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){fm(a,r,i,o,s,"next",l)}function s(l){fm(a,r,i,o,s,"throw",l)}o(void 0)})}}function Kr(n,e,t){return e=Ay(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ay(n){var e=Ly(n,"string");return typeof e=="symbol"?e:String(e)}function Ly(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var du=ie.module("ConsoleInput"),_l=parseInt(Ce["line-height"],10),ap=6,op=6,ky=_l+ap+op,uu=100;class bs extends w.PureComponent{constructor(e){super(e),Kr(this,"cancelListener",void 0),Kr(this,"commandContainer",void 0),Kr(this,"commandEditor",void 0),Kr(this,"commandHistoryIndex",void 0),Kr(this,"commandSuggestionContainer",void 0),Kr(this,"loadingPromise",void 0),Kr(this,"timestamp",void 0),Kr(this,"bufferIndex",void 0),Kr(this,"history",void 0),Kr(this,"modifiedCommands",void 0),this.handleWindowResize=this.handleWindowResize.bind(this),this.commandContainer=h.createRef(),this.commandHistoryIndex=null,this.timestamp=Date.now(),this.bufferIndex=0,this.history=[],this.modifiedCommands=new Map,this.state={commandEditorHeight:_l,isFocused:!1,model:null}}componentDidMount(){this.initCommandEditor(),window.addEventListener("resize",this.handleWindowResize),this.loadMoreHistory()}componentDidUpdate(){this.layoutEditor()}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.loadingPromise!=null&&this.loadingPromise.cancel(),this.destroyCommandEditor()}setConsoleText(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e){if(du.debug("Command received: ",e),!r){var i;this.commandHistoryIndex=null,(i=this.commandEditor)===null||i===void 0||i.setValue(e)}t&&this.focusEnd(),this.updateDimensions(),r&&this.processCommand(e)}}initCommandEditor(){var{language:e,session:t}=this.props,r={copyWithSyntaxHighlighting:!1,cursorStyle:"block",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:e,lineHeight:_l,lineDecorationsWidth:3,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollBeyondLastLine:!1,scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},padding:{top:ap,bottom:op},tabCompletion:"on",value:"",wordWrap:"on"},i=this.commandContainer.current;L(i),this.commandEditor=ni.create(i,r),Cr.setEOL(this.commandEditor),Cr.openDocument(this.commandEditor,t),this.commandEditor.onDidChangeModelContent(()=>{var a,o=(a=this.commandEditor)===null||a===void 0?void 0:a.getValue();this.modifiedCommands.set(this.commandHistoryIndex,o??null),this.updateDimensions()}),this.commandEditor.onDidFocusEditorText(()=>{this.setState({isFocused:!0})}),this.commandEditor.onDidBlurEditorText(()=>{this.setState({isFocused:!1})}),this.commandEditor.onKeyDown(a=>{var{commandEditor:o,commandHistoryIndex:s}=this,l=o?.getPosition();L(l);var{lineNumber:d}=l,u=o?.getModel();if(a.code==="ArrowUp"&&!this.isSuggestionMenuPopulated()&&d===1){s!=null?this.loadCommand(s+1):this.loadCommand(0),this.focusStart(),a.stopPropagation(),a.preventDefault();return}if(a.code==="ArrowDown"&&!this.isSuggestionMenuPopulated()&&d===u?.getLineCount()){s!=null&&s>0?this.loadCommand(s-1):this.loadCommand(null),this.focusEnd(),a.stopPropagation(),a.preventDefault();return}if(!a.altKey&&!a.shiftKey&&!a.metaKey){if(a.keyCode===Ui.Enter){if(!this.isSuggestionMenuPopulated()){var c;a.stopPropagation(),a.preventDefault();var m=(c=this.commandEditor)===null||c===void 0?void 0:c.getValue().trim();if(m!==void 0){var v;this.processCommand(m),(v=this.commandEditor)===null||v===void 0||v.setValue("")}}}else if(a.keyCode===Ui.Tab)if(this.isSuggestionMenuActive())this.isSuggestionMenuPopulated()||(a.stopPropagation(),a.preventDefault());else{var g;a.stopPropagation(),a.preventDefault(),(g=this.commandEditor)===null||g===void 0||g.trigger("Tab key trigger suggestions","editor.action.triggerSuggest",{})}}}),this.commandEditor.addCommand(Qr.CtrlCmd|Ui.KeyF,()=>{}),Cr.removeConflictingKeybindings(this.commandEditor),Cr.registerPasteHandler(this.commandEditor),this.commandEditor.focus(),this.updateDimensions(),this.setState({model:this.commandEditor.getModel()})}destroyCommandEditor(){var{session:e}=this.props;this.commandEditor&&(Cr.closeDocument(this.commandEditor,e),this.commandEditor.dispose(),this.commandEditor=void 0)}handleWindowResize(){this.updateDimensions()}isSuggestionMenuActive(){var e;if(!this.commandSuggestionContainer){var t,r;this.commandSuggestionContainer=(t=this.commandEditor)===null||t===void 0||(r=t.getDomNode())===null||r===void 0?void 0:r.querySelector(".suggest-widget")}return(e=this.commandSuggestionContainer&&this.commandSuggestionContainer.classList.contains("visible"))!==null&&e!==void 0?e:!1}isSuggestionMenuPopulated(){var e,t,r;return this.isSuggestionMenuActive()&&((e=(t=this.commandSuggestionContainer)===null||t===void 0||(r=t.querySelector(".monaco-list-rows"))===null||r===void 0?void 0:r.childElementCount)!==null&&e!==void 0?e:0)>0}focus(){var e;(e=this.commandEditor)===null||e===void 0||e.focus()}focusStart(){var e,t,r,i,a,o=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();L(o);var s=o.getLineLength(1)+1,l=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(1,s);L(l),(r=this.commandEditor)===null||r===void 0||r.setPosition({lineNumber:1,column:s}),(i=this.commandEditor)===null||i===void 0||i.setScrollTop(l),(a=this.commandEditor)===null||a===void 0||a.focus()}focusEnd(){var e,t,r,i,a,o=(e=this.commandEditor)===null||e===void 0?void 0:e.getModel();L(o);var s=o.getLineCount(),l=o.getLineLength(s)+1,d=(t=this.commandEditor)===null||t===void 0?void 0:t.getTopForPosition(s,l);L(d),(r=this.commandEditor)===null||r===void 0||r.setPosition({lineNumber:s,column:l}),(i=this.commandEditor)===null||i===void 0||i.setScrollTop(d),(a=this.commandEditor)===null||a===void 0||a.focus()}clear(){var e,t,r;(e=this.commandEditor)===null||e===void 0||e.focus(),(t=this.commandEditor)===null||t===void 0||(r=t.getModel())===null||r===void 0||r.setValue(""),this.commandHistoryIndex=null}layoutEditor(){this.commandEditor&&this.commandEditor.layout()}loadCommand(e){var t,r;if(!(e!==null&&e>=this.history.length)){var i=this.modifiedCommands.get(e),a=e===null?"":this.history[this.history.length-e-1];this.commandHistoryIndex=e,(t=this.commandEditor)===null||t===void 0||(r=t.getModel())===null||r===void 0||r.setValue(i??a),e!==null&&e>this.history.length-uu&&this.loadMoreHistory()}}loadMoreHistory(){var e=this;return My(function*(){try{if(e.loadingPromise!=null||e.bufferIndex==null)return;var{commandHistoryStorage:t,language:r,scope:i}=e.props;e.loadingPromise=Te.makeCancelable(t.getTable(r,i??"",e.timestamp),s=>s.close());var a=yield e.loadingPromise;a.setReversed(!0),a.setViewport({top:e.bufferIndex,bottom:e.bufferIndex+uu-1}),e.loadingPromise=Te.makeCancelable(a.getViewportData(),()=>a.close());var o=yield e.loadingPromise;e.bufferIndex+=uu,e.bufferIndex>=a.size&&(e.bufferIndex=null),e.history=[...o.items.filter((s,l,d)=>{var{name:u}=s;return l===0||u!==d[l-1].name}).map(s=>{var{name:l}=s;return l}).reverse(),...e.history],e.loadingPromise=void 0,a.close()}catch(s){if(e.loadingPromise=void 0,Te.isCanceled(s)){du.debug2("Promise canceled, not loading history");return}du.error("Error fetching history",s)}})()}processCommand(e){this.commandHistoryIndex=null,this.modifiedCommands.clear(),L(e),e!==""&&(this.history.length===0||e!==this.history[this.history.length-1])&&this.history.push(e),this.updateDimensions();var{onSubmit:t}=this.props;t(e)}updateDimensions(){if(this.commandEditor){var{maxHeight:e}=this.props;L(e);var t=this.commandEditor.getContentHeight(),r=Math.max(Math.min(t,e),ky),i=t>r,a={overviewRulerLanes:i?void 0:0};this.setState({commandEditorHeight:r},()=>{var o,s;(o=this.commandEditor)===null||o===void 0||o.updateOptions(a),(s=this.commandEditor)===null||s===void 0||s.layout()})}}render(){var{disabled:e,language:t,session:r}=this.props,{commandEditorHeight:i,isFocused:a,model:o}=this.state;return h.createElement("div",{className:te("console-input-wrapper",{disabled:e})},h.createElement("div",{className:te("console-input-inner-wrapper",{focus:a})},h.createElement("div",{className:bs.INPUT_CLASS_NAME,ref:this.commandContainer,style:{height:i}}),o&&h.createElement(ip,{model:o,language:t,session:r})))}}Kr(bs,"defaultProps",{maxHeight:_l*10,scope:null,disabled:!1});Kr(bs,"INPUT_CLASS_NAME","console-input");const pm=bs;function xi(n,e,t){return e=xy(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function xy(n){var e=Hy(n,"string");return typeof e=="symbol"?e:String(e)}function Hy(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Cm="pasted values",Uy=[/^audio.*/,/^font.*/,/^image.*/,/^video.*/],hu=[".csv",".tsv",".tab",".psv",".dsv",".txt"],bm=[".zip"];class Mn extends w.Component{static isValidDropItem(e){return e!=null&&e.kind==="file"&&!Uy.find(t=>t.test(e.type))}static isValidExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return hu.some(r=>e.endsWith(r))||t&&bm.some(r=>e.endsWith(r))}static handleDragOver(e){e.preventDefault(),e.stopPropagation()}static getIcon(e){return e===Cm?rm:e.endsWith(".csv")?DS:e.endsWith(".zip")?RS:NS}constructor(e){super(e),xi(this,"fileElem",void 0),xi(this,"divElem",void 0),xi(this,"getValidExtensions",fe(t=>t?[...hu,...bm]:[...hu])),xi(this,"getAcceptString",fe(t=>this.getValidExtensions(t).join(", "))),xi(this,"getFileTypeErrorString",fe(t=>Zr.join(this.getValidExtensions(t),"or"))),this.handleSelectFile=this.handleSelectFile.bind(this),this.handleFiles=this.handleFiles.bind(this),this.handleDrop=this.handleDrop.bind(this),this.unstageFile=this.unstageFile.bind(this),this.handleMenuPaste=this.handleMenuPaste.bind(this),this.handlePasteEvent=this.handlePasteEvent.bind(this),this.fileElem=h.createRef(),this.divElem=h.createRef(),this.state={selectedFileName:""}}componentDidMount(){var e,t;(e=this.divElem.current)===null||e===void 0||e.addEventListener("paste",this.handlePasteEvent),(t=this.divElem.current)===null||t===void 0||t.focus()}componentWillUnmount(){var e;(e=this.divElem.current)===null||e===void 0||e.removeEventListener("paste",this.handlePasteEvent)}handleSelectFile(){if(this.fileElem.current){var e;this.fileElem.current.value="",(e=this.fileElem.current)===null||e===void 0||e.click()}}handleFiles(e){e.stopPropagation(),e.preventDefault();var{files:t}=e.target;t!=null&&this.handleFile(t[0])}handleDrop(e){var{allowZip:t,clearDragError:r,dragError:i}=this.props;if(e.preventDefault(),e.stopPropagation(),i!=null){r();return}if(!(e.dataTransfer==null||e.dataTransfer.items==null||e.dataTransfer.items.length===0)){var a=e.dataTransfer.items[0].getAsFile();L(a),Mn.isValidExtension(a.name,t)?this.handleFile(a):this.setState({dropError:Mn.FILE_TYPE_ERROR})}}unstageFile(e){var{onCancel:t}=this.props;e.stopPropagation(),e.preventDefault(),t(),this.setState({selectedFileName:"",dropError:void 0})}handleFile(e){var{onFileOpened:t}=this.props;t(e),this.setState({selectedFileName:e.name,dropError:void 0})}handleMenuPaste(){var{onPaste:e,onError:t,uploadInProgress:r}=this.props;r||navigator.clipboard.readText().then(i=>{e(i),this.setState({selectedFileName:Cm,dropError:void 0})}).catch(i=>t(i))}handlePasteEvent(e){e.stopPropagation(),e.preventDefault(),this.handleMenuPaste()}makeContextMenuItems(){var{uploadInProgress:e}=this.props;return[{title:"Paste",icon:rm,action:this.handleMenuPaste,shortcut:ui.PASTE,disabled:e}]}render(){var{allowZip:e,dragError:t,uploadInProgress:r}=this.props,{selectedFileName:i,dropError:a}=this.state,o=t??a,s=this.makeContextMenuItems();return h.createElement("div",{ref:this.divElem,className:"csv-overlay fill-parent-absolute",onDragOver:Mn.handleDragOver,onDrop:this.handleDrop,tabIndex:-1},h.createElement(le,{actions:s}),h.createElement("input",{ref:this.fileElem,type:"file",id:"fileElem",accept:this.getAcceptString(e),style:{display:"none"},onChange:this.handleFiles,"data-testid":"fileElem"}),!i&&(o===void 0||o==="")&&h.createElement("div",{className:"message-content"},h.createElement("div",{className:"message-icon"},h.createElement(re,{icon:FS})),h.createElement("label",null,"Drop file (or paste values) here to import"),h.createElement("div",{className:"message-small"},h.createElement("label",null,"or")),h.createElement(j,{kind:"primary",onClick:this.handleSelectFile},"Select File...")),i&&(o===void 0||o==="")&&h.createElement("div",{className:"selected-content"},h.createElement("div",{className:"selected-icon"},h.createElement(re,{icon:Mn.getIcon(i)})),h.createElement("div",{className:"selected-text"},h.createElement("label",null,"Selected File"),h.createElement("label",{className:"selected-name"},i,!r&&h.createElement(j,{kind:"ghost",className:"ml-2",onClick:this.unstageFile,icon:Hr,tooltip:"Remove"})))),!!o&&h.createElement("div",{className:"message-content"},h.createElement("div",{className:"message-icon"},h.createElement(re,{icon:Wi})),h.createElement("label",null,o),o===Mn.FILE_TYPE_ERROR&&h.createElement("div",{className:"message-small"},h.createElement("label",null,this.getFileTypeErrorString(e)))))}}xi(Mn,"defaultProps",{allowZip:!1,dragError:null});xi(Mn,"MULTIPLE_FILE_ERROR","Please select only one file");xi(Mn,"FILE_TYPE_ERROR","Filetype not supported.");const ja=Mn;function Oa(n,e,t){return e=$y(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $y(n){var e=By(n,"string");return typeof e=="symbol"?e:String(e)}function By(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class qi{}Oa(qi,"INTEGER","int");Oa(qi,"LONG","long");Oa(qi,"DOUBLE","double");Oa(qi,"BOOLEAN","bool");Oa(qi,"STRING","string");Oa(qi,"DATE_TIME","datetime");Oa(qi,"LOCAL_TIME","localtime");const We=qi;function Sm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function wm(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sm(Object(t),!0).forEach(function(r){hr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function hr(n,e,t){return e=Vy(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Vy(n){var e=Gy(n,"string");return typeof e=="symbol"?e:String(e)}function Gy(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Em="unknown",Wy=2147483647,jy=-2147483648,ym=/^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/,Tm=/^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\.[0-9]{1,9})?$/;class Kt{static determineType(e,t,r){if(!e||e===r)return t;switch(t){case We.STRING:return We.STRING;case We.INTEGER:return Kt.checkInteger(e);case We.LONG:return Kt.checkLong(e);case We.DOUBLE:return Kt.checkDouble(e);case We.BOOLEAN:return Kt.checkBoolean(e);case We.DATE_TIME:return Kt.checkDateTime(e);case We.LOCAL_TIME:return Kt.checkLocalTime(e);default:return Kt.getTypeFromUnknown(e)}}static isNotParsableNumber(e){return isNaN(e)||e==="Infinity"||e==="-Infinity"}static checkInteger(e){var t=e.replace(/,/g,"");return Kt.isNotParsableNumber(t)?We.STRING:Kt.getNumberType(t)}static checkLong(e){var t=e.replace(/,/g,"");return Kt.isNotParsableNumber(t)?We.STRING:t.includes(".")?We.DOUBLE:We.LONG}static checkDouble(e){var t=e.replace(/,/g,"");return Kt.isNotParsableNumber(t)?We.STRING:We.DOUBLE}static checkBoolean(e){var t=e.toLowerCase();return t==="true"||t==="false"?We.BOOLEAN:We.STRING}static checkDateTime(e){return ym.test(e)?We.DATE_TIME:We.STRING}static checkLocalTime(e){return Tm.test(e)?We.LOCAL_TIME:We.STRING}static getTypeFromUnknown(e){var t=e.replace(/,/g,"");if(Kt.isNotParsableNumber(t)){var r=e.toLowerCase();return r==="true"||r==="false"?We.BOOLEAN:ym.test(e)&&e.includes(":")?We.DATE_TIME:Tm.test(e)?We.LOCAL_TIME:We.STRING}return Kt.getNumberType(t)}static getNumberType(e){if(e.includes("."))return We.DOUBLE;var t=e.startsWith("-")?11:10;if(e.length>t)return We.LONG;var r=parseInt(e,10);return r>Wy||r<jy?We.LONG:We.INTEGER}constructor(e,t,r,i,a,o,s,l,d,u){hr(this,"onFileCompleted",void 0),hr(this,"file",void 0),hr(this,"readHeaders",void 0),hr(this,"nullString",void 0),hr(this,"onProgress",void 0),hr(this,"onError",void 0),hr(this,"types",void 0),hr(this,"chunks",void 0),hr(this,"totalChunks",void 0),hr(this,"isZip",void 0),hr(this,"shouldTrim",void 0),hr(this,"zipProgress",void 0),hr(this,"config",void 0),this.onFileCompleted=e,this.file=t,this.readHeaders=r,this.nullString=a,this.onProgress=o,this.onError=s,this.chunks=0,this.totalChunks=l,this.isZip=d,this.shouldTrim=u,this.zipProgress=0,this.handleChunk=this.handleChunk.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.config=wm(wm({},i),{},{error:this.handleError,chunk:this.handleChunk,complete:this.handleComplete})}parse(){var e=this.isZip?this.file.nodeStream("nodebuffer",this.handleNodeUpdate):this.file;Uu.parse(e,this.config)}handleChunk(e,t){var{data:r}=e;if(!this.types){if(r==null||r.length===0){t.abort(),this.onError("Error parsing CSV: no data in file.");return}this.types=new Array(r[0].length).fill(Em),this.readHeaders&&(r=r.slice(1))}L(this.types);var i=[...this.types];r.forEach(s=>{if(s.length>=i.length){for(var l=0;l<i.length;l+=1)i[l]=Kt.determineType(this.shouldTrim?s[l].trim():s[l],i[l],this.nullString);this.types=i}else t.abort(),this.onError(`Error parsing CSV: Insufficient data in row.
3
3
  Expected length `.concat(i.length," but found ").concat(s.length,`.
4
4
  Row = `).concat(s))}),this.chunks+=1;var a=0;this.totalChunks>0?a=Math.round(this.chunks/this.totalChunks*50):a=Math.round(this.zipProgress/2);var o=this.onProgress(a);o&&t.abort()}handleComplete(e){var{types:t,onFileCompleted:r}=this;L(t),(e==null||!e.meta.aborted)&&r(t.map(i=>i===Em?We.STRING:i))}handleError(e){var{onError:t}=this;t(e)}handleNodeUpdate(e){this.zipProgress=e.percent}}const zy=Kt;function gt(n,e,t){return e=Ky(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ky(n){var e=Yy(n,"string");return typeof e=="symbol"?e:String(e)}function Yy(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Us=ie.module("CsvParser"),qy=650;class oo{static generateHeaderRecursive(e){var t="",r=e;return e>=26&&(t=t.concat(oo.generateHeaderRecursive(Math.floor(e/26)-1)),r=e%26),t.concat(String.fromCharCode(65+r))}constructor(e){var{onFileCompleted:t,session:r,file:i,type:a,readHeaders:o=!0,onProgress:s,onError:l,timeZone:d,isZip:u}=e;gt(this,"onFileCompleted",void 0),gt(this,"session",void 0),gt(this,"file",void 0),gt(this,"isZip",void 0),gt(this,"type",void 0),gt(this,"readHeaders",void 0),gt(this,"timeZone",void 0),gt(this,"onProgress",void 0),gt(this,"onError",void 0),gt(this,"tables",void 0),gt(this,"headers",void 0),gt(this,"types",void 0),gt(this,"chunks",void 0),gt(this,"totalChunks",void 0),gt(this,"isComplete",void 0),gt(this,"zipProgress",void 0),gt(this,"consolidatedChunks",void 0),gt(this,"numConsolidated",void 0),gt(this,"isCancelled",void 0),gt(this,"config",void 0),this.onFileCompleted=t,this.session=r,this.file=i,this.isZip=u,this.type=a,this.readHeaders=o,this.timeZone=d,this.onProgress=s,this.onError=l,this.tables=[],this.chunks=0,this.totalChunks=u?0:Math.ceil(i.size/Uu.LocalChunkSize),this.isComplete=!1,this.zipProgress=0,this.numConsolidated=0,this.isCancelled=!1,this.handleChunk=this.handleChunk.bind(this),this.handleError=this.handleError.bind(this),this.handleComplete=this.handleComplete.bind(this),this.handleNodeUpdate=this.handleNodeUpdate.bind(this),this.handleCreateTable=this.handleCreateTable.bind(this),this.config={delimiter:a.delimiter,newline:a.newline,escapeChar:a.escapeChar,dynamicTyping:!1,error:this.handleError,skipEmptyLines:a.skipEmptyLines,chunk:this.handleChunk,complete:this.handleComplete,fastMode:!1}}cancel(){this.isCancelled=!0}transpose(e,t){for(var r=t.length,i=new Array(e).fill(null).map(()=>new Array(r)),a=0;a<r;a+=1){var o=t[a];if(o.length<e)throw new Error("Insufficient columns. Expected ".concat(e," but found ").concat(o.length,`
@@ -19,7 +19,7 @@ Row = `).concat(s))}),this.chunks+=1;var a=0;this.totalChunks>0?a=Math.round(thi
19
19
  `&&(e+=`
20
20
  `)}this.bufferedMessages=[],this.appendLogText(e)}queue(e){this.bufferedMessages.push(e),this.bufferedMessages.length===1&&(this.flushTimer=setTimeout(this.handleFlushTimeout,ft.bufferTimeout))}stopFlushTimer(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=void 0)}updateDimensions(){this.editor&&this.editor.layout()}handleClearClick(){this.clearLogs()}clearLogs(){this.messages=[],this.refreshLogText()}handleFlushTimeout(){this.stopFlushTimer(),this.flush()}handleLogMessage(e){this.messages.push(e),this.editor&&this.isLogItemVisible(e)&&this.queue(e)}handleMenuItemClick(e){this.toggleLogLevel(e)}handleResetClick(){this.resetLogLevels()}handleResize(){this.updateDimensions()}handleToggleAllClick(){this.toggleAll()}render(){var e={placement:"bottom-end"},{shownLogLevels:t}=this.state,r=this.getMenuActions(t);return h.createElement("div",{className:"log-pane h-100 w-100"},h.createElement("div",{className:"log-pane-menu"},h.createElement(j,{kind:"ghost",className:"btn-clear-logs",onClick:this.handleClearClick,icon:MS,tooltip:"Clear log"}),h.createElement(j,{kind:"ghost",className:"btn-link-icon btn-overflow",icon:fs,tooltip:"Log Settings",onClick:()=>{}},h.createElement(ai,{actions:r,popperClassName:"log-level-menu-popper",popperOptions:e}))),h.createElement("div",{className:"log-pane-editor h-100 w-100",ref:i=>{this.editorContainer=i}}))}}Fr(ft,"DefaultLogLevels",[xt.STDOUT,xt.ERROR,xt.FATAL,xt.STDERR,xt.WARN]);Fr(ft,"AllLogLevels",[xt.INFO,xt.STDOUT,xt.ERROR,xt.FATAL,xt.STDERR,xt.WARN,xt.DEBUG,xt.TRACE]);Fr(ft,"bufferTimeout",16);Fr(ft,"maxLogSize",131072);Fr(ft,"truncateSize",65536);const k0=ft;function vp(n){switch(n){case ge.eq:return"is exactly";case ge.eqIgnoreCase:return"is exactly (ignore case)";case ge.notEq:return"is not exactly";case ge.notEqIgnoreCase:return"is not exactly (ignore case)";case ge.contains:return"contains";case ge.notContains:return"does not contain";case ge.startsWith:return"starts with";case ge.endsWith:return"ends with";default:throw new Error("Unrecognized text filter type ".concat(n))}}function gp(n){switch(n){case ge.eq:return"is equal to";case ge.notEq:return"is not equal to";case ge.greaterThan:return"greater than";case ge.greaterThanOrEqualTo:return"greater than or equal to";case ge.lessThan:return"less than";case ge.lessThanOrEqualTo:return"less than or equal to";default:throw new Error("Unrecognized number filter type ".concat(n))}}function fp(n){switch(n){case ge.eq:return"date is";case ge.notEq:return"date is not";case ge.notEqIgnoreCase:case ge.greaterThan:return"date is after";case ge.greaterThanOrEqualTo:return"date is after or equal";case ge.lessThan:return"date is before";case ge.lessThanOrEqualTo:return"date is before or equal";default:throw new Error("Unrecognized date filter type ".concat(n))}}function x0(n){switch(n){case ge.isTrue:return"Is True";case ge.isFalse:return"Is False";case ge.isNull:return"Is Null";default:throw new Error("Unrecognized boolean filter type ".concat(n))}}Fl.register([tE,rE,nE,iE,aE,oE]);function br(n,e,t){return e=H0(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function H0(n){var e=U0(n,"string");return typeof e=="symbol"?e:String(e)}function U0(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class It{constructor(e){br(this,"dh",void 0),br(this,"listeners",void 0),br(this,"formatter",void 0),br(this,"rect",void 0),br(this,"isDownsamplingDisabled",void 0),br(this,"title",void 0),this.dh=e,this.listeners=[],this.isDownsamplingDisabled=!1}getData(){return[]}getDefaultTitle(){return""}getLayout(){return{}}getFilterColumnMap(){return new Map}isFilterRequired(){return!1}setFilter(e){}close(){}setFormatter(e){this.formatter=e}setDownsamplingDisabled(e){this.isDownsamplingDisabled=e}setDimensions(e){this.rect=e}setTitle(e){this.title=e}subscribe(e){this.listeners.push(e)}unsubscribe(e){this.listeners=this.listeners.filter(t=>t!==e)}fireEvent(e){for(var t=0;t<this.listeners.length;t+=1)this.listeners[t](e)}fireUpdate(e){this.fireEvent(new CustomEvent(It.EVENT_UPDATED,{detail:e}))}fireDisconnect(){this.fireEvent(new CustomEvent(It.EVENT_DISCONNECT))}fireReconnect(){this.fireEvent(new CustomEvent(It.EVENT_RECONNECT))}fireDownsampleStart(e){this.fireEvent(new CustomEvent(It.EVENT_DOWNSAMPLESTARTED,{detail:e}))}fireDownsampleFinish(e){this.fireEvent(new CustomEvent(It.EVENT_DOWNSAMPLEFINISHED,{detail:e}))}fireDownsampleFail(e){this.fireEvent(new CustomEvent(It.EVENT_DOWNSAMPLEFAILED,{detail:e}))}fireDownsampleNeeded(e){this.fireEvent(new CustomEvent(It.EVENT_DOWNSAMPLENEEDED,{detail:e}))}fireLoadFinished(){this.fireEvent(new CustomEvent(It.EVENT_LOADFINISHED))}}br(It,"EVENT_UPDATED","ChartModel.EVENT_UPDATED");br(It,"EVENT_DISCONNECT","ChartModel.EVENT_DISCONNECT");br(It,"EVENT_RECONNECT","ChartModel.EVENT_RECONNECT");br(It,"EVENT_DOWNSAMPLESTARTED","ChartModel.EVENT_DOWNSAMPLESTARTED");br(It,"EVENT_DOWNSAMPLEFINISHED","ChartModel.EVENT_DOWNSAMPLEFINISHED");br(It,"EVENT_DOWNSAMPLEFAILED","ChartModel.EVENT_DOWNSAMPLEFAILED");br(It,"EVENT_DOWNSAMPLENEEDED","ChartModel.EVENT_DOWNSAMPLENEEDED");br(It,"EVENT_LOADFINISHED","ChartModel.EVENT_LOADFINISHED");const Xn=It,$0="#76d9e4 #9edc6f #fcd65b #aa9af4 #f37e3f #f95d84 #f0f0ee",B0="#403e41",V0="#5b5a5c",G0="#c0bfbf",W0="#4878ea",j0="rgba(91, 90, 92, 0.7)",Wt={"paper-bgcolor":"#2d2a2e","plot-bgcolor":"#322f33","title-color":"#f0f0ee",colorway:$0,gridcolor:B0,linecolor:V0,zerolinecolor:G0,activecolor:W0,rangebgcolor:j0,"area-color":"#76d9e4","trend-color":"#d5f0c1","line-color":"#9edc6f","error-band-line-color":"white","error-band-fill-color":"rgba(213, 240, 193, 0.1)","ohlc-increasing":"#9edc6f","ohlc-decreasing":"#f95d84"},fr=Object.freeze({paper_bgcolor:Wt["paper-bgcolor"],plot_bgcolor:Wt["plot-bgcolor"],title_color:Wt["title-color"],colorway:Wt.colorway,gridcolor:Wt.gridcolor,linecolor:Wt.linecolor,zerolinecolor:Wt.zerolinecolor,activecolor:Wt.activecolor,rangebgcolor:Wt.rangebgcolor,area_color:Wt["area-color"],trend_color:Wt["trend-color"],line_color:Wt["line-color"],error_band_line_color:Wt["error-band-line-color"],error_band_fill_color:Wt["error-band-fill-color"],ohlc_increasing:Wt["ohlc-increasing"],ohlc_decreasing:Wt["ohlc-decreasing"]});function km(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ua(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?km(Object(t),!0).forEach(function(r){Ut(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):km(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ut(n,e,t){return e=z0(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function z0(n){var e=K0(n,"string");return typeof e=="symbol"?e:String(e)}function K0(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var No=ie.module("ChartUtils"),xm="io.deephaven.time.DateTime",Y0=36e5,q0=1e6;function X0(n){return n.asDate!==void 0}function Q0(n){return n.asNumber!==void 0}function Hm(n){return n.dhTimeZone!==void 0}function Z0(n){return n!=null&&n.range!=null&&(n.autorange===!1||n.autorange===void 0)}class de{static getPlotlyErrorBars(e,t,r){var i=r.map((o,s)=>o-e[s]),a=t.map((o,s)=>e[s]-o);return{type:"data",symmetric:!1,array:i,arrayminus:a}}static convertNumberPrefix(e){return e.replace(/\u00A4\u00A4/g,"USD").replace(/\u00A4/g,"$")}static getPlotlyNumberFormat(e,t,r){if(!r)return null;var i=r.split(";"),a=i[0].match(/^([^#,0.]*)([#,]*)([0,]*)(\.?)(0*)(#*)(E?0*)(%?)(.*)/);L(a);var[,o,s,l,,d,u,c,m,v]=a,g=l.replace(",","").length,f=s.indexOf(",")>=0||l.indexOf(",")>=0,p=f?",":"",C=c!=null&&c!==""?"e":"f",b=m!==""?m:C,S=d.length+u.length,E="",y="0".concat(g).concat(p,".").concat(S).concat(E).concat(b),T=de.convertNumberPrefix(o),O=de.convertNumberPrefix(v);return{tickformat:y,tickprefix:T,ticksuffix:O,automargin:!0}}static addTickSpacing(e,t,r){var{gapBetweenMajorTicks:i}=t;if(i>0){var a=e||{},o=i;return r&&(o=i/q0),t.log&&(o=Math.log(o)),a.tickmode="linear",a.dtick=o,a}return e}static getSourceForAxis(e,t){for(var r=0;r<e.series.length;r+=1)for(var i=e.series[r],a=0;a<i.sources.length;a+=1){var o=i.sources[a];if(o.axis===t)return o}return null}static getSeriesVisibility(e,t){return t!=null&&t.hiddenSeries!=null&&t.hiddenSeries.includes(e)?"legendonly":!0}static getHiddenLabels(e){return e!=null&&e.hiddenSeries?[...e.hiddenSeries]:[]}static makeSeriesData(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:de.ORIENTATION.VERTICAL;return{type:e,mode:t,name:r,orientation:a,showlegend:i??void 0}}static getMarkerSymbol(e){switch(e){case"SQUARE":return"square";case"CIRCLE":return"circle";case"DIAMOND":return"diamond";case"UP_TRIANGLE":return"triangle-up";case"DOWN_TRIANGLE":return"triangle-down";case"RIGHT_TRIANGLE":return"triangle-right";case"LEFT_TRIANGLE":return"triangle-left";case"ELLIPSE":case"HORIZONTAL_RECTANGLE":case"VERTICAL_RECTANGLE":default:throw new Error("Unrecognized shape ".concat(e))}}static getAllAxes(e){return e.charts.reduce((t,r)=>[...t,...r.axes],[])}static getChartForSeries(e,t){for(var{charts:r}=e,i=0;i<r.length;i+=1)for(var a=r[i],o=0;o<a.series.length;o+=1)if(t===a.series[o])return a;return null}static getLayoutRanges(e){for(var t={},r=Object.keys(e).filter(s=>s.indexOf("axis")>=0),i=0;i<r.length;i+=1){var a=r[i],o=e[a];Z0(o)&&(t[a]=[...o.range])}return t}static getAxisLayoutProperty(e,t){var r=t>0?"".concat(t+1):"";return"".concat(e??"","axis").concat(r)}static periodToDecimal(e){var t=e.split(":");return Number(t[0])+Number(t[1])/60}static groupArray(e,t){return e.reduce((r,i)=>{var a,o=i[t],s=(a=r.get(o))!==null&&a!==void 0?a:[];return s.push(i),r.set(o,s),r},new Map)}static getColorwayFromTheme(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fr,t=[];return e.colorway&&(Array.isArray(e.colorway)?t=e.colorway:typeof e.colorway=="string"?t=e.colorway.split(" "):No.warn("Unable to handle colorway property: ".concat(e.colorway))),t}static titleFromSettings(e){var{series:t,xAxis:r,title:i="".concat((t??[]).join(", ")," by ").concat(r)}=e;return i}constructor(e){Ut(this,"dh",void 0),Ut(this,"daysOfWeek",void 0),this.dh=e,this.daysOfWeek=Object.freeze(e.calendar.DayOfWeek.values())}getAxisFormats(e,t){for(var r=this,i=new Map,a={tickformat:null,ticksuffix:null},o=de.getAllAxes(e),s=de.groupArray(o,"type"),{charts:l}=e,d=0;d<l.length;d+=1)for(var u=l[d],c=0;c<u.series.length;c+=1)for(var m=u.series[c],{sources:v}=m,g=v.filter(b=>b.axis),f=function(){var S=g[p],{axis:E}=S,{type:y}=E,T=s.get(y);L(T);var O=T.indexOf(E),D=r.getAxisPropertyName(y);if(D!=null){var P=de.getAxisLayoutProperty(D,O);if(i.has(P))No.debug("".concat(P," already added."));else{No.debug("Adding ".concat(P," to axisFormats."));var R=r.getPlotlyAxisFormat(S,t);if(R===null)i.set(P,a);else{i.set(P,R);var{businessCalendar:_}=E;if(_!=null){var M=[],{businessPeriods:A,businessDays:B,holidays:$,timeZone:z}=_,G=t?.getColumnTypeFormatter(xm),K;Hm(G)&&(K=G.dhTimeZone);var X=K?(z.standardOffset-K.standardOffset)/60:0;$.length>0&&M.push(...r.createRangeBreakValuesFromHolidays($,z,K)),A.forEach(J=>M.push({pattern:"hour",bounds:[de.periodToDecimal(J.close)+X,de.periodToDecimal(J.open)+X]})),B.length<r.daysOfWeek.length&&r.createBoundsFromDays(B).forEach(J=>M.push({pattern:"day of week",bounds:J})),R.rangebreaks=M}if(i.size===u.axes.length)return{v:i}}}}},p=0;p<g.length;p+=1){var C=f();if(typeof C=="object")return C.v}return i}getPlotlyChartType(e,t){var{dh:r}=this;switch(e){case r.plot.SeriesPlotStyle.SCATTER:return t?"scatter":"scattergl";case r.plot.SeriesPlotStyle.LINE:return"scatter";case r.plot.SeriesPlotStyle.BAR:case r.plot.SeriesPlotStyle.STACKED_BAR:return"bar";case r.plot.SeriesPlotStyle.PIE:return"pie";case r.plot.SeriesPlotStyle.TREEMAP:return"treemap";case r.plot.SeriesPlotStyle.HISTOGRAM:return"histogram";case r.plot.SeriesPlotStyle.OHLC:return"ohlc";default:return}}getPlotlyChartMode(e,t,r){var{dh:i}=this,a=new Set;switch(e){case i.plot.SeriesPlotStyle.SCATTER:(t??!1)&&a.add(de.MODE_LINES),(r??!0)&&a.add(de.MODE_MARKERS);break;case i.plot.SeriesPlotStyle.LINE:(t??!0)&&a.add(de.MODE_LINES),(r??!1)&&a.add(de.MODE_MARKERS);break}return a.size>0?[...a].join("+"):void 0}getPlotlyProperty(e,t){var{dh:r}=this;switch(e){case r.plot.SeriesPlotStyle.PIE:switch(t){case r.plot.SourceType.X:return"labels";case r.plot.SourceType.Y:return"values"}break;case r.plot.SeriesPlotStyle.OHLC:switch(t){case r.plot.SourceType.TIME:return"x"}break;case r.plot.SeriesPlotStyle.TREEMAP:switch(t){case r.plot.SourceType.X:return"ids";case r.plot.SourceType.Y:return"values";case r.plot.SourceType.LABEL:return"labels";case r.plot.SourceType.PARENT:return"parents";case r.plot.SourceType.COLOR:return"marker.colors"}break}switch(t){case r.plot.SourceType.X:return"x";case r.plot.SourceType.Y:return"y";case r.plot.SourceType.Z:return"z";case r.plot.SourceType.X_LOW:return"xLow";case r.plot.SourceType.X_HIGH:return"xHigh";case r.plot.SourceType.Y_LOW:return"yLow";case r.plot.SourceType.Y_HIGH:return"yHigh";case r.plot.SourceType.TIME:return"time";case r.plot.SourceType.OPEN:return"open";case r.plot.SourceType.HIGH:return"high";case r.plot.SourceType.LOW:return"low";case r.plot.SourceType.CLOSE:return"close";case r.plot.SourceType.SHAPE:return"shape";case r.plot.SourceType.SIZE:return"size";case r.plot.SourceType.LABEL:return"label";case r.plot.SourceType.COLOR:return"color";case r.plot.SourceType.PARENT:return"parent";case r.plot.SourceType.HOVER_TEXT:return"hovertext";case r.plot.SourceType.TEXT:return"text";default:throw new Error("Unrecognized source type: ".concat(t))}}getPlotlySeriesOrientation(e){var t,r,{dh:i}=this,{sources:a}=e;return a.length===2&&((t=a[0])===null||t===void 0||(r=t.axis)===null||r===void 0?void 0:r.type)===i.plot.AxisType.Y?de.ORIENTATION.HORIZONTAL:de.ORIENTATION.VERTICAL}makeSeriesDataFromSeries(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:fr,{name:o,isLinesVisible:s,isShapesVisible:l,plotStyle:d,lineColor:u,shapeColor:c,sources:m,shape:v,shapeSize:g}=e,f=m.some(E=>{var y;return(y=E.axis)===null||y===void 0?void 0:y.businessCalendar}),p=this.getChartType(d,f),C=this.getPlotlyChartMode(d,s??void 0,l??void 0),b=this.getPlotlySeriesOrientation(e),S=de.makeSeriesData(p,C,o,i,b);return this.addSourcesToSeriesData(S,d,m,t),this.addStylingToSeriesData(S,d,a,u,c,v,g,r),S}addSourcesToSeriesData(e,t,r,i){for(var a=e,o=0;o<r.length;o+=1){var s=r[o],{axis:l,type:d}=s,u=this.getPlotlyProperty(t,d);If(a,u,[]);var c=l!=null?this.getAxisPropertyName(l.type):null;if(c!=null){var m=i.get(l.type);if(m){var v=m.indexOf(l),g=v>0?"".concat(v+1):"";a["".concat(c,"axis")]="".concat(c).concat(g)}}}}addStylingToSeriesData(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fr,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,{dh:d}=this,u=e;if(u.marker={line:{}},u.line={width:1},t===d.plot.SeriesPlotStyle.AREA?u.fill="tozeroy":t===d.plot.SeriesPlotStyle.STACKED_AREA?u.stackgroup="stack":t===d.plot.SeriesPlotStyle.STEP?u.line.shape="hv":t===d.plot.SeriesPlotStyle.HISTOGRAM?(u.width=[],u.marker.line!==void 0&&Object.assign(u.marker.line,{color:r.paper_bgcolor,width:1})):t===d.plot.SeriesPlotStyle.OHLC?(u.increasing={line:{color:r.ohlc_increasing}},u.decreasing={line:{color:r.ohlc_decreasing}}):t===d.plot.SeriesPlotStyle.PIE?(u.textinfo="label+percent",u.outsidetextfont={color:r.title_color}):t===d.plot.SeriesPlotStyle.TREEMAP&&(u.hoverinfo="text",u.textinfo="label+text",u.tiling={packing:"squarify",pad:0},u.textposition="middle center",u.outsidetextfont={color:r.title_color}),i!=null&&(t===d.plot.SeriesPlotStyle.BAR?u.marker.color=i:u.line.color=i),a!=null&&(u.marker.color=a),o!=null&&o.length>0)try{u.marker.symbol=de.getMarkerSymbol(o)}catch(c){No.warn("Unable to handle shape",o,":",c)}s!=null&&(u.marker.size=s*de.DEFAULT_MARKER_SIZE),l!=null&&t!==d.plot.SeriesPlotStyle.PIE&&(u.visible=l)}getChartType(e,t){var{dh:r}=this;switch(e){case r.plot.SeriesPlotStyle.HISTOGRAM:return"bar";default:return this.getPlotlyChartType(e,t)}}getAxisPropertyName(e){var{dh:t}=this;switch(e){case t.plot.AxisType.X:return"x";case t.plot.AxisType.Y:return"y";default:return null}}getAxisSide(e){var{dh:t}=this;switch(e){case t.plot.AxisPosition.BOTTOM:return"bottom";case t.plot.AxisPosition.TOP:return"top";case t.plot.AxisPosition.LEFT:return"left";case t.plot.AxisPosition.RIGHT:return"right";default:return}}updateFigureAxes(e,t,r){for(var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:fr,s=e,l=de.getAllAxes(t),d=0;d<t.charts.length;d+=1){var u=t.charts[d],c=r?.(u),m=this.getChartBounds(t,u,i,a);this.updateLayoutAxes(s,u.axes,l,i,a,m,c,o)}this.removeStaleAxes(s,l)}getChartBounds(e,t,r,i){var a,{dh:o}=this,{cols:s,rows:l}=e,{column:d,colspan:u,row:c,rowspan:m}=t,v=d+u,g=c+m,f=1/s,p=1/l,C=de.AXIS_SIZE_PX/r,b=de.AXIS_SIZE_PX/i,S={bottom:(l-g)*p+(g<l?b/2:0),top:(l-c)*p-(c>0?b/2:0),left:d*f+(d>0?C/2:0),right:v*f-(v<s?C/2:0)},E=de.groupArray(t.axes,"position"),y=(a=E.get(o.plot.AxisPosition.RIGHT))!==null&&a!==void 0?a:[];return y.length>0&&(r>0?S.right-=(S.right-S.left)*Math.max(0,Math.min(de.LEGEND_WIDTH_PX/r,de.MAX_LEGEND_SIZE)):S.right-=(S.right-S.left)*de.DEFAULT_AXIS_SIZE),S}getPlotlyDateFormat(e,t,r){var{dh:i}=this,a=r?.replace("%","%%").replace(/S{9}/g,"%9f").replace(/S{8}/g,"%8f").replace(/S{7}/g,"%7f").replace(/S{6}/g,"%6f").replace(/S{5}/g,"%5f").replace(/S{4}/g,"%4f").replace(/S{3}/g,"%3f").replace(/S{2}/g,"%2f").replace(/S{1}/g,"%1f").replace(/y{4}/g,"%Y").replace(/y{2}/g,"%y").replace(/M{4}/g,"%B").replace(/M{3}/g,"%b").replace(/M{2}/g,"%m").replace(/M{1}/g,"%-m").replace(/E{4,}/g,"%A").replace(/E{1,}/g,"%a").replace(/d{2}/g,"%d").replace(/([^%]|^)d{1}/g,"$1%-d").replace(/H{2}/g,"%H").replace(/h{2}/g,"%I").replace(/h{1}/g,"%-I").replace(/m{2}/g,"%M").replace(/s{2}/g,"%S").replace("'T'","T").replace(" z",""),o,s=e?.getColumnTypeFormatter(t);return s!=null&&Hm(s)&&s.dhTimeZone!=null&&s.showTimeZone&&(o=i.i18n.DateTimeFormat.format(" z",new Date,s.dhTimeZone)),{tickformat:a,ticksuffix:o,automargin:!0}}getPlotlyAxisFormat(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,{dh:r}=this,{axis:i,columnType:a}=e,{formatPattern:o}=i,s=null;return H.isDateType(a)?(s=this.getPlotlyDateFormat(t,a,o),s=de.addTickSpacing(s,i,!0)):H.isNumberType(a)&&(s=de.getPlotlyNumberFormat(t,a,o),s=de.addTickSpacing(s,i,!1)),i.formatType===r.plot.AxisFormatType.CATEGORY&&(s?s.type="category":s={type:"category",tickformat:void 0,ticksuffix:void 0}),s}updateLayoutAxes(e,t,r){for(var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{left:0,top:0,right:1,bottom:1},s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:fr,{dh:d}=this,u=i>0?Math.max(de.MIN_AXIS_SIZE,Math.min(de.AXIS_SIZE_PX/a,de.MAX_AXIS_SIZE)):de.DEFAULT_AXIS_SIZE,c=a>0?Math.max(de.MIN_AXIS_SIZE,Math.min(de.AXIS_SIZE_PX/i,de.MAX_AXIS_SIZE)):de.DEFAULT_AXIS_SIZE,m=e,v=de.groupArray(t,"position"),g=de.groupArray(t,"type"),f=[...g.keys()],p=de.groupArray(r,"type"),C=0;C<f.length;C+=1){var b=f[C],S=this.getAxisPropertyName(b);if(S!=null){var E=g.get(b),y=p.get(b),T=b===d.plot.AxisType.Y,O=T?a:i;L(E),L(y);for(var D=0;D<E.length;D+=1){var P=E[D],R=y.indexOf(P),_=de.getAxisLayoutProperty(S,R);m[_]==null&&(m[_]=this.makeLayoutAxis(b,l));var M=m[_];if(M!=null){this.updateLayoutAxis(M,P,D,v,u,c,o);var{range:A,autorange:B}=M;if(s!=null&&A!==void 0&&(B===void 0||B===!1)){var $=s(P),[z,G]=$(A);No.debug("Setting downsample range",O,z,G),P.range(O,z,G)}else P.range(O)}}}}}removeStaleAxes(e,t){for(var r=e,i=de.groupArray(t,"type"),a=[...i.keys()],o=0;o<a.length;o+=1){var s=a[o],l=i.get(s);L(l);var d=l.length,u=this.getAxisPropertyName(s);if(u!=null)for(var c=de.getAxisLayoutProperty(u,d);r[c]!=null;)delete r[c],d+=1,c=de.getAxisLayoutProperty(u,d)}}updateLayoutAxis(e,t,r,i,a,o,s){var l,{dh:d}=this,u=t.type===d.plot.AxisType.Y,c=u?o:a,m=e,v=(l=t.label)!==null&&l!==void 0?l:"";if(m.title!==void 0&&typeof m.title!="string"?m.title.text=v:m.title={text:v},t.log&&(m.type="log"),m.side=this.getAxisSide(t.position),r>0){var g,f;m.overlaying=(g=this.getAxisPropertyName(t.type))!==null&&g!==void 0?g:void 0;var p=(f=i.get(t.position))!==null&&f!==void 0?f:[],C=p.indexOf(t);C>0&&(m.anchor="free",t.position===d.plot.AxisPosition.RIGHT?m.position=s.right+(C-p.length+1)*c:t.position===d.plot.AxisPosition.TOP?m.position=s.top+(C-p.length+1)*c:t.position===d.plot.AxisPosition.BOTTOM?m.position=s.bottom+(p.length-C+1)*c:t.position===d.plot.AxisPosition.LEFT&&(m.position=s.left+(p.length-C+1)*c))}else if(t.type===d.plot.AxisType.X){var b=i.get(d.plot.AxisPosition.LEFT)||[],S=i.get(d.plot.AxisPosition.RIGHT)||[],E=Math.max(s.left,s.left+(b.length-1)*o),y=Math.min(s.right-(S.length-1)*o,s.right);m.domain=[E,y]}else if(t.type===d.plot.AxisType.Y){var T=i.get(d.plot.AxisPosition.BOTTOM)||[],O=i.get(d.plot.AxisPosition.TOP)||[],D=Math.max(s.bottom,s.bottom+(T.length-1)*a),P=Math.min(s.top-(O.length-1)*a,s.top);m.domain=[D,P]}}createBoundsFromDays(e){var t=e.map(o=>this.daysOfWeek.indexOf(o)),r=this.daysOfWeek.filter(o=>!e.includes(o)).map(o=>this.daysOfWeek.indexOf(o)),i=new Set;r.forEach(o=>{for(var s=o+1;s<o+this.daysOfWeek.length;s+=1){var l=s%this.daysOfWeek.length;if(t.includes(l)){i.add(l);break}}});var a=[];return i.forEach(o=>{for(var s=o-1;s>o-this.daysOfWeek.length;s-=1){var l=s<0?s+this.daysOfWeek.length:s;if(t.includes(l)){var d=(l+1)%7;a.push([d,o]);break}}}),a}createRangeBreakValuesFromHolidays(e,t,r){var i=[],a=[];return e.forEach(o=>{o.businessPeriods.length>0?a.push(...this.createPartialHoliday(o,t,r)):i.push(this.createFullHoliday(o,t,r))}),[{values:i},...a]}createFullHoliday(e,t,r){return this.adjustDateForTimeZone("".concat(e.date.toString()," 00:00:00.000000"),t,r)}createPartialHoliday(e,t,r){var i=e.date.toString(),a=["00:00"];e.businessPeriods.forEach(m=>{a.push(m.open),a.push(m.close)}),a.push("24:00");for(var o=[],s=0;s<a.length;s+=2){var l=a[s],d=a[s+1];if(l!==d){var u=[this.adjustDateForTimeZone("".concat(i," ").concat(l,":00.000000"),t,r)],c=Y0*(de.periodToDecimal(d)-de.periodToDecimal(l));o.push({values:u,dvalue:c})}}return o}adjustDateForTimeZone(e,t,r){return r&&r.standardOffset!==t.standardOffset?this.unwrapValue(this.wrapValue(e,xm,t),r):e}makeFigureSettings(e,t){var{dh:r}=this,{series:i,xAxis:a,type:o}=e,s=de.titleFromSettings(e),l={formatType:"".concat(r.plot.AxisFormatType.NUMBER),type:"".concat(r.plot.AxisType.X),position:"".concat(r.plot.AxisPosition.BOTTOM)},d={formatType:"".concat(r.plot.AxisFormatType.NUMBER),type:"".concat(r.plot.AxisType.Y),position:"".concat(r.plot.AxisPosition.LEFT)};return{charts:[{chartType:"".concat(r.plot.ChartType.XY),axes:[l,d],series:(i??[]).map(u=>({plotStyle:"".concat(o),name:u,dataSources:[{type:"".concat(r.plot.SourceType.X),columnName:a??"",axis:l,table:t},{type:"".concat(r.plot.SourceType.Y),columnName:u,axis:d,table:t}]}))}],title:s}}unwrapValue(e,t){var{dh:r}=this;if(e!=null){if(X0(e))return r.i18n.DateTimeFormat.format(de.DATE_FORMAT,e,t);if(Q0(e))return e.asNumber()}return e}wrapValue(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,{dh:i}=this;if(H.isDateType(t)&&typeof e=="string"){var a=e,o=de.DATE_FORMAT.substr(0,e.length),s=i.i18n.DateTimeFormat.parse(o,a);if(!r)return s;var l="".concat(o," Z"),d=i.i18n.DateTimeFormat.format("Z",s,r),u=i.i18n.DateTimeFormat.parse(l,"".concat(a," ").concat(d)),c=i.i18n.DateTimeFormat.format("Z",u,r);return i.i18n.DateTimeFormat.parse(l,"".concat(a," ").concat(c))}return e}makeLayoutAxis(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fr,{dh:r}=this,i={automargin:!0,gridcolor:t.gridcolor,linecolor:t.linecolor,rangeslider:{visible:!1},showline:!0,ticklen:5,tickcolor:t.paper_bgcolor,tickfont:{color:t.zerolinecolor},title:{font:{color:t.title_color}}};return e===r.plot.AxisType.X?Object.assign(i,{showgrid:!0}):e===r.plot.AxisType.Y&&Object.assign(i,{zerolinecolor:t.zerolinecolor,zerolinewidth:2}),i}makeDefaultLayout(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fr,{dh:t}=this,r=Ua(Ua({},e),{},{autosize:!0,colorway:de.getColorwayFromTheme(e),font:{family:"'Fira Sans', sans-serif",color:e.title_color},title:{font:{color:e.title_color},yanchor:"top",pad:Ua({},de.DEFAULT_TITLE_PADDING),y:1},legend:{font:{color:e.title_color}},margin:Ua({},de.DEFAULT_MARGIN),xaxis:this.makeLayoutAxis(t.plot.AxisType.X,e),yaxis:this.makeLayoutAxis(t.plot.AxisType.Y,e),polar:{angularaxis:this.makeLayoutAxis(t.plot.AxisType.SHAPE,e),radialaxis:this.makeLayoutAxis(t.plot.AxisType.SHAPE,e),bgcolor:e.plot_bgcolor},scene:{xaxis:this.makeLayoutAxis(t.plot.AxisType.X,e),yaxis:this.makeLayoutAxis(t.plot.AxisType.Y,e),zaxis:this.makeLayoutAxis(t.plot.AxisType.Z,e)}});return r.datarevision=0,r}hydrateSettings(e){var{dh:t}=this;return Ua(Ua({},e),{},{type:e.type!=null?t.plot.SeriesPlotStyle[e.type]:void 0})}}Ut(de,"DEFAULT_AXIS_SIZE",.15);Ut(de,"MIN_AXIS_SIZE",.025);Ut(de,"MAX_AXIS_SIZE",.2);Ut(de,"AXIS_SIZE_PX",75);Ut(de,"LEGEND_WIDTH_PX",50);Ut(de,"MAX_LEGEND_SIZE",.25);Ut(de,"ORIENTATION",Object.freeze({HORIZONTAL:"h",VERTICAL:"v"}));Ut(de,"DATE_FORMAT","yyyy-MM-dd HH:mm:ss.SSSSSS");Ut(de,"DEFAULT_MARGIN",Object.freeze({l:60,r:50,t:30,b:60,pad:0}));Ut(de,"DEFAULT_TITLE_PADDING",Object.freeze({t:8}));Ut(de,"SUBTITLE_LINE_HEIGHT",25);Ut(de,"DEFAULT_MARKER_SIZE",6);Ut(de,"MODE_MARKERS","markers");Ut(de,"MODE_LINES","lines");const kt=de;function Um(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function $m(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Um(Object(t),!0).forEach(function(r){Jt(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Um(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Jt(n,e,t){return e=J0(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function J0(n){var e=eT(n,"string");return typeof e=="symbol"?e:String(e)}function eT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var bi=ie.module("Chart");class va extends w.Component{static convertIcon(e){var[t,,,,r]=e.icon,i="".concat(r);return{width:t,path:i,ascent:t,descent:0,transform:"matrix(1, 0, 0, 1, 0, 0)"}}static downsampleButtonTitle(e,t){return e?"Downsampling in progress...":t?"Downsampling disabled, click to enable":"Downsampling enabled, click to disable"}static downsampleButtonAttr(e,t){return e?"animation-spin":t?void 0:"fill-active"}constructor(e){super(e),Jt(this,"currentSeries",void 0),Jt(this,"PlotComponent",void 0),Jt(this,"plot",void 0),Jt(this,"plotWrapper",void 0),Jt(this,"columnFormats",void 0),Jt(this,"dateTimeFormatterOptions",void 0),Jt(this,"decimalFormatOptions",void 0),Jt(this,"integerFormatOptions",void 0),Jt(this,"rect",void 0),Jt(this,"ranges",void 0),Jt(this,"isSubscribed",void 0),Jt(this,"isLoadedFired",void 0),Jt(this,"getCachedConfig",fe((t,r,i,a,o)=>{var s=[],l=!!t;if(l&&s.push({name:"Downsampling failed: ".concat(t),title:"Downsampling failed",click:()=>{},icon:va.convertIcon($f),attr:"fill-warning"}),r||i||a||l){var d=va.downsampleButtonTitle(i,a),u=va.downsampleButtonAttr(i,a),c=i?AS:LS;s.push({name:d,title:"Downsampling status",icon:va.convertIcon(c),click:this.handleDownsampleClick,attr:u})}var m=o.some(p=>{var{type:C}=p;return C!=null&&!C.includes("3d")}),v=o.some(p=>{var{type:C}=p;return C!=null&&C.includes("3d")}),g=["zoomIn2d","zoomOut2d","autoScale2d","resetScale2d"],f=["orbitRotation","tableRotation","resetCameraDefault3d"];return{displaylogo:!1,displayModeBar:i||l?!0:"hover",modeBarButtons:[s,["toImage"],["zoom2d","pan2d"],[...m?g:[],...v?f:[]]]}})),this.handleAfterPlot=this.handleAfterPlot.bind(this),this.handleDownsampleClick=this.handleDownsampleClick.bind(this),this.handleModelEvent=this.handleModelEvent.bind(this),this.handlePlotUpdate=this.handlePlotUpdate.bind(this),this.handleRelayout=this.handleRelayout.bind(this),this.handleRestyle=this.handleRestyle.bind(this),this.PlotComponent=Sl(e.Plotly),this.plot=h.createRef(),this.plotWrapper=h.createRef(),this.columnFormats=[],this.dateTimeFormatterOptions={},this.decimalFormatOptions={},this.integerFormatOptions={},this.isSubscribed=!1,this.isLoadedFired=!1,this.currentSeries=0,this.state={data:null,downsamplingError:null,isDownsampleFinished:!1,isDownsampleInProgress:!1,isDownsamplingDisabled:!1,layout:{datarevision:0},revision:0}}componentDidMount(){this.updateDimensions(),this.updateModelDimensions(),this.initData(),this.initFormatter();var{isActive:e}=this.props;e&&this.subscribe()}componentDidUpdate(e){var{isActive:t,settings:r}=this.props;this.updateFormatterSettings(r),t!==e.isActive&&(t?this.subscribe():this.unsubscribe())}componentWillUnmount(){this.unsubscribe()}getPlotRect(){var e,t;return(e=(t=this.plotWrapper.current)===null||t===void 0?void 0:t.getBoundingClientRect())!==null&&e!==void 0?e:null}initData(){var{model:e}=this.props,{layout:t}=this.state;this.setState({data:e.getData(),layout:$m($m({},t),e.getLayout())})}subscribe(){if(!this.isSubscribed){var{model:e}=this.props;if(!this.rect||this.rect.width===0||this.rect.height===0){bi.debug2("Delaying subscription until model dimensions are set");return}e.subscribe(this.handleModelEvent),this.isSubscribed=!0}}unsubscribe(){if(this.isSubscribed){var{model:e}=this.props;e.unsubscribe(this.handleModelEvent),this.isSubscribed=!1}}handleAfterPlot(){this.plot.current!=null}handleDownsampleClick(){this.setState(e=>{var{isDownsamplingDisabled:t}=e;return{downsamplingError:null,isDownsampleInProgress:!1,isDownsampleFinished:!1,isDownsamplingDisabled:!t}},()=>{var{model:e}=this.props,{isDownsamplingDisabled:t}=this.state;e.setDownsamplingDisabled(t)})}handleModelEvent(e){var{type:t,detail:r}=e;switch(bi.debug2("Received data update",t,r),t){case Xn.EVENT_UPDATED:{this.currentSeries+=1,this.setState(c=>{var{layout:m,revision:v}=c;return typeof m.datarevision=="number"&&(m.datarevision+=1),{data:r,layout:m,revision:v+1}});var{onUpdate:i}=this.props;i({isLoading:!this.isLoadedFired});break}case Xn.EVENT_LOADFINISHED:{var{onUpdate:a}=this.props;this.isLoadedFired=!0,a({isLoading:!1});break}case Xn.EVENT_DISCONNECT:{var{onDisconnect:o}=this.props;o();break}case Xn.EVENT_RECONNECT:{var{onReconnect:s}=this.props;s();break}case Xn.EVENT_DOWNSAMPLESTARTED:{this.setState({isDownsampleFinished:!1,isDownsampleInProgress:!0,downsamplingError:null});break}case Xn.EVENT_DOWNSAMPLEFINISHED:{this.setState({isDownsampleFinished:!0,isDownsampleInProgress:!1,downsamplingError:null});break}case Xn.EVENT_DOWNSAMPLENEEDED:case Xn.EVENT_DOWNSAMPLEFAILED:{var l,d=(l=r.message)!==null&&l!==void 0?l:r;this.setState({isDownsampleFinished:!1,isDownsampleInProgress:!1,isDownsamplingDisabled:!1,downsamplingError:d});var{onError:u}=this.props;u(new Error(d));break}default:bi.debug("Unknown event type",t,e)}}handlePlotUpdate(e){var{layout:t}=e,r=kt.getLayoutRanges(t),i=!ct(r,this.ranges);i&&(this.ranges=r,this.updateModelDimensions(!0))}handleRelayout(e){if(bi.debug("handleRelayout",e),e.hiddenlabels!=null){var{onSettingsChanged:t}=this.props,r=[...e.hiddenlabels];t({hiddenSeries:r})}this.updateModelDimensions()}handleRestyle(e){var[t,r]=e;if(bi.debug("handleRestyle",t,r),Object.keys(t).includes("visible")){var{data:i}=this.state,{onSettingsChanged:a}=this.props;if(i!=null){var o=i.reduce((s,l)=>{var{name:d,visible:u}=l;return d!=null&&u==="legendonly"?[...s,d]:s},[]);a({hiddenSeries:o})}}}updateModelDimensions(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.getPlotRect();if(!t){bi.warn("Unable to get plotting rect");return}var r=!this.rect||this.rect.width!==t.width||this.rect.height!==t.height;if(r||e){this.rect=t;var{isActive:i,model:a}=this.props;a.setDimensions(t),i&&this.subscribe()}}initFormatter(){var{settings:e}=this.props;this.updateFormatterSettings(e)}updateFormatterSettings(e){var t=oi.getColumnFormats(e),r=oi.getDateTimeFormatterOptions(e),{decimalFormatOptions:i={},integerFormatOptions:a={}}=e;(!ct(this.columnFormats,t)||!ct(this.dateTimeFormatterOptions,r)||!ct(this.decimalFormatOptions,i)||!ct(this.integerFormatOptions,a))&&(this.columnFormats=oi.getColumnFormats(e),this.dateTimeFormatterOptions=r,this.decimalFormatOptions=i,this.integerFormatOptions=a,this.updateFormatter())}updateFormatter(){var{model:e}=this.props,t=new wn(e.dh,this.columnFormats,this.dateTimeFormatterOptions,this.decimalFormatOptions,this.integerFormatOptions);e.setFormatter(t)}updateDimensions(){var e=this.getPlotRect(),{Plotly:t}=this.props;this.plot.current!=null&&e!=null&&e.width>0&&e.height>0&&t.relayout(this.plot.current.el,{autosize:!0}).catch(r=>{bi.debug("Unable to resize, promise rejected",r)})}render(){var{PlotComponent:e}=this,{data:t,downsamplingError:r,isDownsampleFinished:i,isDownsampleInProgress:a,isDownsamplingDisabled:o,layout:s,revision:l}=this.state,d=this.getCachedConfig(r,i,a,o,t??[]),u=t!=null;return h.createElement("div",{className:"h-100 w-100 chart-wrapper",ref:this.plotWrapper},u&&h.createElement(e,{ref:this.plot,data:t,layout:s,revision:l,config:d,onAfterPlot:this.handleAfterPlot,onError:bi.error,onRelayout:this.handleRelayout,onUpdate:this.handlePlotUpdate,onRestyle:this.handleRestyle,useResizeHandler:!0,style:{height:"100%",width:"100%"}}))}}Jt(va,"defaultProps",{isActive:!0,settings:{timeZone:"America/New_York",defaultDateTimeFormat:Ea.FULL_DATE_FORMAT,showTimeZone:!1,showTSeparator:!0,formatter:[]},Plotly:Fl,onDisconnect:()=>{},onReconnect:()=>{},onUpdate:()=>{},onError:()=>{},onSettingsChanged:()=>{}});const tT=va;function Bm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Vm(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bm(Object(t),!0).forEach(function(r){ht(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Bm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function ht(n,e,t){return e=rT(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rT(n){var e=nT(n,"string");return typeof e=="symbol"?e:String(e)}function nT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Yt=ie.module("FigureChartModel");class Cd extends Xn{constructor(e,t){var r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:fr;super(e),r=this,ht(this,"chartUtils",void 0),ht(this,"dh",void 0),ht(this,"figure",void 0),ht(this,"settings",void 0),ht(this,"theme",void 0),ht(this,"data",void 0),ht(this,"layout",void 0),ht(this,"seriesDataMap",void 0),ht(this,"pendingSeries",void 0),ht(this,"oneClicks",void 0),ht(this,"filterColumnMap",void 0),ht(this,"lastFilter",void 0),ht(this,"isConnected",void 0),ht(this,"seriesToProcess",void 0),ht(this,"addPendingSeries",rt(()=>{for(var s=kt.getAllAxes(this.figure),{pendingSeries:l}=this,d=function(){var m,v=l[u],g=r.figure.charts.find(f=>f.series.includes(v));r.addSeries(v,s,(m=g?.showLegend)!==null&&m!==void 0?m:null),v.subscribe()},u=0;u<l.length;u+=1)d();this.pendingSeries=[]},Cd.ADD_SERIES_DEBOUNCE)),ht(this,"getTimeZone",Pe((s,l)=>{if(l!=null){var d=l.getColumnTypeFormatter(s);if(d!=null)return d.dhTimeZone}})),ht(this,"getValueTranslator",Pe((s,l)=>{var d=this.getTimeZone(s,l);return u=>this.chartUtils.unwrapValue(u,d)})),ht(this,"getValueParser",Pe((s,l)=>{var d=this.getTimeZone(s,l);return u=>this.chartUtils.wrapValue(u,s,d)})),ht(this,"getRangeParser",Pe((s,l)=>d=>{var[u,c]=d,m=this.getValueParser(s,l);return u=m(u),c=m(c),[u,c]})),ht(this,"getAxisRangeParser",Pe((s,l)=>d=>{var u=kt.getSourceForAxis(s,d);return u!=null?this.getRangeParser(u.columnType,l):c=>c})),this.handleFigureUpdated=this.handleFigureUpdated.bind(this),this.handleFigureDisconnected=this.handleFigureDisconnected.bind(this),this.handleFigureReconnected=this.handleFigureReconnected.bind(this),this.handleFigureSeriesAdded=this.handleFigureSeriesAdded.bind(this),this.handleDownsampleStart=this.handleDownsampleStart.bind(this),this.handleDownsampleFinish=this.handleDownsampleFinish.bind(this),this.handleDownsampleFail=this.handleDownsampleFail.bind(this),this.handleDownsampleNeeded=this.handleDownsampleNeeded.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.dh=e,this.chartUtils=new kt(e),this.figure=t,this.settings=i,this.theme=a,this.data=[];var o={data:{},layout:this.chartUtils.makeDefaultLayout(a)};this.layout={grid:{rows:t.rows,columns:t.cols,pattern:"independent"},template:o},this.seriesDataMap=new Map,this.pendingSeries=[],this.oneClicks=[],this.filterColumnMap=new Map,this.lastFilter=new Map,this.isConnected=!0,this.seriesToProcess=new Set,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure()}close(){this.figure.close(),this.addPendingSeries.cancel(),this.stopListeningFigure()}getDefaultTitle(){if(this.figure.charts.length>0){var e=this.figure.charts[0];return e.title}return""}initAllSeries(){this.oneClicks=[],this.filterColumnMap.clear();for(var{charts:e}=this.figure,t=kt.getAllAxes(this.figure),r=[],i=0;i<e.length;i+=1)for(var a=e[i],o=0;o<a.series.length;o+=1){var s=a.series[o];r.push(s.name),this.addSeries(s,t,a.showLegend)}for(var l=[...this.seriesDataMap.keys()],d=l.filter(m=>r.indexOf(m)<0),u=0;u<d.length;u+=1){var c=d[u];this.seriesDataMap.delete(c)}this.seriesToProcess=new Set([...this.seriesDataMap.keys()])}addSeries(e,t,r){var{dh:i}=this,a=kt.groupArray(t,"type"),o=this.chartUtils.makeSeriesDataFromSeries(e,a,kt.getSeriesVisibility(e.name,this.settings),r,this.theme);if(this.seriesDataMap.set(e.name,o),this.data=[...this.seriesDataMap.values()],e.plotStyle===i.plot.SeriesPlotStyle.STACKED_BAR?this.layout.barmode="stack":e.plotStyle===i.plot.SeriesPlotStyle.PIE&&(this.layout.hiddenlabels=kt.getHiddenLabels(this.settings)),this.layout.showlegend=this.data.length>1||e.plotStyle===i.plot.SeriesPlotStyle.PIE?r??void 0:!1,e.oneClick!=null){for(var{oneClick:s}=e,{columns:l}=s,d=0;d<l.length;d+=1)this.filterColumnMap.set(l[d].name,l[d]);this.oneClicks.push(s)}this.updateLayoutFormats()}subscribe(e){super.subscribe(e),this.listeners.length===1&&(this.initAllSeries(),this.subscribeFigure())}unsubscribe(e){super.unsubscribe(e),this.listeners.length===0&&this.unsubscribeFigure()}subscribeFigure(){if(!this.isConnected){Yt.debug("Ignoring subscribe when figure in disconnected state");return}this.figure.subscribe(this.isDownsamplingDisabled?this.dh.plot.DownsampleOptions.DISABLE:this.dh.plot.DownsampleOptions.DEFAULT)}unsubscribeFigure(){this.figure.unsubscribe()}startListeningFigure(){var{dh:e}=this;this.figure.addEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.addEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.addEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.addEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.addEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}stopListeningFigure(){var{dh:e}=this;this.figure.removeEventListener(e.plot.Figure.EVENT_UPDATED,this.handleFigureUpdated),this.figure.removeEventListener(e.plot.Figure.EVENT_SERIES_ADDED,this.handleFigureSeriesAdded),this.figure.removeEventListener(e.plot.Figure.EVENT_DISCONNECT,this.handleFigureDisconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_RECONNECT,this.handleFigureReconnected),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLESTARTED,this.handleDownsampleStart),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFINISHED,this.handleDownsampleFinish),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLEFAILED,this.handleDownsampleFail),this.figure.removeEventListener(e.plot.Figure.EVENT_DOWNSAMPLENEEDED,this.handleDownsampleNeeded),this.figure.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed)}handleDownsampleStart(e){Yt.debug("Downsample started",e),this.fireDownsampleStart(e.detail)}handleDownsampleFinish(e){Yt.debug("Downsample finished",e),this.fireDownsampleFinish(e.detail)}handleDownsampleFail(e){Yt.error("Downsample failed",e),this.fireDownsampleFail(e.detail)}handleDownsampleNeeded(e){Yt.info("Downsample needed",e),this.fireDownsampleNeeded(e.detail)}handleFigureUpdated(e){var{detail:t}=e,{series:r}=t;Yt.debug2("handleFigureUpdated",r);for(var i=0;i<r.length;i+=1){var a=r[i];Yt.debug2("handleFigureUpdated updating series",a.name);for(var{sources:o}=a,s=0;s<o.length;s+=1){var l=o[s],{columnType:d,type:u}=l,c=this.getValueTranslator(d,this.formatter),m=t.getArray(a,u,c);this.setDataArrayForSeries(a,u,m)}this.seriesToProcess.delete(a.name),this.seriesToProcess.size===0&&this.fireLoadFinished(),this.cleanSeries(a)}var{data:v}=this;this.fireUpdate(v)}handleRequestFailed(e){Yt.error("Request failed",e)}resubscribe(){this.listeners.length>0&&(this.unsubscribeFigure(),this.subscribeFigure())}setFormatter(e){super.setFormatter(e),this.updateLayoutFormats(),this.resubscribe()}setDownsamplingDisabled(e){super.setDownsamplingDisabled(e),this.resubscribe()}handleFigureDisconnected(e){Yt.debug("Figure disconnected",e),this.isConnected=!1,this.listeners.length>0&&this.unsubscribeFigure(),this.fireDisconnect()}handleFigureReconnected(e){Yt.debug("Figure reconnected",e),this.isConnected=!0,this.initAllSeries(),this.fireReconnect(),this.listeners.length>0&&this.subscribeFigure()}handleFigureSeriesAdded(e){var{detail:t}=e;Yt.debug("handleFigureSeriesAdded",t),this.pendingSeries.push(t),this.addPendingSeries()}setDimensions(e){super.setDimensions(e),this.updateAxisPositions()}setTitle(e){var t,r;super.setTitle(e);var i=(t=(r=(e??"").match(/<br>/g))===null||r===void 0?void 0:r.length)!==null&&t!==void 0?t:0,a=kt.DEFAULT_MARGIN.t+i*kt.SUBTITLE_LINE_HEIGHT;this.layout.margin?this.layout.margin.t=a:this.layout.margin={t:a},typeof this.layout.title=="string"?this.layout.title=e:(this.layout.title=Vm({},this.layout.title),this.layout.title.text=e,this.layout.title.pad=Vm({},this.layout.title.pad),this.layout.title.pad.t=kt.DEFAULT_TITLE_PADDING.t+i*kt.SUBTITLE_LINE_HEIGHT*.5)}getPlotWidth(){var e,t,r,i;return!this.rect||!this.rect.width?0:Math.max(this.rect.width-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.l)!==null&&e!==void 0?e:0)-((r=(i=this.layout.margin)===null||i===void 0?void 0:i.r)!==null&&r!==void 0?r:0),0)}getPlotHeight(){var e,t,r,i;return!this.rect||!this.rect.height?0:Math.max(this.rect.height-((e=(t=this.layout.margin)===null||t===void 0?void 0:t.t)!==null&&e!==void 0?e:0)-((r=(i=this.layout.margin)===null||i===void 0?void 0:i.b)!==null&&r!==void 0?r:0),0)}updateAxisPositions(){var e=this.getPlotWidth(),t=this.getPlotHeight();this.chartUtils.updateFigureAxes(this.layout,this.figure,r=>this.getAxisRangeParser(r,this.formatter),e,t,this.theme)}updateLayoutFormats(){if(this.formatter){var e=this.chartUtils.getAxisFormats(this.figure,this.formatter);e.forEach((t,r)=>{Yt.debug("Assigning ".concat(r),this.layout[r],t);var i=this.layout[r];i!=null?Object.assign(i,t):Yt.debug("Ignoring null layout.".concat(r))})}}setDataArrayForSeries(e,t,r){var{name:i,plotStyle:a}=e,o=this.seriesDataMap.get(i),s=this.chartUtils.getPlotlyProperty(a,t);o&&If(o,s,r)}cleanSeries(e){var{dh:t}=this,{name:r,plotStyle:i}=e,a=this.seriesDataMap.get(r);if(a!=null){if(i===t.plot.SeriesPlotStyle.HISTOGRAM){var{xLow:o,xHigh:s}=a;if(o&&s&&o.length===s.length){for(var l=[],d=0;d<o.length;d+=1)l.push(s[d]-o[d]);a.width=l}}else if(i===t.plot.SeriesPlotStyle.LINE){var{x:u,xLow:c,xHigh:m,y:v,yLow:g,yHigh:f}=a;c&&m&&c!==u&&(a.error_x=kt.getPlotlyErrorBars(u,c,m)),g&&f&&g!==v&&(a.error_y=kt.getPlotlyErrorBars(v,g,f))}else if(i===t.plot.SeriesPlotStyle.TREEMAP){var{ids:p,labels:C}=a;p!==void 0&&C===void 0&&(a.labels=p)}}}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){return new Map(this.filterColumnMap)}isFilterRequired(){return this.oneClicks.find(e=>e.requireAllFiltersToDisplay)!=null}setFilter(e){var t=this;if(this.oneClicks.length===0){Yt.warn("Trying to set a filter, but no one click!");return}Yt.debug("setFilter",e);for(var r=function(){var o=t.oneClicks[i],{columns:s}=o,l=new Set([...e.keys(),...t.lastFilter.keys()]);l.forEach(d=>{var u=e.get(d);t.lastFilter.get(d)!==u&&s.find(c=>c.name===d)!=null&&o.setValueForColumn(d,u)})},i=0;i<this.oneClicks.length;i+=1)r();this.lastFilter=new Map(e)}setFigure(e){this.close(),this.figure=e,this.setTitle(this.getDefaultTitle()),this.initAllSeries(),this.updateAxisPositions(),this.startListeningFigure(),this.listeners.length>0&&this.subscribeFigure()}updateSettings(e){this.settings=e}}ht(Cd,"ADD_SERIES_DEBOUNCE",50);const Gm=Cd;function Wm(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function cu(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Wm(a,r,i,o,s,"next",l)}function s(l){Wm(a,r,i,o,s,"throw",l)}o(void 0)})}}class jh{static makeModelFromSettings(e,t,r){var i=arguments;return cu(function*(){var a=i.length>3&&i[3]!==void 0?i[3]:fr,o=yield jh.makeFigureFromSettings(e,t,r);return new Gm(e,o,t,a)})()}static makeFigureFromSettings(e,t,r){return cu(function*(){var i=yield r.copy();return i.applyCustomColumns(r.customColumns),i.applyFilter(r.filter),i.applySort(r.sort),e.plot.Figure.create(new kt(e).makeFigureSettings(t,i))})()}static makeModel(e,t,r){var i=arguments;return cu(function*(){var a=i.length>3&&i[3]!==void 0?i[3]:fr;return new Gm(e,r,t,a)})()}}const kl=jh,iT=typeof Sl=="function"?Sl(Fl):Sl.default(Fl);function jm(n){return n.setFigure!==void 0}function zm(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function aT(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){zm(a,r,i,o,s,"next",l)}function s(l){zm(a,r,i,o,s,"throw",l)}o(void 0)})}}var oT=ie.module("HeapUsage");function sT(n){var e,{connection:t,defaultUpdateInterval:r,hoverUpdateInterval:i,bgMonitoring:a=!0,monitorDuration:o}=n,[s,l]=w.useState({freeMemory:0,maximumHeapSize:999,totalHeapSize:0}),[d,u]=w.useState(!1),c=w.useRef({timestamps:[],usages:[]});w.useEffect(function(){var A=function(){var $=aT(function*(){try{var z=yield t.getWorkerHeapInfo();if(l(z),a||d){for(var G=(z.totalHeapSize-z.freeMemory)/z.maximumHeapSize,K=Date.now(),{timestamps:X,usages:J}=c.current;X.length!==0&&K-X[0]>o*1.5;)X.shift(),J.shift();X.push(K),J.push(G)}else c.current={timestamps:[],usages:[]}}catch(I){oT.warn("Unable to get heap usage",I)}});return function(){return $.apply(this,arguments)}}();A();var B=setInterval(A,d?i:r);return()=>{clearInterval(B)}},[d,i,t,r,o,a]);var m=(M,A)=>Math.round(M*10**A)/10**A,v=2,g=1024**3,{freeMemory:f,totalHeapSize:p,maximumHeapSize:C}=s,b=m(f/g,v),S=m(p/g,v),E=m(C/g,v),y=S-b,T=function(A,B){var $=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return h.createElement("div",{className:te("heap-usage-info-row",{"heading-bottom-border":$})},h.createElement("div",{className:"font-weight-bold"},A),h.createElement("div",null,B))},{timestamps:O,usages:D}=c.current,P=(e=O[O.length-1])!==null&&e!==void 0?e:0,R=p/C,_=(p-f)/C;return h.createElement(h.Fragment,null,h.createElement("div",{className:"max-memory"},h.createElement("div",{className:"total-memory",style:{width:"calc(".concat(R*100,"% - ").concat(R*2,"px")}}),h.createElement("div",{className:te("used-memory",{"heap-overflow":(p-f)/C>.95}),style:{width:"calc(".concat(_*100,"% - ").concat(_*2,"px")}}),h.createElement("div",{className:"memory-text"},E.toFixed(1)," GB")),h.createElement(pt,{onEntered:()=>u(!0),onExited:()=>u(!1),interactive:!0},h.createElement("div",{className:"heap-tooltip"},T("In use:","".concat(y.toFixed(v)," of ").concat(E.toFixed(v)," GB"),!0),T("Free:","".concat(b.toFixed(v)," GB")),T("Total:","".concat(S.toFixed(v)," GB")),T("Max:","".concat(E.toFixed(v)," GB")),h.createElement("div",{className:"heap-plot"},h.createElement(iT,{data:[{x:[...O],y:[...D],type:"scatter",mode:"lines"}],config:{staticPlot:!0,responsive:!0},style:{width:"196px",height:"100px"},layout:{margin:{l:2,t:2,r:2,b:2},plot_bgcolor:"transparent",paper_bgcolor:"transparent",colorway:["#4878ea"],xaxis:{dtick:Math.round(o/6),gridcolor:fr.linecolor,range:[P-o,P],linecolor:fr.linecolor,linewidth:2,mirror:!0},yaxis:{dtick:.2,gridcolor:fr.linecolor,range:[0,1],linecolor:fr.linecolor,linewidth:2,mirror:!0}}})),h.createElement("div",{className:"heap-utilisation-text"},"% utilization over ",Math.round(o/1e3/60)," min."))))}var zh=Object.freeze({}),lT=new Map,bd=n=>n.api,pp=n=>n.user,Kh=n=>n.storage,Cp=n=>Kh(n).commandHistoryStorage,bp=n=>Kh(n).fileStorage,dT=n=>Kh(n).workspaceStorage,Sd=n=>n.workspace,Bt=n=>Sd(n).data.settings,Sp=n=>Bt(n).defaultDateTimeFormat,wp=n=>{var e;return(e=Bt(n).defaultDecimalFormatOptions)!==null&&e!==void 0?e:zh},Ep=n=>{var e;return(e=Bt(n).defaultIntegerFormatOptions)!==null&&e!==void 0?e:zh},yp=n=>Bt(n).formatter,Ss=n=>Bt(n).timeZone,Tp=n=>Bt(n).showTimeZone,Pp=n=>Bt(n).showTSeparator,Op=n=>Bt(n).truncateNumbersWithPound,uT=n=>Bt(n).shortcutOverrides,hT=n=>{var e;return(e=Bt(n).defaultNotebookSettings)!==null&&e!==void 0?e:zh},wd=n=>n.activeTool,cT=n=>{var e;return(e=n.plugins)!==null&&e!==void 0?e:lT},Dp="SET_ACTIVE_TOOL",Rp="SET_API",Np="SET_COMMAND_HISTORY_STORAGE",Fp="SET_FILE_STORAGE",Ip="SET_PLUGINS",_p="SET_USER",Mp="SET_WORKSPACE",Ap="SET_WORKSPACE_STORAGE",Lp="SET_SERVER_CONFIG_VALUES";function Km(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Bs(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Km(Object(t),!0).forEach(function(r){mT(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Km(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mT(n,e,t){return e=vT(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vT(n){var e=gT(n,"string");return typeof e=="symbol"?e:String(e)}function gT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var fT=n=>({type:_p,payload:n}),pT=n=>({type:Rp,payload:n}),kp=n=>({type:Mp,payload:n}),CT=n=>({type:Ap,payload:n}),bT=n=>({type:Np,payload:n}),ST=n=>({type:Fp,payload:n}),wT=n=>(e,t)=>{e(kp(n));var{storage:r}=t(),{workspaceStorage:i}=r;return i.save(n)},xp=n=>(e,t)=>{var{workspace:r}=t(),{data:i}=r,a=Bs(Bs({},r),{},{data:Bs(Bs({},i),n)});return e(wT(a))},Ed=n=>e=>e(xp({settings:n})),yd=n=>({type:Dp,payload:n}),ET=n=>({type:Ip,payload:n}),yT=n=>({type:Lp,payload:n});function Ym(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function mu(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ym(Object(t),!0).forEach(function(r){TT(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ym(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function TT(n,e,t){return e=PT(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function PT(n){var e=OT(n,"string");return typeof e=="symbol"?e:String(e)}function OT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Hp(n,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case n:{var i=r.payload;return i==null?null:t!=null?mu(mu({},t),i):mu({},i)}default:return t}}}function qm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xm(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qm(Object(t),!0).forEach(function(r){DT(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):qm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function DT(n,e,t){return e=RT(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RT(n){var e=NT(n,"string");return typeof e=="symbol"?e:String(e)}function NT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function FT(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,i=arguments.length>1?arguments[1]:void 0;switch(i.type){case n:{var{id:a,payload:o}=i;return t&&ct({payload:o},{payload:r[a]})?r:Xm(Xm({},r),{},{[a]:o})}default:return r}}}function Xi(n,e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case n:return r.payload;default:return t}}}const IT=Xi(Rp,null),_T=Xi(Dp,null),MT=Xi(Ip,null),AT=Xi(Np,null),LT=Xi(Fp,null),kT=Xi(Ap,null),xT=Nh({commandHistoryStorage:AT,fileStorage:LT,workspaceStorage:kT}),HT=Hp(_p,null),UT=Hp(Mp,null),$T=Xi(Lp,null);var BT={activeTool:_T,api:IT,plugins:MT,storage:xT,user:HT,workspace:UT,serverConfigValues:$T};const VT=BT;function Qm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zm(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qm(Object(t),!0).forEach(function(r){Yu(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Qm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Yu(n,e,t){return e=GT(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function GT(n){var e=WT(n,"string");return typeof e=="symbol"?e:String(e)}function WT(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class jT{constructor(){Yu(this,"reducers",{}),Yu(this,"listener",null)}register(e,t){var r;this.reducers=Zm(Zm({},this.reducers),{},{[e]:t}),(r=this.listener)===null||r===void 0||r.call(this,this.reducers)}setListener(e){this.listener=e}}var zT=new jT;const ws=zT;var Jm=ie.module("redux-logger"),KT=n=>e=>t=>{Jm.debug("dispatching",t);var r=e(t);return Jm.debug("next state",n.getState()),r};const YT=KT;var qT=ie.module("redux-crashReporter"),XT=n=>e=>t=>{try{return e(t)}catch(r){throw qT.error("Error executing",t," with state ",n.getState(),":",r),r}};const QT=XT,ZT=[YT,QT,qb];var vu;Object.entries(VT).map(n=>{var[e,t]=n;return ws.register(e,t)});var JT=(vu=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)!==null&&vu!==void 0?vu:Zb,Up=Xb(Nh(ws.reducers),JT(Qb(...ZT)));ws.setListener(n=>{Up.replaceReducer(Nh(n))});const Yh=Up;var $p=Object.freeze({openPopouts:[],settings:{hasHeaders:!0,constrainDragToContainer:!0,reorderEnabled:!0,selectionEnabled:!1,popoutWholeStack:!1,blockedPopoutsThrowError:!0,closePopoutsOnUnload:!0,showPopoutIcon:!0,showMaximiseIcon:!0,showCloseIcon:!0,responsiveMode:"onload",tabOverlapAllowance:0,tabControlOffset:10},dimensions:{borderWidth:5,borderGrabWidth:10,minItemHeight:10,minItemWidth:10,headerHeight:20,dragProxyWidth:300,dragProxyHeight:200},labels:{close:"Close",maximise:"Maximize",minimise:"Minimize",popout:"Open in new window",popin:"Pop in",tabDropdown:"Additional tabs",tabNextLabel:"Next",tabPreviousLabel:"Previous"},content:[]});function Bp(n){return n.componentName!==void 0}function eP(n){return n.component!==void 0}var Vp=Object.freeze({type:"default",isClosable:!0,isFocusOnShow:!0,reorderEnabled:!0,title:""});const tP=Object.freeze(Object.defineProperty({__proto__:null,defaultConfig:$p,isGLComponentConfig:Bp,isReactComponentConfig:eP,itemDefaultConfig:Vp},Symbol.toStringTag,{value:"Module"}));function wl(n,e,t){return e=rP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rP(n){var e=nP(n,"string");return typeof e=="symbol"?e:String(e)}function nP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ls{constructor(){wl(this,"_mSubscriptions",void 0),wl(this,"off",this.unbind),wl(this,"trigger",this.emit),this._mSubscriptions={},this._mSubscriptions[ls.ALL_EVENT]=[]}on(e,t,r){if(typeof t!="function")throw new Error("Tried to listen to event "+e+" with non-function callback "+t);this._mSubscriptions[e]||(this._mSubscriptions[e]=[]),this._mSubscriptions[e].push({fn:t,ctx:r})}emit(e){for(var t=this._mSubscriptions[e],r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];if(t)for(var o=0;o<t.length;o++){var s=t[o].ctx||{};try{t[o].fn.apply(s,i)}catch(c){console.error("Error while emitting event:",c)}}i.unshift(e);for(var l=this._mSubscriptions[ls.ALL_EVENT],d=0;d<l.length;d++){var u=l[d].ctx||{};try{l[d].fn.apply(u,i)}catch(c){console.error("Error while emitting event to allEventSubs:",c)}}}unbind(e,t,r){if(!this._mSubscriptions[e])throw new Error("No subscriptions to unsubscribe for event "+e);for(var i=!1,a=0;a<this._mSubscriptions[e].length;a++)(!t||this._mSubscriptions[e][a].fn===t)&&(!r||r===this._mSubscriptions[e][a].ctx)&&(this._mSubscriptions[e].splice(a,1),i=!0);if(i===!1)throw new Error("Nothing to unbind for "+e)}}wl(ls,"ALL_EVENT","__all");const yn=ls;function un(n,e,t){return e=iP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function iP(n){var e=aP(n,"string");return typeof e=="symbol"?e:String(e)}function aP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class qu extends yn{constructor(e,t,r){super(),un(this,"width",void 0),un(this,"height",void 0),un(this,"title",void 0),un(this,"parent",void 0),un(this,"layoutManager",void 0),un(this,"tab",void 0),un(this,"_config",void 0),un(this,"isHidden",!1),un(this,"beforeCloseHandler",void 0),un(this,"_element",ce(['<div class="lm_item_container">','<div class="lm_content" tabindex="-1"></div>',"</div>"].join(""))),un(this,"_contentElement",void 0),this.title=Bp(e)?e.componentName:"",this.parent=t,this.layoutManager=r,this._config=e,this._contentElement=this._element.find(".lm_content"),this.beforeCloseHandler=null}getElement(){return this._contentElement}hide(){this.emit("hide"),this.isHidden=!0,this._element.hide()}show(){this.emit("show"),this.isHidden=!1,this._element.show(),(this.height!=0||this.width!=0)&&this.emit("shown")}setSize(e,t){for(var r,i,a,o=this.parent,s=null;o&&!o.isColumn&&!o.isRow;){var l;if(s=o,o=o.parent,(l=o)!==null&&l!==void 0&&l.isRoot)return!1}if(!o||!s)return!1;for(var d=o.isColumn?"height":"width",u=d==="height"?t:e,c=((r=this[d])!==null&&r!==void 0?r:0)*(1/(((i=s.config[d])!==null&&i!==void 0?i:0)/100)),m=u/c*100,v=(((a=s.config[d])!==null&&a!==void 0?a:0)-m)/(o.contentItems.length-1),g=0;g<o.contentItems.length;g++)if(o.contentItems[g]===s)o.contentItems[g].config[d]=m;else{var f;o.contentItems[g].config[d]=((f=o.contentItems[g].config[d])!==null&&f!==void 0?f:0)+v}return o.callDownwards("setSize"),!0}close(e){var t,r;this._config.isClosable&&(!((t=(r=this.beforeCloseHandler)===null||r===void 0?void 0:r.call(this,e))!==null&&t!==void 0)||t)&&(this.emit("close"),this.parent.close())}beforeClose(e){this.beforeCloseHandler=e}getState(){return this._config.componentState}extendState(e){this.setState(ce.extend(!0,this.getState(),e))}setState(e){this._config.componentState=e,this.parent.emitBubblingEvent("stateChanged")}setTitle(e){this.parent.setTitle(e)}_$setSize(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(e!==this.width||t!==this.height){this.width=e,this.height=t;var r=this._contentElement[0],i=r.offsetWidth-r.clientWidth,a=r.offsetHeight-r.clientHeight;this._contentElement.width(this.width-i).height(this.height-a),this.emit("resize")}}}const oP=Object.freeze(Object.defineProperty({__proto__:null,Container:qu,ItemContainer:qu},Symbol.toStringTag,{value:"Module"}));function Gp(n){var e=location.hash.match(new RegExp(n+"=([^&]*)"));return e?e[1]:null}function Wp(n){if(window.location.hash)return Gp(n);if(!window.location.search)return null;var e=window.location.search.substr(1).split("&"),t={},r,i;for(i=0;i<e.length;i++)r=e[i].split("="),t[r[0]]=r[1];return t[n]||null}function qh(n){return window.requestAnimationFrame(n)}function sP(n,e){var t=e.indexOf(n);if(t===-1)throw new Error("Can't remove item from array. Item is not in the array");e.splice(t,1)}function Xh(){return(Math.random()*1e15).toString(36).replace(".","")}function lP(n,e){var t=n.replace(/javascript/gi,"j&#97;vascript").replace(/expression/gi,"expr&#101;ssion").replace(/onload/gi,"onlo&#97;d").replace(/script/gi,"&#115;cript").replace(/onerror/gi,"on&#101;rror");return e===!0?t:t.replace(/>/g,"&gt;").replace(/</g,"&lt;")}function Qh(n){return ce.trim(n.replace(/(<([^>]+)>)/gi,""))}function Pr(n,e,t){return e=dP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function dP(n){var e=uP(n,"string");return typeof e=="symbol"?e:String(e)}function uP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class hP extends yn{constructor(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super(),Pr(this,"_eElement",void 0),Pr(this,"_oDocument",void 0),Pr(this,"_eBody",void 0),Pr(this,"_destroyAfterMouseUp",void 0),Pr(this,"_nDelay",400),Pr(this,"_timeout",void 0),Pr(this,"timeout",void 0),Pr(this,"_nDistance",10),Pr(this,"_nX",0),Pr(this,"_nY",0),Pr(this,"_nOriginalX",0),Pr(this,"_nOriginalY",0),Pr(this,"_bDragging",!1),this._eElement=e,this._oDocument=ce(document),this._eBody=ce(document.body),this._destroyAfterMouseUp=r,this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this._startDrag=this._startDrag.bind(this),(t=this._eElement)===null||t===void 0||t.on("mousedown",this.onMouseDown)}destroy(){var e,t;(e=this._eElement)===null||e===void 0||e.unbind("mousedown",this.onMouseDown),(t=this._oDocument)===null||t===void 0||t.unbind("mouseup",this.onMouseUp),this._eElement=void 0,this._oDocument=void 0,this._eBody=void 0,clearTimeout(this._timeout),this._timeout=void 0}onMouseDown(e){if(e.preventDefault(),e.button===0){var t,r,i,a,o=this._getCoordinates(e);this._nOriginalX=(t=o.x)!==null&&t!==void 0?t:0,this._nOriginalY=(r=o.y)!==null&&r!==void 0?r:0,(i=this._oDocument)===null||i===void 0||i.on("mousemove",this.onMouseMove),(a=this._oDocument)===null||a===void 0||a.on("mouseup",this.onMouseUp),this._timeout=window.setTimeout(this._startDrag,this._nDelay)}}onMouseMove(e){if(this._timeout!=null){var t,r;e.preventDefault();var i=this._getCoordinates(e);this._nX=((t=i.x)!==null&&t!==void 0?t:0)-this._nOriginalX,this._nY=((r=i.y)!==null&&r!==void 0?r:0)-this._nOriginalY,this._bDragging===!1&&(Math.abs(this._nX)>this._nDistance||Math.abs(this._nY)>this._nDistance)&&this._startDrag(),this._bDragging&&this.emit("drag",this._nX,this._nY,e)}}onMouseUp(e){if(this._timeout!=null){var t,r,i,a,o;if(clearTimeout(this._timeout),(t=this._oDocument)===null||t===void 0||t.unbind("mousemove",this.onMouseMove),(r=this._oDocument)===null||r===void 0||r.unbind("mouseup",this.onMouseUp),(i=this._oDocument)===null||i===void 0||(a=i.find("iframe"))===null||a===void 0||a.css("pointer-events",""),this._bDragging===!0&&(this._bDragging=!1,this.emit("dragStop",e,this._nOriginalX+this._nX)),(o=this._eBody)===null||o===void 0||o.removeClass("lm_dragging"),!(this._eElement instanceof Window)){var s;(s=this._eElement)===null||s===void 0||s.removeClass("lm_dragging")}this._destroyAfterMouseUp&&this.destroy()}}_startDrag(){var e,t,r,i;window.clearTimeout(this._timeout),this._bDragging=!0,(e=this._eBody)===null||e===void 0||e.addClass("lm_dragging"),(t=this._eElement)===null||t===void 0||t.addClass("lm_dragging"),(r=this._oDocument)===null||r===void 0||(i=r.find("iframe"))===null||i===void 0||i.css("pointer-events","none"),this.emit("dragStart",this._nOriginalX,this._nOriginalY)}_getCoordinates(e){var t,r;return{x:(t=e.pageX)!==null&&t!==void 0?t:0,y:(r=e.pageY)!==null&&r!==void 0?r:0}}}const Es=hP;function $a(n,e,t){return e=cP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function cP(n){var e=mP(n,"string");return typeof e=="symbol"?e:String(e)}function mP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class jp{constructor(e,t){$a(this,"_container",void 0),$a(this,"_reactComponent",null),$a(this,"_portalComponent",null),$a(this,"_originalComponentWillUpdate",null),$a(this,"_initialState",void 0),$a(this,"_reactClass",void 0),this._reactComponent=null,this._portalComponent=null,this._originalComponentWillUpdate=null,this._container=e,this._initialState=t,this._reactClass=this._getReactClass(),this._container.on("open",this._render,this),this._container.on("destroy",this._destroy,this)}_key(){var e=this._container._config.id;if(!e)throw new Error("Cannot mount panel without id");return Array.isArray(e)?e.join(","):e}_render(){var e=this._key();this._portalComponent=Fh.createPortal(this._getReactComponent(),this._container.getElement()[0],e),this._container.layoutManager.addReactChild(e,this._portalComponent)}_gotReactComponent(e){if(e){this._reactComponent=e,this._originalComponentWillUpdate=this._reactComponent.componentWillUpdate||function(){},this._reactComponent.componentWillUpdate=this._onUpdate.bind(this);var t=this._container.getState();t&&this._reactComponent.setState(t)}}_destroy(){this._container.layoutManager.removeReactChild(this._key(),this._portalComponent),this._container.off("open",this._render,this),this._container.off("destroy",this._destroy,this)}_onUpdate(e,t){var r;this._container.setState(t),(r=this._originalComponentWillUpdate)===null||r===void 0||r.call(this._reactComponent,e,t)}_getReactClass(){var e=this._container._config.component;if(!e)throw new Error("No react component name. type: react-component needs a field `component`");var t=this._container.layoutManager.getComponent(e)||this._container.layoutManager.getFallbackComponent();if(!t)throw new Error('React component "'+e+'" not found. Please register all components with GoldenLayout using `registerComponent(name, component)`');return t}_getReactComponent(){var e={glEventHub:this._container.layoutManager.eventHub,glContainer:this._container,ref:this._gotReactComponent.bind(this)},t=ce.extend(e,this._container._config.props);return h.createElement(this._reactClass,t)}}var xl=["settings","hasHeaders","constrainDragToContainer","selectionEnabled","dimensions","borderWidth","minItemHeight","minItemWidth","headerHeight","dragProxyWidth","dragProxyHeight","labels","close","maximise","minimise","popout","content","componentName","componentState","id","width","type","height","isClosable","title","popoutWholeStack","openPopouts","parentId","activeItemIndex","reorderEnabled","borderGrabWidth"],vP=[!0,!1,"row","column","stack","component","close","maximise","minimise","open in new window"];function Zh(n){if(xl.length>36)throw new Error("Too many keys in config minifier map");var e={};return Jh(n,e,"_min"),e}function Xu(n){if(xl.length>36)throw new Error("Too many keys in config minifier map");var e={};return Jh(n,e,"_max"),e}function Jh(n,e,t){var r=t==="_min"?gP:fP;for(var i in n)if(n.hasOwnProperty(i)){var a=Array.isArray(n)?n[Number.parseInt(i,10)]:n[i];if(typeof a=="object"&&a!=null){var o=a instanceof Array?[]:{};if(Array.isArray(e))e[Number.parseInt(i,10)]=o;else{var s=r(i,xl);e[s]=o}Jh(a,o,t)}else{var l=r(a,vP);if(Array.isArray(e))e[Number.parseInt(i,10)]=l;else{var d=r(i,xl);e[d]=l}}}}function gP(n,e){if(typeof n=="string"&&n.length===1)return"___"+n;var t=e.indexOf(n);return t===-1?n:t.toString(36)}function fP(n,e){return typeof n=="string"&&n.length===1?e[parseInt(n,36)]:typeof n=="string"&&n.substr(0,3)==="___"?n[3]:n}function gu(n,e,t){return e=pP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function pP(n){var e=CP(n,"string");return typeof e=="symbol"?e:String(e)}function CP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Qu{constructor(e,t){gu(this,"name",void 0),gu(this,"origin",void 0),gu(this,"isPropagationStopped",void 0),this.name=e,this.origin=t,this.isPropagationStopped=!1}stopPropagation(){this.isPropagationStopped=!0}}function Vs(n,e,t){return e=bP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bP(n){var e=SP(n,"string");return typeof e=="symbol"?e:String(e)}function SP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}let wP=class extends yn{constructor(e){super(),Vs(this,"_layoutManager",void 0),Vs(this,"_dontPropagateToParent",void 0),Vs(this,"_childEventSource",void 0),Vs(this,"_boundOnEventFromChild",void 0),this._layoutManager=e,this._dontPropagateToParent=null,this._childEventSource=null,this.on(yn.ALL_EVENT,this._onEventFromThis.bind(this)),this._boundOnEventFromChild=this._onEventFromChild.bind(this),ce(window).on("gl_child_event",this._boundOnEventFromChild)}_onEventFromThis(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this._layoutManager.isSubWindow&&t[0]!==this._dontPropagateToParent&&this._propagateToParent(t),this._propagateToChildren(t),this._dontPropagateToParent=null,this._childEventSource=null}_$onEventFromParent(e){this._dontPropagateToParent=e[0],this.emit.apply(this,e)}_onEventFromChild(e){this._childEventSource=e.originalEvent.__gl,this.emit.apply(this,e.originalEvent.__glArgs)}_propagateToParent(e){var t,r="gl_child_event",i=(t=window.opener)===null||t===void 0?void 0:t.document.createEvent("HTMLEvents");i.initEvent(r,!0,!0),i.eventName=r,i.__glArgs=e,i.__gl=this._layoutManager,window.opener.dispatchEvent(i)}_propagateToChildren(e){for(var t=0;t<this._layoutManager.openPopouts.length;t++){var r=this._layoutManager.openPopouts[t].getGlInstance();r&&r!==this._childEventSource&&r.eventHub._$onEventFromParent(e)}}destroy(){ce(window).off("gl_child_event",this._boundOnEventFromChild)}};const zp=wP,EP=Object.freeze(Object.defineProperty({__proto__:null,BubblingEvent:Qu,DragListener:Es,EventEmitter:yn,EventHub:zp,ReactComponentHandler:jp,animFrame:qh,filterXss:lP,getHashValue:Gp,getQueryStringParam:Wp,getUniqueId:Xh,minifyConfig:Zh,removeFromArray:sP,stripTags:Qh,unminifyConfig:Xu},Symbol.toStringTag,{value:"Module"}));function Si(n,e,t){return e=yP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function yP(n){var e=TP(n,"string");return typeof e=="symbol"?e:String(e)}function TP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Kp extends yn{constructor(e,t,r,i,a){super(),Si(this,"isInitialised",!1),Si(this,"_config",void 0),Si(this,"_dimensions",void 0),Si(this,"_parentId",void 0),Si(this,"_indexInParent",void 0),Si(this,"_layoutManager",void 0),Si(this,"_popoutWindow",null),Si(this,"_id",null),this._config=e,this._dimensions=t,this._parentId=r,this._indexInParent=i,this._layoutManager=a,this._createWindow()}toConfig(){var e,t,r,i,a,o,s,l,d,u,c;if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");return{dimensions:{width:(e=this.getGlInstance())===null||e===void 0?void 0:e.width,height:(t=this.getGlInstance())===null||t===void 0?void 0:t.height,left:(r=(i=(a=this._popoutWindow)===null||a===void 0?void 0:a.screenX)!==null&&i!==void 0?i:(o=this._popoutWindow)===null||o===void 0?void 0:o.screenLeft)!==null&&r!==void 0?r:0,top:(s=(l=(d=this._popoutWindow)===null||d===void 0?void 0:d.screenY)!==null&&l!==void 0?l:(u=this._popoutWindow)===null||u===void 0?void 0:u.screenTop)!==null&&s!==void 0?s:0},content:(c=this.getGlInstance())===null||c===void 0?void 0:c.toConfig().content,parentId:this._parentId,indexInParent:this._indexInParent}}getGlInstance(){var e;return(e=this._popoutWindow)===null||e===void 0?void 0:e.__glInstance}getWindow(){return this._popoutWindow}close(){if(this.getGlInstance()){var e;(e=this.getGlInstance())===null||e===void 0||e._$closeWindow()}else try{var t;(t=this.getWindow())===null||t===void 0||t.close()}catch{}}popIn(){var e;this._indexInParent;var t=null,r=null;if(this._parentId){var i;if(t=ce.extend(!0,{},(i=this.getGlInstance())===null||i===void 0?void 0:i.toConfig()).content[0],r=this._layoutManager.root.getItemsById(this._parentId)[0],!r){var a;((a=this._layoutManager.root.contentItems.length)!==null&&a!==void 0?a:0)>0?r=this._layoutManager.root.contentItems[0]:r=this._layoutManager.root}}t&&((e=r)===null||e===void 0||e.addChild(t,this._indexInParent),this.close())}_createWindow(){var e=this._createUrl(),t=Math.floor(Math.random()*1e6).toString(36),r=this._serializeWindowOptions({width:this._dimensions.width,height:this._dimensions.height,innerWidth:this._dimensions.width,innerHeight:this._dimensions.height,menubar:"no",toolbar:"no",location:"no",personalbar:"no",resizable:"yes",scrollbars:"no",status:"no"});if(this._popoutWindow=window.open(e,t,r),!this._popoutWindow)if(this._layoutManager.config.settings.blockedPopoutsThrowError===!0){var i=new Error("Popout blocked");throw i.type="popoutBlocked",i}else return;ce(this._popoutWindow).on("load",this._positionWindow.bind(this)).on("unload beforeunload",this._onClose.bind(this));var a=window.setInterval(()=>{var o;(o=this._popoutWindow)!==null&&o!==void 0&&o.__glInstance&&this._popoutWindow.__glInstance.isInitialised&&(this._onInitialised(),window.clearInterval(a))},10)}_serializeWindowOptions(e){var t=[],r;for(r in e)t.push(r+"="+e[r]);return t.join(",")}_createUrl(){var e={content:this._config},t="gl-window-config-"+Xh();e=Zh(e);try{localStorage.setItem(t,JSON.stringify(e))}catch(i){throw new Error("Error while writing to localStorage "+i.toString())}var r=document.location.href.split("?");return r.length===1?r[0]+"?gl-window="+t:document.location.href+"&gl-window="+t}_positionWindow(){var e,t;(e=this._popoutWindow)===null||e===void 0||e.moveTo(this._dimensions.left,this._dimensions.top),(t=this._popoutWindow)===null||t===void 0||t.focus()}_onInitialised(){var e;this.isInitialised=!0,(e=this.getGlInstance())===null||e===void 0||e.on("popIn",this.popIn,this),this.emit("initialised")}_onClose(){setTimeout(this.emit.bind(this,"closed"),50)}}function Lt(n,e,t){return e=PP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function PP(n){var e=OP(n,"string");return typeof e=="symbol"?e:String(e)}function OP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Da extends yn{constructor(e,t,r,i,a,o){var s,l,d,u,c,m,v,g;if(super(),Lt(this,"_dragListener",void 0),Lt(this,"_layoutManager",void 0),Lt(this,"_contentItem",void 0),Lt(this,"_originalParent",void 0),Lt(this,"_area",null),Lt(this,"_lastValidArea",null),Lt(this,"_minX",void 0),Lt(this,"_maxX",void 0),Lt(this,"_minY",void 0),Lt(this,"_maxY",void 0),Lt(this,"_width",void 0),Lt(this,"_height",void 0),Lt(this,"_sided",void 0),Lt(this,"element",void 0),Lt(this,"childElementContainer",void 0),Lt(this,"_proxyTab",void 0),this._dragListener=r,this._layoutManager=i,this._contentItem=a,this._originalParent=o,this._dragListener.on("drag",this._onDrag,this),this._dragListener.on("dragStop",this._onDrop,this),this._contentItem.tab&&this._contentItem.tab.element){var f,p;this._layoutManager.tabDropPlaceholder.width((f=this._contentItem.tab.element.outerWidth(!0))!==null&&f!==void 0?f:0),this._layoutManager.tabDropPlaceholder.height((p=this._contentItem.tab.element.outerHeight(!0))!==null&&p!==void 0?p:0)}if(this.element=ce(Da._template),o&&o._side&&(this._sided=o._sided,this.element.addClass("lm_"+o._side),["right","bottom"].indexOf(o._side.toString())>=0&&this.element.find(".lm_content").after(this.element.find(".lm_header"))),this.element.css({left:e,top:t}),this._proxyTab=this.element.find(".lm_tab"),this._proxyTab.attr("title",Qh((s=this._contentItem.config.title)!==null&&s!==void 0?s:"")),this.element.find(".lm_title").html((l=this._contentItem.config.title)!==null&&l!==void 0?l:""),this.childElementContainer=this.element.find(".lm_content"),this.childElementContainer.append(a.element),this._updateTree(),this._layoutManager._$calculateItemAreas(),ce(document.body).append(this.element),this._setDimensions(),!this._contentItem.tab&&this._proxyTab.length){var C,b;this._layoutManager.tabDropPlaceholder.width((C=this._proxyTab.outerWidth(!0))!==null&&C!==void 0?C:0),this._layoutManager.tabDropPlaceholder.height((b=this._proxyTab.outerHeight(!0))!==null&&b!==void 0?b:0)}var S=this._layoutManager.container.offset();this._minX=(d=S?.left)!==null&&d!==void 0?d:0,this._minY=(u=S?.top)!==null&&u!==void 0?u:0,this._maxX=((c=this._layoutManager.container.width())!==null&&c!==void 0?c:0)+this._minX,this._maxY=((m=this._layoutManager.container.height())!==null&&m!==void 0?m:0)+this._minY,this._width=(v=this.element.width())!==null&&v!==void 0?v:0,this._height=(g=this.element.height())!==null&&g!==void 0?g:0,this._setDropPosition(e,t),this._layoutManager.emit("itemPickedUp",this._contentItem)}_onDrag(e,t,r){var i,a,o=(i=r.pageX)!==null&&i!==void 0?i:0,s=(a=r.pageY)!==null&&a!==void 0?a:0,l=o>this._minX&&o<this._maxX&&s>this._minY&&s<this._maxY;!l&&this._layoutManager.config.settings.constrainDragToContainer===!0||this._setDropPosition(o,s)}_setDropPosition(e,t){this.element.css({left:e,top:t}),this._area=this._layoutManager._$getArea(e,t),this._area!==null&&(this._lastValidArea=this._area,this._area.contentItem._$highlightDropZone(e,t,this._area))}_onDrop(){var e;(e=this._layoutManager.dropTargetIndicator)===null||e===void 0||e.hide(),this._area!==null?this._area.contentItem._$onDrop(this._contentItem,this._area):this._lastValidArea!==null?this._lastValidArea.contentItem._$onDrop(this._contentItem,this._lastValidArea):this._originalParent?this._originalParent.addChild(this._contentItem):this._contentItem._$destroy(),this._dragListener.off("drag",this._onDrag,this),this._dragListener.off("dragStop",this._onDrop,this),this.element.remove(),this._layoutManager.emit("itemDropped",this._contentItem)}_updateTree(){this._contentItem.parent&&this._contentItem.parent.removeChild(this._contentItem,!0),this._contentItem._$setParent(null)}_setDimensions(){var e=this._layoutManager.config.dimensions,t=e.dragProxyWidth,r=e.dragProxyHeight;this.element.width(t),this.element.height(r),t-=this._sided?e.headerHeight:0,r-=this._sided?0:e.headerHeight,this.childElementContainer.width(t),this.childElementContainer.height(r),this._contentItem.element.width(t),this._contentItem.element.height(r),this._contentItem.callDownwards("_$show"),this._contentItem.callDownwards("setSize")}}Lt(Da,"_template",'<div class="lm_dragProxy"><div class="lm_header"><ul class="lm_tabs"><li class="lm_tab lm_active"><i class="lm_left"></i><span class="lm_title"></span><i class="lm_right"></i></li></ul></div><div class="lm_content"></div></div>');function Gs(n,e,t){return e=DP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function DP(n){var e=RP(n,"string");return typeof e=="symbol"?e:String(e)}function RP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Yp{constructor(e,t,r){Gs(this,"_element",void 0),Gs(this,"_itemConfig",void 0),Gs(this,"_layoutManager",void 0),Gs(this,"_dragListener",void 0),this._element=e,this._itemConfig=t,this._layoutManager=r,this._dragListener=this._createDragListener()}_createDragListener(){return this._dragListener=new Es(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._createDragListener,this),this._dragListener}_onDragStart(e,t){var r=this._itemConfig;typeof r=="function"&&(r=r());var i=this._layoutManager._$normalizeContentItem(ce.extend(!0,{},r));new Da(e,t,this._dragListener,this._layoutManager,i,null)}}function Ws(n,e,t){return e=NP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function NP(n){var e=FP(n,"string");return typeof e=="symbol"?e:String(e)}function FP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class qp{constructor(e,t,r){Ws(this,"_element",ce(window)),Ws(this,"_itemConfig",void 0),Ws(this,"_layoutManager",void 0),Ws(this,"_dragListener",void 0),this._itemConfig=e,this._layoutManager=t,this._createDragListener(r)}_createDragListener(e){this._dragListener&&this._dragListener.destroy(),this._element&&(this._dragListener=new Es(this._element,!0),this._dragListener.on("dragStart",this._onDragStart,this),this._dragListener.on("dragStop",this._destroy,this),this._dragListener.onMouseDown(e),this._dragListener._startDrag())}_destroy(){this._dragListener=void 0,this._element=void 0,this._itemConfig=void 0,this._layoutManager=void 0}_onDragStart(e,t){if(!(!this._dragListener||!this._layoutManager)){var r=this._itemConfig;typeof r=="function"&&(r=r());var i=this._layoutManager._$normalizeContentItem(ce.extend(!0,{},r));new Da(e,t,this._dragListener,this._layoutManager,i,null)}}}function Xp(n,e,t){return e=IP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IP(n){var e=_P(n,"string");return typeof e=="symbol"?e:String(e)}function _P(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ys{constructor(){Xp(this,"element",ce(ys._template)),ce(document.body).append(this.element)}destroy(){this.element.remove()}highlightArea(e){this.element.css({left:e.x1,top:e.y1,width:Math.floor(e.x2-e.x1),height:Math.floor(e.y2-e.y1)}).show()}hide(){this.element.hide()}}Xp(ys,"_template",'<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>');function fu(n,e,t){return e=MP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function MP(n){var e=AP(n,"string");return typeof e=="symbol"?e:String(e)}function AP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ko{constructor(e,t,r,i){fu(this,"element",void 0),fu(this,"_header",void 0),fu(this,"_action",void 0),this._header=e,this.element=ce('<li class="'+r+'" title="'+t+'"></li>'),this._header.on("destroy",this._$destroy,this),this._action=i,this.element.on("click",this._action),this._header.controlsContainer.append(this.element)}_$destroy(){this.element.off(),this.element.remove()}}function LP(n,e,t){return e=kP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kP(n){var e=xP(n,"string");return typeof e=="symbol"?e:String(e)}function xP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class HP extends Error{constructor(e,t){super(),LP(this,"node",void 0),this.name="Configuration Error",this.message=e,this.node=t}}const ga=HP,UP=Object.freeze(Object.defineProperty({__proto__:null,ConfigurationError:ga},Symbol.toStringTag,{value:"Module"}));function Ft(n,e,t){return e=$P(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $P(n){var e=BP(n,"string");return typeof e=="symbol"?e:String(e)}function BP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function ds(n){return n.isStack}function Ir(n){return n.isComponent}function Qp(n){return n.isRoot}class Ht extends yn{constructor(e,t,r,i){super(),Ft(this,"config",void 0),Ft(this,"type",void 0),Ft(this,"contentItems",void 0),Ft(this,"parent",void 0),Ft(this,"layoutManager",void 0),Ft(this,"element",void 0),Ft(this,"childElementContainer",void 0),Ft(this,"componentName",void 0),Ft(this,"isInitialised",!1),Ft(this,"isMaximised",!1),Ft(this,"isRoot",!1),Ft(this,"isRow",!1),Ft(this,"isColumn",!1),Ft(this,"isStack",!1),Ft(this,"isComponent",!1),Ft(this,"tab",void 0),Ft(this,"_pendingEventPropagations",void 0),Ft(this,"_throttledEvents",void 0),this.element=i,this.config=this._extendItemNode(t),this.type=t.type,this.contentItems=[],this.parent=r,this.layoutManager=e,this._pendingEventPropagations={},this._throttledEvents=["stateChanged"],this.on(yn.ALL_EVENT,this._propagateEvent,this),t.content&&this._createContentItems(t)}callDownwards(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;r!==!0&&i!==!0&&this[e].apply(this,t);for(var a=0;a<this.contentItems.length;a++)this.contentItems[a].callDownwards(e,t,r);r===!0&&i!==!0&&this[e].apply(this,t)}removeChild(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=this.contentItems.indexOf(e);if(i===-1)throw new Error("Can't remove child item. Unknown content item");if(r!==!0&&this.contentItems[i]._$destroy(),this.contentItems.splice(i,1),(t=this.config.content)===null||t===void 0||t.splice(i,1),this.contentItems.length>0)this.callDownwards("setSize");else if(this.type!=="root"&&this.config.isClosable){var a;(a=this.parent)===null||a===void 0||a.removeChild(this)}}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.splice(t,0,e),this.config.content===void 0&&(this.config.content=[]),this.config.content.splice(t,0,e.config),e.parent=this,e.parent.isInitialised===!0&&e.isInitialised===!1&&e._$init()}replaceChild(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;t=this.layoutManager._$normalizeContentItem(t);var i=this.contentItems.indexOf(e),a=e.element[0].parentNode;if(i===-1)throw new Error("Can't replace child. oldChild is not child of this");a?.replaceChild(t.element[0],e.element[0]),r===!0&&(e.parent=null,e._$destroy()),this.contentItems[i]=t,t.parent=this,ds(this)&&(this.header.tabs[i].contentItem=t),t.parent.isInitialised===!0&&t.isInitialised===!1&&t._$init(),this.callDownwards("setSize")}remove(){var e;(e=this.parent)===null||e===void 0||e.removeChild(this)}popout(){var e=this.layoutManager.createPopout(this);return this.emitBubblingEvent("stateChanged"),e}toggleMaximise(e){e&&e.preventDefault(),this.isMaximised===!0?this.layoutManager._$minimiseItem(this):this.layoutManager._$maximiseItem(this),this.isMaximised=!this.isMaximised,this.emitBubblingEvent("stateChanged")}select(){this.layoutManager.selectedItem!==this&&(this.layoutManager.selectItem(this,!0),this.element.addClass("lm_selected"))}deselect(){this.layoutManager.selectedItem===this&&(this.layoutManager.selectedItem=null,this.element.removeClass("lm_selected"))}setTitle(e){this.config.title=e,this.emit("titleChanged",e),this.emitBubblingEvent("stateChanged")}hasId(e){if(this.config.id){if(typeof this.config.id=="string")return this.config.id===e;if(this.config.id instanceof Array)return this.config.id.indexOf(e)!==-1}else return!1}addId(e){this.hasId(e)||(this.config.id?typeof this.config.id=="string"?this.config.id=[this.config.id,e]:this.config.id instanceof Array&&this.config.id.push(e):this.config.id=e)}removeId(e){if(!this.hasId(e))throw new Error("Id not found");if(typeof this.config.id=="string")delete this.config.id;else if(this.config.id instanceof Array){var t=this.config.id.indexOf(e);this.config.id.splice(t,1)}}getItemsByFilter(e){var t=[],r=function i(a){for(var o=0;o<a.contentItems.length;o++)e(a.contentItems[o])===!0&&t.push(a.contentItems[o]),i(a.contentItems[o])};return r(this),t}getItemsById(e){return this.getItemsByFilter(function(t){return t.config.id instanceof Array?t.config.id.indexOf(e)!==-1:t.config.id===e})}getItemsByType(e){return this._$getItemsByProperty("type",e)}getComponentsByName(e){for(var t=this._$getItemsByProperty("componentName",e),r=[],i=0;i<t.length;i++)r.push(t[i].instance);return r}_$getItemsByProperty(e,t){return this.getItemsByFilter(function(r){return r[e]===t})}_$setParent(e){this.parent=e}_$highlightDropZone(e,t,r){var i;(i=this.layoutManager.dropTargetIndicator)===null||i===void 0||i.highlightArea(r)}_$onDrop(e,t){this.addChild(e)}_$hide(){this._callOnActiveComponents("hide"),this.element.hide(),this.layoutManager.updateSize()}_$show(){this._callOnActiveComponents("show"),this.element.show(),this.layoutManager.updateSize()}_callOnActiveComponents(e){for(var t=this.getItemsByType("stack"),r=null,i=0;i<t.length;i++)r=t[i].getActiveContentItem(),r&&Ir(r)&&r.container[e]()}_$destroy(){this.emitBubblingEvent("beforeItemDestroyed"),this.callDownwards("_$destroy",[],!0,!0),this.element.remove(),this.emitBubblingEvent("itemDestroyed")}_$getArea(e){var t,r,i;e=e||this.element;var a=(t=e.offset())!==null&&t!==void 0?t:{left:0,top:0},o=(r=e.width())!==null&&r!==void 0?r:0,s=(i=e.height())!==null&&i!==void 0?i:0;return{x1:a.left,y1:a.top,x2:a.left+o,y2:a.top+s,surface:o*s,contentItem:this,side:""}}_$init(){this.setSize();for(var e=0;e<this.contentItems.length;e++){var t;(t=this.childElementContainer)===null||t===void 0||t.append(this.contentItems[e].element)}this.isInitialised=!0,this.emitBubblingEvent("itemCreated"),this.emitBubblingEvent(this.type+"Created")}emitBubblingEvent(e){var t=new Qu(e,this);this.emit(e,t)}_createContentItems(e){var t;if(!(e.content instanceof Array))throw new ga("content must be an Array",e);for(var r=0;r<e.content.length;r++)t=this.layoutManager.createContentItem(e.content[r],this),this.contentItems.push(t)}_extendItemNode(e){for(var[t,r]of Object.entries(Vp)){var i=t;e[i]===void 0&&(e[i]=r)}return e}_propagateEvent(e,t){t instanceof Qu&&t.isPropagationStopped===!1&&this.isInitialised===!0&&(this.isRoot===!1&&this.parent?this.parent.emit.apply(this.parent,[e,t]):this._scheduleEventPropagationToLayoutManager(e,t))}_scheduleEventPropagationToLayoutManager(e,t){this._throttledEvents.indexOf(e)===-1?this.layoutManager.emit(e,t.origin):this._pendingEventPropagations[e]!==!0&&(this._pendingEventPropagations[e]=!0,qh(this._propagateEventToLayoutManager.bind(this,e,t)))}_propagateEventToLayoutManager(e,t){this._pendingEventPropagations[e]=!1,this.layoutManager.emit(e,t)}}function Fo(n,e,t){return e=VP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VP(n){var e=GP(n,"string");return typeof e=="symbol"?e:String(e)}function GP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Zp extends Ht{constructor(e,t,r){super(e,t,r,ce()),Fo(this,"config",void 0),Fo(this,"componentName",void 0),Fo(this,"container",void 0),Fo(this,"parent",void 0),Fo(this,"instance",void 0),this.config=t,this.parent=r;var i=e.getComponent(this.config.componentName)||e.getFallbackComponent(),a=ce.extend(!0,{},this.config.componentState||{});if(i==null)throw new ga('Unknown component "'+this.config.componentName+'"');a.componentName=this.config.componentName,this.componentName=this.config.componentName,this.config.title===""&&(this.config.title=this.config.componentName),this.isComponent=!0,this.container=new qu(this.config,this,e),this.instance=new i(this.container,a),this.element=this.container._element}close(){this.parent.removeChild(this)}setSize(){this.element.is(":visible")&&this.container._$setSize(this.element.width(),this.element.height())}_$init(){Ht.prototype._$init.call(this),this.container.emit("open")}_$hide(){this.container.hide(),Ht.prototype._$hide.call(this)}_$show(){this.container.show(),this.container._config.isFocusOnShow&&this.container._contentElement[0].focus({preventScroll:!0}),Ht.prototype._$show.call(this)}_$destroy(){this.container.emit("destroy",this),Ht.prototype._$destroy.call(this)}_$getArea(){return null}}function Wr(n,e,t){return e=WP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function WP(n){var e=jP(n,"string");return typeof e=="symbol"?e:String(e)}function jP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Hl extends Ht{constructor(e,t,r,i){super(t,r,i,ce('<div class="lm_item lm_'+(e?"column":"row")+'"></div>')),Wr(this,"isRow",void 0),Wr(this,"isColumn",void 0),Wr(this,"childElementContainer",void 0),Wr(this,"parent",void 0),Wr(this,"_splitter",[]),Wr(this,"_splitterSize",void 0),Wr(this,"_splitterGrabSize",void 0),Wr(this,"_isColumn",void 0),Wr(this,"_dimension",void 0),Wr(this,"_splitterPosition",null),Wr(this,"_splitterMinPosition",null),Wr(this,"_splitterMaxPosition",null),this.parent=i,this.isRow=!e,this.isColumn=e,this.childElementContainer=this.element,this._splitterSize=t.config.dimensions.borderWidth,this._splitterGrabSize=t.config.dimensions.borderGrabWidth,this._isColumn=e,this._dimension=e?"height":"width",this._splitterPosition=null,this._splitterMinPosition=null,this._splitterMaxPosition=null}addChild(e,t,r){var i,a,o,s;if(e=this.layoutManager._$normalizeContentItem(e,this),t===void 0&&(t=this.contentItems.length),this.contentItems.length>0?(s=this._createSplitter(Math.max(0,t-1)).element,t>0?(this.contentItems[t-1].element.after(s),s.after(e.element)):(this.contentItems[0].element.before(s),s.before(e.element))):this.childElementContainer.append(e.element),Ht.prototype.addChild.call(this,e,t),i=1/this.contentItems.length*100,r===!0){this.emitBubblingEvent("stateChanged");return}for(o=0;o<this.contentItems.length;o++)if(this.contentItems[o]===e)e.config[this._dimension]=i;else{var l;a=((l=this.contentItems[o].config[this._dimension])!==null&&l!==void 0?l:0)*(100-i)/100,this.contentItems[o].config[this._dimension]=a}this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}removeChild(e,t){var r,i=(r=e.config[this._dimension])!==null&&r!==void 0?r:0,a=this.contentItems.indexOf(e),o=Math.max(a-1,0),s,l;if(a===-1)throw new Error("Can't remove child. ContentItem is not child of this Row or Column");for(this._splitter[o]&&(this._splitter[o]._$destroy(),this._splitter.splice(o,1)),s=0;s<this.contentItems.length;s++)if(this.contentItems[s]!==e){var d;this.contentItems[s].config[this._dimension]=((d=this.contentItems[s].config[this._dimension])!==null&&d!==void 0?d:0)+i/(this.contentItems.length-1)}Ht.prototype.removeChild.call(this,e,t),this.contentItems.length===1&&this.config.isClosable===!0?(l=this.contentItems[0],this.contentItems=[],this.parent.replaceChild(this,l,!0)):(this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged"))}replaceChild(e,t){var r=e.config[this._dimension];super.replaceChild(e,t),t.config[this._dimension]=r,this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(){this.contentItems.length>0&&(this._calculateRelativeSizes(),this._setAbsoluteSizes()),this.emitBubblingEvent("stateChanged"),this.emit("resize")}_$init(){if(this.isInitialised!==!0){var e;for(Ht.prototype._$init.call(this),e=0;e<this.contentItems.length-1;e++)this.contentItems[e].element.after(this._createSplitter(e).element)}}_setAbsoluteSizes(){var e,t=this._calculateAbsoluteSizes();for(e=0;e<this.contentItems.length;e++)t.additionalPixel-e>0&&t.itemSizes[e]++,this._isColumn?(this.contentItems[e].element.width(t.totalWidth),this.contentItems[e].element.height(t.itemSizes[e])):(this.contentItems[e].element.width(t.itemSizes[e]),this.contentItems[e].element.height(t.totalHeight))}_calculateAbsoluteSizes(){var e,t,r=(this.contentItems.length-1)*this._splitterSize,i=(e=this.element.width())!==null&&e!==void 0?e:0,a=(t=this.element.height())!==null&&t!==void 0?t:0,o=0,s=[];this._isColumn?a-=r:i-=r;for(var l=0;l<this.contentItems.length;l++){var d,u,c=this._isColumn?Math.floor(a*(((d=this.contentItems[l].config.height)!==null&&d!==void 0?d:0)/100)):Math.floor(i*(((u=this.contentItems[l].config.width)!==null&&u!==void 0?u:0)/100));o+=c,s.push(c)}var m=Math.floor((this._isColumn?a:i)-o);return{itemSizes:s,additionalPixel:m,totalWidth:i,totalHeight:a}}_calculateRelativeSizes(){for(var e=0,t=[],r=this._isColumn?"height":"width",i=0;i<this.contentItems.length;i++)if(this.contentItems[i].config[r]!==void 0){var a;e+=(a=this.contentItems[i].config[r])!==null&&a!==void 0?a:0}else t.push(this.contentItems[i]);if(Math.round(e)===100){this._respectMinItemWidth();return}if(Math.round(e)<100&&t.length>0){for(var o=0;o<t.length;o++)t[o].config[r]=(100-e)/t.length;this._respectMinItemWidth();return}if(Math.round(e)>100)for(var s=0;s<t.length;s++)t[s].config[r]=50,e+=50;for(var l=0;l<this.contentItems.length;l++){var d;this.contentItems[l].config[r]=((d=this.contentItems[l].config[r])!==null&&d!==void 0?d:0)/e*100}this._respectMinItemWidth()}_respectMinItemWidth(){var e,t=this.layoutManager.config.dimensions&&(e=this.layoutManager.config.dimensions.minItemWidth)!==null&&e!==void 0?e:0,r=[],i=0,a=0,o=0,s=[],l;if(!(this._isColumn||!t||this.contentItems.length<=1)){for(var d=this._calculateAbsoluteSizes(),u=0;u<this.contentItems.length;u++){this.contentItems[u];var c=d.itemSizes[u];c<t?(a+=t-c,l={width:t}):(i+=c-t,l={width:c},r.push(l)),s.push(l)}if(!(a===0||a>i)){var m=a/i;o=a;for(var v=0;v<r.length;v++){l=r[v];var g=Math.round((l.width-t)*m);o-=g,l.width-=g}o!==0&&(s[s.length-1].width-=o);for(var f=0;f<this.contentItems.length;f++)this.contentItems[f].config.width=s[f].width/d.totalWidth*100}}}_createSplitter(e){var t;return t=new Jp(this._isColumn,this._splitterSize,this._splitterGrabSize),t.on("drag",this._onSplitterDrag.bind(this,t),this),t.on("dragStop",this._onSplitterDragStop.bind(this,t),this),t.on("dragStart",this._onSplitterDragStart.bind(this,t),this),this._splitter.splice(e,0,t),t}_getItemsForSplitter(e){var t=this._splitter.indexOf(e);if(t<0)throw new Error("Splitter not found in RowOrColumn");return{before:this.contentItems[t],after:this.contentItems[t+1]}}_getMinimumDimensions(e){for(var t=0,r=0,i=0;i<e.length;++i){var a,o;t=Math.max((a=e[i].minWidth)!==null&&a!==void 0?a:0,t),r=Math.max((o=e[i].minHeight)!==null&&o!==void 0?o:0,r)}return{horizontal:t,vertical:r}}_onSplitterDragStart(e){var t,r,i,a,o=this._getItemsForSplitter(e),s=this.layoutManager.config.dimensions[this._isColumn?"minItemHeight":"minItemWidth"],l=this._getMinimumDimensions((t=o.before.config.content)!==null&&t!==void 0?t:[]),d=this._isColumn?l.vertical:l.horizontal,u=this._getMinimumDimensions((r=o.after.config.content)!==null&&r!==void 0?r:[]),c=this._isColumn?u.vertical:u.horizontal;this._splitterPosition=0,this._splitterMinPosition=-1*(((i=o.before.element[this._dimension]())!==null&&i!==void 0?i:0)-(d||s)),this._splitterMaxPosition=((a=o.after.element[this._dimension]())!==null&&a!==void 0?a:0)-(c||s)}_onSplitterDrag(e,t,r){var i=this._isColumn?r:t;this._splitterMaxPosition==null||this._splitterMinPosition==null||i>this._splitterMinPosition&&i<this._splitterMaxPosition&&(this._splitterPosition=i,e.element.css(this._isColumn?"top":"left",i))}_onSplitterDragStop(e){var t,r,i,a,o,s=this._getItemsForSplitter(e),l=(t=s.before.element[this._dimension]())!==null&&t!==void 0?t:0,d=(r=s.after.element[this._dimension]())!==null&&r!==void 0?r:0,u=(((i=this._splitterPosition)!==null&&i!==void 0?i:0)+l)/(l+d),c=((a=s.before.config[this._dimension])!==null&&a!==void 0?a:0)+((o=s.after.config[this._dimension])!==null&&o!==void 0?o:0);s.before.config[this._dimension]=u*c,s.after.config[this._dimension]=(1-u)*c,e.element.css({top:0,left:0}),qh(this.callDownwards.bind(this,"setSize",void 0,void 0,void 0))}}function ev(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ev(Object(t),!0).forEach(function(r){Zu(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ev(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Zu(n,e,t){return e=zP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zP(n){var e=KP(n,"string");return typeof e=="symbol"?e:String(e)}function KP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ju extends Ht{constructor(e,t,r){super(e,tv(tv({},t),{},{type:"root"}),null,ce('<div class="lm_goldenlayout lm_item lm_root"></div>')),Zu(this,"childElementContainer",void 0),Zu(this,"_containerElement",void 0),this.isRoot=!0,this.type="root",this.childElementContainer=this.element,this._containerElement=r,this._containerElement.append(this.element)}addChild(e,t){if(this.contentItems.length>0)throw new Error("Root node can only have a single child");e=this.layoutManager._$normalizeContentItem(e,this),this.childElementContainer.append(e.element),super.addChild(e,t),this.callDownwards("setSize"),this.emitBubblingEvent("stateChanged")}setSize(e,t){var r,i;e=typeof e>"u"?(r=this._containerElement.width())!==null&&r!==void 0?r:0:e,t=typeof t>"u"?(i=this._containerElement.height())!==null&&i!==void 0?i:0:t,this.element.width(e),this.element.height(t),this.contentItems[0]&&(this.contentItems[0].element.width(e),this.contentItems[0].element.height(t))}_$getArea(){var e=super._$getArea();if(e==null)throw new Error("Unable to get root area");return e}_$highlightDropZone(e,t,r){this.layoutManager.tabDropPlaceholder.remove(),super._$highlightDropZone(e,t,r)}_$onDrop(e,t){var r;if(Ir(e)&&(r=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this),r._$init(),r.addChild(e),e=r),!this.contentItems.length)this.addChild(e);else{var{side:i}=t,a=i==="left"||i==="right"?"row":"column",o=i==="left"||i==="right"?"width":"height",s=i==="left"||i==="top",l=this.contentItems[0];if(!(l instanceof Hl)||l.type!=a){var d=this.layoutManager.createContentItem({type:a},this);this.replaceChild(l,d),d.addChild(e,s?0:void 0,!0),d.addChild(l,s?void 0:0,!0),l.config[o]=50,e.config[o]=50,d.callDownwards("setSize")}else{var u,c=l.contentItems[s?0:l.contentItems.length-1];l.addChild(e,s?0:void 0,!0),c.config[o]=((u=c.config[o])!==null&&u!==void 0?u:0)*.5,e.config[o]=c.config[o],l.callDownwards("setSize")}}}}function rv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ba(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rv(Object(t),!0).forEach(function(r){cr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):rv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function cr(n,e,t){return e=YP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function YP(n){var e=qP(n,"string");return typeof e=="symbol"?e:String(e)}function qP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class eh extends Ht{constructor(e,t,r){var i,a,o,s,l,d,u,c,m;super(e,t,r,ce('<div class="lm_item lm_stack"></div>')),cr(this,"_activeContentItem",null),cr(this,"_header",void 0),cr(this,"childElementContainer",ce('<div class="lm_items"></div>')),cr(this,"header",void 0),cr(this,"parent",void 0),cr(this,"isStack",!0),cr(this,"_dropZones",{}),cr(this,"_dropSegment",null),cr(this,"_contentAreaDimensions",null),cr(this,"_dropIndex",void 0),cr(this,"_side",void 0),cr(this,"_sided",!1),cr(this,"config",void 0),this.parent=r,this.config=t;var v=e.config;this._side=!1,this._header={show:((i=v.settings)===null||i===void 0?void 0:i.hasHeaders)&&t.hasHeaders!==!1,popout:(a=v.settings)!==null&&a!==void 0&&a.showPopoutIcon?(o=v.labels)===null||o===void 0?void 0:o.popout:void 0,maximise:(s=v.settings)!==null&&s!==void 0&&s.showMaximiseIcon?(l=v.labels)===null||l===void 0?void 0:l.maximise:void 0,close:(d=v.settings)!==null&&d!==void 0&&d.showCloseIcon?(u=v.labels)===null||u===void 0?void 0:u.close:void 0,minimise:(c=(m=v.labels)===null||m===void 0?void 0:m.minimise)!==null&&c!==void 0?c:void 0},v.header&&(this._header=Ba(Ba({},this._header),v.header)),t.header&&(this._header=Ba(Ba({},this._header),t.header)),t.content&&t.content[0]&&t.content[0].header&&(this._header=Ba(Ba({},this._header),t.content[0].header)),this.header=new li(e,this),this.element.append(this.header.element),this.element.append(this.childElementContainer),this._setupHeaderPosition(),this._$validateClosability()}setSize(){var e,t,r,i,a,o=this._header.show&&(e=(t=this.layoutManager.config.dimensions)===null||t===void 0?void 0:t.headerHeight)!==null&&e!==void 0?e:0,s=((r=this.element.width())!==null&&r!==void 0?r:0)-(this._sided?o:0),l=((i=this.element.height())!==null&&i!==void 0?i:0)-(this._sided?0:o);for(this.childElementContainer.width(s),this.childElementContainer.height(l),a=0;a<this.contentItems.length;a++)this.contentItems[a].element.width(s).height(l);this.emit("resize"),this.emitBubblingEvent("stateChanged")}_$init(){if(this.isInitialised!==!0){this.header._attachWheelListener(),super._$init();for(var e=0;e<this.contentItems.length;e++)this.header.createTab(this.contentItems[e]),this.contentItems[e]._$hide();if(this.contentItems.length>0){var t=this.contentItems[this.config.activeItemIndex||0];if(!t)throw new Error("Configured activeItemIndex out of bounds");this.setActiveContentItem(t)}}}setActiveContentItem(e){if(this.contentItems.indexOf(e)===-1)throw new Error("contentItem is not a child of this stack");this._activeContentItem!==null&&this._activeContentItem._$hide(),this._activeContentItem=e,this.header.setActiveContentItem(e),e._$show(),this.emit("activeContentItemChanged",e),this.layoutManager.emit("activeContentItemChanged",e),this.emitBubblingEvent("stateChanged")}getActiveContentItem(){return this.header.activeContentItem}addChild(e,t){e=this.layoutManager._$normalizeContentItem(e,this),super.addChild(e,t),this.childElementContainer.append(e.element),this.header.createTab(e,t),this.setActiveContentItem(e),this.callDownwards("setSize"),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}removeChild(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.contentItems.indexOf(e);super.removeChild(e,t),this.header.removeTab(e),this.header.activeContentItem===e&&(this.contentItems.length>0?this.setActiveContentItem(this.contentItems[Math.max(r-1,0)]):this._activeContentItem=null),this._$validateClosability(),this.emitBubblingEvent("stateChanged")}_$validateClosability(){for(var e=this.header._isClosable(),t=0,r=this.contentItems.length;t<r;t++){var i;if(!e)break;e=(i=this.contentItems[t].config.isClosable)!==null&&i!==void 0?i:!1}this.header._$setClosable(e)}_$destroy(){Ht.prototype._$destroy.call(this),this.header._$destroy()}_$onDrop(e){if(this._dropSegment==="header"){this._resetHeaderDropZone(),this.addChild(e,this._dropIndex);return}if(this._dropSegment==="body"){this.addChild(e);return}var t=this._dropSegment==="top"||this._dropSegment==="bottom",r=this._dropSegment==="left"||this._dropSegment==="right",i=this._dropSegment==="top"||this._dropSegment==="left",a=t&&this.parent.isColumn||r&&this.parent.isRow,o=t?"column":"row",s=t?"height":"width";if(Ir(e)){var l=this.layoutManager.createContentItem({type:"stack",header:e.config.header||{}},this);l._$init(),l.addChild(e),e=l}if(a){var d,u=this.parent.contentItems.indexOf(this);this.parent.addChild(e,i?u:u+1,!0),this.config[s]=((d=this.config[s])!==null&&d!==void 0?d:0)*.5,e.config[s]=this.config[s],this.parent.callDownwards("setSize")}else{var c=this.layoutManager.createContentItem({type:o},this);this.parent.replaceChild(this,c),c.addChild(e,i?0:void 0,!0),c.addChild(this,i?void 0:0,!0),this.config[s]=50,e.config[s]=50,c.callDownwards("setSize")}}_$highlightDropZone(e,t){if(this._contentAreaDimensions)for(var[r,i]of Object.entries(this._contentAreaDimensions)){var a=i.hoverArea;if(a.x1<e&&a.x2>e&&a.y1<t&&a.y2>t){r==="header"?(this._dropSegment="header",this._highlightHeaderDropZone(e)):(this._resetHeaderDropZone(),this._highlightBodyDropZone(r));return}}}_$getArea(){if(this.element.is(":visible")===!1)return null;var e=super._$getArea(this.header.element),t=super._$getArea(this.childElementContainer);if(e==null||t==null)return null;var r=t.x2-t.x1,i=t.y2-t.y1;return this._contentAreaDimensions={header:{hoverArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},highlightArea:{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}}},this._activeContentItem&&this._activeContentItem.isComponent===!1?e:this.contentItems.length===0?(this._contentAreaDimensions.body={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}},super._$getArea(this.element)):(this._contentAreaDimensions.left={hoverArea:{x1:t.x1,y1:t.y1,x2:t.x1+r*.25,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x1+r*.5,y2:t.y2}},this._contentAreaDimensions.top={hoverArea:{x1:t.x1+r*.25,y1:t.y1,x2:t.x1+r*.75,y2:t.y1+i*.5},highlightArea:{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y1+i*.5}},this._contentAreaDimensions.right={hoverArea:{x1:t.x1+r*.75,y1:t.y1,x2:t.x2,y2:t.y2},highlightArea:{x1:t.x1+r*.5,y1:t.y1,x2:t.x2,y2:t.y2}},this._contentAreaDimensions.bottom={hoverArea:{x1:t.x1+r*.25,y1:t.y1+i*.5,x2:t.x1+r*.75,y2:t.y2},highlightArea:{x1:t.x1,y1:t.y1+i*.5,x2:t.x2,y2:t.y2}},super._$getArea(this.element))}_highlightHeaderDropZone(e){var t,r,i,a,o,s,l,d,u,c,m,v,g,f,p,C,b=this.header.tabs.length;if(b===0){var S,E,y,T,O,D,P,R,_=this.header.element.offset();(S=this.layoutManager.dropTargetIndicator)===null||S===void 0||S.highlightArea({x1:(E=_?.left)!==null&&E!==void 0?E:0,x2:((y=_?.left)!==null&&y!==void 0?y:0)+100,y1:(T=(O=this.header.element.offset())===null||O===void 0?void 0:O.top)!==null&&T!==void 0?T:0,y2:((D=(P=this.header.element.offset())===null||P===void 0?void 0:P.top)!==null&&D!==void 0?D:0)+((R=this.header.element.innerHeight())!==null&&R!==void 0?R:0)});return}var M=this.header.tabsContainer,A=(t=M.get(0))===null||t===void 0?void 0:t.getBoundingClientRect(),B=(r=this.layoutManager.tabDropPlaceholder.get(0))===null||r===void 0?void 0:r.getBoundingClientRect();if(!(!A||!B)){e<A.left?e=A.left+1:e>A.right&&(e=A.right-1);var $,z;if(!(B.left<e&&e<B.right)){for(var G=0;G<b;G++){var K;if($=this.header.tabs[G].element,z=(K=$.get(0))===null||K===void 0?void 0:K.getBoundingClientRect(),z&&z.left<e&&e<z.right){this._dropIndex=G;break}}if($&&z&&e<z.left+z.width*.5)$.before(this.layoutManager.tabDropPlaceholder);else if($){var X;this._dropIndex=Math.min(((X=this._dropIndex)!==null&&X!==void 0?X:0)+1,b),$.after(this.layoutManager.tabDropPlaceholder)}}var J=(i=(a=this.layoutManager.tabDropPlaceholder.offset())===null||a===void 0?void 0:a.left)!==null&&i!==void 0?i:0;J=Math.max(J,(o=(s=this.header.tabsContainer.offset())===null||s===void 0?void 0:s.left)!==null&&o!==void 0?o:0);var I=J+((l=this.layoutManager.tabDropPlaceholder.width())!==null&&l!==void 0?l:0);I=Math.min(I,((d=(u=this.header.tabsContainer.offset())===null||u===void 0?void 0:u.left)!==null&&d!==void 0?d:0)+((c=this.header.tabsContainer.innerWidth())!==null&&c!==void 0?c:0)),(m=this.layoutManager.dropTargetIndicator)===null||m===void 0||m.highlightArea({x1:J,x2:I,y1:(v=(g=this.header.element.offset())===null||g===void 0?void 0:g.top)!==null&&v!==void 0?v:0,y2:((f=(p=this.header.element.offset())===null||p===void 0?void 0:p.top)!==null&&f!==void 0?f:0)+((C=this.header.element.innerHeight())!==null&&C!==void 0?C:0)})}}_resetHeaderDropZone(){this.layoutManager.tabDropPlaceholder.remove()}_setupHeaderPosition(){var e=["right","left","bottom"].some(r=>r===this._header.show)?this._header.show:void 0;if(this.header.element.toggle(!!this._header.show),!!e&&(this._side=e,this._sided=["right","left"].indexOf(this._side.toString())>=0,this.element.removeClass("lm_left lm_right lm_bottom"),this._side&&this.element.addClass("lm_"+this._side),this.element.find(".lm_header").length&&this.childElementContainer)){var t=["right","bottom"].indexOf(this._side.toString())>=0?"before":"after";this.header.element[t](this.childElementContainer),this.callDownwards("setSize")}}_highlightBodyDropZone(e){var t,r,i=(t=this._contentAreaDimensions)===null||t===void 0||(r=t[e])===null||r===void 0?void 0:r.highlightArea;if(i){var a;(a=this.layoutManager.dropTargetIndicator)===null||a===void 0||a.highlightArea(i)}this._dropSegment=e}}const XP=Object.freeze(Object.defineProperty({__proto__:null,AbstractContentItem:Ht,Component:Zp,ContentItem:Ht,Root:Ju,RowOrColumn:Hl,Stack:eh,isComponent:Ir,isRoot:Qp,isStack:ds},Symbol.toStringTag,{value:"Module"}));function Qn(n,e,t){return e=QP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QP(n){var e=ZP(n,"string");return typeof e=="symbol"?e:String(e)}function ZP(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ts{constructor(e,t){var r;Qn(this,"header",void 0),Qn(this,"contentItem",void 0),Qn(this,"element",ce(Ts._template)),Qn(this,"titleElement",void 0),Qn(this,"closeElement",void 0),Qn(this,"isActive",!1),Qn(this,"_layoutManager",void 0),Qn(this,"_dragListener",void 0),this.header=e,this.contentItem=t,this.titleElement=this.element.find(".lm_title"),this.closeElement=this.element.find(".lm_close_tab"),this.closeElement[t.config.isClosable?"show":"hide"](),this.setTitle(t.config.title),this.contentItem.on("titleChanged",this.setTitle,this),this._layoutManager=this.contentItem.layoutManager,(r=this._layoutManager.config.settings)!==null&&r!==void 0&&r.reorderEnabled&&t.config.reorderEnabled&&(this._dragListener=new Es(this.element),this._dragListener.on("dragStart",this._onDragStart,this),this.contentItem.on("destroy",this._dragListener.destroy,this._dragListener)),this._onTabClick=this._onTabClick.bind(this),this._onCloseClick=this._onCloseClick.bind(this),this._onTabContentFocusIn=this._onTabContentFocusIn.bind(this),this._onTabContentFocusOut=this._onTabContentFocusOut.bind(this),this.element.on("click",this._onTabClick),this.element.on("auxclick",this._onTabClick),this.contentItem.config.isClosable?(this.closeElement.on("click",this._onCloseClick),this.closeElement.on("mousedown",this._onCloseMousedown)):this.closeElement.remove(),this.contentItem.tab=this,this.contentItem.emit("tab",this),this.contentItem.layoutManager.emit("tabCreated",this),Ir(this.contentItem)&&(this.contentItem.container._contentElement.on("focusin",this._onTabContentFocusIn).on("focusout",this._onTabContentFocusOut),this.contentItem.container.tab=this,this.contentItem.container.emit("tab",this))}setTitle(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";this.titleElement.html(e)}setActive(e){e!==this.isActive&&(this.isActive=e,e?this.element.addClass("lm_active"):this.element.removeClass("lm_active"))}_$destroy(){this.element.off("click",this._onTabClick),this.element.off("auxclick",this._onTabClick),this.closeElement.off("click",this._onCloseClick),Ir(this.contentItem)&&(this.contentItem.container._contentElement.off(),this.contentItem.container._contentElement[0].removeEventListener("click",this._onTabContentFocusIn,!0)),this._dragListener&&(this.contentItem.off("destroy",this._dragListener.destroy,this._dragListener),this._dragListener.off("dragStart",this._onDragStart),this._dragListener=void 0),this.element.remove()}_onDragStart(e,t){var r;(r=this.contentItem.parent)!==null&&r!==void 0&&r.isMaximised&&this.contentItem.parent.toggleMaximise(),this._dragListener&&new Da(e,t,this._dragListener,this._layoutManager,this.contentItem,this.header.parent)}_onTabContentFocusIn(){ce(".lm_focusin",this._layoutManager.root.element).removeClass("lm_focusin"),this.element.addClass("lm_focusin")}_onTabContentFocusOut(){Ir(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.element.removeClass("lm_focusin")}_onTabClick(e){if(!e||e.button===0){var t,r=this.header.parent.getActiveContentItem();this.contentItem!==r&&Ir(this.contentItem)?this.header.parent.setActiveContentItem(this.contentItem):Ir(this.contentItem)&&!this.contentItem.container._contentElement[0].contains(document.activeElement)&&this.contentItem.container._contentElement.focus(),Ir(this.contentItem)&&this.contentItem.container.emit("tabClicked",e),this.header._hideAdditionalTabsDropdown(),(t=this.element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"})}else e.button===1&&this.contentItem.config.isClosable&&this._onCloseClick(e)}_onCloseClick(e){e.stopPropagation(),Ir(this.contentItem)?this.contentItem.container.close():this.header.parent.removeChild(this.contentItem)}_onCloseMousedown(e){e.stopPropagation()}}Qn(Ts,"_template",['<li class="lm_tab">','<span class="lm_title_before"></span>','<span class="lm_title"></span>','<div class="lm_close_tab" aria-label="Close tab"></div>',"</li>"].join(""));function Ue(n,e,t){return e=JP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function JP(n){var e=eO(n,"string");return typeof e=="symbol"?e:String(e)}function eO(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class li extends yn{constructor(e,t){var r,i;super(),Ue(this,"layoutManager",void 0),Ue(this,"element",ce(li._template)),Ue(this,"tabsContainer",void 0),Ue(this,"tabDropdownContainer",void 0),Ue(this,"tabDropdownSearch",void 0),Ue(this,"tabDropdownList",null),Ue(this,"controlsContainer",void 0),Ue(this,"parent",void 0),Ue(this,"tabs",[]),Ue(this,"activeContentItem",null),Ue(this,"closeButton",null),Ue(this,"tabDropdownButton",null),Ue(this,"tabNextButton",ce(li._nextButtonTemplate)),Ue(this,"tabPreviousButton",ce(li._previousButtonTemplate)),Ue(this,"holdTimer",null),Ue(this,"rAF",null),Ue(this,"CLICK_TIMEOUT",500),Ue(this,"START_SPEED",.01),Ue(this,"ACCELERATION",5e-4),Ue(this,"PADDING",10),Ue(this,"SCROLL_LEFT","left"),Ue(this,"SCROLL_RIGHT","right"),Ue(this,"isDraggingTab",!1),Ue(this,"isOverflowing",!1),Ue(this,"isDropdownShown",!1),Ue(this,"dropdownKeyIndex",0),Ue(this,"_lastVisibleTabIndex",-1),Ue(this,"_tabControlOffset",void 0),this.layoutManager=e,(r=this.layoutManager.config.settings)!==null&&r!==void 0&&r.selectionEnabled&&(this.element.addClass("lm_selectable"),this.element.on("click",this._onHeaderClick.bind(this))),this.tabsContainer=this.element.find(".lm_tabs"),this.tabDropdownContainer=this.element.find(".lm_tabdropdown_list"),this.tabDropdownContainer.hide(),this.tabDropdownSearch=this.element.find(".lm_tabdropdown_search input"),this._handleFilterInput=this._handleFilterInput.bind(this),this._handleFilterKeydown=this._handleFilterKeydown.bind(this),this.tabDropdownSearch.on("input",this._handleFilterInput),this.tabDropdownSearch.on("keydown",this._handleFilterKeydown),this.controlsContainer=this.element.find(".lm_controls"),this.parent=t,this.parent.on("resize",this._updateTabSizes,this),this._handleItemPickedUp=this._handleItemPickedUp.bind(this),this._handleItemDropped=this._handleItemDropped.bind(this),this._handleNextMouseEnter=this._handleNextMouseEnter.bind(this),this._handleNextMouseLeave=this._handleNextMouseLeave.bind(this),this._handlePreviousMouseEnter=this._handlePreviousMouseEnter.bind(this),this._handlePreviousMouseLeave=this._handlePreviousMouseLeave.bind(this),this._handleScrollRepeat=this._handleScrollRepeat.bind(this),this._handleNextButtonMouseDown=this._handleNextButtonMouseDown.bind(this),this._handlePreviousButtonMouseDown=this._handlePreviousButtonMouseDown.bind(this),this._handleScrollButtonMouseDown=this._handleScrollButtonMouseDown.bind(this),this._handleScrollButtonMouseUp=this._handleScrollButtonMouseUp.bind(this),this._handleScrollEvent=this._handleScrollEvent.bind(this),this.tabNextButton.on("mousedown",this._handleNextButtonMouseDown),this.tabPreviousButton.on("mousedown",this._handlePreviousButtonMouseDown),this.tabsContainer.on("scroll",this._handleScrollEvent),this.layoutManager.on("itemPickedUp",this._handleItemPickedUp),this.layoutManager.on("itemDropped",this._handleItemDropped),this.tabsContainer.before(this.tabPreviousButton),this.tabPreviousButton=this.tabPreviousButton.find(">:first-child"),this.tabPreviousButton.hide(),this._showAdditionalTabsDropdown=this._showAdditionalTabsDropdown.bind(this),this._hideAdditionalTabsDropdown=this._hideAdditionalTabsDropdown.bind(this),this._tabControlOffset=(i=this.layoutManager.config.settings)===null||i===void 0?void 0:i.tabControlOffset,this._createControls()}createTab(e,t){for(var r=0;r<this.tabs.length;r++)if(this.tabs[r].contentItem===e)return;var i=new Ts(this,e);if(this.tabs.length===0){this.tabs.push(i),this.tabsContainer.append(i.element);return}t===void 0&&(t=this.tabs.length),t>0?this.tabs[t-1].element.after(i.element):this.tabs[0].element.before(i.element),this.tabs.splice(t,0,i),this._updateTabSizes()}removeTab(e){for(var t=0;t<this.tabs.length;t++)if(this.tabs[t].contentItem===e){this.tabs[t]._$destroy(),this.tabs.splice(t,1);return}throw new Error("contentItem is not controlled by this header")}setActiveContentItem(e){for(var t,r,i,a=0;a<this.tabs.length;a++)i=this.tabs[a].contentItem===e,this.tabs[a].setActive(i),i===!0&&(this.activeContentItem=e,this.parent.config.activeItemIndex=a);(t=this.tabs[(r=this.parent.config.activeItemIndex)!==null&&r!==void 0?r:0].element.get(0))===null||t===void 0||t.scrollIntoView({inline:"nearest"}),this._hideAdditionalTabsDropdown(),this._updateTabSizes(),this.parent.emitBubblingEvent("stateChanged")}position(e){var t=this.parent._header.show;return t&&!this.parent._side&&(t="top"),e!==void 0&&this.parent._header.show!==e&&(this.parent._header.show=e,this.parent._setupHeaderPosition()),t}_attachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.addEventListener("wheel",this._handleWheelEvent,{passive:!0})}_detachWheelListener(){var e;(e=this.tabsContainer.get(0))===null||e===void 0||e.removeEventListener("wheel",this._handleWheelEvent)}_handleWheelEvent(e){var t=e.currentTarget;if(t instanceof HTMLElement){var r=Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX;if(e.deltaMode===WheelEvent.DOM_DELTA_PAGE){var i;r*=(i=this.tabsContainer.innerWidth())!==null&&i!==void 0?i:1}else e.deltaMode===WheelEvent.DOM_DELTA_LINE&&(r*=100/3);t.scrollLeft+=Math.round(r)}}_handleScrollEvent(){this._checkScrollArrows()}_handleItemPickedUp(){this.isDraggingTab=!0,this.isDropdownShown&&this._hideAdditionalTabsDropdown(),this.controlsContainer.on("mouseenter",this._handleNextMouseEnter),this.tabPreviousButton.on("mouseenter",this._handlePreviousMouseEnter)}_handleItemDropped(){var e;this.isDraggingTab=!1,window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseenter",this._handleNextMouseEnter),this.controlsContainer.off("mouseleave",this._handleNextMouseLeave),this.tabPreviousButton.off("mouseenter",this._handlePreviousMouseEnter),this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextMouseEnter(){var e;this.controlsContainer.on("mouseleave",this._handleNextMouseLeave),this._handleScrollRepeat(this.SCROLL_RIGHT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handlePreviousMouseEnter(){var e;this.tabPreviousButton.on("mouseleave",this._handlePreviousMouseLeave),this._handleScrollRepeat(this.SCROLL_LEFT,(e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)}_handleNextMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.controlsContainer.off("mouseleave",this._handleNextMouseLeave)}_handlePreviousMouseLeave(){var e;window.cancelAnimationFrame((e=this.rAF)!==null&&e!==void 0?e:-1),this.rAF=null,this.tabPreviousButton.off("mouseleave",this._handlePreviousMouseLeave)}_handleNextButtonMouseDown(){for(var e,t=0;t<this.tabs.length;t+=1){var r,i,a,o,s;if(((r=(i=this.tabs[t].element.get(0))===null||i===void 0?void 0:i.offsetLeft)!==null&&r!==void 0?r:0)>((a=(o=this.tabsContainer.get(0))===null||o===void 0?void 0:o.offsetWidth)!==null&&a!==void 0?a:0)+((s=this.tabsContainer.scrollLeft())!==null&&s!==void 0?s:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"nearest"}),this._handleScrollButtonMouseDown(this.SCROLL_RIGHT);else{var l=this.tabsContainer.get(0);if(l){var d,u;l.scrollLeft=(d=(u=this.tabsContainer.get(0))===null||u===void 0?void 0:u.scrollWidth)!==null&&d!==void 0?d:0}}}_handlePreviousButtonMouseDown(){for(var e,t=this.tabs.length-1;t>=0;t-=1){var r,i,a;if(((r=(i=this.tabs[t].element.get(0))===null||i===void 0?void 0:i.offsetLeft)!==null&&r!==void 0?r:0)<((a=this.tabsContainer.scrollLeft())!==null&&a!==void 0?a:0)){e=this.tabs[t].element.get(0);break}}if(e)e.scrollIntoView({behavior:"smooth",inline:"start"}),this._handleScrollButtonMouseDown(this.SCROLL_LEFT);else{var o=this.tabsContainer.get(0);o&&(o.scrollLeft=0)}}_handleScrollButtonMouseDown(e){this.holdTimer=window.setTimeout(()=>{var t;this._handleScrollRepeat(e,(t=this.tabsContainer.scrollLeft())!==null&&t!==void 0?t:0,100)},this.CLICK_TIMEOUT),window.addEventListener("mouseup",this._handleScrollButtonMouseUp)}_handleScrollButtonMouseUp(){var e,t;clearTimeout((e=this.holdTimer)!==null&&e!==void 0?e:-1),this.holdTimer=null,cancelAnimationFrame((t=this.rAF)!==null&&t!==void 0?t:-1),this.rAF=null,window.removeEventListener("mouseup",this._handleScrollButtonMouseUp)}_checkScrollArrows(){var e,t,r;this.tabsContainer.scrollLeft()===0?this.tabPreviousButton.first().prop("disabled",!0):((e=this.tabsContainer.scrollLeft())!==null&&e!==void 0?e:0)+((t=this.tabsContainer.innerWidth())!==null&&t!==void 0?t:0)===((r=this.tabsContainer.get(0))===null||r===void 0?void 0:r.scrollWidth)?this.tabNextButton.prop("disabled",!0):(this.tabNextButton.prop("disabled",!1),this.tabPreviousButton.first().prop("disabled",!1))}_handleScrollRepeat(e,t){var r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3?arguments[3]:void 0,o=this.tabsContainer.get(0);if(o){var s=o.getBoundingClientRect();if(e===this.SCROLL_LEFT){if(this.tabsContainer.scrollLeft(t-i),this.isDraggingTab&&this.parent._highlightHeaderDropZone(s.left-1),this.tabsContainer.scrollLeft()===0){this._checkScrollArrows();return}}else if(e===this.SCROLL_RIGHT){var l,d;if(this.tabsContainer.scrollLeft(t+i),this.isDraggingTab&&this.parent._highlightHeaderDropZone(s.right+1),((l=this.tabsContainer.scrollLeft())!==null&&l!==void 0?l:0)+((d=this.tabsContainer.innerWidth())!==null&&d!==void 0?d:0)===o.scrollWidth){this._checkScrollArrows();return}}window.cancelAnimationFrame((r=this.rAF)!==null&&r!==void 0?r:-1),this.rAF=window.requestAnimationFrame(u=>{var c,m,v=a||u,g=u-v,f=this.START_SPEED*g+.5*this.ACCELERATION*(g*g);f=Math.min(f,(c=(m=this.tabsContainer.get(0))===null||m===void 0?void 0:m.scrollWidth)!==null&&c!==void 0?c:1/0),this._handleScrollRepeat(e,t,f,v)})}}_$setClosable(e){return this.closeButton&&this._isClosable()?(this.closeButton.element[e?"show":"hide"](),!0):!1}_$destroy(){this.emit("destroy",this);for(var e=0;e<this.tabs.length;e++)this.tabs[e]._$destroy();this._detachWheelListener(),this._handleItemDropped(),ce(document).off("mouseup",this._hideAdditionalTabsDropdown),this.tabDropdownSearch.off("input",this._handleFilterInput),this.tabDropdownSearch.off("keydown",this._handleFilterKeydown),this.element.remove()}_getHeaderSetting(e){if(e in this.parent._header)return this.parent._header[e]}_createControls(){var e,t,r,i,a;if(a=this.layoutManager.config.labels.tabDropdown,this.layoutManager.config.labels.tabNextLabel,this.layoutManager.config.labels.tabPreviousLabel,this.tabDropdownButton=new Ko(this,a,"lm_tabdropdown",this._showAdditionalTabsDropdown),this.tabDropdownButton.element.hide(),this.controlsContainer.prepend(this.tabNextButton),this.tabNextButton.hide(),this._getHeaderSetting("popout")&&(t=this._onPopoutClick.bind(this),r=this._getHeaderSetting("popout"),new Ko(this,r,"lm_popout",t)),this._getHeaderSetting("maximise")){i=this.parent.toggleMaximise.bind(this.parent);var o=this._getHeaderSetting("maximise"),s=this._getHeaderSetting("minimise"),l=new Ko(this,o,"lm_maximise",i);this.parent.on("maximised",function(){l.element.attr("title",s??"")}),this.parent.on("minimised",function(){l.element.attr("title",o??"")})}this._isClosable()&&(e=this.parent.remove.bind(this.parent),r=this._getHeaderSetting("close"),this.closeButton=new Ko(this,r,"lm_close",e))}_showAdditionalTabsDropdown(){if(this.isDropdownShown){this._hideAdditionalTabsDropdown();return}this.tabDropdownList=this.tabsContainer.clone(!0).appendTo(this.tabDropdownContainer).children().removeClass("lm_active"),ce(document.body).append(this.tabDropdownContainer),this.tabDropdownContainer.show(),this.isDropdownShown=!0,this.element.addClass("lm_dropdown_open"),this.tabDropdownSearch.val("").focus(),this.dropdownKeyIndex=0,this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active"),ce(document).on("mousedown",this._hideAdditionalTabsDropdown),this._updateAdditionalTabsDropdown()}_handleFilterKeydown(e){if(e.key==="Escape"){this._hideAdditionalTabsDropdown();return}if(this.dropdownKeyIndex===-1)return;if(e.key==="Enter"||e.key===" "){this._hideAdditionalTabsDropdown(),this.tabs[this.dropdownKeyIndex]._onTabClick();return}function t(s,l,d){if(d==null||d.length<2)return-1;for(var u=(s+l+d.length)%d.length;u!==s;){if(d.eq(u).css("display")!=="none")return u;u=(u+l+d.length)%d.length}return s}if(e.key==="ArrowDown"||e.key==="Tab"&&e.shiftKey===!1){var r,i;e.preventDefault(),(r=this.tabDropdownList)===null||r===void 0||r.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,1,this.tabDropdownList),(i=this.tabDropdownList)===null||i===void 0||i.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}else if(e.key==="ArrowUp"||e.key==="Tab"){var a,o;e.preventDefault(),(a=this.tabDropdownList)===null||a===void 0||a.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=t(this.dropdownKeyIndex,-1,this.tabDropdownList),(o=this.tabDropdownList)===null||o===void 0||o.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_handleFilterInput(e){if(this.tabDropdownList!=null){this.tabDropdownList.eq(this.dropdownKeyIndex).removeClass("lm_keyboard_active"),this.dropdownKeyIndex=-1;for(var t=0;t<this.tabDropdownList.length;t++){var r,i;((r=(i=this.tabs[t].contentItem.config.title)===null||i===void 0?void 0:i.toLowerCase().indexOf(e.target.value.toLowerCase()))!==null&&r!==void 0?r:-1)!==-1?(this.tabDropdownList.eq(t).css("display",""),this.dropdownKeyIndex===-1&&(this.dropdownKeyIndex=t)):this.tabDropdownList.eq(t).css("display","none")}this.dropdownKeyIndex!==-1&&this.tabDropdownList.eq(this.dropdownKeyIndex).addClass("lm_keyboard_active")}}_hideAdditionalTabsDropdown(e){var t,r;this.isDropdownShown&&(e&&(t=this.tabDropdownContainer.get(0))!==null&&t!==void 0&&t.contains(e.target)||e&&((r=this.tabDropdownButton)===null||r===void 0?void 0:r.element.get(0))===e.target||(this.element.removeClass("lm_dropdown_open"),this.tabDropdownContainer.hide(),this.isDropdownShown=!1,this.element.append(this.tabDropdownContainer),this.tabDropdownContainer.find(".lm_tabs").remove(),ce(document).off("mousedown",this._hideAdditionalTabsDropdown)))}_updateAdditionalTabsDropdown(){var e,t,r,i;if(this.isDropdownShown&&!(!this.tabDropdownList||this.tabDropdownList.length==0)){var a=(e=(t=this.tabDropdownContainer.get(0))===null||t===void 0?void 0:t.scrollHeight)!==null&&e!==void 0?e:0;if(a!==0){var o=this.tabDropdownContainer[0].getBoundingClientRect(),s=(r=ce(window).height())!==null&&r!==void 0?r:0,l=(i=ce(window).width())!==null&&i!==void 0?i:0;if(this.tabDropdownButton){var d=this.tabDropdownButton.element[0].getBoundingClientRect(),u=a<s-d.bottom,c=!u&&d.bottom>s*.6,m=Math.min(d.left+(c?d.width:0),l-o.width-this.PADDING),v=c?Math.max(d.top-a,this.PADDING):d.bottom,g=s-v-this.PADDING;this.tabDropdownContainer.css({"max-height":g,top:v,left:m})}}}}_isClosable(){return!!(this.parent.config.isClosable&&this.layoutManager.config.settings.showCloseIcon)}_onPopoutClick(){if(this.layoutManager.config.settings.popoutWholeStack===!0)this.parent.popout();else{var e;(e=this.activeContentItem)===null||e===void 0||e.popout()}}_onHeaderClick(e){e.target===this.element[0]&&this.parent.select()}_updateTabSizes(){if(this.tabs.length!==0){var e=this.tabsContainer.get(0);if(this.isDropdownShown&&this._updateAdditionalTabsDropdown(),!!e){if(!this.isOverflowing&&e.scrollWidth>e.clientWidth){var t;(t=this.tabDropdownButton)===null||t===void 0||t.element.show(),this.tabNextButton.show(),this.tabPreviousButton.show(),this.isOverflowing=!0}else if(this.isOverflowing&&e.scrollWidth<=e.clientWidth){var r;(r=this.tabDropdownButton)===null||r===void 0||r.element.hide(),this.tabNextButton.hide(),this.tabPreviousButton.hide(),this.isOverflowing=!1}this.isOverflowing&&this._checkScrollArrows()}}}}Ue(li,"_template",['<div class="lm_header">','<ul class="lm_tabs"></ul>','<ul class="lm_controls"></ul>','<ul class="lm_tabdropdown_list">','<li class="lm_tabdropdown_search"><input type="text" placeholder="Find tab..."></li>',"</ul>","</div>"].join(""));Ue(li,"_previousButtonTemplate",['<ul class="lm_controls">','<li class="lm_tabpreviousbutton"></li>',"</ul>"].join(""));Ue(li,"_nextButtonTemplate",['<li class="lm_tabnextbutton"></li>'].join(""));function Io(n,e,t){return e=tO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function tO(n){var e=rO(n,"string");return typeof e=="symbol"?e:String(e)}function rO(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Jp{constructor(e,t,r){Io(this,"_isVertical",void 0),Io(this,"_size",void 0),Io(this,"_grabSize",void 0),Io(this,"_dragListener",void 0),Io(this,"element",void 0),this._isVertical=e,this._size=t,this._grabSize=r<t?t:r,this.element=this._createElement(),this._dragListener=new Es(this.element)}on(e,t,r){var i;(i=this._dragListener)===null||i===void 0||i.on(e,t,r)}_$destroy(){var e;(e=this._dragListener)===null||e===void 0||e.destroy(),this._dragListener=null,this.element.remove()}_createElement(){var e=ce('<div class="lm_drag_handle"></div>'),t=ce('<div class="lm_splitter"></div>');t.append(e);var r=this._grabSize-this._size,i=r/2;return this._isVertical?(e.css("top",-i),e.css("height",this._size+r),t.addClass("lm_vertical"),t.height(this._size)):(e.css("left",-i),e.css("width",this._size+r),t.addClass("lm_horizontal"),t.width(this._size)),t}}const nO=Object.freeze(Object.defineProperty({__proto__:null,BrowserPopout:Kp,DragProxy:Da,DragSource:Yp,DragSourceFromEvent:qp,DropTargetIndicator:ys,Header:li,HeaderButton:Ko,Splitter:Jp,Tab:Ts},Symbol.toStringTag,{value:"Module"}));var iO={config:tP,container:oP,controls:nO,errors:UP,items:XP,utils:EP};const aO=iO;function nv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function lr(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?nv(Object(t),!0).forEach(function(r){Ge(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):nv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ge(n,e,t){return e=oO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function oO(n){var e=sO(n,"string");return typeof e=="symbol"?e:String(e)}function sO(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class eC extends yn{static minifyConfig(e){return Zh(e)}static unminifyConfig(e){return Xu(e)}constructor(e,t){super(),Ge(this,"isInitialised",!1),Ge(this,"_isFullPage",!1),Ge(this,"_resizeTimeoutId",void 0),Ge(this,"_components",{"lm-react-component":jp}),Ge(this,"_fallbackComponent",void 0),Ge(this,"_itemAreas",[]),Ge(this,"_maximisedItem",null),Ge(this,"_maximisePlaceholder",ce('<div class="lm_maximise_place"></div>')),Ge(this,"_creationTimeoutPassed",!1),Ge(this,"_subWindowsCreated",!1),Ge(this,"_dragSources",[]),Ge(this,"_updatingColumnsResponsive",!1),Ge(this,"_firstLoad",!0),Ge(this,"_reactChildMap",new Map),Ge(this,"_reactChildren",null),Ge(this,"width",null),Ge(this,"height",null),Ge(this,"root",void 0),Ge(this,"openPopouts",[]),Ge(this,"selectedItem",null),Ge(this,"isSubWindow",!1),Ge(this,"eventHub",new zp(this)),Ge(this,"config",void 0),Ge(this,"container",void 0),Ge(this,"_originalContainer",void 0),Ge(this,"dropTargetIndicator",null),Ge(this,"tabDropPlaceholder",ce('<div class="lm_drop_tab_placeholder"></div>')),Ge(this,"_typeToItem",void 0),this._onResize=this._onResize.bind(this),this._onUnload=this._onUnload.bind(this),this._windowBlur=this._windowBlur.bind(this),this._windowFocus=this._windowFocus.bind(this),this.config=this._createConfig(e),this._originalContainer=t,this.container=this._getContainer(),this.isSubWindow&&ce("body").css("visibility","hidden"),this._typeToItem={column:Hl.bind(this,!0),row:Hl.bind(this,!1),stack:eh,component:Zp}}registerComponent(e,t){if(typeof t!="function"&&(t==null||t.render==null||typeof t.render!="function"))throw new Error("Please register a constructor function");if(this._components[e]!==void 0)throw new Error("Component "+e+" is already registered");this._components[e]=t;var r=()=>{if(this._components[e]===void 0)throw new Error("Component "+e+" is not registered");delete this._components[e]};return r}setFallbackComponent(e){this._fallbackComponent=e}toConfig(e){if(this.isInitialised===!1)throw new Error("Can't create config, layout not yet initialised");if(e&&!(e instanceof Ht))throw new Error("Root must be a ContentItem");var t={settings:lr({},this.config.settings),dimensions:lr({},this.config.dimensions),labels:lr({},this.config.labels),content:[]},r=function a(o,s){for(var l in s.config)l!=="content"&&(o[l]=s.config[l]);if(o.componentName==="lm-react-component"&&(o.type="react-component"),s.contentItems.length){o.content=[];for(var d=0;d<s.contentItems.length;d++)o.content[d]={},a(o.content[d],s.contentItems[d])}};e?r(t,{contentItems:[e]}):r(t,this.root),this._$reconcilePopoutWindows(),t.openPopouts=[];for(var i=0;i<this.openPopouts.length;i++)t.openPopouts.push(this.openPopouts[i].toConfig());return t.maximisedItemId=this._maximisedItem?"__glMaximised":void 0,t}getComponent(e){return this._components[e]}getFallbackComponent(){return this._fallbackComponent}init(){if(this._subWindowsCreated===!1&&(this._createSubWindows(),this._subWindowsCreated=!0),document.readyState==="loading"||document.body===null){ce(document).ready(this.init.bind(this));return}if(this.isSubWindow===!0&&this._creationTimeoutPassed===!1){setTimeout(this.init.bind(this),7),this._creationTimeoutPassed=!0;return}this.isSubWindow===!0&&this._adjustToWindowMode(),this._setContainer(),this.dropTargetIndicator=new ys,this.updateSize(),this._create(this.config),this._bindEvents(),this.isInitialised=!0,this._adjustColumnsResponsive(),this.emit("initialised")}addReactChild(e,t){this._reactChildMap.set(e,t),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged")}removeReactChild(e,t){var r=this._reactChildMap.get(e);r===t&&(this._reactChildMap.delete(e),this._reactChildren=[...this._reactChildMap.values()],this.emit("reactChildrenChanged"))}getReactChildren(){return this._reactChildren}updateSize(e,t){var r,i;if(this.width=(r=e??this.container.width())!==null&&r!==void 0?r:0,this.height=(i=t??this.container.height())!==null&&i!==void 0?i:0,this.isInitialised===!0){if(this.root.callDownwards("setSize",[this.width,this.height]),this._maximisedItem){var a,o;this._maximisedItem.element.width((a=this.container.width())!==null&&a!==void 0?a:0),this._maximisedItem.element.height((o=this.container.height())!==null&&o!==void 0?o:0),this._maximisedItem.callDownwards("setSize")}this._adjustColumnsResponsive()}}destroy(){var e;this.isInitialised===!1||!this.root||(this._onUnload(),ce(window).off("resize",this._onResize),ce(window).off("unload beforeunload",this._onUnload),ce(window).off("blur.lm").off("focus.lm"),this.root.callDownwards("_$destroy",[],!0),this.root.contentItems=[],this.tabDropPlaceholder.remove(),(e=this.dropTargetIndicator)===null||e===void 0||e.destroy(),this.eventHub.destroy(),this._dragSources.forEach(function(t){t._dragListener.destroy()}),this._dragSources=[])}createContentItem(e,t){var r,i;if(typeof e.type!="string")throw new ga("Missing parameter 'type'",e);if(e.type==="react-component"&&(e.type="component",e.componentName="lm-react-component"),!this._typeToItem[e.type])throw r="Unknown type '"+e.type+"'. Valid types are "+Object.keys(this._typeToItem).join(","),new ga(r);return e.type==="component"&&!(t instanceof eh)&&t&&!(this.isSubWindow===!0&&t instanceof Ju)&&(e={type:"stack",width:e.width,height:e.height,content:[e]}),i=new this._typeToItem[e.type](this,e,t),i}createPopout(e,t,r,i){var a=[],o=e instanceof Ht,s=this;if(o){var l;a=this.toConfig(e).content,r=Xh();for(var d=e.parent,u=e;((c=d)===null||c===void 0?void 0:c.contentItems.length)===1&&!d.isRoot;){var c;u=d,d=d.parent}if((l=d)===null||l===void 0||l.addId(r),i==null||Number.isNaN(i)){var m;i=(m=d)===null||m===void 0?void 0:m.contentItems.indexOf(u)}}else e instanceof Array?a=e:a=[e];if(!t&&o){var v,g,f,p=window.screenX||window.screenLeft,C=window.screenY||window.screenTop,b=(v=e.element.offset())!==null&&v!==void 0?v:{left:0,top:0};t={left:p+b.left,top:C+b.top,width:(g=e.element.width())!==null&&g!==void 0?g:0,height:(f=e.element.height())!==null&&f!==void 0?f:0}}if(!t&&!o&&(t={left:window.screenX||window.screenLeft+20,top:window.screenY||window.screenTop+20,width:500,height:309}),o&&e.remove(),!(!t||!r||i===void 0)){var S=new Kp(a,t,r,i,this);return S.on("initialised",function(){s.emit("windowOpened",S)}),S.on("closed",function(){s._$reconcilePopoutWindows()}),this.openPopouts.push(S),S}}createDragSource(e,t){this.config.settings.constrainDragToContainer=!1;var r=new Yp(e,t,this);return this._dragSources.push(r),r}createDragSourceFromEvent(e,t){return this.config.settings.constrainDragToContainer=!1,new qp(e,this,t)}selectItem(e,t){if(this.config.settings.selectionEnabled!==!0)throw new Error("Please set selectionEnabled to true to use this feature");e!==this.selectedItem&&(this.selectedItem!==null&&this.selectedItem.deselect(),e&&t!==!0&&e.select(),this.selectedItem=e,this.emit("selectionChanged",e))}_$maximiseItem(e){var t,r;this._maximisedItem!==null&&this._$minimiseItem(this._maximisedItem),this._maximisedItem=e,this._maximisedItem.addId("__glMaximised"),e.element.addClass("lm_maximised"),e.element.after(this._maximisePlaceholder),this.root.element.prepend(e.element),e.element.width((t=this.container.width())!==null&&t!==void 0?t:0),e.element.height((r=this.container.height())!==null&&r!==void 0?r:0),e.callDownwards("setSize"),this._maximisedItem.emit("maximised"),this.emit("stateChanged")}_$minimiseItem(e){var t;e.element.removeClass("lm_maximised"),e.removeId("__glMaximised"),this._maximisePlaceholder.after(e.element),this._maximisePlaceholder.remove(),(t=e.parent)===null||t===void 0||t.callDownwards("setSize"),this._maximisedItem=null,e.emit("minimised"),this.emit("stateChanged")}_$closeWindow(){window.setTimeout(function(){window.close()},1)}_$getArea(e,t){for(var r=1/0,i=null,a=0;a<this._itemAreas.length;a++){var o=this._itemAreas[a];e>o.x1&&e<o.x2&&t>o.y1&&t<o.y2&&r>o.surface&&(r=o.surface,i=o)}return i}_$createRootItemAreas(){var e=50,t=lr({},this.root._$getArea()),r=[lr(lr({},t),{},{side:"left",x2:t.x1+e}),lr(lr({},t),{},{side:"right",x1:t.x2-e}),lr(lr({},t),{},{side:"top",y2:t.y1+e}),lr(lr({},t),{},{side:"bottom",y1:t.y2-e})];r.forEach(i=>{i.surface=(i.x2-i.x1)*(i.y2-i.y1)}),this._itemAreas.push(...r)}_$calculateItemAreas(){var e=this._getAllContentItems();if(this._itemAreas=[],e.length===1){this._itemAreas.push(this.root._$getArea());return}this._$createRootItemAreas();for(var t=0;t<e.length;t++){var r=e[t];if(ds(r)){var i=r._$getArea();if(i!==null)if(i instanceof Array)this._itemAreas=this._itemAreas.concat(i);else{var a;this._itemAreas.push(i);var o=lr(lr({},i),(a=i.contentItem._contentAreaDimensions)===null||a===void 0?void 0:a.header.highlightArea);o.surface=(o.x2-o.x1)*(o.y2-o.y1),this._itemAreas.push(o)}}}}_$normalizeContentItem(e,t){if(!e)throw new Error("No content item defined");if(typeof e=="function"&&(e=e()),e instanceof Ht)return e;if(ce.isPlainObject(e)&&e.type){var r=this.createContentItem(e,t);return r.callDownwards("_$init"),r}else throw new Error("Invalid contentItem")}_$reconcilePopoutWindows(){for(var e=[],t=0;t<this.openPopouts.length;t++){var r;((r=this.openPopouts[t].getWindow())===null||r===void 0?void 0:r.closed)===!1?e.push(this.openPopouts[t]):this.emit("windowClosed",this.openPopouts[t])}this.openPopouts.length!==e.length&&(this.emit("stateChanged"),this.openPopouts=e)}_getAllContentItems(){var e=[],t=r=>{if(e.push(r),r.contentItems instanceof Array)for(var i=0;i<r.contentItems.length;i++)t(r.contentItems[i])};return t(this.root),e}_bindEvents(){this._isFullPage&&ce(window).resize(this._onResize),ce(window).on("unload beforeunload",this._onUnload).on("blur.lm",this._windowBlur).on("focus.lm",this._windowFocus)}_windowBlur(){this.root.element.addClass("lm_window_blur")}_windowFocus(){this.root.element.removeClass("lm_window_blur")}_onResize(){clearTimeout(this._resizeTimeoutId),this._resizeTimeoutId=window.setTimeout(this.updateSize.bind(this),100)}_createConfig(e){var t,r=Wp("gl-window");r&&(this.isSubWindow=!0,e=JSON.parse(localStorage.getItem(r)||"{}"),e=Xu(e),localStorage.removeItem(r)),e=ce.extend(!0,{},$p,e);var i=function a(o){for(var s in o){var l=o[s];s!=="props"&&typeof l=="object"&&l!=null?a(l):s==="type"&&l==="react-component"&&(o.type="component",o.componentName="lm-react-component")}};return i(e),((t=e.settings)===null||t===void 0?void 0:t.hasHeaders)===!1&&(e.dimensions.headerHeight=0),e}_adjustToWindowMode(){var e,t=ce('<div class="lm_popin" title="'+this.config.labels.popin+'"><div class="lm_icon"></div><div class="lm_bg"></div></div>');t.click(()=>{this.emit("popIn")}),document.title=Qh((e=this.config.content[0].title)!==null&&e!==void 0?e:""),ce("head").append(ce("body link, body style, template, .gl_keep")),this.container=ce("body").html("").css("visibility","visible").append(t),document.body.offsetHeight,window.__glInstance=this}_createSubWindows(){if(this.config.openPopouts)for(var e=0;e<this.config.openPopouts.length;e++){var t=this.config.openPopouts[e];this.createPopout(t.content,t.dimensions,t.parentId,t.indexInParent)}}_getContainer(){var e=this._originalContainer?ce(this._originalContainer):ce("body");if(e.length===0)throw new Error("GoldenLayout container not found");if(e.length>1)throw new Error("GoldenLayout more than one container element specified");return e}_setContainer(){var e=this._getContainer();e[0]===document.body&&(this._isFullPage=!0,ce("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"})),this.container=e}_create(e){var t;if(!(e.content instanceof Array))throw e.content===void 0?t="Missing setting 'content' on top level of configuration":t="Configuration parameter 'content' must be an array",new ga(t,e);if(e.content.length>1)throw t="Top level content can't contain more then one element.",new ga(t,e);this.root=new Ju(this,{content:e.content},this.container),this.root.callDownwards("_$init"),e.maximisedItemId==="__glMaximised"&&this.root.getItemsById(e.maximisedItemId)[0].toggleMaximise()}_onUnload(){if(this.config.settings.closePopoutsOnUnload===!0)for(var e=0;e<this.openPopouts.length;e++)this.openPopouts[e].close()}_adjustColumnsResponsive(){if(!this._useResponsiveLayout()||this._updatingColumnsResponsive||!this.config.dimensions||!this.config.dimensions.minItemWidth||this.root.contentItems.length===0||!this.root.contentItems[0].isRow){this._firstLoad=!1;return}this._firstLoad=!1;var e=this.root.contentItems[0].contentItems.length;if(!(e<=1)){var t=this.config.dimensions.minItemWidth,r=e*t;if(!(this.width==null||r<=this.width)){this._updatingColumnsResponsive=!0;for(var i=Math.max(Math.floor(this.width/t),1),a=e-i,o=this.root.contentItems[0],s=this._findAllStackContainers()[0],l=0;l<a;l++){var d=o.contentItems[o.contentItems.length-1];this._addChildContentItemsToContainer(s,d)}this._updatingColumnsResponsive=!1}}}_useResponsiveLayout(){return this.config.settings&&(this.config.settings.responsiveMode=="always"||this.config.settings.responsiveMode=="onload"&&this._firstLoad)}_addChildContentItemsToContainer(e,t){t.type==="stack"?t.contentItems.forEach(function(r){e.addChild(r),t.removeChild(r,!0)}):t.contentItems.forEach(r=>{this._addChildContentItemsToContainer(e,r)})}_findAllStackContainers(){var e=[];return this._findAllStackContainersRecursive(e,this.root),e}_findAllStackContainersRecursive(e,t){t.contentItems.forEach(r=>{ds(r)?e.push(r):r.isComponent||this._findAllStackContainersRecursive(e,r)})}}Ge(eC,"__lm",aO);const tC=eC,lO="_lm_dragging_1q18t_1",dO="_lm_goldenlayout_1q18t_1",uO="_lm_header_1q18t_1",hO="_lm_controls_1q18t_1",cO="_lm_tabpreviousbutton_1q18t_1",mO="_lm_tabnextbutton_1q18t_1",vO="_lm_tab_1q18t_1",gO="_lm_active_1q18t_1",fO="_lm_close_tab_1q18t_1",pO="_lm_content_1q18t_1",CO="_lm_dragProxy_1q18t_1",bO="_lm_dropTargetIndicator_1q18t_1",SO="_march_1q18t_1",wO="_lm_inner_1q18t_1",EO="_lm_splitter_1q18t_1",yO="_lm_selectable_1q18t_1",TO="_lm_tabdropdown_list_1q18t_1",PO="_lm_title_1q18t_1",OO="_lm_title_before_1q18t_1",DO="_lm_selected_1q18t_1",RO="_lm_focusin_1q18t_1",NO="_lm_window_blur_1q18t_1",FO="_lm_popout_1q18t_1",IO="_lm_maximise_1q18t_1",_O="_lm_tabdropdown_1q18t_1",MO="_lm_close_1q18t_1",AO="_lm_tabdropdown_search_1q18t_1",LO="_lm_tabs_1q18t_1",kO="_lm_keyboard_active_1q18t_1",xO="_lm_maximised_1q18t_1",HO="_lm_items_1q18t_1",iv={"tab-height":"28px","drag-border-width":"5px",lm_dragging:lO,lm_goldenlayout:dO,lm_header:uO,lm_controls:hO,lm_tabpreviousbutton:cO,lm_tabnextbutton:mO,lm_tab:vO,lm_active:gO,lm_close_tab:fO,lm_content:pO,lm_dragProxy:CO,lm_dropTargetIndicator:bO,march:SO,lm_inner:wO,lm_splitter:EO,lm_selectable:yO,lm_tabdropdown_list:TO,lm_title:PO,lm_title_before:OO,lm_selected:DO,lm_focusin:RO,lm_window_blur:NO,lm_popout:FO,lm_maximise:IO,lm_tabdropdown:_O,lm_close:MO,lm_tabdropdown_search:AO,lm_tabs:LO,lm_keyboard_active:kO,lm_maximised:xO,lm_items:HO},av=Object.freeze({tabHeight:parseInt(iv["tab-height"],10),dragBorderWidth:parseInt(iv["drag-border-width"],10)});function ov(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ov(Object(t),!0).forEach(function(r){rC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ov(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function rC(n,e,t){return e=UO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UO(n){var e=$O(n,"string");return typeof e=="symbol"?e:String(e)}function $O(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var wi=ie.module("LayoutUtils");function nC(n){return n.componentName!==void 0}function za(n){var e=n;return(nC(n)&&n.componentName==="lm-react-component"||n.type==="react-component")&&e.component!==void 0}function js(n){return n.focus!==void 0}function sv(n){return n.type==="stack"}class Q{static activateTab(e,t){var r=Q.getStackForRoot(e,t,!1);if(!r){wi.error("Could not find stack for config",t);return}var i=Q.getContentItemInStack(r,t);i&&r.setActiveContentItem(i)}static isActiveTab(e,t){var r=Q.getStackForRoot(e,t,!1);if(!r)return wi.error("Could not find stack for config",t),!1;var i=Q.getContentItemInStack(r,t),a=r.getActiveContentItem();return a===i}static addStack(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=t?"column":"row";if(Qp(e)){(e.contentItems==null||e.contentItems.length===0)&&e.addChild({type:r});var i=e.contentItems[0],a=t?i.isColumn:i.isRow;if(!a){e.removeChild(i,!0),e.addChild({type:r});var o=document.activeElement;e.contentItems[0].addChild(i),o&&o.focus!=null&&o.focus()}return this.addStack(e.contentItems[0],t)}if(e.contentItems.length<2)return e.addChild({type:"stack"}),e.contentItems[e.contentItems.length-1];var s=e.contentItems[e.contentItems.length-1],l=t?s.isRow:s.isColumn;return l||(e.addChild({type:t?"row":"column"}),e.removeChild(s,!0),e.contentItems[e.contentItems.length-1].addChild(s),s=e.contentItems[e.contentItems.length-1]),this.addStack(s,!t)}static getStackForConfig(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(r&&ds(e)&&e.contentItems.length===0)return e;if(e.contentItems==null)return null;for(var i=0;i<e.contentItems.length;i+=1){var a=e.contentItems[i];if(a.isComponent&&a.config!=null&&Qc(a.config,t))return e;var o=this.getStackForConfig(a,t,r);if(o)return o}return null}static getStackForRoot(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=this.getStackForConfig(e,t);return!o&&i&&(o=this.getStackForConfig(e,{component:t.component},a)),!o&&r&&(o=this.addStack(e)),o}static getStackForComponentTypes(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;o<t.length;o+=1){var s=t[o],l=o===t.length-1,d=Q.getStackForRoot(e,{component:s},r&&l,i,a);if(d)return d}return null}static getContentItemInStack(e,t){if(!e)return null;for(var r=0;r<e.contentItems.length;r+=1){var i=e.contentItems[r];if(i.isComponent&&i.config!=null&&Qc(i.config,t))return i}return null}static dehydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var r=[],i=0;i<e.length;i+=1){var a=e[i],{component:o,content:s}=a;if(o){var l=t(o,a);l!=null?r.push(l):wi.debug2('dehydrateLayoutConfig: skipping unmapped component "'.concat(o,'"'))}else if(s){var d=zn(zn({},a),{},{content:Q.dehydrateLayoutConfig(s,t)});r.push(d)}else r.push(a)}return r}static getTabPoint(e){var{tab:t}=e;if(t==null)throw new Error("Cannot get tab for panel container ".concat(e));var r=t.element[0].getBoundingClientRect();return[r.left+r.width*.5,r.bottom-8]}static dropLayoutMinorChange(e){for(var t=0;t<e.length;t+=1){var r=e[t],{content:i}=r;i!==void 0?(sv(r)&&delete r.activeItemIndex,Q.dropLayoutMinorChange(i)):za(r)&&r.component==="IrisGridPanel"&&r.props.panelState!=null&&(delete r.id,r.props.panelState.irisGridState.sorts=[],r.props.panelState.irisGridState.quickFilters=[])}}static isEqual(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(r){var i=Q.cloneLayout(e),a=Q.cloneLayout(t);return Q.dropLayoutMinorChange(i),Q.dropLayoutMinorChange(a),ct(i,a)}return ct(e,t)}static cloneLayout(e){return JSON.parse(JSON.stringify(e))}static hydrateLayoutConfig(e,t){if(e==null||!e.length)return[];for(var r=[],i=0;i<e.length;i+=1){var a=e[i];if(za(a)){var o,{component:s,props:l={}}=a;r.push(zn(zn({},a),{},{id:(o=a?.id)!==null&&o!==void 0?o:Xe(),props:t(s,l)}))}else if(a.content!==void 0){var d=Q.hydrateLayoutConfig(a.content,t);sv(a)&&a.activeItemIndex!=null&&a.activeItemIndex>=d.length&&(wi.warn("Fixing bad activeItemIndex!",a.activeItemIndex,a),a.activeItemIndex=0),r.push(zn(zn({},a),{},{content:d}))}else r.push(a)}return r}static openComponent(){var{root:e,config:t,replaceExisting:r=!0,replaceConfig:i=void 0,createNewStack:a=!1,focusElement:o=void 0,dragEvent:s=void 0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=document.activeElement,d=zn({},t);if(d.id==null&&(d.id=Xe.generate()),s!=null){e?.layoutManager.createDragSourceFromEvent(d,s);return}var u=i||{id:d.id,component:d.component};L(e);var c=a?Q.addStack(e):Q.getStackForRoot(e,u);L(c);var m=Q.getContentItemInStack(c,u);if(o!=null){var v=f=>{wi.debug("Component created, focusing element",o),c.off("componentCreated",v);var{element:p}=f.origin;requestAnimationFrame(()=>{Q.focusElement(p[0],o)})};c.on("componentCreated",v)}if(r&&m){var g=c.contentItems.indexOf(m);c.addChild(d,g+1),c.removeChild(m),c.setActiveContentItem(c.contentItems[g])}else c.addChild(d);o==null&&l&&js(l)&&l.focus()}static openComponentInStack(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=document.activeElement,a={id:t.id},o=Q.getContentItemInStack(e,a);if(r&&o&&e){var s=e?.contentItems.indexOf(o);e.addChild(t,s+1),e.removeChild(o),e.setActiveContentItem(e.contentItems[s])}else e?.addChild(t);i&&js(i)&&i.focus()}static closeComponent(e,t,r){var i=Q.getStackForRoot(e,t,!1,!1,!1);if(!i){wi.warn("Cannot find stack for component, ignoring close",t);return}var a=Q.getContentItemInStack(i,t),o=document.activeElement;a&&(Ir(a)?a.container.close(r):i.removeChild(a)),o&&document.contains(o)&&js(o)&&o.focus()}static renameComponent(e,t,r){var i=Q.getStackForRoot(e,t,!1);if(!i){wi.error("Could not find stack for config",t);return}var a=Q.getContentItemInStack(i,t);a&&a.setTitle(r)}static cloneComponent(e,t){var r=Q.getStackForRoot(e,t,!1);if(!r)return wi.error("Could not find stack for config",t),null;var{props:i={}}=t,a=Q.getPanelComponentState(t),o={type:"react-component",component:t.component,props:zn(zn({},i),{},{panelState:a}),title:"".concat(t.title," Copy"),id:Xe.generate()};return Q.openComponentInStack(r,o),o}static getPanelComponentState(e){if(nC(e)){var t;return(t=e.componentState)===null||t===void 0?void 0:t.panelState}if(za(e)){var r;return(r=e.props)===null||r===void 0?void 0:r.panelState}return null}static makeDefaultLayout(){return{dimensions:{headerHeight:av.tabHeight,borderWidth:av.dragBorderWidth,borderGrabWidth:10},settings:{showPopoutIcon:!1,showCloseIcon:!1,constrainDragToContainer:!1}}}static getRootFromContainer(e){return e.layoutManager.root}static getComponentConfigFromContainer(e){return e?e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config:e._config:null}static getTitleFromContainer(e){return e!=null&&e.tab!=null&&e.tab.contentItem!=null?e.tab.contentItem.config.title:null}static getTitleFromTab(e){return e!=null&&e.contentItem!=null?e.contentItem.config.title:null}static getIdFromContainer(e){var t=Q.getComponentConfigFromContainer(e);return t?t.id:null}static getIdFromPanel(e){var{glContainer:t}=e.props;return Q.getIdFromContainer(t)}static getComponentNameFromPanel(e){var{glContainer:t}=e.props,r=Q.getComponentConfigFromContainer(t);if(r&&za(r)){var i;return(i=r.component)!==null&&i!==void 0?i:null}return null}static getComponentName(e){var t,r,i=(t=(r=e.WrappedComponent)===null||r===void 0?void 0:r.displayName)!==null&&t!==void 0?t:e.displayName;if(i==null)throw new Error("Component displayName not defined ".concat(e));return i}static focusElement(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Q.DEFAULT_FOCUS_SELECTOR;if(e==null)return null;var r=e.querySelector(t);return r==null?null:(js(r)&&r.focus(),r)}static onInitialized(e){return new Promise(t=>{if(e.isInitialised){t();return}var r=()=>{e.off("initialised",r),t()};e.on("initialised",r)})}}rC(Q,"DEFAULT_FOCUS_SELECTOR","input, select, textarea, button");var iC=h.forwardRef((n,e)=>{var t=Q.getComponentNameFromPanel({props:n});return h.createElement("div",{ref:e,className:"panel-placeholder"},h.createElement("div",null,'Component "',t,'" is not registered.'))});iC.displayName="PanelPlaceholder";const Ee=Object.freeze({FOCUS:"PanelEvent.FOCUS",MOUNT:"PanelEvent.MOUNT",UNMOUNT:"PanelEvent.UNMOUNT",TITLE_CHANGED:"PanelEvent.TITLE_CHANGED",REOPEN:"PanelEvent.REOPEN",DELETE:"PanelEvent.DELETE",CLONED:"PanelEvent.CLONED",CLOSED:"PanelEvent.CLOSED",OPEN:"PanelEvent.OPEN",CLOSE:"PanelEvent.CLOSE",DRAGGING:"PanelEvent.DRAGGING",DROPPED:"PanelEvent.DROPPED"});function lv(n){return n?.WrappedComponent!==void 0}function BO(n){return typeof n.id=="string"&&n.layout instanceof tC&&n.panelManager instanceof ec&&typeof n.registerComponent=="function"}function Qi(n){if(!BO(n))throw new Error("Expected dashboard plugin props, but instead received ".concat(n))}function dv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function uv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?dv(Object(t),!0).forEach(function(r){Ai(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):dv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ai(n,e,t){return e=VO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VO(n){var e=GO(n,"string");return typeof e=="symbol"?e:String(e)}function GO(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var jr=ie.module("PanelManager");class ec{constructor(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(s,l)=>l,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(s,l)=>l,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:new Map,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:()=>{};Ai(this,"layout",void 0),Ai(this,"hydrateComponent",void 0),Ai(this,"dehydrateComponent",void 0),Ai(this,"onPanelsUpdated",void 0),Ai(this,"closed",void 0),Ai(this,"openedMap",void 0),this.handleFocus=this.handleFocus.bind(this),this.handleMount=this.handleMount.bind(this),this.handleUnmount=this.handleUnmount.bind(this),this.handleReopen=this.handleReopen.bind(this),this.handleDeleted=this.handleDeleted.bind(this),this.handleClosed=this.handleClosed.bind(this),this.handleControlClose=this.handleControlClose.bind(this),this.layout=e,this.hydrateComponent=t,this.dehydrateComponent=r,this.onPanelsUpdated=o,this.openedMap=new Map(i),this.closed=[...a],this.startListening()}startListening(){var{eventHub:e}=this.layout;e.on(Ee.FOCUS,this.handleFocus),e.on(Ee.MOUNT,this.handleMount),e.on(Ee.UNMOUNT,this.handleUnmount),e.on(Ee.REOPEN,this.handleReopen),e.on(Ee.DELETE,this.handleDeleted),e.on(Ee.CLOSED,this.handleClosed),e.on(Ee.CLOSE,this.handleControlClose)}stopListening(){var{eventHub:e}=this.layout;e.off(Ee.FOCUS,this.handleFocus),e.off(Ee.MOUNT,this.handleMount),e.off(Ee.UNMOUNT,this.handleUnmount),e.off(Ee.REOPEN,this.handleReopen),e.off(Ee.DELETE,this.handleDeleted),e.off(Ee.CLOSED,this.handleClosed),e.off(Ee.CLOSE,this.handleControlClose)}getClosedPanelConfigsOfType(e){return this.closed.filter(t=>t.component===e)}getOpenedPanels(){return Array.from(this.openedMap.values())}getOpenedPanelConfigs(){return this.getOpenedPanels().map(e=>{var{glContainer:t}=e.props;return Q.getComponentConfigFromContainer(t)})}getOpenedPanelConfigsOfType(e){return this.getOpenedPanelConfigs().filter(t=>t!=null&&za(t)&&t.component===e)}getOpenedPanelById(e){return this.openedMap.get(e)}getContainerByPanelId(e){var t,r=Q.getStackForConfig(this.layout.root,{id:e});return(t=r&&Q.getContentItemInStack(r,{id:e}))!==null&&t!==void 0?t:null}getLastUsedPanel(e){for(var t=this.getOpenedPanels(),r=t.length-1;r>=0;r-=1){var i=t[r];if(e==null||e(i))return i}}getLastUsedPanelOfType(e){return this.getLastUsedPanelOfTypes([e])}getLastUsedPanelOfTypes(e){return this.getLastUsedPanel(t=>e.some(r=>lv(r)&&t instanceof r.WrappedComponent||!lv(r)&&t instanceof r))}updatePanel(e){var t=Q.getIdFromPanel(e);if(t==null){jr.error("updatePanel Panel did not have an ID",e);return}jr.debug2("Updating panel ID ".concat(t," in open panels map")),this.openedMap.delete(t),this.openedMap.set(t,e)}removePanel(e){var t=Q.getIdFromPanel(e);if(t==null){jr.error("removePanel Panel did not have an ID",e);return}if(!this.openedMap.has(t)){jr.error("Missing panel ID ".concat(t," in open panels map"));return}if(this.openedMap.get(t)!==e){jr.debug("Panel argument doesn't match the open panels map entry for ".concat(t,", removePanel ignored"));return}jr.debug2("Removing panel ID ".concat(t," from open panels map")),this.openedMap.delete(t)}removeClosedPanelConfig(e){var t=this.closed.findIndex(r=>r===e||r.id!=null&&e.id!=null&&r.id===e.id);t>=0&&this.closed.splice(t,1)}handleFocus(e){jr.debug2("Focus: ",e),this.updatePanel(e)}handleMount(e){jr.debug2("Mount: ",e),this.updatePanel(e),this.sendUpdate()}handleUnmount(e){jr.debug2("Unmount: ",e),this.removePanel(e),this.sendUpdate()}handleReopen(e,t){jr.debug2("Reopen:",e,t),this.removeClosedPanelConfig(e);var{component:r}=e,{props:i}=e;i=this.hydrateComponent(r,i);var a=uv(uv({},e),{},{props:i}),{root:o}=this.layout;Q.openComponent({root:o,config:a,replaceConfig:t})}handleDeleted(e){jr.debug2("Deleted:",e),this.removeClosedPanelConfig(e),this.sendUpdate()}handleClosed(e,t){jr.debug2("Closed: ",e),this.addClosedPanel(t),this.sendUpdate()}handleControlClose(e){var t={id:e},{root:r}=this.layout;Q.closeComponent(r,t)}addClosedPanel(e){var t=Q.getComponentConfigFromContainer(e);if(t&&za(t)){var r=this.dehydrateComponent(t.component,t);r!=null&&this.closed.push(r)}}sendUpdate(){var{closed:e,openedMap:t}=this;this.onPanelsUpdated({closed:[...e],openedMap:new Map(t)})}}Ai(ec,"MAX_CLOSED_PANEL_COUNT",100);var WO=ie.module("PanelErrorBoundary");class jO extends w.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}componentWillUnmount(){var{glContainer:e,glEventHub:t}=this.props,r=Q.getIdFromContainer(e);WO.debug("componentWillUnmount",r),t.emit(Ee.CLOSED,r,e)}render(){var{children:e}=this.props,{error:t}=this.state;return t!=null?h.createElement("div",{className:"panel-error-boundary"},h.createElement(id,{errorMessage:"".concat(t),isLoading:!1,isLoaded:!1})):e}}function hv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ul(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hv(Object(t),!0).forEach(function(r){zO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function zO(n,e,t){return e=KO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function KO(n){var e=YO(n,"string");return typeof e=="symbol"?e:String(e)}function YO(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function tc(n){var{props:e,componentState:t}=n,{metadata:r}=e,{panelState:i=null}=e;t&&({panelState:i}=t);var a={};return r!=null&&(a.metadata=r),i!=null&&(a.panelState=i),Ul(Ul({},n),{},{componentState:null,props:a,type:"react-component"})}function rc(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return Ul(Ul({metadata:{}},n),{},{localDashboardId:e})}const th={dehydrate:tc,hydrate:rc};var qO=q.shape({on:q.func,off:q.func,isHidden:q.bool,tab:q.shape({header:q.shape({tabs:q.arrayOf(q.shape({contentItem:q.shape({})}))})}),title:q.string,setTitle:q.func,close:q.func}),aC=q.shape({on:q.func,off:q.func,emit:q.func}),XO=q.shape({registerComponent:q.func,root:q.shape({addChild:q.func}),on:q.func,off:q.func,eventHub:aC}),nc=Object.freeze({Container:qO,EventHub:aC,Layout:XO}),Ke=(n,e,t)=>w.useEffect(function(){return n.on(e,t),()=>{n.off(e,t)}},[n,e,t]),oC="SET_DASHBOARD_DATA";const QO=FT(oC,{},!1),ZO={dashboardData:QO};var JO=new Map,eD=Object.freeze({}),tD=Object.freeze([]),rD=n=>n.dashboardData,Er=(n,e)=>{var t;return(t=rD(n)[e])!==null&&t!==void 0?t:eD},nD=(n,e)=>{var t;return(t=Er(n,e).closed)!==null&&t!==void 0?t:tD},sC=(n,e)=>{var t;return(t=Er(n,e).openedMap)!==null&&t!==void 0?t:JO};function cv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function mv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cv(Object(t),!0).forEach(function(r){iD(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function iD(n,e,t){return e=aD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aD(n){var e=oD(n,"string");return typeof e=="symbol"?e:String(e)}function oD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var lC=(n,e)=>({type:oC,id:n,payload:e}),Un=(n,e)=>(t,r)=>t(lC(n,mv(mv({},Er(r(),n)),e)));Object.entries(ZO).map(n=>{var[e,t]=n;return ws.register(e,t)});function sD(n){var{children:e}=n;return h.createElement(h.Fragment,null,e)}function rh(){return rh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},rh.apply(this,arguments)}var zs=ie.module("DashboardLayout"),lD=Object.freeze({}),dD=[],vv=()=>{},gv=n=>n;function dC(n){var e,t,{id:r,children:i,emptyDashboard:a=h.createElement("div",null,"Dashboard is empty."),layout:o,layoutConfig:s=dD,onLayoutChange:l=vv,onLayoutInitialized:d=vv,hydrate:u=rc,dehydrate:c=tc,panelWrapper:m=sD}=n,v=Ih(),g=(e=Jb(N=>Er(N,r)))!==null&&e!==void 0?e:lD,[f,p]=w.useState(!1),[C,b]=w.useState(!1),[S,E]=w.useState(),[y]=w.useState((t=g?.closed)!==null&&t!==void 0?t:[]),[T,O]=w.useState(!1),[D,P]=w.useState(o.getReactChildren()),R=w.useMemo(()=>new Map,[]),_=w.useMemo(()=>new Map,[]),M=w.useCallback(function(N,k){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u,Y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:c;zs.debug2("registerComponent",N,k,x,Y);function W(ae,se){var pe=k,He=m,{glContainer:at,glEventHub:ot}=ae;return h.createElement(jO,{glContainer:at,glEventHub:ot},h.createElement(He,ae,h.createElement(pe,rh({},ae,{ref:se}))))}var ee=h.forwardRef(W),oe=o.registerComponent(N,ee);return R.set(N,x),_.set(N,Y),oe},[u,c,R,_,o,m]),A=w.useCallback((N,k)=>{var x;return((x=R.get(N))!==null&&x!==void 0?x:gv)(k,r)},[R,r]),B=w.useCallback((N,k)=>{var x;return((x=_.get(N))!==null&&x!==void 0?x:gv)(k,r)},[_,r]),$=w.useMemo(()=>new ec(o,A,B,new Map,y,N=>{var{closed:k,openedMap:x}=N;v(Un(r,{closed:k,openedMap:x}))}),[B,v,A,r,y,o]),z=w.useCallback(()=>{if(!C){T||(d(),O(!0));var N=o.toConfig(),k=N.content,x=Q.dehydrateLayoutConfig(k,B),Y=S==null||!Q.isEqual(S,x);zs.debug("handleLayoutStateChanged",Y,k,x),Y&&(p(o.root.contentItems.length===0),E(x),l(x),P(o.getReactChildren()))}},[B,T,C,S,o,l,d]),G=w.useCallback(N=>{var k=Q.getIdFromContainer(N);o.eventHub.emit(Ee.DRAGGING,k),b(!0)},[o.eventHub]),K=w.useCallback(N=>{var k=Q.getIdFromContainer(N);o.eventHub.emit(Ee.DROPPED,k),b(!1)},[o.eventHub]),X=w.useCallback(N=>{if(zs.debug2("handleComponentCreated",N),!(N==null||N.config==null||N.config.component==null||N.element==null)){var k=N.config.component.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),x="".concat(k,"-component");N.element.addClass(x)}},[]),J=w.useCallback(()=>{P(o.getReactChildren())},[o]);Ke(o,"stateChanged",z),Ke(o,"itemPickedUp",G),Ke(o,"itemDropped",K),Ke(o,"componentCreated",X),Ke(o.eventHub,Ee.TITLE_CHANGED,z),Ke(o,"reactChildrenChanged",J);var I=$h(s);return w.useEffect(function(){if(I!==s&&s!==S){zs.debug("Setting new layout content...");for(var k=Q.hydrateLayoutConfig(s,A);o.root.contentItems.length>0;)o.root.contentItems[0].remove();for(var x=0;x<k.length;x+=1)o.root.addChild(k[x]);p(o.root.contentItems.length===0)}},[A,o,s,S,$,I]),h.createElement(h.Fragment,null,f&&a,D,h.Children.map(i,N=>N!=null?h.cloneElement(N,{id:r,layout:o,panelManager:$,registerComponent:M}):null))}dC.propTypes={id:q.string.isRequired,children:q.node,data:q.shape({}),emptyDashboard:q.node,layout:nc.Layout.isRequired,layoutConfig:q.arrayOf(q.shape({})),onLayoutChange:q.func,onLayoutInitialized:q.func};function fv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function uD(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fv(Object(t),!0).forEach(function(r){hD(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function hD(n,e,t){return e=cD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function cD(n){var e=mD(n,"string");return typeof e=="symbol"?e:String(e)}function mD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var vD=100,pu=()=>{},gD=Object.freeze({});function fD(n){var{id:e="default",children:t,emptyDashboard:r,layoutConfig:i,layoutSettings:a=gD,onLayoutConfigChange:o=pu,onGoldenLayoutChange:s=pu,onLayoutInitialized:l=pu,fallbackComponent:d=iC,hydrate:u,dehydrate:c,panelWrapper:m}=n,v=w.useRef(null),[g,f]=w.useState(!1),[p,C]=w.useState();w.useEffect(function(){if(!v.current){C(void 0);return}var E=uD({},Q.makeDefaultLayout());E.settings===void 0&&(E.settings={}),Object.assign(E.settings,a),E.content=[];var y=new tC(E,v.current),T=()=>{y.off("initialised",T),f(!0)};return y.on("initialised",T),d!=null&&y.setFallbackComponent(d),y.init(),C(y),s(y),()=>{y.destroy()}},[a,d,s,f,C]);var b=w.useMemo(()=>zi(()=>{p!=null&&p.isInitialised&&p?.updateSize()},vD),[p]);return w.useEffect(function(){return window.addEventListener("resize",b),()=>{window.removeEventListener("resize",b)}},[b]),h.createElement("div",{className:"dashboard-container w-100 h-100"},h.createElement("div",{className:"w-100 h-100",ref:v}),g&&p&&h.createElement(dC,{emptyDashboard:r,id:e,layout:p,layoutConfig:i,onLayoutChange:o,onLayoutInitialized:l,hydrate:u,dehydrate:c,panelWrapper:m},t))}var Sn="default";function pD(n,e,t){return e=CD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function CD(n){var e=bD(n,"string");return typeof e=="symbol"?e:String(e)}function bD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class SD extends Error{constructor(){super(...arguments),pD(this,"isAssertionFailed",!0)}}const uC=SD;function pv(n){if(n==null)throw new uC("Expected 'val' to be defined, but received ".concat(n))}function wD(n,e,t){return e=ED(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ED(n){var e=yD(n,"string");return typeof e=="symbol"?e:String(e)}function yD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class TD extends Error{constructor(){super(...arguments),wD(this,"isPasteError",!0)}}const Cu=TD;function nt(n){return n?.isEditable!==void 0}function Cv(n){if(!nt(n))throw new uC("Expected 'model' to be editable, but received ".concat(n))}function ze(n){return n?.hasExpandableRows!==void 0}function Yo(n,e,t){return e=PD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function PD(n){var e=OD(n,"string");return typeof e=="symbol"?e:String(e)}function OD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var tn;(function(n){n.DOWN="DOWN",n.UP="UP",n.LEFT="LEFT",n.RIGHT="RIGHT"})(tn||(tn={}));class ne{static normalize(e,t,r,i){var a=e,o=t,s=r,l=i;return a!=null&&s!=null&&s<a&&(a=s,s=e),o!=null&&l!=null&&l<o&&(o=l,l=t),[a,o,s,l]}static makeNormalized(e,t,r,i){return new ne(...ne.normalize(e,t,r,i))}static makeCell(e,t){return new ne(e,t,e,t)}static makeColumn(e){return new ne(e,null,e,null)}static makeRow(e){return new ne(null,e,null,e)}static minOrNull(e,t){return e==null||t==null?null:Math.min(e,t)}static maxOrNull(e,t){return e==null||t==null?null:Math.max(e,t)}static consolidate(e){for(var t=e.slice(),r=!0;r;){r=!1;for(var i=0;i<t.length&&!r;i+=1)for(var a=t[i],o=t.length-1;o>i;o-=1){var s=t[o];if(a.contains(s))t.splice(o,1);else if(s.contains(a)){r=!0,t[i]=s,t.splice(o,1);break}else if(a.startRow===s.startRow&&a.endRow===s.endRow){if(a.touches(s)){var{startRow:l,endRow:d}=a,u=ne.minOrNull(a.startColumn,s.startColumn),c=ne.maxOrNull(a.endColumn,s.endColumn);r=!0,t[i]=new ne(u,l,c,d),t.splice(o,1);break}}else if(a.startColumn===s.startColumn&&a.endColumn===s.endColumn&&a.touches(s)){var{startColumn:m,endColumn:v}=a,g=ne.minOrNull(a.startRow,s.startRow),f=ne.maxOrNull(a.endRow,s.endRow);r=!0,t[i]=new ne(m,g,v,f),t.splice(o,1);break}}}return t}static isAxisRangeTouching(e,t,r,i){return e==null?t==null||r==null?!0:r<=t+1:t==null?i==null?!0:i>=e-1:r==null?i==null?!0:e<=i+1:i==null?t>=r-1:r>=e-1?r<=t+1:i>=e-1}static rangeArraysEqual(e,t){if(e===t)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(var r=0;r<e.length;r+=1)if(!e[r].equals(t[r]))return!1;return!0}static intersection(e,t){var r,i,a,o,s,l;if(e.equals(t))return e;var{startColumn:d,startRow:u,endColumn:c,endRow:m}=e;return d=d!=null&&t.startColumn!=null?Math.max(d,t.startColumn):(r=d)!==null&&r!==void 0?r:t.startColumn,c=c!=null&&t.endColumn!=null?Math.min(c,t.endColumn):(i=c)!==null&&i!==void 0?i:t.endColumn,u=u!=null&&t.startRow!=null?Math.max(u,t.startRow):(a=u)!==null&&a!==void 0?a:t.startRow,m=m!=null&&t.endRow!=null?Math.min(m,t.endRow):(o=m)!==null&&o!==void 0?o:t.endRow,d!=null&&d>((s=c)!==null&&s!==void 0?s:-1)||u!=null&&u>((l=m)!==null&&l!==void 0?l:-1)?null:new ne(d,u,c,m)}static subtractFromRange(e,t){var r=[],i=ne.intersection(e,t);return i==null?[e]:(i.startRow!=null&&(e.startRow==null||e.startRow<i.startRow)&&r.push(new ne(e.startColumn,e.startRow,e.endColumn,i.startRow-1)),i.startColumn!=null&&(e.startColumn==null||e.startColumn<i.startColumn)&&r.push(new ne(e.startColumn,i.startRow,i.startColumn-1,i.endRow)),i.endColumn!=null&&(e.endColumn==null||e.endColumn>i.endColumn)&&r.push(new ne(i.endColumn+1,i.startRow,e.endColumn,i.endRow)),i.endRow!=null&&(e.endRow==null||e.endRow>i.endRow)&&r.push(new ne(e.startColumn,i.endRow+1,e.endColumn,e.endRow)),r)}static subtractFromRanges(e,t){for(var r=[],i=0;i<e.length;i+=1)r.push(...ne.subtractFromRange(e[i],t));return r}static subtractRangesFromRanges(e,t){for(var r=[...e],i=0;i<t.length;i+=1)r=ne.subtractFromRanges(r,t[i]);return r}static isBounded(e){return e.startRow!=null&&e.startColumn!=null&&e.endRow!=null&&e.endColumn!=null}static boundedRange(e,t,r){var i,a,o,s;return ne.isBounded(e)?e:new ne((i=e.startColumn)!==null&&i!==void 0?i:0,(a=e.startRow)!==null&&a!==void 0?a:0,(o=e.endColumn)!==null&&o!==void 0?o:t-1,(s=e.endRow)!==null&&s!==void 0?s:r-1)}static boundedRanges(e,t,r){return e.map(i=>ne.boundedRange(i,t,r))}static offset(e,t,r){return new ne(e.startColumn!=null?e.startColumn+t:null,e.startRow!=null?e.startRow+r:null,e.endColumn!=null?e.endColumn+t:null,e.endRow!=null?e.endRow+r:null)}static nextCell(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ne.SELECTION_DIRECTION.DOWN;if(e.length===0)return null;var a=-1;if(t!=null&&r!=null&&(a=e.findIndex(m=>m.containsCell(t,r)),a>=0)){var o=e[a],s=o.nextCell(t,r,i);if(s!=null)return s}switch(i){case ne.SELECTION_DIRECTION.DOWN:case ne.SELECTION_DIRECTION.RIGHT:{var l=a<e.length-1?a+1:0,d=e[l];return d.startCell(i)}case ne.SELECTION_DIRECTION.LEFT:case ne.SELECTION_DIRECTION.UP:{var u=a>0?a-1:e.length-1,c=e[u];return c.startCell(i)}default:throw new Error("Invalid direction: ".concat(i))}}static cellCount(e){return e.reduce((t,r)=>{var i,a,o,s;return t+(((i=r.endRow)!==null&&i!==void 0?i:NaN)-((a=r.startRow)!==null&&a!==void 0?a:NaN)+1)*(((o=r.endColumn)!==null&&o!==void 0?o:NaN)-((s=r.startColumn)!==null&&s!==void 0?s:NaN)+1)},0)}static rowCount(e){return e.reduce((t,r)=>{var i,a;return t+((i=r.endRow)!==null&&i!==void 0?i:NaN)-((a=r.startRow)!==null&&a!==void 0?a:NaN)+1},0)}static columnCount(e){return e.reduce((t,r)=>{var i,a;return t+((i=r.endColumn)!==null&&i!==void 0?i:NaN)-((a=r.startColumn)!==null&&a!==void 0?a:NaN)+1},0)}static containsCell(e,t,r){for(var i=0;i<e.length;i+=1){var a=e[i];if(a.containsCell(t,r))return!0}return!1}static forEachCell(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne.SELECTION_DIRECTION.RIGHT,i=0;i<e.length;i+=1)e[i].forEach(t,r)}constructor(e,t,r,i){Yo(this,"startColumn",void 0),Yo(this,"startRow",void 0),Yo(this,"endColumn",void 0),Yo(this,"endRow",void 0),this.startColumn=e,this.startRow=t,this.endColumn=r,this.endRow=i}equals(e){return this.startColumn===e.startColumn&&this.startRow===e.startRow&&this.endColumn===e.endColumn&&this.endRow===e.endRow}contains(e){return(this.startColumn==null||e.startColumn!=null&&this.startColumn<=e.startColumn)&&(this.startRow==null||e.startRow!=null&&this.startRow<=e.startRow)&&(this.endColumn==null||e.endColumn!=null&&this.endColumn>=e.endColumn)&&(this.endRow==null||e.endRow!=null&&this.endRow>=e.endRow)}containsCell(e,t){return e==null||t==null?!1:(this.startColumn==null||this.startColumn<=e)&&(this.endColumn==null||this.endColumn>=e)&&(this.startRow==null||this.startRow<=t)&&(this.endRow==null||this.endRow>=t)}touches(e){return ne.isAxisRangeTouching(this.startRow,this.endRow,e.startRow,e.endRow)&&ne.isAxisRangeTouching(this.startColumn,this.endColumn,e.startColumn,e.endColumn)}subtract(e){return ne.subtractFromRange(this,e)}startCell(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ne.SELECTION_DIRECTION.DOWN;if(!ne.isBounded(this))throw new Error("Cannot get the startCell of an unbounded range");switch(e){case ne.SELECTION_DIRECTION.DOWN:case ne.SELECTION_DIRECTION.RIGHT:return{column:this.startColumn,row:this.startRow};case ne.SELECTION_DIRECTION.LEFT:case ne.SELECTION_DIRECTION.UP:return{column:this.endColumn,row:this.endRow};default:throw new Error("Invalid direction: ".concat(e))}}nextCell(e,t,r){if(!ne.isBounded(this))throw new Error("Bounded range required");if(e==null||t==null)throw new Error("Require a non-null cursor");var{startColumn:i,endColumn:a,startRow:o,endRow:s}=this;switch(r){case ne.SELECTION_DIRECTION.DOWN:if(t<s)return{column:e,row:Math.max(t+1,o)};if(e<a)return{column:Math.max(e+1,i),row:o};break;case ne.SELECTION_DIRECTION.UP:if(t>o)return{column:e,row:Math.min(t-1,s)};if(e>i)return{column:Math.min(e-1,a),row:s};break;case ne.SELECTION_DIRECTION.RIGHT:if(e<a)return{column:Math.max(e+1,i),row:t};if(t<s)return{column:i,row:Math.max(t+1,o)};break;case ne.SELECTION_DIRECTION.LEFT:if(e>i)return{column:Math.min(e-1,a),row:t};if(t>o)return{column:a,row:Math.min(t-1,s)};break;default:throw new Error("Invalid direction: ".concat(r))}return null}forEach(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ne.SELECTION_DIRECTION.RIGHT,r=0,{column:i,row:a}=this.startCell(t);i!=null&&a!=null;){var o;e(i,a,r),r+=1,{column:i,row:a}=(o=this.nextCell(i,a,t))!==null&&o!==void 0?o:{}}}}Yo(ne,"SELECTION_DIRECTION",tn);const Me=ne;function DD(n){return Array.isArray(n)&&n.length===2&&(n[0]===null||typeof n[0]=="number")&&(n[1]===null||typeof n[1]=="number")}function Ks(n){return DD(n)&&n[0]!=null&&n[1]!=null}function bv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ys(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bv(Object(t),!0).forEach(function(r){hC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):bv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function hC(n,e,t){return e=RD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RD(n){var e=ND(n,"string");return typeof e=="symbol"?e:String(e)}function ND(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $l(n){return n?.href!==void 0}class V{static getGridPointFromXY(e,t,r){var i=V.getColumnAtX(e,r),a=V.getRowAtY(t,r),o=V.getColumnHeaderDepthAtY(t,r);return{x:e,y:t,row:a,column:i,columnHeaderDepth:o}}static getCellInfoFromXY(e,t,r){var{row:i,column:a}=V.getGridPointFromXY(e,t,r),{allColumnWidths:o,allRowHeights:s,allColumnXs:l,allRowYs:d,modelColumns:u,modelRows:c}=r,m=i!==null?c.get(i):null,v=a!==null?u.get(a):null,g=a!==null?l.get(a):null,f=i!==null?d.get(i):null,p=a!==null?o.get(a):null,C=i!==null?s.get(i):null;return{row:i,column:a,modelRow:m??null,modelColumn:v??null,left:g??null,top:f??null,columnWidth:p??null,rowHeight:C??null}}static getColumnHeaderDepthAtY(e,t){var r=V.getRowAtY(e,t),{columnHeaderHeight:i,columnHeaderMaxDepth:a}=t;if(r===null&&e<=i*a)return Ve(a-Math.ceil(e/i),0,a-1)}static iterateFloatingStart(e,t,r){for(var i=0;i<e&&i<t;i+=1){var a=r(i);if(a!==void 0)return a}}static iterateFloatingEnd(e,t,r){for(var i=0;i<e&&t-(e-i)>=0;i+=1){var a=r(t-(e-i));if(a!==void 0)return a}}static iterateFloating(e,t,r,i){var a=V.iterateFloatingStart(e,r,i);return a!==void 0?a:V.iterateFloatingEnd(t,r,i)}static iterateAllItems(e,t,r,i,a,o){var s=Math.max(e,r),l=Math.min(t,a-i-1),d=V.iterateFloating(r,i,a,o);if(d!==void 0)return d;for(var u=s;u<=l;u+=1)if(d=o(u),d!==void 0)return d}static isInItem(e,t,r,i){var a,o,s=(a=t.get(e))!==null&&a!==void 0?a:0,l=(o=r.get(e))!==null&&o!==void 0?o:0;return s<=i&&i<=s+l}static getItemAtOffset(e,t,r,i,a,o,s){var l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,d=l?void 0:V.iterateFloating(r,i,t,m=>{if(V.isInItem(m,o,s,e))return m});if(!l&&d!==void 0)return d;for(var u=0;u<a.length;u+=1){var c=a[u];if(V.isInItem(c,o,s,e))return c}return null}static getColumnAtX(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{columnCount:i,floatingLeftColumnCount:a,floatingRightColumnCount:o,visibleColumns:s,allColumnXs:l,allColumnWidths:d,gridX:u}=t;return e<u?null:this.getItemAtOffset(e-u,i,a,o,s,l,d,r)}static getRowAtY(e,t){var{floatingTopRowCount:r,floatingBottomRowCount:i,rowCount:a,visibleRows:o,allRowYs:s,allRowHeights:l,gridY:d}=t;return e<d?null:this.getItemAtOffset(e-d,a,r,i,o,s,l)}static getNextShownItem(e,t,r,i){var a=r.findIndex(l=>l===e)||0;for(a-=1;a!=null&&a>=0;){var o=r[a],s=t.get(o);if(s!=null&&i.get(s)!==0)return o;a-=1}return null}static getNextShownColumn(e,t){var{modelColumns:r,visibleColumns:i,userColumnWidths:a}=t;return V.getNextShownItem(e,r,i,a)}static getNextShownRow(e,t){var{modelRows:r,visibleRows:i,userRowHeights:a}=t;return V.getNextShownItem(e,r,i,a)}static getColumnSeparatorIndex(e,t,r,i){var{rowHeaderWidth:a,columnHeaderHeight:o,floatingColumns:s,floatingLeftWidth:l,visibleColumns:d,allColumnXs:u,allColumnWidths:c,columnHeaderMaxDepth:m}=r,{allowColumnResize:v,headerSeparatorHandleSize:g}=i;if(m*o<t||!v||g<=0)return null;for(var f=e-a,p=g*.5,C=!1,b=s.length-1;b>=0;b-=1){var S,E,y=s[b],T=(S=u.get(y))!==null&&S!==void 0?S:0,O=(E=c.get(y))!==null&&E!==void 0?E:0,D=O===0;if(!C||!D){var P=T+O;D?P+=p:C&&(P-=p);var R=P-p,_=P+p;if(R<=f&&f<=_)return y;C=D}}C=!1;for(var M=d.length-1;M>=0;M-=1){var A,B,$=d[M],z=(A=u.get($))!==null&&A!==void 0?A:0,G=(B=c.get($))!==null&&B!==void 0?B:0,K=G===0;if(z<l-G)return null;if(!C||!K){var X=z+G;K?X+=p:C&&(X-=p);var J=X-p,I=X+p;if(J<=f&&f<=I)return $;C=K}}return null}static isItemHidden(e,t){return t.get(e)===0}static isColumnHidden(e,t){var{allColumnWidths:r}=t;return V.isItemHidden(e,r)}static isFloatingRow(e,t){if(e==null)return!1;var{floatingTopRowCount:r,floatingBottomRowCount:i,rowCount:a}=t;return e<r||e>=a-i}static isFloatingColumn(e,t){if(e==null)return!1;var{floatingLeftColumnCount:r,floatingRightColumnCount:i,columnCount:a}=t;return e<r||e>=a-i}static getHiddenItems(e,t,r){if(!V.isItemHidden(e,t))return[];for(var i=[e],a=r.findIndex(l=>l===e),o=a-1;o>=0;o-=1){var s=r[o];if(!V.isItemHidden(s,t))break;i.push(s)}return i}static getHiddenColumns(e,t){var{visibleColumns:r,allColumnWidths:i}=t;return V.getHiddenItems(e,i,r)}static getRowSeparatorIndex(e,t,r,i){var{rowHeaderWidth:a,columnHeaderHeight:o,visibleRows:s,allRowYs:l,allRowHeights:d}=r,{allowRowResize:u,headerSeparatorHandleSize:c}=i;if(a<e||!u||c<=0)return null;for(var m=t-o,v=c*.5,g=!1,f=s.length-1;f>=0;f-=1){var p,C,b=s[f],S=(p=l.get(b))!==null&&p!==void 0?p:0,E=(C=d.get(b))!==null&&C!==void 0?C:0,y=E===0;if(!g||!y){var T=S+E;y?T+=v:g&&(T-=v);var O=T-v,D=T+v;if(O<=m&&m<=D)return b;g=y}}return null}static isRowHidden(e,t){var{allRowHeights:r}=t;return V.isItemHidden(e,r)}static getHiddenRows(e,t){var{visibleRows:r,allRowHeights:i}=t;return V.getHiddenItems(e,i,r)}static moveItem(e,t,r){if(e===t)return[...r];var i=[...r],a=i[i.length-1];return a!=null&&!Ks(a.from)&&a.to===e?a.from===t?i.pop():i[i.length-1]=Ys(Ys({},a),{},{to:t}):i.push({from:e,to:t}),i}static moveRange(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e[0]===e[1])return V.moveItem(e[0],t,r);var a=t;if(i&&e[0]<t&&(a-=e[1]-e[0]),e[0]===a)return[...r];var o=[...r],s=o[o.length-1];s!=null&&Ks(s.from)&&s.from[1]-s.from[0]===e[1]-e[0]&&s.to===e[0]?o[o.length-1]=Ys(Ys({},s),{},{to:a}):o.push({from:e,to:a});var l=o[o.length-1];return Ks(l.from)&&l.from[0]===l.to&&o.pop(),o}static moveItemOrRange(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return Array.isArray(e)?V.moveRange(e,t,r,i):V.moveItem(e,t,r)}static applyItemMoves(e,t,r){for(var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=[[e,t]],o=function(){var{from:d,to:u}=r[s],c=1,m;Ks(d)?(c=d[1]-d[0]+1,[m]=d):m=d;for(var v=i?u:m,g=v+c-1,f=i?m:u,p=f-v,C=[],b=function(){var y,T,O=(y=a[S][0])!==null&&y!==void 0?y:Number.NEGATIVE_INFINITY,D=(T=a[S][1])!==null&&T!==void 0?T:Number.POSITIVE_INFINITY,P,R=[[O,v-1],[v,g],[g+1,D]].map(_=>{var[M,A]=_;return[Math.max(M,O),Math.min(A,D)]}).filter(_=>{var[M,A]=_;return M<=A}).map(_=>{var[M,A]=_;return v<=M&&g>=A?(P=[M+p,A+p],P):g<M?[M-c,A-c]:_}).map(_=>{var[M,A]=_;return f>M&&f<=A?[[M,f-1],[f+c,A+c]]:_===P?[_]:f<=M?[[M+c,A+c]]:[_]}).flat();C.push(...R)},S=0;S<a.length;S+=1)b();a=C.map(E=>{var[y,T]=E;return[Number.isFinite(y)?y:null,Number.isFinite(T)?T:null]})},s=i?r.length-1:0;i?s>=0:s<r.length;i?s-=1:s+=1)o();return a}static translateRange(e,t,r,i){for(var a=V.applyItemMoves(e.startColumn,e.endColumn,t,i),o=V.applyItemMoves(e.startRow,e.endRow,r,i),s=[],l=0;l<a.length;l+=1)for(var d=a[l],u=0;u<o.length;u+=1){var c=o[u];s.push(new Me(d[0],c[0],d[1],c[1]))}return s}static getModelIndex(e,t){var r=V.applyItemMoves(e,e,t,!0)[0][0];return r}static getModelIndexes(e,t){return e.map(r=>V.getModelIndex(r,t))}static getModelRangeIndexes(e,t,r){return V.applyItemMoves(e,t,r,!0)}static getModelRange(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xe;return V.translateRange(e,t,r,!0)}static getModelRanges(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xe,i=[],a=0;a<e.length;a+=1)i.push(...V.getModelRange(e[a],t,r));return i}static getVisibleRangeIndexes(e,t,r){return V.applyItemMoves(e,t,r,!1)}static getVisibleRange(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xe;return this.translateRange(e,t,r,!1)}static getVisibleRanges(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xe,i=[],a=0;a<e.length;a+=1)i.push(...V.getVisibleRange(e[a],t,r));return i}static getVisibleIndex(e,t){var r=V.applyItemMoves(e,e,t)[0][0];return r}static getVisibleIndexes(e,t){return e.map(r=>V.getVisibleIndex(r,t))}static isMacPlatform(){var{platform:e}=window.navigator;return e.startsWith("Mac")}static getModifierKey(){return V.isMacPlatform()?"metaKey":"ctrlKey"}static isModifierKeyDown(e){var t=V.getModifierKey();return e[t]}static checkColumnHidden(e,t){return t.get(e)===0}static checkAllColumnsHidden(e,t){return t.size===0?!1:e.every(r=>t.get(r)===0)}static getScrollDragBounds(e,t,r){var{gridX:i,gridY:a,width:o,height:s,floatingTopRowCount:l,floatingBottomRowCount:d,floatingLeftColumnCount:u,floatingRightColumnCount:c,floatingLeftWidth:m,floatingRightWidth:v,floatingTopHeight:g,floatingBottomHeight:f,columnCount:p,rowCount:C}=e,b=i,S=a,E=o,y=s;return r!=null&&(r>u&&(b+=m),r<p-c&&(E-=v)),t!=null&&(t>l&&(S+=g),t<C-d&&(y-=f)),{x1:b,y1:S,x2:E,y2:y}}static getScrollDelta(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1024,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:768,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:20,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:20,{deltaX:o,deltaY:s}=e;return!V.isMacPlatform()&&e.shiftKey&&e.deltaX===0&&e.deltaY!==0&&(o=e.deltaY,s=e.deltaX),e?.deltaMode===WheelEvent.DOM_DELTA_PAGE?(o*=t,s*=r):e?.deltaMode===WheelEvent.DOM_DELTA_LINE&&(V.isMacPlatform()?(o=Math.round(o*i),s=Math.round(s*a)):(o=Math.round(o*this.PIXELS_PER_LINE),s=Math.round(s*this.PIXELS_PER_LINE))),{deltaX:o,deltaY:s}}static compareRanges(e,t){return e[0]==null||e[1]==null||t[0]==null||t[1]==null?0:e[0]!==t[0]?e[0]-t[0]:e[1]-t[1]}static mergeSortedRanges(e){for(var t=[],r=0;r<e.length;r+=1){var i=e[r],a=i[0],o=i[1];r===0?t.push([a,o]):a-1<=t[t.length-1][1]?t[t.length-1][1]=Math.max(t[t.length-1][1],o):t.push([a,o])}return t}static translateTokenBox(e,t){var{x1:r,y1:i,x2:a,y2:o}=e,{gridX:s,gridY:l,width:d,height:u,verticalBarWidth:c,horizontalBarHeight:m}=t,v=Ve(s+r,s,d-c),g=Ve(s+a,s,d-c),f=Ve(l+i,l,u-m),p=Ve(l+o,l,u-m);return{x1:v,y1:f,x2:g,y2:p,token:e.token}}static getTextRenderMetrics(e,t,r){var{metrics:i,model:a,theme:o}=e,{firstColumn:s,allColumnXs:l,allColumnWidths:d,allRowYs:u,allRowHeights:c,modelRows:m,modelColumns:v}=i,{cellHorizontalPadding:g,treeDepthIndent:f,treeHorizontalPadding:p}=o,C=U(m,r),b=U(v,t),S=a.textAlignForCell(b,C),E=U(l,t),y=U(u,r),T=U(d,t),O=U(c,r),D=t===s,P=0;ze(a)&&a.hasExpandableRows&&D&&(P=f*(a.depthForRow(r)+1)+p);var R=T-P,_=E+g,M=y+O*.5;return S==="right"?_=E+R-g:S==="center"&&(_=E+R*.5),_+=P,{width:R-g*2,x:_,y:M}}static findTokensWithProtocolInText(e){var t=Ff(e);return t.filter(r=>r.type==="url"?/^https?:\/\//.test(r.value):!0)}}hC(V,"PIXELS_PER_LINE",100/3);function Nr(n,e,t){return e=FD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function FD(n){var e=ID(n,"string");return typeof e=="symbol"?e:String(e)}function ID(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function qs(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ra.CACHE_SIZE,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Math.floor(e/2);if(n.size>e)for(var r=n.keys();n.size>t;)n.delete(r.next().value)}function Sv(n,e,t,r,i){for(var a=new Map,o=0,s=0;s<n&&s<t;s+=1)a.set(s,o),o+=U(i,s);o=r;for(var l=0;l<e&&t-l-1>=0;l+=1)o-=U(i,t-l-1),a.set(t-l-1,o);return a}class Ra{constructor(){var{userColumnWidths:e=new Map,userRowHeights:t=new Map,calculatedColumnWidths:r=new Map,calculatedRowHeights:i=new Map,fontWidths:a=new Map,modelRows:o=new Map,modelColumns:s=new Map,movedRows:l=[],movedColumns:d=[],initialRowHeights:u=new Map,initialColumnWidths:c=new Map}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Nr(this,"initialRowHeights",void 0),Nr(this,"initialColumnWidths",void 0),Nr(this,"userColumnWidths",void 0),Nr(this,"userRowHeights",void 0),Nr(this,"calculatedColumnWidths",void 0),Nr(this,"calculatedRowHeights",void 0),Nr(this,"fontWidths",void 0),Nr(this,"modelRows",void 0),Nr(this,"modelColumns",void 0),Nr(this,"movedRows",void 0),Nr(this,"movedColumns",void 0),this.userColumnWidths=e,this.userRowHeights=t,this.calculatedRowHeights=i,this.calculatedColumnWidths=r,this.fontWidths=a,this.modelRows=o,this.modelColumns=s,this.movedRows=l,this.movedColumns=d,this.initialRowHeights=u,this.initialColumnWidths=c}getMetrics(e){var{left:t,top:r,leftOffset:i,topOffset:a,width:o,height:s,theme:l,model:d,movedRows:u,movedColumns:c,draggingColumn:m}=e,{rowHeight:v,rowHeaderWidth:g,rowFooterWidth:f,columnWidth:p,columnHeaderHeight:C,minScrollHandleSize:b,scrollBarSize:S}=l;u!==this.movedRows&&(this.movedRows=u,this.modelRows.clear()),c!==this.movedColumns&&(this.movedColumns=c,this.modelColumns.clear());var{columnCount:E,rowCount:y,floatingTopRowCount:T,floatingBottomRowCount:O,floatingLeftColumnCount:D,floatingRightColumnCount:P,columnHeaderMaxDepth:R}=d,_=this.getFirstRow(e),M=this.getFirstColumn(e),A=this.getGridX(e),B=this.getGridY(e),$=ze(d)&&d.hasExpandableRows?this.calculateTreePaddingX(e):0,z=0,G=this.getVisibleRowHeights(e),K=this.getVisibleColumnWidths(e,M,$),X=Array.from(G.keys()),J=Array.from(K.keys()),I=new Map([...G,...this.getFloatingRowHeights(e)]),N=new Map([...K,...this.getFloatingColumnWidths(e)]),k=this.getVisibleColumnXs(N,J,i),x=this.getVisibleRowYs(I,X,a),Y=X.length>0?X[X.length-1]:r,W=J.length>0?J[J.length-1]:t,ee=this.getBottomViewport(e,X,x,I),oe=this.getRightViewport(e,J,k,N),ae=this.getFloatingTopHeight(e,I),se=this.getFloatingBottomHeight(e,I),pe=this.getFloatingLeftWidth(e,N),He=this.getFloatingRightWidth(e,N),at=Array.from(N.values()),ot=Array.from(I.values()),Qe=at.reduce((Vn,Po)=>Vn+Po,0)-i,lt=ot.reduce((Vn,Po)=>Vn+Po,0)-a,Ot=i+Qe+f,Le=a+lt,_t=o-A,Vt=s-B,yr=this.getLastLeft(e,null,_t-f),Tr=this.getLastLeft(e,null,_t-f-S),an=this.getLastTop(e,null,Vt-se),Tn=this.getLastTop(e,null,Vt-se-S),Ur=Tr,Mt=Tn;yr===0&&an===0&&(Ur=0,Mt=0);var on=Ur>0,ir=on?S:0,ar=Mt>0,Nt=ar?S:0,$r=A,sn=R*C,Br=o-$r-Nt,or=s-sn-ir,gi=E===1?Br/Ot:(E-Ur)/E,Pn=y===1?or/Le:(y-Mt)/y,Bn=on?Ve(Br*gi,b,Br-1):0,Vr=ar?Ve(or*Pn,b,or-1):0,ln=U(N,t,0),Ji=U(I,r,0),Ma=ln>0?i/ln:0,Aa=Ji>0?a/Ji:0,La=E===1?i/(Ot-_t):(t+Ma)/Ur,ka=y===1?a/(Le-Vt):(r+Aa)/Mt,xa=on?La*(Br-Bn):0,st=ar?ka*(or-Vr):0,Ns=[...Array(T).keys(),...[...Array(O).keys()].map(Vn=>y-Vn-1)],yo=new Map([...x,...this.getFloatingRowYs(e,I,Math.floor(s-B-ir))]),Fs=[...Array(D).keys(),...[...Array(P).keys()].map(Vn=>E-Vn-1)],ea=new Map([...k,...this.getFloatingColumnXs(e,N,Math.floor(o-A-Nt))]),Is=[];if(m)for(var sr=m.range[0];sr<=m.range[1];sr+=1)Is.push(sr),N.has(sr)||N.set(sr,this.getVisibleColumnWidth(sr,e)),ea.has(sr)||ea.set(sr,0);var _s=X.concat(Ns),To=J.concat(Fs).concat(Is),Ms=this.getModelRows(_s,e),Hd=this.getModelColumns(To,e),Ud=this.getVisibleRowTreeBoxes(I,Ms,e),As=this.getTopVisible(e,yo,I,X),Ls=this.getLeftVisible(e,ea,N,J),$d=Mt>0?this.getBottomVisible(e,yo,I,X,B):Y,ks=Ur>0?this.getRightVisible(e,ea,N,J,A):W,{fontWidths:xs,userColumnWidths:Bd,userRowHeights:Vd,calculatedRowHeights:Gd,calculatedColumnWidths:Wd}=this;return{rowHeight:v,rowHeaderWidth:g,rowFooterWidth:f,rowCount:y,columnWidth:p,columnCount:E,columnHeaderHeight:C,floatingTopRowCount:T,floatingBottomRowCount:O,floatingLeftColumnCount:D,floatingRightColumnCount:P,gridX:A,gridY:B,firstRow:_,firstColumn:M,treePaddingX:$,treePaddingY:z,left:t,top:r,bottom:Y,right:W,topOffset:a,leftOffset:i,topVisible:As,leftVisible:Ls,bottomVisible:$d,rightVisible:ks,bottomViewport:ee,rightViewport:oe,width:o,height:s,maxX:Qe,maxY:lt,lastLeft:Ur,lastTop:Mt,barHeight:or,barTop:sn,barWidth:Br,barLeft:$r,handleHeight:Vr,handleWidth:Bn,hasHorizontalBar:on,hasVerticalBar:ar,verticalBarWidth:Nt,horizontalBarHeight:ir,scrollX:xa,scrollY:st,scrollableContentWidth:Ot,scrollableContentHeight:Le,scrollableViewportWidth:_t,scrollableViewportHeight:Vt,visibleRows:X,visibleColumns:J,visibleRowHeights:G,visibleColumnWidths:K,floatingRows:Ns,floatingColumns:Fs,allRows:_s,allColumns:To,allRowHeights:I,allColumnWidths:N,floatingTopHeight:ae,floatingBottomHeight:se,floatingLeftWidth:pe,floatingRightWidth:He,visibleRowYs:x,visibleColumnXs:k,allRowYs:yo,allColumnXs:ea,visibleRowTreeBoxes:Ud,modelRows:Ms,modelColumns:Hd,movedRows:u,movedColumns:c,fontWidths:xs,userColumnWidths:Bd,userRowHeights:Vd,calculatedRowHeights:Gd,calculatedColumnWidths:Wd,columnHeaderMaxDepth:R}}getGridX(e){var{theme:t}=e,{rowHeaderWidth:r}=t;return r}getGridY(e){var{theme:t,model:r}=e,{columnHeaderHeight:i}=t,{columnHeaderMaxDepth:a}=r;return a*i}getVisibleHeight(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingRowHeights(e),{height:r,theme:i}=e,{scrollBarSize:a}=i,o=this.getGridY(e),s=this.getFloatingBottomHeight(e,t),l=this.getFloatingTopHeight(e,t);return r-s-l-o-a}getVisibleWidth(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingColumnWidths(e),{width:r,theme:i}=e,{scrollBarSize:a,rowFooterWidth:o}=i,s=this.getGridX(e),l=this.getFloatingRightWidth(e,t),d=this.getFloatingLeftWidth(e,t);return r-d-l-s-a-o}getFirstIndex(e,t,r){for(var i=e.size+1,a=0;a<i;a+=1){var o=t(a,r);if(e.get(o)!==0)return a}return 0}getFirstColumn(e){return this.getFirstIndex(this.userColumnWidths,this.getModelColumn.bind(this),e)}getFirstRow(e){return this.getFirstIndex(this.userRowHeights,this.getModelRow.bind(this),e)}getLastLeft(e,t,r){var{model:i}=e,{columnCount:a,floatingRightColumnCount:o}=i,s=Math.max(0,a-o-1);t!=null&&(s=t);for(var l=0;s>=0;){var d=this.getVisibleColumnWidth(s,e);if(l+=d,l>=r)return Ve(s+1,0,t??a-1);s-=1}return 0}getLastTop(e,t,r){var{model:i}=e,{rowCount:a,floatingBottomRowCount:o}=i,s=Math.max(0,a-o-1);t!=null&&(s=t);for(var l=0;s>=0;){var d=this.getVisibleRowHeight(s,e);if(l+=d,l>=r)return Ve(s+1,0,a-1);s-=1}return 0}getTopForTopVisible(e,t){for(var r=this.getFloatingTopHeight(e),i=t,a=0;i>0&&a<r;)i-=1,a+=this.getVisibleRowHeight(i,e);return i}getTopForBottomVisible(e,t){var{height:r}=e,i=this.getGridY(e),a=this.getFloatingBottomHeight(e),o=r-i-a;return this.getLastTop(e,t,o)}getLeftForLeftVisible(e,t){for(var r=this.getFloatingLeftWidth(e),i=t,a=0;i>0&&a<r;)i-=1,a+=this.getVisibleColumnWidth(i,e);return i}getLeftForRightVisible(e,t){var{width:r}=e,i=this.getGridX(e),a=this.getFloatingRightWidth(e),o=r-i-a;return this.getLastLeft(e,t,o)}getFloatingRowHeights(e){for(var{model:t}=e,{floatingTopRowCount:r,floatingBottomRowCount:i,rowCount:a}=t,o=new Map,s=0;s<r&&s<a;s+=1)o.set(s,this.getVisibleRowHeight(s,e));for(var l=0;l<i&&a-l-1>=0;l+=1){var d=a-l-1;o.set(d,this.getVisibleRowHeight(d,e))}return o}getVisibleRowHeights(e){for(var{top:t,topOffset:r,height:i,model:a}=e,o=0,s=t,l=new Map,{rowCount:d}=a;o<i+r&&s<d;){var u=this.getVisibleRowHeight(s,e);l.set(s,u),o+=u,s+=1}return l}getFloatingColumnWidths(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFirstColumn(e),r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.calculateTreePaddingX(e),{model:i}=e,{columnCount:a,floatingLeftColumnCount:o,floatingRightColumnCount:s}=i,l=new Map,d=0;d<o&&d<a;d+=1)l.set(d,this.getVisibleColumnWidth(d,e,t,r));for(var u=0;u<s&&a-u-1>=0;u+=1){var c=a-u-1;l.set(c,this.getVisibleColumnWidth(c,e,t,r))}return l}getVisibleColumnWidths(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFirstColumn(e),r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.calculateTreePaddingX(e),{left:i,leftOffset:a,width:o,model:s}=e,l=0,d=i,u=new Map,{columnCount:c}=s;l<o+a&&d<c;){var m=this.getVisibleColumnWidth(d,e,t,r);u.set(d,m),l+=m,d+=1}return u}getFloatingColumnXs(e,t,r){var{model:i}=e,{columnCount:a,floatingLeftColumnCount:o,floatingRightColumnCount:s}=i;return Sv(o,s,a,r,t)}getVisibleColumnXs(e,t,r){for(var i=new Map,a=-r,o=0;o<t.length;o+=1){var s=t[o],l=U(e,s);i.set(s,a),a+=l}return i}getFloatingRowYs(e,t,r){var{model:i}=e,{floatingTopRowCount:a,floatingBottomRowCount:o,rowCount:s}=i;return Sv(a,o,s,r,t)}getVisibleRowYs(e,t,r){for(var i=new Map,a=-r,o=0;o<t.length;o+=1){var s=t[o],l=U(e,s);i.set(s,a),a+=l}return i}getVisibleRowTreeBoxes(e,t,r){var i=new Map,{model:a,theme:o}=r,{treeDepthIndent:s,treeHorizontalPadding:l}=o;return ze(a)&&a.hasExpandableRows&&e.forEach((d,u)=>{var c=U(t,u);if(a.isRowExpandable(c)){var m=a.depthForRow(c),v=m*s+l,g=(m+1)*s+l,f=0,p=d;i.set(u,{x1:v,y1:f,x2:g,y2:p})}}),i}getFloatingLeftWidth(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingColumnWidths(e),{model:r}=e,{floatingLeftColumnCount:i}=r,a=0,o=0;o<i;o+=1)a+=U(t,o);return a}getFloatingRightWidth(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingColumnWidths(e),{model:r}=e,{floatingRightColumnCount:i,columnCount:a}=r,o=0,s=0;s<i;s+=1)o+=U(t,a-s-1);return o}getFloatingTopHeight(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingRowHeights(e),{model:r}=e,{floatingTopRowCount:i}=r,a=0,o=0;o<i;o+=1)a+=U(t,o);return a}getFloatingBottomHeight(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getFloatingRowHeights(e),{model:r}=e,{floatingBottomRowCount:i,rowCount:a}=r,o=0,s=0;s<i;s+=1)o+=U(t,a-s-1);return o}getTopVisible(e,t,r,i){for(var a=this.getFloatingTopHeight(e,r),o=0;o<i.length;o+=1){var s=i[o],l=U(t,s);if(l>=a)return s}return 0}getLeftVisible(e,t,r,i){for(var a=this.getFloatingLeftWidth(e,r),o=0;o<i.length;o+=1){var s=i[o],l=U(t,s);if(l>=a)return s}return 0}getBottomVisible(e,t,r,i,a){for(var{height:o,theme:s}=e,{scrollBarSize:l}=s,d=this.getFloatingBottomHeight(e,r),u=o-a-l-d,c=i.length-1;c>=0;c-=1){var m=i[c],v=U(t,m),g=U(r,m);if(v+g<=u)return m}return 0}getRightVisible(e,t,r,i,a){for(var{width:o,theme:s}=e,{scrollBarSize:l}=s,d=this.getFloatingRightWidth(e,r),u=o-a-l-d,c=i.length-1;c>=0;c-=1){var m=i[c],v=U(t,m),g=U(r,m);if(v+g<=u)return m}return 0}getBottomViewport(e,t,r,i){var{height:a,theme:o}=e,{rowHeight:s}=o;return this.getLastIndexViewport(t,r,i,a,s)}getRightViewport(e,t,r,i){var{width:a,theme:o}=e,{columnWidth:s}=o;return this.getLastIndexViewport(t,r,i,a,s)}getLastIndexViewport(e,t,r,i,a){var o=0,s=0;return e.length>0&&(o=e[e.length-1],s=U(t,o)+U(r,o)),s<i&&(o+=Math.ceil((i-s)/a)),o}getVisibleItemSize(e,t,r){var i;return(i=t.get(e))!==null&&i!==void 0?i:r()}getVisibleRowHeight(e,t){var r=this.getModelRow(e,t),i=this.calculateRowHeight(e,r,t);return this.getVisibleItemSize(r,this.userRowHeights,()=>{var a=this.initialRowHeights.get(r);return a!==void 0?a:i})}getVisibleColumnWidth(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.getFirstColumn(t),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:this.calculateTreePaddingX(t),a=this.getModelColumn(e,t),o=this.calculateColumnWidth(e,a,t,r,i);return this.getVisibleItemSize(a,this.userColumnWidths,()=>{var s=this.initialColumnWidths.get(a);return s!==void 0?s:o})}getModelRows(e,t){for(var r=new Map,i=0;i<e.length;i+=1){var a=e[i],o=this.getModelRow(a,t);r.set(a,o)}return r}getModelRow(e,t){if(this.modelRows.has(e))return U(this.modelRows,e);var{movedRows:r}=t,i=V.getModelIndex(e,r);return this.modelRows.set(e,i),i}getModelColumns(e,t){for(var r=new Map,i=0;i<e.length;i+=1){var a=e[i],o=this.getModelColumn(a,t);r.set(a,o)}return r}getModelColumn(e,t){var r=this.modelColumns.has(e);if(r)return U(this.modelColumns,e);var{movedColumns:i}=t,a=V.getModelIndex(e,i);return this.modelColumns.set(e,a),a}calculateRowHeight(e,t,r){var{theme:i}=r,{autoSizeRows:a,rowHeight:o}=i;if(!a)return o;var s=this.calculatedRowHeights.get(t);return s??(this.calculatedRowHeights.set(t,Math.ceil(o)),qs(this.calculatedRowHeights),o)}calculateColumnWidth(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:this.getFirstColumn(r),a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.calculateTreePaddingX(r),{theme:o}=r,{autoSizeColumns:s,minColumnWidth:l}=o;if(!s){var{columnWidth:d}=o;return d}var u=this.calculateColumnHeaderWidth(t,r),c=this.calculateColumnDataWidth(t,r),m=this.calculatedColumnWidths.get(t),v=Math.ceil(Math.max(u,c));return v=Math.max(l,v),m!=null&&m>v?v=m:(this.calculatedColumnWidths.set(t,v),qs(this.calculatedColumnWidths)),e===i&&(v+=a),v}calculateColumnHeaderWidth(e,t){var{model:r,theme:i}=t,{headerFont:a,headerHorizontalPadding:o}=i,s=r.textForColumnHeader(e,0);if(s!==void 0&&s!==""){var l=this.getWidthForFont(a,t);return s.length*l+o*2}return o*2}calculateColumnDataWidth(e,t){var{top:r,height:i,width:a,model:o,theme:s}=t,{floatingTopRowCount:l,floatingBottomRowCount:d,rowCount:u}=o,{font:c,cellHorizontalPadding:m,rowHeight:v,rowHeaderWidth:g,rowFooterWidth:f,scrollBarSize:p,dataBarHorizontalPadding:C}=s,b=0,S=this.getWidthForFont(c,t),E=i/v,y=Math.ceil(r+E);return V.iterateAllItems(r,y,l,d,u,T=>{var O=this.getModelRow(T,t),D=o.textForCell(e,O),P=o.renderTypeForCell(e,O),R=0;if(D){var _=m*2;R=D.length*S+_}P==="dataBar"&&(R+=C),b=Math.max(b,R)}),b=Math.max(Math.min(b,(a-g-p-f)*Ra.MAX_COLUMN_WIDTH),m*2),b}calculateTreePaddingX(e){var{top:t,height:r,model:i,theme:a}=e,{rowHeight:o,treeDepthIndent:s}=a;if(!ze(i)||!i.hasExpandableRows)return 0;for(var l=0,d=r/o,u=Math.ceil(t+d),c=t;c<=u;c+=1){var m=this.getModelRow(c,e),v=i.depthForRow(m);l=Math.max(l,s*(v+1))}return l}getWidthForFont(e,t){if(this.fontWidths.has(e))return U(this.fontWidths,e);var{context:r}=t;r.font=e;var i=r.measureText("8"),{width:a}=i;return this.fontWidths.set(e,a),this.fontWidths.set(r.font,a),a}setColumnWidth(e,t){var r=new Map(this.userColumnWidths);r.set(e,Math.ceil(t)),qs(r),this.userColumnWidths=r}resetColumnWidth(e){var t=new Map(this.userColumnWidths);t.delete(e),this.userColumnWidths=t}setRowHeight(e,t){var r=new Map(this.userRowHeights);r.set(e,Math.ceil(t)),qs(r),this.userRowHeights=r}resetRowHeight(e){var t=new Map(this.userRowHeights);t.delete(e),this.userRowHeights=t,this.calculatedRowHeights.delete(e)}}Nr(Ra,"CACHE_SIZE",1e4);Nr(Ra,"MAX_COLUMN_WIDTH",.8);const _D=Ra;var MD=Object.freeze({allowColumnResize:!0,allowRowResize:!0,autoSelectRow:!1,autoSelectColumn:!1,autoSizeColumns:!0,autoSizeRows:!0,backgroundColor:"#000000",black:"#000000",white:"#ffffff",cellHorizontalPadding:5,headerHorizontalPadding:5,font:"12px Arial, sans serif",gridColumnColor:"#8f8f8f66",gridRowColor:"#8f8f8f66",headerBackgroundColor:"#222222",headerSeparatorColor:"#000000",headerSeparatorHoverColor:"#888888",headerSeparatorHandleSize:5,headerHiddenSeparatorSize:5,headerHiddenSeparatorHoverColor:"#8888FF",headerColor:"#d5d5d5",headerFont:"10px Arial, sans serif",columnHoverBackgroundColor:"#444444",selectedColumnHoverBackgroundColor:"#494949",rowBackgroundColors:"#333333 #222222",rowHoverBackgroundColor:"#444444",selectedRowHoverBackgroundColor:"#494949",minScrollHandleSize:50,scrollBarBackgroundColor:"#111111",scrollBarHoverBackgroundColor:"#333333",scrollBarCasingColor:"#000000",scrollBarCornerColor:"#000000",scrollBarColor:"#555555",scrollBarHoverColor:"#888888",scrollBarActiveColor:"#AAAAAA",scrollBarSize:12,scrollBarHoverSize:16,scrollBarCasingWidth:1,scrollSnapToColumn:!1,scrollSnapToRow:!1,selectionColor:"#4286f433",selectionOutlineColor:"#4286f4",selectionOutlineCasingColor:"#222222",scrollBarSelectionTick:!0,scrollBarSelectionTickColor:"#4286f433",scrollBarActiveSelectionTickColor:"#4286f480",shadowBlur:8,shadowColor:"#000000",textColor:"#ffffff",hyperlinkColor:"#4878ea",maxDepth:6,treeDepthIndent:10,treeHorizontalPadding:5,treeLineColor:"#888888",treeMarkerColor:"#cccccc",treeMarkerHoverColor:"#ffffff",rowHeight:20,columnWidth:100,minRowHeight:20,minColumnWidth:55,columnHeaderHeight:20,rowHeaderWidth:30,rowFooterWidth:0,headerResizeSnapThreshold:10,headerResizeHiddenSnapThreshold:8,allowColumnReorder:!0,allowRowReorder:!0,reorderOffset:2,floatingGridColumnColor:"#8f8f8f66",floatingGridRowColor:"#8f8f8f66",floatingRowBackgroundColors:"#393939 #292929",floatingDividerOuterColor:"#000000",floatingDividerInnerColor:"#cccccc",zeroLineColor:"#888888",positiveBarColor:"#00ff00",negativeBarColor:"#ff0000",dataBarHorizontalPadding:90});const AD=MD;function wv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ev(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wv(Object(t),!0).forEach(function(r){LD(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):wv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function LD(n,e,t){return e=kD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kD(n){var e=xD(n,"string");return typeof e=="symbol"?e:String(e)}function xD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var HD=(n,e)=>{var t=!1,r=Pe(n,Ev(Ev({},e),{},{dispose:()=>{t||(t=!0,r.clear(),t=!1)}}));return r};const En=HD;function UD(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6,r=$u.hex.lab.raw(n);return r[0]=Math.max(r[0]-r[0]/t*e,0),"#".concat($u.lab.hex(r))}function $D(n,e){var[t,r,i]=$u.hex.rgb(n);return"rgba(".concat(t,", ").concat(r,", ").concat(i,", ").concat(e,")")}var BD=n=>{var{r:e,g:t,b:r}=n,i=.4122214708*e+.5363325363*t+.0514459929*r,a=.2119034982*e+.6806995451*t+.1073969566*r,o=.0883024619*e+.2817188376*t+.6299787005*r,s=Math.cbrt(i),l=Math.cbrt(a),d=Math.cbrt(o);return{L:.2104542553*s+.793617785*l-.0040720468*d,a:1.9779984951*s-2.428592205*l+.4505937099*d,b:.0259040371*s+.7827717662*l-.808675766*d}},VD=n=>{var{L:e,a:t,b:r}=n,i=e+.3963377774*t+.2158037573*r,a=e-.1055613458*t-.0638541728*r,o=e-.0894841775*t-1.291485548*r,s=i*i*i,l=a*a*a,d=o*o*o;return{r:Ve(4.0767416621*s-3.3077115913*l+.2309699292*d,0,255),g:Ve(-1.2684380046*s+2.6097574011*l-.3413193965*d,0,255),b:Ve(-.0041960863*s-.7034186147*l+1.707614701*d,0,255)}},GD=n=>{var e,t,r=(e=(t=n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(i,a,o,s)=>"#".concat(a).concat(a).concat(o).concat(o).concat(s).concat(s)).substring(1).match(/.{2}/g))===null||t===void 0?void 0:t.map(i=>parseInt(i,16)))!==null&&e!==void 0?e:[0,0,0];return{r:r[0],g:r[1],b:r[2]}},WD=n=>{var e=Math.round(n.r),t=Math.round(n.g),r=Math.round(n.b);return"#".concat([e,t,r].map(i=>{var a=i.toString(16);return a.length===1?"0".concat(a):a}).join(""))},jD=(n,e,t)=>{var{L:r,a:i,b:a}=n,{L:o,a:s,b:l}=e,d=r+(o-r)*t,u=i+(s-i)*t,c=a+(l-a)*t;return{L:d,a:u,b:c}};const da={colorWithAlpha:$D,darkenForDepth:UD,linearSRGBToOklab:BD,OklabToLinearSRGB:VD,hexToRgb:GD,rgbToHex:WD,lerpColor:jD};function yv(n,e,t){return e=zD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zD(n){var e=KD(n,"string");return typeof e=="symbol"?e:String(e)}function KD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Pt{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5e3;yv(this,"order",void 0),yv(this,"cursor",null),this.order=e}onDown(e,t,r){return!1}onMove(e,t,r){return!1}onDrag(e,t,r){return!1}onLeave(e,t,r){return!1}onClick(e,t,r){return!1}onContextMenu(e,t,r){return!1}onDoubleClick(e,t,r){return!1}onUp(e,t,r){return!1}onWheel(e,t,r){return!1}}function _o(n,e,t){return e=YD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function YD(n){var e=qD(n,"string");return typeof e=="symbol"?e:String(e)}function qD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class XD extends Pt{constructor(){super(...arguments),_o(this,"draggingIndex",void 0),_o(this,"resizingItems",[]),_o(this,"hiddenItems",[]),_o(this,"targetSizes",new Map),_o(this,"dragOffset",0)}onDown(e,t){var{metrics:r}=t,{model:i}=t.props,a=t.getTheme();if(!r)throw new Error("metrics not set");var o=this.getSeparator(e,r,i,a);if(o!=null){var s=o.index;return this.dragOffset=0,this.draggingIndex=s,this.resizingItems=[s],this.hiddenItems=this.getHiddenItems(s,r).reverse(),this.targetSizes.clear(),this.addTargetSize(r,s),this.updateCursor(r,s),this.updateSeparator(t,o),!0}return!1}onMove(e,t){var{metrics:r}=t,{model:i}=t.props,a=t.getTheme();if(!r)throw new Error("metrics not set");var o=this.getSeparator(e,r,i,a);return o!=null?(this.updateCursor(r,o.index),!0):!1}onDrag(e,t){if(this.draggingIndex==null)return!1;var r=e[this.pointProperty],{metricCalculator:i,metrics:a}=t;if(!a)throw new Error("metrics not set");for(var o=t.getTheme(),s=a[this.visibleOffsetProperty],l=a[this.marginProperty],d=a[this.calculatedSizesProperty],u=a[this.modelIndexesProperty],c=a[this.firstIndexProperty],m=a[this.treePaddingProperty],v=new Map,g=this.resizingItems[this.resizingItems.length-1];g!=null;){var f=U(s,g),p=r-l-f-this.dragOffset,C=U(u,g),b=this.targetSizes.get(C),S=this.resizingItems.length>1,E=this.hiddenItems.indexOf(g),y=U(d,C);g===c&&(y+=m);var T=p;if(Math.abs(p-y)<=o.headerResizeSnapThreshold?T=y:b!==void 0&&p>b&&(S&&E!==0||E>0)?T=b:p<=o.headerResizeHiddenSnapThreshold&&(T=0),v.set(C,T),p<-o.headerResizeSnapThreshold&&T===0)if(E>=0&&S){var O;this.resizingItems.pop(),this.removeTargetSize(a,g),g=this.resizingItems[this.resizingItems.length-1],this.dragOffset-=(O=this.targetSizes.get(U(u,g)))!==null&&O!==void 0?O:0}else g=this.getNextShownItem(g,a),g!==null&&(this.resizingItems.push(g),this.addTargetSize(a,g));else b!==void 0&&p>b+o.headerResizeSnapThreshold&&T===b?E>0?(this.dragOffset+=T,g=this.hiddenItems[E-1],this.resizingItems.push(g),this.addTargetSize(a,g)):S?(this.resizingItems.pop(),this.removeTargetSize(a,g),g=this.resizingItems[this.resizingItems.length-1]):g=null:g=null}return v.forEach((D,P)=>{var R,_=(R=i[this.initialSizesProperty].get(P))!==null&&R!==void 0?R:d.get(P);D===_?this.resetSize(i,P):this.setSize(i,P,D)}),this.updateCursor(a,this.draggingIndex),!0}onUp(e,t){return this.draggingIndex!=null&&(this.draggingIndex=void 0,this.resizingItems=[],this.hiddenItems=[],this.targetSizes.clear(),this.updateSeparator(t,null)),!1}onDoubleClick(e,t){var{metrics:r,metricCalculator:i}=t,{model:a}=t.props,o=t.getTheme();if(!r)throw new Error("metrics not set");var s=this.getSeparator(e,r,a,o);if(s!=null){var l=r[this.modelIndexesProperty],d=U(l,s.index),u=U(r[this.calculatedSizesProperty],d),c=i[this.initialSizesProperty].get(d);return u===c?this.resetSize(i,d):this.setSize(i,d,u),t.forceUpdate(),!0}return!1}updateCursor(e,t){var r=e[this.visibleSizesProperty],i=U(r,t);i===0?this.cursor=this.hiddenCursor:this.cursor=this.defaultCursor}addTargetSize(e,t){var r=e[this.modelIndexesProperty],i=e[this.userSizesProperty],a=e[this.calculatedSizesProperty],o=t===0?e[this.treePaddingProperty]:0,s=U(r,t),l=i.get(s);(l==null||l===0)&&(l=U(a,s)+o),this.targetSizes.set(s,l)}removeTargetSize(e,t){var r=e[this.modelIndexesProperty],i=U(r,t);this.targetSizes.delete(i)}}const cC=XD;function qt(n,e,t){return e=QD(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QD(n){var e=ZD(n,"string");return typeof e=="symbol"?e:String(e)}function ZD(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ic extends cC{constructor(){super(...arguments),qt(this,"hiddenCursor","e-resize"),qt(this,"defaultCursor","col-resize"),qt(this,"pointProperty","x"),qt(this,"userSizesProperty","userColumnWidths"),qt(this,"visibleOffsetProperty","visibleColumnXs"),qt(this,"visibleSizesProperty","visibleColumnWidths"),qt(this,"marginProperty","rowHeaderWidth"),qt(this,"calculatedSizesProperty","calculatedColumnWidths"),qt(this,"initialSizesProperty","initialColumnWidths"),qt(this,"modelIndexesProperty","modelColumns"),qt(this,"firstIndexProperty","firstColumn"),qt(this,"treePaddingProperty","treePaddingX"),qt(this,"getHiddenItems",V.getHiddenColumns),qt(this,"getNextShownItem",V.getNextShownColumn),qt(this,"getSeparator",ic.getColumnSeparator)}static getColumnSeparator(e,t,r,i){if(!i.allowColumnResize)return null;var{x:a,y:o,columnHeaderDepth:s}=e,{modelColumns:l}=t,d=V.getColumnSeparatorIndex(a,o,t,i);if(d==null||s==null||s>0)return null;var u=l.get(d);return u!=null?{index:d,depth:0}:null}setSize(e,t,r){e.setColumnWidth(t,r)}resetSize(e,t){e.resetColumnWidth(t)}updateSeparator(e,t){e.setState({draggingColumnSeparator:t,isDragging:t!==null})}}const mC=ic;var ya=10;function JD(n,e,t){return e=eR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function eR(n){var e=tR(n,"string");return typeof e=="symbol"?e:String(e)}function tR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class rR{constructor(){JD(this,"getCachedTruncatedString",En((e,t,r,i,a)=>pC.truncateToWidth(e,t,r,i,a),{max:1e4}))}drawCellRowTreeMarker(e,t,r){var{metrics:i,model:a,mouseX:o,mouseY:s,theme:l}=t,{firstColumn:d,gridX:u,gridY:c,allColumnXs:m,allColumnWidths:v,allRowYs:g,allRowHeights:f,visibleRowTreeBoxes:p}=i,{treeMarkerColor:C,treeMarkerHoverColor:b}=l,S=U(m,d),E=U(v,d),y=U(g,r),T=U(f,r);if(!(!ze(a)||!a.isRowExpandable(r))){var O=U(p,r),D=o!=null&&s!=null&&o>=u+S&&o<=u+S+E&&s>=c+y&&s<=c+y+T?b:C;this.drawTreeMarker(e,t,S,y,O,D,a.isRowExpanded(r))}}drawTreeMarker(e,t,r,i,a,o,s){var{x1:l,y1:d,x2:u,y2:c}=a,m=s?"⊟":"⊞",v=r+(l+u)*.5+.5,g=i+(d+c)*.5+.5;e.fillStyle=o,e.textAlign="center",e.fillText(m,v,g)}}const vC=rR;function Tv(n){return n?.dataBarOptionsForCell!==void 0}function Pv(n,e,t){return e=nR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nR(n){var e=iR(n,"string");return typeof e=="symbol"?e:String(e)}function iR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class aR extends vC{constructor(){super(...arguments),Pv(this,"heightOfDigits",void 0),Pv(this,"getCachedWidestValueForColumn",En((e,t,r,i,a)=>{for(var o=0,s=0;s<t.length;s+=1){var l=t[s],d=U(r,l),u=i.textForCell(a,d);o=Math.max(o,e.measureText(u).width)}return o},{max:1e3}))}drawCellContent(e,t,r,i){var a,{metrics:o,model:s,theme:l}=t;if(Tv(s)){var{modelColumns:d,modelRows:u,allRowHeights:c,allRowYs:m,firstColumn:v,fontWidths:g}=o,f=r===v,p=U(c,i),C=U(u,i),b=U(d,r),S=U(m,i),E=s.textAlignForCell(b,C),y=s.textForCell(b,C),{x:T,width:O}=V.getTextRenderMetrics(t,r,i),D=(a=g?.get(e.font))!==null&&a!==void 0?a:ya,P=s.truncationCharForCell(b,C),R=this.getCachedTruncatedString(e,y,O,D,P),{columnMin:_,columnMax:M,axis:A,color:B,valuePlacement:$,opacity:z,markers:G,direction:K,value:X}=s.dataBarOptionsForCell(b,C),J=Array.isArray(B);if(!(_==null||M==null)){var{maxWidth:I,x:N,y:k,zeroPosition:x,leftmostPosition:Y,markerXs:W,totalValueRange:ee,dataBarWidth:oe}=this.getDataBarRenderMetrics(e,t,r,i);if(this.heightOfDigits===void 0){var{actualBoundingBoxAscent:ae,actualBoundingBoxDescent:se}=e.measureText("1234567890");this.heightOfDigits=ae+se}if(e.save(),e.textAlign=E,J){var pe=X>=0?B[B.length-1]:B[0];e.fillStyle=pe}else e.fillStyle=B;if(e.textBaseline="top",e.font=l.font,$!=="hide"&&e.fillText(R,T,S+(p-this.heightOfDigits)/2),J){var He=B.map(Vr=>da.linearSRGBToOklab(da.hexToRgb(Vr)));if(e.save(),e.beginPath(),e.roundRect(N,k,oe,p-2,1),e.clip(),X<0){if(K==="LTR")for(var at=Math.round(Math.abs(_)/ee*I),ot=at/(B.length-1),Qe=Math.round(Y),lt=0;lt<B.length-1;lt+=1){var Ot=He[lt],Le=He[lt+1];this.drawGradient(e,Ot,Le,Qe,S+1,ot,p),Qe+=ot}else if(K==="RTL")for(var _t=Math.round(I-Math.abs(M)/ee*I),Vt=_t/(B.length-1),yr=Math.round(x),Tr=B.length-1;Tr>0;Tr-=1){var an=He[Tr],Tn=He[Tr-1];this.drawGradient(e,an,Tn,yr,S+1,Vt,p),yr+=Vt}}else if(K==="LTR")for(var Ur=Math.round(I-Math.abs(_)/ee*I)-1,Mt=Ur/(B.length-1),on=Math.round(x),ir=0;ir<B.length-1;ir+=1){var ar=He[ir],Nt=He[ir+1];this.drawGradient(e,ar,Nt,on,S+1,Mt,p-2),on+=Mt}else if(K==="RTL")for(var $r=Math.round(Math.abs(M)/ee*I),sn=$r/(B.length-1),Br=Math.round(Y),or=B.length-1;or>0;or-=1){var gi=He[or],Pn=He[or-1];this.drawGradient(e,gi,Pn,Br,S+1,sn,p-2),Br+=sn}e.restore()}else e.save(),e.globalAlpha=z,e.beginPath(),e.roundRect(N,k,oe,p-2,1),e.fill(),e.restore();I>0&&W.forEach((Vr,ln)=>{e.fillStyle=G[ln].color,e.fillRect(Vr,k,1,p-2)});var Bn=!(A==="directional"&&($==="beside"&&E==="right"&&K==="LTR"||$==="beside"&&E==="left"&&K==="RTL"||$!=="beside"));Bn&&(e.strokeStyle=l.zeroLineColor,e.beginPath(),e.setLineDash([2,1]),e.moveTo(x,S),e.lineTo(x,S+p),e.stroke()),e.restore(),f&&ze(s)&&s.hasExpandableRows&&this.drawCellRowTreeMarker(e,t,i)}}}getDataBarRenderMetrics(e,t,r,i){var{metrics:a,model:o,theme:s}=t;if(!Tv(o))throw new Error("Grid model is not a data bar grid model");var{firstColumn:l,allColumnXs:d,allColumnWidths:u,allRowYs:c,modelColumns:m,modelRows:v,visibleRows:g}=a,{cellHorizontalPadding:f,treeDepthIndent:p,treeHorizontalPadding:C}=s,b=U(m,r),S=U(v,i),E=U(d,r),y=U(c,i),T=U(u,r),O=r===l,D=0;ze(o)&&o.hasExpandableRows&&O&&(D=p*(o.depthForRow(i)+1)+C);var P=o.textAlignForCell(b,S),{columnMin:R,columnMax:_,axis:M,valuePlacement:A,markers:B,direction:$,value:z}=o.dataBarOptionsForCell(b,S),G=this.getCachedWidestValueForColumn(e,g,v,o,b),K=2,X=A==="beside"&&P==="right"?2:1,J=_-R;_>=0&&R>=0||R===_?J=_:_<=0&&R<=0&&(J=Math.abs(R));var I=T-D-X-K;A==="beside"&&(I=I-f-G),I<0&&(I=0);var N=Math.max(Math.abs(R),Math.abs(_)),k=Math.abs(z)/J*I;I===0?k=0:M==="middle"?k=Math.abs(z)/N*(I/2):M==="directional"&&(k=Math.abs(z)/N*I);var x=R>=0?0:Math.abs(R)/J*I,Y=z>=0?x:x-Math.abs(z)/J*I,W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return pe>=0?x+Math.abs(pe)/J*I:x-Math.abs(pe)/J*I}),ee=A==="beside"&&P==="left"?f+G+K:K,oe=A==="beside"&&P==="right"?T-f-G-X:X;return $==="RTL"&&(x=R>=0?T:T-Math.abs(R)/J*I,Y=z>=0?x-z/J*I:x,W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return pe>=0?x-Math.abs(pe)/J*I:x+Math.abs(pe)/J*I})),M==="middle"?(x=I/2,$==="LTR"?(Y=z>=0?x:x-Math.abs(z)/N*(I/2),W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return pe>=0?x+Math.abs(pe)/N*(I/2):x-Math.abs(pe)/N*(I/2)})):$==="RTL"&&(Y=z<=0?x:x-Math.abs(z)/N*(I/2),W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return pe<=0?x+Math.abs(pe)/N*(I/2):x-Math.abs(pe)/N*(I/2)}))):M==="directional"&&($==="LTR"?(x=0,Y=x,W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return x+Math.abs(pe)/N*I})):$==="RTL"&&(x=T,Y=x-Math.abs(z)/N*I,W=B.map(ae=>{var{column:se}=ae,pe=Number(o.textForCell(se,S));return x-Math.abs(pe)/N*I}))),$==="LTR"?(x+=E+K+D,Y+=E+K+D,W=W.map(ae=>ae+E+K+D),A==="beside"&&P==="left"&&(x+=G+f,Y+=G+f,W=W.map(ae=>ae+G+f))):$==="RTL"&&(x=x+E-X,Y=Y+E-X,W=W.map(ae=>ae+E-X),A==="beside"&&P==="right"&&(x=x-f-G,Y=Y-f-G,W=W.map(ae=>ae-f-G))),ee+=E+D,oe+=E,{maxWidth:I,x:Y,y:y+1.5,zeroPosition:x,leftmostPosition:ee,rightmostPosition:oe,totalValueRange:J,dataBarWidth:k,markerXs:W}}drawGradient(e,t,r,i,a,o,s){for(var l=t,d=i;d<=i+o;d+=.5)this.drawGradientPart(e,d,a,1,s,da.rgbToHex(da.OklabToLinearSRGB(l))),l=da.lerpColor(t,r,(d-i)/o)}drawGradientPart(e,t,r,i,a,o){e.fillStyle=o,e.fillRect(t,r,i,a)}}const gC=aR;function oR(n,e,t){return e=sR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sR(n){var e=lR(n,"string");return typeof e=="symbol"?e:String(e)}function lR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class dR extends vC{constructor(){super(...arguments),oR(this,"getCachedTokenBoxesForVisibleCell",En((e,t,r,i,a,o)=>{for(var s=0,l=a,d=[],u=0,c=0,m=0;m<t.length;m+=1){var v=t[m],{start:g,end:f}=v,p=f>e.length?e.substring(g):v.value;c+=o.measureText(e.substring(u,g)).width;var C=o.measureText(p).width,b=c,S=b+C,E={x1:b,y1:s,x2:S,y2:l,token:v};d.push(E),u=f,c+=C}return d},{max:1e4}))}drawCellContent(e,t,r,i){var{metrics:a,model:o,theme:s}=t,{fontWidths:l,modelColumns:d,modelRows:u,allRowHeights:c,firstColumn:m}=a,v=r===m,{textColor:g}=s,f=U(c,i),p=U(u,i),C=U(d,r),b=o.textForCell(C,p),S=o.truncationCharForCell(C,p);if(b&&f>0){var E,y=o.textAlignForCell(C,p)||"left";e.textAlign=y;var T=o.colorForCell(C,p,s)||g;e.fillStyle=T,e.save();var{width:O,x:D,y:P}=V.getTextRenderMetrics(t,r,i),R=(E=l.get(e.font))!==null&&E!==void 0?E:ya,_=this.getCachedTruncatedString(e,b,O,R,S),M=o.tokensForCell(C,p,_.length);if(_)for(var A=0,B=0,$=D,{actualBoundingBoxDescent:z}=e.measureText(_);B<_.length;){var G,K,X=M[A],J=B===X?.start?X:null,I=(G=(K=J?.end)!==null&&K!==void 0?K:X?.start)!==null&&G!==void 0?G:_.length,N=_.substring(B,I),{width:k}=e.measureText(N),x=N.endsWith("…")?e.measureText(N.substring(0,N.length-1)).width:k;J!=null?(e.fillStyle=s.hyperlinkColor,e.fillText(N,$,P),e.fillRect($,P+z,x,1)):(e.fillStyle=T,e.fillText(N,$,P)),$+=k,B=I,J!=null&&(A+=1)}e.restore()}v&&ze(o)&&o.hasExpandableRows&&this.drawCellRowTreeMarker(e,t,i)}getTokenBoxesForVisibleCell(e,t,r){var i,{metrics:a,context:o,model:s,theme:l}=r;if(o==null||a==null)return xe;var{modelRows:d,modelColumns:u}=a,c=U(d,t),m=U(u,e),v=s.textForCell(m,c),{width:g,x:f,y:p}=V.getTextRenderMetrics(r,e,t),{fontWidths:C}=a;o.save(),this.configureContext(o,r);var b=(i=C?.get(o.font))!==null&&i!==void 0?i:ya,S=s.truncationCharForCell(m,c),E=this.getCachedTruncatedString(o,v,g,b,S),{actualBoundingBoxAscent:y,actualBoundingBoxDescent:T}=o.measureText(E),O=y+T,D=s.tokensForCell(m,c,E.length);if(D.length===0)return o.restore(),xe;var P=this.getCachedTokenBoxesForVisibleCell(E,D,l.font,"middle",O,o).map(R=>({x1:R.x1+f,y1:R.y1+(p-y),x2:R.x2+f,y2:R.y2+(p-y),token:R.token}));return o.restore(),P}configureContext(e,t){var{theme:r}=t;e.font=r.font,e.textBaseline="middle",e.lineCap="butt"}}const fC=dR;function ua(n,e,t){return e=uR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uR(n){var e=hR(n,"string");return typeof e=="symbol"?e:String(e)}function hR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ln{constructor(){ua(this,"textCellRenderer",new fC),ua(this,"dataBarCellRenderer",new gC),ua(this,"getCachedBackgroundColors",En((e,t)=>e.split(" ").map(r=>{for(var i=[],a=0;a<t;a+=1)i.push(da.darkenForDepth(r,a,t));return i}),{max:1e3})),ua(this,"getCachedColorWithAlpha",En((e,t)=>da.colorWithAlpha(e,t),{max:1e3})),ua(this,"getCachedColorIsDark",En(e=>Qf.isDark(e),{max:1e3}))}static truncate(e,t){return t<e.length?e.substr(0,t)+"…":e}static binaryTruncateToWidth(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:t.length,o=arguments.length>5?arguments[5]:void 0;if(a>=t.length&&e.measureText(t).width<=r)return t;if(o!==void 0){var s=e.measureText(o).width;return o.repeat(Math.max(1,Math.floor(r/s)))}for(var l=i,d=Math.min(t.length-1,a),u=t;d>=l;){var c=Math.ceil((d+l)/2),m=Ln.truncate(t,c);if(e.measureText(m).width<=r){if(u=m,l===c)break;l=c}else if(c===0){u=m;break}else d=c-1}return u}static truncateToWidth(e,t,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ya,a=arguments.length>4?arguments[4]:void 0;if(r<=0||t.length<=0)return"";var o=Math.min(Math.max(0,Math.floor(r/i/2)-5),t.length),s=Math.min(Math.ceil(r/i*2),t.length);return Ln.binaryTruncateToWidth(e,t,r,o,s,a)}drawCanvas(e){var{context:t}=e;t.save(),this.configureContext(t,e),this.drawBackground(t,e),this.drawGrid(t,e),this.drawHeaders(t,e),this.drawFooters(t,e),this.drawDraggingColumn(t,e),this.drawDraggingRow(t,e),this.drawScrollBars(t,e),t.restore()}configureContext(e,t){var{theme:r}=t;e.font=r.font,e.textBaseline="middle",e.lineCap="butt"}drawBackground(e,t){var{theme:r,metrics:i}=t,{width:a,height:o}=i;e.fillStyle=r.backgroundColor,e.fillRect(0,0,a,o)}drawGrid(e,t){var{metrics:r,draggingRow:i,draggingColumn:a}=t,{gridX:o,gridY:s}=r;e.translate(o,s),this.drawGridBackground(e,t,i==null&&a==null),this.drawCellContents(e,t),this.drawFloatingRows(e,t),this.drawFloatingColumns(e,t),e.translate(-o,-s)}drawFloatingRows(e,t){var{draggingRow:r,draggingColumn:i,metrics:a,theme:o}=t,{floatingTopRowCount:s,floatingBottomRowCount:l,floatingRows:d,rowCount:u,visibleColumns:c,allRowYs:m,allRowHeights:v}=a;if(d.length!==0){o.floatingRowBackgroundColors&&this.drawRowStripesForRows(e,t,d,o.floatingRowBackgroundColors),r==null&&i==null&&this.drawFloatingMouseRowHover(e,t),this.drawGridLinesForItems(e,t,c,d,o.floatingGridColumnColor,o.floatingGridRowColor),this.drawCellBackgroundsForItems(e,t,c,d),this.drawFloatingBorders(e,t),s>0&&this.drawSelectedRanges(e,t,{top:0,bottom:s-1,maxY:U(m,s-1)+U(v,s-1)-.5}),l>0&&this.drawSelectedRanges(e,t,{top:u-l-1,bottom:u-1,minY:U(m,u-l)+.5,maxY:U(m,u-1)+U(v,u-1)-.5});for(var g=0;g<c.length;g+=1)for(var f=c[g],p=0;p<d.length;p+=1){var C=d[p];this.drawCellContent(e,t,f,C)}}}drawFloatingColumns(e,t){var{draggingRow:r,draggingColumn:i,metrics:a,theme:o}=t,{floatingLeftColumnCount:s,floatingRightColumnCount:l,floatingLeftWidth:d,floatingRightWidth:u,floatingColumns:c,gridX:m,maxX:v,columnCount:g,visibleRows:f,allColumnXs:p,allColumnWidths:C,width:b,height:S}=a;if(c.length!==0){o.floatingRowBackgroundColors&&(this.drawRowStripesForRows(e,t,f,o.floatingRowBackgroundColors,0,d),this.drawRowStripesForRows(e,t,f,o.floatingRowBackgroundColors,b-m-u,v)),r==null&&i==null&&this.drawFloatingMouseRowHover(e,t),e.save(),e.beginPath(),e.rect(0,0,d,S),e.clip(),this.drawGridLinesForItems(e,t,c,f,o.floatingGridColumnColor,o.floatingGridRowColor),e.restore(),this.drawCellBackgroundsForItems(e,t,c,f),this.drawFloatingBorders(e,t),s>0&&this.drawSelectedRanges(e,t,{left:0,maxX:U(p,s-1)+U(C,s-1)}),l>0&&this.drawSelectedRanges(e,t,{left:g-l,right:g-1,minX:U(p,g-l)+.5,maxX:U(p,g-1)+U(C,g-1)});for(var E=0;E<c.length;E+=1)for(var y=c[E],T=0;T<f.length;T+=1){var O=f[T];this.drawCellContent(e,t,y,O)}}}drawFloatingBorders(e,t){var{metrics:r,theme:i}=t,{floatingTopRowCount:a,floatingBottomRowCount:o,floatingLeftColumnCount:s,floatingRightColumnCount:l,rowCount:d,columnCount:u,allRowYs:c,allColumnXs:m,allRowHeights:v,allColumnWidths:g,maxX:f,maxY:p}=r,{floatingDividerOuterColor:C,floatingDividerInnerColor:b}=i;if(e.lineWidth=3,e.beginPath(),e.strokeStyle=C,a>0){var S=U(c,a-1)+U(v,a-1)+.5;e.moveTo(0,S),e.lineTo(f,S)}if(o>0){var E=U(c,d-o)-.5;e.moveTo(0,E),e.lineTo(f,E)}if(s>0){var y=U(m,s-1)+U(g,s-1)+.5;e.moveTo(y,0),e.lineTo(y,p)}if(l>0){var T=U(m,u-l)-.5;e.moveTo(T,0),e.lineTo(T,p)}if(e.stroke(),e.beginPath(),e.lineWidth=1,e.strokeStyle=b,a>0){var O=U(c,a-1)+U(v,a-1)+.5;e.moveTo(0,O),e.lineTo(f,O)}if(o>0){var D=U(c,d-o)-.5;e.moveTo(0,D),e.lineTo(f,D)}if(s>0){var P=U(m,s-1)+U(g,s-1)+.5;e.moveTo(P,0),e.lineTo(P,p)}if(l>0){var R=U(m,u-l)-.5;e.moveTo(R,0),e.lineTo(R,p)}e.stroke()}drawGridBackground(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.drawRowStripes(e,t),r&&(this.drawMouseColumnHover(e,t),this.drawMouseRowHover(e,t)),this.drawGridLines(e,t),this.drawCellBackgrounds(e,t);var{metrics:i}=t,{bottom:a,right:o,floatingBottomRowCount:s,floatingLeftColumnCount:l,floatingRightColumnCount:d,floatingTopRowCount:u,columnCount:c,rowCount:m,allRowHeights:v,allRowYs:g,allColumnXs:f,allColumnWidths:p,width:C,height:b}=i;this.drawSelectedRanges(e,t,{bottom:Math.min(a,m-s-1),right:Math.min(o,c-d-1),minX:l>0&&f.has(l+1)?U(f,l+1):-10,minY:u>0&&g.has(u+1)?U(g,u+1):-10,maxX:d>0&&f.has(c-d-1)?U(f,c-d-1)+U(p,c-d-1)-.5:C+10,maxY:s>0&&g.has(m-s-1)?U(g,m-s-1)+U(v,m-s-1)-.5:b+10})}drawRowStripes(e,t){var{metrics:r,theme:i}=t,{visibleRows:a}=r,{rowBackgroundColors:o}=i;o&&this.drawRowStripesForRows(e,t,a,o)}drawRowStripesForRows(e,t,r,i){for(var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:t.metrics.maxX,{theme:s,metrics:l,model:d}=t,{maxDepth:u,shadowBlur:c,shadowColor:m}=s,v=this.getCachedBackgroundColors(i,u),{allRowYs:g,allRowHeights:f}=l,p=new Map,C=[],b=[],S=(I,N)=>{var k=ze(d)?d.depthForRow(I):0,x=v[I%v.length],Y=x[Math.min(k,x.length-1)];if(p.has(Y)||p.set(Y,[]),p.get(Y).push(I),N!=null){var W=ze(d)?d.depthForRow(N):0;W<k?C.push(I):W>k&&b.push(N)}},E=0;E<r.length;E+=1){var y=r[E],T=E>0?r[E-1]:void 0;S(y,T)}if(p.forEach((I,N)=>{e.fillStyle=N,e.beginPath();for(var k=0;k<I.length;k+=1){var x=I[k],Y=U(g,x),W=U(f,x);e.rect(a,Y,o,W)}e.fill()}),C.length>0){e.save();var O=this.getCachedColorWithAlpha(m,.15),D=this.getCachedColorWithAlpha(m,0),P=e.createLinearGradient(0,0,0,c);P.addColorStop(0,O),P.addColorStop(1,D),e.fillStyle=P;for(var R=0;R<C.length;R+=1){var _=C[R],M=U(g,_);e.translate(0,M),e.fillRect(a,0,o,c),e.translate(0,-M)}e.restore()}if(b.length>0){e.save();var A=this.getCachedColorWithAlpha(m,0),B=this.getCachedColorWithAlpha(m,.15),$=e.createLinearGradient(0,0,0,c);$.addColorStop(0,A),$.addColorStop(1,B),e.fillStyle=$;for(var z=0;z<b.length;z+=1){var G=b[z],K=U(g,G),X=U(f,G),J=K+X-c;e.translate(0,J),e.fillRect(a,0,o,c),e.translate(0,-J)}e.restore()}}drawMouseColumnHover(e,t){var{mouseX:r,mouseY:i,theme:a,metrics:o}=t;if(!(r==null||i==null)){var s=V.getColumnAtX(r,o);if(!(s==null||a.columnHoverBackgroundColor==null)){var{allColumnWidths:l,allColumnXs:d,maxY:u}=o;if(!(i>u)){var c=U(d,s),m=U(l,s);e.fillStyle=a.columnHoverBackgroundColor,e.fillRect(c,0,m,u)}}}}drawMouseRowHover(e,t){var{mouseX:r,mouseY:i,theme:a,metrics:o}=t;if(!(r==null||i==null)){var{maxX:s}=o;if(!(r>s||a.rowHoverBackgroundColor==null)){var l=V.getRowAtY(i,o);l!=null&&this.drawMouseRowHoverForRow(e,t,l)}}}drawFloatingMouseRowHover(e,t){var{mouseX:r,mouseY:i,theme:a,metrics:o}=t,{maxX:s,floatingTopRowCount:l,floatingBottomRowCount:d,rowCount:u,rowFooterWidth:c}=o;if(!(r==null||i==null||r>s+c||a.rowHoverBackgroundColor==null)){var m=V.getRowAtY(i,o);m!=null&&(m<l||u-d<=m)&&this.drawMouseRowHoverForRow(e,t,m)}}drawMouseRowHoverForRow(e,t,r){var{metrics:i,selectedRanges:a,theme:o}=t,{allRowHeights:s,allRowYs:l,maxX:d}=i,u=U(l,r),c=U(s,r);o.rowHoverBackgroundColor!=null&&(e.fillStyle=o.rowHoverBackgroundColor);for(var m=0;m<a.length;m+=1){var{startRow:v,endRow:g}=a[m];if(v!=null&&g!=null&&v<=r&&g>=r){o.selectedRowHoverBackgroundColor!=null&&(e.fillStyle=o.selectedRowHoverBackgroundColor);break}}e.fillRect(0,u,d,c)}drawGridLines(e,t){var{metrics:r,theme:i}=t,{visibleColumns:a,visibleRows:o}=r;this.drawGridLinesForItems(e,t,a,o,i.gridColumnColor,i.gridRowColor)}drawGridLinesForItems(e,t,r,i,a,o){a==null&&o==null||(e.lineWidth=1,e.beginPath(),a!=null&&(e.strokeStyle=a,this.drawGridLinesForColumns(e,t,r)),o!=null&&(e.strokeStyle=o,this.drawGridLinesForRows(e,t,i)),e.stroke())}drawGridLinesForColumns(e,t,r){for(var{metrics:i}=t,{allColumnXs:a,maxY:o}=i,s=0;s<r.length;s+=1){var l=r[s],d=U(a,l)+.5;e.moveTo(d,0),e.lineTo(d,o)}}drawGridLinesForRows(e,t,r){for(var{metrics:i}=t,{allRowYs:a,maxX:o}=i,s=o,l=0;l<r.length;l+=1){var d=r[l],u=U(a,d)+.5;e.moveTo(.5,u),e.lineTo(s-.5,u)}}drawCellBackgrounds(e,t){var{metrics:r}=t,{visibleColumns:i,visibleRows:a}=r;this.drawCellBackgroundsForItems(e,t,i,a)}drawCellBackgroundsForItems(e,t,r,i){e.save();for(var a=0;a<r.length;a+=1)for(var o=r[a],s=0;s<i.length;s+=1){var l=i[s],d=s+1<i.length?i[s+1]:void 0;this.drawCellBackground(e,t,o,l,d)}e.restore()}drawCellBackground(e,t,r,i,a){var{metrics:o,model:s,theme:l}=t,{firstColumn:d,modelColumns:u,modelRows:c,allColumnXs:m,allColumnWidths:v,allRowYs:g,allRowHeights:f}=o,p=U(c,i),C=U(u,r),b=s.backgroundColorForCell(C,p,l),S=r===d,E=ze(s)&&s.hasExpandableRows;if(b!=null){var y=U(m,r)+1,T=U(g,i)+1,O=U(v,r)-1,D=U(f,i)-1;e.fillStyle=b,e.fillRect(y,T,O,D)}S&&E&&this.drawCellRowTreeDepthLines(e,t,i,a)}drawCellContents(e,t){for(var{metrics:r}=t,{visibleColumns:i}=r,a=0;a<i.length;a+=1){var o=i[a];this.drawColumnCellContents(e,t,o)}}drawColumnCellContents(e,t,r){var{metrics:i}=t,{allColumnXs:a,allColumnWidths:o,visibleRows:s,height:l}=i,d=U(a,r),u=U(o,r);e.save(),e.beginPath(),e.rect(d,0,u,l),e.clip();for(var c=0;c<s.length;c+=1){var m=s[c];this.drawCellContent(e,t,r,m)}e.restore()}drawCellContent(e,t,r,i){var{metrics:a,model:o}=t,{modelColumns:s,modelRows:l}=a,d=U(l,i),u=U(s,r),c=o.renderTypeForCell(u,d),m=this.getCellRenderer(c);m.drawCellContent(e,t,r,i)}getCellRenderer(e){switch(e){case"dataBar":return this.dataBarCellRenderer;default:return this.textCellRenderer}}drawCellRowTreeDepthLines(e,t,r,i){var{metrics:a,model:o,theme:s}=t;if(ze(o)){var l=o.depthForRow(r);if(l!==0){var{firstColumn:d,allColumnXs:u,allRowYs:c,allRowHeights:m}=a,{treeDepthIndent:v,treeHorizontalPadding:g,treeLineColor:f}=s,p=U(u,d),C=U(c,r),b=U(m,r),S=i!==void 0?o.depthForRow(i):0,E=l>S?l-S:0;if(e.strokeStyle=f,e.lineWidth=1,l-E>0){e.beginPath();for(var y=0;y<l-E;y+=1){var T=p+y*v+v*.5+g+.5;e.moveTo(T,C),e.lineTo(T,C+b)}e.stroke()}if(E>0){e.beginPath();for(var O=l-E;O<l;O+=1){var D=p+O*v+v*.5+g+.5;e.moveTo(D,C),e.lineTo(D,C+Math.ceil(b/2)),e.moveTo(D-.5,C+Math.ceil(b/2)+.5),e.lineTo(D+v-.5,C+Math.ceil(b/2)+.5)}e.stroke()}}}}drawHeaders(e,t){var{theme:r}=t;e.font=r.headerFont,this.drawColumnHeaders(e,t),this.drawRowHeaders(e,t)}drawFooters(e,t){var{theme:r}=t;e.font=r.headerFont,this.drawRowFooters(e,t)}drawColumnHeaders(e,t){var{mouseX:r,mouseY:i,theme:a,metrics:o,draggingColumnSeparator:s,isDragging:l,model:d}=t,{columnHeaderHeight:u,floatingColumns:c,gridX:m,width:v,visibleColumns:g,allColumnWidths:f,allColumnXs:p,floatingLeftColumnCount:C,floatingLeftWidth:b,floatingRightWidth:S,modelColumns:E,columnHeaderMaxDepth:y}=o;if(!(u<=0)){var{headerHiddenSeparatorSize:T,headerHiddenSeparatorHoverColor:O,headerSeparatorColor:D,headerSeparatorHoverColor:P}=a,R=u*.5,_=u*(y-1)+u*.5-R*.5,M=C>0;if(e.save(),this.drawColumnHeadersForRange(e,t,[g[0],g[g.length-1]],{minX:m+b,maxX:v-S}),M&&this.drawColumnHeadersForRange(e,t,[c[0],c[c.length-1]],{minX:m,maxX:m+b}),D){e.strokeStyle=D;var A=[...f.entries()].filter(at=>{var[ot,Qe]=at;return Qe===0}).map(at=>{var[ot]=at;return ot});e.beginPath(),e.fillStyle=D;for(var B=0;B<A.length;B+=1){var $=A[B],z=U(p,$),G=U(f,$),K=m+z+G+.5-T*.5;e.rect(K,_,T,R)}e.fill()}if(P){var{index:X,depth:J}=s??{};if(X==null&&r!=null&&i!=null){var I=mC.getColumnSeparator(V.getGridPointFromXY(r,i,o),o,d,a);X=I?.index,J=I?.depth}var N;if(X==null)N=!1;else{var k=E.get(X),x=E.get(X+1);k==null||x==null?N=!1:N=d.textForColumnHeader(k,J)!==d.textForColumnHeader(x,J)}if(N&&X!=null&&J!=null&&(!l||s!=null)){e.strokeStyle=P;var Y=U(p,X),W=U(f,X),ee=m+Y+W+.5,oe=g.indexOf(X),ae=oe<g.length-1?g[oe+1]:null,se=ae!=null?f.get(ae):null,pe=W===0,He=se!=null&&se===0;pe?(e.strokeStyle=O,e.fillStyle=O,e.fillRect(ee,_,T*.5,R)):He&&(e.fillStyle=P,e.fillRect(ee-T*.5,_,T*.5,R)),e.beginPath(),e.moveTo(ee,(y-J-1)*u),e.lineTo(ee,(y-J)*u-1),e.stroke()}}e.restore()}}drawColumnHeadersForRange(e,t,r,i){var{model:a}=t,{columnHeaderMaxDepth:o}=a;if(o!==0)for(var s=0;s<=o;s+=1)this.drawColumnHeadersAtDepth(e,t,r,i,s)}drawColumnHeadersAtDepth(e,t,r,i,a){var{metrics:o,model:s,theme:l}=t,{modelColumns:d,allColumnXs:u,gridX:c,userColumnWidths:m,allColumnWidths:v,movedColumns:g}=o,{columnHeaderHeight:f,columnWidth:p}=l,{columnHeaderMaxDepth:C}=s,{minX:b,maxX:S}=i,E=S-b;if(C!==0){var y=r[0],T=r[1];if(e.save(),e.translate(0,(C-a-1)*f),a===0){this.drawColumnHeader(e,t,"",b,S);for(var O=y;O<=T;O+=1)this.drawColumnHeaderAtIndex(e,t,O,i)}if(a>0)for(var D=y;D<=T;){var{columnCount:P}=o,R=U(d,D),_=s.textForColumnHeader(R,a),M=s.colorForColumnHeader(R,a),A=U(u,D)+c,B=A+U(v,D);if(_!=null){for(var $=D-1;$>=0&&(B-A<E||A>b);){var z,G,K,X=(z=d.get($))!==null&&z!==void 0?z:V.getModelIndex($,g);if(X==null||s.textForColumnHeader(X,a)!==_)break;var J=(G=(K=m.get(X))!==null&&K!==void 0?K:v.get($))!==null&&G!==void 0?G:p;A-=J,$-=1}for(var I=D+1;I<P&&(B-A<E||B<S);){var N,k,x,Y=(N=d.get(I))!==null&&N!==void 0?N:V.getModelIndex(I,g);if(s.textForColumnHeader(Y,a)!==_)break;var W=(k=(x=m.get(Y))!==null&&x!==void 0?x:v.get(I))!==null&&k!==void 0?k:p;B+=W,I+=1}D=I-1;var ee=B-A>=E,oe=A;ee&&(B<S?oe=B-E:A<b&&(oe=b)),this.drawColumnHeader(e,t,_,oe,Math.min(B-A,E),{backgroundColor:M??void 0},i)}D+=1}e.restore()}}drawColumnHeaderAtIndex(e,t,r,i){var a,{metrics:o,model:s}=t,{modelColumns:l,allColumnWidths:d,allColumnXs:u,gridX:c}=o,m=U(d,r),v=U(u,r)+c,g=U(l,r),f=s.textForColumnHeader(g);f!=null&&this.drawColumnHeader(e,t,f,v,m,{backgroundColor:(a=s.colorForColumnHeader(g))!==null&&a!==void 0?a:void 0},i)}drawColumnHeader(e,t,r,i,a,o,s){var l;if(!(a<=0)){var{metrics:d,theme:u}=t,{headerHorizontalPadding:c,columnHeaderHeight:m,headerBackgroundColor:v,headerColor:g,headerSeparatorColor:f,black:p,white:C}=u,{fontWidths:b,width:S}=d,E=(l=b.get(e.font))!==null&&l!==void 0?l:ya,y=a-c*2,T=y/E,{backgroundColor:O=v,separatorColor:D=f}=o??{},{textColor:P=g}=o??{};try{var R=this.getCachedColorIsDark(O),_=this.getCachedColorIsDark(P);R&&_?P=C:!R&&!_&&(P=p)}catch{}var{minX:M=0,maxX:A=S}=s??{};e.save(),e.rect(M,0,A-M,m),e.clip(),O!=null&&(e.fillStyle=O,e.fillRect(i,0,a,m)),D!=null&&(e.strokeStyle=D,e.beginPath(),i>0&&(e.moveTo(i+.5,0),e.lineTo(i+.5,m)),e.moveTo(i+a+.5,0),e.lineTo(i+a+.5,m),e.moveTo(i,m-.5),e.lineTo(i+a,m-.5),e.stroke()),e.beginPath(),e.rect(i,0,a,m),e.clip(),e.fillStyle=P;var B=r;T<=0?B="":B.length>T&&(B="".concat(B.substring(0,T-1),"…"));var $=B.length*E,z=i+a*.5,G=m*.5;M+=c,A-=c;var K=i+c,X=Ve(K,M,A),J=i+a-c,I=Ve(J,M,A),N=I-X,k=z-$*.5<M,x=z+$*.5>A;k?$<N?z=M+$*.5:z=J-$*.5:x&&($<N?z=A-$*.5:z=K+$*.5),e.textAlign="center",e.fillText(B,z,G),e.restore()}}drawRowHeaders(e,t){var{mouseX:r,mouseY:i,metrics:a,theme:o,draggingRowSeparator:s}=t,{gridY:l,rowHeaderWidth:d,height:u,visibleRows:c,allRowHeights:m,allRowYs:v}=a;if(!(d<=0)){var{headerBackgroundColor:g,headerColor:f,headerHiddenSeparatorSize:p,headerHiddenSeparatorHoverColor:C,headerSeparatorColor:b,headerSeparatorHoverColor:S}=o,E=d*.5,y=d*.5-E*.5;if(e.save(),e.beginPath(),e.fillStyle=g,e.fillRect(0,0,d,u),b){e.strokeStyle=b,e.beginPath(),e.moveTo(0,l+.5),e.lineTo(d,l+.5);for(var T=[],O=!1,D=0;D<c.length;D+=1){var P=c[D],R=U(v,P),_=U(m,P);if(_>0){var M=l+R+_+.5;e.moveTo(0,M),e.lineTo(d,M),O=!1}else O||(O=!0,T.push(P))}e.moveTo(d-.5,0),e.lineTo(d-.5,u),e.stroke(),e.beginPath(),e.fillStyle=b;for(var A=0;A<T.length;A+=1){var B=T[A],$=U(v,B),z=U(m,B),G=l+$+z+.5-p*.5;e.rect(y,G,E,p)}e.fill()}if(S){var{index:K=null}=s??{};if(K==null&&r!=null&&i!=null&&(K=V.getRowSeparatorIndex(r,i,a,o)),K!=null){e.strokeStyle=S;var X=U(v,K),J=U(m,K),I=l+X+J+.5,N=c.indexOf(K),k=N<c.length-1?c[N+1]:null,x=k!=null?m.get(k):null,Y=J===0,W=x!=null&&x===0;Y?(e.strokeStyle=C,e.fillStyle=C,e.fillRect(y,I,E,p*.5)):W&&(e.fillStyle=S,e.fillRect(y,I-p*.5,E,p*.5)),e.beginPath(),e.moveTo(.5,I),e.lineTo(d+.5,I),e.stroke()}}e.beginPath(),e.rect(0,l,d,u),e.clip(),e.fillStyle=f,e.textAlign="right";for(var ee=0;ee<c.length;ee+=1){var oe=c[ee],ae=U(m,oe),se=U(v,oe)+l;this.drawRowHeader(e,t,oe,se,ae)}e.restore()}}drawRowHeader(e,t,r,i,a){if(!(a<=0)){var{metrics:o,model:s,theme:l}=t,{modelRows:d,rowHeaderWidth:u}=o,c=U(d,r),m=u-l.cellHorizontalPadding,v=i+a*.5;e.fillText(s.textForRowHeader(c),m,v)}}drawRowFooters(e,t){var{mouseX:r,mouseY:i,metrics:a,model:o,theme:s,draggingRowSeparator:l}=t,{gridY:d,gridX:u,maxX:c,modelRows:m,rowFooterWidth:v,height:g,verticalBarWidth:f,visibleRows:p,allRowHeights:C,allRowYs:b,width:S}=a;if(!(v<=0)){var{cellHorizontalPadding:E,headerBackgroundColor:y,headerColor:T,headerHiddenSeparatorSize:O,headerHiddenSeparatorHoverColor:D,headerSeparatorColor:P,headerSeparatorHoverColor:R}=s,_=v*.5,M=v*.5-_*.5,A=Math.min(u+c,S-v-f);if(e.save(),e.beginPath(),e.fillStyle=y,e.fillRect(A,d,v,g),P){e.strokeStyle=P,e.beginPath(),e.moveTo(A,d+.5),e.lineTo(v,d+.5);for(var B=[],$=!1,z=0;z<p.length;z+=1){var G=p[z],K=U(b,G),X=U(C,G);if(X>0){var J=d+K+X+.5;e.moveTo(A+.5,J),e.lineTo(A+v-.5,J),$=!1}else $||($=!0,B.push(G))}e.moveTo(A+.5,d),e.lineTo(A+.5,g),e.stroke(),e.beginPath(),e.fillStyle=P;for(var I=0;I<B.length;I+=1){var N=B[I],k=U(b,N),x=U(C,N),Y=d+k+x+.5-O*.5;e.rect(A+M,Y,_,O)}e.fill()}if(R){var{index:W=null}=l??{};if(W==null&&r!=null&&i!=null&&(W=V.getRowSeparatorIndex(r,i,a,s)),W!=null){e.strokeStyle=R;var ee=U(b,W),oe=U(C,W),ae=d+ee+oe+.5,se=p.indexOf(W),pe=se<p.length-1?p[se+1]:null,He=pe!=null?C.get(pe):null,at=oe===0,ot=He!=null&&He===0;at?(e.strokeStyle=D,e.fillStyle=D,e.fillRect(M,ae,_,O*.5)):ot&&(e.fillStyle=R,e.fillRect(M,ae-O*.5,_,O*.5)),e.beginPath(),e.moveTo(A+.5,ae),e.lineTo(A+v+.5,ae),e.stroke()}}e.beginPath(),e.rect(A,d,v,g),e.clip(),e.fillStyle=T,e.textAlign="left";for(var Qe=A+E,lt=0;lt<p.length;lt+=1){var Ot=p[lt],Le=U(C,Ot);if(Le>0){var _t=U(b,Ot)+d,Vt=U(m,Ot),yr=_t+Le*.5;e.fillText(o.textForRowFooter(Vt),Qe,yr)}}e.restore()}}drawSelectedRanges(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{cursorColumn:i,cursorRow:a,draggingRow:o,draggingColumn:s,editingCell:l,metrics:d,model:u,selectedRanges:c,theme:m}=t,{allColumnWidths:v,allColumnXs:g,allRowHeights:f,allRowYs:p,width:C,height:b}=d,{left:S=d.left,top:E=d.top,right:y=d.right,bottom:T=d.bottom,minY:O=-10,maxY:D=b+10,minX:P=-10,maxX:R=C+10}=r;if(c.length!==0){var _=nt(u)&&u.isEditable&&l==null&&o==null&&s==null&&i!=null&&a!=null&&g.has(i)&&p.has(a);if(_){var M=U(g,i),A=U(p,a),B=U(v,i),$=U(f,a);e.save(),e.beginPath(),e.rect(0,0,C,b),e.rect(M,A,B,$),e.clip("evenodd")}e.beginPath();for(var z=0;z<c.length;z+=1){var G=c[z],K=G.startColumn!==null?G.startColumn:S,X=G.startRow!==null?G.startRow:E,J=G.endColumn!==null?G.endColumn:y,I=G.endRow!==null?G.endRow:T;if(I>=E&&T>=X&&J>=S&&y>=K){var N=K>=S&&g.has(K)?Math.round(U(g,K))+.5:P,k=X>=E&&p.has(X)?Math.max(Math.round(U(p,X))+.5,.5):O,x=J<=y&&g.has(J)?Math.round(U(g,J)+U(v,J))-.5:R,Y=I<=T&&p.has(I)?Math.round(U(p,I)+U(f,I))-.5:D;e.rect(N,k,x-N,Y-k)}e.fillStyle=m.selectionColor,e.fill(),e.save(),e.clip(),e.strokeStyle=m.selectionOutlineCasingColor,e.lineWidth=3,e.stroke(),e.restore(),e.strokeStyle=m.selectionOutlineColor,e.lineWidth=1,e.stroke()}_&&i!=null&&a!=null&&(e.restore(),this.drawActiveCell(e,t,i,a))}}drawActiveCell(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:Ln.ACTIVE_CELL_BORDER_WIDTH,{metrics:o,theme:s}=t,{allColumnWidths:l,allColumnXs:d,allRowHeights:u,allRowYs:c}=o,m=U(d,r),v=U(c,i),g=U(l,r),f=U(u,i),p=m-a*.5,C=v-a*.5,b=g+a,S=f+a;p<=0&&(b+=p-1,p=1),C<=0&&(S+=C-1,C=1);var{lineWidth:E}=e;e.beginPath(),e.lineWidth=a,e.strokeStyle=s.selectionOutlineColor,this.drawRoundedRect(e,p,C,b,S),e.stroke(),e.lineWidth=E}drawRoundedRect(e,t,r,i,a){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Ln.DEFAULT_EDGE_RADIUS;e.beginPath(),e.moveTo(t+o,r),e.lineTo(t+i-o,r),e.quadraticCurveTo(t+i,r,t+i,r+o),e.lineTo(t+i,r+a-o),e.quadraticCurveTo(t+i,r+a,t+i-o,r+a),e.lineTo(t+o,r+a),e.quadraticCurveTo(t,r+a,t,r+a-o),e.lineTo(t,r+o),e.quadraticCurveTo(t,r,t+o,r),e.closePath()}drawDraggingColumn(e,t){var r,{draggingColumn:i,metrics:a,mouseX:o,theme:s,model:l}=t;if(!(i==null||o==null)){var{range:d,depth:u}=i,{gridX:c,gridY:m,allColumnXs:v,allColumnWidths:g,height:f,width:p,columnHeaderMaxDepth:C,columnHeaderHeight:b,movedColumns:S,modelColumns:E,floatingLeftWidth:y}=a,T=(r=E.get(d[0]))!==null&&r!==void 0?r:V.getModelIndex(d[0],S),O=l.getColumnHeaderGroup(T,u);if(!(u>0&&!O)){var[D,P]=d,R=U(v,D),_=U(v,P)+U(g,P),M=_-R,A=i.left,{backgroundColor:B,font:$,headerFont:z,reorderOffset:G,shadowBlur:K,shadowColor:X}=s,J=(C-u-1)*b;e.save(),e.translate(c,0),e.save(),e.beginPath(),e.rect(y,0,p,f),e.clip(),e.fillStyle=B,e.fillRect(R,J,M,f),e.restore(),e.translate(0,G),e.save(),e.shadowColor=X,e.shadowBlur=K,e.fillStyle=B,e.fillRect(i.left,J+G,i.width,f),e.restore(),e.beginPath(),e.rect(i.left,J,i.width+1,f),e.clip(),e.translate(A-R,0),e.font=z;for(var I=[],N=i.range[0];N<=i.range[1];N+=1)I.push(N);this.drawColumnHeaders(e,t),this.drawColumnHeadersForRange(e,t,[I[0],I[I.length-1]],{minX:R,maxX:p}),e.translate(0,m),e.font=$,this.drawGridBackground(e,t);for(var k=D;k<=P;k+=1)this.drawColumnCellContents(e,t,k);e.restore()}}}drawDraggingRow(e,t){var{draggingRow:r,draggingRowOffset:i,metrics:a,mouseY:o,theme:s}=t;if(!(r==null||o==null)){var{gridX:l,gridY:d,allRowYs:u,allRowHeights:c,width:m}=a,v=U(u,r),g=U(c,r)+1,{backgroundColor:f,font:p,headerFont:C,reorderOffset:b,shadowBlur:S,shadowColor:E}=s;e.save(),e.translate(0,d),e.fillStyle=f,e.fillRect(0,v,m,g),e.translate(l+b,o-v-d-(i??0)),e.save(),e.shadowColor=E,e.shadowBlur=S,e.fillStyle=f,e.fillRect(-l,v,m,g),e.restore(),e.beginPath(),e.rect(-l,v,m,g),e.clip(),e.font=p,this.drawGridBackground(e,t),this.drawCellContents(e,t),e.translate(-l,-d),e.font=C,this.drawRowHeaders(e,t),e.restore()}}drawScrollBars(e,t){var{isDraggingHorizontalScrollBar:r,isDraggingVerticalScrollBar:i,isDragging:a,metrics:o,mouseX:s,mouseY:l,theme:d}=t;if(!(d.scrollBarSize<=0)){var{width:u,height:c,handleHeight:m,handleWidth:v,scrollX:g,scrollY:f,hasHorizontalBar:p,hasVerticalBar:C,barWidth:b,barHeight:S,barLeft:E,barTop:y}=o,{scrollBarBackgroundColor:T,scrollBarHoverBackgroundColor:O,scrollBarCasingColor:D,scrollBarCornerColor:P,scrollBarColor:R,scrollBarHoverColor:_,scrollBarActiveColor:M,scrollBarSize:A,scrollBarHoverSize:B,scrollBarCasingWidth:$,scrollBarSelectionTick:z,scrollBarSelectionTickColor:G,scrollBarActiveSelectionTickColor:K,autoSelectRow:X,autoSelectColumn:J}=d,I=s!=null&&l!=null&&s<=u&&l<=c,N=i||C&&!r&&!a&&s!=null&&l!=null&&s>=u-B&&l>=y&&I,k=r||p&&!i&&!a&&!N&&s!=null&&l!=null&&l>=c-B&&s>=E&&I,x=k?B:A,Y=N?B:A;if(e.translate(E,y),p&&C&&(e.fillStyle=D,e.fillRect(u-E-A,c-y-A,A,A),e.fillStyle=P,e.fillRect(u-E-A+$,c-y-A+$,A-$,A-$)),p){var W=g,ee=c-y-x;if(e.fillStyle=D,e.fillRect(0,ee,b,x-$),e.fillStyle=k?O:T,e.fillRect(0,ee+$,b,x-$),r?e.fillStyle=M:k?e.fillStyle=_:e.fillStyle=R,e.fillRect(W,ee+$,v,x-$),!X&&z&&G!=null&&K!=null){e.fillStyle=G;for(var{selectedRanges:oe,cursorColumn:ae}=t,{lastLeft:se,columnCount:pe}=o,He=[...oe].filter(st=>st.startColumn!=null&&st.endColumn!=null),at=He.map(st=>[st.startColumn,st.endColumn]).sort(V.compareRanges),ot=V.mergeSortedRanges(at),Qe=st=>st<=se?st/se*(b-v):b-v+(st-se)/(pe-se)*v,lt=0;lt<ot.length;lt+=1){var Ot=ot[lt],Le=Ot[0],_t=Ot[1];if(Le!=null&&_t!=null&&(Le!==ae||_t!==ae)){var Vt=Qe(Le),yr=Math.max(1,Math.round(Qe(_t+1)-Vt)),Tr=x-$;e.fillRect(Vt,ee+$+Math.round(Tr/3),yr,Math.round(Tr/3))}}if(ae!=null){var an=Qe(ae),Tn=2,Ur=x-$;e.fillStyle=K,e.fillRect(an,ee+$,Tn,Ur)}}}if(C){var Mt=u-E-Y,on=f;if(e.fillStyle=D,e.fillRect(Mt,0,Y-$,S),e.fillStyle=N?O:T,e.fillRect(Mt+$,0,Y-$,S),i?e.fillStyle=M:N?e.fillStyle=_:e.fillStyle=R,e.fillRect(Mt+$,on,Y-$,m),!J&&z&&G!=null&&K!=null){var{selectedRanges:ir,cursorRow:ar}=t,{lastTop:Nt,rowCount:$r}=o,sn=st=>st<=Nt?st/Nt*(S-m):S-m+(st-Nt)/($r-Nt)*m;e.fillStyle=G;for(var Br=[...ir].filter(st=>st.startRow!=null&&st.endRow!=null),or=Br.map(st=>[st.startRow,st.endRow]).sort(V.compareRanges),gi=V.mergeSortedRanges(or),Pn=0;Pn<gi.length;Pn+=1){var Bn=gi[Pn],Vr=Bn[0],ln=Bn[1];if(Vr!=null&&ln!=null&&(Vr!==ar||ln!==ar)){var Ji=sn(Vr),Ma=Y-$,Aa=Math.max(1,Math.round(sn(ln+1)-Ji));e.fillRect(Mt+$+Math.round(Ma/3),Ji,Math.round(Ma/3),Aa)}}if(ar!=null){var La=Math.round(sn(ar)),ka=Y-$,xa=2;e.fillStyle=K,e.fillRect(Mt+$,La,ka,xa)}}}e.translate(-E,-y)}}}ua(Ln,"DEFAULT_EDGE_RADIUS",2);ua(Ln,"ACTIVE_CELL_BORDER_WIDTH",2);const pC=Ln;function Mo(n,e,t){return e=cR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function cR(n){var e=mR(n,"string");return typeof e=="symbol"?e:String(e)}function mR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ov=100;class vR extends Pt{constructor(){super(...arguments),Mo(this,"startPoint",void 0),Mo(this,"hasExtendedFloating",!1),Mo(this,"timer",void 0),Mo(this,"lastTriggerTime",void 0),Mo(this,"dragBounds",void 0)}onDown(e,t,r){var{x:i,y:a,column:o,row:s}=e,{metrics:l}=t;if(!l)throw new Error("metrics not set");var{gridX:d,gridY:u,maxX:c,maxY:m}=l,v=i-d,g=a-u;if(v<0||g<0||o==null&&v>c||s==null&&g>m)return!1;var f=V.isModifierKeyDown(r),p=r.shiftKey;f||(p?t.trimSelectedRanges():t.clearSelectedRanges());var C=t.getTheme(),{autoSelectRow:b,autoSelectColumn:S}=C;return(o!==null||!S)&&(s!==null||!b)&&(t.focus(),t.moveCursorToPosition(o,s,p,!1,p&&f)),this.startPoint=e,this.hasExtendedFloating=!1,this.dragBounds=V.getScrollDragBounds(l,s,o),!0}onDrag(e,t){if(this.startPoint===void 0)return!1;this.stopTimer();var{row:r,column:i}=this.startPoint,{x:a,y:o}=e,{row:s,column:l}=e,{metrics:d}=t;if(!d)throw new Error("metrics not set");var{left:u,lastLeft:c,top:m,lastTop:v,columnWidth:g,rowHeight:f}=d,p=V.getScrollDragBounds(d,r,i),C=0,b=0;if(u<c&&(a<p.x1?C=a-p.x1:a>p.x2&&(C=a-p.x2)),m<v&&(o<p.y1?b=o-p.y1:o>p.y2&&(b=o-p.y2)),C!==0||b!==0)this.startTimer(t,e,C>0?Math.ceil(C/g):Math.floor(C/g),b>0?Math.ceil(b/f):Math.floor(b/f));else if(s!=null&&l!=null){var{floatingTopRowCount:S,floatingBottomRowCount:E,floatingLeftColumnCount:y,floatingRightColumnCount:T,columnCount:O,rowCount:D,bottom:P,right:R,topVisible:_,bottomVisible:M,leftVisible:A,rightVisible:B}=d;this.hasExtendedFloating||(r!==null&&r<S&&s>=S?(s=S,this.hasExtendedFloating=!0):r!==null&&r>=D-E&&s<D-E&&(s=D-E-1,this.hasExtendedFloating=!0),i!==null&&i<y&&l>=y?(l=y,this.hasExtendedFloating=!0):i!==null&&i>=O-T&&l<O-T&&(l=O-T-1,this.hasExtendedFloating=!0)),r!==null&&!V.isFloatingRow(r,d)&&V.isFloatingRow(s,d)&&(r>s&&s<m?s=_-1:r<s&&s>P&&(s=M+1)),i!==null&&!V.isFloatingColumn(i,d)&&V.isFloatingColumn(l,d)&&(i>l&&l<u?l=A-1:i<l&&l>R&&(l=B+1)),t.moveCursorToPosition(l,s,!0,!0)}return!0}onUp(e,t){return this.startPoint!==void 0&&(this.startPoint=void 0,this.dragBounds=void 0,this.stopTimer(),t.commitSelection()),!1}moveSelection(e,t,r,i){var{row:a,column:o}=t,{metrics:s}=e;if(!s)throw new Error("metrics not set");var{selectionEndRow:l,selectionEndColumn:d}=e.state;if(l==null||d==null)throw new Error("selection not set");var{rowCount:u,columnCount:c}=s,m=r<0&&o!=null?o:0,v=r>0&&o!=null?o:c-1,g=i<0&&a!=null?a:0,f=i>0&&a!=null?a:u-1;e.moveCursorToPosition(Math.min(Math.max(m,d+r),v),Math.min(Math.max(g,l+i),f),!0),this.lastTriggerTime=Date.now()}startTimer(e,t,r,i){this.stopTimer();var a=this.lastTriggerTime!=null?Ov-Math.min(Ov,Date.now()-this.lastTriggerTime):0;this.timer=setTimeout(()=>{this.moveSelection(e,t,r,i),this.startTimer(e,t,r,i)},a)}stopTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}}const gR=vR;function Dv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function dr(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dv(Object(t),!0).forEach(function(r){_i(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Dv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function _i(n,e,t){return e=fR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fR(n){var e=pR(n,"string");return typeof e=="symbol"?e:String(e)}function pR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Rv=5,CR=1e3/60,Xs=10;function Ei(n,e,t,r){var i,{modelColumns:a,movedColumns:o,allColumnXs:s,columnCount:l,allColumnWidths:d,userColumnWidths:u,calculatedColumnWidths:c,floatingLeftWidth:m,maxX:v}=t;if(e==null||n==null||n>l||n<0)return null;var g=(i=a.get(n))!==null&&i!==void 0?i:V.getModelIndex(n,o),f=r.getColumnHeaderGroup(g,e),p=f!=null,C,b,S;if(f!=null){var E,y,T,[O,D]=f.getVisibleRange(o);C=(E=s.get(O))!==null&&E!==void 0?E:m,b=((y=s.get(D))!==null&&y!==void 0?y:v)+((T=d.get(D))!==null&&T!==void 0?T:0),S=[O,D]}else{var P,R,_,M=s.get(n);if(M==null)return null;C=M,b=C+((P=(R=(_=d.get(n))!==null&&_!==void 0?_:u.get(g))!==null&&R!==void 0?R:c.get(g))!==null&&P!==void 0?P:0),S=[n,n]}return{visibleIndex:n,modelIndex:g,left:C,right:b,width:b-C,isColumnGroup:p,range:S,depth:e}}class bR extends Pt{constructor(){super(...arguments),_i(this,"cursor",null),_i(this,"draggingOffset",void 0),_i(this,"initialOffset",void 0),_i(this,"initialGridPoint",void 0),_i(this,"scrollingInterval",void 0),_i(this,"scrollingDirection",void 0),_i(this,"draggingColumn",null)}setScrollInterval(e,t){this.scrollingInterval!=null&&t===this.scrollingDirection||(this.scrollingDirection=t,this.scrollingInterval=window.setInterval(()=>{var{metrics:r}=e;if(r){var{left:i,lastLeft:a,leftOffset:o,userColumnWidths:s,calculatedColumnWidths:l,movedColumns:d,allColumnWidths:u}=r,c=i,m=o;if(t==="left")for(m-=Xs;m<0;){var v;c-=1;var g=V.getModelIndex(i-1,d),f=(v=s.get(g))!==null&&v!==void 0?v:l.get(g);f===void 0?m=0:m+=f,c<0&&(m=0,c=0)}else{m+=Xs;for(var p=u.get(i);p!==void 0&&m>p;){var C;c+=1,m-=p;var b=V.getModelIndex(i+1,d);p=(C=s.get(b))!==null&&C!==void 0?C:l.get(b),c>a&&(m=0,c=a)}}var{mouseX:S,mouseY:E}=e.state;r==null||S==null||E==null||(this.moveDraggingColumn(S,e,t==="left"?-Xs:Xs),e.setState({left:c,leftOffset:m}),(t==="left"&&c===0&&o===0||t==="right"&&c===a)&&this.clearScrollInterval())}},CR))}clearScrollInterval(){this.scrollingDirection=void 0,window.clearInterval(this.scrollingInterval),this.scrollingInterval=void 0}onLeave(){return this.clearScrollInterval(),!1}onDown(e,t){var{model:r}=t.props,{x:i,column:a,columnHeaderDepth:o}=e,{metrics:s}=t;if(!s)throw new Error("Metrics not set");var l=Ei(a,o,s,r);if(a==null||l==null||o==null||o>0&&!l.isColumnGroup)return!1;var{rowHeaderWidth:d}=s;return this.initialGridPoint=e,this.draggingColumn=null,this.cursor=null,l.modelIndex!=null&&o!=null&&r.isColumnMovable(l.modelIndex,o)&&(this.draggingOffset=i-l.left-d,this.initialOffset=this.draggingOffset),!1}onDrag(e,t,r){if(this.draggingOffset===void 0||this.initialGridPoint===void 0||this.initialOffset===void 0)return!1;var{x:i,y:a}=e,{columnHeaderDepth:o}=this.initialGridPoint,{model:s}=t.props,{draggingColumn:l}=this,{metrics:d}=t;if(!d)throw new Error("Metrics not set");if(!l&&Math.abs(this.initialGridPoint.x-i)<Rv&&Math.abs(this.initialGridPoint.y-a)<Rv)return!1;if(l==null){var u=Ei(this.initialGridPoint.column,o,d,s);if(!u||o==null||!s.isColumnMovable(u.modelIndex)||o>0&&!u.isColumnGroup||u.range[0]==null)return!1;l={range:u.range,depth:o,left:u.left,width:u.width};var c=Ei(l.range[0],0,d,s),m=Ei(l.range[1],0,d,s);if(!c||!m)return!1;this.draggingColumn=l,t.setState({draggingColumn:l,isDragging:!0})}return this.cursor="move",this.moveDraggingColumn(e.x,t,r.movementX),!0}moveDraggingColumn(e,t,r){var i;if(!(this.draggingOffset===void 0||this.initialGridPoint===void 0||this.initialOffset===void 0||this.draggingColumn==null||r===0)){if(this.initialOffset!==this.draggingOffset){this.draggingOffset<this.initialOffset&&this.initialOffset<this.draggingOffset+r||this.draggingOffset>this.initialOffset&&this.initialOffset>this.draggingOffset+r?this.draggingOffset=this.initialOffset:this.draggingOffset+=r,this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:e-this.draggingOffset}),t.setState({draggingColumn:this.draggingColumn});return}var{depth:a}=this.draggingColumn,{model:o}=t.props,{movedColumns:s}=t.state,{metrics:l}=t;if(!l)throw new Error("Metrics not set");var{floatingLeftWidth:d,width:u,columnHeaderMaxDepth:c,allColumnXs:m}=l,v=r<0,g=Ei(this.draggingColumn.range[0],a,l,o);if(g){var f=e-this.draggingOffset,p=f+g.width;this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:f}),t.setState({draggingColumn:this.draggingColumn});var C=Ei(V.getColumnAtX(Ve(v?f:p,d,u),l,!0),a,l,o),b=o.getColumnHeaderParentGroup(g.modelIndex,g.depth);if(C){if(b!==void 0){var S=b.getVisibleRange(s);if(C.visibleIndex<S[0]){var E,y=this.moveColumn(g,S[0],s);this.draggingOffset=e-((E=m.get(S[0]))!==null&&E!==void 0?E:0),this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:e-this.draggingOffset}),this.clearScrollInterval(),t.setState({draggingColumn:this.draggingColumn,movedColumns:y});return}if(C.visibleIndex>S[1]){var T,O=this.moveColumn(g,S[1]-(g.range[1]-g.range[0]),s),{right:D=0}=(T=Ei(S[1],0,l,o))!==null&&T!==void 0?T:{};this.draggingOffset=e-(D-g.width),this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:e-this.draggingOffset}),this.clearScrollInterval(),t.setState({draggingColumn:this.draggingColumn,movedColumns:O});return}}if(!o.isColumnMovable(C.modelIndex)){var P=C.visibleIndex;if(v)for(P+=1;P<g.visibleIndex&&!o.isColumnMovable(V.getModelIndex(P,s));)P+=1;else for(P-=1;P>g.visibleIndex&&!o.isColumnMovable(V.getModelIndex(P,s));)P-=1;if(P!==g.visibleIndex){v||(P-=g.range[1]-g.range[0]);var R=this.moveColumn(g,P,s);t.setState({movedColumns:R,draggingColumn:this.draggingColumn})}var _=Ei(P,0,l,o);if(v){var M;this.draggingOffset=e-((M=_?.left)!==null&&M!==void 0?M:0)}else{var A;this.draggingOffset=e-(((A=_?.right)!==null&&A!==void 0?A:0)-g.width)}this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:e-this.draggingOffset}),t.setState({draggingColumn:this.draggingColumn});return}if(f<=d?this.setScrollInterval(t,"left"):p>u?this.setScrollInterval(t,"right"):this.clearScrollInterval(),C.visibleIndex!==g.visibleIndex&&!(v&&g.visibleIndex<C.visibleIndex||!v&&g.visibleIndex>C.visibleIndex)){for(var B=C.left+C.width*.5,$=o.getColumnHeaderParentGroup(g.modelIndex,g.depth),z,G=((i=$?.depth)!==null&&i!==void 0?i:c)-1;G>=0&&z===void 0;)z=o.getColumnHeaderGroup(C.modelIndex,G),G-=1;var K;v&&f<B&&(!z||C.visibleIndex===z.getVisibleRange(s)[0])&&(K=this.moveColumn(g,C.range[0],s)),!v&&p>B&&(!z||C.visibleIndex===z.getVisibleRange(s)[1])&&(K=this.moveColumn(g,C.range[1]-(g.range[1]-g.range[0]),s)),K&&(this.draggingColumn=dr(dr({},this.draggingColumn),{},{left:f}),t.setState({movedColumns:K,draggingColumn:this.draggingColumn}))}}}}}moveColumn(e,t,r){var i=e.isColumnGroup?V.moveRange(e.range,t,r):V.moveItem(e.visibleIndex,t,r),a=t-e.range[0],o=[e.range[0]+a,e.range[1]+a];return this.draggingColumn&&(this.draggingColumn=dr(dr({},this.draggingColumn),{},{range:o})),i}onUp(e,t){return this.cursor=null,this.clearScrollInterval(),this.draggingOffset!=null?(this.draggingOffset=void 0,t.setState({draggingColumn:null,isDragging:!1}),!0):!1}}const SR=bR;function Nv(n,e,t){return e=wR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wR(n){var e=ER(n,"string");return typeof e=="symbol"?e:String(e)}function ER(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ac extends Pt{constructor(){super(...arguments),Nv(this,"dragOffset",void 0),Nv(this,"cursor","default")}static getLeftWithOffsetFromRawLeft(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:a}=e;if(!i)throw new Error("metrics not set");if(r.scrollSnapToColumn){var o=Math.round(t),s=0;return{left:o,leftOffset:s}}var l=Math.floor(t),d=t-l,u=i.allColumnWidths.get(l);if(u==null){var c=e.getMetricState();u=a.getVisibleColumnWidth(l,c)}var m=u*d;return{left:l,leftOffset:m}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:a}=r,{metrics:o}=t;if(!o)throw new Error("metrics not set");var{x:s,y:l}=e,{barLeft:d,barWidth:u,height:c,hasHorizontalBar:m}=o;return m&&i>0&&l>=c-a&&l<c&&s>d&&s<d+u}getLeftWithOffset(e,t){var r,{metrics:i}=t;if(!i)throw new Error("metrics not set");var{x:a}=e,{barWidth:o,handleWidth:s,lastLeft:l,barLeft:d,columnCount:u,scrollableContentWidth:c,scrollableViewportWidth:m}=i,v=a-d,g=Ve((v-((r=this.dragOffset)!==null&&r!==void 0?r:0))/(o-s),0,1);if(u===1)return{left:0,leftOffset:g*(c-m)};var f=g*l;return ac.getLeftWithOffsetFromRawLeft(t,f)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{x:i}=e,{handleWidth:a,barLeft:o,scrollX:s}=r;if(!this.isInScrollBar(e,t))return!1;var l=i-o;if(l>=s&&l<=s+a)this.dragOffset=l-s,t.setState({isDraggingHorizontalScrollBar:!0});else{this.dragOffset=0;var{left:d,leftOffset:u}=this.getLeftWithOffset(e,t);t.setViewState({left:d,leftOffset:u,isDraggingHorizontalScrollBar:!0,isDragging:!0})}return!0}onDrag(e,t){if(this.dragOffset!=null){var{left:r,leftOffset:i}=this.getLeftWithOffset(e,t);return t.setViewState({left:r,leftOffset:i,isDraggingHorizontalScrollBar:!0,isDragging:!0}),!0}return!1}onMove(e,t){return this.isInScrollBar(e,t)}onUp(e,t){return this.dragOffset!==void 0&&(this.dragOffset=void 0,t.setState({isDraggingHorizontalScrollBar:!1,isDragging:!1})),this.isInScrollBar(e,t)}onClick(e,t){return this.isInScrollBar(e,t)}}const yR=ac;function Fv(n,e,t){return e=TR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function TR(n){var e=PR(n,"string");return typeof e=="symbol"?e:String(e)}function PR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class OR extends Pt{constructor(){super(...arguments),Fv(this,"cursor","move"),Fv(this,"draggingOffset",void 0)}onDown(e,t){var{model:r}=t.props,{x:i,y:a,row:o}=e,{metrics:s}=t;if(!s)throw new Error("metrics not set");var{columnHeaderHeight:l,rowHeaderWidth:d,allRowYs:u}=s;if(i<=d&&o!==null&&r.isRowMovable(o)){var c=U(u,o);this.draggingOffset=a-c-l,t.setState({draggingRowOffset:this.draggingOffset})}return!1}onDrag(e,t){if(this.draggingOffset==null)return!1;var{model:r}=t.props,{draggingRow:i}=t.state,{mouseX:a,mouseY:o}=t.state;if(a==null||o==null)return!1;if(i==null){var{row:s}=t.getGridPointFromXY(a,o);if(s!=null&&!r.isRowMovable(s)||(i=s,t.setState({draggingRow:i,isDragging:!0}),i==null))return!1}var{metrics:l}=t;if(!l)throw new Error("metrics not set");var{top:d,lastTop:u,bottom:c,bottomVisible:m,rowCount:v,columnHeaderHeight:g,allRowHeights:f,allRowYs:p,height:C}=l,b=g;if(d<i){var S=i-1;b=U(p,S)+U(f,S)*.5+g}var E=C;if(i<c){var y=i+1;E=U(p,y)+U(f,y)*.5+g}var{movedRows:T}=t.state;o<b&&i>0&&r.isRowMovable(i-1)?(T=V.moveItem(i,i-1,T),i-=1):E<o&&i<v-1&&r.isRowMovable(i+1)&&(T=V.moveItem(i,i+1,T),i+=1),t.setState({movedRows:T,draggingRow:i});var O=g+U(f,d)*.5,D=g+U(p,m)+U(f,m)*.5;return o<O&&d>0?t.setState({top:d-1}):o>D&&d<u&&t.setState({top:d+1}),!0}onUp(e,t){return this.draggingOffset!==void 0?(this.draggingOffset=void 0,t.setState({draggingRowOffset:null,draggingRow:null,isDragging:!1}),!0):!1}}const DR=OR;function Xt(n,e,t){return e=RR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RR(n){var e=NR(n,"string");return typeof e=="symbol"?e:String(e)}function NR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class oc extends cC{constructor(){super(...arguments),Xt(this,"hiddenCursor","s-resize"),Xt(this,"defaultCursor","row-resize"),Xt(this,"pointProperty","y"),Xt(this,"userSizesProperty","userRowHeights"),Xt(this,"visibleOffsetProperty","visibleRowYs"),Xt(this,"visibleSizesProperty","visibleRowHeights"),Xt(this,"marginProperty","columnHeaderHeight"),Xt(this,"calculatedSizesProperty","calculatedRowHeights"),Xt(this,"initialSizesProperty","initialRowHeights"),Xt(this,"modelIndexesProperty","modelRows"),Xt(this,"firstIndexProperty","firstRow"),Xt(this,"treePaddingProperty","treePaddingY"),Xt(this,"getHiddenItems",V.getHiddenRows),Xt(this,"getNextShownItem",V.getNextShownRow),Xt(this,"getSeparator",oc.getRowSeparator)}static getRowSeparator(e,t,r,i){if(!i.allowRowResize)return null;var{x:a,y:o}=e,s=V.getRowSeparatorIndex(a,o,t,i);return s!=null?{index:s,depth:0}:null}setSize(e,t,r){e.setRowHeight(t,r)}resetSize(e,t){e.resetRowHeight(t)}updateSeparator(e,t){e.setState({draggingRowSeparator:t,isDragging:t!==null})}}const FR=oc;class Bl extends Pt{static isInTreeBox(e,t){var{column:r,row:i,x:a,y:o}=e,{metrics:s}=t;if(!s)throw new Error("metrics not set");var{gridX:l,gridY:d,firstColumn:u,allColumnXs:c,allColumnWidths:m,allRowHeights:v,allRowYs:g,visibleRowTreeBoxes:f}=s;if(r===u&&i!=null&&f.get(i)!=null&&a>l&&o>d){var p=U(c,r),C=U(m,r),b=U(g,i),S=U(v,i);if(a>=l+p&&a<=l+p+C&&o>=d+b&&o<=d+b+S)return!0}return!1}onDown(e,t){return Bl.isInTreeBox(e,t)}onClick(e,t,r){if(Bl.isInTreeBox(e,t)){var{row:i}=e;if(i!==null)return t.toggleRowExpanded(i,V.isModifierKeyDown(r)),!0}return!1}}const nh=Bl;class IR extends Pt{isInCorner(e,t){var r=t.getTheme(),{scrollBarSize:i}=r,{metrics:a}=t;if(!a)throw new Error("metrics not set");var{x:o,y:s}=e,{width:l,height:d,hasVerticalBar:u,hasHorizontalBar:c}=a;return i>0&&u&&c&&o>=l-i&&s>=d-i&&o<=l&&s<=d}onDown(e,t){return this.isInCorner(e,t)}onUp(e,t){return this.isInCorner(e,t)}onClick(e,t){return this.isInCorner(e,t)}}const _R=IR;function Iv(n,e,t){return e=MR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function MR(n){var e=AR(n,"string");return typeof e=="symbol"?e:String(e)}function AR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class sc extends Pt{constructor(){super(...arguments),Iv(this,"dragOffset",void 0),Iv(this,"cursor","default")}static getTopWithOffsetFromRawTop(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:a}=e;if(!i)throw new Error("metrics not set");if(r.scrollSnapToRow){var o=Math.round(t),s=0;return{top:o,topOffset:s}}var l=Math.floor(t),d=t-l,u=i.allRowHeights.get(l);if(u==null){var c=e.getMetricState();u=a.getVisibleRowHeight(l,c)}var m=u*d;return{top:l,topOffset:m}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:a}=r,{metrics:o}=t;if(!o)throw new Error("metrics not set");var{x:s,y:l}=e,{barTop:d,barHeight:u,width:c,hasVerticalBar:m}=o;return m&&i>0&&s>=c-a&&s<c&&l>d&&l<d+u}getTopWithOffset(e,t){var r,{metrics:i}=t;if(!i)throw new Error("metrics not set");var{y:a}=e,{barHeight:o,handleHeight:s,lastTop:l,barTop:d,rowCount:u,scrollableContentHeight:c,scrollableViewportHeight:m}=i,v=a-d,g=Ve((v-((r=this.dragOffset)!==null&&r!==void 0?r:0))/(o-s),0,1);if(u===1)return{top:0,topOffset:g*(c-m)};var f=g*l;return sc.getTopWithOffsetFromRawTop(t,f)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{y:i}=e,{handleHeight:a,barTop:o,scrollY:s}=r;if(!this.isInScrollBar(e,t))return!1;var l=i-o;if(l>=s&&l<=s+a)this.dragOffset=l-s,t.setState({isDraggingVerticalScrollBar:!0});else{this.dragOffset=0;var{top:d,topOffset:u}=this.getTopWithOffset(e,t);t.setViewState({top:d,topOffset:u,isDraggingVerticalScrollBar:!0,isDragging:!0})}return!0}onMove(e,t){return this.isInScrollBar(e,t)}onDrag(e,t){if(this.dragOffset!=null){var{top:r,topOffset:i}=this.getTopWithOffset(e,t);return t.setViewState({top:r,topOffset:i,isDraggingVerticalScrollBar:!0,isDragging:!0}),!0}return!1}onUp(e,t){return this.dragOffset!==void 0&&(this.dragOffset=void 0,t.setState({isDraggingVerticalScrollBar:!1,isDragging:!1})),this.isInScrollBar(e,t)}onClick(e,t){return this.isInScrollBar(e,t)}}const LR=sc;class kR extends Pt{onDoubleClick(e,t){var{column:r,row:i}=e,{model:a}=t.props;return nt(a)&&r!=null&&i!=null&&a.isEditableRange(Me.makeCell(r,i))?(t.startEditing(r,i),!0):!1}}const xR=kR;function CC(n){return n?.getTokenBoxesForVisibleCell!==void 0}function qo(n,e,t){return e=HR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function HR(n){var e=UR(n,"string");return typeof e=="symbol"?e:String(e)}function UR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Td extends Pt{constructor(){super(...arguments),qo(this,"timeoutId",void 0),qo(this,"isHold",!1),qo(this,"isDown",!1),qo(this,"currentLinkBox",void 0)}isHoveringLink(e,t){var{column:r,row:i,x:a,y:o}=e,{renderer:s,metrics:l,props:d}=t,{model:u}=d;if(r==null||i==null||l==null)return this.currentLinkBox=void 0,!1;var{modelRows:c,modelColumns:m}=l,v=U(c,i),g=U(m,r),f=u.renderTypeForCell(g,v),p=s.getCellRenderer(f);if(!CC(p))return!1;if(this.currentLinkBox!=null){var{x1:C,y1:b,x2:S,y2:E}=this.currentLinkBox;if(a>=C&&a<=S&&o>=b&&o<=E)return!0}for(var y=t.updateRenderState(),T=p.getTokenBoxesForVisibleCell(r,i,y),O=0;O<T.length;O+=1)if($l(T[O].token)){var D=V.translateTokenBox(T[O],l),{x1:P,x2:R,y1:_,y2:M}=D;if(a>=P&&a<=R&&o>=_&&o<=M)return this.currentLinkBox=D,!0}return this.currentLinkBox=void 0,!1}setCursor(e,t){return this.isHoveringLink(e,t)?this.cursor="pointer":this.cursor=null,!1}onMove(e,t){return this.setCursor(e,t)}onDown(e,t,r){var i=this.isHoveringLink(e,t);return V.isModifierKeyDown(r)||r.shiftKey||!i?!1:(this.isDown=!0,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.isHold=!1,this.timeoutId=setTimeout(()=>{this.isHold=!0;var{column:a,row:o}=e,{model:s}=t.props;t.clearSelectedRanges(),t.focus(),t.moveCursorToPosition(a,o),nt(s)&&a!=null&&o!=null&&s.isEditableRange(Me.makeCell(a,o))&&t.startEditing(a,o)},Td.HOLD_LENGTH),!0)}onClick(e,t){var r=this.isHoveringLink(e,t);if(!r||!this.isDown||this.currentLinkBox==null)return this.isDown=!1,this.isHold=!1,!1;if(!this.isHold){var i;this.timeoutId!=null&&clearTimeout(this.timeoutId),this.timeoutId=void 0,t.props.onTokenClicked((i=this.currentLinkBox)===null||i===void 0?void 0:i.token)}return this.isHold=!1,this.isDown=!1,!0}}qo(Td,"HOLD_LENGTH",1e3);const $R=Td;function BR(n,e,t){return e=VR(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VR(n){var e=GR(n,"string");return typeof e=="symbol"?e:String(e)}function GR(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class WR{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5e3;BR(this,"order",void 0),this.order=e}onDown(e,t){return!1}}const Na=WR;class jR extends Na{onDown(e,t){switch(e.key){case"a":if(V.isModifierKeyDown(e))return t.selectAll(),!0;break;case"ArrowUp":return this.handleArrowMove(0,-1,e,t);case"ArrowDown":return this.handleArrowMove(0,1,e,t);case"ArrowRight":return this.handleArrowMove(1,0,e,t);case"ArrowLeft":return this.handleArrowMove(-1,0,e,t);case"k":case"K":return V.isModifierKeyDown(e)?!1:this.handlePageUp(e,t);case"j":case"J":return V.isModifierKeyDown(e)?!1:this.handlePageDown(e,t);case"h":case"H":return V.isModifierKeyDown(e)?!1:(e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(0,t.state.cursorRow,e.shiftKey),!0);case"l":case"L":{if(V.isModifierKeyDown(e))return!1;var{model:r}=t.props,{columnCount:i}=r;return e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(i-1,t.state.cursorRow,e.shiftKey),!0}case"PageDown":return this.handlePageDown(e,t);case"PageUp":return this.handlePageUp(e,t);case"Home":return e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(V.isModifierKeyDown(e)?t.state.cursorColumn:0,V.isModifierKeyDown(e)?0:t.state.cursorRow,e.shiftKey,!0,!0),!0;case"End":{var{model:a}=t.props,{columnCount:o,rowCount:s}=a;return e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(V.isModifierKeyDown(e)?t.state.cursorColumn:o-1,V.isModifierKeyDown(e)?s-1:t.state.cursorRow,e.shiftKey,!0,!0),!0}case"Escape":return t.clearSelectedRanges(),{preventDefault:!1,stopPropagation:!1};case"Enter":if(t.state.selectedRanges.length>0)return t.moveCursorInDirection(e.shiftKey?Me.SELECTION_DIRECTION.UP:Me.SELECTION_DIRECTION.DOWN),!0;break;case"Tab":if(t.state.selectedRanges.length>0)return t.moveCursorInDirection(e.shiftKey?Me.SELECTION_DIRECTION.LEFT:Me.SELECTION_DIRECTION.RIGHT),!0;break}return!1}handleArrowMove(e,t,r,i){var a=r.shiftKey,o=V.isModifierKeyDown(r);a?i.trimSelectedRanges():i.clearSelectedRanges();var{cursorRow:s,cursorColumn:l,selectionEndColumn:d,selectionEndRow:u}=i.state,c=a?d:l,m=a?u:s;if(o){var{model:v}=i.props,{columnCount:g,rowCount:f}=v,p=o&&a,C=null,b=null;e<0?(C=0,b=m):e>0?(C=g-1,b=m):t<0?(C=c,b=0):t>0&&(C=c,b=f-1),C!=null&&b!=null&&i.moveCursorToPosition(C,b,a,!0,p)}else{if(!i.metrics)throw new Error("grid.metrics are not set");var{theme:S}=i.props,{autoSelectRow:E=!1,autoSelectColumn:y=!1}=S;if(E&&e!==0){var{lastLeft:T}=i.metrics,{left:O}=i.state;O=Ve(O+e,0,T),i.moveCursorToPosition(O,s,a,!1),i.setViewState({left:O})}else if(y&&t!==0){var{lastTop:D}=i.metrics,{top:P}=i.state;P=Ve(P+t,0,D),i.moveCursorToPosition(P,l,a,!1),i.setViewState({top:P})}else i.moveCursor(e,t,a)}return!0}handlePageUp(e,t){var r=e.shiftKey;r?t.trimSelectedRanges():t.clearSelectedRanges();var{cursorColumn:i,selectionEndRow:a}=t.state,o=a,s=i;if(o==null)return!1;var l=t.getMetricState(),{metricCalculator:d}=t,{bottomVisible:u,topVisible:c,hasHorizontalBar:m}=d.getMetrics(l),v=o-(u-c);v-=m?0:1,v=Math.max(v,0);var g=Math.max(v-(o-c),0);return t.moveCursorToPosition(s,v,r,!1),t.setViewState({top:g}),!0}handlePageDown(e,t){var r=e.shiftKey;r?t.trimSelectedRanges():t.clearSelectedRanges();var{selectionEndRow:i,cursorColumn:a}=t.state,o=i,s=a;if(o===null)return!1;var l=t.getMetricState(),{metricCalculator:d}=t,{bottomVisible:u,topVisible:c,hasHorizontalBar:m,rowCount:v,lastTop:g}=d.getMetrics(l),f=v-1,p=u-c+o;p+=m?0:1,p=Math.min(p,f);var C=Math.min(g,p-(o-c));return t.moveCursorToPosition(s,p,r,!1),t.setViewState({top:C}),!0}}const zR=jR;class KR extends Na{onDown(e,t){switch(e.key){case"Enter":case" ":return this.handleExpandKey(e,t)}return!1}handleExpandKey(e,t){var{selectedRanges:r}=t.state;if(r.length===1){var i=r[0];if(i.startRow===i.endRow&&i.startColumn===i.endColumn){if(!t.metrics)throw new Error("grid.metrics not set");var{model:a}=t.props,{startRow:o,startColumn:s}=i;if(o!=null){var l=t.getModelRow(o);if((s===0||s==null)&&ze(a)&&a.isRowExpandable(l))return t.toggleRowExpanded(o),!0}}}return!1}}const YR=KR;class qR extends Na{onDown(e,t){if(V.isModifierKeyDown(e))return!1;var{model:r}=t.props,{cursorColumn:i,cursorRow:a}=t.state;if(i==null||a==null||!nt(r)||!r.isEditableRange(Me.makeCell(i,a)))return!1;var o=i,s=a;return o==null||s==null?!1:e.key.length===1?(t.startEditing(o,s,!0,[1,1],e.key),!0):e.key==="F2"?(t.startEditing(o,s),!0):e.key==="Backspace"?(t.startEditing(o,s,!0,void 0,""),!0):e.key==="Delete"?(t.setValueForCell(o,s,""),!0):!1}}const XR=qR;function QR(n){for(var e=[],t=n.querySelectorAll("tr"),r=0;r<t.length;r+=1){for(var i=t[r],a=i.querySelectorAll("td"),o=[],s=0;s<a.length;s+=1){var l,d,u=a[s];o.push((l=(d=u.textContent)===null||d===void 0?void 0:d.trim())!==null&&l!==void 0?l:"")}e.push(o)}return e}function ZR(n){var e=[];return n.forEach(t=>{var r,i=(r=t.textContent)!==null&&r!==void 0?r:"";i.length>0&&e.push(i.split(/\t|\u00a0\u00a0 \u00a0/))}),e}function JR(n){var e,t,r=n.querySelector("table");if(r!=null)return QR(r);var i=(e=(t=n.textContent)===null||t===void 0?void 0:t.trim())!==null&&e!==void 0?e:"";if(i.length>0){var{childNodes:a}=n,o=i.includes(" "),s=i.includes("    ");return o&&a.length!==0&&(a.length===1||a.length>1&&(a[0].textContent==null||!a[0].textContent.includes(" ")))?i.split(`
21
21
  `).map(l=>l.split(" ")):a.length>1||s?ZR(n.childNodes):i}return null}class eN extends Na{onDown(e,t){switch(e.key){case"v":if(V.isModifierKeyDown(e)){var r=document.createElement("div");document.body.appendChild(r),r.setAttribute("contenteditable","true"),r.setAttribute("style",'clip-path: "inset(50%)"; height: 1px; width: 1px; margin: -1px; overflow: hidden; padding 0; position: absolute;');var i=()=>{r.removeEventListener("input",i),r.remove(),t.focus();var a=JR(r);a!=null&&t.pasteValue(a)};return r.addEventListener("input",i),r.focus(),{preventDefault:!1,stopPropagation:!0}}break}return!1}}const tN=eN;var rN=n=>{switch(n){case"ArrowDown":return tn.DOWN;case"ArrowUp":return tn.UP;case"ArrowLeft":return tn.LEFT;case"ArrowRight":return tn.RIGHT;default:return}};function lc(n){var{selectionRange:e=void 0,className:t="",disabled:r=!1,value:i="",isQuickEdit:a=!0,onChange:o=()=>{},onCancel:s=()=>{},onDone:l=()=>{},onContextMenu:d=()=>{},style:u={}}=n,c=w.useRef(null),m=w.useRef(!1),[v]=w.useState(i),[g,f]=w.useState(!1),[p,C]=w.useState(a),[b,S]=w.useState(i);w.useEffect(function(){var{current:A}=c;A!=null&&(A.focus(),e?A.setSelectionRange(e[0],e[1]):A.setSelectionRange(A.value.length,A.value.length))},[e]);var E=w.useCallback(M=>{o(M)},[o]),y=w.useCallback(M=>{var{value:A}=M.target;S(A),f(!0),E(A)},[E,S,f]),T=w.useCallback(()=>{m.current=!0,g&&E(v),f(!1),s()},[v,g,s,E]),O=w.useCallback(()=>{C(!1)},[C]),D=w.useCallback(function(M){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l(b,{direction:M,fillRange:A})},[l,b]),P=w.useCallback(()=>{m.current||D(null)},[m,D]),R=w.useCallback(M=>{switch(M.stopPropagation(),M.key){case"Escape":M.preventDefault(),T();break;case"Enter":if(M.preventDefault(),V.isModifierKeyDown(M))D(void 0,!0);else if(M.altKey){var A="".concat(b,`
22
- `);S(A),f(!0),E(A)}else D(M.shiftKey?tn.UP:tn.DOWN);break;case"Tab":M.preventDefault(),D(M.shiftKey?tn.LEFT:tn.RIGHT);break;case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":p&&(M.preventDefault(),D(rN(M.key)));break}},[T,D,p,S,f,E,b]),_=w.useCallback(M=>{d(M)},[d]);return h.createElement("textarea",{ref:c,className:te("grid-cell-input-field",t),value:b,onBlur:P,onChange:y,onKeyDown:R,onContextMenu:_,onClick:O,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:r,style:u})}lc.propTypes={selectionRange:q.arrayOf(q.number),className:q.string,disabled:q.bool,isQuickEdit:q.bool,value:q.string,onChange:q.func,onCancel:q.func,onDone:q.func,onContextMenu:q.func,style:q.shape({})};lc.defaultProps={selectionRange:null,className:"",disabled:!1,value:"",isQuickEdit:!0,onChange:()=>{},onCancel:()=>{},onDone:()=>{},onContextMenu:()=>{},style:{}};var nN=h.createContext({});const iN=nN;function _v(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function aN(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){_v(a,r,i,o,s,"next",l)}function s(l){_v(a,r,i,o,s,"throw",l)}o(void 0)})}}function Mv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function fa(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mv(Object(t),!0).forEach(function(r){Et(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Et(n,e,t){return e=oN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function oN(n){var e=sN(n,"string");return typeof e=="symbol"?e:String(e)}function sN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class _r extends w.PureComponent{static getScale(e){var t,r,i,a,o,s=window.devicePixelRatio||1,l=e,d=(t=(r=(i=(a=(o=l.webkitBackingStorePixelRatio)!==null&&o!==void 0?o:l.mozBackingStorePixelRatio)!==null&&a!==void 0?a:l.msBackingStorePixelRatio)!==null&&i!==void 0?i:l.oBackingStorePixelRatio)!==null&&r!==void 0?r:l.backingStorePixelRatio)!==null&&t!==void 0?t:1;return s/d}static getCursorClassName(e){return e!=null&&e!==""?"grid-cursor-".concat(e):null}constructor(e){super(e),Et(this,"renderer",void 0),Et(this,"metricCalculator",void 0),Et(this,"canvas",void 0),Et(this,"canvasContext",void 0),Et(this,"animationFrame",void 0),Et(this,"prevMetrics",void 0),Et(this,"metrics",void 0),Et(this,"renderState",void 0),Et(this,"documentCursor",void 0),Et(this,"dragTimer",void 0),Et(this,"keyHandlers",void 0),Et(this,"mouseHandlers",void 0),Et(this,"getCachedKeyHandlers",fe(l=>[...l,...this.keyHandlers].sort((d,u)=>d.order-u.order))),Et(this,"getCachedMouseHandlers",fe(l=>[...l,...this.mouseHandlers].sort((d,u)=>d.order-u.order))),this.handleClick=this.handleClick.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handleEditCellCancel=this.handleEditCellCancel.bind(this),this.handleEditCellChange=this.handleEditCellChange.bind(this),this.handleEditCellCommit=this.handleEditCellCommit.bind(this),this.handleDoubleClick=this.handleDoubleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseDrag=this.handleMouseDrag.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleResize=this.handleResize.bind(this),this.handleWheel=this.handleWheel.bind(this);var{isStuckToBottom:t,isStuckToRight:r,metricCalculator:i,movedColumns:a,movedRows:o,renderer:s}=e;this.renderer=s||new pC,this.metricCalculator=i||new _D,this.canvas=null,this.canvasContext=null,this.animationFrame=null,this.prevMetrics=null,this.metrics=null,this.renderState={},this.documentCursor=null,this.dragTimer=null,this.keyHandlers=[new XR(400),new tN(450),new zR(500),new YR(900)],this.mouseHandlers=[new FR(100),new mC(200),new DR(300),new SR(400),new xR(450),new LR(500),new yR(600),new _R(700),new nh(800),new $R(825),new gR(900)],this.state={top:0,left:0,topOffset:0,leftOffset:0,draggingColumn:null,draggingRow:null,draggingRowOffset:null,draggingColumnSeparator:null,draggingRowSeparator:null,isDraggingHorizontalScrollBar:!1,isDraggingVerticalScrollBar:!1,isDragging:!1,mouseX:null,mouseY:null,movedColumns:a,movedRows:o,cursorRow:null,cursorColumn:null,selectionStartRow:null,selectionStartColumn:null,selectionEndRow:null,selectionEndColumn:null,selectedRanges:xe,lastSelectedRanges:xe,cursor:null,editingCell:null,isStuckToBottom:t,isStuckToRight:r}}componentDidMount(){var e;this.initContext(),(e=this.canvas)===null||e===void 0||e.addEventListener("wheel",this.handleWheel,{passive:!1}),window.addEventListener("resize",this.handleResize),this.updateCanvas();var{isStuckToBottom:t,isStuckToRight:r}=this.props;t&&this.scrollToBottom(),r&&this.scrollToRight()}componentDidUpdate(e,t){var{isStickyBottom:r,isStickyRight:i,movedColumns:a,movedRows:o,onMovedColumnsChanged:s,onMoveColumnComplete:l,onMovedRowsChanged:d,onMoveRowComplete:u}=this.props,{isStickyBottom:c,isStickyRight:m,movedColumns:v,movedRows:g}=e,{movedColumns:f,movedRows:p}=t,{draggingColumn:C,draggingRow:b,movedColumns:S,movedRows:E}=this.state;v!==a&&this.setState({movedColumns:a}),g!==o&&this.setState({movedRows:o}),f!==S&&s(S),t.draggingColumn!=null&&C==null&&l(S),p!==E&&d(E),t.draggingRow!=null&&b==null&&u(E),r!==c&&this.setState({isStuckToBottom:!1}),i!==m&&this.setState({isStuckToRight:!1}),this.updateMetrics(),this.requestUpdateCanvas(),this.checkStickyScroll(),this.validateSelection()&&this.checkSelectionChange(t)}componentWillUnmount(){var e;this.animationFrame!=null&&cancelAnimationFrame(this.animationFrame),(e=this.canvas)===null||e===void 0||e.removeEventListener("wheel",this.handleWheel),window.removeEventListener("mousemove",this.handleMouseDrag,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("resize",this.handleResize),this.stopDragTimer()}getTheme(){var{theme:e}=this.props;return _r.getTheme(this.context,e)}getGridPointFromEvent(e){pv(this.canvas);var t=this.canvas.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top;return this.getGridPointFromXY(r,i)}getGridPointFromXY(e,t){if(!this.metrics)throw new Error("metrics must be set");return V.getGridPointFromXY(e,t,this.metrics)}getMetricState(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,t=this.getTheme(),{model:r,stateOverride:i}=this.props;if(!this.canvasContext||!this.canvas)throw new Error("Canvas and context must be defined to get metrics");var a=this.canvasContext,o=this.canvas.clientWidth,s=this.canvas.clientHeight,{left:l,top:d,leftOffset:u,topOffset:c,movedColumns:m,movedRows:v,isDraggingHorizontalScrollBar:g,isDraggingVerticalScrollBar:f,draggingColumn:p}=e;return fa({left:l,top:d,leftOffset:u,topOffset:c,width:o,height:s,context:a,theme:t,model:r,movedColumns:m,movedRows:v,isDraggingHorizontalScrollBar:g,isDraggingVerticalScrollBar:f,draggingColumn:p},i)}getKeyHandlers(){var{keyHandlers:e}=this.props;return this.getCachedKeyHandlers(e)}getMouseHandlers(){var{mouseHandlers:e}=this.props;return this.getCachedMouseHandlers(e)}getModelColumn(e){var t,r,i=(t=this.metrics)===null||t===void 0||(r=t.modelColumns)===null||r===void 0?void 0:r.get(e);if(i===void 0)throw new Error("Unable to get ModelIndex for column ".concat(e));return i}getModelRow(e){var t,r,i=(t=this.metrics)===null||t===void 0||(r=t.modelRows)===null||r===void 0?void 0:r.get(e);if(i===void 0)throw new Error("Unable to get ModelIndex for row ".concat(e));return i}toggleRowExpanded(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.getModelRow(e),{model:i}=this.props;ze(i)&&i.isRowExpandable(r)&&i.setRowExpanded(r,!i.isRowExpanded(r),t),this.clearSelectedRanges(),this.commitSelection(),this.moveCursorToPosition(0,e),this.commitSelection(),this.setState({isStuckToBottom:!1})}scrollToBottom(){if(this.metrics){var{bottomVisible:e,rowCount:t,top:r,lastTop:i}=this.metrics;(e<t-1&&e>0||r>i)&&this.setState({top:i})}}scrollToRight(){if(this.metrics){var{rightVisible:e,columnCount:t,left:r,lastLeft:i}=this.metrics;(e<t-1&&e>0||r>i)&&this.setState({left:i})}}setSelectedRanges(e){var{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:a,cursorColumn:o,selectedRanges:s}=this.state;if(this.setState({selectedRanges:e,lastSelectedRanges:s}),e.length>0){var l=Me.boundedRange(e[0],r,i),d=a,u=o;l.containsCell(o,a)||({row:d,column:u}=l.startCell()),this.setState({selectionStartColumn:l.startColumn,selectionStartRow:l.startRow,selectionEndColumn:l.endColumn,selectionEndRow:l.endRow,cursorColumn:u,cursorRow:d})}}initContext(){var{canvas:e}=this,{canvasOptions:t}=this.props;if(!e)throw new Error("Canvas not set");this.canvasContext=e.getContext("2d",t)}requestUpdateCanvas(){this.animationFrame==null&&(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.updateCanvas()}))}updateCanvas(){this.updateCanvasScale(),this.updateMetrics(),this.updateRenderState();var{canvasContext:e,metrics:t,renderState:r}=this;L(e),L(t),L(r),this.renderer.configureContext(e,r);var{onViewChanged:i}=this.props;i(t),this.drawCanvas(t)}updateCanvasScale(){var{canvas:e,canvasContext:t}=this;if(!e)throw new Error("canvas not set");if(!t)throw new Error("canvasContext not set");if(!e.parentElement)throw new Error("Canvas has no parent element");var r=_r.getScale(t),i=e.parentElement.getBoundingClientRect(),a=Math.floor(i.width),o=Math.floor(i.height);e.style.width="".concat(a,"px"),e.style.height="".concat(o,"px"),e.width=a*r,e.height=o*r,t.scale(r,r)}updateScrollBounds(){if(!this.metrics)throw new Error("metrics not set");var{left:e,top:t}=this.state,{lastLeft:r,lastTop:i}=this.metrics;e>r&&this.setState({left:r,leftOffset:0}),t>i&&this.setState({top:i,topOffset:0})}checkStickyScroll(){if(this.metrics){if(this.prevMetrics){var{rowCount:e,columnCount:t,height:r,width:i}=this.metrics,{rowCount:a,columnCount:o,height:s,width:l}=this.prevMetrics;if(a!==e||r!==s){var{isStuckToBottom:d}=this.state;d&&this.scrollToBottom()}if(o!==t||i!==l){var{isStuckToRight:u}=this.state;u&&this.scrollToRight()}}this.prevMetrics=this.metrics}}updateMetrics(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state;this.prevMetrics=this.metrics;var{metricCalculator:t}=this,r=this.getMetricState(e);return this.metrics=t.getMetrics(r),this.updateScrollBounds(),this.metrics}checkSelectionChange(e){var{selectedRanges:t}=e,{selectedRanges:r}=this.state;if(r!==t){var{onSelectionChanged:i}=this.props;i(r)}}validateSelection(){for(var{model:e}=this.props,{selectedRanges:t}=this.state,{columnCount:r,rowCount:i}=e,a=0;a<t.length;a+=1){var o=t[a];if(o.endColumn!=null&&o.endColumn>=r||o.endRow!=null&&o.endRow>=i)return this.setState({selectedRanges:[],lastSelectedRanges:[]}),!1}return!0}clearSelectedRanges(){var{selectedRanges:e}=this.state;this.setState({selectedRanges:[],lastSelectedRanges:e})}trimSelectedRanges(){var{selectedRanges:e}=this.state;e.length>0&&this.setState({selectedRanges:e.slice(e.length-1)})}beginSelection(e,t){this.setState({selectionStartColumn:e,selectionStartRow:t,selectionEndColumn:e,selectionEndRow:t,cursorColumn:e,cursorRow:t})}moveSelection(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;this.setState(a=>{var{selectedRanges:o,selectionStartRow:s,selectionStartColumn:l}=a,{theme:d}=this.props,{autoSelectRow:u,autoSelectColumn:c}=d;if(r&&o.length>0){var m=o[o.length-1],v=null,g=null,f=null,p=null;if(i){var C,b,S,E;v=u!==void 0&&u?null:Math.min(e??0,(C=m.startColumn)!==null&&C!==void 0?C:0),g=c!==void 0&&c?null:Math.min(t??0,(b=m.startRow)!==null&&b!==void 0?b:0),f=u!==void 0&&u?null:Math.max(e??0,(S=m.endColumn)!==null&&S!==void 0?S:0),p=c!==void 0&&c?null:Math.max(t??0,(E=m.endRow)!==null&&E!==void 0?E:0)}else v=m.startColumn,g=m.startRow,(l!=null||s!=null)&&((u===void 0||!u)&&(v=l),(c===void 0||!c)&&(g=s)),f=u!==void 0&&u?null:e,p=c!==void 0&&c?null:t;var y=Me.makeNormalized(v,g,f,p);if(m.equals(y))return null;var T=[...o];return T[T.length-1]=y,{selectedRanges:T,selectionEndColumn:e,selectionEndRow:t}}var O=[...o],D=u!==void 0&&u?null:e,P=c!==void 0&&c?null:t;return O.push(Me.makeNormalized(D,P,D,P)),{selectedRanges:O,selectionEndColumn:e,selectionEndRow:t}})}commitSelection(){this.setState(e=>{var{theme:t}=this.props,{autoSelectRow:r}=t,{selectedRanges:i,lastSelectedRanges:a,cursorRow:o,cursorColumn:s}=e;if(i.length===1&&(r!==void 0&&r?Me.rowCount(i)===1:Me.cellCount(i)===1)&&Me.rangeArraysEqual(i,a))return{selectedRanges:[],lastSelectedRanges:[],cursorColumn:null,cursorRow:null};var l=i.slice();if(l.length>1){for(var d=l[l.length-1],u=0;u<l.length-1;u+=1){var c=l[u];if(c.contains(d)){var m=c.subtract(d);l.pop(),l.splice(u,1),l=l.concat(m);break}}l=Me.consolidate(l)}var v=s,g=o;if(!Me.containsCell(l,s,o)){var{model:f}=this.props,{columnCount:p,rowCount:C}=f,b=Me.nextCell(Me.boundedRanges(i,p,C));b!=null?{column:v,row:g}=b:(v=null,g=null)}return l.length===0&&(v=null,g=null),{cursorRow:g,cursorColumn:v,selectedRanges:l,lastSelectedRanges:i}})}setFocusRow(e){var t;if(!(!this.metrics||!this.prevMetrics)){var{gridY:r,height:i,lastTop:a,userRowHeights:o,rowHeight:s}=this.metrics,l=i-r,d=Math.round(l/2)+((t=o.get(e))!==null&&t!==void 0?t:s),u=this.getMetricState(),c=this.metricCalculator.getLastTop(u,e+1,d);this.setState({top:Math.min(a,c),selectedRanges:[new Me(null,e,null,e)],isStuckToBottom:!1});var{cursorColumn:m}=this.state;this.moveCursorToPosition(m,e,!1,!1)}}selectAll(){var{model:e,theme:t}=this.props,{autoSelectRow:r,autoSelectColumn:i}=t,a=i!==void 0&&i?null:0,o=i!==void 0&&i?null:e.rowCount-1,s=r!==void 0&&r?null:0,l=r!==void 0&&r?null:e.columnCount-1;this.setSelectedRanges([new Me(s,a,l,o)])}moveCursor(e,t,r){var{cursorRow:i,cursorColumn:a,selectionEndColumn:o,selectionEndRow:s}=this.state,l=r?o:a,d=r?s:i;if(d===null||l===null){var{left:u,top:c}=this.state;this.moveCursorToPosition(u,c,r)}else{var{model:m}=this.props,{columnCount:v,rowCount:g}=m,f=Ve(l+e,0,v-1),p=Ve(d+t,0,g-1);this.moveCursorToPosition(f,p,r)}}moveCursorInDirection(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Me.SELECTION_DIRECTION.DOWN,{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:a,cursorColumn:o,selectedRanges:s}=this.state,l=s.length>0?s:[Me.makeCell(o,a)],d=null;if(l.length===1&&Me.cellCount(l)===1){var u,c=new Me(0,0,r-1,i-1);d=(u=c.nextCell(o,a,e))!==null&&u!==void 0?u:c.startCell(e)}else d=Me.nextCell(Me.boundedRanges(l,r,i),o,a,e);if(d!=null){var{column:m,row:v}=d;this.setState({cursorColumn:m,cursorRow:v}),Me.containsCell(s,m,v)||this.setState({selectedRanges:[Me.makeCell(m,v)],selectionStartColumn:m,selectionStartRow:v,selectionEndColumn:m,selectionEndRow:v}),this.moveViewToCell(d.column,d.row)}}moveCursorToPosition(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;r||this.beginSelection(e,t),this.moveSelection(e,t,r,a),i&&this.moveViewToCell(e,t)}moveViewToCell(e,t){if(!this.metrics)throw new Error("metrics not set");var{metricCalculator:r}=this,{bottomVisible:i,rightVisible:a,topVisible:o,leftVisible:s}=this.metrics,l=this.getMetricState(this.state),{top:d,left:u,topOffset:c,leftOffset:m}=this.state;t!=null&&!V.isFloatingRow(t,this.metrics)&&(t<o?(d=r.getTopForTopVisible(l,t),c=0):t>i&&(d=r.getTopForBottomVisible(l,t),c=0)),e!=null&&!V.isFloatingColumn(e,this.metrics)&&(e<s?(u=r.getLeftForLeftVisible(l,e),m=0):e>a&&(u=r.getLeftForRightVisible(l,e),m=0)),this.setViewState({top:d,left:u,topOffset:c,leftOffset:m})}setViewState(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!this.metrics)throw new Error("metrics not set");var{isStickyBottom:r,isStickyRight:i}=this.props,{top:a,left:o}=e,{lastTop:s,lastLeft:l}=this.metrics;a!=null&&this.setState({isStuckToBottom:r&&a>=s}),o!=null&&this.setState({isStuckToRight:i&&o>=l}),this.setState(e),t&&this.forceUpdate()}startEditing(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,{model:o}=this.props;if(!nt(o))throw new Error("model is not editable");var s=this.getModelColumn(e),l=this.getModelRow(t),d={column:e,row:t,selectionRange:i,value:a!==void 0?a:o.editValueForCell(s,l),isQuickEdit:r};this.setState({editingCell:d,cursorColumn:e,cursorRow:t}),this.moveViewToCell(e,t)}isValidForCell(e,t,r){var{model:i}=this.props,a=this.getModelColumn(e),o=this.getModelRow(t);return nt(i)&&i.isValidForCell(a,o,r)}pasteValue(e){var t=this;return aN(function*(){var{model:r}=t.props,{movedColumns:i,movedRows:a,selectedRanges:o}=t.state;try{if(Cv(r),!r.isEditable||!o.every(p=>r.isEditableRange(p)))throw new Cu("Can't paste in to read-only area.");if(o.length<=0)throw new Cu("Select an area to paste to.");if(typeof e=="string"){var s=[],l=V.getModelRanges(o,i,a);Me.forEachCell(l,(p,C)=>{s.push({column:p,row:C,text:e})}),yield r.setValues(s);return}var d=e.length,u=e[0].length,{columnCount:c,rowCount:m}=r,v=o;if(v.every(p=>{var C,b;return Me.cellCount([p])===1&&((C=p.startColumn)!==null&&C!==void 0?C:0)+u<=c&&((b=p.startRow)!==null&&b!==void 0?b:0)+d<=m})&&(v=v.map(p=>{var C,b;return new Me(p.startColumn,p.startRow,((C=p.startColumn)!==null&&C!==void 0?C:0)+u-1,((b=p.startRow)!==null&&b!==void 0?b:0)+d-1)}),t.setSelectedRanges(v)),!v.every(p=>Me.rowCount([p])===d&&Me.columnCount([p])===u))throw new Cu("Copy and paste area are not same size.");var g=[];v.forEach(p=>{for(var C=0;C<u;C+=1)for(var b=0;b<d;b+=1){var S,E;g.push({column:((S=p.startColumn)!==null&&S!==void 0?S:0)+C,row:((E=p.startRow)!==null&&E!==void 0?E:0)+b,text:e[b][C]})}}),yield r.setValues(g)}catch(p){var{onError:f}=t.props;f(p instanceof Error?p:new Error("".concat(p)))}})()}setValueForCell(e,t,r){var{model:i}=this.props;Cv(i);var a=this.getModelColumn(e),o=this.getModelRow(t);return i.isValidForCell(a,o,r)?(i.setValueForCell(a,o,r),!0):!1}setValueForRanges(e,t){var{model:r}=this.props,{movedColumns:i,movedRows:a}=this.state,o=V.getModelRanges(e,i,a);nt(r)&&r.setValueForRanges(o,t)}isSelected(e,t){for(var{selectedRanges:r}=this.state,i=0;i<r.length;i+=1){var a,o,s=r[i],l=s.startRow===null||s.startRow<=e&&e<=((a=s.endRow)!==null&&a!==void 0?a:0),d=s.startColumn===null||s.startColumn<=t&&t<=((o=s.endColumn)!==null&&o!==void 0?o:0);if(l&&d)return!0}return!1}addDocumentCursor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.documentCursor!==_r.getCursorClassName(e)&&(this.documentCursor!=null&&document.documentElement.classList.remove(this.documentCursor),this.documentCursor=_r.getCursorClassName(e),this.documentCursor!=null&&document.documentElement.classList.add(this.documentCursor),document.documentElement.classList.add("grid-block-events"))}removeDocumentCursor(){this.documentCursor!=null&&(document.documentElement.classList.remove(this.documentCursor),document.documentElement.classList.remove("grid-block-events"),this.documentCursor=null)}startDragTimer(e){this.stopDragTimer();var t=new MouseEvent("custom",e.nativeEvent);this.dragTimer=setTimeout(()=>{this.handleMouseDrag(t)},_r.dragTimeout)}stopDragTimer(){this.dragTimer&&(clearTimeout(this.dragTimer),this.dragTimer=null)}drawCanvas(){if(arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.updateMetrics(),!this.canvas)throw new Error("canvas is not set");if(!this.canvasContext)throw new Error("context not set");var{renderer:e,canvasContext:t,renderState:r}=this;t.save(),e.drawCanvas(r),t.restore()}focus(){var e;(e=this.canvas)===null||e===void 0||e.focus()}isFocused(){return document.activeElement===this.canvas}handleClick(e){for(var t,r=this.getGridPointFromEvent(e),i=this.getMouseHandlers(),a=0;a<i.length;a+=1){var o=i[a];if(o.onClick(r,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}(t=this.canvas)===null||t===void 0||t.focus()}handleContextMenu(e){for(var t=this.getGridPointFromEvent(e),r=this.getMouseHandlers(),i=0;i<r.length;i+=1){var a=r[i];if(a.onContextMenu(t,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}}handleKeyDown(e){for(var t=this.getKeyHandlers(),r=0;r<t.length;r+=1){var i=t[r],a=i.onDown(e,this);if(a!==!1){var o,s,l=a;(!((o=l?.stopPropagation)!==null&&o!==void 0)||o)&&e.stopPropagation(),(!((s=l?.preventDefault)!==null&&s!==void 0)||s)&&e.preventDefault();break}}}notifyMouseHandlers(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=this.getGridPointFromEvent(t),o=this.getMouseHandlers(),s=null,l=0;l<o.length;l+=1){var d=o[l],u=d[e]!=null&&d[e](a,this,t);if(u!==!1){var c,m;d.cursor!=null&&({cursor:s}=d,i&&this.addDocumentCursor(s));var v=u;(!((c=v?.stopPropagation)!==null&&c!==void 0)||c)&&t.stopPropagation(),(!((m=v?.preventDefault)!==null&&m!==void 0)||m)&&t.preventDefault();break}}if(this.setState({cursor:s}),r){var{x:g,y:f}=a;this.setState({mouseX:g,mouseY:f})}}handleMouseDown(e){window.addEventListener("mousemove",this.handleMouseDrag,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),!(e.button!=null&&e.button!==0)&&(this.notifyMouseHandlers("onDown",e),this.startDragTimer(e))}handleDoubleClick(e){this.notifyMouseHandlers("onDoubleClick",e)}handleMouseMove(e){this.notifyMouseHandlers("onMove",e)}handleMouseLeave(e){this.notifyMouseHandlers("onLeave",e,!1),this.setState({mouseX:null,mouseY:null})}handleMouseDrag(e){this.setState({isDragging:!0}),this.notifyMouseHandlers("onDrag",e,!0,!0),this.stopDragTimer()}handleMouseUp(e){window.removeEventListener("mousemove",this.handleMouseDrag,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),!(e.button!=null&&e.button!==0)&&(this.notifyMouseHandlers("onUp",e,!1),this.stopDragTimer(),this.removeDocumentCursor())}handleResize(){if(this.updateCanvas(),!this.metrics)throw new Error("metrics not set");this.forceUpdate()}handleWheel(e){if(this.notifyMouseHandlers("onWheel",e),!e.defaultPrevented){var{metricCalculator:t,metrics:r}=this,i=this.getMetricState();if(!r)throw new Error("metrics not set");for(var{lastTop:a,lastLeft:o,columnCount:s,rowCount:l,scrollableContentWidth:d,scrollableViewportWidth:u,scrollableContentHeight:c,scrollableViewportHeight:m,hasHorizontalBar:v,hasVerticalBar:g}=r,{top:f,left:p,topOffset:C,leftOffset:b}=r,S=this.getTheme(),{deltaX:E,deltaY:y}=V.getScrollDelta(e,r.barWidth,r.barHeight,r.rowHeight,r.rowHeight);v&&E!==0;){if(b+=E,E=0,s>1){if(b>0&&p>=o||b<0&&p<=0){b=0;break}}else{if(b<=0){b=0;break}var T=d-u;if(b>=T){b=T;break}}if(b>0){var O,D=(O=r.allColumnWidths.get(p))!==null&&O!==void 0?O:t.getVisibleColumnWidth(p,i);b>=D?(E=b-D,b=0,p+=1):S.scrollSnapToColumn&&s>1&&(b=0,p+=1)}else if(b<0){var P,R=(P=r.allColumnWidths.get(p-1))!==null&&P!==void 0?P:t.getVisibleColumnWidth(p-1,i);Math.abs(b)<=R&&S.scrollSnapToColumn&&s>1?(b=0,p-=1):(E=b+R,b=0,p-=1)}}for(;g&&y!==0;){if(C+=y,y=0,l>1){if(C>0&&f>=a||C<0&&f<=0){C=0;break}}else{if(C<=0){C=0;break}var _=c-m;if(C>=_){C=_;break}}if(C>0){var M,A=(M=r.allRowHeights.get(f))!==null&&M!==void 0?M:t.getVisibleRowHeight(f,i);C>=A?(y=C-A,C=0,f+=1):S.scrollSnapToRow&&l>1&&(C=0,f+=1)}else if(C<0){var B,$=(B=r.allRowHeights.get(f-1))!==null&&B!==void 0?B:t.getVisibleRowHeight(f-1,i);Math.abs(C)<=$&&S.scrollSnapToRow&&l>1?(C=0,f-=1):(y=C+$,C=0,f-=1)}}this.setViewState({top:f,left:p,leftOffset:b,topOffset:C}),e.stopPropagation(),e.preventDefault()}}handleEditCellCancel(){this.setState({editingCell:null}),this.focus()}handleEditCellChange(e){this.setState(t=>{var{editingCell:r}=t;try{return pv(r),{editingCell:fa(fa({},r),{},{value:e})}}catch(a){var{onError:i}=this.props;return i(a instanceof Error?a:new Error("".concat(a))),null}})}handleEditCellCommit(e){var{direction:t=tn.DOWN,fillRange:r=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{editingCell:i,selectedRanges:a}=this.state;if(!i)throw new Error("editingCell not set");var{column:o,row:s}=i;if(!this.isValidForCell(o,s,e)){t===null&&this.setState({editingCell:null});return}r?this.setValueForRanges(a,e):this.setValueForCell(o,s,e),t!==null&&this.moveCursorInDirection(t),this.setState({editingCell:null}),this.focus()}renderInputField(){var{model:e}=this.props,{editingCell:t}=this.state,{metrics:r}=this;if(t==null||r==null||!nt(e))return null;var{selectionRange:i,value:a,isQuickEdit:o}=t,{column:s,row:l}=t,{gridX:d,gridY:u,allColumnXs:c,allRowYs:m,allColumnWidths:v,allRowHeights:g}=r,f=c.get(s),p=m.get(l),C=v.get(s),b=g.get(l),S=f!=null&&p!=null&&C!=null&&b!=null?{position:"absolute",left:d+f,top:u+p,width:C,height:b}:{opacity:0},E=this.getModelColumn(s),y=this.getModelRow(l),T=E!=null&&y!=null?{textAlign:e.textAlignForCell(E,y)}:void 0,O=e.isValidForCell(E,y,a);return h.createElement("div",{style:S},h.createElement(lc,{key:"".concat(s,",").concat(l),selectionRange:i,className:te({error:!O}),onCancel:this.handleEditCellCancel,onChange:this.handleEditCellChange,onDone:this.handleEditCellCommit,isQuickEdit:o,style:T,value:a}))}updateRenderState(){if(!this.canvas)throw new Error("canvas is not set");if(!this.canvasContext)throw new Error("context not set");var{cursorColumn:e,cursorRow:t,draggingColumn:r,draggingColumnSeparator:i,draggingRow:a,draggingRowOffset:o,draggingRowSeparator:s,editingCell:l,isDraggingHorizontalScrollBar:d,isDraggingVerticalScrollBar:u,isDragging:c,mouseX:m,mouseY:v,selectedRanges:g}=this.state,{model:f,stateOverride:p}=this.props,{metrics:C}=this,b=this.canvasContext,S=this.getTheme(),E=this.canvas.clientWidth,y=this.canvas.clientHeight;return L(C),this.renderState=fa({width:E,height:y,context:b,theme:S,model:f,metrics:C,mouseX:m,mouseY:v,selectedRanges:g,draggingColumn:r,draggingColumnSeparator:i,draggingRow:a,draggingRowOffset:o,draggingRowSeparator:s,editingCell:l,isDraggingHorizontalScrollBar:d,isDraggingVerticalScrollBar:u,isDragging:c,cursorColumn:e,cursorRow:t},p),this.renderState}render(){var{cursor:e}=this.state;return h.createElement(h.Fragment,null,h.createElement("canvas",{className:te("grid-canvas",_r.getCursorClassName(e)),ref:t=>{this.canvas=t},onClick:this.handleClick,onContextMenu:this.handleContextMenu,onDoubleClick:this.handleDoubleClick,onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,tabIndex:0},"Your browser does not support HTML canvas. Update your browser?"),this.renderInputField())}}Et(_r,"contextType",iN);Et(_r,"defaultProps",{canvasOptions:{alpha:!1},isStickyBottom:!1,isStickyRight:!1,isStuckToBottom:!1,isStuckToRight:!1,keyHandlers:xe,mouseHandlers:xe,movedColumns:xe,movedRows:xe,onError:()=>{},onSelectionChanged:()=>{},onMovedColumnsChanged:n=>{},onMoveColumnComplete:()=>{},onMovedRowsChanged:()=>{},onMoveRowComplete:()=>{},onViewChanged:n=>{},onTokenClicked:n=>{$l(n)&&window.open(n.href,"_blank","noopener,noreferrer")},stateOverride:{},theme:{autoSelectColumn:!1,autoSelectRow:!1}});Et(_r,"pixelsPerLine",100/3);Et(_r,"dragTimeout",1e3);Et(_r,"getTheme",fe((n,e)=>fa(fa(fa({},AD),n),e)));const lN=_r;function dN(n,e,t){return e=uN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uN(n){var e=hN(n,"string");return typeof e=="symbol"?e:String(e)}function hN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var bu=5e3;class cN extends eS{constructor(){super(...arguments),dN(this,"getCachedTokensInText",En((e,t)=>{if(t>=e.length)return V.findTokensWithProtocolInText(e);var r=e.slice(t-1,bu).search(/\s/),i=t+r;r===-1&&(i=Math.min(bu,e.length));var a=e.substring(0,i);return V.findTokensWithProtocolInText(a)}))}get floatingTopRowCount(){return 0}get floatingBottomRowCount(){return 0}get floatingLeftColumnCount(){return 0}get floatingRightColumnCount(){return 0}get columnHeaderMaxDepth(){return 1}truncationCharForCell(e,t){}textAlignForCell(e,t){return"left"}colorForCell(e,t,r){return r.textColor}backgroundColorForCell(e,t,r){return null}colorForColumnHeader(e){return null}textForRowHeader(e){return""}textForRowFooter(e){return""}isColumnMovable(e){return!0}isRowMovable(e){return!0}getColumnHeaderGroup(e,t){}getColumnHeaderParentGroup(e,t){}tokensForCell(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bu,i=this.textForCell(e,t);return this.getCachedTokensInText(i,r)}renderTypeForCell(e,t){return"text"}}const mN=cN;function vN(n,e){var t=pN(n);if(t!==void 0){var r=yN(n);return"".concat(r," ? ").concat(t," : ").concat(e)}}function gN(n,e){return n.Column.formatRowColor(e)}function fN(n,e){return n.formatColor(e)}var Zo=ie.module("ConditionalFormattingUtils"),wr;(function(n){n.CONDITIONAL="conditional",n.ROWS="rows"})(wr||(wr={}));var me;(function(n){n.IS_EQUAL="is-equal",n.IS_NOT_EQUAL="is-not-equal",n.IS_BETWEEN="is-between",n.GREATER_THAN="greater-than",n.GREATER_THAN_OR_EQUAL="greater-than-or-equal",n.LESS_THAN="less-than",n.LESS_THAN_OR_EQUAL="less-than-or-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(me||(me={}));var Ne;(function(n){n.IS_EXACTLY="is-exactly",n.IS_NOT_EXACTLY="is-not-exactly",n.CONTAINS="contains",n.DOES_NOT_CONTAIN="does-not-contain",n.STARTS_WITH="starts-with",n.ENDS_WITH="ends-with",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Ne||(Ne={}));var De;(function(n){n.IS_EXACTLY="is-exactly",n.IS_NOT_EXACTLY="is-not-exactly",n.IS_BEFORE="is-before",n.IS_BEFORE_OR_EQUAL="is-before-or-equal",n.IS_AFTER="is-after",n.IS_AFTER_OR_EQUAL="is-after-or-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(De||(De={}));var Rt;(function(n){n.IS_TRUE="is-true",n.IS_FALSE="is-false",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Rt||(Rt={}));var Ct;(function(n){n.IS_EQUAL="is-equal",n.IS_NOT_EQUAL="is-not-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Ct||(Ct={}));var Fe;(function(n){n.NO_FORMATTING="no-formatting",n.POSITIVE="positive",n.NEGATIVE="negative",n.WARN="warn",n.NEUTRAL="neutral",n.ACCENT_1="accent-1",n.ACCENT_2="accent-2",n.CUSTOM="custom"})(Fe||(Fe={}));function Av(n){switch(n){case Fe.NO_FORMATTING:return"No formatting";case Fe.POSITIVE:return"Positive";case Fe.NEGATIVE:return"Negative";case Fe.WARN:return"Warn";case Fe.NEUTRAL:return"Neutral";case Fe.ACCENT_1:return"Accent 1";case Fe.ACCENT_2:return"Accent 2";case Fe.CUSTOM:return"Custom..."}}function Vl(n){var{type:e,customConfig:t}=n;switch(e){case Fe.NO_FORMATTING:return;case Fe.POSITIVE:return"#9fde6f";case Fe.NEGATIVE:return"#ff6087";case Fe.WARN:return"#f67f40";case Fe.NEUTRAL:return"#ffd95c";case Fe.ACCENT_1:return"#78dce8";case Fe.ACCENT_2:return"#ab9bf5";case Fe.CUSTOM:return t?.background;default:return}}function Gl(n){var{type:e,customConfig:t}=n;switch(e){case Fe.NO_FORMATTING:return;case Fe.POSITIVE:return"#526a3f";case Fe.NEGATIVE:return"#802f44";case Fe.WARN:return"#663318";case Fe.NEUTRAL:return"#63562b";case Fe.ACCENT_1:return"#3f6469";case Fe.ACCENT_2:return"#554d72";case Fe.CUSTOM:return t?.color;default:return}}function pN(n){var e=Gl(n.style),t=Vl(n.style);if(!(e===void 0||t===void 0))return"bgfg(`".concat(t,"`, `").concat(e,"`)")}function CN(n){var{column:e,value:t,start:r,end:i}=n;return AN(e.name,n.condition,t,r,i)}function bN(n){var{column:e,value:t}=n;return LN(e.name,n.condition,t)}function SN(n){var{column:e,value:t}=n;return kN(e.name,n.condition,t)}function wN(n){var{column:e}=n;return xN(e.name,n.condition)}function EN(n){var{column:e,value:t}=n;return HN(e.name,n.condition,t)}function yN(n){var{column:e}=n;if(H.isNumberType(e.type))return CN(n);if(H.isCharType(e.type))return EN(n);if(H.isStringType(e.type))return bN(n);if(H.isDateType(e.type))return SN(n);if(H.isBooleanType(e.type))return wN(n);throw new Error("Invalid column type")}function TN(n){switch(n){case me.IS_EQUAL:return"is equal to";case me.IS_NOT_EQUAL:return"is not equal to";case me.IS_BETWEEN:return"is between";case me.GREATER_THAN:return"greater than";case me.GREATER_THAN_OR_EQUAL:return"greater than or equal to";case me.LESS_THAN:return"less than";case me.LESS_THAN_OR_EQUAL:return"less than or equal to";case me.IS_NULL:return"is null";case me.IS_NOT_NULL:return"is not null"}}function PN(n){switch(n){case Ne.IS_EXACTLY:return"is exactly";case Ne.IS_NOT_EXACTLY:return"is not exactly";case Ne.CONTAINS:return"contains";case Ne.DOES_NOT_CONTAIN:return"does not contain";case Ne.STARTS_WITH:return"starts with";case Ne.ENDS_WITH:return"ends with";case Ne.IS_NULL:return"is null";case Ne.IS_NOT_NULL:return"is not null"}}function ON(n){switch(n){case De.IS_EXACTLY:return"is";case De.IS_NOT_EXACTLY:return"is not";case De.IS_BEFORE:return"is before";case De.IS_BEFORE_OR_EQUAL:return"is before or equal";case De.IS_AFTER:return"is after";case De.IS_AFTER_OR_EQUAL:return"is after or equal";case De.IS_NULL:return"is null";case De.IS_NOT_NULL:return"is not null"}}function DN(n){switch(n){case Rt.IS_TRUE:return"is true";case Rt.IS_FALSE:return"is false";case Rt.IS_NULL:return"is null";case Rt.IS_NOT_NULL:return"is not null"}}function RN(n){switch(n){case Ct.IS_EQUAL:return"is";case Ct.IS_NOT_EQUAL:return"is not";case Ct.IS_NULL:return"is null";case Ct.IS_NOT_NULL:return"is not null"}}function bC(n){if(H.isNumberType(n))return me.IS_EQUAL;if(H.isCharType(n))return Ct.IS_EQUAL;if(H.isStringType(n))return Ne.IS_EXACTLY;if(H.isDateType(n))return De.IS_EXACTLY;if(H.isBooleanType(n))return Rt.IS_TRUE;throw new Error("Invalid column type")}function SC(n){if(H.isCharType(n)||H.isStringType(n))return""}function wC(n){var{condition:e,value:t,start:r,end:i}=n;return{condition:e,value:t,start:r,end:i}}function Pd(n){return{condition:bC(n),value:SC(n),start:void 0,end:void 0}}function EC(){return{type:Fe.NO_FORMATTING}}function NN(n){switch(n){case Ne.IS_EXACTLY:return"==";case Ne.IS_NOT_EXACTLY:return"!=";case Ne.CONTAINS:return"contains";case Ne.DOES_NOT_CONTAIN:return"does not contain";case Ne.STARTS_WITH:return"starts with";case Ne.ENDS_WITH:return"ends with";case Ne.IS_NULL:return"is null";case Ne.IS_NOT_NULL:return"is not null"}}function FN(n){switch(n){case De.IS_EXACTLY:return"==";case De.IS_NOT_EXACTLY:return"!=";case De.IS_BEFORE:return"<";case De.IS_BEFORE_OR_EQUAL:return"<=";case De.IS_AFTER:return">";case De.IS_AFTER_OR_EQUAL:return">=";case De.IS_NULL:return"is null";case De.IS_NOT_NULL:return"is not null"}}function IN(n){switch(n){case Rt.IS_TRUE:return"is true";case Rt.IS_FALSE:return"is false";case Rt.IS_NULL:return"is null";case Rt.IS_NOT_NULL:return"is not null"}}function _N(n){switch(n){case Ct.IS_EQUAL:return"==";case Ct.IS_NOT_EQUAL:return"!=";case Ct.IS_NULL:return"is null";case Ct.IS_NOT_NULL:return"is not null"}}function MN(n){switch(n){case me.IS_EQUAL:return"==";case me.IS_NOT_EQUAL:return"!=";case me.IS_BETWEEN:return"==";case me.GREATER_THAN:return">";case me.GREATER_THAN_OR_EQUAL:return">=";case me.LESS_THAN:return"<";case me.LESS_THAN_OR_EQUAL:return"<=";case me.IS_NULL:return"is null";case me.IS_NOT_NULL:return"is not null"}}function AN(n,e,t,r,i){switch(e){case me.IS_EQUAL:return"".concat(n," == ").concat(t);case me.IS_NOT_EQUAL:return"".concat(n," != ").concat(t);case me.IS_BETWEEN:return"".concat(n," > ").concat(r," && ").concat(n," < ").concat(i);case me.GREATER_THAN:return"".concat(n," > ").concat(t);case me.GREATER_THAN_OR_EQUAL:return"".concat(n," >= ").concat(t);case me.LESS_THAN:return"".concat(n," < ").concat(t);case me.LESS_THAN_OR_EQUAL:return"".concat(n," <= ").concat(t);case me.IS_NULL:return"".concat(n," == null");case me.IS_NOT_NULL:return"".concat(n," != null")}}function LN(n,e,t){switch(e){case Ne.IS_EXACTLY:return"".concat(n,' == "').concat(t,'"');case Ne.IS_NOT_EXACTLY:return"".concat(n,' != "').concat(t,'"');case Ne.CONTAINS:return"".concat(n," != null && ").concat(n,'.contains("').concat(t,'")');case Ne.DOES_NOT_CONTAIN:return"".concat(n," != null && !").concat(n,'.contains("').concat(t,'")');case Ne.STARTS_WITH:return"".concat(n," != null && ").concat(n,'.startsWith("').concat(t,'")');case Ne.ENDS_WITH:return"".concat(n," != null && ").concat(n,'.endsWith("').concat(t,'")');case Ne.IS_NULL:return"".concat(n," == null");case Ne.IS_NOT_NULL:return"".concat(n," != null")}}function kN(n,e,t){switch(e){case De.IS_EXACTLY:return"".concat(n,' == convertDateTime("').concat(t,'")');case De.IS_NOT_EXACTLY:return"".concat(n," != convertDateTime(`").concat(t,"`)");case De.IS_BEFORE:return"".concat(n," < convertDateTime(`").concat(t,"`)");case De.IS_BEFORE_OR_EQUAL:return"".concat(n,' <= convertDateTime("').concat(t,'")');case De.IS_AFTER:return"".concat(n," > convertDateTime(`").concat(t,"`)");case De.IS_AFTER_OR_EQUAL:return"".concat(n," >= convertDateTime(`").concat(t,"`)");case De.IS_NULL:return"".concat(n," == null");case De.IS_NOT_NULL:return"".concat(n," != null")}}function xN(n,e){switch(e){case Rt.IS_TRUE:return"".concat(n," == true");case Rt.IS_FALSE:return"".concat(n," == false");case Rt.IS_NULL:return"".concat(n," == null");case Rt.IS_NOT_NULL:return"".concat(n," != null")}}function HN(n,e,t){switch(e){case Ct.IS_EQUAL:return"".concat(n," == '").concat(t,"'");case Ct.IS_NOT_EQUAL:return"".concat(n," != '").concat(t,"'");case Ct.IS_NULL:return"isNull(".concat(n,")");case Ct.IS_NOT_NULL:return"!isNull(".concat(n,")")}}function UN(n,e){if(H.isNumberType(n))return MN(e);if(H.isCharType(n))return _N(e);if(H.isStringType(n))return NN(e);if(H.isDateType(n))return FN(e);if(H.isBooleanType(n))return IN(e);throw new Error("Invalid column type")}function $N(n,e,t){if(t===void 0)return Zo.debug("no rules passed."),[];var r=[],i,a=new Map;return t.forEach(o=>{var s,{config:l,type:d}=o,{column:u}=l,c=e.find(C=>{var{name:b,type:S}=C;return b===u.name&&S===u.type});if(c===void 0){Zo.debug("Column ".concat(u.name,":").concat(u.type," not found. Ignoring format rule."),l);return}var[m,v]=(s=d===wr.CONDITIONAL?a.get(c.name):i)!==null&&s!==void 0?s:["null",void 0],g=vN(l,m);if(g===void 0){Zo.debug("Ignoring format rule.",l);return}var f=v===void 0?-1:r.indexOf(v);f>-1&&r.splice(f,1);var p=d===wr.CONDITIONAL?fN(c,g):gN(n,g);r.push(p),d===wr.CONDITIONAL?a.set(c.name,[g,p]):i=[g,p]}),r}function BN(n,e,t){switch(e){case De.IS_NULL:case De.IS_NOT_NULL:return!0;default:{var[r,...i]=(t??"").split(" "),a=i.join(" ");try{Ea.parseDateTimeString(r)}catch{return Zo.debug("Invalid datetime string",r),!1}try{n.i18n.TimeZone.getTimeZone(a)}catch{return Zo.debug("Invalid timezone string",a),!1}return!0}}}function VN(n){var{type:e}=n;return H.isNumberType(e)||H.isCharType(e)||H.isStringType(e)||H.isDateType(e)||H.isBooleanType(e)}function Od(n){var{animation:e="iris-grid-bottom-bar-slide-up",children:t,className:r,isShown:i,onClick:a,onEntering:o,onEntered:s,onExiting:l,onExited:d}=n;return h.createElement(kr,{in:i,timeout:et.transitionMs,classNames:e,onEntering:o,onEntered:s,onExiting:l,onExited:d,mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:te("iris-grid-bottom-bar",r),role:"presentation",onClick:a,onKeyPress:a},t))}var GN=3e3,WN=5;function jN(n){var{isSaving:e=!1,onSave:t,onDiscard:r,discardTooltip:i,saveTooltip:a,error:o,pendingDataErrors:s,pendingDataMap:l,onEntering:d,onEntered:u,onExiting:c,onExited:m}=n,[v,g]=w.useState(!1),[f,p]=w.useState(!1),C=w.useRef(),b=$h(e),S=w.useMemo(()=>s.size===0?o:s.size<=WN?"Key can't be empty (on pending row".concat(s.size>1?"s":""," ").concat(Array.from(s.keys()).join(", ").trim(),")"):"Key can't be empty (on ".concat(s.size," rows)"),[o,s]);w.useEffect(function(){b!=null&&b&&!e&&S==null&&(g(!0),p(!0),C.current=setTimeout(()=>{g(!1)},GN))},[S,e,b]),w.useEffect(function(){C.current&&l.size>0&&(clearTimeout(C.current),g(!1),p(!1))},[l]),w.useEffect(function(){return()=>C.current?clearTimeout(C.current):void 0},[]);var E=l.size,y;return e?y=h.createElement(Hn,null):f&&(y=Ah),h.createElement(Od,{className:"pending-data-bottom-bar",isShown:E>0||v||S!=null,onEntering:d,onEntered:u,onExiting:c,onExited:()=>{p(!1),m&&m()}},S!=null&&S!==""&&h.createElement("div",{className:"error-message"},h.createElement(re,{icon:Wi}),h.createElement("span",null,"".concat(S))),(S==null||S==="")&&h.createElement("div",{className:"status-message"},E>0&&h.createElement("span",null,"".concat(E," row").concat(E>1?"s":""," pending"))),h.createElement("div",{className:"buttons-container"},!e&&!f&&h.createElement(j,{kind:"secondary",onClick:r,tooltip:i},"Discard"),h.createElement(j,{kind:f?"success":"primary",onClick:t,icon:y,disabled:e||f||S!=null,tooltip:a},e&&"Committing...",!e&&f&&"Success",!e&&!f&&"Commit")))}var ih;(function(n){n.COUNT="Count",n.MIN="Min",n.MAX="Max",n.SUM="Sum",n.ABS_SUM="AbsSum",n.VAR="Var",n.AVG="Avg",n.STD="Std",n.FIRST="First",n.LAST="Last",n.SKIP="Skip",n.COUNT_DISTINCT="CountDistinct",n.DISTINCT="Distinct",n.UNIQUE="Unique"})(ih||(ih={}));const Be=ih;var zN=[Be.SUM,Be.ABS_SUM,Be.MIN,Be.MAX,Be.VAR,Be.AVG,Be.STD,Be.FIRST,Be.LAST,Be.COUNT_DISTINCT,Be.DISTINCT,Be.COUNT,Be.UNIQUE],KN=n=>{switch(n){default:return!1}},YN=(n,e)=>{switch(n){case Be.COUNT:case Be.FIRST:case Be.LAST:case Be.COUNT_DISTINCT:case Be.DISTINCT:case Be.UNIQUE:return!0;case Be.MIN:case Be.MAX:return H.isNumberType(e)||H.isDateType(e)||H.isTextType(e);case Be.SUM:case Be.ABS_SUM:case Be.VAR:case Be.AVG:case Be.STD:return H.isNumberType(e);case Be.SKIP:return!1}},dc=(n,e)=>n.filter(t=>YN(e,t.type)),qN=(n,e,t,r)=>dc(n,e).map(i=>{var{name:a}=i;return a}).filter(i=>t.includes(i)?!r:r);const Bi={isRollupOperation:KN,filterValidColumns:dc,getOperationColumnNames:qN};var ah;(function(n){n.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS="filter-control-change-clears-all-filters",n.LINK_CHANGE_CLEARS_ALL_FILTERS="link-change-clears-all-filters"})(ah||(ah={}));const so=ah;var XN=Object.freeze([[so.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS,!1],[so.LINK_CHANGE_CLEARS_ALL_FILTERS,!1]]);const yC={DEFAULTS:XN};function Mi(n,e,t){return e=QN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QN(n){var e=ZN(n,"string");return typeof e=="symbol"?e:String(e)}function ZN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var JN=ie.module("ColumnHeaderGroup");function Su(n){return n instanceof en}class en{constructor(e){var{name:t,children:r,color:i,depth:a,childIndexes:o,parent:s}=e;Mi(this,"name",void 0),Mi(this,"children",void 0),Mi(this,"depth",void 0),Mi(this,"parent",void 0),Mi(this,"color",void 0),Mi(this,"childIndexes",void 0),Mi(this,"getVisibleRange",fe(l=>{var d=this.childIndexes.flat(),u=V.getVisibleIndexes(d,l),c=Math.min(...u),m=Math.max(...u);return m-c!==d.length-1&&JN.warn("Column header group ".concat(this.name," is not contiguous")),[c,m]})),this.name=t,this.children=r,this.color=i,this.depth=a,this.childIndexes=o,this.parent=s}setParent(e){this.parent=e}addChildren(e){var t=new Set(this.children.concat(e));this.children=[...t]}removeChildren(e){var t=new Set(this.children);e.forEach(r=>t.delete(r)),this.children=[...t]}get isNew(){return this.name.startsWith(en.NEW_GROUP_PREFIX)}}Mi(en,"NEW_GROUP_PREFIX",":newGroup");var eF=["selectedValues"],tF=["selectedValues"];function Lv(n,e){if(n==null)return{};var t=rF(n,e),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);for(i=0;i<a.length;i++)r=a[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function rF(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,a;for(a=0;a<r.length;a++)i=r[a],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}function kv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kv(Object(t),!0).forEach(function(r){oh(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oh(n,e,t){return e=nF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nF(n){var e=iF(n,"string");return typeof e=="symbol"?e:String(e)}function iF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ao=ie.module("IrisGridUtils");function yi(n,e){return n>=0&&n<e.length}function aF(n){return n.asDate!=null}class Ze{static dehydrateGridState(e,t){var{isStuckToBottom:r,isStuckToRight:i,movedColumns:a,movedRows:o}=t,{columns:s}=e;return{isStuckToBottom:r,isStuckToRight:i,movedColumns:[...a].filter(l=>{var{to:d,from:u}=l;return yi(d,s)&&(typeof u=="number"&&yi(u,s)||Array.isArray(u)&&yi(u[0],s)&&yi(u[1],s))}).map(l=>{var{to:d,from:u}=l;return{to:s[d].name,from:Array.isArray(u)?[s[u[0]].name,s[u[1]].name]:s[u].name}}),movedRows:[...o]}}static hydrateGridState(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],{isStuckToBottom:i,isStuckToRight:a,movedColumns:o,movedRows:s}=t,{columns:l}=e,d=Ze.parseCustomColumnNames(r),u=l.map(c=>{var{name:m}=c;return m}).concat(d);return{isStuckToBottom:i,isStuckToRight:a,movedColumns:[...o].map(c=>{var{to:m,from:v}=c,g=f=>typeof f=="string"?u.findIndex(p=>p===f):f;return{to:g(m),from:Array.isArray(v)?[g(v[0]),g(v[1])]:g(v)}}).filter(c=>{var{to:m,from:v}=c;return yi(m,u)&&(typeof v=="number"&&yi(v,u)||Array.isArray(v)&&yi(v[0],u)&&yi(v[1],u))}),movedRows:[...s]}}static dehydrateIrisGridPanelState(e,t){var{isSelectingPartition:r,partition:i,partitionColumn:a,advancedSettings:o}=t;return{isSelectingPartition:r,partition:i,partitionColumn:a!=null?a.name:null,advancedSettings:[...o]}}static hydrateIrisGridPanelState(e,t){var r,{isSelectingPartition:i,partition:a,partitionColumn:o,advancedSettings:s}=t,{columns:l}=e;return{isSelectingPartition:i,partition:a??null,partitionColumn:o!=null&&(r=Ze.getColumnByName(l,o))!==null&&r!==void 0?r:null,advancedSettings:new Map([...yC.DEFAULTS,...s])}}static dehydrateQuickFilters(e){return[...e].map(t=>{var[r,i]=t,{text:a}=i;return[r,{text:a}]})}static dehydrateLong(e){return e!=null?"".concat(e):null}static dehydrateSort(e){return e.map(t=>{var{column:r,isAbs:i,direction:a}=t;return{column:r.name,isAbs:i,direction:a}})}static extractTableSettings(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],{irisGridPanelState:r,irisGridState:i}=e,{partitionColumn:a,partition:o}=r,{advancedFilters:s,quickFilters:l,sorts:d}=i;return{advancedFilters:s,inputFilters:t,partition:o,partitionColumn:a,quickFilters:l,sorts:d}}static getInputFiltersForColumns(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.filter(r=>{var{name:i,type:a}=r;return e.find(o=>{var{name:s,type:l}=o;return s===i&&l===a})})}static getFiltersFromFilterMap(e){for(var t=[],r=Array.from(e.keys()),i=0;i<r.length;i+=1){var a=r[i],o=e.get(a);o?.filter!=null&&t.push(o.filter)}return t}static getHiddenColumns(e){return[...e.entries()].filter(t=>{var[,r]=t;return r===0}).map(t=>{var[r]=t;return r})}static parseCustomColumnNames(e){return e.map(t=>t.split("=")[0])}static getRemovedCustomColumnNames(e,t){var r=Ze.parseCustomColumnNames(e),i=Ze.parseCustomColumnNames(t);return r.filter(a=>!i.includes(a))}static removeSortsInColumns(e,t){return e.filter(r=>!t.includes(r.column.name))}static removeFiltersInColumns(e,t,r){var i=e.map(o=>{var{name:s}=o;return s}),a=new Map(t);return r.forEach(o=>a.delete(i.indexOf(o))),a}static removeColumnFromMovedColumns(e,t,r){for(var i=e.map(l=>{var{name:d}=l;return d}),a=[...t],o=function(){for(var d=r[s],u=i.findIndex(C=>C===d),c=[],m=0;m<a.length;m+=1){var v=a[m],g=Kn({},v),[f,p]=Array.isArray(v.from)?v.from:[v.from,v.from];u<=v.to&&(g.to-=1),u<f&&(f-=1),u<=p&&(p-=1),f<=p&&f!==g.to&&(f===p?c.push(Kn(Kn({},g),{},{from:f})):c.push(Kn(Kn({},g),{},{from:[f,p]}))),u=V.applyItemMoves(u,u,[v])[0][0]}a=c,i.splice(i.findIndex(C=>C===d),1)},s=0;s<r.length;s+=1)o();return a}static removeColumnsFromSelectDistinctColumns(e,t){return e.filter(r=>!t.includes(r))}static getVisibleColumnsInRange(e,t,r,i,a){for(var o=[],s=t;s<=r;s+=1){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.push(e[l])}return o}static getPrevVisibleColumns(e,t,r,i,a){for(var o=[],s=t;s>=0&&o.length<r;){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.unshift(e[l]),s-=1}return o}static getNextVisibleColumns(e,t,r,i,a){for(var o=[],s=t;s<e.length&&o.length<r;){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.push(e[l]),s+=1}return o}static getColumnsToFetch(e,t,r){var i=[...t];return r.forEach(a=>{var o=e.find(s=>{var{name:l}=s;return l===a});o!=null&&!t.includes(o)&&i.push(o)}),i}static getModelViewportColumns(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0;if(t==null||r==null)return null;var l=Ze.getVisibleColumnsInRange(e,t,r,i,a),d=l.length*s,u=Ze.getPrevVisibleColumns(e,t-1,d,i,a),c=Ze.getNextVisibleColumns(e,r+1,d,i,a),m=[...u,...l,...c];return Ze.getColumnsToFetch(e,m,o)}static isValidSnapshotRanges(e){if(e==null||e.length===0)return!1;for(var t=new Map,r=0;r<e.length;r+=1){var i=e[r],a="".concat(i.startRow,":").concat(i.endRow),o="".concat(i.startColumn,":").concat(i.endColumn);t.has(a)||t.set(a,[]),t.get(a).push(o)}for(var s=[...t.keys()],l=t.get(s[0]).sort().join(","),d=1;d<s.length;d+=1)if(t.get(s[d]).sort().join(",")!==l)return!1;return!0}static isValidIndex(e){return!Number.isInteger(e)||typeof e!="number"?!1:e>=0}static columnsFromRanges(e,t){if(e==null||e.length===0)return[];if(e[0].startColumn===null&&e[0].endColumn===null)return[...t];for(var r=new Set,i=0;i<e.length;i+=1){var a=e[i];L(a.startColumn),L(a.endColumn);for(var o=(s=a.startColumn)!==null&&s!==void 0?s:0;o<=((l=a.endColumn)!==null&&l!==void 0?l:t.length-1);o+=1){var s,l;r.add(o)}}return[...r].map(d=>t[d])}static snapshotDataToMatrix(e){for(var{columns:t,rows:r}=e,i=[],a=0;a<r.length;a+=1){for(var o=r[a],s=[],l=0;l<t.length;l+=1){var d=t[l],u=o.get(d);s.push(u)}i.push(s)}return i}static getModelRollupConfig(e,t,r){var i,a;if(((i=t==null||(a=t.columns)===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0)===0)return null;for(var{columns:o=[],showConstituents:s=!0,showNonAggregatedColumns:l=!0,includeDescriptions:d=!0}=t??{},{aggregations:u=[]}=r??{},c=u.map(C=>{var{operation:b,selected:S,invert:E}=C;return Bi.isRollupOperation(b)?[]:Bi.getOperationColumnNames(e,b,S,E)}),m={},v=0;v<u.length;v+=1)m[u[v].operation]=c[v];if(l){var g=new Set(e.map(C=>C.name).filter(C=>!o.includes(C)));if(c.forEach(C=>{C.forEach(b=>g.delete(b))}),g.size>0){var f,p=(f=m[Be.FIRST])!==null&&f!==void 0?f:[];m[Be.FIRST]=[...p,...g]}}return{groupingColumns:o,includeConstituents:s,includeDescriptions:d,aggregations:m}}static getPendingErrors(e){e.forEach((t,r)=>{if(!Ze.isValidIndex(r))throw new Error("Invalid rowIndex ".concat(r));var{data:i}=t;i.forEach((a,o)=>{if(!Ze.isValidIndex(o))throw new Error("Invalid columnIndex ".concat(o))})})}static getColumn(e,t){return t<e.length?e[t]:(Ao.error("Unable to retrieve column",t,">=",e.length),null)}static getColumnByName(e,t){var r=e.find(i=>{var{name:a}=i;return a===t});return r==null&&Ao.error("Unable to retrieve column by name",t,e.map(i=>{var{name:a}=i;return a})),r}static changeFilterColumnNamesToIndexes(e,t){return t.map(r=>{var{name:i,filter:a}=r,o=e.findIndex(s=>s.name===i);return o<0?null:[o,a]}).filter(r=>r!=null)}static combineFiltersFromList(e,t){t.sort((u,c)=>u.operator==="eq"&&c.operator!=="eq"?1:u.operator!=="eq"&&c.operator==="eq"?-1:u.startColumnIndex-c.startColumnIndex);for(var r="",i=0;i<t.length;i+=1){var{text:a,value:o,operator:s}=t[i];if(o!==void 0){var l="";s!==void 0&&(o==null&&s==="eq"?l="=":s!=="eq"&&(s==="startsWith"||s==="endsWith"?l="*":l=H.getFilterOperatorString(s)));var d="".concat(l).concat(a);s==="startsWith"&&(d="".concat(a).concat(l)),e!=null&&o!==null&&H.isCharType(e)&&(d="".concat(l).concat(String.fromCharCode(parseInt(a,10)))),i!==0&&(r+=s==="eq"?" || ":" && "),r+=d}}return r}static parseColumnHeaderGroups(e,t){var r=1,i=new Map,a=new Map,o=t?.filter(c=>{var{children:m}=c;return m.length>0});if(o.length===0)return{groups:[],maxDepth:r,parentMap:i,groupMap:a};var s=new Map(o.map(c=>[c.name,c])),l=new Set,d=c=>{var{name:m}=c;if(e.getColumnIndexByName(m)!=null)throw new Error("Column header group has same name as column: ".concat(m));var v=a.get(m);if(v)return v;var g=[],f=1;c.children.forEach(C=>{if(l.has(C))throw new Error("Column group child ".concat(C," specified in multiple groups"));l.add(C);var b=s.get(C),S=e.getColumnIndexByName(C);if(b){var E=d(b);g.push(...E.childIndexes),f=Math.max(f,E.depth+1)}else if(S!=null)g.push(S),f=Math.max(f,1);else throw new Error("Unknown child ".concat(C," in group ").concat(m))});var p=new en(Kn(Kn({},c),{},{depth:f,childIndexes:g.flat()}));return a.set(m,p),c.children.forEach(C=>i.set(C,p)),r=Math.max(r,p.depth+1),p},u=new Set;return o.forEach(c=>{var{name:m}=c;if(u.has(m))throw new Error("Duplicate column group name: ".concat(m));u.add(m),d(c)}),a.forEach(c=>{var m;c.setParent((m=i.get(c.name))===null||m===void 0?void 0:m.name)}),{groups:[...a.values()],maxDepth:r,groupMap:a,parentMap:i}}static convertValueToText(e,t){if(t!=null&&H.isCharType(t)&&e!=null&&typeof e=="number")return String.fromCharCode(e);if(H.isDateType(t)&&aF(e)){var r=new Date(e.asDate()),i=r.getTimezoneOffset(),a=new Date(r.getTime()-i*60*1e3),o=a.toISOString(),s=o.replace("T"," ").substring(0,23);return s}return e==null?"":"".concat(e)}constructor(e){oh(this,"dh",void 0),oh(this,"tableUtils",void 0),this.dh=e,this.tableUtils=new H(e)}dehydrateIrisGridState(e,t){var{aggregationSettings:r={aggregations:xe,showOnTop:!1},advancedFilters:i,customColumnFormatMap:a,isFilterBarShown:o,metrics:s,quickFilters:l,customColumns:d,conditionalFormats:u=xe,reverseType:c,rollupConfig:m=void 0,showSearchBar:v,searchValue:g,selectDistinctColumns:f=xe,selectedSearchColumns:p,sorts:C,invertSearchColumns:b,pendingDataMap:S=Zn,frozenColumns:E,columnHeaderGroups:y}=t;L(s);var{userColumnWidths:T,userRowHeights:O}=s,{columns:D}=e;return{advancedFilters:this.dehydrateAdvancedFilters(D,i),aggregationSettings:r,customColumnFormatMap:[...a],isFilterBarShown:o,quickFilters:Ze.dehydrateQuickFilters(l),sorts:Ze.dehydrateSort(C),userColumnWidths:[...T].filter(P=>{var[R]=P;return R!=null&&R>=0&&R<D.length}).map(P=>{var[R,_]=P;return[D[R].name,_]}),userRowHeights:[...O],customColumns:[...d],conditionalFormats:[...u],reverseType:c,rollupConfig:m,showSearchBar:v,searchValue:g,selectDistinctColumns:[...f],selectedSearchColumns:p,invertSearchColumns:b,pendingDataMap:this.dehydratePendingDataMap(D,S),frozenColumns:E,columnHeaderGroups:y?.map(P=>({name:P.name,children:P.children,color:P.color}))}}hydrateIrisGridState(e,t){var r,i,{advancedFilters:a,aggregationSettings:o={aggregations:[],showOnTop:!1},customColumnFormatMap:s,isFilterBarShown:l,quickFilters:d,sorts:u,customColumns:c,conditionalFormats:m,userColumnWidths:v,userRowHeights:g,reverseType:f,rollupConfig:p=void 0,showSearchBar:C,searchValue:b,selectDistinctColumns:S,selectedSearchColumns:E,invertSearchColumns:y=!0,pendingDataMap:T=[],frozenColumns:O,columnHeaderGroups:D}=t,{columns:P,formatter:R}=e;return{advancedFilters:this.hydrateAdvancedFilters(P,a,R.timeZone),aggregationSettings:o,customColumnFormatMap:new Map(s),isFilterBarShown:l,quickFilters:this.hydrateQuickFilters(P,d,R.timeZone),sorts:this.hydrateSort(P,u),userColumnWidths:new Map(v.map(_=>{var[M,A]=_;return typeof M=="string"||M instanceof String?[P.findIndex(B=>{var{name:$}=B;return $===M}),A]:[M,A]}).filter(_=>{var[M]=_;return M!=null&&M>=0&&M<P.length})),customColumns:c,conditionalFormats:m,userRowHeights:new Map(g),reverseType:f,rollupConfig:p,showSearchBar:C,searchValue:b,selectDistinctColumns:S,selectedSearchColumns:E,invertSearchColumns:y,pendingDataMap:this.hydratePendingDataMap(P,T),frozenColumns:O,columnHeaderGroups:Ze.parseColumnHeaderGroups(e,(r=D??((i=e.layoutHints)===null||i===void 0?void 0:i.columnGroups))!==null&&r!==void 0?r:[]).groups}}hydrateQuickFilters(e,t,r){var i=t.map(a=>{var[o,s]=a,{text:l}=s,d=null;try{var u=Ze.getColumn(e,o);u!=null&&(d=this.tableUtils.makeQuickFilter(u,l,r))}catch(c){Ao.error("hydrateQuickFilters error with",l,c)}return[o,{text:l,filter:d}]});return new Map(i)}dehydrateAdvancedFilters(e,t){return[...t].map(r=>{var[i,a]=r,o=Ze.getColumn(e,i);L(o);var s=this.dehydrateAdvancedFilterOptions(o,a.options);return[i,{options:s}]})}hydrateAdvancedFilters(e,t,r){var i=t.map(a=>{var[o,s]=a,l=Ze.getColumn(e,o);L(l);var d=this.hydrateAdvancedFilterOptions(l,s.options),u=null;try{var c=Ze.getColumn(e,o);c!=null&&(u=this.tableUtils.makeAdvancedFilter(l,d,r))}catch(m){Ao.error("hydrateAdvancedFilters error with",d,m)}return[o,{options:d,filter:u}]});return new Map(i)}dehydrateAdvancedFilterOptions(e,t){var{selectedValues:r}=t,i=Lv(t,eF);return Kn({selectedValues:r?.map(a=>this.dehydrateValue(a,e?.type))},i)}hydrateAdvancedFilterOptions(e,t){var{selectedValues:r}=t,i=Lv(t,tF);return Kn({selectedValues:r?.map(a=>this.hydrateValue(a,e?.type))},i)}dehydratePendingDataMap(e,t){return[...t].map(r=>{var[i,{data:a}]=r;return[i,{data:[...a].map(o=>{var[s,l]=o;return[e[s].name,this.dehydrateValue(l,e[s].type)]})}]})}hydratePendingDataMap(e,t){var r=new Map,i=a=>(r.has(a)||r.set(a,e.findIndex(o=>{var{name:s}=o;return s===a})),r.get(a));return new Map(t.map(a=>{var[o,{data:s}]=a;return[o,{data:new Map(s.map(l=>{var d,[u,c]=l,m=i(u);return L(m),[(d=i(u))!==null&&d!==void 0?d:null,this.hydrateValue(c,e[m].type)]}))}]}))}dehydrateValue(e,t){return H.isDateType(t)?this.dehydrateDateTime(e):H.isLongType(t)?Ze.dehydrateLong(e):e}hydrateValue(e,t){return H.isDateType(t)?this.hydrateDateTime(e):H.isLongType(t)?this.hydrateLong(e):e}dehydrateDateTime(e){return e!=null?this.dh.i18n.DateTimeFormat.format(Ea.FULL_DATE_FORMAT,e):null}hydrateDateTime(e){return e!=null?this.dh.i18n.DateTimeFormat.parse(Ea.FULL_DATE_FORMAT,e):null}hydrateLong(e){return e!=null?this.dh.LongWrapper.ofString(e):null}hydrateSort(e,t){var{dh:r}=this;return t.map(i=>{var{column:a,isAbs:o,direction:s}=i;if(s===H.sortDirection.reverse)return r.Table.reverse();var l=typeof a=="string"?Ze.getColumnByName(e,a):Ze.getColumn(e,a);if(l!=null){var d=l.sort();return o&&(d=d.abs()),s===H.sortDirection.descending?d=d.desc():d=d.asc(),d}return null}).filter(i=>i!=null&&i.direction!==H.sortDirection.reverse)}applyTableSettings(e,t,r){var{columns:i}=e,a=[];t.quickFilters&&(a=Ze.getFiltersFromFilterMap(this.hydrateQuickFilters(i,t.quickFilters,r)));var o=[];t.advancedFilters&&(o=Ze.getFiltersFromFilterMap(this.hydrateAdvancedFilters(i,t.advancedFilters,r)));var s=this.getFiltersFromInputFilters(i,t.inputFilters,r),l=[];t.sorts&&(l=this.hydrateSort(i,t.sorts));var d=[...a,...o],{partition:u,partitionColumn:c}=t;if(u!=null&&c!=null){var m=Ze.getColumnByName(i,c);if(m){var v=m.filter().eq(this.dh.FilterValue.ofString(u));d=[v,...d]}}d=[...s,...d],e.applyFilter(d),e.applySort(l)}getFiltersFromInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;return t.map(i=>{var{name:a,type:o,value:s}=i,l=e.find(d=>{var{name:u,type:c}=d;return u===a&&c===o});if(l)try{return this.tableUtils.makeQuickFilter(l,s,r)}catch(d){Ao.debug("Unable to create input filter",d)}return null}).filter(i=>i!=null)}rangeSetFromRanges(e){var{dh:t}=this,r=e.slice().sort((i,a)=>(L(i.startRow),L(a.startRow),i.startRow-a.startRow)).map(i=>{var{startRow:a,endRow:o}=i;return L(a),L(o),t.RangeSet.ofRange(a,o)});return t.RangeSet.ofRanges(r)}}const ye=Ze;function ji(n,e,t){return e=oF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function oF(n){var e=sF(n,"string");return typeof e=="symbol"?e:String(e)}function sF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Or=ie.module("IrisGridCopyHandler");class Ie extends w.Component{static getStatusMessageText(e,t){switch(e){case Ie.COPY_STATES.CONFIRMATION_REQUIRED:return"Are you sure you want to copy ".concat(t.toLocaleString()," rows to your clipboard?");case Ie.COPY_STATES.CLICK_REQUIRED:return"Fetched ".concat(t.toLocaleString()," rows!");case Ie.COPY_STATES.FETCH_ERROR:return"Unable to copy data.";case Ie.COPY_STATES.FETCH_IN_PROGRESS:return"Fetching ".concat(t.toLocaleString()," rows for clipboard...");case Ie.COPY_STATES.DONE:return"Copied to Clipboard!";default:return""}}static getCopyButtonText(e){switch(e){case Ie.BUTTON_STATES.FETCH_IN_PROGRESS:return"Fetching";case Ie.BUTTON_STATES.CLICK_TO_COPY:return"Click to Copy";case Ie.BUTTON_STATES.RETRY:return"Retry";default:return"Copy"}}constructor(e){super(e),ji(this,"textData",void 0),ji(this,"hideTimer",void 0),ji(this,"fetchPromise",void 0),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleCopyClick=this.handleCopyClick.bind(this),this.handleHideTimeout=this.handleHideTimeout.bind(this),this.state={error:void 0,copyState:Ie.COPY_STATES.IDLE,buttonState:Ie.BUTTON_STATES.COPY,isShown:!1,rowCount:0}}componentDidMount(){var{copyOperation:e}=this.props;e!=null&&this.startCopy()}componentDidUpdate(e){var{copyOperation:t}=this.props;e.copyOperation!==t&&this.startCopy()}componentWillUnmount(){this.stopCopy()}startCopy(){Or.debug2("startCopy"),this.stopCopy();var{copyOperation:e}=this.props;if(e==null){Or.debug2("No copy operation set, cancelling out"),this.setState({isShown:!1});return}var{ranges:t,error:r}=e;if(r!=null){Or.debug("Showing copy error",r),this.setState({isShown:!0,copyState:Ie.COPY_STATES.DONE,error:r}),this.startHideTimer();return}var i=ne.rowCount(t);this.setState({rowCount:i,isShown:!0,error:void 0}),i>Ie.NO_PROMPT_THRESHOLD?this.setState({buttonState:Ie.BUTTON_STATES.COPY,copyState:Ie.COPY_STATES.CONFIRMATION_REQUIRED}):this.startFetch()}stopCopy(){this.textData=void 0,this.stopFetch(),this.stopHideTimer()}handleBackgroundClick(){Or.debug2("handleBackgroundClick");var{copyState:e}=this.state;e===Ie.COPY_STATES.DONE&&this.setState({isShown:!1})}handleCancelClick(){Or.debug2("handleCancelClick"),this.stopFetch(),this.setState({isShown:!1})}handleCopyClick(){Or.debug2("handleCopyClick"),this.textData!=null?this.copyText(this.textData):this.startFetch()}handleHideTimeout(){Or.debug2("handleHideTimeout"),this.stopHideTimer(),this.setState({isShown:!1})}copyText(e){Or.debug2("copyText",e),this.textData=e,Cs(e).then(()=>{this.setState({copyState:Ie.COPY_STATES.DONE}),this.startHideTimer()},t=>{Or.error("copyText error",t),this.setState({buttonState:Ie.BUTTON_STATES.CLICK_TO_COPY,copyState:Ie.COPY_STATES.CLICK_REQUIRED})})}startFetch(){this.stopFetch(),this.setState({buttonState:Ie.BUTTON_STATES.FETCH_IN_PROGRESS,copyState:Ie.COPY_STATES.FETCH_IN_PROGRESS});var{model:e,copyOperation:t}=this.props,{ranges:r,includeHeaders:i,userColumnWidths:a,movedColumns:o,formatValues:s}=t;Or.debug("startFetch",r);var l=ye.getHiddenColumns(a),d=V.getModelRanges(r,o);if(l.length>0){var u=l.map(ne.makeColumn);d=ne.subtractRangesFromRanges(d,u)}var c=s!=null&&s?(m,v)=>e.displayString(m,v.type,v.name):m=>"".concat(m);this.fetchPromise=Te.makeCancelable(e.textSnapshot(d,i,c)),this.fetchPromise.then(m=>{this.fetchPromise=void 0,this.copyText(m)}).catch(m=>{m instanceof ud?Or.debug("User cancelled copy."):(Or.error("Error fetching contents",m),this.fetchPromise=void 0,this.setState({buttonState:Ie.BUTTON_STATES.RETRY,copyState:Ie.COPY_STATES.FETCH_ERROR}))})}stopFetch(){this.fetchPromise&&(Or.debug2("stopFetch"),this.fetchPromise.cancel(),this.fetchPromise=void 0)}startHideTimer(){this.stopHideTimer(),this.hideTimer=setTimeout(this.handleHideTimeout,Ie.HIDE_TIMEOUT)}stopHideTimer(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=void 0)}render(){var{onEntering:e,onEntered:t,onExiting:r,onExited:i}=this.props,{buttonState:a,copyState:o,isShown:s,rowCount:l,error:d}=this.state,u=o===Ie.COPY_STATES.DONE?"fade":"copy-slide-up",c=Ie.getCopyButtonText(a),m=d??Ie.getStatusMessageText(o,l),v=o!==Ie.COPY_STATES.DONE,g=a===Ie.BUTTON_STATES.FETCH_IN_PROGRESS,f=o===Ie.COPY_STATES.DONE;return h.createElement(Od,{animation:u,isShown:s,className:te("iris-grid-copy-handler",{"copy-done":f}),onClick:this.handleBackgroundClick,onEntering:e,onEntered:t,onExiting:r,onExited:i},h.createElement("div",{className:"status-message"},h.createElement("span",null,m)),h.createElement(kr,{in:v,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"buttons-container"},h.createElement("button",{type:"button",className:"btn btn-outline-secondary btn-cancel",onClick:this.handleCancelClick},"Cancel"),h.createElement(j,{kind:g?"tertiary":"primary",className:te("btn-copy",{"btn-spinner":g}),onClick:this.handleCopyClick,disabled:g},g&&h.createElement(Hn,null),c))))}}ji(Ie,"NO_PROMPT_THRESHOLD",1e4);ji(Ie,"HIDE_TIMEOUT",3e3);ji(Ie,"COPY_STATES",{IDLE:"IDLE",CONFIRMATION_REQUIRED:"CONFIRMATION_REQUIRED",FETCH_IN_PROGRESS:"FETCH_IN_PROGRESS",FETCH_ERROR:"FETCH_ERROR",CLICK_REQUIRED:"CLICK_REQUIRED",DONE:"DONE"});ji(Ie,"BUTTON_STATES",{COPY:"COPY",FETCH_IN_PROGRESS:"FETCH_IN_PROGRESS",CLICK_TO_COPY:"CLICK_TO_COPY",RETRY:"RETRY"});ji(Ie,"defaultProps",{copyOperation:null,onEntering:()=>{},onEntered:()=>{},onExiting:()=>{},onExited:()=>{}});const lF=Ie;function El(n,e,t){return e=dF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function dF(n){var e=uF(n,"string");return typeof e=="symbol"?e:String(e)}function uF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class TC extends w.PureComponent{constructor(e){super(e),El(this,"inputField",void 0),El(this,"initialValue",void 0),El(this,"debouncedSendUpdate",void 0);var{debounceMs:t}=e;this.debouncedSendUpdate=rt(this.sendUpdate.bind(this),t),this.handleCancel=this.handleCancel.bind(this),this.handleChange=this.handleChange.bind(this),this.handleCommit=this.handleCommit.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.inputField=null;var{value:r}=e;this.initialValue=r,this.state={isChanged:!1,value:r}}componentDidMount(){var e;(e=this.inputField)===null||e===void 0||e.focus()}componentDidUpdate(e){var{debounceMs:t}=this.props;e.debounceMs!==t&&(this.debouncedSendUpdate.flush(),this.debouncedSendUpdate=rt(this.sendUpdate.bind(this),t))}componentWillUnmount(){this.debouncedSendUpdate.cancel()}setValue(e){this.initialValue=e,this.setState({value:e})}focus(){var e;(e=this.inputField)===null||e===void 0||e.focus()}handleChange(e){var{value:t}=e.target;this.setState({value:t,isChanged:!0}),this.debouncedSendUpdate(t)}handleCancel(){this.debouncedSendUpdate.cancel();var{initialValue:e}=this,{isChanged:t}=this.state;t&&this.sendUpdate(e);var{onDone:r}=this.props;r()}handleCommit(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.debouncedSendUpdate.flush();var{onDone:r}=this.props;r(e,t)}handleFocus(){var e;(e=this.inputField)===null||e===void 0||e.select()}handleBlur(e){var{relatedTarget:t}=e;t!=null&&t.classList.contains("context-menu-container")?this.handleCommit(!1,!0):t!=null&&t.classList.contains("advanced-filter-button")?this.handleCommit(!1,!1):this.handleCommit(!0,!0)}handleTab(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.debouncedSendUpdate.flush();var{onTab:t}=this.props;t(e)}handleKeyDown(e){switch(e.key){case"Escape":e.stopPropagation(),e.preventDefault(),this.handleCancel();break;case"Enter":e.stopPropagation(),e.preventDefault(),this.handleCommit();break;case"Tab":e.stopPropagation(),e.preventDefault(),this.handleTab(e.shiftKey);break}}handleContextMenu(e){var{onContextMenu:t}=this.props;t(e)}sendUpdate(e){var{onChange:t}=this.props;t(e)}render(){var{className:e,style:t,isAdvancedFilterSet:r,onAdvancedFiltersTriggered:i}=this.props,{value:a}=this.state;return h.createElement("div",{style:t,className:"iris-grid-input-autosized-wrapper","data-value":a},h.createElement("input",{ref:o=>{this.inputField=o},className:te("iris-grid-input-field",e),type:"text",value:a,onBlur:this.handleBlur,onFocus:this.handleFocus,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onContextMenu:this.handleContextMenu,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false"}),h.createElement("div",{className:"advanced-filter-button-container"},h.createElement(j,{kind:"ghost",className:te("btn-link-icon advanced-filter-button",{"filter-set":r}),onClick:i,onContextMenu:this.handleContextMenu},h.createElement("div",{className:"fa-layers "},h.createElement(re,{icon:Lh,className:"filter-solid"}),h.createElement(re,{icon:Nl,className:"filter-light"})))))}}El(TC,"defaultProps",{style:{},className:"",value:"",isAdvancedFilterSet:!1,onAdvancedFiltersTriggered:()=>{},onChange:()=>{},onDone:()=>{},onTab:()=>{},onContextMenu:()=>{},debounceMs:150});const hF=TC;function cF(n,e,t){return e=mF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mF(n){var e=vF(n,"string");return typeof e=="symbol"?e:String(e)}function vF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class gF extends Na{constructor(e){super(),cF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){var{selectedRanges:t}=this.irisGrid.state;return e.key==="c"&&Ki.isModifierKeyDown(e)?(ye.isValidSnapshotRanges(t)?this.irisGrid.copyRanges(t):this.irisGrid.copyRanges(t,!1,!1,"Invalid copy ranges"),!0):!1}}const fF=gF;var pF={TOGGLE_QUICK_FILTER:qe.createAndAdd({id:"TABLE.TOGGLE_QUICK_FILTER",name:"Toggle Quick Filter",shortcut:[we.CTRL,Oe.F],macShortcut:[we.CMD,Oe.F]}),CLEAR_ALL_FILTERS:qe.createAndAdd({id:"TABLE.CLEAR_ALL_FILTERS",name:"Clear All Table Filters",shortcut:[we.CTRL,Oe.E],macShortcut:[we.CMD,Oe.E]}),CLEAR_FILTERS:qe.createAndAdd({id:"TABLE.CLEAR_FILTERS",name:"Clear Active Table Filters",shortcut:[we.CTRL,we.SHIFT,Oe.E],macShortcut:[we.CMD,we.SHIFT,Oe.E]}),REVERSE:qe.createAndAdd({id:"TABLE.REVERSE",name:"Reverse",shortcut:[we.CTRL,Oe.I],macShortcut:[we.CMD,Oe.I]}),TOGGLE_SEARCH:qe.createAndAdd({id:"TABLE.TOGGLE_SEARCH",name:"Toggle Search",shortcut:[we.CTRL,we.SHIFT,Oe.F],macShortcut:[we.CMD,we.SHIFT,Oe.F]}),GOTO_ROW:qe.createAndAdd({id:"TABLE.GOTO_ROW",name:"Go to Row",shortcut:[we.CTRL,Oe.G],macShortcut:[we.CMD,Oe.G]})},CF={COMMIT:qe.createAndAdd({id:"INPUT_TABLE.COMMIT",name:"Commit",shortcut:[we.CTRL,Oe.S],macShortcut:[we.CMD,Oe.S]}),DISCARD:qe.createAndAdd({id:"INPUT_TABLE.DISCARD",name:"Discard",shortcut:[we.CTRL,we.ALT,Oe.S],macShortcut:[we.CMD,we.OPTION,Oe.S]})},bF={TABLE:pF,INPUT_TABLE:CF};const Mr=bF;function SF(n,e,t){return e=wF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wF(n){var e=EF(n,"string");return typeof e=="symbol"?e:String(e)}function EF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class yF extends Na{constructor(e){super(),SF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){if(Mr.TABLE.REVERSE.matchesEvent(e)){if(!this.irisGrid.isReversible())return!1;var{reverseType:t}=this.irisGrid.state;return t===H.REVERSE_TYPE.NONE?this.irisGrid.reverse(H.REVERSE_TYPE.POST_SORT):this.irisGrid.reverse(H.REVERSE_TYPE.NONE),!0}return!1}}const TF=yF;function PF(n,e,t){return e=OF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function OF(n){var e=DF(n,"string");return typeof e=="symbol"?e:String(e)}function DF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class RF extends Na{constructor(e){super(),PF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){return Mr.TABLE.CLEAR_FILTERS.matchesEvent(e)?(this.irisGrid.clearAllFilters(),!0):!1}}const NF=RF;function FF(n,e,t){return e=IF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IF(n){var e=_F(n,"string");return typeof e=="symbol"?e:String(e)}function _F(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class MF extends Pt{constructor(e){super(850),FF(this,"irisGrid",void 0),this.irisGrid=e}destroyColumnTooltip(){this.irisGrid.setState({overflowButtonTooltipProps:null})}setCursor(e){return this.isHoveringOverflowButton(e)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}getButtonPosition(e){var{x:t,y:r,column:i,row:a}=e;if(i==null||a==null)return null;var{renderer:o,grid:s,state:l,props:d}=this.irisGrid;if(!s)return null;var{metrics:u}=l,{model:c}=d,{canvasContext:m}=s,v=s.getTheme(),g={context:m,mouseX:t,mouseY:r,metrics:u,model:c,theme:v},{left:f,top:p,width:C,height:b}=o.getCellOverflowButtonPosition(g);return f==null||C==null||p==null||b==null?null:{left:f,top:p,width:C,height:b}}isHoveringOverflowButton(e){var t,{x:r,y:i}=e,{left:a,top:o,width:s,height:l}=(t=this.getButtonPosition(e))!==null&&t!==void 0?t:{};if(a==null||s==null||o==null||l==null)return!1;var{renderer:d,grid:u,state:c,props:m}=this.irisGrid;if(!u)return!1;var{metrics:v}=c,{model:g}=m,{canvasContext:f}=u,p=u.getTheme(),C={context:f,mouseX:r,mouseY:i,metrics:v,model:g,theme:p};return d.shouldRenderOverflowButton(C)&&r>=a&&r<=a+s&&i>=o&&i<=o+l}onMove(e){if(this.isHoveringOverflowButton(e)){var{overflowButtonTooltipProps:t}=this.irisGrid.state,r=this.getButtonPosition(e);ct(t,r)||this.irisGrid.setState({overflowButtonTooltipProps:r})}else this.destroyColumnTooltip();return this.setCursor(e)}onWheel(e){return this.destroyColumnTooltip(),this.onMove(e)}onDown(e){this.destroyColumnTooltip();var{column:t,row:r}=e;return this.isHoveringOverflowButton(e)&&this.irisGrid.setState({showOverflowModal:!0,overflowText:this.irisGrid.getValueForCell(t,r)}),!1}onContextMenu(){return this.destroyColumnTooltip(),!1}onLeave(){return this.destroyColumnTooltip(),!1}}const AF=MF;function LF(n,e,t){return e=kF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kF(n){var e=xF(n,"string");return typeof e=="symbol"?e:String(e)}function xF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class HF extends Pt{constructor(e){super(),LF(this,"irisGrid",void 0),this.irisGrid=e,this.cursor=null}isActive(){var{isSelectingColumn:e}=this.irisGrid.props;return e}isValidColumn(e){if(e==null)return!1;var{columnSelectionValidator:t}=this.irisGrid.props;return t!=null?t(e):!0}updateColumnSelectionStatus(){var{columnSelectionValidator:e}=this.irisGrid.props;e?.(null)}getTableColumn(e){if(e==null)return null;var{model:t}=this.irisGrid.props,r=this.irisGrid.getModelColumn(e);return r==null?null:t.columns[r]}onMove(e){if(!this.isActive())return!1;var{columnAllowedCursor:t,columnNotAllowedCursor:r}=this.irisGrid.props,{column:i}=e,a=this.getTableColumn(i);return this.isValidColumn(a)?(this.cursor=t,this.irisGrid.setState({hoverSelectColumn:i})):(this.cursor=r,this.irisGrid.setState({hoverSelectColumn:null})),!0}onWheel(e){if(!this.isActive())return!1;var{columnAllowedCursor:t,columnNotAllowedCursor:r}=this.irisGrid.props,{column:i}=e,a=this.getTableColumn(i);return this.isValidColumn(a)?(this.cursor=t,this.irisGrid.setState({hoverSelectColumn:i})):(this.cursor=r,this.irisGrid.setState({hoverSelectColumn:null})),{preventDefault:!1,stopPropagation:!1}}onLeave(){return this.isActive()&&this.irisGrid.setState({hoverSelectColumn:null}),this.updateColumnSelectionStatus(),!1}onDown(){return this.isActive()}onClick(e){if(!this.isActive())return!1;var{column:t}=e,r=this.getTableColumn(t);return r!=null&&this.isValidColumn(r)&&this.irisGrid.selectColumn(r),!0}}const UF=HF;function $F(n,e,t){return e=BF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function BF(n){var e=VF(n,"string");return typeof e=="symbol"?e:String(e)}function VF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class GF extends Pt{constructor(e){super(),$F(this,"irisGrid",void 0),this.irisGrid=e}hideColumnTooltip(){var{tooltip:e}=this.irisGrid;e&&(e.stopTimer(),e.hide())}onDown(){return this.hideColumnTooltip(),!1}onContextMenu(){return this.hideColumnTooltip(),!1}onWheel(){return this.hideColumnTooltip(),!1}onLeave(e,t,r){var{relatedTarget:i}=r instanceof MouseEvent?r:r.nativeEvent,{tooltip:a}=this.irisGrid;if(!a)return!1;var o=a.popper.current;return o&&i instanceof Element&&o.element.contains(i)||this.hideColumnTooltip(),!1}onMove(e){var{column:t,row:r,columnHeaderDepth:i}=e,{shownColumnTooltip:a}=this.irisGrid.state,o=null;return t!==null&&r===null&&i===0&&(o=t),o!==a&&this.irisGrid.setState({shownColumnTooltip:o}),!1}}const WF=GF;function PC(n,e,t){return e=jF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jF(n){var e=zF(n,"string");return typeof e=="symbol"?e:String(e)}function zF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Dd extends w.Component{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Dd.defaultProps;super(e),PC(this,"inputRef",void 0),this.handleInputChange=this.handleInputChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.inputRef=h.createRef()}handleInputChange(){var{onChange:e}=this.props;this.inputRef.current&&e(this.inputRef.current.value)}closeContextMenu(){var{forwardedProps:e}=this.props,{closeMenu:t}=e;t(!0)}revertToDefault(){var{onChange:e}=this.props;e(null)}returnFocusToContextMenu(){var e=gE.getClosestByClassName(this.inputRef.current,"context-menu-container");e instanceof HTMLElement&&e.focus()}handleKeyDown(e){switch(e.key){case"Enter":e.stopPropagation(),this.closeContextMenu();break;case"Escape":e.stopPropagation(),this.revertToDefault(),this.closeContextMenu();break;case"ArrowRight":case"ArrowLeft":e.stopPropagation();break;case"ArrowUp":case"ArrowDown":this.returnFocusToContextMenu();break;default:e.stopPropagation()}}render(){var{formatString:e,forwardedProps:t,placeholder:r,title:i}=this.props,{menuItem:{description:a},iconElement:o}=t;return h.createElement("div",{className:"form-group flex-grow mb-0"},h.createElement("div",{className:"custom-format-title"},h.createElement("span",{className:"icon"},o),h.createElement("label",{className:"title mb-0",htmlFor:"custom-format-input"},i,a!=null&&h.createElement(pt,null,a))),h.createElement("div",{className:"pl-2 pr-2 pb-2"},h.createElement("input",{id:"custom-format-input",className:"form-control text-right mb-0",type:"text",defaultValue:e,ref:this.inputRef,placeholder:r,onKeyDown:this.handleKeyDown,onChange:this.handleInputChange,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false"})))}}PC(Dd,"defaultProps",{formatString:"",forwardedProps:{menuItem:{},closeMenu(n){},iconElement:null},placeholder:"",title:"",onChange(n){}});const KF=Dd;class YF{static isDefaultSelected(e){return!e||![bl.TYPE_CONTEXT_CUSTOM,bl.TYPE_CONTEXT_PRESET].includes(e.type)}static isCustomSelected(e){return e!=null&&e.type===bl.TYPE_CONTEXT_CUSTOM}static makeOption(e,t,r,i){return{title:e,description:e,group:r,format:t,isSelected:i}}static makeCustomFormatOption(e,t,r,i,a){return{title:e.label,description:e.label,format:e,group:t,isSelected:i,menuElement:h.createElement(KF,{formatString:e.formatString,title:e.label,placeholder:r,onChange:a})}}}const Ar=YF;function uc(n,e,t){return e=qF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qF(n){var e=XF(n,"string");return typeof e=="symbol"?e:String(e)}function XF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class vr{static getOptions(e,t){var r=new Date,i=[{group:vr.dateGroup,formatString:"yyyy-MM-dd"},{group:vr.dateGroup,formatString:"MM-dd-yyyy"},{group:vr.timeGroup,formatString:"HH:mm:ss"},{group:vr.timeGroup,formatString:"HH:mm:ss.SSS"},{group:vr.timeGroup,formatString:"HH:mm:ss.SSSSSSSSS"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss.SSS"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"}],a=i.map(s=>{var l=Tt.makeFormat("",s.formatString,Tt.TYPE_CONTEXT_PRESET),d=e.getFormattedString(r,H.dataType.DATETIME,"",l);return Ar.makeOption(d,l,s.group,Tt.isSameFormat(l,t))}),o=Ar.makeOption("Default",null,vr.dateGroup,Ar.isDefaultSelected(t));return[o,...a]}}uc(vr,"dateGroup",10);uc(vr,"timeGroup",20);uc(vr,"dateTimeGroup",30);const QF=vr;function Rd(n,e,t){return e=ZF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ZF(n){var e=JF(n,"string");return typeof e=="symbol"?e:String(e)}function JF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class rr{static getOptions(e,t,r){var i=[{format:tt.FORMAT_PERCENT,group:rr.presetGroup},{format:tt.FORMAT_BASIS_POINTS,group:rr.presetGroup},{format:tt.FORMAT_MILLIONS,group:rr.presetGroup},{format:tt.FORMAT_SCIENTIFIC_NOTATION,group:rr.presetGroup},{format:tt.FORMAT_ROUND,group:rr.presetRoundGroup},{format:tt.FORMAT_ROUND_TWO_DECIMALS,group:rr.presetRoundGroup},{format:tt.FORMAT_ROUND_FOUR_DECIMALS,group:rr.presetRoundGroup}],a=Ar.makeOption("Default",null,rr.defaultGroup,Ar.isDefaultSelected(t)),o=i.map(u=>Ar.makeOption(u.format.label,u.format,u.group,tt.isSameFormat(u.format,t))),s=Ar.isCustomSelected(t),l=s?t:tt.makeCustomFormat(),d=Ar.makeCustomFormatOption(l,rr.customGroup,tt.DEFAULT_FORMAT_STRING,s,u=>{if(u!=null){var c=tt.makeCustomFormat(u);tt.isValid(e,c)&&r(c)}else r(null)});return[a,...o,d]}}Rd(rr,"defaultGroup",10);Rd(rr,"presetGroup",20);Rd(rr,"presetRoundGroup",30);Rd(rr,"customGroup",40);const eI=rr;function hc(n,e,t){return e=tI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function tI(n){var e=rI(n,"string");return typeof e=="symbol"?e:String(e)}function rI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ri{static getOptions(e,t,r){var i=[{format:yt.FORMAT_MILLIONS,group:ri.presetGroup},{format:yt.FORMAT_SCIENTIFIC_NOTATION,group:ri.presetGroup}],a=Ar.makeOption("Default",null,ri.defaultGroup,Ar.isDefaultSelected(t)),o=i.map(u=>Ar.makeOption(u.format.label,u.format,u.group,yt.isSameFormat(u.format,t))),s=Ar.isCustomSelected(t),l=s?t:yt.makeCustomFormat(),d=Ar.makeCustomFormatOption(l,ri.customGroup,yt.DEFAULT_FORMAT_STRING,s,u=>{if(u!=null){var c=yt.makeCustomFormat(u);yt.isValid(e,c)&&r(c)}else r(null)});return[a,...o,d]}}hc(ri,"defaultGroup",10);hc(ri,"presetGroup",20);hc(ri,"customGroup",30);const nI=ri;function xv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Hv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xv(Object(t),!0).forEach(function(r){xr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function xr(n,e,t){return e=iI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function iI(n){var e=aI(n,"string");return typeof e=="symbol"?e:String(e)}function aI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Uv=ie.module("IrisGridContextMenuHandler"),oI=150,$v="yyyy-MM-dd HH:mm:ss.SSSSSSSSS";class Z extends Pt{static getQuickFilterCondition(e,t,r){return e&&r==="&&"?e.and(t):e&&r==="||"?e.or(t):t}static getQuickFilterText(e,t,r){return r&&e!=null?"".concat(e," ").concat(r," ").concat(t):t}static getOperatorAsText(e){return e==="&&"?"And":"Or"}static getRowOptionFormatted(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30;return"".concat(e,' "').concat(Ln.truncate(t,r-e.length-3),'"')}constructor(e,t){super(),xr(this,"irisGrid",void 0),xr(this,"debouncedUpdateCustomFormat",void 0),xr(this,"dh",void 0),this.debouncedUpdateCustomFormat=rt(e.handleFormatSelection,oI),this.dh=t,this.irisGrid=e}componentWillUnmount(){this.debouncedUpdateCustomFormat.flush()}getHeaderActions(e,t){var{irisGrid:r}=this,{column:i}=t;L(i);var{model:a}=r.props,{columns:o}=a,s=o[e],l=[],{metrics:d,reverseType:u,quickFilters:c,advancedFilters:m,searchFilter:v}=r.state,g=r.getTheme();L(d);var{filterIconColor:f,filterBarActiveColor:p,contextMenuSortIconColor:C,contextMenuReverseIconColor:b}=g,S=a.sort,E=H.getSortForColumn(S,s.name),y=u!==H.REVERSE_TYPE.NONE,{userColumnWidths:T}=d,O=[...T.values()].some(M=>M===0),D=a.getColumnHeaderParentGroup(e,0)===void 0&&!(ze(a)&&a.hasExpandableRows),P=a.isColumnFrozen(e),R=a.isColumnSortable(e);if(l.push({title:"Hide Column",group:Z.GROUP_HIDE_COLUMNS,action:()=>{this.irisGrid.hideColumnByVisibleIndex(i)}}),l.push({title:P?"Unfreeze Column":"Freeze Column",group:Z.GROUP_HIDE_COLUMNS,disabled:!D,action:()=>{P?this.irisGrid.unFreezeColumnByColumnName(s.name):this.irisGrid.freezeColumnByColumnName(s.name)},order:10}),l.push({title:"Show All Columns",group:Z.GROUP_HIDE_COLUMNS,action:()=>{this.irisGrid.showAllColumns()},disabled:!O}),l.push({title:"Quick Filters",icon:Gn,iconColor:p,shortcut:Mr.TABLE.TOGGLE_QUICK_FILTER,group:Z.GROUP_FILTER,order:10,action:()=>{this.irisGrid.toggleFilterBar(i)}}),l.push({title:"Advanced Filters",icon:m.get(e)?Lh:Nl,iconColor:f,group:Z.GROUP_FILTER,order:20,action:()=>{this.irisGrid.handleAdvancedMenuOpened(i)}}),l.push({title:"Clear Table Filters",group:Z.GROUP_FILTER,order:40,shortcut:Mr.TABLE.CLEAR_FILTERS,action:()=>{this.irisGrid.clearAllFilters()},disabled:!(c.size>0||m.size>0||v!=null)}),l.push({title:"Sort by",icon:Gn,iconColor:C,group:Z.GROUP_SORT,order:10,actions:this.sortByActions(s,e,E),disabled:!R}),l.push({title:"Add Additional Sort",disabled:E&&S.length===1||y&&S.length===1||E&&y&&S.length===2||S.length===0||!R,group:Z.GROUP_SORT,order:20,actions:this.additionalSortActions(s,e)}),l.push({title:"Clear Table Sorting",disabled:S.length===0||y&&S.length===1,group:Z.GROUP_SORT,action:()=>{this.irisGrid.sortColumn(i,Z.COLUMN_SORT_DIRECTION.none)},order:30}),l.push({title:u===H.REVERSE_TYPE.NONE?"Reverse Table":"Clear Reverse Table",icon:Gn,iconColor:b,group:Z.GROUP_SORT,order:40,disabled:!a.isReversible,shortcut:Mr.TABLE.REVERSE,action:()=>{u===H.REVERSE_TYPE.NONE?this.irisGrid.reverse(H.REVERSE_TYPE.POST_SORT):this.irisGrid.reverse(H.REVERSE_TYPE.NONE)}}),l.push({title:"Copy Column Name",group:Z.GROUP_COPY,action:()=>{var M;Cs((M=a.textForColumnHeader(e))!==null&&M!==void 0?M:"").catch(A=>Uv.error("Unable to copy header",A))}}),H.isDateType(s.type))l.push({title:"Date/Time Format",group:Z.GROUP_FORMAT,actions:this.dateFormatActions(s)});else if(H.isNumberType(s.type)){var _;l.push({title:"Number Format",group:Z.GROUP_FORMAT,actions:(_=this.numberFormatActions(s))!==null&&_!==void 0?_:void 0})}return l}getCellActions(e,t,r){L(e);var{dh:i,irisGrid:a}=this,{column:o,row:s}=r,{model:l,canCopy:d}=a.props,{columns:u}=l,c=a.getModelRow(s);L(c);var m=l.valueForCell(e,c),v=l.textForCell(e,c),g=u[e],f=[],{quickFilters:p}=a.state,C=a.getTheme(),{filterIconColor:b}=C,{settings:S}=a.props,E=new Tt(i,{timeZone:S?.timeZone,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:$v}),y=new Tt(i,{timeZone:S?.timeZone,showTimeZone:S?.showTimeZone,showTSeparator:S?.showTSeparator,defaultDateTimeFormatString:$v});if(g==null||s==null)return f;if(l.isFilterable(e)){var T={title:"Filter by Value",icon:Gn,iconColor:b,group:Z.GROUP_FILTER,order:10,actions:[]};if(m==null)p.get(e)&&T.actions.push({title:"And",actions:this.nullFilterActions(g,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.nullFilterActions(g));else if(m==="")p.get(e)&&T.actions.push({title:"And",actions:this.emptyStringFilterActions(g,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.emptyStringFilterActions(g));else if(H.isBooleanType(g.type))p.get(e)&&T.actions.push({title:"Or",actions:this.booleanFilterActions(g,v,p.get(e),"||"),order:2,group:le.groups.high}),T.actions.push(...this.booleanFilterActions(g,v));else if(H.isNumberType(g.type)||H.isCharType(g.type)){L(e);var O=H.isCharType(g.type)?String.fromCharCode(m):"".concat(m);p.get(e)&&T.actions.push({title:"And",actions:this.numberFilterActions(g,O,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.numberFilterActions(g,O,m,p.get(e)))}else if(H.isDateType(g.type)){var D=E.format(m),P=y.format(m);p.get(e)&&T.actions.push({title:"And",actions:this.dateFilterActions(g,D,P,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.dateFilterActions(g,D,P,m,p.get(e)))}else p.get(e)&&T.actions.push({title:"And",actions:this.stringFilterActions(g,v,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.stringFilterActions(g,v,m));T.actions!=null&&T.actions.length>0&&f.push(T)}if(ze(l)&&l.isRowExpandable(c)){var R=l.groupedColumns.length>0?l.depthForRow(c)-1:0,_=l.valueForCell(R,c),M=_==null?"null":l.textForCell(R,c);f.push({title:Z.getRowOptionFormatted(l.isRowExpanded(c)?"Collapse":"Expand",M),group:Z.GROUP_EXPAND_COLLAPSE,order:10,action:()=>{l.setRowExpanded(c,!l.isRowExpanded(c))}}),l.isExpandAllAvailable===!0&&f.push({title:Z.getRowOptionFormatted("Expand All in",M),group:Z.GROUP_EXPAND_COLLAPSE,order:20,action:()=>{l.setRowExpanded(c,!0,!0)}})}ze(l)&&l.hasExpandableRows&&l.isExpandAllAvailable===!0&&(f.push({title:"Expand Entire Table",group:Z.GROUP_EXPAND_COLLAPSE,order:30,action:()=>{l.expandAll()}}),f.push({title:"Collapse Entire Table",group:Z.GROUP_EXPAND_COLLAPSE,order:40,action:()=>{l.collapseAll()}}));var A={title:"Go to",iconColor:b,shortcut:Mr.TABLE.GOTO_ROW,group:Z.GROUP_GOTO,order:10,action:()=>this.irisGrid.toggleGotoRow("".concat(s+1),"".concat(m),g.name)};return f.push(A),d&&(f.push({title:"Copy Cell",group:Z.GROUP_COPY,order:10,action:()=>{a.copyCell(o,s)}}),f.push({title:"Copy Cell Unformatted",group:Z.GROUP_COPY,order:20,action:()=>{a.copyCell(o,s,!0)}})),f}getNumberValueEqualsFilter(e,t){var{dh:r}=this,i=e.filter();if(t===Number.POSITIVE_INFINITY)return r.FilterCondition.invoke("isInf",i).and(i.greaterThan(r.FilterValue.ofNumber(0)));if(t===Number.NEGATIVE_INFINITY)return r.FilterCondition.invoke("isInf",i).and(i.lessThan(r.FilterValue.ofNumber(0)));if(Number.isNaN(t))return r.FilterCondition.invoke("isNaN",i);var a=this.getFilterValueForNumberOrChar(e.type,t);return i.eq(a)}getFilterValueForNumberOrChar(e,t){var{dh:r}=this;return H.isCharType(e)?r.FilterValue.ofString(String.fromCharCode(t)):r.FilterValue.ofNumber(t)}onContextMenu(e,t,r){var{irisGrid:i}=this,{y:a,column:o,row:s,columnHeaderDepth:l}=e,d=i.getModelColumn(o),u=i.getModelRow(s),{model:c,canCopy:m}=i.props,{columns:v}=c,{metrics:g,isFilterBarShown:f,quickFilters:p,advancedFilters:C,selectedRanges:b}=i.state;L(g);var{columnHeaderHeight:S,gridY:E,columnHeaderMaxDepth:y}=g,T=[];if(d!=null&&u!=null){var O=c.valueForCell(d,u),D=c.textForCell(d,u),P=v[d],{onContextMenu:R}=i.props;P!=null&&T.push(R({model:c,value:O,valueText:D,column:P,rowIndex:s,columnIndex:o,modelRow:u,modelColumn:d}))}return d!=null&&c.isFilterable(d)&&T.push({title:"Clear Column Filter",group:Z.GROUP_FILTER,order:30,action:()=>{this.irisGrid.removeColumnFilter(d)},disabled:!(p.has(d)||C.has(d))}),(f?a<=E:a<=S*y&&l===0)?d!=null&&T.push(...this.getHeaderActions(d,e)):(d!=null&&u!=null&&T.push(...this.getCellActions(d,t,e)),m&&b.length>0&&(T.push({title:"Copy Selection",shortcut:ui.COPY,group:Z.GROUP_COPY,order:30,action:()=>{i.copyRanges(b)}}),T.push({title:"Copy Selection w/ Headers",group:Z.GROUP_COPY,order:40,action:()=>{i.copyRanges(b,!0)}})),nt(c)&&c.isEditable&&b.length>0&&T.push({title:"Delete Selected Rows",group:Z.GROUP_EDIT,order:50,action:()=>{this.irisGrid.deleteRanges(b)}})),T.length===0?!1:(L(i.gridWrapper),le.triggerMenu(i.gridWrapper,r.clientX,r.clientY,T),!0)}dateFormatActions(e){for(var t=this,{model:r}=this.irisGrid.props,{formatter:i}=r,a=i.getColumnFormat(e.type,e.name),o=QF.getOptions(i,a),s=[],l=function(){var{description:c,format:m,group:v,isSelected:g,title:f}=o[d];s.push({title:f,description:c,icon:g?ii:void 0,group:v,order:d,action:()=>{var p=r.getColumnIndexByName(e.name);L(p),t.irisGrid.handleFormatSelection(p,m)}})},d=0;d<o.length;d+=1)l();return s}numberFormatActions(e){var t=this,{model:r}=this.irisGrid.props,{formatter:i}=r,{dh:a}=this,o=i.getColumnFormat(e.type,e.name),s,l=r.getColumnIndexByName(e.name);if(H.isDecimalType(e.type))s=eI.getOptions(a,o,m=>{L(l),this.debouncedUpdateCustomFormat(l,m)});else if(H.isIntegerType(e.type))s=nI.getOptions(a,o,m=>{L(l),this.debouncedUpdateCustomFormat(l,m)});else return Uv.error("Invalid column type in numberFormatActions"),null;for(var d=[],u=function(){var{format:v,isSelected:g}=s[c];d.push(Hv(Hv({},s[c]),{},{icon:g?ii:void 0,order:c,action:()=>{l===void 0&&v&&v.type===bl.TYPE_CONTEXT_CUSTOM||(L(l),t.irisGrid.handleFormatSelection(l,v))}}))},c=0;c<s.length;c+=1)u();return d}stringFilterActions(e,t,r,i,a){var{dh:o}=this,s=o.FilterValue.ofString(r),l=i;l||(l={filter:null,text:null});var{filter:d,text:u}=l,c=[],{model:m}=this.irisGrid.props,v=m.getColumnIndexByName(e.name),g=H.escapeQuickTextFilter(t);return L(v),c.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},a?Z.getOperatorAsText(a):""," ",'"',t,'"'),order:1,group:le.groups.high}),c.push({title:"text is exactly",description:"Show only rows where ".concat(e.name," is ").concat(r," (case sensitive)"),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().eq(s),a),Z.getQuickFilterText(u,"".concat(g),a))},order:10,group:le.groups.low}),c.push({title:"text is not exactly",description:"Show only rows where ".concat(e.name," is not ").concat(t," (case sensitive)"),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().notEq(s),a),Z.getQuickFilterText(u,"!=".concat(g),a))},order:20,group:le.groups.low}),c.push({title:"text contains",description:"Show only rows where ".concat(e.name," contains ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().contains(s)),a),Z.getQuickFilterText(u,"~".concat(g),a))},order:30,group:le.groups.low}),c.push({title:"text does not contain",description:"Show only rows where ".concat(e.name," does not contain ").concat(r),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().or(e.filter().contains(s).not()),a),Z.getQuickFilterText(u,"!~".concat(g),a))},order:40,group:le.groups.low}),c.push({title:"text starts with",description:"Show only rows where ".concat(e.name," starts with ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().invoke("startsWith",s)),a),Z.getQuickFilterText(u,"".concat(g,"*"),a))},order:50,group:le.groups.low}),c.push({title:"text ends with",description:"Show only rows where ".concat(e.name," ends with ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().invoke("endsWith",s)),a),Z.getQuickFilterText(u,"*".concat(g),a))},order:60,group:le.groups.low}),c}numberFilterActions(e,t,r,i,a){var o=this.getFilterValueForNumberOrChar(e.type,r),s=null,l=null;i&&(s=i.filter,l=i.text);var d=[],u=r!==Number.POSITIVE_INFINITY&&r!==Number.NEGATIVE_INFINITY&&!Number.isNaN(r),{model:c}=this.irisGrid.props,m=c.getColumnIndexByName(e.name);return L(m),d.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},a?Z.getOperatorAsText(a):""," ",'"',t,'"'),order:1,group:le.groups.high}),d.push({title:"is equal to",description:"Show only rows where ".concat(e.name," is ").concat(t),action:()=>{var v=this.getNumberValueEqualsFilter(e,r);this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,v,a),Z.getQuickFilterText(l,"=".concat(t),a))},order:10,group:le.groups.low}),d.push({title:"is not equal to",description:"Show only rows where ".concat(e.name," is not ").concat(t),action:()=>{var v=this.getNumberValueEqualsFilter(e,r).not();this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,v,a),Z.getQuickFilterText(l,"!=".concat(t),a))},order:20,group:le.groups.low}),u&&!H.isCharType(e.type)&&(d.push({title:"greater than",description:"Show only rows where ".concat(e.name," is greater than ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().greaterThan(o),a),Z.getQuickFilterText(l,">".concat(t),a))},order:30,group:le.groups.low}),d.push({title:"greater than or equal to",description:"Show only rows where ".concat(e.name," is greater than or equal to ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().greaterThanOrEqualTo(o),a),Z.getQuickFilterText(l,">=".concat(t),a))},order:40,group:le.groups.low}),d.push({title:"less than",description:"Show only rows where ".concat(e.name," is less than ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().lessThan(o),a),Z.getQuickFilterText(l,"<".concat(t),a))},order:50,group:le.groups.low}),d.push({title:"less than or equal to",description:"Show only rows where ".concat(e.name," is less than or equal to ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().lessThanOrEqualTo(o),a),Z.getQuickFilterText(l,"<=".concat(t),a))},order:60,group:le.groups.low})),d}booleanFilterActions(e,t,r,i){var a=[],{model:o}=this.irisGrid.props,{filter:s,text:l}=r||{},d=o.getColumnIndexByName(e.name);return L(d),a.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},i?Z.getOperatorAsText(i):""," ",'"',t??"null",'"'),order:1,group:le.groups.high}),a.push({title:"true",description:"Show only rows where ".concat(e.name," is true"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isTrue(),i),Z.getQuickFilterText(l,"true",i))},order:10,group:le.groups.low}),a.push({title:"false",description:"Show only rows where ".concat(e.name," is false"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isFalse(),i),Z.getQuickFilterText(l,"false",i))},order:20,group:le.groups.low}),a.push({title:"is null",description:"Show only rows where ".concat(e.name," is null"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isNull(),i),Z.getQuickFilterText(l,"null",i))},order:30,group:le.groups.low}),a.push({title:"is not null",description:"Show only rows where ".concat(e.name," is not null"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isNull().not(),i),Z.getQuickFilterText(l,"!null",i))},order:40,group:le.groups.low}),a}dateFilterActions(e,t,r,i,a,o){var{dh:s}=this,l=s.FilterValue.ofNumber(i),d=null,u=null;a&&(d=a.filter,u=a.text);var{model:c}=this.irisGrid.props,m=c.getColumnIndexByName(e.name);L(m);var v=[];return v.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},o?Z.getOperatorAsText(o):""," ",'"',r,'"'),order:1,group:le.groups.high}),v.push({title:"date is",description:"Show only rows where ".concat(e.name," is ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().eq(l),o),Z.getQuickFilterText(u,"=".concat(t),o))},order:10,group:le.groups.low}),v.push({title:"date is not",description:"Show only rows where ".concat(e.name," is not ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().notEq(l),o),Z.getQuickFilterText(u,"!=".concat(t),o))},order:20,group:le.groups.low}),v.push({title:"date is before",description:"Show only rows where ".concat(e.name," is before ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().lessThan(l),o),Z.getQuickFilterText(u,"<".concat(t),o))},order:30,group:le.groups.low}),v.push({title:"date is before or equal",description:"Show only rows where ".concat(e.name," is before or equal to ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().lessThanOrEqualTo(l),o),Z.getQuickFilterText(u,"<=".concat(t),o))},order:40,group:le.groups.low}),v.push({title:"date is after",description:"Show only rows where ".concat(e.name," is greater than ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().greaterThan(l),o),Z.getQuickFilterText(u,">".concat(t),o))},order:50,group:le.groups.low}),v.push({title:"date is after or equal",description:"Show only rows where ".concat(e.name," is after or equal to ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().greaterThanOrEqualTo(l),o),Z.getQuickFilterText(u,">=".concat(t),o))},order:60,group:le.groups.low}),v}emptyStringFilterActions(e,t,r){var{dh:i}=this,a=i.FilterValue.ofString(""),o=t;o||(o={filter:null,text:null});var{filter:s,text:l}=o,d=[],{model:u}=this.irisGrid.props,c=u.getColumnIndexByName(e.name);return L(c),d.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},r?Z.getOperatorAsText(r):""," ",h.createElement("i",{className:"text-muted"},"empty")),order:1,group:le.groups.high}),d.push({title:"is empty string",description:"Show only rows where ".concat(e.name," is empty"),action:()=>{this.irisGrid.setQuickFilter(c,Z.getQuickFilterCondition(s,e.filter().eq(a),r),Z.getQuickFilterText(l,"=",r))},order:10,group:le.groups.low}),d.push({title:"is not empty string",description:"Show only rows where ".concat(e.name," is not empty"),action:()=>{this.irisGrid.setQuickFilter(c,Z.getQuickFilterCondition(s,e.filter().notEq(a),r),Z.getQuickFilterText(l,"!=",r))},order:20,group:le.groups.low}),d}nullFilterActions(e,t,r){var i=null,a=null;t&&(i=t.filter,a=t.text);var o=[],{model:s}=this.irisGrid.props,l=s.getColumnIndexByName(e.name);return L(l),o.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},r?Z.getOperatorAsText(r):""," ",h.createElement("i",{className:"text-muted"},"null")),order:1,group:le.groups.high}),o.push({title:"is null",description:"Show only rows where ".concat(e.name," is null"),action:()=>{this.irisGrid.setQuickFilter(l,Z.getQuickFilterCondition(i,e.filter().isNull(),r),Z.getQuickFilterText(a,"null",r))},order:10,group:le.groups.low}),o.push({title:"is not null",description:"Show only rows where ".concat(e.name," is not null"),action:()=>{this.irisGrid.setQuickFilter(l,Z.getQuickFilterCondition(i,e.filter().isNull().not(),r),Z.getQuickFilterText(a,"!null",r))},order:20,group:le.groups.low}),o}sortByActions(e,t,r){var i=this.irisGrid.getTheme(),{contextMenuSortIconColor:a}=i,o=[{title:"".concat(e.name," Ascending"),order:10,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.ascending)?Gn:void 0,iconColor:a},{title:"".concat(e.name," Descending"),order:20,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.descending)?Gn:void 0,iconColor:a},{title:"Remove Sort",order:50,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.none,!1,!0)},disabled:!r}];return H.isNumberType(e.type)&&(o.push({title:"ABS(".concat(e.name,") Ascending"),order:30,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!0)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.ascending,!0)?Gn:void 0,iconColor:a}),o.push({title:"ABS(".concat(e.name,") Descending"),order:40,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!0)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.descending,!0)?Gn:void 0,iconColor:a})),o}additionalSortActions(e,t){var r=this.irisGrid.getTheme(),{contextMenuSortIconColor:i}=r,a=[{title:"Add Sort By",menuElement:h.createElement("div",{className:"btn-context-menu menu-title"},h.createElement("span",{className:"icon"},h.createElement(re,{icon:Gn,style:{color:i??void 0}})),h.createElement("span",{className:"title"},"Add Additional Sort"),h.createElement("span",{className:"shortcut"},Ki.isMacPlatform()?"⌘Click":"Ctrl+Click")),order:1},{title:"".concat(e.name," Ascending"),order:10,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!1,!0)}},{title:"".concat(e.name," Descending"),order:20,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!1,!0)}}];return H.isNumberType(e.type)&&(a.push({title:"ABS(".concat(e.name,") Ascending"),order:30,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!0,!0)}}),a.push({title:"ABS(".concat(e.name,") Descending"),order:40,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!0,!0)}})),a}checkColumnSort(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return e?e.direction===t&&e.isAbs===r:!1}}xr(Z,"GROUP_EDIT",le.groups.high+10);xr(Z,"GROUP_HIDE_COLUMNS",le.groups.high+25);xr(Z,"GROUP_FILTER",le.groups.high+50);xr(Z,"GROUP_EXPAND_COLLAPSE",le.groups.high+55);xr(Z,"GROUP_GOTO",le.groups.high+60);xr(Z,"GROUP_SORT",le.groups.high+75);xr(Z,"GROUP_COPY",le.groups.high+100);xr(Z,"GROUP_FORMAT",le.groups.high+150);xr(Z,"COLUMN_SORT_DIRECTION",{ascending:"ASC",descending:"DESC",none:null});const sI=Z;function lI(n,e,t){return e=dI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function dI(n){var e=uI(n,"string");return typeof e=="symbol"?e:String(e)}function uI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class hI extends Pt{constructor(e){super(),lI(this,"irisGrid",void 0),this.irisGrid=e}onDoubleClick(e){var{column:t,row:r}=e;return r==null||t==null?!1:(this.irisGrid.selectData(t,r),!0)}}const cI=hI;function mI(n,e,t){return e=vI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vI(n){var e=gI(n,"string");return typeof e=="symbol"?e:String(e)}function gI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class fI extends Pt{constructor(e){super(),mI(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){var{y:t,column:r,row:i}=e;if(r!==null&&i===null){var{isFilterBarShown:a,metrics:o}=this.irisGrid.state;if(!o)throw new Error("Metrics not set");var{columnHeaderMaxDepth:s}=o,l=this.irisGrid.getTheme();if(a&&l.columnHeaderHeight!=null&&l.filterBarHeight!=null&&t>l.columnHeaderHeight*s&&t<=l.columnHeaderHeight*s+l.filterBarHeight)return this.irisGrid.focusFilterBar(r),!0}return!1}onMove(e){var{y:t,column:r}=e,{isFilterBarShown:i,hoverAdvancedFilter:a,metrics:o}=this.irisGrid.state;if(!o)throw new Error("Metrics not set");var{columnHeaderMaxDepth:s}=o,l=this.irisGrid.getTheme(),d=null;return i&&l.columnHeaderHeight!=null&&l.filterBarHeight!=null&&r!==null&&t>=l.columnHeaderHeight*s&&t<=l.columnHeaderHeight*s+l.filterBarHeight&&(d=r),d!==a&&this.irisGrid.setState({hoverAdvancedFilter:d}),!1}onLeave(e){var{column:t}=e,{hoverAdvancedFilter:r}=this.irisGrid.state;return r!==null&&t!==r&&this.irisGrid.setState({hoverAdvancedFilter:null}),!1}}const pI=fI;function CI(n,e,t){return e=bI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bI(n){var e=SI(n,"string");return typeof e=="symbol"?e:String(e)}function SI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class wI extends Pt{constructor(e){super(750),CI(this,"irisGrid",void 0),this.irisGrid=e}destroyTooltip(){this.irisGrid.setState({expandCellTooltipProps:null})}setCursor(e,t){return nh.isInTreeBox(e,t)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}getButtonPosition(e){var{x:t,y:r,column:i,row:a}=e;if(i==null||a==null)return null;var{renderer:o,grid:s,state:l,props:d}=this.irisGrid;if(!s)return null;var{metrics:u}=l,{model:c}=d,{canvasContext:m}=s,v=s.getTheme(),g={context:m,mouseX:t,mouseY:r,metrics:u,model:c,theme:v},f=ze(c)?c.depthForRow(a):null,{left:p,top:C,width:b,height:S}=o.getExpandButtonPosition(g,f);return p==null||b==null||C==null||S==null?null:{left:p,top:C,width:b,height:S}}onMove(e,t){if(nh.isInTreeBox(e,t)){var{expandCellTooltipProps:r}=this.irisGrid.state,{model:i}=this.irisGrid.props,a=this.getButtonPosition(e),{row:o}=e;L(o);var s=ze(i)&&i.isRowExpanded(o);ct(r,a)||this.irisGrid.setState({expandCellTooltipProps:a,expandTooltipDisplayValue:s?"collapse":"expand"})}else this.destroyTooltip();return this.setCursor(e,t)}onDown(){return this.destroyTooltip(),!1}onContextMenu(){return this.destroyTooltip(),!1}onWheel(){return this.destroyTooltip(),!1}onLeave(){return this.destroyTooltip(),!1}}const EI=wI;function Bv(n,e,t){return e=yI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function yI(n){var e=TI(n,"string");return typeof e=="symbol"?e:String(e)}function TI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class PI extends Pt{constructor(e){super(),Bv(this,"irisGrid",void 0),Bv(this,"column",void 0),this.column=null,this.irisGrid=e}getColumnFromGridPoint(e){var{column:t,row:r,columnHeaderDepth:i}=e;return t!==null&&r===null&&i===0?t:null}onDown(e){return this.column=this.getColumnFromGridPoint(e),!1}onClick(e,t,r){var i=this.getColumnFromGridPoint(e);if(i!=null&&i===this.column){var a=Ki.isModifierKeyDown(r);return this.irisGrid.toggleSort(i,a),!0}return!1}}const OI=PI;class DI extends Pt{constructor(e){super(),this.irisGrid=e}onWheel(e,t,r){var{irisGrid:i}=this,{model:a}=i.props,{metrics:o,pendingRowCount:s}=i.state;L(o);var{bottom:l,rowCount:d,rowHeight:u}=o,{deltaY:c}=V.getScrollDelta(r);return nt(a)&&a.isEditable&&l>=d-1&&c>0&&i.setState({pendingRowCount:s+Math.ceil(c/u)}),!1}}const RI=DI;function Vv(n,e,t){return e=NI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function NI(n){var e=FI(n,"string");return typeof e=="symbol"?e:String(e)}function FI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class II extends Pt{constructor(e){super(),Vv(this,"irisGrid",void 0),Vv(this,"currentLinkBox",void 0),this.irisGrid=e}destroyTooltip(){this.irisGrid.setState({linkHoverTooltipProps:null})}isHoveringLink(e,t){var{column:r,row:i,x:a,y:o}=e,{renderer:s,metrics:l,props:d}=t,{model:u}=d;if(r==null||i==null||l==null)return this.currentLinkBox=void 0,!1;var{modelRows:c,modelColumns:m}=l,v=U(c,i),g=U(m,r),f=u.renderTypeForCell(g,v),p=s.getCellRenderer(f);if(!CC(p))return!1;if(this.currentLinkBox!=null){var{x1:C,y1:b,x2:S,y2:E}=this.currentLinkBox;if(a>=C&&a<=S&&o>=b&&o<=E)return!0}for(var y=t.updateRenderState(),T=p.getTokenBoxesForVisibleCell(r,i,y),O=0;O<T.length;O+=1)if($l(T[O].token)){var D=V.translateTokenBox(T[O],l),{x1:P,x2:R,y1:_,y2:M}=D;if(a>=P&&a<=R&&o>=_&&o<=M)return this.currentLinkBox=D,!0}return this.currentLinkBox=void 0,!1}setCursor(e,t){return this.isHoveringLink(e,t)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}onMove(e,t){var r=this.isHoveringLink(e,t);if(r&&this.currentLinkBox!=null&&$l(this.currentLinkBox.token)){var{linkHoverTooltipProps:i}=this.irisGrid.state;if(this.currentLinkBox==null)return!1;var{x1:a,y1:o,x2:s,y2:l}=this.currentLinkBox,{href:d}=this.currentLinkBox.token,u=s-a,c=l-o,m={left:a,top:o+1,width:u,height:c};ct(i,m)||this.irisGrid.setState({linkHoverTooltipProps:m,linkHoverDisplayValue:d})}else this.destroyTooltip();return this.setCursor(e,t)}onDown(){return this.destroyTooltip(),!1}onContextMenu(){return this.destroyTooltip(),!1}onWheel(){return this.destroyTooltip(),!1}onLeave(){return this.destroyTooltip(),!1}}const _I=II;var MI=3e3;function AI(n){var{children:e=null,onEntering:t,onEntered:r,onExiting:i,onExited:a}=n,[o,s]=w.useState(!1),l=w.useRef(),d=$h(e),u=w.useCallback(()=>{s(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s(!1)},MI)},[s,l]);return w.useEffect(()=>{d!==e&&e!=null&&u()},[e,d,s,u]),w.useEffect(()=>()=>l.current?clearTimeout(l.current):void 0,[]),h.createElement(Od,{className:"toast-bottom-bar",isShown:o,onEntering:t,onEntered:r,onExiting:i,onExited:a},e)}class LI extends Ra{getGridY(e){var t=super.getGridY(e),{isFilterBarShown:r,theme:i,advancedFilters:a,quickFilters:o,sorts:s,reverseType:l}=e;return r?t+=i.filterBarHeight:(o!=null&&o.size>0||a!=null&&a.size>0)&&(t+=i.filterBarCollapsedHeight),l!==H.REVERSE_TYPE.NONE&&s!=null&&s.length>0&&(t+=i.reverseHeaderBarHeight),t}getUserColumnWidths(){return this.userColumnWidths}}const kI=LI;var xI=1,OC=h.memo(n=>{var{model:e,modelColumns:t,top:r,bottom:i,left:a,right:o,filter:s,formatter:l,reverseType:d=H.REVERSE_TYPE.NONE,sorts:u,customColumns:c,movedColumns:m,hiddenColumns:v,alwaysFetchColumns:g,rollupConfig:f=null,totalsConfig:p=null,selectDistinctColumns:C=xe,pendingRowCount:b=0,pendingDataMap:S=Zn,frozenColumns:E,formatColumns:y,columnHeaderGroups:T}=n,O=w.useMemo(()=>ye.getModelViewportColumns(t,a,o,m,v,g,xI),[t,a,o,m,v,g]);return w.useEffect(function(){e.filter=s},[e,s]),w.useEffect(function(){var P=[...u];d!==H.REVERSE_TYPE.NONE&&P.push(e.dh.Table.reverse()),e.sort=P},[e,u,d]),w.useEffect(function(){e.formatter=l},[e,l]),w.useEffect(function(){e.isCustomColumnsAvailable&&(e.customColumns=c)},[e,c]),w.useEffect(function(){e.isFormatColumnsAvailable&&(e.formatColumns=y)},[e,y]),w.useEffect(function(){e.setViewport(r,i,O)},[e,r,i,O]),w.useEffect(function(){e.isRollupAvailable&&(e.rollupConfig=f)},[e,e.isRollupAvailable,f]),w.useEffect(function(){e.isSelectDistinctAvailable&&(e.selectDistinctColumns=C)},[e,C]),w.useEffect(function(){e.isTotalsAvailable&&(e.totalsConfig=p)},[e,e.isTotalsAvailable,p]),w.useEffect(function(){e.pendingRowCount=b},[e,b]),w.useEffect(function(){e.pendingDataMap=S},[e,S]),w.useEffect(function(){E&&e.updateFrozenColumns(E)},[e,E]),w.useEffect(function(){e.columnHeaderGroups=T},[e,T]),null});OC.displayName="IrisGridModelUpdater";const HI=OC;var sh=16,UI=new Map([["sortUp",kS],["sortDown",xS],["caretDown",ti],["caretRight",xf],["cellOverflow",HS]]),$I=En(n=>{var e=UI.get(n);if(e===void 0)throw new Error("Icon is undefined");var t=Array.isArray(e.icon[4])?e.icon[4][0]:e.icon[4],r=new Path2D(t),i=new Path2D,a={a:sh/e.icon[0],d:sh/e.icon[1]};return i.addPath(r,a),i},{max:1e3});function Jo(n){return $I(n)}class BI{static drawTreeMarker(e,t,r,i,a,o,s){e.save();var{x1:l,y1:d}=a,u=Jo(s?"caretDown":"caretRight"),c=r+l-2,m=i+d+2.5;e.fillStyle=o,e.textAlign="center",e.translate(c,m),e.fill(u),e.restore()}}const DC=BI;class VI extends fC{drawCellContent(e,t,r,i){var a,{metrics:o,model:s}=t,{modelColumns:l,modelRows:d}=o,u=U(d,i),c=l.get(r);if(c!==void 0){var m=s.valueForCell(c,u);if(H.isTextType((a=s.columns[c])===null||a===void 0?void 0:a.type)&&(m===null||m==="")){var v=e.font;e.font="italic ".concat(v),super.drawCellContent(e,t,r,i),e.font=v;return}super.drawCellContent(e,t,r,i)}}getTextRenderMetrics(e,t,r){var i=V.getTextRenderMetrics(e,t,r),{mouseX:a,mouseY:o,metrics:s,theme:l}=e;if(a==null||o==null)return i;var{column:d,row:u}=V.getGridPointFromXY(a,o,s);if(t===d&&r===u){var{left:c}=this.getCellOverflowButtonPosition(a,o,s,l);this.shouldRenderOverflowButton(e)&&c!=null&&(i.width=c-s.gridX-i.x)}return i}getCellOverflowButtonPosition(e,t,r,i){var a={left:null,top:null,width:null,height:null};if(e==null||t==null||r==null)return a;var{rowHeight:o,columnWidth:s,left:l,top:d}=V.getCellInfoFromXY(e,t,r);if(l==null||s==null||d==null)return a;var{width:u,verticalBarWidth:c}=r,{cellHorizontalPadding:m}=i,v=sh+2*m,g=o,f=Math.min(r.gridX+l+s,u-c),p=f-v,C=r.gridY+d;return{left:p,top:C,width:v,height:g}}shouldRenderOverflowButton(e){var t,r,{context:i,mouseX:a,mouseY:o,metrics:s,model:l,theme:d}=e;if(a==null||o==null)return!1;var{row:u,column:c,modelRow:m,modelColumn:v}=V.getCellInfoFromXY(a,o,s);if(u==null||c==null||m==null||v==null||!H.isStringType(l.columns[v].type))return!1;var g=(t=l.textForCell(v,m))!==null&&t!==void 0?t:"",{width:f}=V.getTextRenderMetrics(e,c,u),p=(r=s.fontWidths.get(d.font))!==null&&r!==void 0?r:ya;i.save(),i.font=d.font;var C=this.getCachedTruncatedString(i,g,f,p,l.truncationCharForCell(v,m));return i.restore(),g!==""&&C!==g}drawTreeMarker(e,t,r,i,a,o,s){DC.drawTreeMarker(e,t,r,i,a,o,s)}}const GI=VI;class WI extends gC{drawTreeMarker(e,t,r,i,a,o,s){DC.drawTreeMarker(e,t,r,i,a,o,s)}}const jI=WI;function Gv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gv(Object(t),!0).forEach(function(r){lh(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function lh(n,e,t){return e=zI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zI(n){var e=KI(n,"string");return typeof e=="symbol"?e:String(e)}function KI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var wu=Object.freeze({SORT_UP:"sortUp",SORT_DOWN:"sortDown",CARET_DOWN:"caretDown",CARET_RIGHT:"caretRight",CELL_OVERFLOW:"cellOverflow"}),jv=10;class Wl extends Ln{constructor(){super(...arguments),lh(this,"textCellRenderer",new GI),lh(this,"dataBarCellRenderer",new jI)}static isFilterValid(e,t){var r=e==null||e.filter!=null,i=t==null||t.filter!=null;return r&&i}getSortIcon(e){return e?e.direction===H.sortDirection.ascending?Jo(wu.SORT_UP):e.direction===H.sortDirection.descending?Jo(wu.SORT_DOWN):null:null}drawCanvas(e){super.drawCanvas(e),this.drawScrim(e)}drawGrid(e,t){super.drawGrid(e,t),this.drawCellOverflowButton(t)}drawGridLines(e,t){super.drawGridLines(e,t),this.drawGroupedColumnLine(e,t),this.drawPendingRowLine(e,t)}drawCellContent(e,t,r,i){var{metrics:a,model:o}=t,{modelColumns:s,modelRows:l}=a,d=s.get(r),u=U(l,i);if(d!==void 0){var c=o.renderTypeForCell(d,u),m=this.getCellRenderer(c);m.drawCellContent(e,t,r,i)}}getCellOverflowButtonPosition(e){var{mouseX:t,mouseY:r,metrics:i,theme:a}=e;return this.textCellRenderer.getCellOverflowButtonPosition(t,r,i,a)}shouldRenderOverflowButton(e){return this.textCellRenderer.shouldRenderOverflowButton(e)}drawCellOverflowButton(e){var{context:t,mouseX:r,mouseY:i,theme:a}=e;if(!(r==null||i==null)&&this.shouldRenderOverflowButton(e)){var{left:o,top:s,width:l,height:d}=this.getCellOverflowButtonPosition(e),{cellHorizontalPadding:u,overflowButtonColor:c,overflowButtonHoverColor:m}=a;t.save(),m!=null&&o!=null&&l!=null&&s!=null&&d!=null&&r>=o&&r<=o+l&&i>=s&&i<=s+d?t.fillStyle=m:c!=null&&(t.fillStyle=c);var v=Jo(wu.CELL_OVERFLOW);o!=null&&s!=null&&t.translate(o+u,s+2),t.fill(v),t.restore()}}drawGroupedColumnLine(e,t){var{metrics:r,model:i,theme:a}=t,{groupedColumns:o}=i,{maxY:s,allColumnWidths:l,allColumnXs:d}=r;if(!(o.length===0||a.groupedColumnDividerColor==null)){var u=o.length-1,c=d.get(u),m=l.get(u);if(!(c==null||m==null)){var v=c+m+.5;e.strokeStyle=a.groupedColumnDividerColor,e.lineWidth=1,e.beginPath(),e.moveTo(v,0),e.lineTo(v,s),e.stroke()}}}drawPendingRowLine(e,t){var{metrics:r,model:i,theme:a}=t,{allRowYs:o,maxX:s}=r,{pendingRowCount:l}=i;if(!(l<=0)){var d=i.rowCount-i.pendingRowCount-i.floatingBottomRowCount,u=o.get(d);u!=null&&(u-=.5,e.save(),e.setLineDash([4,2]),e.strokeStyle=a.pendingTextColor,e.lineWidth=1,e.beginPath(),e.moveTo(0,u),e.lineTo(s,u),e.stroke(),e.restore())}}drawMouseColumnHover(e,t){var{theme:r,metrics:i,hoverSelectColumn:a}=t;if(!(a==null||r.linkerColumnHoverBackgroundColor==null)){var{allColumnWidths:o,allColumnXs:s,maxY:l}=i,d=U(s,a),u=U(o,a);e.fillStyle=r.linkerColumnHoverBackgroundColor,e.fillRect(d,0,u,l)}}drawMouseRowHover(e,t){var{isSelectingColumn:r}=t;r||super.drawMouseRowHover(e,t)}drawScrim(e){var{context:t,loadingScrimProgress:r,metrics:i,theme:a}=e;if(r!=null){var{width:o,height:s,gridY:l}=i,{scrimBlurSize:d,scrimColor:u}=a;t.save(),t.globalCompositeOperation="color",t.filter="blur(".concat(d,"px)"),u!=null&&(t.fillStyle=u),t.beginPath(),t.rect(0,l,o,s-l),t.clip(),t.fillRect(-d,-d+l,d*2+o,(d*2+(s-l))*r),t.globalCompositeOperation="overlay",t.filter="blur(".concat(d,"px) opacity(15%)"),t.fillRect(-d,-d+l,d*2+o,(d*2+(s-l))*r),t.restore()}}drawColumnHeaders(e,t){super.drawColumnHeaders(e,t);var{theme:r,metrics:i,model:a,reverseType:o}=t,{columnHeaderHeight:s}=i;if(this.drawFilterHeaders(e,t),!(s<=0)){var{sort:l}=a;if(l.length===1){var d=o!==H.REVERSE_TYPE.NONE,u;d?u=r.headerReverseBarColor:u=r.headerSortBarColor,this.drawHeaderBar(e,t,u,d?r.reverseHeaderBarHeight:r.sortHeaderBarHeight)}else l.length>1&&(o!==H.REVERSE_TYPE.NONE&&this.drawHeaderBar(e,t,r.headerReverseBarColor,r.reverseHeaderBarHeight,!1),this.drawHeaderBar(e,t,r.headerSortBarColor,r.sortHeaderBarHeight))}}drawHeaderBar(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,{theme:o,metrics:s,model:l}=t,{columnHeaderHeight:d,width:u}=s,c=0;a||(c=i),e.fillStyle=o.headerBarCasingColor,e.fillRect(0,l.columnHeaderMaxDepth*d-i-2+c,u,i+2),e.fillStyle=r,e.fillRect(0,l.columnHeaderMaxDepth*d-i-1+c,u,i)}drawColumnHeadersAtDepth(e,t,r,i,a){var{metrics:o,model:s,isMenuShown:l}=t,{columnHeaderMaxDepth:d}=s,{width:u}=o,c=Wv(Wv({},i),{},{maxX:a===d-1&&i.maxX===u?u-(l?0:30):i.maxX});super.drawColumnHeadersAtDepth(e,t,r,c,a)}drawColumnHeaderAtIndex(e,t,r,i){var a,o;super.drawColumnHeaderAtIndex(e,t,r,i);var{metrics:s,model:l,theme:d}=t,{modelColumns:u,allColumnWidths:c,allColumnXs:m,gridX:v,columnHeaderHeight:g,fontWidths:f}=s,{headerHorizontalPadding:p}=d,C=U(c,r,0),b=U(m,r)+v,S=u.get(r);if(S!=null){var E=(a=l.columns[S])===null||a===void 0?void 0:a.name;if(E!=null){var y=H.getSortForColumn(l.sort,E);if(y){var T=this.getSortIcon(y);if(T){var O=l.textForColumnHeader(S);if(O!==void 0){var D=(o=f.get(e.font))!==null&&o!==void 0?o:ya;L(D);var P=O.length*D,R=v+b+P+p,{maxX:_}=i;_-=p;var M=v+b+C-p-1,A=R>_?R+1:Math.min(_,M),B=y.direction===H.sortDirection.ascending?-6:-12,$=g*.5+B;e.save(),e.beginPath(),e.rect(b,0,C,g),e.clip(),e.fillStyle=d.headerSortBarColor,e.translate(A,$),e.fill(T),e.restore()}}}}}}drawFilterHeaders(e,t){var{isFilterBarShown:r,quickFilters:i,advancedFilters:a}=t;r?this.drawExpandedFilterHeaders(e,t):(i!=null&&i.size>0||a!=null&&a.size>0)&&this.drawCollapsedFilterHeaders(e,t)}drawExpandedFilterHeaders(e,t){var{metrics:r,model:i,theme:a,quickFilters:o,advancedFilters:s}=t,{filterBarHeight:l}=a;if(!(l<=0)){var{gridX:d,gridY:u,maxX:c,modelColumns:m,visibleColumns:v,allColumnWidths:g,allColumnXs:f}=r,p=u-l;e.save(),e.font=a.font,e.textAlign="left",o!=null&&o.size>0||s!=null&&s.size>0?e.fillStyle=a.filterBarExpandedActiveBackgroundColor:e.fillStyle=a.filterBarExpandedBackgroundColor,e.fillRect(d,p,c,l-1),e.fillStyle=a.headerBarCasingColor,e.fillRect(d,p+l-1,c,1);var C=p;e.strokeStyle=a.filterBarSeparatorColor,e.beginPath();for(var b=0;b<v.length;b+=1){var S=v[b],E=U(m,S),y=U(f,S),T=U(g,S);if(i.isFilterable(E)&&T>0){var O=d+(y??0);e.rect(O+.5,C+.5,T,l-2)}}e.stroke();for(var D=0;D<v.length;D+=1){var P=v[D],R=U(g,P),_=U(f,P),M=_+d;this.drawExpandedFilterHeader(e,t,P,M,R)}e.restore()}}drawExpandedFilterHeader(e,t,r,i,a){if(!(a<=0)){var{metrics:o,theme:s,quickFilters:l,advancedFilters:d}=t,{modelColumns:u,gridY:c}=o,{filterBarHeight:m,filterBarExpandedActiveCellBackgroundColor:v,filterBarErrorColor:g,filterBarHorizontalPadding:f,headerColor:p}=s,C=c-m,b=u.get(r);if(b!==void 0){var S=l.get(b),E=d.get(b);if(!(S==null&&E==null)){var y=null;if(S!=null){var{text:T}=S;if(y=T,y||(y=H.getFilterText(S.filter)),y!=null){var{fontWidths:O}=o,D=O.get(e.font);(D==null||D===0)&&(D=e.measureText("8").width,D||(D=10));var P=(a-f*2)/D;P<=0?y="":y.length>P&&(y="".concat(y.substring(0,P-1),"…"))}}e.save();var R=Wl.isFilterValid(E,S);if(R&&v!=null)e.fillStyle=v,e.fillRect(i+1,C+1,a-1,m-3);else if(g!=null){e.fillStyle=g,e.lineWidth=2,e.strokeStyle=g;var _=i+2,M=C+2,A=a-3,B=m-5;e.strokeRect(_,M,A,B)}if(y!=null&&y!==""){var $=i+f,z=C+m*.5+1;e.fillStyle=p,e.fillText(y,$,z)}e.restore()}}}}drawCollapsedFilterHeaders(e,t){var{metrics:r,theme:i}=t,{headerSeparatorColor:a,filterBarCollapsedHeight:o}=i;if(!(o<=0)){var{gridX:s,gridY:l,maxX:d,visibleColumns:u,allColumnWidths:c,allColumnXs:m}=r,v=l-o;e.save(),e.fillStyle=a,e.fillRect(s,v,d,o);for(var g=0;g<u.length;g+=1){var f=u[g],p=c.get(f),C=m.get(f);if(C!=null&&p!=null){var b=C+s;this.drawCollapsedFilterHeader(e,t,f,b,p)}}e.restore()}}drawCollapsedFilterHeader(e,t,r,i,a){if(!(a<=0)){var{metrics:o,theme:s,quickFilters:l,advancedFilters:d}=t,{modelColumns:u,gridY:c}=o,m=u.get(r);if(m!==void 0){var v=l.get(m),g=d.get(m),{filterBarCollapsedHeight:f,filterBarActiveColor:p,filterBarActiveBackgroundColor:C,filterBarErrorColor:b}=s;e.save();var S=Wl.isFilterValid(g,v);C!=null&&v==null&&g==null?e.fillStyle=C:p!=null&&S?e.fillStyle=p:b!=null&&(e.fillStyle=b);var E=i+1,y=c-f,T=a-1,O=f-1;e.fillRect(E,y,T,O),e.restore()}}}drawRowFooters(e,t){var{metrics:r,model:i,mouseX:a,mouseY:o,theme:s}=t,{gridY:l,gridX:d,maxX:u,modelRows:c,floatingTopHeight:m,floatingBottomHeight:v,floatingRows:g,rowFooterWidth:f,height:p,horizontalBarHeight:C,verticalBarWidth:b,allRowHeights:S,allRowYs:E,width:y}=r;if(!(f<=0||g.length===0)){var{cellHorizontalPadding:T,floatingGridRowColor:O,floatingRowBackgroundColors:D,headerColor:P,rowHoverBackgroundColor:R}=s;e.translate(d,l),e.beginPath();var _=Math.min(u,y-f-b-d);e.fillStyle=D,m>0&&e.rect(_,0,f,m),v>0&&e.rect(_,p-l-C-v,f,v),e.fill();var M=a!=null&&o!=null&&a>=d&&a<=u+f?V.getRowAtY(o,r):null;if(R!=null&&M!==null&&g.includes(M)){e.fillStyle=R;var A=E.get(M),B=S.get(M);L(A),L(B),e.fillRect(_,A,f,B)}if(e.beginPath(),O!=null&&(e.strokeStyle=O),m>0&&(e.moveTo(_+.5,.5),e.lineTo(_+.5,m-.5)),v>0){var $=p-l-C-v;e.moveTo(_-.5,$+.5),e.lineTo(_-.5,$+v-.5)}e.stroke(),e.fillStyle=P,e.textAlign="left";for(var z=_+T,G=0;G<g.length;G+=1){var K=g[G],X=S.get(K),J=E.get(K),I=c.get(K);if(J!=null&&X!=null&&I!=null){var N=J+X*.5;e.fillText(i.textForRowFooter(I),z,N)}}e.translate(-d,-l)}}getExpandButtonPosition(e,t){var{mouseX:r,mouseY:i,metrics:a,theme:o}=e,s={left:null,top:null,width:null,height:null};if(r==null||i==null||t==null||!a)return s;var{rowHeight:l,left:d,top:u}=V.getCellInfoFromXY(r,i,a);L(d),L(l),L(u);var{cellHorizontalPadding:c}=o,m=jv+2*c,v=Math.max(d+jv*t,a.gridX),g=a.gridY+u;return{left:v,top:g,width:m,height:l}}}const YI=Wl,qI="12px Fira Sans, sans-serif",XI="#f0f0ee",QI="#1a171a",ue={"grid-bg":"#211f22",font:qI,white:XI,black:QI,"header-bg":"#2d2a2e","header-color":"#f0f0ee","header-height":"30px","header-separator-color":"#211f22","header-separator-hover-color":"#929192","header-hidden-separator-hover-color":"#4878ea","header-sort-bar-color":"#aa9af4","header-reverse-bar-color":"#548d29","header-bar-casing-color":"#211f22","header-font":"600 12px Fira Sans, sans-serif","row-height":"19px","row-background-colors":"#373438 #2d2a2e","selection-color":"rgba(118, 217, 228, 0.09)","selection-outline-color":"#76d9e4","selection-outline-casing-color":"#211f22","row-hover-bg":"#4b494c","selected-row-hover-bg":"rgba(118, 217, 228, 0.25)","scroll-bar-active-selection-tick-color":"rgba(118, 217, 228, 0.5)","scroll-bar-bg":"#322f33","scroll-bar-hover-bg":"#373438","scroll-bar-casing-color":"#555356","scroll-bar-corner-color":"#322f33","scroll-bar-color":"#5b5a5c","scroll-bar-hover-color":"#929192","scroll-bar-active-color":"#c0bfbf","text-color":"#f0f0ee","hyperlink-color":"#4878ea","positive-number-color":"#9edc6f","negative-number-color":"#f95d84","zero-number-color":"#fcd65b","date-color":"#fcd65b","pending-text-color":"#fde38d","error-text-color":"#f95d84","null-string-color":"#929192","filter-bar-active-bg":"#425175","filter-bar-active-color":"#4878ea","filter-bar-expanded-bg":"#373438","filter-bar-expanded-active-bg":"#313849","filter-bar-expanded-active-cell-bg":"#374d80","filter-bar-separator-color":"#929192","filter-bar-error-color":"#f95d84","filter-icon-color":"#4878ea","scrim-color":"#211f22","context-menu-sort-icon-color":"#aa9af4","context-menu-reverse-icon-color":"#548d29","linker-column-hover-bg":"rgba(118, 217, 228, 0.09)","tree-line-color":"#5b5a5c","tree-marker-color":"#c0bfbf","tree-marker-hover-color":"#fcfcfa","grouped-column-divider-color":"#1a171a","floating-grid-row-color":"#555356","floating-row-background-colors":"#403e41","floating-divider-inner-color":"#403e41","floating-divider-outer-color":"#211f22","overflow-button-color":"#c0bfbf","overflow-button-hover-color":"#fcfcfa","zero-line-color":"#5b5a5c","positive-bar-color":"#9edc6f","negative-bar-color":"#f95d84"};var ZI=Object.freeze({backgroundColor:ue["grid-bg"],white:ue.white,black:ue.black,font:ue.font,headerBackgroundColor:ue["header-bg"],headerColor:ue["header-color"],headerSeparatorColor:ue["header-separator-color"],headerSeparatorHoverColor:ue["header-separator-hover-color"],headerHiddenSeparatorHoverColor:ue["header-hidden-separator-hover-color"],headerSortBarColor:ue["header-sort-bar-color"],headerReverseBarColor:ue["header-reverse-bar-color"],headerBarCasingColor:ue["header-bar-casing-color"],headerFont:ue["header-font"],rowBackgroundColors:ue["row-background-colors"],rowHoverBackgroundColor:ue["row-hover-bg"],selectionColor:ue["selection-color"],selectionOutlineColor:ue["selection-outline-color"],selectionOutlineCasingColor:ue["selection-outline-casing-color"],selectedRowHoverBackgroundColor:ue["selected-row-hover-bg"],scrollBarBackgroundColor:ue["scroll-bar-bg"],scrollBarHoverBackgroundColor:ue["scroll-bar-hover-bg"],scrollBarCasingColor:ue["scroll-bar-casing-color"],scrollBarCornerColor:ue["scroll-bar-corner-color"],scrollBarColor:ue["scroll-bar-color"],scrollBarHoverColor:ue["scroll-bar-hover-color"],scrollBarActiveColor:ue["scroll-bar-active-color"],scrollBarSelectionTickColor:ue["selected-row-hover-bg"],scrollBarActiveSelectionTickColor:ue["scroll-bar-active-selection-tick-color"],textColor:ue["text-color"],hyperlinkColor:ue["hyperlink-color"],positiveNumberColor:ue["positive-number-color"],negativeNumberColor:ue["negative-number-color"],zeroNumberColor:ue["zero-number-color"],dateColor:ue["date-color"],pendingTextColor:ue["pending-text-color"],errorTextColor:ue["error-text-color"],nullStringColor:ue["null-string-color"],filterBarActiveBackgroundColor:ue["filter-bar-active-bg"],filterBarExpandedBackgroundColor:ue["filter-bar-expanded-bg"],filterBarExpandedActiveBackgroundColor:ue["filter-bar-expanded-active-bg"],filterBarExpandedActiveCellBackgroundColor:ue["filter-bar-expanded-active-cell-bg"],filterBarSeparatorColor:ue["filter-bar-separator-color"],filterBarActiveColor:ue["filter-bar-active-color"],filterBarErrorColor:ue["filter-bar-error-color"],filterIconColor:ue["filter-icon-color"],scrimColor:ue["scrim-color"],contextMenuSortIconColor:ue["context-menu-sort-icon-color"],contextMenuReverseIconColor:ue["context-menu-reverse-icon-color"],allowRowResize:!1,autoSelectRow:!0,gridColumnColor:null,gridRowColor:null,groupedColumnDividerColor:ue["grouped-column-divider-color"],columnHoverBackgroundColor:null,headerHorizontalPadding:12,scrollBarSize:13,scrollBarHoverSize:16,minScrollHandleSize:24,rowHeight:parseInt(ue["row-height"],10)||19,columnWidth:100,rowHeaderWidth:0,rowFooterWidth:60,columnHeaderHeight:parseInt(ue["header-height"],10)||30,filterBarHeight:30,filterBarCollapsedHeight:5,sortHeaderBarHeight:2,reverseHeaderBarHeight:4,filterBarHorizontalPadding:4,scrimBlurSize:25,minScrimTransitionTime:150,maxScrimTransitionTime:350,scrollSnapToRow:!0,linkerColumnHoverBackgroundColor:ue["linker-column-hover-bg"],treeLineColor:ue["tree-line-color"],treeMarkerColor:ue["tree-marker-color"],treeMarkerHoverColor:ue["tree-marker-hover-color"],floatingGridColumnColor:null,floatingGridRowColor:ue["floating-grid-row-color"],floatingRowBackgroundColors:ue["floating-row-background-colors"],floatingDividerInnerColor:ue["floating-divider-inner-color"],floatingDividerOuterColor:ue["floating-divider-outer-color"],overflowButtonColor:ue["overflow-button-color"],overflowButtonHoverColor:ue["overflow-button-hover-color"],zeroLineColor:ue["zero-line-color"],positiveBarColor:ue["positive-bar-color"],negativeBarColor:ue["negative-bar-color"]});const RC=ZI;function NC(n,e,t){return e=JI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function JI(n){var e=e_(n,"string");return typeof e=="symbol"?e:String(e)}function e_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Eu=ie.module("ColumnStatistics"),t_={SIZE:"Number of Rows"};class us extends w.Component{static getStatsLabel(e){var t;return(t=t_[e])!==null&&t!==void 0?t:e.split(" ").map(r=>r[0].toUpperCase()+r.substr(1).toLowerCase()).join(" ")}constructor(e){super(e),NC(this,"cancelablePromise",void 0),this.handleError=this.handleError.bind(this),this.handleGenerateStatistics=this.handleGenerateStatistics.bind(this),this.handleStatistics=this.handleStatistics.bind(this),this.cancelablePromise=null,this.state={error:null,loading:!1,statistics:null,numRows:0}}componentDidMount(){this.maybeGenerateStatistics()}componentWillUnmount(){this.cancelablePromise&&this.cancelablePromise.cancel()}maybeGenerateStatistics(){var{model:e}=this.props,t=e.rowCount-e.pendingRowCount;this.setState({numRows:t}),e.isColumnStatisticsAvailable?t<us.AUTO_GENERATE_LIMIT&&this.handleGenerateStatistics():this.setState({loading:!1})}handleGenerateStatistics(){this.setState({loading:!0});var{column:e,model:t}=this.props;this.cancelablePromise=Te.makeCancelable(t.columnStatistics(e)),this.cancelablePromise.then(this.handleStatistics).catch(this.handleError)}handleStatistics(e){Eu.debug("Received statistics",e);var{model:t,onStatistics:r}=this.props,i=[];e.statisticsMap.forEach((a,o)=>{i.push({operation:us.getStatsLabel(o),value:a,type:e.getType(o)})}),e.uniqueValues.forEach((a,o)=>{i.push({operation:o,className:"column-statistics-unique-value",value:a,type:"long"})}),this.setState({loading:!1,statistics:i,numRows:t.rowCount-t.pendingRowCount}),r()}handleError(e){if(e!=null&&Te.isCanceled(e)){Eu.debug("Called handleError on a cancelled promise result");return}Eu.error("Error generating statistics",e),this.setState({error:e,loading:!1,statistics:null})}render(){var{column:e,model:t}=this.props,{error:r,loading:i,statistics:a,numRows:o}=this.state,s=!i&&r==null&&a==null&&t.isColumnStatisticsAvailable,l=[],d=e.type.substring(e.type.lastIndexOf(".")+1),u=e.description===null?null:e.description;if(a!=null)for(var c=0;c<a.length;c+=1){var{operation:m,className:v,value:g,type:f}=a[c],p=f?t.displayString(g,f):t.displayString(g,e.type,e.name),C=h.createElement(h.Fragment,{key:m},h.createElement("div",{className:te("column-statistic-operation",v)},m),h.createElement("div",{className:"column-statistic-value"},p));l.push(C)}var b=ze(t)&&t.hasExpandableRows?"Expanded Rows":"Number of Rows",S=t.displayString(o,"long"),E=t.getColumnIndexByName(e.name);return h.createElement("div",{className:"column-statistics"},h.createElement("div",{className:"column-statistics-title"},e.name,h.createElement("span",{className:"column-statistics-type"}," (",d,")"),h.createElement(hd,{className:"column-statistics-copy",tooltip:"Copy column name",copy:e.name})),u!=null&&h.createElement("div",{className:"column-statistics-description"},u),E!=null&&!t.isColumnSortable(E)&&h.createElement("div",{className:"column-statistics-status"},h.createElement(re,{icon:US,className:"mr-1"}),"Not sortable"),E!=null&&!t.isColumnMovable(E)&&h.createElement("div",{className:"column-statistics-status"},h.createElement(re,{icon:t.isColumnFrozen(E)?$S:BS,className:"mr-1"}),t.isColumnFrozen(E)?"Frozen":"Not movable"),h.createElement("div",{className:"column-statistics-grid"},a==null&&h.createElement(h.Fragment,null,h.createElement("div",{className:"column-statistic-operation"},b),h.createElement("div",{className:"column-statistic-value"},S)),l),s&&h.createElement(j,{kind:"ghost",className:"px-0",onClick:this.handleGenerateStatistics},"Generate Stats"),r!=null&&h.createElement("div",{className:"error-message"},"".concat(r)),a&&!i&&h.createElement(j,{kind:"ghost",className:"px-0",onClick:this.handleGenerateStatistics,icon:h.createElement(re,{icon:kh,className:"mr-1"})},"Refresh"),i&&h.createElement("div",{className:"column-statistics-loading"},h.createElement(Hn,{className:"mr-2"}),"Calculating Stats..."))}}NC(us,"AUTO_GENERATE_LIMIT",1e5);const r_=us;function zv(n,e,t){return e=n_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function n_(n){var e=i_(n,"string");return typeof e=="symbol"?e:String(e)}function i_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Qs=ie.module("AdvancedFilterCreatorFilterItem");class cc extends w.PureComponent{static getLabelForFilter(e,t){try{if(H.isNumberType(e)||H.isCharType(e))return gp(t);if(H.isTextType(e))return vp(t);if(H.isDateType(e))return fp(t);if(H.isBooleanType(e))return x0(t);throw new Error("Unrecognized column type: ".concat(e))}catch(r){return Qs.warn(r),""}}constructor(e){super(e),zv(this,"typeDropdown",void 0),zv(this,"getCachedIsValid",fe((a,o,s,l,d)=>{try{return!s||d.makeAdvancedValueFilter(a,o,s,l)!=null}catch{return!1}})),this.handleDelete=this.handleDelete.bind(this),this.handleTypeChange=this.handleTypeChange.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.typeDropdown=null;var{value:t="",filterTypes:r,selectedType:i=r[0]}=e;this.state={selectedType:i,value:t}}componentDidMount(){var e;(e=this.typeDropdown)===null||e===void 0||e.focus()}componentDidUpdate(e){var{value:t,selectedType:r}=this.props;r!==void 0&&e.selectedType!==r&&this.setState({selectedType:r}),t!==void 0&&e.value!==t&&this.setState({value:t})}handleTypeChange(e){var t=e.target.value;Qs.debug2("typeChange",t),this.setState({selectedType:t});var{onChange:r}=this.props,{value:i}=this.state;i!=null&&i.length>0&&r(t,i)}handleValueChange(e){Qs.debug2("valueChange");var{value:t}=e.target;this.setState({value:t});var{onChange:r}=this.props,{selectedType:i}=this.state;i!=null&&r(i,t)}handleDelete(){Qs.debug("delete");var{onDelete:e}=this.props;e()}render(){for(var{column:e,filterTypes:t,formatter:r,tableUtils:i}=this.props,{selectedType:a,value:o}=this.state,s=!H.isBooleanType(e.type),l=[],d=this.getCachedIsValid(e,a,o,r.timeZone,i),u=0;u<t.length;u+=1){var c=t[u],m=cc.getLabelForFilter(e.type,c),v=h.createElement("option",{key:c,value:c},m);l.push(v)}return h.createElement("div",{className:"advanced-filter-creator-filter-item"},h.createElement("div",{className:"form-row"},h.createElement("div",{className:"form-group col"},h.createElement("select",{className:"form-control custom-select",value:a,onChange:this.handleTypeChange,ref:g=>{this.typeDropdown=g}},l)),s&&h.createElement("div",{className:"form-group col"},h.createElement("div",{className:"input-group"},h.createElement("input",{type:"text",className:te("form-control",{error:!d}),placeholder:"Enter value",value:o,onChange:this.handleValueChange}))),h.createElement("div",{className:"form-group col-1 px-0"},h.createElement(j,{kind:"ghost",className:"w-100 h-100 p-0 m-0",onClick:this.handleDelete,icon:Hr,tooltip:"Remove Filter"}))))}}const a_=cc;function uh(n,e,t){return e=o_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function o_(n){var e=s_(n,"string");return typeof e=="symbol"?e:String(e)}function s_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Kv=ie.module("AdvancedFilterCreatorSelectValueList");class hs extends w.PureComponent{static indexOf(e,t){for(var r=0;r<t.length;r+=1){var i=t[r];if(i===e||i!=null&&i.valueOf!=null&&e!=null&&e.valueOf!=null&&i.valueOf()===e.valueOf())return r}return-1}constructor(e){super(e),uh(this,"dh",void 0),uh(this,"list",void 0),this.handleSelect=this.handleSelect.bind(this),this.handleViewportChange=this.handleViewportChange.bind(this),this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this);var{selectedValues:t,dh:r}=this.props;this.dh=r,this.list=null,this.state={itemCount:0,items:[],offset:0,selectedValues:t,isLoading:!0}}componentDidMount(){var{table:e}=this.props;e&&this.startListening(e)}componentDidUpdate(e){var{filters:t,invertSelection:r,selectedValues:i,table:a}=this.props;e.table!==a&&(e.table&&this.stopListening(e.table),a&&this.startListening(a),this.resetViewport()),e.invertSelection!==r&&this.setState({selectedValues:[]},this.handleSelectionUpdate),e.selectedValues!==i&&this.setState({selectedValues:i},this.handleSelectionUpdate),e.filters!==t&&(a?.applyFilter(t),this.resetViewport())}componentWillUnmount(){var{table:e}=this.props;e&&this.stopListening(e)}handleSelect(e,t){var{invertSelection:r}=this.props,{selectedValues:i}=this.state;i=[...i];var a=hs.indexOf(t,i);a>=0?i.splice(a,1):i.push(t);var o=a<0;r&&(o=!o);var{offset:s}=this.state,{items:l}=this.state;l=[...l];var d=e-s;d>=0&&d<l.length&&(l[d].isSelected=o),this.setState({items:l,selectedValues:i});var{onChange:u}=this.props;u(i,r)}handleViewportChange(e,t){this.updateViewport(e,t)}handleSelectionUpdate(){this.updateItemSelection()}handleTableUpdate(e){var{table:t,formatter:r}=this.props;if(t){for(var i=e.detail,{offset:a}=i,o=[],s=t.columns[0],l=0;l<i.rows.length;l+=1){var d=i.rows[l],u=d.get(s),c=void 0;u==null?c=h.createElement("i",{className:"text-muted"},"null"):u===""?c=h.createElement("i",{className:"text-muted"},"empty"):c=r.getFormattedString(u,s.type,s.name);var m=this.isValueSelected(u);o.push({displayValue:c,value:u,isSelected:m})}Kv.debug2("Received table update:",a,o.length);var v=t.size;this.setState({itemCount:v,items:o,offset:a,isLoading:!1})}}isValueSelected(e){var{invertSelection:t}=this.props,{selectedValues:r}=this.state,i=hs.indexOf(e,r);return t?i<0:i>=0}startListening(e){e.addEventListener(this.dh.Table.EVENT_UPDATED,this.handleTableUpdate)}stopListening(e){e.removeEventListener(this.dh.Table.EVENT_UPDATED,this.handleTableUpdate)}resetViewport(){this.list&&this.list.topRow!=null&&this.list.bottomRow!=null&&this.updateViewport(this.list.topRow,this.list.bottomRow,!0)}updateItemSelection(){var{items:e}=this.state;e=[...e];for(var t=0;t<e.length;t+=1){var r=e[t],{value:i}=r;r.isSelected=this.isValueSelected(i)}this.setState({items:e})}updateViewport(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{table:i}=this.props;if(i!=null){r&&this.setState({isLoading:!0});var a=t-e+1,o=Math.max(0,e-a*3),s=Math.max(o,t+a*3);Kv.debug2("Setting viewport",o,",",s),i.setViewport(o,s)}}render(){var{offset:e,isLoading:t,items:r,itemCount:i}=this.state;return h.createElement("div",{className:"select-value-list-wrapper"},h.createElement(Lw,{itemCount:i,items:r,offset:e,onSelect:this.handleSelect,onViewportChange:this.handleViewportChange,ref:a=>{this.list=a}}),h.createElement(kr,{in:t,timeout:250,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"loading-list"},h.createElement(Hn,{className:"loading-spinner-large"}))))}}uh(hs,"defaultProps",{invertSelection:!0,selectedValues:[],onChange:()=>{}});const l_=hs;function es(n,e,t){return e=d_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function d_(n){var e=u_(n,"string");return typeof e=="symbol"?e:String(e)}function u_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ps extends w.PureComponent{constructor(e){super(e),es(this,"searchTablePromise",void 0),es(this,"tableUtils",void 0),es(this,"updateFilterTimer",void 0),this.handleSelectAllClick=this.handleSelectAllClick.bind(this),this.handleClearAllClick=this.handleClearAllClick.bind(this),this.handleListChange=this.handleListChange.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleUpdateFilterTimeout=this.handleUpdateFilterTimeout.bind(this);var{dh:t,invertSelection:r,selectedValues:i}=e;this.tableUtils=new H(t),this.state={filters:[],invertSelection:r,selectedValues:i,searchText:""}}componentDidMount(){this.initSearchTable()}componentDidUpdate(e,t){var{invertSelection:r,selectedValues:i,table:a}=this.props;e.table!==a&&this.initSearchTable(),e.invertSelection!==r&&this.setState({invertSelection:r}),e.selectedValues!==i&&this.setState({selectedValues:i});var{table:o,searchText:s}=this.state;o!==t.table&&(t.table!=null&&t.table.close(),o!=null&&this.startUpdateFilterTimer()),s!==t.searchText&&this.startUpdateFilterTimer()}componentWillUnmount(){var{table:e}=this.state;e?.close(),this.searchTablePromise=void 0,this.stopUpdateFilterTimer()}getColumnName(){var{table:e}=this.props;return e!=null?e.columns[0].name:""}getDisplayedValuesCount(){var{invertSelection:e,selectedValues:t,table:r}=this.state;return r==null?null:e?r.totalSize-t.length:t.length}getDisplayedValueText(){var e=this.getDisplayedValuesCount(),{table:t}=this.state,{formatter:r}=this.props;if(e!=null&&t!=null){var i=r.getFormattedString(e,"long"),a=r.getFormattedString(t.totalSize,"long"),o="";return e<1e6&&(o="Displaying "),"".concat(o).concat(i," of ").concat(a)}return null}initSearchTable(){var{table:e}=this.props;if(e!=null){var t=e.copy();this.searchTablePromise=t,this.searchTablePromise.then(r=>{this.searchTablePromise===t?(this.setState({table:r}),this.searchTablePromise=void 0):r.close()})}}handleListChange(e,t){this.setState({selectedValues:e,invertSelection:t});var{onChange:r}=this.props;r(e,t)}handleSearchChange(e){var t=e.target.value;this.setState({searchText:t})}handleSelectAllClick(){this.resetSelection(!0)}handleClearAllClick(){this.resetSelection(!1)}handleUpdateFilterTimeout(){this.updateFilterTimer=void 0,this.updateTableFilter()}resetSelection(e){var t=[];this.setState({invertSelection:e,selectedValues:t});var{onChange:r}=this.props;r(t,e)}startUpdateFilterTimer(){this.stopUpdateFilterTimer(),this.updateFilterTimer=setTimeout(this.handleUpdateFilterTimeout,Ps.searchDebounceTime)}stopUpdateFilterTimer(){this.updateFilterTimer!=null&&(clearTimeout(this.updateFilterTimer),this.updateFilterTimer=void 0)}updateTableFilter(){var{table:e,searchText:t}=this.state,{timeZone:r}=this.props,{tableUtils:i}=this,a=e?.columns[0],o=[];if(a!=null){var s;if(t.length>0){var l=null;H.isCharType(a.type)?l=i.makeQuickFilter(a,t):H.isTextType(a.type)?l=i.makeQuickFilter(a,"~".concat(t),r):l=i.makeQuickFilter(a,">=".concat(t),r),l!=null?o.push(l):s="Invalid search text"}this.setState({filters:o,error:s})}}render(){var{error:e,filters:t,invertSelection:r,selectedValues:i,searchText:a,table:o}=this.state,{dh:s,formatter:l,showSearch:d}=this.props,u=this.getColumnName(),c=this.getDisplayedValueText(),m=u?"Find ".concat(u,"..."):"";return h.createElement("div",{className:"advanced-filter-creator-select-value"},h.createElement("div",{className:d?"form-group":""},h.createElement("label",{htmlFor:"advanced-filter-creator-select-value-input"},"Select Values"),d&&h.createElement("input",{type:"text",className:te("form-control",{"is-invalid":e!=null}),id:"advanced-filter-creator-select-value-input",placeholder:m,value:a,onChange:this.handleSearchChange})),h.createElement(l_,{dh:s,table:o,filters:t,invertSelection:r,selectedValues:i,formatter:l,onChange:this.handleListChange}),h.createElement("div",{className:"advanced-filter-creator-select-meta-row"},h.createElement("div",null,h.createElement(j,{kind:"ghost",onClick:this.handleSelectAllClick},"Select All"),h.createElement(j,{kind:"ghost",onClick:this.handleClearAllClick},"Clear")),h.createElement(kr,{in:c!=null,timeout:250,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"row-count-info"},c))))}}es(Ps,"searchDebounceTime",250);es(Ps,"defaultProps",{invertSelection:!0,selectedValues:[],onChange:()=>{},showSearch:!0});const h_=Ps;function Ka(n,e,t){return e=c_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function c_(n){var e=m_(n,"string");return typeof e=="symbol"?e:String(e)}function m_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Lo=ie.module("AdvancedFilterCreator");class In extends w.PureComponent{static makeFilterItem(){return{key:Xe()}}constructor(e){var t,r;super(e),Ka(this,"focusTrapContainer",void 0),Ka(this,"debounceTimeout",void 0),Ka(this,"valuesTablePromise",void 0),Ka(this,"getFilterTypes",fe(v=>H.getFilterTypes(v))),this.handleAddAnd=this.handleAddAnd.bind(this),this.handleAddOr=this.handleAddOr.bind(this),this.handleChangeFilterOperator=this.handleChangeFilterOperator.bind(this),this.handleDone=this.handleDone.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterDelete=this.handleFilterDelete.bind(this),this.handleSelectValueChange=this.handleSelectValueChange.bind(this),this.handleReset=this.handleReset.bind(this),this.handleSortDown=this.handleSortDown.bind(this),this.handleSortUp=this.handleSortUp.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleFocusTrapStart=this.handleFocusTrapStart.bind(this),this.handleFocusTrapEnd=this.handleFocusTrapEnd.bind(this),this.handleUpdateTimeout=this.handleUpdateTimeout.bind(this),this.focusTrapContainer=h.createRef();var{model:i,column:a,options:o}=e,{filterOperators:s,invertSelection:l,selectedValues:d}=o,u=(t=(r=o.filterItems)===null||r===void 0?void 0:r.map(v=>{var{selectedType:g,value:f}=v;return{selectedType:g,value:f,key:Xe()}}))!==null&&t!==void 0?t:[];u.length===0&&u.push(In.makeFilterItem()),s==null&&(s=[]),l==null&&(l=!0),d==null&&(d=[]);var c=i.getColumnIndexByName(a.name);L(c);var m=i.isColumnSortable(c);this.state={filterItems:u,filterOperators:s,invertSelection:l,selectedValues:d,valuesTableError:null,valuesTable:void 0,isSortable:m}}componentDidMount(){this.initValuesTable()}componentWillUnmount(){this.debounceTimeout!=null&&(clearTimeout(this.debounceTimeout),this.sendUpdate()),this.valuesTablePromise!=null&&this.valuesTablePromise.cancel()}getFilterChangeHandler(e){return this.handleFilterChange.bind(this,e)}getFilterDeleteHandler(e){return this.handleFilterDelete.bind(this,e)}initValuesTable(){var{model:e,column:t}=this.props;if(!e.isValuesTableAvailable){Lo.debug("No values table for this model, just ignore");return}this.valuesTablePromise=H.makeCancelableTablePromise(e.valuesTable(t)),this.valuesTablePromise.then(r=>{var i;if(!((i=r.columns[0].isSortable)!==null&&i!==void 0)||i){var a=r.columns[0].sort().asc();r.applySort([a])}this.setState({valuesTable:r})}).catch(r=>{Te.isCanceled(r)||(Lo.error("Unable to open values table",r),this.setState({valuesTableError:r}))})}handleFocusTrapEnd(){var e,t;((e=this.focusTrapContainer)===null||e===void 0||(t=e.current)===null||t===void 0?void 0:t.querySelector("button,select,input,textarea")).focus()}handleFocusTrapStart(){var e,t,r=(e=this.focusTrapContainer)===null||e===void 0||(t=e.current)===null||t===void 0?void 0:t.querySelectorAll("button,select,input,textarea");if(r&&r.length>0){var i=r[r.length-1];i.focus()}}handleAddAnd(){var{filterItems:e,filterOperators:t}=this.state;e=e.concat(In.makeFilterItem()),t=t.concat(ei.and),this.setState({filterItems:e,filterOperators:t})}handleAddOr(){var{filterItems:e,filterOperators:t}=this.state;e=e.concat(In.makeFilterItem()),t=t.concat(ei.or),this.setState({filterItems:e,filterOperators:t})}handleChangeFilterOperator(e,t){var{filterOperators:r}=this.state;r=[...r],kw(t),r[e]=t,this.setState({filterOperators:r}),this.startUpdateTimer()}handleFilterChange(e,t,r){var{filterItems:i}=this.state;i=[...i];var{key:a}=i[e];i[e]={key:a,selectedType:t,value:r},this.setState({filterItems:i}),this.startUpdateTimer()}handleFilterDelete(e){var{filterItems:t,filterOperators:r}=this.state;t=[...t],r=[...r],e<t.length&&t.splice(e,1),e<r.length?r.splice(e,1):e===r.length&&r.splice(r.length-1,1),t.length===0&&t.push(In.makeFilterItem()),this.setState({filterItems:t,filterOperators:r}),this.startUpdateTimer()}handleSelectValueChange(e,t){this.setState({selectedValues:e,invertSelection:t}),this.startUpdateTimer()}handleReset(){Lo.debug("Resetting Advanced Filter"),this.setState({filterItems:[In.makeFilterItem()],filterOperators:[],selectedValues:[],invertSelection:!0}),this.startUpdateTimer()}handleSortDown(e){var t=Ki.isModifierKeyDown(e);this.sortTable(H.sortDirection.descending,t)}handleSortUp(e){var t=Ki.isModifierKeyDown(e);this.sortTable(H.sortDirection.ascending,t)}handleSubmit(e){Lo.debug("Submitting Advanced Filter"),this.stopUpdateTimer(),this.sendUpdate(),e.preventDefault()}handleDone(e){Lo.debug("Submitting and Closing Advanced Filter"),this.stopUpdateTimer(),this.sendUpdate();var{onDone:t}=this.props;t(),e.preventDefault()}handleUpdateTimeout(){this.debounceTimeout=void 0,this.sendUpdate()}shouldShowAddFilter(){var{filterItems:e}=this.state;if(e.length===0)return!1;var t=e[e.length-1],{selectedType:r,value:i}=t;return r!=null&&r.length>0&&i!=null&&i.length>0}sortTable(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{column:r,onSortChange:i}=this.props,{isSortable:a}=this.state;a&&i(r,e,t)}startUpdateTimer(){this.stopUpdateTimer(),this.debounceTimeout=setTimeout(this.handleUpdateTimeout,In.debounceFilterUpdate)}stopUpdateTimer(){this.debounceTimeout!==void 0&&(clearTimeout(this.debounceTimeout),this.debounceTimeout=void 0)}sendUpdate(){var{filterItems:e,filterOperators:t,invertSelection:r,selectedValues:i}=this.state,{column:a,onFilterChange:o,model:s,tableUtils:l}=this.props,{formatter:d}=s,u=e.filter(g=>{var{selectedType:f,value:p}=g;return f!=null&&p!=null&&p!==""}),c=t.filter((g,f)=>g!=null&&e[f].selectedType!=null&&e[f].value!=null&&e[f].value!=="").slice(0,u.length-1),m={filterItems:u,filterOperators:c,invertSelection:r,selectedValues:i},v=l.makeAdvancedFilter(a,m,d.timeZone);o(a,v,m)}render(){var e=this,{column:t,model:r,sortDirection:i,formatter:a,tableUtils:o}=this.props,{filterItems:s,filterOperators:l,invertSelection:d,selectedValues:u,valuesTable:c,valuesTableError:m,isSortable:v}=this.state,{dh:g,isValuesTableAvailable:f}=r,p=H.isBooleanType(t.type),C=H.isDateType(t.type),b=this.getFilterTypes(t.type),S=t.type.substring(t.type.lastIndexOf(".")+1),E=[];if(!p&&b.length)for(var y=function(R){var _=s[R],{key:M,selectedType:A,value:B}=_,$=h.createElement(a_,{key:M,column:t,filterTypes:b,onChange:e.getFilterChangeHandler(R),onDelete:e.getFilterDeleteHandler(R),selectedType:A,value:B,formatter:a,tableUtils:o});if(E.push($),R<l.length){var z=l[R],G=z===ei.and,K=h.createElement("div",{key:"filterOperator".concat(M),className:"form-row justify-content-end advanced-filter-creator-filter-operator"},h.createElement(j,{kind:"ghost",className:te("filter-operator",{active:G}),onClick:()=>e.handleChangeFilterOperator(R,ei.and)},"AND"),h.createElement(j,{kind:"ghost",className:te("filter-operator",{active:!G}),onClick:()=>e.handleChangeFilterOperator(R,ei.or)},"OR"));E.push(K)}},T=0;T<s.length;T+=1)y(T);var O=this.shouldShowAddFilter(),D=h.createElement("div",{key:"addFilterItem",className:te("form-row justify-content-end add-filter-item",{hidden:!O})},h.createElement("span",{className:"text-muted"},h.createElement(re,{icon:Yi})),h.createElement(j,{kind:"ghost",className:"btn-filter-item",onClick:this.handleAddAnd,disabled:!O,tooltip:"Add filter with AND"},"AND"),h.createElement(j,{kind:"ghost",className:"btn-filter-item",onClick:this.handleAddOr,disabled:!O,tooltip:"Add filter with OR"},"OR"));return E.push(D),h.createElement("div",{className:"advanced-filter-creator",role:"presentation"},h.createElement("div",{tabIndex:0,onFocus:this.handleFocusTrapStart}),h.createElement("form",{onSubmit:this.handleSubmit,ref:this.focusTrapContainer},h.createElement("div",{className:"title-bar"},h.createElement("h6",{className:"advanced-filter-title"},"Advanced Filters"),h.createElement("div",{className:"advanced-filter-menu-buttons"},h.createElement(j,{kind:"ghost",className:te("sort-operator",{active:i===H.sortDirection.descending}),onClick:this.handleSortDown,icon:am,tooltip:v?"Sort ".concat(t.name," Descending"):"Not sortable",disabled:!v}),h.createElement(j,{kind:"ghost",className:te("sort-operator",{active:i===H.sortDirection.ascending}),onClick:this.handleSortUp,icon:h.createElement(re,{icon:am,rotation:180}),tooltip:v?"Sort ".concat(t.name," Ascending"):"Not sortable",disabled:!v}))),h.createElement("hr",null),h.createElement("div",{className:"advanced-filter-column-name"},t.name," ",h.createElement("span",{className:"column-type"},"(",S,")")),E,f&&m==null&&h.createElement(h.Fragment,null,!p&&h.createElement("hr",null),h.createElement("div",{className:"form-group"},h.createElement(h_,{dh:g,table:c,onChange:this.handleSelectValueChange,invertSelection:d,selectedValues:u,formatter:a,showSearch:!C,timeZone:a.timeZone}))),h.createElement("div",{className:"form-row justify-content-end"},h.createElement(j,{kind:"secondary",className:"mr-2",onClick:this.handleReset},"Reset"),h.createElement(j,{kind:"primary",onClick:this.handleDone},"Done"))),h.createElement("div",{tabIndex:0,onFocus:this.handleFocusTrapEnd}))}}Ka(In,"debounceFilterUpdate",250);Ka(In,"defaultProps",{options:{filterItems:null,filterOperators:null,invertSelection:!0,selectedValues:[]},sortDirection:null});const v_=In;function Yv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function qv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yv(Object(t),!0).forEach(function(r){g_(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function g_(n,e,t){return e=f_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function f_(n){var e=p_(n,"string");return typeof e=="symbol"?e:String(e)}function p_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Xv=ie.module("Aggregations");function C_(n){var{isRollup:e,settings:t,onChange:r,onEdit:i}=n,{aggregations:a,showOnTop:o}=t,s=w.useMemo(()=>zN.filter(R=>!a.some(_=>_.operation===R)),[a]),[l,d]=w.useState(s[0]),[u,c]=w.useState([]),m=w.useCallback(R=>{r(qv(qv({},t),R))},[r,t]),v=w.useCallback(R=>{m({aggregations:R})},[m]),g=w.useCallback(R=>{m({showOnTop:R})},[m]),f=w.useCallback(()=>{Xv.debug("handleDragStart"),bn.startDragging()},[]),p=w.useCallback(R=>{var{destination:_,source:M}=R;if(Xv.debug("handleDragEnd",_,M),bn.stopDragging(),_!==null){var A=_.index;M.index<_.index&&(A+=1);var B=[...a],$=bn.reorder(B,u,B,A),z=bn.adjustDestinationIndex(A,u),G=[[z,z+$.length-1]];v(B),c(G)}},[v,a,u,c]),C=w.useCallback(R=>{d(R)},[d]),b=w.useCallback(()=>{v([...a,{operation:l,selected:[],invert:!0}])},[a,l,v]),S=w.useCallback(R=>{v(a.filter((_,M)=>M!==R))},[a,v]),E=w.useCallback(R=>{c(R)},[c]),y=w.useCallback(R=>{var _=a[R];Bi.isRollupOperation(_.operation)||i(_)},[a,i]),T=w.useCallback(R=>{g(R.target.value==="true")},[g]);w.useEffect(function(){s.length>0&&!s.includes(l)&&d(s[0])},[s,l]);var O=w.useCallback(R=>{var{item:_,itemIndex:M,isClone:A=!1,selectedCount:B}=R,$=_.operation,z=A?"".concat(B):void 0,G=A?"item-list-item-clone":void 0,K=Bi.isRollupOperation(_.operation),X=!A&&!K;return h.createElement(h.Fragment,null,h.createElement("div",{className:te("item-list-item-content","draggable-item-list-item-content",G)},h.createElement("span",{className:"title"},$,!e&&K&&h.createElement("span",{className:"small text-warning"},h.createElement(re,{icon:$f})," Requires rollup")),vn.renderBadge({text:z}),vn.renderHandle()),!A&&h.createElement(h.Fragment,null,h.createElement(j,{kind:"ghost",className:"btn-edit",icon:ps,tooltip:"Edit Columns",onClick:()=>i(_),disabled:!X}),h.createElement(j,{kind:"ghost",className:"btn-delete",icon:Hr,tooltip:"Delete Aggregation",onClick:()=>S(M)})))},[S,i,e]),D=s.length>0,P=a.length>0;return h.createElement("div",{className:"aggregations"},D&&h.createElement("div",{className:"form-inline"},h.createElement(xw,{onChange:C,value:l},s.map(R=>h.createElement(Hw,{value:R,key:R},R))),h.createElement("button",{type:"button",className:"btn btn-link btn-add",onClick:b},h.createElement(re,{icon:Yi}),"Add Aggregation")),D&&P&&h.createElement("hr",null),P&&h.createElement(h.Fragment,null,!e&&h.createElement("div",{className:"form-inline"},h.createElement("label",null,"Placement: "),h.createElement(cd,{onChange:T,value:"".concat(o)},h.createElement(si,{value:"true"},"Top"),h.createElement(si,{value:"false"},"Bottom"))),h.createElement(nd,{onDragStart:f,onDragEnd:p},h.createElement(vn,{className:"selected-aggregations",itemCount:a.length,items:a,renderItem:O,offset:0,onSelectionChange:E,onSelect:y,selectedRanges:u,isMultiSelect:!0}))))}function Qv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ti(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qv(Object(t),!0).forEach(function(r){b_(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Qv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function b_(n,e,t){return e=S_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S_(n){var e=w_(n,"string");return typeof e=="symbol"?e:String(e)}function w_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var cn;(function(n){n[n.NONE=0]="NONE",n[n.ASCENDING=1]="ASCENDING",n[n.DESCENDING=2]="DESCENDING"})(cn||(cn={}));var E_=30;function y_(n){var{aggregation:e,columns:t,onChange:r}=n,[i,a]=w.useState(-1),[o,s]=w.useState(-1),[l,d]=w.useState(cn.NONE),{invert:u,selected:c}=e,m=w.useRef(null),v=w.useCallback(T=>c.includes(T)?!u:u,[u,c]),g=w.useMemo(()=>{var T=dc(t,e.operation);return l!==cn.NONE&&(T=H.sortColumns(T,l===cn.ASCENDING)),T},[t,e.operation,l]),f=w.useMemo(()=>i>=0?g.slice(i,o+1).map(T=>({value:T.name,displayValue:T.name,isSelected:v(T.name)})):[],[g,v,o,i]),p=w.useCallback(T=>{var{name:O}=g[T],D=c.indexOf(O),P=[...c],R=u;D>=0?P.splice(D,1):(P.push(O),P.length===g.length&&(P=[],R=!u)),r(Ti(Ti({},e),{},{selected:P,invert:R}))},[e,u,g,c,r]),C=w.useCallback(()=>{d(cn.NONE),r(Ti(Ti({},e),{},{selected:[],invert:!0}))},[e,r]),b=w.useCallback((T,O)=>{a(T),s(O)},[a,s]),S=w.useCallback(()=>{c.length===0?r(Ti(Ti({},e),{},{invert:!u})):r(Ti(Ti({},e),{},{selected:[],invert:!0}))},[e,u,r,c]),E=c.length===0?u:null,y=c.length!==0||!u||l!==cn.NONE;return h.createElement("div",{role:"menu",className:"aggregation-edit"},h.createElement("div",{className:"top-menu"},h.createElement("div",{className:"form-inline"},h.createElement(rn,{checked:E,onChange:S},"Toggle All"),h.createElement("div",{className:"spacer"}),h.createElement(kr,{in:y,timeout:et.transitionSlowMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(j,{kind:"ghost",className:"btn-reset",onClick:C},"Reset")),h.createElement(j,{kind:"ghost",className:te({active:l===cn.ASCENDING}),icon:xh,tooltip:"Sort ascending",onClick:()=>d(cn.ASCENDING)}),h.createElement(j,{kind:"ghost",className:te({active:l===cn.DESCENDING}),icon:Hh,tooltip:"Sort descending",onClick:()=>d(cn.DESCENDING)}))),h.createElement("div",{className:"aggregation-edit-item-list"},h.createElement(io,{itemCount:g.length,items:f,offset:i,renderItem:T=>{var{item:O}=T;return h.createElement(rn,{checked:v(O.value)},O.displayValue)},onSelect:p,onViewportChange:b,rowHeight:E_,focusSelector:"input",ref:m})))}function hh(){return hh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},hh.apply(this,arguments)}function T_(n){return w.createElement("svg",hh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#7DA4FF",d:"M8 26h4v15H8zM15 17h4v24h-4zM22 21h4v20h-4zM29 17h4v24h-4zM36 11h4v30h-4z"})))}function ch(){return ch=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ch.apply(this,arguments)}function P_(n){return w.createElement("svg",ch({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#7DA4FF",d:"M7 34h4v8H7zM12 31h4v11h-4zM17 27h4v15h-4zM22 22h4v20h-4zM27 27h4v15h-4zM32 29h4v13h-4zM37 31h4v11h-4z"})))}function mh(){return mh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},mh.apply(this,arguments)}function O_(n){return w.createElement("svg",mh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M4 4h1v40H4zM44 43v1H5v-1z"}),w.createElement("path",{stroke:"#7DA4FF",d:"M7.984 32.44l7.982-11.378 5.273 3.739 9.952-10.838 2.826 1.894 7.45-5.802"}),w.createElement("path",{stroke:"#BECDEF",d:"M8.244 37.926L17 33.496l5 .87 10.637-10.35 10.615-1.381"})))}function vh(){return vh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},vh.apply(this,arguments)}function D_(n){return w.createElement("svg",vh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{d:"M24 10c7.732 0 14 6.268 14 14s-6.268 14-14 14-14-6.268-14-14h14V10z",fill:"#80A6FF"}),w.createElement("path",{d:"M10 24c0-7.732 6.268-14 14-14v14H10z",fill:"#C1C0C0"})))}function gh(){return gh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},gh.apply(this,arguments)}function R_(n){return w.createElement("svg",gh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#939293",d:"M44 34v1H4v-1zM44 25v1H4v-1zM44 16v1H4v-1z"}),w.createElement("circle",{fill:"#7DA4FF",cx:9.5,cy:37.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:16.5,cy:30.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:22.5,cy:36.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:28.5,cy:30.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:15.5,cy:38.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:23.5,cy:25.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:19.5,cy:19.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:29.5,cy:19.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:32.5,cy:26.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:36.5,cy:13.5,r:1.5})))}function fh(){return fh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},fh.apply(this,arguments)}function N_(n){return w.createElement("svg",fh({width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("rect",{width:"48",height:"48",fill:"none"}),w.createElement("rect",{x:"26",y:"10",width:"15",height:"4",fill:"#9FDE70"}),w.createElement("rect",{x:"26",y:"22",width:"15",height:"4",fill:"#9FDE70"}),w.createElement("rect",{x:"26",y:"28",width:"15",height:"4",fill:"#FFD95C"}),w.createElement("rect",{x:"26",y:"34",width:"15",height:"4",fill:"#9FDE70"}))}function ph(){return ph=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ph.apply(this,arguments)}function F_(n){return w.createElement("svg",ph({width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("rect",{width:"48",height:"48",fill:"none"}),w.createElement("rect",{x:"4",y:"16",width:"40",height:"4",fill:"#FFD95C"}),w.createElement("rect",{x:"4",y:"10",width:"40",height:"4",fill:"#78DCE8"}),w.createElement("rect",{x:"4",y:"34",width:"40",height:"4",fill:"#78DCE8"}))}var Zv=ie.module("ChartBuilder");class mn extends w.PureComponent{static getMaxSeriesCount(e,t){switch(t){case e.plot.SeriesPlotStyle.PIE:return 1;case e.plot.SeriesPlotStyle.HISTOGRAM:return 0;default:return 100}}static makeSeriesItem(e){return{id:Xe.generate(),value:e}}static makeDefaultSeriesItems(e,t,r){var i=mn.getMaxSeriesCount(e,t);if(i===0||r==null||r.length===0)return[];var a=r.length>1?r[1].name:r[0].name;return[mn.makeSeriesItem(a)]}static getDefaultXAxis(e,t){return t!=null&&t.length>0?t[0].name:null}constructor(e){super(e),this.handleAddSeries=this.handleAddSeries.bind(this),this.handleLinkStateChange=this.handleLinkStateChange.bind(this),this.handleReset=this.handleReset.bind(this),this.handleSeriesChange=this.handleSeriesChange.bind(this),this.handleSeriesDeleteClick=this.handleSeriesDeleteClick.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleTypeClick=this.handleTypeClick.bind(this),this.handleXAxisChange=this.handleXAxisChange.bind(this),this.sendChange=this.sendChange.bind(this);var{model:t}=e,{columns:r,dh:i}=t,a=this.getTypes()[0],o=mn.getDefaultXAxis(a,r),s=mn.makeDefaultSeriesItems(i,a,r);this.state={type:a,seriesItems:s,xAxis:o,isLinked:!0}}getTypes(){var{model:e}=this.props,{dh:t}=e;return[t.plot.SeriesPlotStyle.LINE,t.plot.SeriesPlotStyle.BAR,t.plot.SeriesPlotStyle.SCATTER,t.plot.SeriesPlotStyle.PIE]}getTypeName(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.LINE:return"Line";case r.plot.SeriesPlotStyle.BAR:return"Bar";case r.plot.SeriesPlotStyle.SCATTER:return"Scatter";case r.plot.SeriesPlotStyle.PIE:return"Pie";case r.plot.SeriesPlotStyle.HISTOGRAM:return"Histogram";default:return e}}getTypeIcon(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.LINE:return h.createElement(O_,null);case r.plot.SeriesPlotStyle.BAR:return h.createElement(T_,null);case r.plot.SeriesPlotStyle.SCATTER:return h.createElement(R_,null);case r.plot.SeriesPlotStyle.PIE:return h.createElement(D_,null);case r.plot.SeriesPlotStyle.HISTOGRAM:return h.createElement(P_,null);default:return null}}getXAxisLabel(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.PIE:return"Labels";case r.plot.SeriesPlotStyle.HISTOGRAM:return"Data";default:return"X-Axis"}}getSeriesLabel(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.PIE:return"Values";default:return"Series"}}handleAddSeries(){this.setState(e=>{var{seriesItems:t}=e,r=[...t],{model:i}=this.props,{columns:a}=i;return r.push({id:Xe.generate(),value:a[0].name}),{seriesItems:r}},this.sendChange)}handleLinkStateChange(e){this.setState({isLinked:e.target.value==="true"},this.sendChange)}handleReset(){var{model:e}=this.props,{columns:t,dh:r}=e,i=this.getTypes()[0],a=mn.getDefaultXAxis(i,t),o=mn.makeDefaultSeriesItems(r,i,t),s=!0;this.setState({type:i,seriesItems:o,xAxis:a,isLinked:s},this.sendChange)}handleSeriesChange(e){var{value:t}=e.target,r=e.target.getAttribute("data-index"),i=parseInt(r,10);this.setState(a=>{var{seriesItems:o}=a;return o=[...o],o[i].value=t,{seriesItems:o}},this.sendChange)}handleSeriesDeleteClick(e){var t=e,r=t.target.getAttribute("data-index"),i=parseInt(r,10);this.setState(a=>{var{seriesItems:o}=a,s=[...o];return s.splice(i,1),{seriesItems:s}},this.sendChange)}handleSubmit(e){e.preventDefault();var{onSubmit:t}=this.props,{type:r,seriesItems:i,xAxis:a,isLinked:o}=this.state,s=i.map(l=>l.value);t({type:r,series:s,xAxis:a,isLinked:o})}handleTypeClick(e){var t=e,r=t.target.getAttribute("data-index"),i=parseInt(r,10),a=this.getTypes()[i];Zv.debug2("handleTypeSelect",a),this.setState(o=>{var{model:s}=this.props,{dh:l}=s,d=mn.getMaxSeriesCount(l,a),{seriesItems:u}=o;if(u=u.slice(0,d),u.length===0&&d>0){var{columns:c}=s;u=mn.makeDefaultSeriesItems(l,a,c)}return{type:a,seriesItems:u}},this.sendChange)}handleXAxisChange(e){var t=e.target.value;Zv.debug2("x-axis change",t),this.setState({xAxis:t},this.sendChange)}sendChange(){var{onChange:e}=this.props,{isLinked:t,type:r,seriesItems:i,xAxis:a}=this.state,o=i.map(s=>s.value);e({type:r,series:o,xAxis:a,isLinked:t})}render(){var{model:e}=this.props,{columns:t,dh:r}=e,{seriesItems:i,type:a,xAxis:o,isLinked:s}=this.state,l=mn.getMaxSeriesCount(r,a),d=this.getXAxisLabel(a),u=this.getSeriesLabel(a),c=i.length>0,m=i.length<l;return h.createElement("div",{className:"chart-builder"},h.createElement("form",{onSubmit:this.handleSubmit},h.createElement("div",{className:"form-row"},h.createElement("label",null,"Select Chart Type"),h.createElement("div",{className:"form-row"},this.getTypes().map((v,g)=>{var f=v;return h.createElement("div",{key:f,className:"col col-chart-type"},h.createElement("button",{type:"button",className:te("btn","btn-icon","btn-chart-type",{active:v===a}),"data-index":g,onClick:this.handleTypeClick},this.getTypeIcon(v),this.getTypeName(v)))}))),h.createElement("hr",null),h.createElement("div",{className:"form-row form-inline"},h.createElement("label",{className:"col-2 label-left"},d),h.createElement("select",{className:"form-control custom-select select-x-axis col",value:o,onChange:this.handleXAxisChange},t.map(v=>h.createElement("option",{key:v.name,value:v.name},v.name)))),c&&h.createElement("hr",null),i.map((v,g)=>h.createElement("div",{className:"form-row form-inline form-series-item",key:v.id,"data-testid":"form-series-item-".concat(g)},h.createElement("label",{className:"col-2 label-left"},g===0?u:""),h.createElement("select",{className:"form-control custom-select select-series col",value:v.value,onChange:this.handleSeriesChange,"data-testid":"select-series-item-".concat(g),"data-index":g},t.map(f=>h.createElement("option",{key:f.name,value:f.name,"data-index":g},f.name))),i.length>1&&h.createElement(j,{kind:"ghost",className:"btn-delete-series ml-2 px-2","data-index":g,"data-testid":"delete-series-".concat(g),onClick:this.handleSeriesDeleteClick,icon:Hr,tooltip:"Delete"}))),m&&h.createElement("div",{className:"form-row"},h.createElement("div",{className:"col-2"}),h.createElement(j,{kind:"ghost",className:"btn-add-series mt-1",onClick:this.handleAddSeries,icon:Yi},"Add Series")),h.createElement("div",{className:"form-row chart-builder-link"},h.createElement("label",{className:"col-2 label-right"},h.createElement("div",{className:"fa-md fa-layers"},h.createElement(re,{mask:Mh,icon:no,transform:"right-5 down-5"}),h.createElement(re,{icon:s?Bf:VS,transform:"grow-2 right-8 down-6"}))),h.createElement(cd,{onChange:this.handleLinkStateChange,value:"".concat(s)},h.createElement(si,{value:"true"},"Sync State"),h.createElement(si,{value:"false"},"Freeze State"))),h.createElement("div",{className:"form-row"},h.createElement("div",{className:"col-2 label-right"}),h.createElement("div",{className:"col chart-builder-link-info"},s?"Charts with synced state will update to match any filters or user modifications applied to the parent table.":"Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.")),h.createElement("div",{className:te("form-row","justify-content-end","my-3")},h.createElement(j,{kind:"secondary",className:"btn-reset",onClick:this.handleReset},"Reset"),h.createElement(j,{kind:"primary",type:"submit",className:"btn-submit"},"Create"))))}}const I_=mn;function Jv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function __(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jv(Object(t),!0).forEach(function(r){jl(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Jv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function jl(n,e,t){return e=M_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function M_(n){var e=A_(n,"string");return typeof e=="symbol"?e:String(e)}function A_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class FC extends w.Component{constructor(e){super(e),jl(this,"editorContainer",void 0),jl(this,"editor",void 0),this.handleContentChanged=this.handleContentChanged.bind(this),this.handleEditorFocus=this.handleEditorFocus.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleContainerClick=this.handleContainerClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.state={isEditorFocused:!1,isEditorEmpty:!0},this.editorContainer=null}componentDidMount(){this.initEditor()}componentWillUnmount(){this.destroyEditor()}initEditor(){var e,{value:t,editorSettings:r}=this.props,i=__({copyWithSyntaxHighlighting:"false",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:"groovyDB",lineDecorationsWidth:8,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},scrollBeyondLastLine:!1,padding:{top:6,bottom:6},tabCompletion:"off",useTabStops:!0,value:t,wordWrap:"on",automaticLayout:!0},r);if(!this.editorContainer)throw new Error("editorContainer is null");this.editor=ni.create(this.editorContainer,i),this.editor.layout(),(e=this.editor.getModel())===null||e===void 0||e.updateOptions({tabSize:0}),this.editor.onKeyDown(this.handleKeyDown),this.editor.onDidChangeModelContent(this.handleContentChanged),this.editor.onDidFocusEditorText(this.handleEditorFocus),this.editor.onDidBlurEditorText(this.handleEditorBlur)}destroyEditor(){var e;(e=this.editor)===null||e===void 0||e.dispose(),this.editor=void 0}handleContentChanged(){var e,t,{onContentChanged:r}=this.props,i=(e=this.editor)===null||e===void 0||(t=e.getModel())===null||t===void 0?void 0:t.getValue();i!==void 0&&this.setState({isEditorEmpty:i.length===0}),r(i)}handleEditorFocus(){this.setState({isEditorFocused:!0})}handleEditorBlur(){var e,t,r,i=(e=(t=this.editor)===null||t===void 0||(r=t.getModel())===null||r===void 0?void 0:r.getValue())!==null&&e!==void 0?e:"";this.setState({isEditorEmpty:i.length===0,isEditorFocused:!1})}handleContainerClick(){var e,{isEditorFocused:t}=this.state;t||(e=this.editor)===null||e===void 0||e.focus()}handleKeyDown(e){var{onTab:t,editorIndex:r}=this.props;e.code==="Tab"&&(e.stopPropagation(),e.preventDefault(),t(r,e.shiftKey))}render(){var{className:e,invalid:t,placeholder:r="",value:i}=this.props,{isEditorFocused:a,isEditorEmpty:o}=this.state;return h.createElement("div",{className:te("input-editor-wrapper",{focused:a,invalid:t},e),role:"presentation",onClick:this.handleContainerClick},h.createElement("div",{className:"editor-container",ref:s=>{this.editorContainer=s},"data-testid":"custom-column-formula"}),o&&!i&&r.length>0&&h.createElement("div",{className:"editor-placeholder text-muted"},r))}}jl(FC,"defaultProps",{value:"",onContentChanged:()=>{},editorSettings:{},editorIndex:0,onTab:()=>{},invalid:!1});const L_=FC;function zl(){return zl=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},zl.apply(this,arguments)}var eg=Object.freeze({NAME:"name",FORMULA:"formula"}),k_=()=>{};function x_(n){var{eventKey:e,name:t,inputIndex:r,formula:i,onChange:a,onDeleteColumn:o,onTabInEditor:s,invalid:l,isDuplicate:d}=n,u=t===""||po.isValidColumnName(t),c=w.useCallback(m=>{m!==void 0&&(m.replace(/(\r\n|\n|\r)/gm,""),a(e,eg.FORMULA,m))},[a,e]);return h.createElement(_f,{draggableId:e,index:r,disableInteractiveElementBlocking:!0},(m,v)=>h.createElement("div",zl({className:te("draggable-container",{dragging:v.isDragging}),ref:m.innerRef},m.draggableProps),h.createElement("div",{className:"custom-column-input-container"},h.createElement("div",{className:"pb-3"},h.createElement("div",{className:"d-flex flex-row custom-column-name"},h.createElement("input",{className:te("form-control custom-column-input",{"is-invalid":l||!u||d}),placeholder:"Column Name",value:t,onChange:g=>{a(e,eg.NAME,g.target.value)}}),h.createElement(j,{kind:"ghost",className:"ml-1 px-2",onClick:()=>{o(e)},icon:Hr,tooltip:"Delete custom column"}),h.createElement(j,zl({kind:"ghost",className:"btn-drag-handle",onClick:k_},m.dragHandleProps,{icon:ad,tooltip:"Drag column to re-order"}))),(!u||d)&&h.createElement("p",{className:"validate-label-error text-danger mb-0 mt-2 pl-1"},u?"Duplicate name":"Invalid name")),h.createElement(L_,{editorSettings:{language:"deephavenDb"},editorIndex:r,placeholder:"Column Formula",value:i,onContentChanged:c,onTab:s,invalid:l})),h.createElement("hr",null)))}function Ch(n,e,t){return e=H_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function H_(n){var e=U_(n,"string");return typeof e=="symbol"?e:String(e)}function U_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var yu=[];class IC extends mN{constructor(e){super(),Ch(this,"dh",void 0),Ch(this,"listenerCount",void 0),this.dh=e,this.listenerCount=0}addEventListener(e,t,r){super.addEventListener(e,t,r),this.listenerCount+=1,this.listenerCount===1&&this.startListening()}removeEventListener(e,t,r){super.removeEventListener(e,t,r),this.listenerCount-=1,this.listenerCount===0&&this.stopListening()}startListening(){}stopListening(){}get originalColumns(){return this.columns}get layoutHints(){return null}get frontColumns(){return yu}get backColumns(){return yu}get frozenColumns(){return yu}isColumnFrozen(e){return!1}isColumnSortable(e){return!1}get isFilterRequired(){return!1}get isReversible(){return!0}get isColumnStatisticsAvailable(){return!1}get description(){return""}get isCustomColumnsAvailable(){return!1}get isFormatColumnsAvailable(){return!1}get isExportAvailable(){return!1}get isValuesTableAvailable(){return!1}get isChartBuilderAvailable(){return!1}get isRollupAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isTotalsAvailable(){return!1}isFilterable(e){return!1}close(){}isRowMovable(){return!1}get isSeekRowAvailable(){return!1}}Ch(IC,"EVENT",Object.freeze({UPDATED:"UPDATED",FORMATTER_UPDATED:"FORMATTER_UPDATED",REQUEST_FAILED:"REQUEST_FAILED",COLUMNS_CHANGED:"COLUMNS_CHANGED",TABLE_CHANGED:"TABLE_CHANGED",FILTERS_CHANGED:"FILTERS_CHANGED",SORTS_CHANGED:"SORTS_CHANGED",DISCONNECT:"DISCONNECT",RECONNECT:"RECONNECT",TOTALS_UPDATED:"TOTALS_UPDATED",PENDING_DATA_UPDATED:"PENDING_DATA_UPDATED"}));const Se=IC;function bh(){return bh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},bh.apply(this,arguments)}function tg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function $_(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tg(Object(t),!0).forEach(function(r){Ya(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):tg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ya(n,e,t){return e=B_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function B_(n){var e=V_(n,"string");return typeof e=="symbol"?e:String(e)}function V_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Hi extends w.Component{static makeCustomColumnInputEventKey(){return Xe.generate()}static createCustomColumnInput(){return{eventKey:Xe.generate(),name:"",formula:""}}constructor(e){super(e),Ya(this,"container",void 0),Ya(this,"successButtonTimer",void 0),Ya(this,"getInput",fe((t,r)=>t.find(i=>i.eventKey===r))),Ya(this,"getInputIndex",fe((t,r)=>t.findIndex(i=>i.eventKey===r))),this.handleAddColumnClick=this.handleAddColumnClick.bind(this),this.handleSaveClick=this.handleSaveClick.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleDeleteColumn=this.handleDeleteColumn.bind(this),this.handleCustomColumnUpdated=this.handleCustomColumnUpdated.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleDragEnd=this.handleDragEnd.bind(this),this.resetRequestFailed=this.resetRequestFailed.bind(this),this.handleEditorTabNavigation=this.handleEditorTabNavigation.bind(this),this.state={inputs:[],isCustomColumnApplying:!1,errorMessage:null,hasRequestFailed:!1,isSuccessShowing:!1},this.container=null,this.successButtonTimer=null}componentDidMount(){var{customColumns:e}=this.props;this.parseCustomColumns(e),this.startListening()}componentWillUnmount(){this.stopListening(),this.successButtonTimer&&clearTimeout(this.successButtonTimer)}resetErrorMessage(){this.setState({errorMessage:null})}startListening(){var{model:e}=this.props;e.addEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnUpdated),e.addEventListener(Se.EVENT.UPDATED,this.handleCustomColumnUpdated),e.addEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed)}stopListening(){var{model:e}=this.props;e.removeEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnUpdated),e.removeEventListener(Se.EVENT.UPDATED,this.handleCustomColumnUpdated),e.removeEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed)}parseCustomColumns(e){if(e.length>0){var t=e.map(r=>{var i=r.split(/=(.+)/,2);return{eventKey:Hi.makeCustomColumnInputEventKey(),name:i[0],formula:i[1]}});this.setState({inputs:t})}else this.setState({inputs:[Hi.createCustomColumnInput()]})}handleAddColumnClick(){var{inputs:e}=this.state,t=[...e];t.push(Hi.createCustomColumnInput()),this.setState({inputs:t})}handleDeleteColumn(e){var{inputs:t}=this.state,r=this.getInputIndex(t,e),i=[...t];i.splice(r,1),i.length===0&&i.push(Hi.createCustomColumnInput()),this.setState({inputs:i})}handleInputChange(e,t,r){var{inputs:i}=this.state,a=this.getInputIndex(i,e),o=this.getInput(i,e),s=$_({},o);s[t]=r;var l=[...i];l.splice(a,1,s),this.setState({inputs:l})}handleCustomColumnUpdated(){var{isCustomColumnApplying:e}=this.state;e&&this.setState({isCustomColumnApplying:!1,isSuccessShowing:!0},()=>{this.successButtonTimer=setTimeout(()=>this.setState({isSuccessShowing:!1}),Hi.SUCCESS_SHOW_DURATION)})}handleRequestFailed(e){var t=e,{isCustomColumnApplying:r}=this.state;r&&this.setState({isCustomColumnApplying:!1,errorMessage:h.createElement(h.Fragment,null,h.createElement("p",null,h.createElement(re,{icon:Wi})," Failed to apply custom columns."),h.createElement("div",{className:"error-box"},t.detail.errorMessage,h.createElement("br",null),"Table configuration:"," ",JSON.stringify(t.detail.configuration))),hasRequestFailed:!0})}handleDragEnd(e){if(bn.stopDragging(),!!e.destination){var{inputs:t}=this.state,r=e.source.index,i=e.destination.index,a=[...t],o=t[r];a.splice(r,1),a.splice(i,0,o),this.setState({inputs:a})}}handleEditorTabNavigation(e,t){var{inputs:r}=this.state;if(t){var i;((i=this.container)===null||i===void 0?void 0:i.querySelectorAll(".btn-drag-handle")[e]).focus();return}if(e===r.length-1){var a,o;(a=this.container)===null||a===void 0||(o=a.querySelector(".btn-add-column"))===null||o===void 0||o.focus()}else{var s,l=e+1;((s=this.container)===null||s===void 0?void 0:s.querySelectorAll(".custom-column-input")[l]).focus()}}handleSaveClick(){var{onSave:e,customColumns:t}=this.props,{inputs:r,isCustomColumnApplying:i}=this.state;if(!i){var a=[];r.forEach(o=>{var{name:s,formula:l}=o;s&&l&&a.push("".concat(s,"=").concat(l))}),this.resetErrorMessage(),this.setState({isCustomColumnApplying:a.length>0||t.length>0}),e(a)}}resetRequestFailed(){this.setState(e=>{var{hasRequestFailed:t}=e;return t?{hasRequestFailed:!1}:null})}renderInputs(){var{inputs:e,hasRequestFailed:t}=this.state,r=new Map;return e.forEach(i=>{var a,{name:o}=i;return r.set(o,((a=r.get(o))!==null&&a!==void 0?a:0)+1)}),e.map((i,a)=>{var o,{eventKey:s,name:l,formula:d}=i,u=((o=r.get(l))!==null&&o!==void 0?o:0)>1;return h.createElement(x_,{key:s,inputIndex:a,eventKey:s,name:l,formula:d,onChange:this.handleInputChange,onDeleteColumn:this.handleDeleteColumn,onTabInEditor:this.handleEditorTabNavigation,invalid:t,isDuplicate:u})})}renderSaveButton(){var{inputs:e,isCustomColumnApplying:t,isSuccessShowing:r}=this.state,i=e.length>1?"Save Columns":"Save Column",a=e.every(l=>{var{name:d}=l;return d===""||po.isValidColumnName(d)}),o=e.filter(l=>{var{name:d}=l;return d!==""}).map(l=>{var{name:d}=l;return d}),s=new Set(o).size===o.length;return h.createElement(j,{kind:r?"success":"primary",className:te("btn-apply",{"btn-spinner":t}),disabled:r||t||!a||!s,onClick:this.handleSaveClick},t&&h.createElement("span",null,h.createElement(Hn,null),h.createElement("span",{className:"btn-normal-content"},"Applying")),!r&&!t&&i,r&&h.createElement(h.Fragment,null,h.createElement(re,{icon:Ah})," Success"))}render(){var{onCancel:e}=this.props,{errorMessage:t}=this.state;return h.createElement("div",{role:"presentation",className:"custom-column-builder-container",ref:r=>{this.container=r},onClick:this.resetRequestFailed,onFocus:this.resetRequestFailed},h.createElement("hr",null),h.createElement(nd,{onDragStart:bn.startDragging,onDragEnd:this.handleDragEnd},h.createElement(_h,{droppableId:"droppable-custom-columns"},(r,i)=>h.createElement("div",bh({ref:r.innerRef},r.droppableProps,{className:te("droppable-container",{dragging:i.draggingFromThisWith})}),this.renderInputs(),r.placeholder))),h.createElement("div",{className:"pt-1 px-3"},h.createElement(j,{kind:"ghost",className:"btn-add-column",onClick:this.handleAddColumnClick,icon:Yi},"Add Another Column")),h.createElement("div",{className:"custom-column-builder-footer"},t&&h.createElement("div",{className:"error-message"},t),h.createElement("div",{className:"d-flex justify-content-end"},h.createElement(j,{kind:"secondary",className:"mr-2",onClick:e},"Cancel"),this.renderSaveButton())))}}Ya(Hi,"SUCCESS_SHOW_DURATION",750);const G_=Hi;var Sh;(function(n){n.ADVANCED_SETTINGS="ADVANCED_SETTINGS",n.AGGREGATIONS="AGGREGATIONS",n.AGGREGATION_EDIT="AGGREGATIONS_EDIT",n.CHART_BUILDER="CHART_BUILDER",n.CUSTOM_COLUMN_BUILDER="CUSTOM_COLUMN_BUILDER",n.QUICK_FILTERS="QUICK_FILTERS",n.ROLLUP_ROWS="ROLLUP_ROWS",n.SEARCH_BAR="SEARCH_BAR",n.SELECT_DISTINCT="SELECT_DISTINCT",n.TABLE_EXPORTER="TABLE_EXPORTER",n.VISIBILITY_ORDERING_BUILDER="VISIBILITY_ORDERING_BUILDER",n.CONDITIONAL_FORMATTING="CONDITIONAL_FORMATTING",n.CONDITIONAL_FORMATTING_EDIT="CONDITIONAL_FORMATTING_EDIT",n.GOTO="GOTO"})(Sh||(Sh={}));const ke=Sh;function wh(){return wh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},wh.apply(this,arguments)}function ha(n,e,t){return e=W_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function W_(n){var e=j_(n,"string");return typeof e=="symbol"?e:String(e)}function j_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ko=ie.module("RollupRows"),z_=150,Zs="grouped-rollup-rows",Js="ungrouped-rollup-rows";class mr extends w.Component{static renderColumn(e){var{item:t,isClone:r,selectedCount:i}=e,a=t?.name,o=r!==void 0&&r?"".concat(i):void 0,s=r!==void 0&&r?"item-list-item-clone":"";return vn.renderTextItem({text:a,badgeText:o,className:s})}static addGroupings(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length;if(t==null||t.length===0)return e;var i=r,a=e.filter((o,s)=>t.includes(o)?(s<i&&(i-=1),!1):!0);return a.splice(i,0,...t),a}static isGroupable(e){return!H.isDecimalType(e.type)}constructor(e){super(e),ha(this,"ungroupedList",void 0),ha(this,"groupedList",void 0),ha(this,"search",rt(o=>{for(var s=this.getSortedUngroupedColumns(),l=[],d=null,u=0;u<s.length;u+=1){var c=s[u];c.name.toLowerCase().includes(o.toLowerCase())&&(d==null&&(d=u),l.push([u,u]))}L(d),this.setState({ungroupedSelectedRanges:l}),l.length>0&&this.ungroupedList.current&&this.ungroupedList.current.scrollToItem(d)},z_)),ha(this,"getCachedUngroupedColumns",Pe((o,s)=>o.filter(l=>mr.isGroupable(l)&&s.find(d=>d===l.name)==null))),ha(this,"getCachedSortedColumns",Pe((o,s)=>s==null?[...o]:H.sortColumns(o,s===mr.SORT.ASCENDING))),this.handleDeleteClicked=this.handleDeleteClicked.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleUngroupedSelect=this.handleUngroupedSelect.bind(this),this.handleUngroupedSelectionChange=this.handleUngroupedSelectionChange.bind(this),this.handleDragStart=this.handleDragStart.bind(this),this.handleDragEnd=this.handleDragEnd.bind(this),this.handleGroupedSelectionChange=this.handleGroupedSelectionChange.bind(this),this.handleShowConstituentsChange=this.handleShowConstituentsChange.bind(this),this.handleShowNonAggregatedColumnsChange=this.handleShowNonAggregatedColumnsChange.bind(this),this.handleSortAscending=this.handleSortAscending.bind(this),this.handleSortDescending=this.handleSortDescending.bind(this),this.renderGroupedItem=this.renderGroupedItem.bind(this),this.ungroupedList=h.createRef(),this.groupedList=h.createRef();var{config:t}=e,{columns:r=[],showConstituents:i=!0,showNonAggregatedColumns:a=!0}=t??{};this.state={ungroupedSelectedRanges:[],columns:r,groupedSelectedRanges:[],searchFilter:"",showConstituents:i,showNonAggregatedColumns:a,dragSource:null,sort:null}}componentDidUpdate(e,t){var{config:r}=this.props,{columns:i,showConstituents:a,showNonAggregatedColumns:o}=this.state;r!==e.config?this.updateFromConfig():(i!==t.columns||a!==t.showConstituents||o!==t.showNonAggregatedColumns)&&(r==null||i!==r.columns||a!==r.showConstituents||o!==r.showNonAggregatedColumns)&&this.sendChange()}componentWillUnmount(){this.search.cancel()}handleSearchChange(e){var t=e.target.value;if(this.setState({searchFilter:t}),!t){this.search.cancel(),this.resetSelection();return}this.search(t)}handleSortAscending(){this.setState(e=>{var{sort:t}=e;return{sort:t===mr.SORT.ASCENDING?null:mr.SORT.ASCENDING}})}handleSortDescending(){this.setState(e=>{var{sort:t}=e;return{sort:t===mr.SORT.DESCENDING?null:mr.SORT.DESCENDING}})}resetSelection(){this.setState({ungroupedSelectedRanges:[],groupedSelectedRanges:[]})}handleDragStart(e){ko.debug("handleDragStart",e),document.documentElement.classList.add("drag-pointer-events-none"),this.setState({dragSource:e.source})}handleDragEnd(e){ko.debug("handleDragEnd",e),document.documentElement.classList.remove("drag-pointer-events-none"),this.setState({dragSource:null});var{destination:t,source:r}=e;if(!(t==null||r==null)){if(t.droppableId===Js){this.setState(o=>{var{groupedSelectedRanges:s,columns:l}=o,d=[...l];return bn.reorder(d,s,[],0),{columns:d,ungroupedSelectedRanges:[],groupedSelectedRanges:[]}});return}var i=r.droppableId===Zs,a=t.index;i&&r.index<t.index&&(a+=1),this.setState(o=>{var{columns:s,ungroupedSelectedRanges:l,groupedSelectedRanges:d}=o,u=[...s],c=i?u:this.getSortedUngroupedColumns().map(p=>p.name),m=i?d:l,v=bn.reorder(c,m,u,a),g=i?bn.adjustDestinationIndex(a,d):a,f=[[g,g+v.length-1]];return{columns:u,ungroupedSelectedRanges:[],groupedSelectedRanges:f}}),this.resetSelection()}}handleUngroupedSelect(e){ko.debug("handleUngroupedSelect"),this.setState(t=>{var{columns:r}=t;return{columns:mr.addGroupings(r,[this.getSortedUngroupedColumns()[e].name]),ungroupedSelectedRanges:[],groupedSelectedRanges:[]}})}handleUngroupedSelectionChange(e){ko.debug2("handleUngroupedSelectionChange",e),this.setState(t=>{var{ungroupedSelectedRanges:r}=t;return e===r?null:{ungroupedSelectedRanges:e,groupedSelectedRanges:[]}})}handleGroupedSelectionChange(e){ko.debug2("handleGroupedSelectedRanges",e),this.setState(t=>{var{groupedSelectedRanges:r}=t;return e===r?null:{groupedSelectedRanges:e,ungroupedSelectedRanges:[]}})}handleDeleteClicked(e){this.setState(t=>{var{columns:r}=t,i=r.slice();return i.splice(e,1),{columns:i}})}handleShowConstituentsChange(){this.setState(e=>{var{showConstituents:t}=e;return{showConstituents:!t}})}handleShowNonAggregatedColumnsChange(){this.setState(e=>{var{showNonAggregatedColumns:t}=e;return{showNonAggregatedColumns:!t}})}updateFromConfig(){var{config:e}=this.props,{columns:t=[],showConstituents:r=!0,showNonAggregatedColumns:i=!0}=e??{};this.setState({columns:t,showConstituents:r,showNonAggregatedColumns:i})}sendChange(){var{onChange:e}=this.props,{columns:t,showConstituents:r,showNonAggregatedColumns:i}=this.state;e({columns:t,showConstituents:r,showNonAggregatedColumns:i})}getUngroupedColumns(){var{model:e}=this.props,{columns:t}=this.state,{originalColumns:r}=e;return this.getCachedUngroupedColumns(r,t)}getSortedUngroupedColumns(){var{sort:e}=this.state,t=this.getUngroupedColumns();return this.getCachedSortedColumns(t,e)}renderGroupedItem(e){var{item:t,itemIndex:r,isClone:i,selectedCount:a}=e,o=i!==void 0&&i?"":"  ".repeat(r),s="".concat(o).concat(t),l=i!==void 0&&i?"".concat(a):void 0,d=i!==void 0&&i?"item-list-item-clone":"";return h.createElement(h.Fragment,null,vn.renderTextItem({text:s,badgeText:l,className:d}),(i===void 0||!i)&&h.createElement(j,{kind:"ghost",className:"btn btn-link btn-link-icon btn-delete-grouping float-right",onClick:()=>this.handleDeleteClicked(r)},h.createElement(re,{icon:Hr})))}render(){var{columns:e,dragSource:t,searchFilter:r,groupedSelectedRanges:i,ungroupedSelectedRanges:a,showConstituents:o,showNonAggregatedColumns:s,sort:l}=this.state,d=this.getSortedUngroupedColumns(),u=e.length*vn.DEFAULT_ROW_HEIGHT;t?.droppableId===Js&&(u+=vn.DEFAULT_ROW_HEIGHT);var c=d.length*vn.DEFAULT_ROW_HEIGHT+10,m=Math.min(3*vn.DEFAULT_ROW_HEIGHT,c);return h.createElement("div",{role:"menu",className:te("rollup-rows",{"is-dragging":t!=null}),tabIndex:0},h.createElement(nd,{onDragEnd:this.handleDragEnd,onDragStart:this.handleDragStart},h.createElement("div",{className:"rollup-rows-group-by"},h.createElement("div",{className:"section-title"},"Group By"),e.length===0&&h.createElement(_h,{droppableId:"placeholder"},(v,g)=>h.createElement("div",wh({className:te("placeholder","text-muted",{"is-dragging-from-this":g.draggingFromThisWith,"is-dragging-over":g.isDraggingOver,"is-dropping":g.draggingOverWith}),ref:v.innerRef},v.droppableProps),"To create a rollup, drag columns from the list below and drop them into this area.")),e.length>0&&h.createElement(vn,{draggingItemClassName:"rollup-rows-dragging-grouped-item",draggablePrefix:Zs,droppableId:Zs,itemCount:e.length,items:e,offset:0,onSelectionChange:this.handleGroupedSelectionChange,ref:this.groupedList,renderItem:this.renderGroupedItem,selectedRanges:i,style:{height:u},isMultiSelect:!0})),h.createElement("div",{className:"rollup-rows-available-columns"},h.createElement("div",{className:"section-title"},"Available Grouping Columns"),h.createElement("div",{className:"top-menu"},h.createElement(go,{className:"w-100",value:r,matchCount:r?a.length:void 0,placeholder:"Find column...",onChange:this.handleSearchChange}),h.createElement(j,{kind:"ghost",className:te("btn-link btn-link-icon",{active:l===mr.SORT.ASCENDING}),onClick:this.handleSortAscending},h.createElement(re,{icon:xh}),h.createElement(pt,null,"Sort ascending")),h.createElement(j,{kind:"ghost",className:te("btn-link btn-link-icon",{active:l===mr.SORT.DESCENDING}),onClick:this.handleSortDescending},h.createElement(re,{icon:Hh}),h.createElement(pt,null,"Sort descending"))),h.createElement(vn,{className:"rollup-available-grouping-columns",draggablePrefix:Js,droppableId:Js,itemCount:d.length,items:d,renderItem:mr.renderColumn,offset:0,onSelect:this.handleUngroupedSelect,onSelectionChange:this.handleUngroupedSelectionChange,ref:this.ungroupedList,selectedRanges:a,style:{maxHeight:c,minHeight:m},isDropDisabled:t?.droppableId!==Zs,isMultiSelect:!0}),h.createElement("div",{className:"bottom-menu"},h.createElement("div",{className:"label"},"Show:"),h.createElement(rn,{checked:o,onChange:this.handleShowConstituentsChange},"Constituents"),h.createElement(rn,{checked:s,onChange:this.handleShowNonAggregatedColumnsChange},"Non-Aggregated Columns")))))}}ha(mr,"SORT",Object.freeze({ASCENDING:"ASC",DESCENDING:"DESC"}));ha(mr,"defaultProps",{config:null,onChange:()=>{}});const K_=mr;function rg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Y_(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){rg(a,r,i,o,s,"next",l)}function s(l){rg(a,r,i,o,s,"throw",l)}o(void 0)})}}function ng(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ig(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ng(Object(t),!0).forEach(function(r){Fa(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ng(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Fa(n,e,t){return e=q_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function q_(n){var e=X_(n,"string");return typeof e=="symbol"?e:String(e)}function X_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Q_=ie.module("TableCsvExporter");class Ae extends w.Component{static getDateString(e){return e.i18n.DateTimeFormat.format(Ae.FILENAME_DATE_FORMAT,new Date)}constructor(e){super(e),this.handleDownloadClick=this.handleDownloadClick.bind(this),this.handleDownloadRowOptionChanged=this.handleDownloadRowOptionChanged.bind(this),this.handleCustomizedDownloadRowOptionChanged=this.handleCustomizedDownloadRowOptionChanged.bind(this),this.handleCustomizedDownloadRowsChanged=this.handleCustomizedDownloadRowsChanged.bind(this),this.handleIncludeColumnHeadersChanged=this.handleIncludeColumnHeadersChanged.bind(this),this.handleIncludeHiddenColumnsChanged=this.handleIncludeHiddenColumnsChanged.bind(this),this.handleUseUnformattedValuesChanged=this.handleUseUnformattedValuesChanged.bind(this);var{model:t,name:r}=e;this.state={fileName:"".concat(r,"-").concat(Ae.getDateString(t.dh),".csv"),downloadRowOption:Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS,customizedDownloadRowOption:Ae.CUSTOMIZED_ROWS_OPTIONS.FIRST,customizedDownloadRows:Ae.DEFAULT_DOWNLOAD_ROWS,includeColumnHeaders:!0,includeHiddenColumns:!1,useUnformattedValues:!1,errorMessage:null,id:Xe.generate()}}getSnapshotRanges(){var{model:e,selectedRanges:t}=this.props,{downloadRowOption:r,customizedDownloadRowOption:i,customizedDownloadRows:a}=this.state,{rowCount:o,columnCount:s}=e,l=[];switch(r){case Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS:l.push(new ne(0,0,s-1,o-1));break;case Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS:l=t.map(d=>ig(ig({},d),{},{startColumn:0,endColumn:s-1})).sort((d,u)=>d.startRow!=null&&u.startRow!=null?d.startRow-u.startRow:0);break;case Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS:switch(i){case Ae.CUSTOMIZED_ROWS_OPTIONS.FIRST:l.push(new ne(0,0,s-1,Math.min(a-1,o-1)));break;case Ae.CUSTOMIZED_ROWS_OPTIONS.LAST:l.push(new ne(0,Math.max(0,o-a),s-1,o-1));break}break}return l}getModelRanges(e){var{userColumnWidths:t,movedColumns:r}=this.props,{includeHiddenColumns:i}=this.state,a=ye.getHiddenColumns(t),o=V.getModelRanges(e,r);if(!i&&a.length>0){var s=a.map(ne.makeColumn);o=ne.subtractRangesFromRanges(o,s)}return o}resetDownloadState(){this.setState({errorMessage:null})}handleDownloadClick(){var e=this;return Y_(function*(){var{model:t,isDownloading:r,onDownloadStart:i,onDownload:a,onCancel:o}=e.props,{fileName:s,includeColumnHeaders:l,useUnformattedValues:d}=e.state;if(r){o();return}e.resetDownloadState();var u=e.getSnapshotRanges(),c=e.getModelRanges(u);if(e.validateOptionInput()){i();try{var m=yield t.export(),v=m.setViewport(0,0);yield v.getViewportData(),a(s,m,v,u,c,l,d)}catch(g){Q_.error("CSV download failed",g),e.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," ","".concat(g))}),o()}}})()}handleDownloadRowOptionChanged(e){this.setState({downloadRowOption:e.target.value})}handleCustomizedDownloadRowOptionChanged(e){this.setState({customizedDownloadRowOption:e.target.value})}handleCustomizedDownloadRowsChanged(e){this.setState({customizedDownloadRows:parseInt(e.target.value,10)})}handleIncludeColumnHeadersChanged(){this.setState(e=>{var{includeColumnHeaders:t}=e;return{includeColumnHeaders:!t}})}handleIncludeHiddenColumnsChanged(){this.setState(e=>{var{includeHiddenColumns:t}=e;return{includeHiddenColumns:!t}})}handleUseUnformattedValuesChanged(){this.setState(e=>{var{useUnformattedValues:t}=e;return{useUnformattedValues:!t}})}validateOptionInput(){var{selectedRanges:e}=this.props,{downloadRowOption:t,customizedDownloadRows:r}=this.state;return t===Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS&&e.length===0?(this.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," No rows selected. Please select some rows in the table.")}),!1):t===Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS&&r<=0?(this.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," Number of rows to output must be greater than 0")}),!1):!0}render(){var{model:e,isDownloading:t,tableDownloadProgress:r,tableDownloadEstimatedTime:i,selectedRanges:a,tableDownloadStatus:o}=this.props,{fileName:s,downloadRowOption:l,customizedDownloadRowOption:d,customizedDownloadRows:u,includeColumnHeaders:c,includeHiddenColumns:m,useUnformattedValues:v,errorMessage:g,id:f}=this.state,{rowCount:p}=e;return h.createElement("div",{className:"table-csv-exporter"},h.createElement("div",{className:"section-title"},"Download Rows"),h.createElement("div",{className:"form-group"},h.createElement(cd,{onChange:this.handleDownloadRowOptionChanged,value:l,disabled:t},h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS,"data-testid":"radio-csv-exporter-download-all"},"All Rows",h.createElement("span",{className:"text-muted ml-2"},"(".concat(p.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")," rows)"))),h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS,"data-testid":"radio-csv-exporter-only-selected"},"Only Selected Rows",h.createElement("span",{className:"text-muted ml-2"},a.length>0?"(".concat(ne.rowCount(a).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")," rows)"):null)),h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS,"data-testid":"radio-csv-exporter-customized-rows"},h.createElement("div",{className:"radio-input-row",role:"presentation",onClick:()=>{this.setState({downloadRowOption:Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS})}},h.createElement("select",{value:d,"data-testid":"select-csv-exporter-customized-rows",className:"custom-select",disabled:t,onChange:this.handleCustomizedDownloadRowOptionChanged},h.createElement("option",{value:"FIRST"},"First"),h.createElement("option",{value:"LAST"},"Last")),h.createElement("input",{type:"number",className:"form-control",id:"customizedRows-".concat(f),"data-testid":"input-csv-exporter-customized-rows",name:"customizedRows-".concat(f),placeholder:"100",value:u,disabled:t,onChange:this.handleCustomizedDownloadRowsChanged}),h.createElement("div",null,"Rows"))))),h.createElement("div",{className:"form-group"},h.createElement("label",{htmlFor:"customizedRows-".concat(f)},"File Name"),h.createElement("input",{type:"text",className:"form-control",id:"filename-".concat(f),"data-testid":"input-csv-exporter-file-name",name:"filename-".concat(f),value:s,onChange:C=>{this.setState({fileName:C.target.value})},disabled:t})),h.createElement("div",{className:"checkbox-options"},h.createElement(rn,{checked:c,onChange:this.handleIncludeColumnHeadersChanged},"Include column headers"),h.createElement(rn,{checked:m,onChange:this.handleIncludeHiddenColumnsChanged},"Include hidden columns"),h.createElement(rn,{checked:v,onChange:this.handleUseUnformattedValuesChanged},"Use unformatted values")),h.createElement("div",{className:"section-footer flex-column"},g!=null&&h.createElement("div",{className:"error-message"},g),o&&h.createElement("div",{className:"download-status"},(o===Ae.DOWNLOAD_STATUS.DOWNLOADING||o===Ae.DOWNLOAD_STATUS.INITIATING)&&h.createElement(h.Fragment,null,o===Ae.DOWNLOAD_STATUS.INITIATING&&h.createElement("div",{className:"text-muted"},"Starting Download..."),o===Ae.DOWNLOAD_STATUS.DOWNLOADING&&h.createElement("div",{className:"text-muted d-flex justify-content-between"},h.createElement("span",null,i||i===0?"Estimated time: ".concat(dd.formatElapsedTime(i)):null),h.createElement("span",null,"".concat(r,"%")))),o===Ae.DOWNLOAD_STATUS.FINISHED&&h.createElement("div",{className:"text-muted text-right"},"Download Completed"),o===Ae.DOWNLOAD_STATUS.CANCELED&&h.createElement("div",{className:"text-muted"},"Download Canceled"),(o===Ae.DOWNLOAD_STATUS.DOWNLOADING||o===Ae.DOWNLOAD_STATUS.INITIATING)&&h.createElement("div",{className:"progress"},h.createElement("div",{className:"progress-bar progress-bar-striped progress-bar-animated",style:{width:"".concat(r,"%")}})),o===Ae.DOWNLOAD_STATUS.FINISHED&&h.createElement("div",{className:"progress"},h.createElement("div",{className:"progress-bar bg-success",style:{width:"".concat(r,"%")}}))),h.createElement(j,{kind:"primary","data-testid":"btn-csv-exporter-download",className:te("btn-downloading",{"btn-spinner btn-cancelable":t}),onClick:this.handleDownloadClick},t&&h.createElement("span",null,h.createElement(Hn,null),h.createElement("span",{className:"btn-normal-content"},"Downloading"),h.createElement("span",{className:"btn-hover-content"},"Cancel")),!t&&"Download")))}}Fa(Ae,"FILENAME_DATE_FORMAT","yyyy-MM-dd-HHmmss");Fa(Ae,"DOWNLOAD_STATUS",{INITIATING:"INITIATING",DOWNLOADING:"DOWNLOADING",FINISHED:"FINISHED",CANCELED:"CANCELED"});Fa(Ae,"DOWNLOAD_ROW_OPTIONS",{ALL_ROWS:"ALL_ROWS",SELECTED_ROWS:"SELECTED_ROWS",CUSTOMIZED_ROWS:"CUSTOMIZED_ROWS"});Fa(Ae,"CUSTOMIZED_ROWS_OPTIONS",{FIRST:"FIRST",LAST:"LAST"});Fa(Ae,"DEFAULT_DOWNLOAD_ROWS",100);Fa(Ae,"defaultProps",{onDownloadStart:()=>{},isDownloading:!1,tableDownloadStatus:"",tableDownloadProgress:0,tableDownloadEstimatedTime:null,selectedRanges:[]});const ta=Ae;function $e(n,e,t){return e=Z_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z_(n){var e=J_(n,"string");return typeof e=="symbol"?e:String(e)}function J_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Yn=ie.module("TableSaver"),eM="yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS z";function tM(n){return n.added!==void 0}function rM(n){if(!tM(n))throw new Error("event is not UpdateEventData")}class pr extends w.PureComponent{static csvEscapeString(e){return'"'.concat(e.replace(/"/g,'""'),'"')}constructor(e){super(e),$e(this,"sw",void 0),$e(this,"port",void 0),$e(this,"fileWriter",void 0),$e(this,"table",void 0),$e(this,"tableSubscription",void 0),$e(this,"columns",void 0),$e(this,"fileName",void 0),$e(this,"includeColumnHeaders",void 0),$e(this,"useUnformattedValues",void 0),$e(this,"chunkRows",void 0),$e(this,"gridRanges",void 0),$e(this,"gridRangeCounter",void 0),$e(this,"rangedSnapshotsTotal",void 0),$e(this,"rangedSnapshotCounter",void 0),$e(this,"snapshotsTotal",void 0),$e(this,"snapshotCounter",void 0),$e(this,"snapshotsBuffer",void 0),$e(this,"currentSnapshotIndex",void 0),$e(this,"snapshotPending",void 0),$e(this,"cancelableSnapshots",void 0),$e(this,"streamTimeout",void 0),$e(this,"snapshotHandlerTimeout",void 0),$e(this,"downloadStartTime",void 0),$e(this,"iframes",void 0),$e(this,"useBlobFallback",void 0),$e(this,"getCachedCustomColumnFormatFlag",En(oi.isCustomColumnFormatDefined,{max:1e4})),this.handlePortMessage=this.handlePortMessage.bind(this),this.handleSnapshotResolved=this.handleSnapshotResolved.bind(this),this.handleDownloadTimeout=this.handleDownloadTimeout.bind(this),this.state={},this.gridRanges=[],this.gridRangeCounter=0,this.rangedSnapshotsTotal=[],this.rangedSnapshotCounter=0,this.includeColumnHeaders=!0,this.useUnformattedValues=!1,this.snapshotsTotal=0,this.snapshotCounter=0,this.snapshotsBuffer=new Map,this.currentSnapshotIndex=0,this.snapshotPending=0,this.cancelableSnapshots=[],this.iframes=[],this.useBlobFallback=!1}componentDidMount(){var{getDownloadWorker:e}=this.props;e().then(t=>{Yn.info("found active service worker"),this.sw=t,this.sw.postMessage("ping")}).catch(t=>{Yn.warn("Download csv is not optimized.",t),this.useBlobFallback=!0})}componentWillUnmount(){this.iframes.length>0&&this.iframes.forEach(e=>{e.remove()}),this.streamTimeout&&clearTimeout(this.streamTimeout),this.snapshotHandlerTimeout&&clearTimeout(this.snapshotHandlerTimeout)}createWriterStream(e){var t=this.useBlobFallback,r=[],i=null;t&&(i=TextEncoder.prototype.encode.bind(new TextEncoder));var{fileName:a}=this,o={};return t?(o.write=s=>{L(i),s.header!==void 0&&r.push(i(s.header)),s.rows!==void 0&&r.push(i(s.rows))},o.close=()=>{L(a);var s=new Blob(r,{type:"application/octet-stream; charset=utf-8"}),l=document.createElement("a");l.href=URL.createObjectURL(s),l.download=a,l.click()},o.abort=()=>{e.postMessage({cancel:!0}),e.close()}):(o.write=s=>{e.postMessage(s)},o.close=()=>{e.postMessage({end:!0}),e.close()},o.abort=()=>{e.postMessage({cancel:!0}),e.close()}),new WritableStream(o)}startDownload(e,t,r,i,a,o,s){var{isDownloading:l}=this.props;if(!l){this.downloadStartTime=Date.now(),Yn.info("start downloading ".concat(e)),this.table=t,this.columns=ye.columnsFromRanges(a,t.columns),this.tableSubscription=r,this.gridRanges=i,this.includeColumnHeaders=o,this.useUnformattedValues=s;var d=encodeURIComponent(e.replace(/\//g,":")).replace(/['()]/g,escape).replace(/\*/g,"%2A"),u=new MessageChannel;if(this.port=u.port1,this.fileName=e,this.fileWriter=this.createWriterStream(this.port).getWriter(),this.useBlobFallback){this.writeCsvTable(o);return}this.sw&&this.sw.postMessage({encodedFileName:d},[u.port2]),this.port.onmessage=this.handlePortMessage}}finishDownload(){this.table&&this.table.close(),this.tableSubscription&&this.tableSubscription.close(),this.fileWriter&&this.fileWriter.close();var{onDownloadCompleted:e}=this.props;e(),this.resetTableSaver(),this.downloadStartTime!==void 0&&Yn.info("download finished, total elapsed time ".concat((Date.now()-this.downloadStartTime)/1e3," seconds"))}cancelDownload(){this.table&&this.table.close(),this.tableSubscription&&this.tableSubscription.close(),this.fileWriter&&this.fileWriter.abort(),this.cancelableSnapshots.forEach(t=>{t&&(t.catch(()=>null),t.cancel())});var{onDownloadCanceled:e}=this.props;e(),this.resetTableSaver()}resetTableSaver(){this.table=void 0,this.tableSubscription=void 0,this.columns=void 0,this.chunkRows=void 0,this.gridRanges=[],this.gridRangeCounter=0,this.rangedSnapshotsTotal=[],this.rangedSnapshotCounter=0,this.includeColumnHeaders=!0,this.useUnformattedValues=!1,this.snapshotsTotal=0,this.snapshotCounter=0,this.snapshotsBuffer=new Map,this.currentSnapshotIndex=0,this.snapshotPending=0,this.cancelableSnapshots=[],this.streamTimeout!=null&&clearTimeout(this.streamTimeout),this.snapshotHandlerTimeout!=null&&clearTimeout(this.snapshotHandlerTimeout),this.streamTimeout=void 0,this.snapshotHandlerTimeout=void 0}handleDownloadTimeout(){Yn.info("download canceled"),this.cancelDownload()}writeTableHeader(){var e,t="";if(this.columns)for(var r=0;r<this.columns.length;r+=1)t+=this.columns[r].name,t+=r===this.columns.length-1?`
22
+ `);S(A),f(!0),E(A)}else D(M.shiftKey?tn.UP:tn.DOWN);break;case"Tab":M.preventDefault(),D(M.shiftKey?tn.LEFT:tn.RIGHT);break;case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":p&&(M.preventDefault(),D(rN(M.key)));break}},[T,D,p,S,f,E,b]),_=w.useCallback(M=>{d(M)},[d]);return h.createElement("textarea",{ref:c,className:te("grid-cell-input-field",t),value:b,onBlur:P,onChange:y,onKeyDown:R,onContextMenu:_,onClick:O,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:r,style:u})}lc.propTypes={selectionRange:q.arrayOf(q.number),className:q.string,disabled:q.bool,isQuickEdit:q.bool,value:q.string,onChange:q.func,onCancel:q.func,onDone:q.func,onContextMenu:q.func,style:q.shape({})};lc.defaultProps={selectionRange:null,className:"",disabled:!1,value:"",isQuickEdit:!0,onChange:()=>{},onCancel:()=>{},onDone:()=>{},onContextMenu:()=>{},style:{}};var nN=h.createContext({});const iN=nN;function _v(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function aN(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){_v(a,r,i,o,s,"next",l)}function s(l){_v(a,r,i,o,s,"throw",l)}o(void 0)})}}function Mv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function fa(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mv(Object(t),!0).forEach(function(r){Et(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Et(n,e,t){return e=oN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function oN(n){var e=sN(n,"string");return typeof e=="symbol"?e:String(e)}function sN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class _r extends w.PureComponent{static getScale(e){var t,r,i,a,o,s=window.devicePixelRatio||1,l=e,d=(t=(r=(i=(a=(o=l.webkitBackingStorePixelRatio)!==null&&o!==void 0?o:l.mozBackingStorePixelRatio)!==null&&a!==void 0?a:l.msBackingStorePixelRatio)!==null&&i!==void 0?i:l.oBackingStorePixelRatio)!==null&&r!==void 0?r:l.backingStorePixelRatio)!==null&&t!==void 0?t:1;return s/d}static getCursorClassName(e){return e!=null&&e!==""?"grid-cursor-".concat(e):null}constructor(e){super(e),Et(this,"renderer",void 0),Et(this,"metricCalculator",void 0),Et(this,"canvas",void 0),Et(this,"canvasContext",void 0),Et(this,"animationFrame",void 0),Et(this,"prevMetrics",void 0),Et(this,"metrics",void 0),Et(this,"renderState",void 0),Et(this,"documentCursor",void 0),Et(this,"dragTimer",void 0),Et(this,"keyHandlers",void 0),Et(this,"mouseHandlers",void 0),Et(this,"getCachedKeyHandlers",fe(l=>[...l,...this.keyHandlers].sort((d,u)=>d.order-u.order))),Et(this,"getCachedMouseHandlers",fe(l=>[...l,...this.mouseHandlers].sort((d,u)=>d.order-u.order))),this.handleClick=this.handleClick.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handleEditCellCancel=this.handleEditCellCancel.bind(this),this.handleEditCellChange=this.handleEditCellChange.bind(this),this.handleEditCellCommit=this.handleEditCellCommit.bind(this),this.handleDoubleClick=this.handleDoubleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseDrag=this.handleMouseDrag.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleResize=this.handleResize.bind(this),this.handleWheel=this.handleWheel.bind(this);var{isStuckToBottom:t,isStuckToRight:r,metricCalculator:i,movedColumns:a,movedRows:o,renderer:s}=e;this.renderer=s||new pC,this.metricCalculator=i||new _D,this.canvas=null,this.canvasContext=null,this.animationFrame=null,this.prevMetrics=null,this.metrics=null,this.renderState={},this.documentCursor=null,this.dragTimer=null,this.keyHandlers=[new XR(400),new tN(450),new zR(500),new YR(900)],this.mouseHandlers=[new FR(100),new mC(200),new DR(300),new SR(400),new xR(450),new LR(500),new yR(600),new _R(700),new nh(800),new $R(825),new gR(900)],this.state={top:0,left:0,topOffset:0,leftOffset:0,draggingColumn:null,draggingRow:null,draggingRowOffset:null,draggingColumnSeparator:null,draggingRowSeparator:null,isDraggingHorizontalScrollBar:!1,isDraggingVerticalScrollBar:!1,isDragging:!1,mouseX:null,mouseY:null,movedColumns:a,movedRows:o,cursorRow:null,cursorColumn:null,selectionStartRow:null,selectionStartColumn:null,selectionEndRow:null,selectionEndColumn:null,selectedRanges:xe,lastSelectedRanges:xe,cursor:null,editingCell:null,isStuckToBottom:t,isStuckToRight:r}}componentDidMount(){var e;this.initContext(),(e=this.canvas)===null||e===void 0||e.addEventListener("wheel",this.handleWheel,{passive:!1}),window.addEventListener("resize",this.handleResize),this.updateCanvas();var{isStuckToBottom:t,isStuckToRight:r}=this.props;t&&this.scrollToBottom(),r&&this.scrollToRight()}componentDidUpdate(e,t){var{isStickyBottom:r,isStickyRight:i,movedColumns:a,movedRows:o,onMovedColumnsChanged:s,onMoveColumnComplete:l,onMovedRowsChanged:d,onMoveRowComplete:u}=this.props,{isStickyBottom:c,isStickyRight:m,movedColumns:v,movedRows:g}=e,{movedColumns:f,movedRows:p}=t,{draggingColumn:C,draggingRow:b,movedColumns:S,movedRows:E}=this.state;v!==a&&this.setState({movedColumns:a}),g!==o&&this.setState({movedRows:o}),f!==S&&s(S),t.draggingColumn!=null&&C==null&&l(S),p!==E&&d(E),t.draggingRow!=null&&b==null&&u(E),r!==c&&this.setState({isStuckToBottom:!1}),i!==m&&this.setState({isStuckToRight:!1}),this.updateMetrics(),this.requestUpdateCanvas(),this.checkStickyScroll(),this.validateSelection()&&this.checkSelectionChange(t)}componentWillUnmount(){var e;this.animationFrame!=null&&cancelAnimationFrame(this.animationFrame),(e=this.canvas)===null||e===void 0||e.removeEventListener("wheel",this.handleWheel),window.removeEventListener("mousemove",this.handleMouseDrag,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("resize",this.handleResize),this.stopDragTimer()}getTheme(){var{theme:e}=this.props;return _r.getTheme(this.context,e)}getGridPointFromEvent(e){pv(this.canvas);var t=this.canvas.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top;return this.getGridPointFromXY(r,i)}getGridPointFromXY(e,t){if(!this.metrics)throw new Error("metrics must be set");return V.getGridPointFromXY(e,t,this.metrics)}getMetricState(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,t=this.getTheme(),{model:r,stateOverride:i}=this.props;if(!this.canvasContext||!this.canvas)throw new Error("Canvas and context must be defined to get metrics");var a=this.canvasContext,o=this.canvas.clientWidth,s=this.canvas.clientHeight,{left:l,top:d,leftOffset:u,topOffset:c,movedColumns:m,movedRows:v,isDraggingHorizontalScrollBar:g,isDraggingVerticalScrollBar:f,draggingColumn:p}=e;return fa({left:l,top:d,leftOffset:u,topOffset:c,width:o,height:s,context:a,theme:t,model:r,movedColumns:m,movedRows:v,isDraggingHorizontalScrollBar:g,isDraggingVerticalScrollBar:f,draggingColumn:p},i)}getKeyHandlers(){var{keyHandlers:e}=this.props;return this.getCachedKeyHandlers(e)}getMouseHandlers(){var{mouseHandlers:e}=this.props;return this.getCachedMouseHandlers(e)}getModelColumn(e){var t,r,i=(t=this.metrics)===null||t===void 0||(r=t.modelColumns)===null||r===void 0?void 0:r.get(e);if(i===void 0)throw new Error("Unable to get ModelIndex for column ".concat(e));return i}getModelRow(e){var t,r,i=(t=this.metrics)===null||t===void 0||(r=t.modelRows)===null||r===void 0?void 0:r.get(e);if(i===void 0)throw new Error("Unable to get ModelIndex for row ".concat(e));return i}toggleRowExpanded(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.getModelRow(e),{model:i}=this.props;ze(i)&&i.isRowExpandable(r)&&i.setRowExpanded(r,!i.isRowExpanded(r),t),this.clearSelectedRanges(),this.commitSelection(),this.moveCursorToPosition(0,e),this.commitSelection(),this.setState({isStuckToBottom:!1})}scrollToBottom(){if(this.metrics){var{bottomVisible:e,rowCount:t,top:r,lastTop:i}=this.metrics;(e<t-1&&e>0||r>i)&&this.setState({top:i})}}scrollToRight(){if(this.metrics){var{rightVisible:e,columnCount:t,left:r,lastLeft:i}=this.metrics;(e<t-1&&e>0||r>i)&&this.setState({left:i})}}setSelectedRanges(e){var{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:a,cursorColumn:o,selectedRanges:s}=this.state;if(this.setState({selectedRanges:e,lastSelectedRanges:s}),e.length>0){var l=Me.boundedRange(e[0],r,i),d=a,u=o;l.containsCell(o,a)||({row:d,column:u}=l.startCell()),this.setState({selectionStartColumn:l.startColumn,selectionStartRow:l.startRow,selectionEndColumn:l.endColumn,selectionEndRow:l.endRow,cursorColumn:u,cursorRow:d})}}initContext(){var{canvas:e}=this,{canvasOptions:t}=this.props;if(!e)throw new Error("Canvas not set");this.canvasContext=e.getContext("2d",t)}requestUpdateCanvas(){this.animationFrame==null&&(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.updateCanvas()}))}updateCanvas(){this.updateCanvasScale(),this.updateMetrics(),this.updateRenderState();var{canvasContext:e,metrics:t,renderState:r}=this;L(e),L(t),L(r),this.renderer.configureContext(e,r);var{onViewChanged:i}=this.props;i(t),this.drawCanvas(t)}updateCanvasScale(){var{canvas:e,canvasContext:t}=this;if(!e)throw new Error("canvas not set");if(!t)throw new Error("canvasContext not set");if(!e.parentElement)throw new Error("Canvas has no parent element");var r=_r.getScale(t),i=e.parentElement.getBoundingClientRect(),a=Math.floor(i.width),o=Math.floor(i.height);e.style.width="".concat(a,"px"),e.style.height="".concat(o,"px"),e.width=a*r,e.height=o*r,t.scale(r,r)}updateScrollBounds(){if(!this.metrics)throw new Error("metrics not set");var{left:e,top:t}=this.state,{lastLeft:r,lastTop:i}=this.metrics;e>r&&this.setState({left:r,leftOffset:0}),t>i&&this.setState({top:i,topOffset:0})}checkStickyScroll(){if(this.metrics){if(this.prevMetrics){var{rowCount:e,columnCount:t,height:r,width:i}=this.metrics,{rowCount:a,columnCount:o,height:s,width:l}=this.prevMetrics;if(a!==e||r!==s){var{isStuckToBottom:d}=this.state;d&&this.scrollToBottom()}if(o!==t||i!==l){var{isStuckToRight:u}=this.state;u&&this.scrollToRight()}}this.prevMetrics=this.metrics}}updateMetrics(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state;this.prevMetrics=this.metrics;var{metricCalculator:t}=this,r=this.getMetricState(e);return this.metrics=t.getMetrics(r),this.updateScrollBounds(),this.metrics}checkSelectionChange(e){var{selectedRanges:t}=e,{selectedRanges:r}=this.state;if(r!==t){var{onSelectionChanged:i}=this.props;i(r)}}validateSelection(){for(var{model:e}=this.props,{selectedRanges:t}=this.state,{columnCount:r,rowCount:i}=e,a=0;a<t.length;a+=1){var o=t[a];if(o.endColumn!=null&&o.endColumn>=r||o.endRow!=null&&o.endRow>=i)return this.setState({selectedRanges:[],lastSelectedRanges:[]}),!1}return!0}clearSelectedRanges(){var{selectedRanges:e}=this.state;this.setState({selectedRanges:[],lastSelectedRanges:e})}trimSelectedRanges(){var{selectedRanges:e}=this.state;e.length>0&&this.setState({selectedRanges:e.slice(e.length-1)})}beginSelection(e,t){this.setState({selectionStartColumn:e,selectionStartRow:t,selectionEndColumn:e,selectionEndRow:t,cursorColumn:e,cursorRow:t})}moveSelection(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;this.setState(a=>{var{selectedRanges:o,selectionStartRow:s,selectionStartColumn:l}=a,{theme:d}=this.props,{autoSelectRow:u,autoSelectColumn:c}=d;if(r&&o.length>0){var m=o[o.length-1],v=null,g=null,f=null,p=null;if(i){var C,b,S,E;v=u!==void 0&&u?null:Math.min(e??0,(C=m.startColumn)!==null&&C!==void 0?C:0),g=c!==void 0&&c?null:Math.min(t??0,(b=m.startRow)!==null&&b!==void 0?b:0),f=u!==void 0&&u?null:Math.max(e??0,(S=m.endColumn)!==null&&S!==void 0?S:0),p=c!==void 0&&c?null:Math.max(t??0,(E=m.endRow)!==null&&E!==void 0?E:0)}else v=m.startColumn,g=m.startRow,(l!=null||s!=null)&&((u===void 0||!u)&&(v=l),(c===void 0||!c)&&(g=s)),f=u!==void 0&&u?null:e,p=c!==void 0&&c?null:t;var y=Me.makeNormalized(v,g,f,p);if(m.equals(y))return null;var T=[...o];return T[T.length-1]=y,{selectedRanges:T,selectionEndColumn:e,selectionEndRow:t}}var O=[...o],D=u!==void 0&&u?null:e,P=c!==void 0&&c?null:t;return O.push(Me.makeNormalized(D,P,D,P)),{selectedRanges:O,selectionEndColumn:e,selectionEndRow:t}})}commitSelection(){this.setState(e=>{var{theme:t}=this.props,{autoSelectRow:r}=t,{selectedRanges:i,lastSelectedRanges:a,cursorRow:o,cursorColumn:s}=e;if(i.length===1&&(r!==void 0&&r?Me.rowCount(i)===1:Me.cellCount(i)===1)&&Me.rangeArraysEqual(i,a))return{selectedRanges:[],lastSelectedRanges:[],cursorColumn:null,cursorRow:null};var l=i.slice();if(l.length>1){for(var d=l[l.length-1],u=0;u<l.length-1;u+=1){var c=l[u];if(c.contains(d)){var m=c.subtract(d);l.pop(),l.splice(u,1),l=l.concat(m);break}}l=Me.consolidate(l)}var v=s,g=o;if(!Me.containsCell(l,s,o)){var{model:f}=this.props,{columnCount:p,rowCount:C}=f,b=Me.nextCell(Me.boundedRanges(i,p,C));b!=null?{column:v,row:g}=b:(v=null,g=null)}return l.length===0&&(v=null,g=null),{cursorRow:g,cursorColumn:v,selectedRanges:l,lastSelectedRanges:i}})}setFocusRow(e){var t;if(!(!this.metrics||!this.prevMetrics)){var{gridY:r,height:i,lastTop:a,userRowHeights:o,rowHeight:s}=this.metrics,l=i-r,d=Math.round(l/2)+((t=o.get(e))!==null&&t!==void 0?t:s),u=this.getMetricState(),c=this.metricCalculator.getLastTop(u,e+1,d);this.setState({top:Math.min(a,c),selectedRanges:[new Me(null,e,null,e)],isStuckToBottom:!1});var{cursorColumn:m}=this.state;this.moveCursorToPosition(m,e,!1,!1)}}selectAll(){var{model:e,theme:t}=this.props,{autoSelectRow:r,autoSelectColumn:i}=t,a=i!==void 0&&i?null:0,o=i!==void 0&&i?null:e.rowCount-1,s=r!==void 0&&r?null:0,l=r!==void 0&&r?null:e.columnCount-1;this.setSelectedRanges([new Me(s,a,l,o)])}moveCursor(e,t,r){var{cursorRow:i,cursorColumn:a,selectionEndColumn:o,selectionEndRow:s}=this.state,l=r?o:a,d=r?s:i;if(d===null||l===null){var{left:u,top:c}=this.state;this.moveCursorToPosition(u,c,r)}else{var{model:m}=this.props,{columnCount:v,rowCount:g}=m,f=Ve(l+e,0,v-1),p=Ve(d+t,0,g-1);this.moveCursorToPosition(f,p,r)}}moveCursorInDirection(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Me.SELECTION_DIRECTION.DOWN,{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:a,cursorColumn:o,selectedRanges:s}=this.state,l=s.length>0?s:[Me.makeCell(o,a)],d=null;if(l.length===1&&Me.cellCount(l)===1){var u,c=new Me(0,0,r-1,i-1);d=(u=c.nextCell(o,a,e))!==null&&u!==void 0?u:c.startCell(e)}else d=Me.nextCell(Me.boundedRanges(l,r,i),o,a,e);if(d!=null){var{column:m,row:v}=d;this.setState({cursorColumn:m,cursorRow:v}),Me.containsCell(s,m,v)||this.setState({selectedRanges:[Me.makeCell(m,v)],selectionStartColumn:m,selectionStartRow:v,selectionEndColumn:m,selectionEndRow:v}),this.moveViewToCell(d.column,d.row)}}moveCursorToPosition(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;r||this.beginSelection(e,t),this.moveSelection(e,t,r,a),i&&this.moveViewToCell(e,t)}moveViewToCell(e,t){if(!this.metrics)throw new Error("metrics not set");var{metricCalculator:r}=this,{bottomVisible:i,rightVisible:a,topVisible:o,leftVisible:s}=this.metrics,l=this.getMetricState(this.state),{top:d,left:u,topOffset:c,leftOffset:m}=this.state;t!=null&&!V.isFloatingRow(t,this.metrics)&&(t<o?(d=r.getTopForTopVisible(l,t),c=0):t>i&&(d=r.getTopForBottomVisible(l,t),c=0)),e!=null&&!V.isFloatingColumn(e,this.metrics)&&(e<s?(u=r.getLeftForLeftVisible(l,e),m=0):e>a&&(u=r.getLeftForRightVisible(l,e),m=0)),this.setViewState({top:d,left:u,topOffset:c,leftOffset:m})}setViewState(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!this.metrics)throw new Error("metrics not set");var{isStickyBottom:r,isStickyRight:i}=this.props,{top:a,left:o}=e,{lastTop:s,lastLeft:l}=this.metrics;a!=null&&this.setState({isStuckToBottom:r&&a>=s}),o!=null&&this.setState({isStuckToRight:i&&o>=l}),this.setState(e),t&&this.forceUpdate()}startEditing(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,{model:o}=this.props;if(!nt(o))throw new Error("model is not editable");var s=this.getModelColumn(e),l=this.getModelRow(t),d={column:e,row:t,selectionRange:i,value:a!==void 0?a:o.editValueForCell(s,l),isQuickEdit:r};this.setState({editingCell:d,cursorColumn:e,cursorRow:t}),this.moveViewToCell(e,t)}isValidForCell(e,t,r){var{model:i}=this.props,a=this.getModelColumn(e),o=this.getModelRow(t);return nt(i)&&i.isValidForCell(a,o,r)}pasteValue(e){var t=this;return aN(function*(){var{model:r}=t.props,{movedColumns:i,movedRows:a,selectedRanges:o}=t.state;try{if(Cv(r),!r.isEditable||!o.every(p=>r.isEditableRange(p)))throw new Cu("Can't paste in to read-only area.");if(o.length<=0)throw new Cu("Select an area to paste to.");if(typeof e=="string"){var s=[],l=V.getModelRanges(o,i,a);Me.forEachCell(l,(p,C)=>{s.push({column:p,row:C,text:e})}),yield r.setValues(s);return}var d=e.length,u=e[0].length,{columnCount:c,rowCount:m}=r,v=o;if(v.every(p=>{var C,b;return Me.cellCount([p])===1&&((C=p.startColumn)!==null&&C!==void 0?C:0)+u<=c&&((b=p.startRow)!==null&&b!==void 0?b:0)+d<=m})&&(v=v.map(p=>{var C,b;return new Me(p.startColumn,p.startRow,((C=p.startColumn)!==null&&C!==void 0?C:0)+u-1,((b=p.startRow)!==null&&b!==void 0?b:0)+d-1)}),t.setSelectedRanges(v)),!v.every(p=>Me.rowCount([p])===d&&Me.columnCount([p])===u))throw new Cu("Copy and paste area are not same size.");var g=[];v.forEach(p=>{for(var C=0;C<u;C+=1)for(var b=0;b<d;b+=1){var S,E;g.push({column:((S=p.startColumn)!==null&&S!==void 0?S:0)+C,row:((E=p.startRow)!==null&&E!==void 0?E:0)+b,text:e[b][C]})}}),yield r.setValues(g)}catch(p){var{onError:f}=t.props;f(p instanceof Error?p:new Error("".concat(p)))}})()}setValueForCell(e,t,r){var{model:i}=this.props;Cv(i);var a=this.getModelColumn(e),o=this.getModelRow(t);return i.isValidForCell(a,o,r)?(i.setValueForCell(a,o,r),!0):!1}setValueForRanges(e,t){var{model:r}=this.props,{movedColumns:i,movedRows:a}=this.state,o=V.getModelRanges(e,i,a);nt(r)&&r.setValueForRanges(o,t)}isSelected(e,t){for(var{selectedRanges:r}=this.state,i=0;i<r.length;i+=1){var a,o,s=r[i],l=s.startRow===null||s.startRow<=e&&e<=((a=s.endRow)!==null&&a!==void 0?a:0),d=s.startColumn===null||s.startColumn<=t&&t<=((o=s.endColumn)!==null&&o!==void 0?o:0);if(l&&d)return!0}return!1}addDocumentCursor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.documentCursor!==_r.getCursorClassName(e)&&(this.documentCursor!=null&&document.documentElement.classList.remove(this.documentCursor),this.documentCursor=_r.getCursorClassName(e),this.documentCursor!=null&&document.documentElement.classList.add(this.documentCursor),document.documentElement.classList.add("grid-block-events"))}removeDocumentCursor(){this.documentCursor!=null&&(document.documentElement.classList.remove(this.documentCursor),document.documentElement.classList.remove("grid-block-events"),this.documentCursor=null)}startDragTimer(e){this.stopDragTimer();var t=new MouseEvent("custom",e.nativeEvent);this.dragTimer=setTimeout(()=>{this.handleMouseDrag(t)},_r.dragTimeout)}stopDragTimer(){this.dragTimer&&(clearTimeout(this.dragTimer),this.dragTimer=null)}drawCanvas(){if(arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.updateMetrics(),!this.canvas)throw new Error("canvas is not set");if(!this.canvasContext)throw new Error("context not set");var{renderer:e,canvasContext:t,renderState:r}=this;t.save(),e.drawCanvas(r),t.restore()}focus(){var e;(e=this.canvas)===null||e===void 0||e.focus()}isFocused(){return document.activeElement===this.canvas}handleClick(e){for(var t,r=this.getGridPointFromEvent(e),i=this.getMouseHandlers(),a=0;a<i.length;a+=1){var o=i[a];if(o.onClick(r,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}(t=this.canvas)===null||t===void 0||t.focus()}handleContextMenu(e){for(var t=this.getGridPointFromEvent(e),r=this.getMouseHandlers(),i=0;i<r.length;i+=1){var a=r[i];if(a.onContextMenu(t,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}}handleKeyDown(e){for(var t=this.getKeyHandlers(),r=0;r<t.length;r+=1){var i=t[r],a=i.onDown(e,this);if(a!==!1){var o,s,l=a;(!((o=l?.stopPropagation)!==null&&o!==void 0)||o)&&e.stopPropagation(),(!((s=l?.preventDefault)!==null&&s!==void 0)||s)&&e.preventDefault();break}}}notifyMouseHandlers(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=this.getGridPointFromEvent(t),o=this.getMouseHandlers(),s=null,l=0;l<o.length;l+=1){var d=o[l],u=d[e]!=null&&d[e](a,this,t);if(u!==!1){var c,m;d.cursor!=null&&({cursor:s}=d,i&&this.addDocumentCursor(s));var v=u;(!((c=v?.stopPropagation)!==null&&c!==void 0)||c)&&t.stopPropagation(),(!((m=v?.preventDefault)!==null&&m!==void 0)||m)&&t.preventDefault();break}}if(this.setState({cursor:s}),r){var{x:g,y:f}=a;this.setState({mouseX:g,mouseY:f})}}handleMouseDown(e){window.addEventListener("mousemove",this.handleMouseDrag,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),!(e.button!=null&&e.button!==0)&&(this.notifyMouseHandlers("onDown",e),this.startDragTimer(e))}handleDoubleClick(e){this.notifyMouseHandlers("onDoubleClick",e)}handleMouseMove(e){this.notifyMouseHandlers("onMove",e)}handleMouseLeave(e){this.notifyMouseHandlers("onLeave",e,!1),this.setState({mouseX:null,mouseY:null})}handleMouseDrag(e){this.setState({isDragging:!0}),this.notifyMouseHandlers("onDrag",e,!0,!0),this.stopDragTimer()}handleMouseUp(e){window.removeEventListener("mousemove",this.handleMouseDrag,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),!(e.button!=null&&e.button!==0)&&(this.notifyMouseHandlers("onUp",e,!1),this.stopDragTimer(),this.removeDocumentCursor())}handleResize(){if(this.updateCanvas(),!this.metrics)throw new Error("metrics not set");this.forceUpdate()}handleWheel(e){if(this.notifyMouseHandlers("onWheel",e),!e.defaultPrevented){var{metricCalculator:t,metrics:r}=this,i=this.getMetricState();if(!r)throw new Error("metrics not set");for(var{lastTop:a,lastLeft:o,columnCount:s,rowCount:l,scrollableContentWidth:d,scrollableViewportWidth:u,scrollableContentHeight:c,scrollableViewportHeight:m,hasHorizontalBar:v,hasVerticalBar:g}=r,{top:f,left:p,topOffset:C,leftOffset:b}=r,S=this.getTheme(),{deltaX:E,deltaY:y}=V.getScrollDelta(e,r.barWidth,r.barHeight,r.rowHeight,r.rowHeight);v&&E!==0;){if(b+=E,E=0,s>1){if(b>0&&p>=o||b<0&&p<=0){b=0;break}}else{if(b<=0){b=0;break}var T=d-u;if(b>=T){b=T;break}}if(b>0){var O,D=(O=r.allColumnWidths.get(p))!==null&&O!==void 0?O:t.getVisibleColumnWidth(p,i);b>=D?(E=b-D,b=0,p+=1):S.scrollSnapToColumn&&s>1&&(b=0,p+=1)}else if(b<0){var P,R=(P=r.allColumnWidths.get(p-1))!==null&&P!==void 0?P:t.getVisibleColumnWidth(p-1,i);Math.abs(b)<=R&&S.scrollSnapToColumn&&s>1?(b=0,p-=1):(E=b+R,b=0,p-=1)}}for(;g&&y!==0;){if(C+=y,y=0,l>1){if(C>0&&f>=a||C<0&&f<=0){C=0;break}}else{if(C<=0){C=0;break}var _=c-m;if(C>=_){C=_;break}}if(C>0){var M,A=(M=r.allRowHeights.get(f))!==null&&M!==void 0?M:t.getVisibleRowHeight(f,i);C>=A?(y=C-A,C=0,f+=1):S.scrollSnapToRow&&l>1&&(C=0,f+=1)}else if(C<0){var B,$=(B=r.allRowHeights.get(f-1))!==null&&B!==void 0?B:t.getVisibleRowHeight(f-1,i);Math.abs(C)<=$&&S.scrollSnapToRow&&l>1?(C=0,f-=1):(y=C+$,C=0,f-=1)}}this.setViewState({top:f,left:p,leftOffset:b,topOffset:C}),e.stopPropagation(),e.preventDefault()}}handleEditCellCancel(){this.setState({editingCell:null}),this.focus()}handleEditCellChange(e){this.setState(t=>{var{editingCell:r}=t;try{return pv(r),{editingCell:fa(fa({},r),{},{value:e})}}catch(a){var{onError:i}=this.props;return i(a instanceof Error?a:new Error("".concat(a))),null}})}handleEditCellCommit(e){var{direction:t=tn.DOWN,fillRange:r=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{editingCell:i,selectedRanges:a}=this.state;if(!i)throw new Error("editingCell not set");var{column:o,row:s}=i;if(!this.isValidForCell(o,s,e)){t===null&&this.setState({editingCell:null});return}r?this.setValueForRanges(a,e):this.setValueForCell(o,s,e),t!==null&&this.moveCursorInDirection(t),this.setState({editingCell:null}),this.focus()}renderInputField(){var{model:e}=this.props,{editingCell:t}=this.state,{metrics:r}=this;if(t==null||r==null||!nt(e))return null;var{selectionRange:i,value:a,isQuickEdit:o}=t,{column:s,row:l}=t,{gridX:d,gridY:u,allColumnXs:c,allRowYs:m,allColumnWidths:v,allRowHeights:g}=r,f=c.get(s),p=m.get(l),C=v.get(s),b=g.get(l),S=f!=null&&p!=null&&C!=null&&b!=null?{position:"absolute",left:d+f,top:u+p,width:C,height:b}:{opacity:0},E=this.getModelColumn(s),y=this.getModelRow(l),T=E!=null&&y!=null?{textAlign:e.textAlignForCell(E,y)}:void 0,O=e.isValidForCell(E,y,a);return h.createElement("div",{style:S},h.createElement(lc,{key:"".concat(s,",").concat(l),selectionRange:i,className:te({error:!O}),onCancel:this.handleEditCellCancel,onChange:this.handleEditCellChange,onDone:this.handleEditCellCommit,isQuickEdit:o,style:T,value:a}))}updateRenderState(){if(!this.canvas)throw new Error("canvas is not set");if(!this.canvasContext)throw new Error("context not set");var{cursorColumn:e,cursorRow:t,draggingColumn:r,draggingColumnSeparator:i,draggingRow:a,draggingRowOffset:o,draggingRowSeparator:s,editingCell:l,isDraggingHorizontalScrollBar:d,isDraggingVerticalScrollBar:u,isDragging:c,mouseX:m,mouseY:v,selectedRanges:g}=this.state,{model:f,stateOverride:p}=this.props,{metrics:C}=this,b=this.canvasContext,S=this.getTheme(),E=this.canvas.clientWidth,y=this.canvas.clientHeight;return L(C),this.renderState=fa({width:E,height:y,context:b,theme:S,model:f,metrics:C,mouseX:m,mouseY:v,selectedRanges:g,draggingColumn:r,draggingColumnSeparator:i,draggingRow:a,draggingRowOffset:o,draggingRowSeparator:s,editingCell:l,isDraggingHorizontalScrollBar:d,isDraggingVerticalScrollBar:u,isDragging:c,cursorColumn:e,cursorRow:t},p),this.renderState}render(){var{cursor:e}=this.state;return h.createElement(h.Fragment,null,h.createElement("canvas",{className:te("grid-canvas",_r.getCursorClassName(e)),ref:t=>{this.canvas=t},onClick:this.handleClick,onContextMenu:this.handleContextMenu,onDoubleClick:this.handleDoubleClick,onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,tabIndex:0},"Your browser does not support HTML canvas. Update your browser?"),this.renderInputField())}}Et(_r,"contextType",iN);Et(_r,"defaultProps",{canvasOptions:{alpha:!1},isStickyBottom:!1,isStickyRight:!1,isStuckToBottom:!1,isStuckToRight:!1,keyHandlers:xe,mouseHandlers:xe,movedColumns:xe,movedRows:xe,onError:()=>{},onSelectionChanged:()=>{},onMovedColumnsChanged:n=>{},onMoveColumnComplete:()=>{},onMovedRowsChanged:()=>{},onMoveRowComplete:()=>{},onViewChanged:n=>{},onTokenClicked:n=>{$l(n)&&window.open(n.href,"_blank","noopener,noreferrer")},stateOverride:{},theme:{autoSelectColumn:!1,autoSelectRow:!1}});Et(_r,"pixelsPerLine",100/3);Et(_r,"dragTimeout",1e3);Et(_r,"getTheme",fe((n,e)=>fa(fa(fa({},AD),n),e)));const lN=_r;function dN(n,e,t){return e=uN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uN(n){var e=hN(n,"string");return typeof e=="symbol"?e:String(e)}function hN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var bu=5e3;class cN extends eS{constructor(){super(...arguments),dN(this,"getCachedTokensInText",En((e,t)=>{if(t>=e.length)return V.findTokensWithProtocolInText(e);var r=e.slice(t-1,bu).search(/\s/),i=t+r;r===-1&&(i=Math.min(bu,e.length));var a=e.substring(0,i);return V.findTokensWithProtocolInText(a)}))}get floatingTopRowCount(){return 0}get floatingBottomRowCount(){return 0}get floatingLeftColumnCount(){return 0}get floatingRightColumnCount(){return 0}get columnHeaderMaxDepth(){return 1}truncationCharForCell(e,t){}textAlignForCell(e,t){return"left"}colorForCell(e,t,r){return r.textColor}backgroundColorForCell(e,t,r){return null}colorForColumnHeader(e){return null}textForRowHeader(e){return""}textForRowFooter(e){return""}isColumnMovable(e){return!0}isRowMovable(e){return!0}getColumnHeaderGroup(e,t){}getColumnHeaderParentGroup(e,t){}tokensForCell(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bu,i=this.textForCell(e,t);return this.getCachedTokensInText(i,r)}renderTypeForCell(e,t){return"text"}}const mN=cN;function vN(n,e){var t=pN(n);if(t!==void 0){var r=yN(n);return"".concat(r," ? ").concat(t," : ").concat(e)}}function gN(n,e){return n.Column.formatRowColor(e)}function fN(n,e){return n.formatColor(e)}var Zo=ie.module("ConditionalFormattingUtils"),wr;(function(n){n.CONDITIONAL="conditional",n.ROWS="rows"})(wr||(wr={}));var me;(function(n){n.IS_EQUAL="is-equal",n.IS_NOT_EQUAL="is-not-equal",n.IS_BETWEEN="is-between",n.GREATER_THAN="greater-than",n.GREATER_THAN_OR_EQUAL="greater-than-or-equal",n.LESS_THAN="less-than",n.LESS_THAN_OR_EQUAL="less-than-or-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(me||(me={}));var Ne;(function(n){n.IS_EXACTLY="is-exactly",n.IS_NOT_EXACTLY="is-not-exactly",n.CONTAINS="contains",n.DOES_NOT_CONTAIN="does-not-contain",n.STARTS_WITH="starts-with",n.ENDS_WITH="ends-with",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Ne||(Ne={}));var De;(function(n){n.IS_EXACTLY="is-exactly",n.IS_NOT_EXACTLY="is-not-exactly",n.IS_BEFORE="is-before",n.IS_BEFORE_OR_EQUAL="is-before-or-equal",n.IS_AFTER="is-after",n.IS_AFTER_OR_EQUAL="is-after-or-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(De||(De={}));var Rt;(function(n){n.IS_TRUE="is-true",n.IS_FALSE="is-false",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Rt||(Rt={}));var Ct;(function(n){n.IS_EQUAL="is-equal",n.IS_NOT_EQUAL="is-not-equal",n.IS_NULL="is-null",n.IS_NOT_NULL="is-not-null"})(Ct||(Ct={}));var Fe;(function(n){n.NO_FORMATTING="no-formatting",n.POSITIVE="positive",n.NEGATIVE="negative",n.WARN="warn",n.NEUTRAL="neutral",n.ACCENT_1="accent-1",n.ACCENT_2="accent-2",n.CUSTOM="custom"})(Fe||(Fe={}));function Av(n){switch(n){case Fe.NO_FORMATTING:return"No formatting";case Fe.POSITIVE:return"Positive";case Fe.NEGATIVE:return"Negative";case Fe.WARN:return"Warn";case Fe.NEUTRAL:return"Neutral";case Fe.ACCENT_1:return"Accent 1";case Fe.ACCENT_2:return"Accent 2";case Fe.CUSTOM:return"Custom..."}}function Vl(n){var{type:e,customConfig:t}=n;switch(e){case Fe.NO_FORMATTING:return;case Fe.POSITIVE:return"#9fde6f";case Fe.NEGATIVE:return"#ff6087";case Fe.WARN:return"#f67f40";case Fe.NEUTRAL:return"#ffd95c";case Fe.ACCENT_1:return"#78dce8";case Fe.ACCENT_2:return"#ab9bf5";case Fe.CUSTOM:return t?.background;default:return}}function Gl(n){var{type:e,customConfig:t}=n;switch(e){case Fe.NO_FORMATTING:return;case Fe.POSITIVE:return"#526a3f";case Fe.NEGATIVE:return"#802f44";case Fe.WARN:return"#663318";case Fe.NEUTRAL:return"#63562b";case Fe.ACCENT_1:return"#3f6469";case Fe.ACCENT_2:return"#554d72";case Fe.CUSTOM:return t?.color;default:return}}function pN(n){var e=Gl(n.style),t=Vl(n.style);if(!(e===void 0||t===void 0))return"bgfg(`".concat(t,"`, `").concat(e,"`)")}function CN(n){var{column:e,value:t,start:r,end:i}=n;return AN(e.name,n.condition,t,r,i)}function bN(n){var{column:e,value:t}=n;return LN(e.name,n.condition,t)}function SN(n){var{column:e,value:t}=n;return kN(e.name,n.condition,t)}function wN(n){var{column:e}=n;return xN(e.name,n.condition)}function EN(n){var{column:e,value:t}=n;return HN(e.name,n.condition,t)}function yN(n){var{column:e}=n;if(H.isNumberType(e.type))return CN(n);if(H.isCharType(e.type))return EN(n);if(H.isStringType(e.type))return bN(n);if(H.isDateType(e.type))return SN(n);if(H.isBooleanType(e.type))return wN(n);throw new Error("Invalid column type")}function TN(n){switch(n){case me.IS_EQUAL:return"is equal to";case me.IS_NOT_EQUAL:return"is not equal to";case me.IS_BETWEEN:return"is between";case me.GREATER_THAN:return"greater than";case me.GREATER_THAN_OR_EQUAL:return"greater than or equal to";case me.LESS_THAN:return"less than";case me.LESS_THAN_OR_EQUAL:return"less than or equal to";case me.IS_NULL:return"is null";case me.IS_NOT_NULL:return"is not null"}}function PN(n){switch(n){case Ne.IS_EXACTLY:return"is exactly";case Ne.IS_NOT_EXACTLY:return"is not exactly";case Ne.CONTAINS:return"contains";case Ne.DOES_NOT_CONTAIN:return"does not contain";case Ne.STARTS_WITH:return"starts with";case Ne.ENDS_WITH:return"ends with";case Ne.IS_NULL:return"is null";case Ne.IS_NOT_NULL:return"is not null"}}function ON(n){switch(n){case De.IS_EXACTLY:return"is";case De.IS_NOT_EXACTLY:return"is not";case De.IS_BEFORE:return"is before";case De.IS_BEFORE_OR_EQUAL:return"is before or equal";case De.IS_AFTER:return"is after";case De.IS_AFTER_OR_EQUAL:return"is after or equal";case De.IS_NULL:return"is null";case De.IS_NOT_NULL:return"is not null"}}function DN(n){switch(n){case Rt.IS_TRUE:return"is true";case Rt.IS_FALSE:return"is false";case Rt.IS_NULL:return"is null";case Rt.IS_NOT_NULL:return"is not null"}}function RN(n){switch(n){case Ct.IS_EQUAL:return"is";case Ct.IS_NOT_EQUAL:return"is not";case Ct.IS_NULL:return"is null";case Ct.IS_NOT_NULL:return"is not null"}}function bC(n){if(H.isNumberType(n))return me.IS_EQUAL;if(H.isCharType(n))return Ct.IS_EQUAL;if(H.isStringType(n))return Ne.IS_EXACTLY;if(H.isDateType(n))return De.IS_EXACTLY;if(H.isBooleanType(n))return Rt.IS_TRUE;throw new Error("Invalid column type")}function SC(n){if(H.isCharType(n)||H.isStringType(n))return""}function wC(n){var{condition:e,value:t,start:r,end:i}=n;return{condition:e,value:t,start:r,end:i}}function Pd(n){return{condition:bC(n),value:SC(n),start:void 0,end:void 0}}function EC(){return{type:Fe.NO_FORMATTING}}function NN(n){switch(n){case Ne.IS_EXACTLY:return"==";case Ne.IS_NOT_EXACTLY:return"!=";case Ne.CONTAINS:return"contains";case Ne.DOES_NOT_CONTAIN:return"does not contain";case Ne.STARTS_WITH:return"starts with";case Ne.ENDS_WITH:return"ends with";case Ne.IS_NULL:return"is null";case Ne.IS_NOT_NULL:return"is not null"}}function FN(n){switch(n){case De.IS_EXACTLY:return"==";case De.IS_NOT_EXACTLY:return"!=";case De.IS_BEFORE:return"<";case De.IS_BEFORE_OR_EQUAL:return"<=";case De.IS_AFTER:return">";case De.IS_AFTER_OR_EQUAL:return">=";case De.IS_NULL:return"is null";case De.IS_NOT_NULL:return"is not null"}}function IN(n){switch(n){case Rt.IS_TRUE:return"is true";case Rt.IS_FALSE:return"is false";case Rt.IS_NULL:return"is null";case Rt.IS_NOT_NULL:return"is not null"}}function _N(n){switch(n){case Ct.IS_EQUAL:return"==";case Ct.IS_NOT_EQUAL:return"!=";case Ct.IS_NULL:return"is null";case Ct.IS_NOT_NULL:return"is not null"}}function MN(n){switch(n){case me.IS_EQUAL:return"==";case me.IS_NOT_EQUAL:return"!=";case me.IS_BETWEEN:return"==";case me.GREATER_THAN:return">";case me.GREATER_THAN_OR_EQUAL:return">=";case me.LESS_THAN:return"<";case me.LESS_THAN_OR_EQUAL:return"<=";case me.IS_NULL:return"is null";case me.IS_NOT_NULL:return"is not null"}}function AN(n,e,t,r,i){switch(e){case me.IS_EQUAL:return"".concat(n," == ").concat(t);case me.IS_NOT_EQUAL:return"".concat(n," != ").concat(t);case me.IS_BETWEEN:return"".concat(n," > ").concat(r," && ").concat(n," < ").concat(i);case me.GREATER_THAN:return"".concat(n," > ").concat(t);case me.GREATER_THAN_OR_EQUAL:return"".concat(n," >= ").concat(t);case me.LESS_THAN:return"".concat(n," < ").concat(t);case me.LESS_THAN_OR_EQUAL:return"".concat(n," <= ").concat(t);case me.IS_NULL:return"".concat(n," == null");case me.IS_NOT_NULL:return"".concat(n," != null")}}function LN(n,e,t){switch(e){case Ne.IS_EXACTLY:return"".concat(n,' == "').concat(t,'"');case Ne.IS_NOT_EXACTLY:return"".concat(n,' != "').concat(t,'"');case Ne.CONTAINS:return"".concat(n," != null && ").concat(n,'.contains("').concat(t,'")');case Ne.DOES_NOT_CONTAIN:return"".concat(n," != null && !").concat(n,'.contains("').concat(t,'")');case Ne.STARTS_WITH:return"".concat(n," != null && ").concat(n,'.startsWith("').concat(t,'")');case Ne.ENDS_WITH:return"".concat(n," != null && ").concat(n,'.endsWith("').concat(t,'")');case Ne.IS_NULL:return"".concat(n," == null");case Ne.IS_NOT_NULL:return"".concat(n," != null")}}function kN(n,e,t){switch(e){case De.IS_EXACTLY:return"".concat(n,' == convertDateTime("').concat(t,'")');case De.IS_NOT_EXACTLY:return"".concat(n," != convertDateTime(`").concat(t,"`)");case De.IS_BEFORE:return"".concat(n," < convertDateTime(`").concat(t,"`)");case De.IS_BEFORE_OR_EQUAL:return"".concat(n,' <= convertDateTime("').concat(t,'")');case De.IS_AFTER:return"".concat(n," > convertDateTime(`").concat(t,"`)");case De.IS_AFTER_OR_EQUAL:return"".concat(n," >= convertDateTime(`").concat(t,"`)");case De.IS_NULL:return"".concat(n," == null");case De.IS_NOT_NULL:return"".concat(n," != null")}}function xN(n,e){switch(e){case Rt.IS_TRUE:return"".concat(n," == true");case Rt.IS_FALSE:return"".concat(n," == false");case Rt.IS_NULL:return"".concat(n," == null");case Rt.IS_NOT_NULL:return"".concat(n," != null")}}function HN(n,e,t){switch(e){case Ct.IS_EQUAL:return"".concat(n," == '").concat(t,"'");case Ct.IS_NOT_EQUAL:return"".concat(n," != '").concat(t,"'");case Ct.IS_NULL:return"isNull(".concat(n,")");case Ct.IS_NOT_NULL:return"!isNull(".concat(n,")")}}function UN(n,e){if(H.isNumberType(n))return MN(e);if(H.isCharType(n))return _N(e);if(H.isStringType(n))return NN(e);if(H.isDateType(n))return FN(e);if(H.isBooleanType(n))return IN(e);throw new Error("Invalid column type")}function $N(n,e,t){if(t===void 0)return Zo.debug("no rules passed."),[];var r=[],i,a=new Map;return t.forEach(o=>{var s,{config:l,type:d}=o,{column:u}=l,c=e.find(C=>{var{name:b,type:S}=C;return b===u.name&&S===u.type});if(c===void 0){Zo.debug("Column ".concat(u.name,":").concat(u.type," not found. Ignoring format rule."),l);return}var[m,v]=(s=d===wr.CONDITIONAL?a.get(c.name):i)!==null&&s!==void 0?s:["null",void 0],g=vN(l,m);if(g===void 0){Zo.debug("Ignoring format rule.",l);return}var f=v===void 0?-1:r.indexOf(v);f>-1&&r.splice(f,1);var p=d===wr.CONDITIONAL?fN(c,g):gN(n,g);r.push(p),d===wr.CONDITIONAL?a.set(c.name,[g,p]):i=[g,p]}),r}function BN(n,e,t){switch(e){case De.IS_NULL:case De.IS_NOT_NULL:return!0;default:{var[r,...i]=(t??"").split(" "),a=i.join(" ");try{Ea.parseDateTimeString(r)}catch{return Zo.debug("Invalid datetime string",r),!1}try{n.i18n.TimeZone.getTimeZone(a)}catch{return Zo.debug("Invalid timezone string",a),!1}return!0}}}function VN(n){var{type:e}=n;return H.isNumberType(e)||H.isCharType(e)||H.isStringType(e)||H.isDateType(e)||H.isBooleanType(e)}function Od(n){var{animation:e="iris-grid-bottom-bar-slide-up",children:t,className:r,isShown:i,onClick:a,onEntering:o,onEntered:s,onExiting:l,onExited:d}=n;return h.createElement(kr,{in:i,timeout:et.transitionMs,classNames:e,onEntering:o,onEntered:s,onExiting:l,onExited:d,mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:te("iris-grid-bottom-bar",r),role:"presentation",onClick:a,onKeyPress:a},t))}var GN=3e3,WN=5;function jN(n){var{isSaving:e=!1,onSave:t,onDiscard:r,discardTooltip:i,saveTooltip:a,error:o,pendingDataErrors:s,pendingDataMap:l,onEntering:d,onEntered:u,onExiting:c,onExited:m}=n,[v,g]=w.useState(!1),[f,p]=w.useState(!1),C=w.useRef(),b=$h(e),S=w.useMemo(()=>s.size===0?o:s.size<=WN?"Key can't be empty (on pending row".concat(s.size>1?"s":""," ").concat(Array.from(s.keys()).join(", ").trim(),")"):"Key can't be empty (on ".concat(s.size," rows)"),[o,s]);w.useEffect(function(){b!=null&&b&&!e&&S==null&&(g(!0),p(!0),C.current=setTimeout(()=>{g(!1)},GN))},[S,e,b]),w.useEffect(function(){C.current&&l.size>0&&(clearTimeout(C.current),g(!1),p(!1))},[l]),w.useEffect(function(){return()=>C.current?clearTimeout(C.current):void 0},[]);var E=l.size,y;return e?y=h.createElement(Hn,null):f&&(y=Ah),h.createElement(Od,{className:"pending-data-bottom-bar",isShown:E>0||v||S!=null,onEntering:d,onEntered:u,onExiting:c,onExited:()=>{p(!1),m&&m()}},S!=null&&S!==""&&h.createElement("div",{className:"error-message"},h.createElement(re,{icon:Wi}),h.createElement("span",null,"".concat(S))),(S==null||S==="")&&h.createElement("div",{className:"status-message"},E>0&&h.createElement("span",null,"".concat(E," row").concat(E>1?"s":""," pending"))),h.createElement("div",{className:"buttons-container"},!e&&!f&&h.createElement(j,{kind:"secondary",onClick:r,tooltip:i},"Discard"),h.createElement(j,{kind:f?"success":"primary",onClick:t,icon:y,disabled:e||f||S!=null,tooltip:a},e&&"Committing...",!e&&f&&"Success",!e&&!f&&"Commit")))}var ih;(function(n){n.COUNT="Count",n.MIN="Min",n.MAX="Max",n.SUM="Sum",n.ABS_SUM="AbsSum",n.VAR="Var",n.AVG="Avg",n.STD="Std",n.FIRST="First",n.LAST="Last",n.SKIP="Skip",n.COUNT_DISTINCT="CountDistinct",n.DISTINCT="Distinct",n.UNIQUE="Unique"})(ih||(ih={}));const Be=ih;var zN=[Be.SUM,Be.ABS_SUM,Be.MIN,Be.MAX,Be.VAR,Be.AVG,Be.STD,Be.FIRST,Be.LAST,Be.COUNT_DISTINCT,Be.DISTINCT,Be.COUNT,Be.UNIQUE],KN=n=>{switch(n){default:return!1}},YN=(n,e)=>{switch(n){case Be.COUNT:case Be.FIRST:case Be.LAST:case Be.COUNT_DISTINCT:case Be.DISTINCT:case Be.UNIQUE:return!0;case Be.MIN:case Be.MAX:return H.isNumberType(e)||H.isDateType(e)||H.isTextType(e);case Be.SUM:case Be.ABS_SUM:case Be.VAR:case Be.AVG:case Be.STD:return H.isNumberType(e);case Be.SKIP:return!1}},dc=(n,e)=>n.filter(t=>YN(e,t.type)),qN=(n,e,t,r)=>dc(n,e).map(i=>{var{name:a}=i;return a}).filter(i=>t.includes(i)?!r:r);const Bi={isRollupOperation:KN,filterValidColumns:dc,getOperationColumnNames:qN};var ah;(function(n){n.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS="filter-control-change-clears-all-filters",n.LINK_CHANGE_CLEARS_ALL_FILTERS="link-change-clears-all-filters"})(ah||(ah={}));const so=ah;var XN=Object.freeze([[so.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS,!1],[so.LINK_CHANGE_CLEARS_ALL_FILTERS,!1]]);const yC={DEFAULTS:XN};function Mi(n,e,t){return e=QN(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QN(n){var e=ZN(n,"string");return typeof e=="symbol"?e:String(e)}function ZN(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var JN=ie.module("ColumnHeaderGroup");function Su(n){return n instanceof en}class en{constructor(e){var{name:t,children:r,color:i,depth:a,childIndexes:o,parent:s}=e;Mi(this,"name",void 0),Mi(this,"children",void 0),Mi(this,"depth",void 0),Mi(this,"parent",void 0),Mi(this,"color",void 0),Mi(this,"childIndexes",void 0),Mi(this,"getVisibleRange",fe(l=>{var d=this.childIndexes.flat(),u=V.getVisibleIndexes(d,l),c=Math.min(...u),m=Math.max(...u);return m-c!==d.length-1&&JN.warn("Column header group ".concat(this.name," is not contiguous")),[c,m]})),this.name=t,this.children=r,this.color=i,this.depth=a,this.childIndexes=o,this.parent=s}setParent(e){this.parent=e}addChildren(e){var t=new Set(this.children.concat(e));this.children=[...t]}removeChildren(e){var t=new Set(this.children);e.forEach(r=>t.delete(r)),this.children=[...t]}get isNew(){return this.name.startsWith(en.NEW_GROUP_PREFIX)}}Mi(en,"NEW_GROUP_PREFIX",":newGroup");var eF=["selectedValues"],tF=["selectedValues"];function Lv(n,e){if(n==null)return{};var t=rF(n,e),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);for(i=0;i<a.length;i++)r=a[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function rF(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,a;for(a=0;a<r.length;a++)i=r[a],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}function kv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kv(Object(t),!0).forEach(function(r){oh(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oh(n,e,t){return e=nF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nF(n){var e=iF(n,"string");return typeof e=="symbol"?e:String(e)}function iF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ao=ie.module("IrisGridUtils");function yi(n,e){return n>=0&&n<e.length}function aF(n){return n.asDate!=null}class Ze{static dehydrateGridState(e,t){var{isStuckToBottom:r,isStuckToRight:i,movedColumns:a,movedRows:o}=t,{columns:s}=e;return{isStuckToBottom:r,isStuckToRight:i,movedColumns:[...a].filter(l=>{var{to:d,from:u}=l;return yi(d,s)&&(typeof u=="number"&&yi(u,s)||Array.isArray(u)&&yi(u[0],s)&&yi(u[1],s))}).map(l=>{var{to:d,from:u}=l;return{to:s[d].name,from:Array.isArray(u)?[s[u[0]].name,s[u[1]].name]:s[u].name}}),movedRows:[...o]}}static hydrateGridState(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],{isStuckToBottom:i,isStuckToRight:a,movedColumns:o,movedRows:s}=t,{columns:l}=e,d=Ze.parseCustomColumnNames(r),u=l.map(c=>{var{name:m}=c;return m}).concat(d);return{isStuckToBottom:i,isStuckToRight:a,movedColumns:[...o].map(c=>{var{to:m,from:v}=c,g=f=>typeof f=="string"?u.findIndex(p=>p===f):f;return{to:g(m),from:Array.isArray(v)?[g(v[0]),g(v[1])]:g(v)}}).filter(c=>{var{to:m,from:v}=c;return yi(m,u)&&(typeof v=="number"&&yi(v,u)||Array.isArray(v)&&yi(v[0],u)&&yi(v[1],u))}),movedRows:[...s]}}static dehydrateIrisGridPanelState(e,t){var{isSelectingPartition:r,partition:i,partitionColumn:a,advancedSettings:o}=t;return{isSelectingPartition:r,partition:i,partitionColumn:a!=null?a.name:null,advancedSettings:[...o]}}static hydrateIrisGridPanelState(e,t){var r,{isSelectingPartition:i,partition:a,partitionColumn:o,advancedSettings:s}=t,{columns:l}=e;return{isSelectingPartition:i,partition:a??null,partitionColumn:o!=null&&(r=Ze.getColumnByName(l,o))!==null&&r!==void 0?r:null,advancedSettings:new Map([...yC.DEFAULTS,...s])}}static dehydrateQuickFilters(e){return[...e].map(t=>{var[r,i]=t,{text:a}=i;return[r,{text:a}]})}static dehydrateLong(e){return e!=null?"".concat(e):null}static dehydrateSort(e){return e.map(t=>{var{column:r,isAbs:i,direction:a}=t;return{column:r.name,isAbs:i,direction:a}})}static extractTableSettings(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],{irisGridPanelState:r,irisGridState:i}=e,{partitionColumn:a,partition:o}=r,{advancedFilters:s,quickFilters:l,sorts:d}=i;return{advancedFilters:s,inputFilters:t,partition:o,partitionColumn:a,quickFilters:l,sorts:d}}static getInputFiltersForColumns(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.filter(r=>{var{name:i,type:a}=r;return e.find(o=>{var{name:s,type:l}=o;return s===i&&l===a})})}static getFiltersFromFilterMap(e){for(var t=[],r=Array.from(e.keys()),i=0;i<r.length;i+=1){var a=r[i],o=e.get(a);o?.filter!=null&&t.push(o.filter)}return t}static getHiddenColumns(e){return[...e.entries()].filter(t=>{var[,r]=t;return r===0}).map(t=>{var[r]=t;return r})}static parseCustomColumnNames(e){return e.map(t=>t.split("=")[0])}static getRemovedCustomColumnNames(e,t){var r=Ze.parseCustomColumnNames(e),i=Ze.parseCustomColumnNames(t);return r.filter(a=>!i.includes(a))}static removeSortsInColumns(e,t){return e.filter(r=>!t.includes(r.column.name))}static removeFiltersInColumns(e,t,r){var i=e.map(o=>{var{name:s}=o;return s}),a=new Map(t);return r.forEach(o=>a.delete(i.indexOf(o))),a}static removeColumnFromMovedColumns(e,t,r){for(var i=e.map(l=>{var{name:d}=l;return d}),a=[...t],o=function(){for(var d=r[s],u=i.findIndex(C=>C===d),c=[],m=0;m<a.length;m+=1){var v=a[m],g=Kn({},v),[f,p]=Array.isArray(v.from)?v.from:[v.from,v.from];u<=v.to&&(g.to-=1),u<f&&(f-=1),u<=p&&(p-=1),f<=p&&f!==g.to&&(f===p?c.push(Kn(Kn({},g),{},{from:f})):c.push(Kn(Kn({},g),{},{from:[f,p]}))),u=V.applyItemMoves(u,u,[v])[0][0]}a=c,i.splice(i.findIndex(C=>C===d),1)},s=0;s<r.length;s+=1)o();return a}static removeColumnsFromSelectDistinctColumns(e,t){return e.filter(r=>!t.includes(r))}static getVisibleColumnsInRange(e,t,r,i,a){for(var o=[],s=t;s<=r;s+=1){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.push(e[l])}return o}static getPrevVisibleColumns(e,t,r,i,a){for(var o=[],s=t;s>=0&&o.length<r;){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.unshift(e[l]),s-=1}return o}static getNextVisibleColumns(e,t,r,i,a){for(var o=[],s=t;s<e.length&&o.length<r;){var l=V.getModelIndex(s,i);l>=0&&l<e.length&&!a.includes(l)&&o.push(e[l]),s+=1}return o}static getColumnsToFetch(e,t,r){var i=[...t];return r.forEach(a=>{var o=e.find(s=>{var{name:l}=s;return l===a});o!=null&&!t.includes(o)&&i.push(o)}),i}static getModelViewportColumns(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0;if(t==null||r==null)return null;var l=Ze.getVisibleColumnsInRange(e,t,r,i,a),d=l.length*s,u=Ze.getPrevVisibleColumns(e,t-1,d,i,a),c=Ze.getNextVisibleColumns(e,r+1,d,i,a),m=[...u,...l,...c];return Ze.getColumnsToFetch(e,m,o)}static isValidSnapshotRanges(e){if(e==null||e.length===0)return!1;for(var t=new Map,r=0;r<e.length;r+=1){var i=e[r],a="".concat(i.startRow,":").concat(i.endRow),o="".concat(i.startColumn,":").concat(i.endColumn);t.has(a)||t.set(a,[]),t.get(a).push(o)}for(var s=[...t.keys()],l=t.get(s[0]).sort().join(","),d=1;d<s.length;d+=1)if(t.get(s[d]).sort().join(",")!==l)return!1;return!0}static isValidIndex(e){return!Number.isInteger(e)||typeof e!="number"?!1:e>=0}static columnsFromRanges(e,t){if(e==null||e.length===0)return[];if(e[0].startColumn===null&&e[0].endColumn===null)return[...t];for(var r=new Set,i=0;i<e.length;i+=1){var a=e[i];L(a.startColumn),L(a.endColumn);for(var o=(s=a.startColumn)!==null&&s!==void 0?s:0;o<=((l=a.endColumn)!==null&&l!==void 0?l:t.length-1);o+=1){var s,l;r.add(o)}}return[...r].map(d=>t[d])}static snapshotDataToMatrix(e){for(var{columns:t,rows:r}=e,i=[],a=0;a<r.length;a+=1){for(var o=r[a],s=[],l=0;l<t.length;l+=1){var d=t[l],u=o.get(d);s.push(u)}i.push(s)}return i}static getModelRollupConfig(e,t,r){var i,a;if(((i=t==null||(a=t.columns)===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0)===0)return null;for(var{columns:o=[],showConstituents:s=!0,showNonAggregatedColumns:l=!0,includeDescriptions:d=!0}=t??{},{aggregations:u=[]}=r??{},c=u.map(C=>{var{operation:b,selected:S,invert:E}=C;return Bi.isRollupOperation(b)?[]:Bi.getOperationColumnNames(e,b,S,E)}),m={},v=0;v<u.length;v+=1)m[u[v].operation]=c[v];if(l){var g=new Set(e.map(C=>C.name).filter(C=>!o.includes(C)));if(c.forEach(C=>{C.forEach(b=>g.delete(b))}),g.size>0){var f,p=(f=m[Be.FIRST])!==null&&f!==void 0?f:[];m[Be.FIRST]=[...p,...g]}}return{groupingColumns:o,includeConstituents:s,includeDescriptions:d,aggregations:m}}static getPendingErrors(e){e.forEach((t,r)=>{if(!Ze.isValidIndex(r))throw new Error("Invalid rowIndex ".concat(r));var{data:i}=t;i.forEach((a,o)=>{if(!Ze.isValidIndex(o))throw new Error("Invalid columnIndex ".concat(o))})})}static getColumn(e,t){return t<e.length?e[t]:(Ao.error("Unable to retrieve column",t,">=",e.length),null)}static getColumnByName(e,t){var r=e.find(i=>{var{name:a}=i;return a===t});return r==null&&Ao.error("Unable to retrieve column by name",t,e.map(i=>{var{name:a}=i;return a})),r}static changeFilterColumnNamesToIndexes(e,t){return t.map(r=>{var{name:i,filter:a}=r,o=e.findIndex(s=>s.name===i);return o<0?null:[o,a]}).filter(r=>r!=null)}static combineFiltersFromList(e,t){t.sort((u,c)=>u.operator==="eq"&&c.operator!=="eq"?1:u.operator!=="eq"&&c.operator==="eq"?-1:u.startColumnIndex-c.startColumnIndex);for(var r="",i=0;i<t.length;i+=1){var{text:a,value:o,operator:s}=t[i];if(o!==void 0){var l="";s!==void 0&&(o==null&&s==="eq"?l="=":s!=="eq"&&(s==="startsWith"||s==="endsWith"?l="*":l=H.getFilterOperatorString(s)));var d="".concat(l).concat(a);s==="startsWith"&&(d="".concat(a).concat(l)),e!=null&&o!==null&&H.isCharType(e)&&(d="".concat(l).concat(String.fromCharCode(parseInt(a,10)))),i!==0&&(r+=s==="eq"?" || ":" && "),r+=d}}return r}static parseColumnHeaderGroups(e,t){var r=1,i=new Map,a=new Map,o=t?.filter(c=>{var{children:m}=c;return m.length>0});if(o.length===0)return{groups:[],maxDepth:r,parentMap:i,groupMap:a};var s=new Map(o.map(c=>[c.name,c])),l=new Set,d=c=>{var{name:m}=c;if(e.getColumnIndexByName(m)!=null)throw new Error("Column header group has same name as column: ".concat(m));var v=a.get(m);if(v)return v;var g=[],f=1;c.children.forEach(C=>{if(l.has(C))throw new Error("Column group child ".concat(C," specified in multiple groups"));l.add(C);var b=s.get(C),S=e.getColumnIndexByName(C);if(b){var E=d(b);g.push(...E.childIndexes),f=Math.max(f,E.depth+1)}else if(S!=null)g.push(S),f=Math.max(f,1);else throw new Error("Unknown child ".concat(C," in group ").concat(m))});var p=new en(Kn(Kn({},c),{},{depth:f,childIndexes:g.flat()}));return a.set(m,p),c.children.forEach(C=>i.set(C,p)),r=Math.max(r,p.depth+1),p},u=new Set;return o.forEach(c=>{var{name:m}=c;if(u.has(m))throw new Error("Duplicate column group name: ".concat(m));u.add(m),d(c)}),a.forEach(c=>{var m;c.setParent((m=i.get(c.name))===null||m===void 0?void 0:m.name)}),{groups:[...a.values()],maxDepth:r,groupMap:a,parentMap:i}}static convertValueToText(e,t){if(t!=null&&H.isCharType(t)&&e!=null&&typeof e=="number")return String.fromCharCode(e);if(H.isDateType(t)&&aF(e)){var r=new Date(e.asDate()),i=r.getTimezoneOffset(),a=new Date(r.getTime()-i*60*1e3),o=a.toISOString(),s=o.replace("T"," ").substring(0,23);return s}return e==null?"":"".concat(e)}constructor(e){oh(this,"dh",void 0),oh(this,"tableUtils",void 0),this.dh=e,this.tableUtils=new H(e)}dehydrateIrisGridState(e,t){var{aggregationSettings:r={aggregations:xe,showOnTop:!1},advancedFilters:i,customColumnFormatMap:a,isFilterBarShown:o,metrics:s,quickFilters:l,customColumns:d,conditionalFormats:u=xe,reverseType:c,rollupConfig:m=void 0,showSearchBar:v,searchValue:g,selectDistinctColumns:f=xe,selectedSearchColumns:p,sorts:C,invertSearchColumns:b,pendingDataMap:S=Zn,frozenColumns:E,columnHeaderGroups:y}=t;L(s);var{userColumnWidths:T,userRowHeights:O}=s,{columns:D}=e;return{advancedFilters:this.dehydrateAdvancedFilters(D,i),aggregationSettings:r,customColumnFormatMap:[...a],isFilterBarShown:o,quickFilters:Ze.dehydrateQuickFilters(l),sorts:Ze.dehydrateSort(C),userColumnWidths:[...T].filter(P=>{var[R]=P;return R!=null&&R>=0&&R<D.length}).map(P=>{var[R,_]=P;return[D[R].name,_]}),userRowHeights:[...O],customColumns:[...d],conditionalFormats:[...u],reverseType:c,rollupConfig:m,showSearchBar:v,searchValue:g,selectDistinctColumns:[...f],selectedSearchColumns:p,invertSearchColumns:b,pendingDataMap:this.dehydratePendingDataMap(D,S),frozenColumns:E,columnHeaderGroups:y?.map(P=>({name:P.name,children:P.children,color:P.color}))}}hydrateIrisGridState(e,t){var r,i,{advancedFilters:a,aggregationSettings:o={aggregations:[],showOnTop:!1},customColumnFormatMap:s,isFilterBarShown:l,quickFilters:d,sorts:u,customColumns:c,conditionalFormats:m,userColumnWidths:v,userRowHeights:g,reverseType:f,rollupConfig:p=void 0,showSearchBar:C,searchValue:b,selectDistinctColumns:S,selectedSearchColumns:E,invertSearchColumns:y=!0,pendingDataMap:T=[],frozenColumns:O,columnHeaderGroups:D}=t,{columns:P,formatter:R}=e;return{advancedFilters:this.hydrateAdvancedFilters(P,a,R.timeZone),aggregationSettings:o,customColumnFormatMap:new Map(s),isFilterBarShown:l,quickFilters:this.hydrateQuickFilters(P,d,R.timeZone),sorts:this.hydrateSort(P,u),userColumnWidths:new Map(v.map(_=>{var[M,A]=_;return typeof M=="string"||M instanceof String?[P.findIndex(B=>{var{name:$}=B;return $===M}),A]:[M,A]}).filter(_=>{var[M]=_;return M!=null&&M>=0&&M<P.length})),customColumns:c,conditionalFormats:m,userRowHeights:new Map(g),reverseType:f,rollupConfig:p,showSearchBar:C,searchValue:b,selectDistinctColumns:S,selectedSearchColumns:E,invertSearchColumns:y,pendingDataMap:this.hydratePendingDataMap(P,T),frozenColumns:O,columnHeaderGroups:Ze.parseColumnHeaderGroups(e,(r=D??((i=e.layoutHints)===null||i===void 0?void 0:i.columnGroups))!==null&&r!==void 0?r:[]).groups}}hydrateQuickFilters(e,t,r){var i=t.map(a=>{var[o,s]=a,{text:l}=s,d=null;try{var u=Ze.getColumn(e,o);u!=null&&(d=this.tableUtils.makeQuickFilter(u,l,r))}catch(c){Ao.error("hydrateQuickFilters error with",l,c)}return[o,{text:l,filter:d}]});return new Map(i)}dehydrateAdvancedFilters(e,t){return[...t].map(r=>{var[i,a]=r,o=Ze.getColumn(e,i);L(o);var s=this.dehydrateAdvancedFilterOptions(o,a.options);return[i,{options:s}]})}hydrateAdvancedFilters(e,t,r){var i=t.map(a=>{var[o,s]=a,l=Ze.getColumn(e,o);L(l);var d=this.hydrateAdvancedFilterOptions(l,s.options),u=null;try{var c=Ze.getColumn(e,o);c!=null&&(u=this.tableUtils.makeAdvancedFilter(l,d,r))}catch(m){Ao.error("hydrateAdvancedFilters error with",d,m)}return[o,{options:d,filter:u}]});return new Map(i)}dehydrateAdvancedFilterOptions(e,t){var{selectedValues:r}=t,i=Lv(t,eF);return Kn({selectedValues:r?.map(a=>this.dehydrateValue(a,e?.type))},i)}hydrateAdvancedFilterOptions(e,t){var{selectedValues:r}=t,i=Lv(t,tF);return Kn({selectedValues:r?.map(a=>this.hydrateValue(a,e?.type))},i)}dehydratePendingDataMap(e,t){return[...t].map(r=>{var[i,{data:a}]=r;return[i,{data:[...a].map(o=>{var[s,l]=o;return[e[s].name,this.dehydrateValue(l,e[s].type)]})}]})}hydratePendingDataMap(e,t){var r=new Map,i=a=>(r.has(a)||r.set(a,e.findIndex(o=>{var{name:s}=o;return s===a})),r.get(a));return new Map(t.map(a=>{var[o,{data:s}]=a;return[o,{data:new Map(s.map(l=>{var d,[u,c]=l,m=i(u);return L(m),[(d=i(u))!==null&&d!==void 0?d:null,this.hydrateValue(c,e[m].type)]}))}]}))}dehydrateValue(e,t){return H.isDateType(t)?this.dehydrateDateTime(e):H.isLongType(t)?Ze.dehydrateLong(e):e}hydrateValue(e,t){return H.isDateType(t)?this.hydrateDateTime(e):H.isLongType(t)?this.hydrateLong(e):e}dehydrateDateTime(e){return e!=null?this.dh.i18n.DateTimeFormat.format(Ea.FULL_DATE_FORMAT,e):null}hydrateDateTime(e){return e!=null?this.dh.i18n.DateTimeFormat.parse(Ea.FULL_DATE_FORMAT,e):null}hydrateLong(e){return e!=null?this.dh.LongWrapper.ofString(e):null}hydrateSort(e,t){var{dh:r}=this;return t.map(i=>{var{column:a,isAbs:o,direction:s}=i;if(s===H.sortDirection.reverse)return r.Table.reverse();var l=typeof a=="string"?Ze.getColumnByName(e,a):Ze.getColumn(e,a);if(l!=null){var d=l.sort();return o&&(d=d.abs()),s===H.sortDirection.descending?d=d.desc():d=d.asc(),d}return null}).filter(i=>i!=null&&i.direction!==H.sortDirection.reverse)}applyTableSettings(e,t,r){var{columns:i}=e,a=[];t.quickFilters&&(a=Ze.getFiltersFromFilterMap(this.hydrateQuickFilters(i,t.quickFilters,r)));var o=[];t.advancedFilters&&(o=Ze.getFiltersFromFilterMap(this.hydrateAdvancedFilters(i,t.advancedFilters,r)));var s=this.getFiltersFromInputFilters(i,t.inputFilters,r),l=[];t.sorts&&(l=this.hydrateSort(i,t.sorts));var d=[...a,...o],{partition:u,partitionColumn:c}=t;if(u!=null&&c!=null){var m=Ze.getColumnByName(i,c);if(m){var v=m.filter().eq(this.dh.FilterValue.ofString(u));d=[v,...d]}}d=[...s,...d],e.applyFilter(d),e.applySort(l)}getFiltersFromInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;return t.map(i=>{var{name:a,type:o,value:s}=i,l=e.find(d=>{var{name:u,type:c}=d;return u===a&&c===o});if(l)try{return this.tableUtils.makeQuickFilter(l,s,r)}catch(d){Ao.debug("Unable to create input filter",d)}return null}).filter(i=>i!=null)}rangeSetFromRanges(e){var{dh:t}=this,r=e.slice().sort((i,a)=>(L(i.startRow),L(a.startRow),i.startRow-a.startRow)).map(i=>{var{startRow:a,endRow:o}=i;return L(a),L(o),t.RangeSet.ofRange(a,o)});return t.RangeSet.ofRanges(r)}}const ye=Ze;function ji(n,e,t){return e=oF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function oF(n){var e=sF(n,"string");return typeof e=="symbol"?e:String(e)}function sF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Or=ie.module("IrisGridCopyHandler");class Ie extends w.Component{static getStatusMessageText(e,t){switch(e){case Ie.COPY_STATES.CONFIRMATION_REQUIRED:return"Are you sure you want to copy ".concat(t.toLocaleString()," rows to your clipboard?");case Ie.COPY_STATES.CLICK_REQUIRED:return"Fetched ".concat(t.toLocaleString()," rows!");case Ie.COPY_STATES.FETCH_ERROR:return"Unable to copy data.";case Ie.COPY_STATES.FETCH_IN_PROGRESS:return"Fetching ".concat(t.toLocaleString()," rows for clipboard...");case Ie.COPY_STATES.DONE:return"Copied to Clipboard!";default:return""}}static getCopyButtonText(e){switch(e){case Ie.BUTTON_STATES.FETCH_IN_PROGRESS:return"Fetching";case Ie.BUTTON_STATES.CLICK_TO_COPY:return"Click to Copy";case Ie.BUTTON_STATES.RETRY:return"Retry";default:return"Copy"}}constructor(e){super(e),ji(this,"textData",void 0),ji(this,"hideTimer",void 0),ji(this,"fetchPromise",void 0),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleCancelClick=this.handleCancelClick.bind(this),this.handleCopyClick=this.handleCopyClick.bind(this),this.handleHideTimeout=this.handleHideTimeout.bind(this),this.state={error:void 0,copyState:Ie.COPY_STATES.IDLE,buttonState:Ie.BUTTON_STATES.COPY,isShown:!1,rowCount:0}}componentDidMount(){var{copyOperation:e}=this.props;e!=null&&this.startCopy()}componentDidUpdate(e){var{copyOperation:t}=this.props;e.copyOperation!==t&&this.startCopy()}componentWillUnmount(){this.stopCopy()}startCopy(){Or.debug2("startCopy"),this.stopCopy();var{copyOperation:e}=this.props;if(e==null){Or.debug2("No copy operation set, cancelling out"),this.setState({isShown:!1});return}var{ranges:t,error:r}=e;if(r!=null){Or.debug("Showing copy error",r),this.setState({isShown:!0,copyState:Ie.COPY_STATES.DONE,error:r}),this.startHideTimer();return}var i=ne.rowCount(t);this.setState({rowCount:i,isShown:!0,error:void 0}),i>Ie.NO_PROMPT_THRESHOLD?this.setState({buttonState:Ie.BUTTON_STATES.COPY,copyState:Ie.COPY_STATES.CONFIRMATION_REQUIRED}):this.startFetch()}stopCopy(){this.textData=void 0,this.stopFetch(),this.stopHideTimer()}handleBackgroundClick(){Or.debug2("handleBackgroundClick");var{copyState:e}=this.state;e===Ie.COPY_STATES.DONE&&this.setState({isShown:!1})}handleCancelClick(){Or.debug2("handleCancelClick"),this.stopFetch(),this.setState({isShown:!1})}handleCopyClick(){Or.debug2("handleCopyClick"),this.textData!=null?this.copyText(this.textData):this.startFetch()}handleHideTimeout(){Or.debug2("handleHideTimeout"),this.stopHideTimer(),this.setState({isShown:!1})}copyText(e){Or.debug2("copyText",e),this.textData=e,Cs(e).then(()=>{this.setState({copyState:Ie.COPY_STATES.DONE}),this.startHideTimer()},t=>{Or.error("copyText error",t),this.setState({buttonState:Ie.BUTTON_STATES.CLICK_TO_COPY,copyState:Ie.COPY_STATES.CLICK_REQUIRED})})}startFetch(){this.stopFetch(),this.setState({buttonState:Ie.BUTTON_STATES.FETCH_IN_PROGRESS,copyState:Ie.COPY_STATES.FETCH_IN_PROGRESS});var{model:e,copyOperation:t}=this.props,{ranges:r,includeHeaders:i,userColumnWidths:a,movedColumns:o,formatValues:s}=t;Or.debug("startFetch",r);var l=ye.getHiddenColumns(a),d=V.getModelRanges(r,o);if(l.length>0){var u=l.map(ne.makeColumn);d=ne.subtractRangesFromRanges(d,u)}var c=s!=null&&s?(m,v)=>e.displayString(m,v.type,v.name):m=>"".concat(m);this.fetchPromise=Te.makeCancelable(e.textSnapshot(d,i,c)),this.fetchPromise.then(m=>{this.fetchPromise=void 0,this.copyText(m)}).catch(m=>{m instanceof ud?Or.debug("User cancelled copy."):(Or.error("Error fetching contents",m),this.fetchPromise=void 0,this.setState({buttonState:Ie.BUTTON_STATES.RETRY,copyState:Ie.COPY_STATES.FETCH_ERROR}))})}stopFetch(){this.fetchPromise&&(Or.debug2("stopFetch"),this.fetchPromise.cancel(),this.fetchPromise=void 0)}startHideTimer(){this.stopHideTimer(),this.hideTimer=setTimeout(this.handleHideTimeout,Ie.HIDE_TIMEOUT)}stopHideTimer(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=void 0)}render(){var{onEntering:e,onEntered:t,onExiting:r,onExited:i}=this.props,{buttonState:a,copyState:o,isShown:s,rowCount:l,error:d}=this.state,u=o===Ie.COPY_STATES.DONE?"fade":"copy-slide-up",c=Ie.getCopyButtonText(a),m=d??Ie.getStatusMessageText(o,l),v=o!==Ie.COPY_STATES.DONE,g=a===Ie.BUTTON_STATES.FETCH_IN_PROGRESS,f=o===Ie.COPY_STATES.DONE;return h.createElement(Od,{animation:u,isShown:s,className:te("iris-grid-copy-handler",{"copy-done":f}),onClick:this.handleBackgroundClick,onEntering:e,onEntered:t,onExiting:r,onExited:i},h.createElement("div",{className:"status-message"},h.createElement("span",null,m)),h.createElement(kr,{in:v,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"buttons-container"},h.createElement("button",{type:"button",className:"btn btn-outline-secondary btn-cancel",onClick:this.handleCancelClick},"Cancel"),h.createElement(j,{kind:g?"tertiary":"primary",className:te("btn-copy",{"btn-spinner":g}),onClick:this.handleCopyClick,disabled:g},g&&h.createElement(Hn,null),c))))}}ji(Ie,"NO_PROMPT_THRESHOLD",1e4);ji(Ie,"HIDE_TIMEOUT",3e3);ji(Ie,"COPY_STATES",{IDLE:"IDLE",CONFIRMATION_REQUIRED:"CONFIRMATION_REQUIRED",FETCH_IN_PROGRESS:"FETCH_IN_PROGRESS",FETCH_ERROR:"FETCH_ERROR",CLICK_REQUIRED:"CLICK_REQUIRED",DONE:"DONE"});ji(Ie,"BUTTON_STATES",{COPY:"COPY",FETCH_IN_PROGRESS:"FETCH_IN_PROGRESS",CLICK_TO_COPY:"CLICK_TO_COPY",RETRY:"RETRY"});ji(Ie,"defaultProps",{copyOperation:null,onEntering:()=>{},onEntered:()=>{},onExiting:()=>{},onExited:()=>{}});const lF=Ie;function El(n,e,t){return e=dF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function dF(n){var e=uF(n,"string");return typeof e=="symbol"?e:String(e)}function uF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class TC extends w.PureComponent{constructor(e){super(e),El(this,"inputField",void 0),El(this,"initialValue",void 0),El(this,"debouncedSendUpdate",void 0);var{debounceMs:t}=e;this.debouncedSendUpdate=rt(this.sendUpdate.bind(this),t),this.handleCancel=this.handleCancel.bind(this),this.handleChange=this.handleChange.bind(this),this.handleCommit=this.handleCommit.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.inputField=null;var{value:r}=e;this.initialValue=r,this.state={isChanged:!1,value:r}}componentDidMount(){var e;(e=this.inputField)===null||e===void 0||e.focus()}componentDidUpdate(e){var{debounceMs:t}=this.props;e.debounceMs!==t&&(this.debouncedSendUpdate.flush(),this.debouncedSendUpdate=rt(this.sendUpdate.bind(this),t))}componentWillUnmount(){this.debouncedSendUpdate.cancel()}setValue(e){this.initialValue=e,this.setState({value:e})}focus(){var e;(e=this.inputField)===null||e===void 0||e.focus()}handleChange(e){var{value:t}=e.target;this.setState({value:t,isChanged:!0}),this.debouncedSendUpdate(t)}handleCancel(){this.debouncedSendUpdate.cancel();var{initialValue:e}=this,{isChanged:t}=this.state;t&&this.sendUpdate(e);var{onDone:r}=this.props;r()}handleCommit(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.debouncedSendUpdate.flush();var{onDone:r}=this.props;r(e,t)}handleFocus(){var e;(e=this.inputField)===null||e===void 0||e.select()}handleBlur(e){var{relatedTarget:t}=e;t!=null&&t.classList.contains("context-menu-container")?this.handleCommit(!1,!0):t!=null&&t.classList.contains("advanced-filter-button")?this.handleCommit(!1,!1):this.handleCommit(!0,!0)}handleTab(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.debouncedSendUpdate.flush();var{onTab:t}=this.props;t(e)}handleKeyDown(e){switch(e.key){case"Escape":e.stopPropagation(),e.preventDefault(),this.handleCancel();break;case"Enter":e.stopPropagation(),e.preventDefault(),this.handleCommit();break;case"Tab":e.stopPropagation(),e.preventDefault(),this.handleTab(e.shiftKey);break}}handleContextMenu(e){var{onContextMenu:t}=this.props;t(e)}sendUpdate(e){var{onChange:t}=this.props;t(e)}render(){var{className:e,style:t,isAdvancedFilterSet:r,onAdvancedFiltersTriggered:i}=this.props,{value:a}=this.state;return h.createElement("div",{style:t,className:"iris-grid-input-autosized-wrapper","data-value":a},h.createElement("input",{ref:o=>{this.inputField=o},className:te("iris-grid-input-field",e),type:"text",value:a,onBlur:this.handleBlur,onFocus:this.handleFocus,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onContextMenu:this.handleContextMenu,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false"}),h.createElement("div",{className:"advanced-filter-button-container"},h.createElement(j,{kind:"ghost",className:te("btn-link-icon advanced-filter-button",{"filter-set":r}),onClick:i,onContextMenu:this.handleContextMenu},h.createElement("div",{className:"fa-layers "},h.createElement(re,{icon:Lh,className:"filter-solid"}),h.createElement(re,{icon:Nl,className:"filter-light"})))))}}El(TC,"defaultProps",{style:{},className:"",value:"",isAdvancedFilterSet:!1,onAdvancedFiltersTriggered:()=>{},onChange:()=>{},onDone:()=>{},onTab:()=>{},onContextMenu:()=>{},debounceMs:150});const hF=TC;function cF(n,e,t){return e=mF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mF(n){var e=vF(n,"string");return typeof e=="symbol"?e:String(e)}function vF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class gF extends Na{constructor(e){super(),cF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){var{selectedRanges:t}=this.irisGrid.state;return e.key==="c"&&Ki.isModifierKeyDown(e)?(ye.isValidSnapshotRanges(t)?this.irisGrid.copyRanges(t):this.irisGrid.copyRanges(t,!1,!1,"Invalid copy ranges"),!0):!1}}const fF=gF;var pF={TOGGLE_QUICK_FILTER:qe.createAndAdd({id:"TABLE.TOGGLE_QUICK_FILTER",name:"Toggle Quick Filter",shortcut:[we.CTRL,Oe.F],macShortcut:[we.CMD,Oe.F]}),CLEAR_ALL_FILTERS:qe.createAndAdd({id:"TABLE.CLEAR_ALL_FILTERS",name:"Clear All Table Filters",shortcut:[we.CTRL,Oe.E],macShortcut:[we.CMD,Oe.E]}),CLEAR_FILTERS:qe.createAndAdd({id:"TABLE.CLEAR_FILTERS",name:"Clear Active Table Filters",shortcut:[we.CTRL,we.SHIFT,Oe.E],macShortcut:[we.CMD,we.SHIFT,Oe.E]}),REVERSE:qe.createAndAdd({id:"TABLE.REVERSE",name:"Reverse",shortcut:[we.CTRL,Oe.I],macShortcut:[we.CMD,Oe.I]}),TOGGLE_SEARCH:qe.createAndAdd({id:"TABLE.TOGGLE_SEARCH",name:"Toggle Search",shortcut:[we.CTRL,we.SHIFT,Oe.F],macShortcut:[we.CMD,we.SHIFT,Oe.F]}),GOTO_ROW:qe.createAndAdd({id:"TABLE.GOTO_ROW",name:"Go to Row",shortcut:[we.CTRL,Oe.G],macShortcut:[we.CMD,Oe.G]})},CF={COMMIT:qe.createAndAdd({id:"INPUT_TABLE.COMMIT",name:"Commit",shortcut:[we.CTRL,Oe.S],macShortcut:[we.CMD,Oe.S]}),DISCARD:qe.createAndAdd({id:"INPUT_TABLE.DISCARD",name:"Discard",shortcut:[we.CTRL,we.ALT,Oe.S],macShortcut:[we.CMD,we.OPTION,Oe.S]})},bF={TABLE:pF,INPUT_TABLE:CF};const Mr=bF;function SF(n,e,t){return e=wF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wF(n){var e=EF(n,"string");return typeof e=="symbol"?e:String(e)}function EF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class yF extends Na{constructor(e){super(),SF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){if(Mr.TABLE.REVERSE.matchesEvent(e)){if(!this.irisGrid.isReversible())return!1;var{reverseType:t}=this.irisGrid.state;return t===H.REVERSE_TYPE.NONE?this.irisGrid.reverse(H.REVERSE_TYPE.POST_SORT):this.irisGrid.reverse(H.REVERSE_TYPE.NONE),!0}return!1}}const TF=yF;function PF(n,e,t){return e=OF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function OF(n){var e=DF(n,"string");return typeof e=="symbol"?e:String(e)}function DF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class RF extends Na{constructor(e){super(),PF(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){return Mr.TABLE.CLEAR_FILTERS.matchesEvent(e)?(this.irisGrid.clearAllFilters(),!0):!1}}const NF=RF;function FF(n,e,t){return e=IF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IF(n){var e=_F(n,"string");return typeof e=="symbol"?e:String(e)}function _F(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class MF extends Pt{constructor(e){super(850),FF(this,"irisGrid",void 0),this.irisGrid=e}destroyColumnTooltip(){this.irisGrid.setState({overflowButtonTooltipProps:null})}setCursor(e){return this.isHoveringOverflowButton(e)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}getButtonPosition(e){var{x:t,y:r,column:i,row:a}=e;if(i==null||a==null)return null;var{renderer:o,grid:s,state:l,props:d}=this.irisGrid;if(!s)return null;var{metrics:u}=l,{model:c}=d,{canvasContext:m}=s,v=s.getTheme(),g={context:m,mouseX:t,mouseY:r,metrics:u,model:c,theme:v},{left:f,top:p,width:C,height:b}=o.getCellOverflowButtonPosition(g);return f==null||C==null||p==null||b==null?null:{left:f,top:p,width:C,height:b}}isHoveringOverflowButton(e){var t,{x:r,y:i}=e,{left:a,top:o,width:s,height:l}=(t=this.getButtonPosition(e))!==null&&t!==void 0?t:{};if(a==null||s==null||o==null||l==null)return!1;var{renderer:d,grid:u,state:c,props:m}=this.irisGrid;if(!u)return!1;var{metrics:v}=c,{model:g}=m,{canvasContext:f}=u,p=u.getTheme(),C={context:f,mouseX:r,mouseY:i,metrics:v,model:g,theme:p};return d.shouldRenderOverflowButton(C)&&r>=a&&r<=a+s&&i>=o&&i<=o+l}onMove(e){if(this.isHoveringOverflowButton(e)){var{overflowButtonTooltipProps:t}=this.irisGrid.state,r=this.getButtonPosition(e);ct(t,r)||this.irisGrid.setState({overflowButtonTooltipProps:r})}else this.destroyColumnTooltip();return this.setCursor(e)}onWheel(e){return this.destroyColumnTooltip(),this.onMove(e)}onDown(e){this.destroyColumnTooltip();var{column:t,row:r}=e;return this.isHoveringOverflowButton(e)&&this.irisGrid.setState({showOverflowModal:!0,overflowText:this.irisGrid.getValueForCell(t,r)}),!1}onContextMenu(){return this.destroyColumnTooltip(),!1}onLeave(){return this.destroyColumnTooltip(),!1}}const AF=MF;function LF(n,e,t){return e=kF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kF(n){var e=xF(n,"string");return typeof e=="symbol"?e:String(e)}function xF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class HF extends Pt{constructor(e){super(),LF(this,"irisGrid",void 0),this.irisGrid=e,this.cursor=null}isActive(){var{isSelectingColumn:e}=this.irisGrid.props;return e}isValidColumn(e){if(e==null)return!1;var{columnSelectionValidator:t}=this.irisGrid.props;return t!=null?t(e):!0}updateColumnSelectionStatus(){var{columnSelectionValidator:e}=this.irisGrid.props;e?.(null)}getTableColumn(e){if(e==null)return null;var{model:t}=this.irisGrid.props,r=this.irisGrid.getModelColumn(e);return r==null?null:t.columns[r]}onMove(e){if(!this.isActive())return!1;var{columnAllowedCursor:t,columnNotAllowedCursor:r}=this.irisGrid.props,{column:i}=e,a=this.getTableColumn(i);return this.isValidColumn(a)?(this.cursor=t,this.irisGrid.setState({hoverSelectColumn:i})):(this.cursor=r,this.irisGrid.setState({hoverSelectColumn:null})),!0}onWheel(e){if(!this.isActive())return!1;var{columnAllowedCursor:t,columnNotAllowedCursor:r}=this.irisGrid.props,{column:i}=e,a=this.getTableColumn(i);return this.isValidColumn(a)?(this.cursor=t,this.irisGrid.setState({hoverSelectColumn:i})):(this.cursor=r,this.irisGrid.setState({hoverSelectColumn:null})),{preventDefault:!1,stopPropagation:!1}}onLeave(){return this.isActive()&&this.irisGrid.setState({hoverSelectColumn:null}),this.updateColumnSelectionStatus(),!1}onDown(){return this.isActive()}onClick(e){if(!this.isActive())return!1;var{column:t}=e,r=this.getTableColumn(t);return r!=null&&this.isValidColumn(r)&&this.irisGrid.selectColumn(r),!0}}const UF=HF;function $F(n,e,t){return e=BF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function BF(n){var e=VF(n,"string");return typeof e=="symbol"?e:String(e)}function VF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class GF extends Pt{constructor(e){super(),$F(this,"irisGrid",void 0),this.irisGrid=e}hideColumnTooltip(){var{tooltip:e}=this.irisGrid;e&&(e.stopTimer(),e.hide())}onDown(){return this.hideColumnTooltip(),!1}onContextMenu(){return this.hideColumnTooltip(),!1}onWheel(){return this.hideColumnTooltip(),!1}onLeave(e,t,r){var{relatedTarget:i}=r instanceof MouseEvent?r:r.nativeEvent,{tooltip:a}=this.irisGrid;if(!a)return!1;var o=a.popper.current;return o&&i instanceof Element&&o.element.contains(i)||this.hideColumnTooltip(),!1}onMove(e){var{column:t,row:r,columnHeaderDepth:i}=e,{shownColumnTooltip:a}=this.irisGrid.state,o=null;return t!==null&&r===null&&i===0&&(o=t),o!==a&&this.irisGrid.setState({shownColumnTooltip:o}),!1}}const WF=GF;function PC(n,e,t){return e=jF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jF(n){var e=zF(n,"string");return typeof e=="symbol"?e:String(e)}function zF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Dd extends w.Component{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Dd.defaultProps;super(e),PC(this,"inputRef",void 0),this.handleInputChange=this.handleInputChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.inputRef=h.createRef()}handleInputChange(){var{onChange:e}=this.props;this.inputRef.current&&e(this.inputRef.current.value)}closeContextMenu(){var{forwardedProps:e}=this.props,{closeMenu:t}=e;t(!0)}revertToDefault(){var{onChange:e}=this.props;e(null)}returnFocusToContextMenu(){var e=gE.getClosestByClassName(this.inputRef.current,"context-menu-container");e instanceof HTMLElement&&e.focus()}handleKeyDown(e){switch(e.key){case"Enter":e.stopPropagation(),this.closeContextMenu();break;case"Escape":e.stopPropagation(),this.revertToDefault(),this.closeContextMenu();break;case"ArrowRight":case"ArrowLeft":e.stopPropagation();break;case"ArrowUp":case"ArrowDown":this.returnFocusToContextMenu();break;default:e.stopPropagation()}}render(){var{formatString:e,forwardedProps:t,placeholder:r,title:i}=this.props,{menuItem:{description:a},iconElement:o}=t;return h.createElement("div",{className:"form-group flex-grow mb-0"},h.createElement("div",{className:"custom-format-title"},h.createElement("span",{className:"icon"},o),h.createElement("label",{className:"title mb-0",htmlFor:"custom-format-input"},i,a!=null&&h.createElement(pt,null,a))),h.createElement("div",{className:"pl-2 pr-2 pb-2"},h.createElement("input",{id:"custom-format-input",className:"form-control text-right mb-0",type:"text",defaultValue:e,ref:this.inputRef,placeholder:r,onKeyDown:this.handleKeyDown,onChange:this.handleInputChange,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false"})))}}PC(Dd,"defaultProps",{formatString:"",forwardedProps:{menuItem:{},closeMenu(n){},iconElement:null},placeholder:"",title:"",onChange(n){}});const KF=Dd;class YF{static isDefaultSelected(e){return!e||![bl.TYPE_CONTEXT_CUSTOM,bl.TYPE_CONTEXT_PRESET].includes(e.type)}static isCustomSelected(e){return e!=null&&e.type===bl.TYPE_CONTEXT_CUSTOM}static makeOption(e,t,r,i){return{title:e,description:e,group:r,format:t,isSelected:i}}static makeCustomFormatOption(e,t,r,i,a){return{title:e.label,description:e.label,format:e,group:t,isSelected:i,menuElement:h.createElement(KF,{formatString:e.formatString,title:e.label,placeholder:r,onChange:a})}}}const Ar=YF;function uc(n,e,t){return e=qF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qF(n){var e=XF(n,"string");return typeof e=="symbol"?e:String(e)}function XF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class vr{static getOptions(e,t){var r=new Date,i=[{group:vr.dateGroup,formatString:"yyyy-MM-dd"},{group:vr.dateGroup,formatString:"MM-dd-yyyy"},{group:vr.timeGroup,formatString:"HH:mm:ss"},{group:vr.timeGroup,formatString:"HH:mm:ss.SSS"},{group:vr.timeGroup,formatString:"HH:mm:ss.SSSSSSSSS"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss.SSS"},{group:vr.dateTimeGroup,formatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"}],a=i.map(s=>{var l=Tt.makeFormat("",s.formatString,Tt.TYPE_CONTEXT_PRESET),d=e.getFormattedString(r,H.dataType.DATETIME,"",l);return Ar.makeOption(d,l,s.group,Tt.isSameFormat(l,t))}),o=Ar.makeOption("Default",null,vr.dateGroup,Ar.isDefaultSelected(t));return[o,...a]}}uc(vr,"dateGroup",10);uc(vr,"timeGroup",20);uc(vr,"dateTimeGroup",30);const QF=vr;function Rd(n,e,t){return e=ZF(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ZF(n){var e=JF(n,"string");return typeof e=="symbol"?e:String(e)}function JF(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class rr{static getOptions(e,t,r){var i=[{format:tt.FORMAT_PERCENT,group:rr.presetGroup},{format:tt.FORMAT_BASIS_POINTS,group:rr.presetGroup},{format:tt.FORMAT_MILLIONS,group:rr.presetGroup},{format:tt.FORMAT_SCIENTIFIC_NOTATION,group:rr.presetGroup},{format:tt.FORMAT_ROUND,group:rr.presetRoundGroup},{format:tt.FORMAT_ROUND_TWO_DECIMALS,group:rr.presetRoundGroup},{format:tt.FORMAT_ROUND_FOUR_DECIMALS,group:rr.presetRoundGroup}],a=Ar.makeOption("Default",null,rr.defaultGroup,Ar.isDefaultSelected(t)),o=i.map(u=>Ar.makeOption(u.format.label,u.format,u.group,tt.isSameFormat(u.format,t))),s=Ar.isCustomSelected(t),l=s?t:tt.makeCustomFormat(),d=Ar.makeCustomFormatOption(l,rr.customGroup,tt.DEFAULT_FORMAT_STRING,s,u=>{if(u!=null){var c=tt.makeCustomFormat(u);tt.isValid(e,c)&&r(c)}else r(null)});return[a,...o,d]}}Rd(rr,"defaultGroup",10);Rd(rr,"presetGroup",20);Rd(rr,"presetRoundGroup",30);Rd(rr,"customGroup",40);const eI=rr;function hc(n,e,t){return e=tI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function tI(n){var e=rI(n,"string");return typeof e=="symbol"?e:String(e)}function rI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ri{static getOptions(e,t,r){var i=[{format:yt.FORMAT_MILLIONS,group:ri.presetGroup},{format:yt.FORMAT_SCIENTIFIC_NOTATION,group:ri.presetGroup}],a=Ar.makeOption("Default",null,ri.defaultGroup,Ar.isDefaultSelected(t)),o=i.map(u=>Ar.makeOption(u.format.label,u.format,u.group,yt.isSameFormat(u.format,t))),s=Ar.isCustomSelected(t),l=s?t:yt.makeCustomFormat(),d=Ar.makeCustomFormatOption(l,ri.customGroup,yt.DEFAULT_FORMAT_STRING,s,u=>{if(u!=null){var c=yt.makeCustomFormat(u);yt.isValid(e,c)&&r(c)}else r(null)});return[a,...o,d]}}hc(ri,"defaultGroup",10);hc(ri,"presetGroup",20);hc(ri,"customGroup",30);const nI=ri;function xv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Hv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xv(Object(t),!0).forEach(function(r){xr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function xr(n,e,t){return e=iI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function iI(n){var e=aI(n,"string");return typeof e=="symbol"?e:String(e)}function aI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Uv=ie.module("IrisGridContextMenuHandler"),oI=150,$v="yyyy-MM-dd HH:mm:ss.SSSSSSSSS";class Z extends Pt{static getQuickFilterCondition(e,t,r){return e&&r==="&&"?e.and(t):e&&r==="||"?e.or(t):t}static getQuickFilterText(e,t,r){return r&&e!=null?"".concat(e," ").concat(r," ").concat(t):t}static getOperatorAsText(e){return e==="&&"?"And":"Or"}static getRowOptionFormatted(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:30;return"".concat(e,' "').concat(Ln.truncate(t,r-e.length-3),'"')}constructor(e,t){super(),xr(this,"irisGrid",void 0),xr(this,"debouncedUpdateCustomFormat",void 0),xr(this,"dh",void 0),this.debouncedUpdateCustomFormat=rt(e.handleFormatSelection,oI),this.dh=t,this.irisGrid=e}componentWillUnmount(){this.debouncedUpdateCustomFormat.flush()}getHeaderActions(e,t){var{irisGrid:r}=this,{column:i}=t;L(i);var{model:a}=r.props,{columns:o}=a,s=o[e],l=[],{metrics:d,reverseType:u,quickFilters:c,advancedFilters:m,searchFilter:v}=r.state,g=r.getTheme();L(d);var{filterIconColor:f,filterBarActiveColor:p,contextMenuSortIconColor:C,contextMenuReverseIconColor:b}=g,S=a.sort,E=H.getSortForColumn(S,s.name),y=u!==H.REVERSE_TYPE.NONE,{userColumnWidths:T}=d,O=[...T.values()].some(M=>M===0),D=a.getColumnHeaderParentGroup(e,0)===void 0&&!(ze(a)&&a.hasExpandableRows),P=a.isColumnFrozen(e),R=a.isColumnSortable(e);if(l.push({title:"Hide Column",group:Z.GROUP_HIDE_COLUMNS,action:()=>{this.irisGrid.hideColumnByVisibleIndex(i)}}),l.push({title:P?"Unfreeze Column":"Freeze Column",group:Z.GROUP_HIDE_COLUMNS,disabled:!D,action:()=>{P?this.irisGrid.unFreezeColumnByColumnName(s.name):this.irisGrid.freezeColumnByColumnName(s.name)},order:10}),l.push({title:"Show All Columns",group:Z.GROUP_HIDE_COLUMNS,action:()=>{this.irisGrid.showAllColumns()},disabled:!O}),l.push({title:"Quick Filters",icon:Gn,iconColor:p,shortcut:Mr.TABLE.TOGGLE_QUICK_FILTER,group:Z.GROUP_FILTER,order:10,action:()=>{this.irisGrid.toggleFilterBar(i)}}),l.push({title:"Advanced Filters",icon:m.get(e)?Lh:Nl,iconColor:f,group:Z.GROUP_FILTER,order:20,action:()=>{this.irisGrid.handleAdvancedMenuOpened(i)}}),l.push({title:"Clear Table Filters",group:Z.GROUP_FILTER,order:40,shortcut:Mr.TABLE.CLEAR_FILTERS,action:()=>{this.irisGrid.clearAllFilters()},disabled:!(c.size>0||m.size>0||v!=null)}),l.push({title:"Sort by",icon:Gn,iconColor:C,group:Z.GROUP_SORT,order:10,actions:this.sortByActions(s,e,E),disabled:!R}),l.push({title:"Add Additional Sort",disabled:E&&S.length===1||y&&S.length===1||E&&y&&S.length===2||S.length===0||!R,group:Z.GROUP_SORT,order:20,actions:this.additionalSortActions(s,e)}),l.push({title:"Clear Table Sorting",disabled:S.length===0||y&&S.length===1,group:Z.GROUP_SORT,action:()=>{this.irisGrid.sortColumn(i,Z.COLUMN_SORT_DIRECTION.none)},order:30}),l.push({title:u===H.REVERSE_TYPE.NONE?"Reverse Table":"Clear Reverse Table",icon:Gn,iconColor:b,group:Z.GROUP_SORT,order:40,disabled:!a.isReversible,shortcut:Mr.TABLE.REVERSE,action:()=>{u===H.REVERSE_TYPE.NONE?this.irisGrid.reverse(H.REVERSE_TYPE.POST_SORT):this.irisGrid.reverse(H.REVERSE_TYPE.NONE)}}),l.push({title:"Copy Column Name",group:Z.GROUP_COPY,action:()=>{var M;Cs((M=a.textForColumnHeader(e))!==null&&M!==void 0?M:"").catch(A=>Uv.error("Unable to copy header",A))}}),H.isDateType(s.type))l.push({title:"Date/Time Format",group:Z.GROUP_FORMAT,actions:this.dateFormatActions(s)});else if(H.isNumberType(s.type)){var _;l.push({title:"Number Format",group:Z.GROUP_FORMAT,actions:(_=this.numberFormatActions(s))!==null&&_!==void 0?_:void 0})}return l}getCellActions(e,t,r){L(e);var{dh:i,irisGrid:a}=this,{column:o,row:s}=r,{model:l,canCopy:d}=a.props,{columns:u}=l,c=a.getModelRow(s);L(c);var m=l.valueForCell(e,c),v=l.textForCell(e,c),g=u[e],f=[],{quickFilters:p}=a.state,C=a.getTheme(),{filterIconColor:b}=C,{settings:S}=a.props,E=new Tt(i,{timeZone:S?.timeZone,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:$v}),y=new Tt(i,{timeZone:S?.timeZone,showTimeZone:S?.showTimeZone,showTSeparator:S?.showTSeparator,defaultDateTimeFormatString:$v});if(g==null||s==null)return f;if(l.isFilterable(e)){var T={title:"Filter by Value",icon:Gn,iconColor:b,group:Z.GROUP_FILTER,order:10,actions:[]};if(m==null)p.get(e)&&T.actions.push({title:"And",actions:this.nullFilterActions(g,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.nullFilterActions(g));else if(m==="")p.get(e)&&T.actions.push({title:"And",actions:this.emptyStringFilterActions(g,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.emptyStringFilterActions(g));else if(H.isBooleanType(g.type))p.get(e)&&T.actions.push({title:"Or",actions:this.booleanFilterActions(g,v,p.get(e),"||"),order:2,group:le.groups.high}),T.actions.push(...this.booleanFilterActions(g,v));else if(H.isNumberType(g.type)||H.isCharType(g.type)){L(e);var O=H.isCharType(g.type)?String.fromCharCode(m):"".concat(m);p.get(e)&&T.actions.push({title:"And",actions:this.numberFilterActions(g,O,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.numberFilterActions(g,O,m,p.get(e)))}else if(H.isDateType(g.type)){var D=E.format(m),P=y.format(m);p.get(e)&&T.actions.push({title:"And",actions:this.dateFilterActions(g,D,P,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.dateFilterActions(g,D,P,m,p.get(e)))}else p.get(e)&&T.actions.push({title:"And",actions:this.stringFilterActions(g,v,m,p.get(e),"&&"),order:2,group:le.groups.high}),T.actions.push(...this.stringFilterActions(g,v,m));T.actions!=null&&T.actions.length>0&&f.push(T)}if(ze(l)&&l.isRowExpandable(c)){var R=l.groupedColumns.length>0?l.depthForRow(c)-1:0,_=l.valueForCell(R,c),M=_==null?"null":l.textForCell(R,c);f.push({title:Z.getRowOptionFormatted(l.isRowExpanded(c)?"Collapse":"Expand",M),group:Z.GROUP_EXPAND_COLLAPSE,order:10,action:()=>{l.setRowExpanded(c,!l.isRowExpanded(c))}}),l.isExpandAllAvailable===!0&&f.push({title:Z.getRowOptionFormatted("Expand All in",M),group:Z.GROUP_EXPAND_COLLAPSE,order:20,action:()=>{l.setRowExpanded(c,!0,!0)}})}ze(l)&&l.hasExpandableRows&&l.isExpandAllAvailable===!0&&(f.push({title:"Expand Entire Table",group:Z.GROUP_EXPAND_COLLAPSE,order:30,action:()=>{l.expandAll()}}),f.push({title:"Collapse Entire Table",group:Z.GROUP_EXPAND_COLLAPSE,order:40,action:()=>{l.collapseAll()}}));var A={title:"Go to",iconColor:b,shortcut:Mr.TABLE.GOTO_ROW,group:Z.GROUP_GOTO,order:10,action:()=>this.irisGrid.toggleGotoRow("".concat(s+1),"".concat(m),g.name)};return f.push(A),d&&(f.push({title:"Copy Cell",group:Z.GROUP_COPY,order:10,action:()=>{a.copyCell(o,s)}}),f.push({title:"Copy Cell Unformatted",group:Z.GROUP_COPY,order:20,action:()=>{a.copyCell(o,s,!0)}})),f}getNumberValueEqualsFilter(e,t){var{dh:r}=this,i=e.filter();if(t===Number.POSITIVE_INFINITY)return r.FilterCondition.invoke("isInf",i).and(i.greaterThan(r.FilterValue.ofNumber(0)));if(t===Number.NEGATIVE_INFINITY)return r.FilterCondition.invoke("isInf",i).and(i.lessThan(r.FilterValue.ofNumber(0)));if(Number.isNaN(t))return r.FilterCondition.invoke("isNaN",i);var a=this.getFilterValueForNumberOrChar(e.type,t);return i.eq(a)}getFilterValueForNumberOrChar(e,t){var{dh:r}=this;return H.isCharType(e)?r.FilterValue.ofString(String.fromCharCode(t)):r.FilterValue.ofNumber(t)}onContextMenu(e,t,r){var{irisGrid:i}=this,{y:a,column:o,row:s,columnHeaderDepth:l}=e,d=i.getModelColumn(o),u=i.getModelRow(s),{model:c,canCopy:m}=i.props,{columns:v}=c,{metrics:g,isFilterBarShown:f,quickFilters:p,advancedFilters:C,selectedRanges:b}=i.state;L(g);var{columnHeaderHeight:S,gridY:E,columnHeaderMaxDepth:y}=g,T=[];if(d!=null&&u!=null){var O=c.valueForCell(d,u),D=c.textForCell(d,u),P=v[d],{onContextMenu:R}=i.props;P!=null&&T.push(...R({model:c,value:O,valueText:D,column:P,rowIndex:s,columnIndex:o,modelRow:u,modelColumn:d}))}return d!=null&&c.isFilterable(d)&&T.push({title:"Clear Column Filter",group:Z.GROUP_FILTER,order:30,action:()=>{this.irisGrid.removeColumnFilter(d)},disabled:!(p.has(d)||C.has(d))}),(f?a<=E:a<=S*y&&l===0)?d!=null&&T.push(...this.getHeaderActions(d,e)):(d!=null&&u!=null&&T.push(...this.getCellActions(d,t,e)),m&&b.length>0&&(T.push({title:"Copy Selection",shortcut:ui.COPY,group:Z.GROUP_COPY,order:30,action:()=>{i.copyRanges(b)}}),T.push({title:"Copy Selection w/ Headers",group:Z.GROUP_COPY,order:40,action:()=>{i.copyRanges(b,!0)}})),nt(c)&&c.isEditable&&b.length>0&&T.push({title:"Delete Selected Rows",group:Z.GROUP_EDIT,order:50,action:()=>{this.irisGrid.deleteRanges(b)}})),T.length===0?!1:(L(i.gridWrapper),le.triggerMenu(i.gridWrapper,r.clientX,r.clientY,T),!0)}dateFormatActions(e){for(var t=this,{model:r}=this.irisGrid.props,{formatter:i}=r,a=i.getColumnFormat(e.type,e.name),o=QF.getOptions(i,a),s=[],l=function(){var{description:c,format:m,group:v,isSelected:g,title:f}=o[d];s.push({title:f,description:c,icon:g?ii:void 0,group:v,order:d,action:()=>{var p=r.getColumnIndexByName(e.name);L(p),t.irisGrid.handleFormatSelection(p,m)}})},d=0;d<o.length;d+=1)l();return s}numberFormatActions(e){var t=this,{model:r}=this.irisGrid.props,{formatter:i}=r,{dh:a}=this,o=i.getColumnFormat(e.type,e.name),s,l=r.getColumnIndexByName(e.name);if(H.isDecimalType(e.type))s=eI.getOptions(a,o,m=>{L(l),this.debouncedUpdateCustomFormat(l,m)});else if(H.isIntegerType(e.type))s=nI.getOptions(a,o,m=>{L(l),this.debouncedUpdateCustomFormat(l,m)});else return Uv.error("Invalid column type in numberFormatActions"),null;for(var d=[],u=function(){var{format:v,isSelected:g}=s[c];d.push(Hv(Hv({},s[c]),{},{icon:g?ii:void 0,order:c,action:()=>{l===void 0&&v&&v.type===bl.TYPE_CONTEXT_CUSTOM||(L(l),t.irisGrid.handleFormatSelection(l,v))}}))},c=0;c<s.length;c+=1)u();return d}stringFilterActions(e,t,r,i,a){var{dh:o}=this,s=o.FilterValue.ofString(r),l=i;l||(l={filter:null,text:null});var{filter:d,text:u}=l,c=[],{model:m}=this.irisGrid.props,v=m.getColumnIndexByName(e.name),g=H.escapeQuickTextFilter(t);return L(v),c.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},a?Z.getOperatorAsText(a):""," ",'"',t,'"'),order:1,group:le.groups.high}),c.push({title:"text is exactly",description:"Show only rows where ".concat(e.name," is ").concat(r," (case sensitive)"),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().eq(s),a),Z.getQuickFilterText(u,"".concat(g),a))},order:10,group:le.groups.low}),c.push({title:"text is not exactly",description:"Show only rows where ".concat(e.name," is not ").concat(t," (case sensitive)"),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().notEq(s),a),Z.getQuickFilterText(u,"!=".concat(g),a))},order:20,group:le.groups.low}),c.push({title:"text contains",description:"Show only rows where ".concat(e.name," contains ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().contains(s)),a),Z.getQuickFilterText(u,"~".concat(g),a))},order:30,group:le.groups.low}),c.push({title:"text does not contain",description:"Show only rows where ".concat(e.name," does not contain ").concat(r),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().or(e.filter().contains(s).not()),a),Z.getQuickFilterText(u,"!~".concat(g),a))},order:40,group:le.groups.low}),c.push({title:"text starts with",description:"Show only rows where ".concat(e.name," starts with ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().invoke("startsWith",s)),a),Z.getQuickFilterText(u,"".concat(g,"*"),a))},order:50,group:le.groups.low}),c.push({title:"text ends with",description:"Show only rows where ".concat(e.name," ends with ").concat(t),action:()=>{this.irisGrid.setQuickFilter(v,Z.getQuickFilterCondition(d,e.filter().isNull().not().and(e.filter().invoke("endsWith",s)),a),Z.getQuickFilterText(u,"*".concat(g),a))},order:60,group:le.groups.low}),c}numberFilterActions(e,t,r,i,a){var o=this.getFilterValueForNumberOrChar(e.type,r),s=null,l=null;i&&(s=i.filter,l=i.text);var d=[],u=r!==Number.POSITIVE_INFINITY&&r!==Number.NEGATIVE_INFINITY&&!Number.isNaN(r),{model:c}=this.irisGrid.props,m=c.getColumnIndexByName(e.name);return L(m),d.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},a?Z.getOperatorAsText(a):""," ",'"',t,'"'),order:1,group:le.groups.high}),d.push({title:"is equal to",description:"Show only rows where ".concat(e.name," is ").concat(t),action:()=>{var v=this.getNumberValueEqualsFilter(e,r);this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,v,a),Z.getQuickFilterText(l,"=".concat(t),a))},order:10,group:le.groups.low}),d.push({title:"is not equal to",description:"Show only rows where ".concat(e.name," is not ").concat(t),action:()=>{var v=this.getNumberValueEqualsFilter(e,r).not();this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,v,a),Z.getQuickFilterText(l,"!=".concat(t),a))},order:20,group:le.groups.low}),u&&!H.isCharType(e.type)&&(d.push({title:"greater than",description:"Show only rows where ".concat(e.name," is greater than ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().greaterThan(o),a),Z.getQuickFilterText(l,">".concat(t),a))},order:30,group:le.groups.low}),d.push({title:"greater than or equal to",description:"Show only rows where ".concat(e.name," is greater than or equal to ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().greaterThanOrEqualTo(o),a),Z.getQuickFilterText(l,">=".concat(t),a))},order:40,group:le.groups.low}),d.push({title:"less than",description:"Show only rows where ".concat(e.name," is less than ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().lessThan(o),a),Z.getQuickFilterText(l,"<".concat(t),a))},order:50,group:le.groups.low}),d.push({title:"less than or equal to",description:"Show only rows where ".concat(e.name," is less than or equal to ").concat(t),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(s,e.filter().lessThanOrEqualTo(o),a),Z.getQuickFilterText(l,"<=".concat(t),a))},order:60,group:le.groups.low})),d}booleanFilterActions(e,t,r,i){var a=[],{model:o}=this.irisGrid.props,{filter:s,text:l}=r||{},d=o.getColumnIndexByName(e.name);return L(d),a.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},i?Z.getOperatorAsText(i):""," ",'"',t??"null",'"'),order:1,group:le.groups.high}),a.push({title:"true",description:"Show only rows where ".concat(e.name," is true"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isTrue(),i),Z.getQuickFilterText(l,"true",i))},order:10,group:le.groups.low}),a.push({title:"false",description:"Show only rows where ".concat(e.name," is false"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isFalse(),i),Z.getQuickFilterText(l,"false",i))},order:20,group:le.groups.low}),a.push({title:"is null",description:"Show only rows where ".concat(e.name," is null"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isNull(),i),Z.getQuickFilterText(l,"null",i))},order:30,group:le.groups.low}),a.push({title:"is not null",description:"Show only rows where ".concat(e.name," is not null"),action:()=>{this.irisGrid.setQuickFilter(d,Z.getQuickFilterCondition(s,e.filter().isNull().not(),i),Z.getQuickFilterText(l,"!null",i))},order:40,group:le.groups.low}),a}dateFilterActions(e,t,r,i,a,o){var{dh:s}=this,l=s.FilterValue.ofNumber(i),d=null,u=null;a&&(d=a.filter,u=a.text);var{model:c}=this.irisGrid.props,m=c.getColumnIndexByName(e.name);L(m);var v=[];return v.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},o?Z.getOperatorAsText(o):""," ",'"',r,'"'),order:1,group:le.groups.high}),v.push({title:"date is",description:"Show only rows where ".concat(e.name," is ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().eq(l),o),Z.getQuickFilterText(u,"=".concat(t),o))},order:10,group:le.groups.low}),v.push({title:"date is not",description:"Show only rows where ".concat(e.name," is not ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().notEq(l),o),Z.getQuickFilterText(u,"!=".concat(t),o))},order:20,group:le.groups.low}),v.push({title:"date is before",description:"Show only rows where ".concat(e.name," is before ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().lessThan(l),o),Z.getQuickFilterText(u,"<".concat(t),o))},order:30,group:le.groups.low}),v.push({title:"date is before or equal",description:"Show only rows where ".concat(e.name," is before or equal to ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().lessThanOrEqualTo(l),o),Z.getQuickFilterText(u,"<=".concat(t),o))},order:40,group:le.groups.low}),v.push({title:"date is after",description:"Show only rows where ".concat(e.name," is greater than ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().greaterThan(l),o),Z.getQuickFilterText(u,">".concat(t),o))},order:50,group:le.groups.low}),v.push({title:"date is after or equal",description:"Show only rows where ".concat(e.name," is after or equal to ").concat(r),action:()=>{this.irisGrid.setQuickFilter(m,Z.getQuickFilterCondition(d,e.filter().greaterThanOrEqualTo(l),o),Z.getQuickFilterText(u,">=".concat(t),o))},order:60,group:le.groups.low}),v}emptyStringFilterActions(e,t,r){var{dh:i}=this,a=i.FilterValue.ofString(""),o=t;o||(o={filter:null,text:null});var{filter:s,text:l}=o,d=[],{model:u}=this.irisGrid.props,c=u.getColumnIndexByName(e.name);return L(c),d.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},r?Z.getOperatorAsText(r):""," ",h.createElement("i",{className:"text-muted"},"empty")),order:1,group:le.groups.high}),d.push({title:"is empty string",description:"Show only rows where ".concat(e.name," is empty"),action:()=>{this.irisGrid.setQuickFilter(c,Z.getQuickFilterCondition(s,e.filter().eq(a),r),Z.getQuickFilterText(l,"=",r))},order:10,group:le.groups.low}),d.push({title:"is not empty string",description:"Show only rows where ".concat(e.name," is not empty"),action:()=>{this.irisGrid.setQuickFilter(c,Z.getQuickFilterCondition(s,e.filter().notEq(a),r),Z.getQuickFilterText(l,"!=",r))},order:20,group:le.groups.low}),d}nullFilterActions(e,t,r){var i=null,a=null;t&&(i=t.filter,a=t.text);var o=[],{model:s}=this.irisGrid.props,l=s.getColumnIndexByName(e.name);return L(l),o.push({menuElement:h.createElement("div",{className:"iris-grid-filter-menu-item-value"},r?Z.getOperatorAsText(r):""," ",h.createElement("i",{className:"text-muted"},"null")),order:1,group:le.groups.high}),o.push({title:"is null",description:"Show only rows where ".concat(e.name," is null"),action:()=>{this.irisGrid.setQuickFilter(l,Z.getQuickFilterCondition(i,e.filter().isNull(),r),Z.getQuickFilterText(a,"null",r))},order:10,group:le.groups.low}),o.push({title:"is not null",description:"Show only rows where ".concat(e.name," is not null"),action:()=>{this.irisGrid.setQuickFilter(l,Z.getQuickFilterCondition(i,e.filter().isNull().not(),r),Z.getQuickFilterText(a,"!null",r))},order:20,group:le.groups.low}),o}sortByActions(e,t,r){var i=this.irisGrid.getTheme(),{contextMenuSortIconColor:a}=i,o=[{title:"".concat(e.name," Ascending"),order:10,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.ascending)?Gn:void 0,iconColor:a},{title:"".concat(e.name," Descending"),order:20,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.descending)?Gn:void 0,iconColor:a},{title:"Remove Sort",order:50,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.none,!1,!0)},disabled:!r}];return H.isNumberType(e.type)&&(o.push({title:"ABS(".concat(e.name,") Ascending"),order:30,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!0)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.ascending,!0)?Gn:void 0,iconColor:a}),o.push({title:"ABS(".concat(e.name,") Descending"),order:40,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!0)},icon:this.checkColumnSort(r,Z.COLUMN_SORT_DIRECTION.descending,!0)?Gn:void 0,iconColor:a})),o}additionalSortActions(e,t){var r=this.irisGrid.getTheme(),{contextMenuSortIconColor:i}=r,a=[{title:"Add Sort By",menuElement:h.createElement("div",{className:"btn-context-menu menu-title"},h.createElement("span",{className:"icon"},h.createElement(re,{icon:Gn,style:{color:i??void 0}})),h.createElement("span",{className:"title"},"Add Additional Sort"),h.createElement("span",{className:"shortcut"},Ki.isMacPlatform()?"⌘Click":"Ctrl+Click")),order:1},{title:"".concat(e.name," Ascending"),order:10,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!1,!0)}},{title:"".concat(e.name," Descending"),order:20,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!1,!0)}}];return H.isNumberType(e.type)&&(a.push({title:"ABS(".concat(e.name,") Ascending"),order:30,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.ascending,!0,!0)}}),a.push({title:"ABS(".concat(e.name,") Descending"),order:40,action:()=>{this.irisGrid.sortColumn(t,Z.COLUMN_SORT_DIRECTION.descending,!0,!0)}})),a}checkColumnSort(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return e?e.direction===t&&e.isAbs===r:!1}}xr(Z,"GROUP_EDIT",le.groups.high+10);xr(Z,"GROUP_HIDE_COLUMNS",le.groups.high+25);xr(Z,"GROUP_FILTER",le.groups.high+50);xr(Z,"GROUP_EXPAND_COLLAPSE",le.groups.high+55);xr(Z,"GROUP_GOTO",le.groups.high+60);xr(Z,"GROUP_SORT",le.groups.high+75);xr(Z,"GROUP_COPY",le.groups.high+100);xr(Z,"GROUP_FORMAT",le.groups.high+150);xr(Z,"COLUMN_SORT_DIRECTION",{ascending:"ASC",descending:"DESC",none:null});const sI=Z;function lI(n,e,t){return e=dI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function dI(n){var e=uI(n,"string");return typeof e=="symbol"?e:String(e)}function uI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class hI extends Pt{constructor(e){super(),lI(this,"irisGrid",void 0),this.irisGrid=e}onDoubleClick(e){var{column:t,row:r}=e;return r==null||t==null?!1:(this.irisGrid.selectData(t,r),!0)}}const cI=hI;function mI(n,e,t){return e=vI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vI(n){var e=gI(n,"string");return typeof e=="symbol"?e:String(e)}function gI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class fI extends Pt{constructor(e){super(),mI(this,"irisGrid",void 0),this.irisGrid=e}onDown(e){var{y:t,column:r,row:i}=e;if(r!==null&&i===null){var{isFilterBarShown:a,metrics:o}=this.irisGrid.state;if(!o)throw new Error("Metrics not set");var{columnHeaderMaxDepth:s}=o,l=this.irisGrid.getTheme();if(a&&l.columnHeaderHeight!=null&&l.filterBarHeight!=null&&t>l.columnHeaderHeight*s&&t<=l.columnHeaderHeight*s+l.filterBarHeight)return this.irisGrid.focusFilterBar(r),!0}return!1}onMove(e){var{y:t,column:r}=e,{isFilterBarShown:i,hoverAdvancedFilter:a,metrics:o}=this.irisGrid.state;if(!o)throw new Error("Metrics not set");var{columnHeaderMaxDepth:s}=o,l=this.irisGrid.getTheme(),d=null;return i&&l.columnHeaderHeight!=null&&l.filterBarHeight!=null&&r!==null&&t>=l.columnHeaderHeight*s&&t<=l.columnHeaderHeight*s+l.filterBarHeight&&(d=r),d!==a&&this.irisGrid.setState({hoverAdvancedFilter:d}),!1}onLeave(e){var{column:t}=e,{hoverAdvancedFilter:r}=this.irisGrid.state;return r!==null&&t!==r&&this.irisGrid.setState({hoverAdvancedFilter:null}),!1}}const pI=fI;function CI(n,e,t){return e=bI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bI(n){var e=SI(n,"string");return typeof e=="symbol"?e:String(e)}function SI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class wI extends Pt{constructor(e){super(750),CI(this,"irisGrid",void 0),this.irisGrid=e}destroyTooltip(){this.irisGrid.setState({expandCellTooltipProps:null})}setCursor(e,t){return nh.isInTreeBox(e,t)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}getButtonPosition(e){var{x:t,y:r,column:i,row:a}=e;if(i==null||a==null)return null;var{renderer:o,grid:s,state:l,props:d}=this.irisGrid;if(!s)return null;var{metrics:u}=l,{model:c}=d,{canvasContext:m}=s,v=s.getTheme(),g={context:m,mouseX:t,mouseY:r,metrics:u,model:c,theme:v},f=ze(c)?c.depthForRow(a):null,{left:p,top:C,width:b,height:S}=o.getExpandButtonPosition(g,f);return p==null||b==null||C==null||S==null?null:{left:p,top:C,width:b,height:S}}onMove(e,t){if(nh.isInTreeBox(e,t)){var{expandCellTooltipProps:r}=this.irisGrid.state,{model:i}=this.irisGrid.props,a=this.getButtonPosition(e),{row:o}=e;L(o);var s=ze(i)&&i.isRowExpanded(o);ct(r,a)||this.irisGrid.setState({expandCellTooltipProps:a,expandTooltipDisplayValue:s?"collapse":"expand"})}else this.destroyTooltip();return this.setCursor(e,t)}onDown(){return this.destroyTooltip(),!1}onContextMenu(){return this.destroyTooltip(),!1}onWheel(){return this.destroyTooltip(),!1}onLeave(){return this.destroyTooltip(),!1}}const EI=wI;function Bv(n,e,t){return e=yI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function yI(n){var e=TI(n,"string");return typeof e=="symbol"?e:String(e)}function TI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class PI extends Pt{constructor(e){super(),Bv(this,"irisGrid",void 0),Bv(this,"column",void 0),this.column=null,this.irisGrid=e}getColumnFromGridPoint(e){var{column:t,row:r,columnHeaderDepth:i}=e;return t!==null&&r===null&&i===0?t:null}onDown(e){return this.column=this.getColumnFromGridPoint(e),!1}onClick(e,t,r){var i=this.getColumnFromGridPoint(e);if(i!=null&&i===this.column){var a=Ki.isModifierKeyDown(r);return this.irisGrid.toggleSort(i,a),!0}return!1}}const OI=PI;class DI extends Pt{constructor(e){super(),this.irisGrid=e}onWheel(e,t,r){var{irisGrid:i}=this,{model:a}=i.props,{metrics:o,pendingRowCount:s}=i.state;L(o);var{bottom:l,rowCount:d,rowHeight:u}=o,{deltaY:c}=V.getScrollDelta(r);return nt(a)&&a.isEditable&&l>=d-1&&c>0&&i.setState({pendingRowCount:s+Math.ceil(c/u)}),!1}}const RI=DI;function Vv(n,e,t){return e=NI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function NI(n){var e=FI(n,"string");return typeof e=="symbol"?e:String(e)}function FI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class II extends Pt{constructor(e){super(),Vv(this,"irisGrid",void 0),Vv(this,"currentLinkBox",void 0),this.irisGrid=e}destroyTooltip(){this.irisGrid.setState({linkHoverTooltipProps:null})}isHoveringLink(e,t){var{column:r,row:i,x:a,y:o}=e,{renderer:s,metrics:l,props:d}=t,{model:u}=d;if(r==null||i==null||l==null)return this.currentLinkBox=void 0,!1;var{modelRows:c,modelColumns:m}=l,v=U(c,i),g=U(m,r),f=u.renderTypeForCell(g,v),p=s.getCellRenderer(f);if(!CC(p))return!1;if(this.currentLinkBox!=null){var{x1:C,y1:b,x2:S,y2:E}=this.currentLinkBox;if(a>=C&&a<=S&&o>=b&&o<=E)return!0}for(var y=t.updateRenderState(),T=p.getTokenBoxesForVisibleCell(r,i,y),O=0;O<T.length;O+=1)if($l(T[O].token)){var D=V.translateTokenBox(T[O],l),{x1:P,x2:R,y1:_,y2:M}=D;if(a>=P&&a<=R&&o>=_&&o<=M)return this.currentLinkBox=D,!0}return this.currentLinkBox=void 0,!1}setCursor(e,t){return this.isHoveringLink(e,t)?(this.cursor="pointer",{stopPropagation:!1,preventDefault:!1}):(this.cursor=null,!1)}onMove(e,t){var r=this.isHoveringLink(e,t);if(r&&this.currentLinkBox!=null&&$l(this.currentLinkBox.token)){var{linkHoverTooltipProps:i}=this.irisGrid.state;if(this.currentLinkBox==null)return!1;var{x1:a,y1:o,x2:s,y2:l}=this.currentLinkBox,{href:d}=this.currentLinkBox.token,u=s-a,c=l-o,m={left:a,top:o+1,width:u,height:c};ct(i,m)||this.irisGrid.setState({linkHoverTooltipProps:m,linkHoverDisplayValue:d})}else this.destroyTooltip();return this.setCursor(e,t)}onDown(){return this.destroyTooltip(),!1}onContextMenu(){return this.destroyTooltip(),!1}onWheel(){return this.destroyTooltip(),!1}onLeave(){return this.destroyTooltip(),!1}}const _I=II;var MI=3e3;function AI(n){var{children:e=null,onEntering:t,onEntered:r,onExiting:i,onExited:a}=n,[o,s]=w.useState(!1),l=w.useRef(),d=$h(e),u=w.useCallback(()=>{s(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s(!1)},MI)},[s,l]);return w.useEffect(()=>{d!==e&&e!=null&&u()},[e,d,s,u]),w.useEffect(()=>()=>l.current?clearTimeout(l.current):void 0,[]),h.createElement(Od,{className:"toast-bottom-bar",isShown:o,onEntering:t,onEntered:r,onExiting:i,onExited:a},e)}class LI extends Ra{getGridY(e){var t=super.getGridY(e),{isFilterBarShown:r,theme:i,advancedFilters:a,quickFilters:o,sorts:s,reverseType:l}=e;return r?t+=i.filterBarHeight:(o!=null&&o.size>0||a!=null&&a.size>0)&&(t+=i.filterBarCollapsedHeight),l!==H.REVERSE_TYPE.NONE&&s!=null&&s.length>0&&(t+=i.reverseHeaderBarHeight),t}getUserColumnWidths(){return this.userColumnWidths}}const kI=LI;var xI=1,OC=h.memo(n=>{var{model:e,modelColumns:t,top:r,bottom:i,left:a,right:o,filter:s,formatter:l,reverseType:d=H.REVERSE_TYPE.NONE,sorts:u,customColumns:c,movedColumns:m,hiddenColumns:v,alwaysFetchColumns:g,rollupConfig:f=null,totalsConfig:p=null,selectDistinctColumns:C=xe,pendingRowCount:b=0,pendingDataMap:S=Zn,frozenColumns:E,formatColumns:y,columnHeaderGroups:T}=n,O=w.useMemo(()=>ye.getModelViewportColumns(t,a,o,m,v,g,xI),[t,a,o,m,v,g]);return w.useEffect(function(){e.filter=s},[e,s]),w.useEffect(function(){var P=[...u];d!==H.REVERSE_TYPE.NONE&&P.push(e.dh.Table.reverse()),e.sort=P},[e,u,d]),w.useEffect(function(){e.formatter=l},[e,l]),w.useEffect(function(){e.isCustomColumnsAvailable&&(e.customColumns=c)},[e,c]),w.useEffect(function(){e.isFormatColumnsAvailable&&(e.formatColumns=y)},[e,y]),w.useEffect(function(){e.setViewport(r,i,O)},[e,r,i,O]),w.useEffect(function(){e.isRollupAvailable&&(e.rollupConfig=f)},[e,e.isRollupAvailable,f]),w.useEffect(function(){e.isSelectDistinctAvailable&&(e.selectDistinctColumns=C)},[e,C]),w.useEffect(function(){e.isTotalsAvailable&&(e.totalsConfig=p)},[e,e.isTotalsAvailable,p]),w.useEffect(function(){e.pendingRowCount=b},[e,b]),w.useEffect(function(){e.pendingDataMap=S},[e,S]),w.useEffect(function(){E&&e.updateFrozenColumns(E)},[e,E]),w.useEffect(function(){e.columnHeaderGroups=T},[e,T]),null});OC.displayName="IrisGridModelUpdater";const HI=OC;var sh=16,UI=new Map([["sortUp",kS],["sortDown",xS],["caretDown",ti],["caretRight",xf],["cellOverflow",HS]]),$I=En(n=>{var e=UI.get(n);if(e===void 0)throw new Error("Icon is undefined");var t=Array.isArray(e.icon[4])?e.icon[4][0]:e.icon[4],r=new Path2D(t),i=new Path2D,a={a:sh/e.icon[0],d:sh/e.icon[1]};return i.addPath(r,a),i},{max:1e3});function Jo(n){return $I(n)}class BI{static drawTreeMarker(e,t,r,i,a,o,s){e.save();var{x1:l,y1:d}=a,u=Jo(s?"caretDown":"caretRight"),c=r+l-2,m=i+d+2.5;e.fillStyle=o,e.textAlign="center",e.translate(c,m),e.fill(u),e.restore()}}const DC=BI;class VI extends fC{drawCellContent(e,t,r,i){var a,{metrics:o,model:s}=t,{modelColumns:l,modelRows:d}=o,u=U(d,i),c=l.get(r);if(c!==void 0){var m=s.valueForCell(c,u);if(H.isTextType((a=s.columns[c])===null||a===void 0?void 0:a.type)&&(m===null||m==="")){var v=e.font;e.font="italic ".concat(v),super.drawCellContent(e,t,r,i),e.font=v;return}super.drawCellContent(e,t,r,i)}}getTextRenderMetrics(e,t,r){var i=V.getTextRenderMetrics(e,t,r),{mouseX:a,mouseY:o,metrics:s,theme:l}=e;if(a==null||o==null)return i;var{column:d,row:u}=V.getGridPointFromXY(a,o,s);if(t===d&&r===u){var{left:c}=this.getCellOverflowButtonPosition(a,o,s,l);this.shouldRenderOverflowButton(e)&&c!=null&&(i.width=c-s.gridX-i.x)}return i}getCellOverflowButtonPosition(e,t,r,i){var a={left:null,top:null,width:null,height:null};if(e==null||t==null||r==null)return a;var{rowHeight:o,columnWidth:s,left:l,top:d}=V.getCellInfoFromXY(e,t,r);if(l==null||s==null||d==null)return a;var{width:u,verticalBarWidth:c}=r,{cellHorizontalPadding:m}=i,v=sh+2*m,g=o,f=Math.min(r.gridX+l+s,u-c),p=f-v,C=r.gridY+d;return{left:p,top:C,width:v,height:g}}shouldRenderOverflowButton(e){var t,r,{context:i,mouseX:a,mouseY:o,metrics:s,model:l,theme:d}=e;if(a==null||o==null)return!1;var{row:u,column:c,modelRow:m,modelColumn:v}=V.getCellInfoFromXY(a,o,s);if(u==null||c==null||m==null||v==null||!H.isStringType(l.columns[v].type))return!1;var g=(t=l.textForCell(v,m))!==null&&t!==void 0?t:"",{width:f}=V.getTextRenderMetrics(e,c,u),p=(r=s.fontWidths.get(d.font))!==null&&r!==void 0?r:ya;i.save(),i.font=d.font;var C=this.getCachedTruncatedString(i,g,f,p,l.truncationCharForCell(v,m));return i.restore(),g!==""&&C!==g}drawTreeMarker(e,t,r,i,a,o,s){DC.drawTreeMarker(e,t,r,i,a,o,s)}}const GI=VI;class WI extends gC{drawTreeMarker(e,t,r,i,a,o,s){DC.drawTreeMarker(e,t,r,i,a,o,s)}}const jI=WI;function Gv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gv(Object(t),!0).forEach(function(r){lh(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function lh(n,e,t){return e=zI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zI(n){var e=KI(n,"string");return typeof e=="symbol"?e:String(e)}function KI(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var wu=Object.freeze({SORT_UP:"sortUp",SORT_DOWN:"sortDown",CARET_DOWN:"caretDown",CARET_RIGHT:"caretRight",CELL_OVERFLOW:"cellOverflow"}),jv=10;class Wl extends Ln{constructor(){super(...arguments),lh(this,"textCellRenderer",new GI),lh(this,"dataBarCellRenderer",new jI)}static isFilterValid(e,t){var r=e==null||e.filter!=null,i=t==null||t.filter!=null;return r&&i}getSortIcon(e){return e?e.direction===H.sortDirection.ascending?Jo(wu.SORT_UP):e.direction===H.sortDirection.descending?Jo(wu.SORT_DOWN):null:null}drawCanvas(e){super.drawCanvas(e),this.drawScrim(e)}drawGrid(e,t){super.drawGrid(e,t),this.drawCellOverflowButton(t)}drawGridLines(e,t){super.drawGridLines(e,t),this.drawGroupedColumnLine(e,t),this.drawPendingRowLine(e,t)}drawCellContent(e,t,r,i){var{metrics:a,model:o}=t,{modelColumns:s,modelRows:l}=a,d=s.get(r),u=U(l,i);if(d!==void 0){var c=o.renderTypeForCell(d,u),m=this.getCellRenderer(c);m.drawCellContent(e,t,r,i)}}getCellOverflowButtonPosition(e){var{mouseX:t,mouseY:r,metrics:i,theme:a}=e;return this.textCellRenderer.getCellOverflowButtonPosition(t,r,i,a)}shouldRenderOverflowButton(e){return this.textCellRenderer.shouldRenderOverflowButton(e)}drawCellOverflowButton(e){var{context:t,mouseX:r,mouseY:i,theme:a}=e;if(!(r==null||i==null)&&this.shouldRenderOverflowButton(e)){var{left:o,top:s,width:l,height:d}=this.getCellOverflowButtonPosition(e),{cellHorizontalPadding:u,overflowButtonColor:c,overflowButtonHoverColor:m}=a;t.save(),m!=null&&o!=null&&l!=null&&s!=null&&d!=null&&r>=o&&r<=o+l&&i>=s&&i<=s+d?t.fillStyle=m:c!=null&&(t.fillStyle=c);var v=Jo(wu.CELL_OVERFLOW);o!=null&&s!=null&&t.translate(o+u,s+2),t.fill(v),t.restore()}}drawGroupedColumnLine(e,t){var{metrics:r,model:i,theme:a}=t,{groupedColumns:o}=i,{maxY:s,allColumnWidths:l,allColumnXs:d}=r;if(!(o.length===0||a.groupedColumnDividerColor==null)){var u=o.length-1,c=d.get(u),m=l.get(u);if(!(c==null||m==null)){var v=c+m+.5;e.strokeStyle=a.groupedColumnDividerColor,e.lineWidth=1,e.beginPath(),e.moveTo(v,0),e.lineTo(v,s),e.stroke()}}}drawPendingRowLine(e,t){var{metrics:r,model:i,theme:a}=t,{allRowYs:o,maxX:s}=r,{pendingRowCount:l}=i;if(!(l<=0)){var d=i.rowCount-i.pendingRowCount-i.floatingBottomRowCount,u=o.get(d);u!=null&&(u-=.5,e.save(),e.setLineDash([4,2]),e.strokeStyle=a.pendingTextColor,e.lineWidth=1,e.beginPath(),e.moveTo(0,u),e.lineTo(s,u),e.stroke(),e.restore())}}drawMouseColumnHover(e,t){var{theme:r,metrics:i,hoverSelectColumn:a}=t;if(!(a==null||r.linkerColumnHoverBackgroundColor==null)){var{allColumnWidths:o,allColumnXs:s,maxY:l}=i,d=U(s,a),u=U(o,a);e.fillStyle=r.linkerColumnHoverBackgroundColor,e.fillRect(d,0,u,l)}}drawMouseRowHover(e,t){var{isSelectingColumn:r}=t;r||super.drawMouseRowHover(e,t)}drawScrim(e){var{context:t,loadingScrimProgress:r,metrics:i,theme:a}=e;if(r!=null){var{width:o,height:s,gridY:l}=i,{scrimBlurSize:d,scrimColor:u}=a;t.save(),t.globalCompositeOperation="color",t.filter="blur(".concat(d,"px)"),u!=null&&(t.fillStyle=u),t.beginPath(),t.rect(0,l,o,s-l),t.clip(),t.fillRect(-d,-d+l,d*2+o,(d*2+(s-l))*r),t.globalCompositeOperation="overlay",t.filter="blur(".concat(d,"px) opacity(15%)"),t.fillRect(-d,-d+l,d*2+o,(d*2+(s-l))*r),t.restore()}}drawColumnHeaders(e,t){super.drawColumnHeaders(e,t);var{theme:r,metrics:i,model:a,reverseType:o}=t,{columnHeaderHeight:s}=i;if(this.drawFilterHeaders(e,t),!(s<=0)){var{sort:l}=a;if(l.length===1){var d=o!==H.REVERSE_TYPE.NONE,u;d?u=r.headerReverseBarColor:u=r.headerSortBarColor,this.drawHeaderBar(e,t,u,d?r.reverseHeaderBarHeight:r.sortHeaderBarHeight)}else l.length>1&&(o!==H.REVERSE_TYPE.NONE&&this.drawHeaderBar(e,t,r.headerReverseBarColor,r.reverseHeaderBarHeight,!1),this.drawHeaderBar(e,t,r.headerSortBarColor,r.sortHeaderBarHeight))}}drawHeaderBar(e,t,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,{theme:o,metrics:s,model:l}=t,{columnHeaderHeight:d,width:u}=s,c=0;a||(c=i),e.fillStyle=o.headerBarCasingColor,e.fillRect(0,l.columnHeaderMaxDepth*d-i-2+c,u,i+2),e.fillStyle=r,e.fillRect(0,l.columnHeaderMaxDepth*d-i-1+c,u,i)}drawColumnHeadersAtDepth(e,t,r,i,a){var{metrics:o,model:s,isMenuShown:l}=t,{columnHeaderMaxDepth:d}=s,{width:u}=o,c=Wv(Wv({},i),{},{maxX:a===d-1&&i.maxX===u?u-(l?0:30):i.maxX});super.drawColumnHeadersAtDepth(e,t,r,c,a)}drawColumnHeaderAtIndex(e,t,r,i){var a,o;super.drawColumnHeaderAtIndex(e,t,r,i);var{metrics:s,model:l,theme:d}=t,{modelColumns:u,allColumnWidths:c,allColumnXs:m,gridX:v,columnHeaderHeight:g,fontWidths:f}=s,{headerHorizontalPadding:p}=d,C=U(c,r,0),b=U(m,r)+v,S=u.get(r);if(S!=null){var E=(a=l.columns[S])===null||a===void 0?void 0:a.name;if(E!=null){var y=H.getSortForColumn(l.sort,E);if(y){var T=this.getSortIcon(y);if(T){var O=l.textForColumnHeader(S);if(O!==void 0){var D=(o=f.get(e.font))!==null&&o!==void 0?o:ya;L(D);var P=O.length*D,R=v+b+P+p,{maxX:_}=i;_-=p;var M=v+b+C-p-1,A=R>_?R+1:Math.min(_,M),B=y.direction===H.sortDirection.ascending?-6:-12,$=g*.5+B;e.save(),e.beginPath(),e.rect(b,0,C,g),e.clip(),e.fillStyle=d.headerSortBarColor,e.translate(A,$),e.fill(T),e.restore()}}}}}}drawFilterHeaders(e,t){var{isFilterBarShown:r,quickFilters:i,advancedFilters:a}=t;r?this.drawExpandedFilterHeaders(e,t):(i!=null&&i.size>0||a!=null&&a.size>0)&&this.drawCollapsedFilterHeaders(e,t)}drawExpandedFilterHeaders(e,t){var{metrics:r,model:i,theme:a,quickFilters:o,advancedFilters:s}=t,{filterBarHeight:l}=a;if(!(l<=0)){var{gridX:d,gridY:u,maxX:c,modelColumns:m,visibleColumns:v,allColumnWidths:g,allColumnXs:f}=r,p=u-l;e.save(),e.font=a.font,e.textAlign="left",o!=null&&o.size>0||s!=null&&s.size>0?e.fillStyle=a.filterBarExpandedActiveBackgroundColor:e.fillStyle=a.filterBarExpandedBackgroundColor,e.fillRect(d,p,c,l-1),e.fillStyle=a.headerBarCasingColor,e.fillRect(d,p+l-1,c,1);var C=p;e.strokeStyle=a.filterBarSeparatorColor,e.beginPath();for(var b=0;b<v.length;b+=1){var S=v[b],E=U(m,S),y=U(f,S),T=U(g,S);if(i.isFilterable(E)&&T>0){var O=d+(y??0);e.rect(O+.5,C+.5,T,l-2)}}e.stroke();for(var D=0;D<v.length;D+=1){var P=v[D],R=U(g,P),_=U(f,P),M=_+d;this.drawExpandedFilterHeader(e,t,P,M,R)}e.restore()}}drawExpandedFilterHeader(e,t,r,i,a){if(!(a<=0)){var{metrics:o,theme:s,quickFilters:l,advancedFilters:d}=t,{modelColumns:u,gridY:c}=o,{filterBarHeight:m,filterBarExpandedActiveCellBackgroundColor:v,filterBarErrorColor:g,filterBarHorizontalPadding:f,headerColor:p}=s,C=c-m,b=u.get(r);if(b!==void 0){var S=l.get(b),E=d.get(b);if(!(S==null&&E==null)){var y=null;if(S!=null){var{text:T}=S;if(y=T,y||(y=H.getFilterText(S.filter)),y!=null){var{fontWidths:O}=o,D=O.get(e.font);(D==null||D===0)&&(D=e.measureText("8").width,D||(D=10));var P=(a-f*2)/D;P<=0?y="":y.length>P&&(y="".concat(y.substring(0,P-1),"…"))}}e.save();var R=Wl.isFilterValid(E,S);if(R&&v!=null)e.fillStyle=v,e.fillRect(i+1,C+1,a-1,m-3);else if(g!=null){e.fillStyle=g,e.lineWidth=2,e.strokeStyle=g;var _=i+2,M=C+2,A=a-3,B=m-5;e.strokeRect(_,M,A,B)}if(y!=null&&y!==""){var $=i+f,z=C+m*.5+1;e.fillStyle=p,e.fillText(y,$,z)}e.restore()}}}}drawCollapsedFilterHeaders(e,t){var{metrics:r,theme:i}=t,{headerSeparatorColor:a,filterBarCollapsedHeight:o}=i;if(!(o<=0)){var{gridX:s,gridY:l,maxX:d,visibleColumns:u,allColumnWidths:c,allColumnXs:m}=r,v=l-o;e.save(),e.fillStyle=a,e.fillRect(s,v,d,o);for(var g=0;g<u.length;g+=1){var f=u[g],p=c.get(f),C=m.get(f);if(C!=null&&p!=null){var b=C+s;this.drawCollapsedFilterHeader(e,t,f,b,p)}}e.restore()}}drawCollapsedFilterHeader(e,t,r,i,a){if(!(a<=0)){var{metrics:o,theme:s,quickFilters:l,advancedFilters:d}=t,{modelColumns:u,gridY:c}=o,m=u.get(r);if(m!==void 0){var v=l.get(m),g=d.get(m),{filterBarCollapsedHeight:f,filterBarActiveColor:p,filterBarActiveBackgroundColor:C,filterBarErrorColor:b}=s;e.save();var S=Wl.isFilterValid(g,v);C!=null&&v==null&&g==null?e.fillStyle=C:p!=null&&S?e.fillStyle=p:b!=null&&(e.fillStyle=b);var E=i+1,y=c-f,T=a-1,O=f-1;e.fillRect(E,y,T,O),e.restore()}}}drawRowFooters(e,t){var{metrics:r,model:i,mouseX:a,mouseY:o,theme:s}=t,{gridY:l,gridX:d,maxX:u,modelRows:c,floatingTopHeight:m,floatingBottomHeight:v,floatingRows:g,rowFooterWidth:f,height:p,horizontalBarHeight:C,verticalBarWidth:b,allRowHeights:S,allRowYs:E,width:y}=r;if(!(f<=0||g.length===0)){var{cellHorizontalPadding:T,floatingGridRowColor:O,floatingRowBackgroundColors:D,headerColor:P,rowHoverBackgroundColor:R}=s;e.translate(d,l),e.beginPath();var _=Math.min(u,y-f-b-d);e.fillStyle=D,m>0&&e.rect(_,0,f,m),v>0&&e.rect(_,p-l-C-v,f,v),e.fill();var M=a!=null&&o!=null&&a>=d&&a<=u+f?V.getRowAtY(o,r):null;if(R!=null&&M!==null&&g.includes(M)){e.fillStyle=R;var A=E.get(M),B=S.get(M);L(A),L(B),e.fillRect(_,A,f,B)}if(e.beginPath(),O!=null&&(e.strokeStyle=O),m>0&&(e.moveTo(_+.5,.5),e.lineTo(_+.5,m-.5)),v>0){var $=p-l-C-v;e.moveTo(_-.5,$+.5),e.lineTo(_-.5,$+v-.5)}e.stroke(),e.fillStyle=P,e.textAlign="left";for(var z=_+T,G=0;G<g.length;G+=1){var K=g[G],X=S.get(K),J=E.get(K),I=c.get(K);if(J!=null&&X!=null&&I!=null){var N=J+X*.5;e.fillText(i.textForRowFooter(I),z,N)}}e.translate(-d,-l)}}getExpandButtonPosition(e,t){var{mouseX:r,mouseY:i,metrics:a,theme:o}=e,s={left:null,top:null,width:null,height:null};if(r==null||i==null||t==null||!a)return s;var{rowHeight:l,left:d,top:u}=V.getCellInfoFromXY(r,i,a);L(d),L(l),L(u);var{cellHorizontalPadding:c}=o,m=jv+2*c,v=Math.max(d+jv*t,a.gridX),g=a.gridY+u;return{left:v,top:g,width:m,height:l}}}const YI=Wl,qI="12px Fira Sans, sans-serif",XI="#f0f0ee",QI="#1a171a",ue={"grid-bg":"#211f22",font:qI,white:XI,black:QI,"header-bg":"#2d2a2e","header-color":"#f0f0ee","header-height":"30px","header-separator-color":"#211f22","header-separator-hover-color":"#929192","header-hidden-separator-hover-color":"#4878ea","header-sort-bar-color":"#aa9af4","header-reverse-bar-color":"#548d29","header-bar-casing-color":"#211f22","header-font":"600 12px Fira Sans, sans-serif","row-height":"19px","row-background-colors":"#373438 #2d2a2e","selection-color":"rgba(118, 217, 228, 0.09)","selection-outline-color":"#76d9e4","selection-outline-casing-color":"#211f22","row-hover-bg":"#4b494c","selected-row-hover-bg":"rgba(118, 217, 228, 0.25)","scroll-bar-active-selection-tick-color":"rgba(118, 217, 228, 0.5)","scroll-bar-bg":"#322f33","scroll-bar-hover-bg":"#373438","scroll-bar-casing-color":"#555356","scroll-bar-corner-color":"#322f33","scroll-bar-color":"#5b5a5c","scroll-bar-hover-color":"#929192","scroll-bar-active-color":"#c0bfbf","text-color":"#f0f0ee","hyperlink-color":"#4878ea","positive-number-color":"#9edc6f","negative-number-color":"#f95d84","zero-number-color":"#fcd65b","date-color":"#fcd65b","pending-text-color":"#fde38d","error-text-color":"#f95d84","null-string-color":"#929192","filter-bar-active-bg":"#425175","filter-bar-active-color":"#4878ea","filter-bar-expanded-bg":"#373438","filter-bar-expanded-active-bg":"#313849","filter-bar-expanded-active-cell-bg":"#374d80","filter-bar-separator-color":"#929192","filter-bar-error-color":"#f95d84","filter-icon-color":"#4878ea","scrim-color":"#211f22","context-menu-sort-icon-color":"#aa9af4","context-menu-reverse-icon-color":"#548d29","linker-column-hover-bg":"rgba(118, 217, 228, 0.09)","tree-line-color":"#5b5a5c","tree-marker-color":"#c0bfbf","tree-marker-hover-color":"#fcfcfa","grouped-column-divider-color":"#1a171a","floating-grid-row-color":"#555356","floating-row-background-colors":"#403e41","floating-divider-inner-color":"#403e41","floating-divider-outer-color":"#211f22","overflow-button-color":"#c0bfbf","overflow-button-hover-color":"#fcfcfa","zero-line-color":"#5b5a5c","positive-bar-color":"#9edc6f","negative-bar-color":"#f95d84"};var ZI=Object.freeze({backgroundColor:ue["grid-bg"],white:ue.white,black:ue.black,font:ue.font,headerBackgroundColor:ue["header-bg"],headerColor:ue["header-color"],headerSeparatorColor:ue["header-separator-color"],headerSeparatorHoverColor:ue["header-separator-hover-color"],headerHiddenSeparatorHoverColor:ue["header-hidden-separator-hover-color"],headerSortBarColor:ue["header-sort-bar-color"],headerReverseBarColor:ue["header-reverse-bar-color"],headerBarCasingColor:ue["header-bar-casing-color"],headerFont:ue["header-font"],rowBackgroundColors:ue["row-background-colors"],rowHoverBackgroundColor:ue["row-hover-bg"],selectionColor:ue["selection-color"],selectionOutlineColor:ue["selection-outline-color"],selectionOutlineCasingColor:ue["selection-outline-casing-color"],selectedRowHoverBackgroundColor:ue["selected-row-hover-bg"],scrollBarBackgroundColor:ue["scroll-bar-bg"],scrollBarHoverBackgroundColor:ue["scroll-bar-hover-bg"],scrollBarCasingColor:ue["scroll-bar-casing-color"],scrollBarCornerColor:ue["scroll-bar-corner-color"],scrollBarColor:ue["scroll-bar-color"],scrollBarHoverColor:ue["scroll-bar-hover-color"],scrollBarActiveColor:ue["scroll-bar-active-color"],scrollBarSelectionTickColor:ue["selected-row-hover-bg"],scrollBarActiveSelectionTickColor:ue["scroll-bar-active-selection-tick-color"],textColor:ue["text-color"],hyperlinkColor:ue["hyperlink-color"],positiveNumberColor:ue["positive-number-color"],negativeNumberColor:ue["negative-number-color"],zeroNumberColor:ue["zero-number-color"],dateColor:ue["date-color"],pendingTextColor:ue["pending-text-color"],errorTextColor:ue["error-text-color"],nullStringColor:ue["null-string-color"],filterBarActiveBackgroundColor:ue["filter-bar-active-bg"],filterBarExpandedBackgroundColor:ue["filter-bar-expanded-bg"],filterBarExpandedActiveBackgroundColor:ue["filter-bar-expanded-active-bg"],filterBarExpandedActiveCellBackgroundColor:ue["filter-bar-expanded-active-cell-bg"],filterBarSeparatorColor:ue["filter-bar-separator-color"],filterBarActiveColor:ue["filter-bar-active-color"],filterBarErrorColor:ue["filter-bar-error-color"],filterIconColor:ue["filter-icon-color"],scrimColor:ue["scrim-color"],contextMenuSortIconColor:ue["context-menu-sort-icon-color"],contextMenuReverseIconColor:ue["context-menu-reverse-icon-color"],allowRowResize:!1,autoSelectRow:!0,gridColumnColor:null,gridRowColor:null,groupedColumnDividerColor:ue["grouped-column-divider-color"],columnHoverBackgroundColor:null,headerHorizontalPadding:12,scrollBarSize:13,scrollBarHoverSize:16,minScrollHandleSize:24,rowHeight:parseInt(ue["row-height"],10)||19,columnWidth:100,rowHeaderWidth:0,rowFooterWidth:60,columnHeaderHeight:parseInt(ue["header-height"],10)||30,filterBarHeight:30,filterBarCollapsedHeight:5,sortHeaderBarHeight:2,reverseHeaderBarHeight:4,filterBarHorizontalPadding:4,scrimBlurSize:25,minScrimTransitionTime:150,maxScrimTransitionTime:350,scrollSnapToRow:!0,linkerColumnHoverBackgroundColor:ue["linker-column-hover-bg"],treeLineColor:ue["tree-line-color"],treeMarkerColor:ue["tree-marker-color"],treeMarkerHoverColor:ue["tree-marker-hover-color"],floatingGridColumnColor:null,floatingGridRowColor:ue["floating-grid-row-color"],floatingRowBackgroundColors:ue["floating-row-background-colors"],floatingDividerInnerColor:ue["floating-divider-inner-color"],floatingDividerOuterColor:ue["floating-divider-outer-color"],overflowButtonColor:ue["overflow-button-color"],overflowButtonHoverColor:ue["overflow-button-hover-color"],zeroLineColor:ue["zero-line-color"],positiveBarColor:ue["positive-bar-color"],negativeBarColor:ue["negative-bar-color"]});const RC=ZI;function NC(n,e,t){return e=JI(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function JI(n){var e=e_(n,"string");return typeof e=="symbol"?e:String(e)}function e_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Eu=ie.module("ColumnStatistics"),t_={SIZE:"Number of Rows"};class us extends w.Component{static getStatsLabel(e){var t;return(t=t_[e])!==null&&t!==void 0?t:e.split(" ").map(r=>r[0].toUpperCase()+r.substr(1).toLowerCase()).join(" ")}constructor(e){super(e),NC(this,"cancelablePromise",void 0),this.handleError=this.handleError.bind(this),this.handleGenerateStatistics=this.handleGenerateStatistics.bind(this),this.handleStatistics=this.handleStatistics.bind(this),this.cancelablePromise=null,this.state={error:null,loading:!1,statistics:null,numRows:0}}componentDidMount(){this.maybeGenerateStatistics()}componentWillUnmount(){this.cancelablePromise&&this.cancelablePromise.cancel()}maybeGenerateStatistics(){var{model:e}=this.props,t=e.rowCount-e.pendingRowCount;this.setState({numRows:t}),e.isColumnStatisticsAvailable?t<us.AUTO_GENERATE_LIMIT&&this.handleGenerateStatistics():this.setState({loading:!1})}handleGenerateStatistics(){this.setState({loading:!0});var{column:e,model:t}=this.props;this.cancelablePromise=Te.makeCancelable(t.columnStatistics(e)),this.cancelablePromise.then(this.handleStatistics).catch(this.handleError)}handleStatistics(e){Eu.debug("Received statistics",e);var{model:t,onStatistics:r}=this.props,i=[];e.statisticsMap.forEach((a,o)=>{i.push({operation:us.getStatsLabel(o),value:a,type:e.getType(o)})}),e.uniqueValues.forEach((a,o)=>{i.push({operation:o,className:"column-statistics-unique-value",value:a,type:"long"})}),this.setState({loading:!1,statistics:i,numRows:t.rowCount-t.pendingRowCount}),r()}handleError(e){if(e!=null&&Te.isCanceled(e)){Eu.debug("Called handleError on a cancelled promise result");return}Eu.error("Error generating statistics",e),this.setState({error:e,loading:!1,statistics:null})}render(){var{column:e,model:t}=this.props,{error:r,loading:i,statistics:a,numRows:o}=this.state,s=!i&&r==null&&a==null&&t.isColumnStatisticsAvailable,l=[],d=e.type.substring(e.type.lastIndexOf(".")+1),u=e.description===null?null:e.description;if(a!=null)for(var c=0;c<a.length;c+=1){var{operation:m,className:v,value:g,type:f}=a[c],p=f?t.displayString(g,f):t.displayString(g,e.type,e.name),C=h.createElement(h.Fragment,{key:m},h.createElement("div",{className:te("column-statistic-operation",v)},m),h.createElement("div",{className:"column-statistic-value"},p));l.push(C)}var b=ze(t)&&t.hasExpandableRows?"Expanded Rows":"Number of Rows",S=t.displayString(o,"long"),E=t.getColumnIndexByName(e.name);return h.createElement("div",{className:"column-statistics"},h.createElement("div",{className:"column-statistics-title"},e.name,h.createElement("span",{className:"column-statistics-type"}," (",d,")"),h.createElement(hd,{className:"column-statistics-copy",tooltip:"Copy column name",copy:e.name})),u!=null&&h.createElement("div",{className:"column-statistics-description"},u),E!=null&&!t.isColumnSortable(E)&&h.createElement("div",{className:"column-statistics-status"},h.createElement(re,{icon:US,className:"mr-1"}),"Not sortable"),E!=null&&!t.isColumnMovable(E)&&h.createElement("div",{className:"column-statistics-status"},h.createElement(re,{icon:t.isColumnFrozen(E)?$S:BS,className:"mr-1"}),t.isColumnFrozen(E)?"Frozen":"Not movable"),h.createElement("div",{className:"column-statistics-grid"},a==null&&h.createElement(h.Fragment,null,h.createElement("div",{className:"column-statistic-operation"},b),h.createElement("div",{className:"column-statistic-value"},S)),l),s&&h.createElement(j,{kind:"ghost",className:"px-0",onClick:this.handleGenerateStatistics},"Generate Stats"),r!=null&&h.createElement("div",{className:"error-message"},"".concat(r)),a&&!i&&h.createElement(j,{kind:"ghost",className:"px-0",onClick:this.handleGenerateStatistics,icon:h.createElement(re,{icon:kh,className:"mr-1"})},"Refresh"),i&&h.createElement("div",{className:"column-statistics-loading"},h.createElement(Hn,{className:"mr-2"}),"Calculating Stats..."))}}NC(us,"AUTO_GENERATE_LIMIT",1e5);const r_=us;function zv(n,e,t){return e=n_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function n_(n){var e=i_(n,"string");return typeof e=="symbol"?e:String(e)}function i_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Qs=ie.module("AdvancedFilterCreatorFilterItem");class cc extends w.PureComponent{static getLabelForFilter(e,t){try{if(H.isNumberType(e)||H.isCharType(e))return gp(t);if(H.isTextType(e))return vp(t);if(H.isDateType(e))return fp(t);if(H.isBooleanType(e))return x0(t);throw new Error("Unrecognized column type: ".concat(e))}catch(r){return Qs.warn(r),""}}constructor(e){super(e),zv(this,"typeDropdown",void 0),zv(this,"getCachedIsValid",fe((a,o,s,l,d)=>{try{return!s||d.makeAdvancedValueFilter(a,o,s,l)!=null}catch{return!1}})),this.handleDelete=this.handleDelete.bind(this),this.handleTypeChange=this.handleTypeChange.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.typeDropdown=null;var{value:t="",filterTypes:r,selectedType:i=r[0]}=e;this.state={selectedType:i,value:t}}componentDidMount(){var e;(e=this.typeDropdown)===null||e===void 0||e.focus()}componentDidUpdate(e){var{value:t,selectedType:r}=this.props;r!==void 0&&e.selectedType!==r&&this.setState({selectedType:r}),t!==void 0&&e.value!==t&&this.setState({value:t})}handleTypeChange(e){var t=e.target.value;Qs.debug2("typeChange",t),this.setState({selectedType:t});var{onChange:r}=this.props,{value:i}=this.state;i!=null&&i.length>0&&r(t,i)}handleValueChange(e){Qs.debug2("valueChange");var{value:t}=e.target;this.setState({value:t});var{onChange:r}=this.props,{selectedType:i}=this.state;i!=null&&r(i,t)}handleDelete(){Qs.debug("delete");var{onDelete:e}=this.props;e()}render(){for(var{column:e,filterTypes:t,formatter:r,tableUtils:i}=this.props,{selectedType:a,value:o}=this.state,s=!H.isBooleanType(e.type),l=[],d=this.getCachedIsValid(e,a,o,r.timeZone,i),u=0;u<t.length;u+=1){var c=t[u],m=cc.getLabelForFilter(e.type,c),v=h.createElement("option",{key:c,value:c},m);l.push(v)}return h.createElement("div",{className:"advanced-filter-creator-filter-item"},h.createElement("div",{className:"form-row"},h.createElement("div",{className:"form-group col"},h.createElement("select",{className:"form-control custom-select",value:a,onChange:this.handleTypeChange,ref:g=>{this.typeDropdown=g}},l)),s&&h.createElement("div",{className:"form-group col"},h.createElement("div",{className:"input-group"},h.createElement("input",{type:"text",className:te("form-control",{error:!d}),placeholder:"Enter value",value:o,onChange:this.handleValueChange}))),h.createElement("div",{className:"form-group col-1 px-0"},h.createElement(j,{kind:"ghost",className:"w-100 h-100 p-0 m-0",onClick:this.handleDelete,icon:Hr,tooltip:"Remove Filter"}))))}}const a_=cc;function uh(n,e,t){return e=o_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function o_(n){var e=s_(n,"string");return typeof e=="symbol"?e:String(e)}function s_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Kv=ie.module("AdvancedFilterCreatorSelectValueList");class hs extends w.PureComponent{static indexOf(e,t){for(var r=0;r<t.length;r+=1){var i=t[r];if(i===e||i!=null&&i.valueOf!=null&&e!=null&&e.valueOf!=null&&i.valueOf()===e.valueOf())return r}return-1}constructor(e){super(e),uh(this,"dh",void 0),uh(this,"list",void 0),this.handleSelect=this.handleSelect.bind(this),this.handleViewportChange=this.handleViewportChange.bind(this),this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this);var{selectedValues:t,dh:r}=this.props;this.dh=r,this.list=null,this.state={itemCount:0,items:[],offset:0,selectedValues:t,isLoading:!0}}componentDidMount(){var{table:e}=this.props;e&&this.startListening(e)}componentDidUpdate(e){var{filters:t,invertSelection:r,selectedValues:i,table:a}=this.props;e.table!==a&&(e.table&&this.stopListening(e.table),a&&this.startListening(a),this.resetViewport()),e.invertSelection!==r&&this.setState({selectedValues:[]},this.handleSelectionUpdate),e.selectedValues!==i&&this.setState({selectedValues:i},this.handleSelectionUpdate),e.filters!==t&&(a?.applyFilter(t),this.resetViewport())}componentWillUnmount(){var{table:e}=this.props;e&&this.stopListening(e)}handleSelect(e,t){var{invertSelection:r}=this.props,{selectedValues:i}=this.state;i=[...i];var a=hs.indexOf(t,i);a>=0?i.splice(a,1):i.push(t);var o=a<0;r&&(o=!o);var{offset:s}=this.state,{items:l}=this.state;l=[...l];var d=e-s;d>=0&&d<l.length&&(l[d].isSelected=o),this.setState({items:l,selectedValues:i});var{onChange:u}=this.props;u(i,r)}handleViewportChange(e,t){this.updateViewport(e,t)}handleSelectionUpdate(){this.updateItemSelection()}handleTableUpdate(e){var{table:t,formatter:r}=this.props;if(t){for(var i=e.detail,{offset:a}=i,o=[],s=t.columns[0],l=0;l<i.rows.length;l+=1){var d=i.rows[l],u=d.get(s),c=void 0;u==null?c=h.createElement("i",{className:"text-muted"},"null"):u===""?c=h.createElement("i",{className:"text-muted"},"empty"):c=r.getFormattedString(u,s.type,s.name);var m=this.isValueSelected(u);o.push({displayValue:c,value:u,isSelected:m})}Kv.debug2("Received table update:",a,o.length);var v=t.size;this.setState({itemCount:v,items:o,offset:a,isLoading:!1})}}isValueSelected(e){var{invertSelection:t}=this.props,{selectedValues:r}=this.state,i=hs.indexOf(e,r);return t?i<0:i>=0}startListening(e){e.addEventListener(this.dh.Table.EVENT_UPDATED,this.handleTableUpdate)}stopListening(e){e.removeEventListener(this.dh.Table.EVENT_UPDATED,this.handleTableUpdate)}resetViewport(){this.list&&this.list.topRow!=null&&this.list.bottomRow!=null&&this.updateViewport(this.list.topRow,this.list.bottomRow,!0)}updateItemSelection(){var{items:e}=this.state;e=[...e];for(var t=0;t<e.length;t+=1){var r=e[t],{value:i}=r;r.isSelected=this.isValueSelected(i)}this.setState({items:e})}updateViewport(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{table:i}=this.props;if(i!=null){r&&this.setState({isLoading:!0});var a=t-e+1,o=Math.max(0,e-a*3),s=Math.max(o,t+a*3);Kv.debug2("Setting viewport",o,",",s),i.setViewport(o,s)}}render(){var{offset:e,isLoading:t,items:r,itemCount:i}=this.state;return h.createElement("div",{className:"select-value-list-wrapper"},h.createElement(Lw,{itemCount:i,items:r,offset:e,onSelect:this.handleSelect,onViewportChange:this.handleViewportChange,ref:a=>{this.list=a}}),h.createElement(kr,{in:t,timeout:250,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"loading-list"},h.createElement(Hn,{className:"loading-spinner-large"}))))}}uh(hs,"defaultProps",{invertSelection:!0,selectedValues:[],onChange:()=>{}});const l_=hs;function es(n,e,t){return e=d_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function d_(n){var e=u_(n,"string");return typeof e=="symbol"?e:String(e)}function u_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ps extends w.PureComponent{constructor(e){super(e),es(this,"searchTablePromise",void 0),es(this,"tableUtils",void 0),es(this,"updateFilterTimer",void 0),this.handleSelectAllClick=this.handleSelectAllClick.bind(this),this.handleClearAllClick=this.handleClearAllClick.bind(this),this.handleListChange=this.handleListChange.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleUpdateFilterTimeout=this.handleUpdateFilterTimeout.bind(this);var{dh:t,invertSelection:r,selectedValues:i}=e;this.tableUtils=new H(t),this.state={filters:[],invertSelection:r,selectedValues:i,searchText:""}}componentDidMount(){this.initSearchTable()}componentDidUpdate(e,t){var{invertSelection:r,selectedValues:i,table:a}=this.props;e.table!==a&&this.initSearchTable(),e.invertSelection!==r&&this.setState({invertSelection:r}),e.selectedValues!==i&&this.setState({selectedValues:i});var{table:o,searchText:s}=this.state;o!==t.table&&(t.table!=null&&t.table.close(),o!=null&&this.startUpdateFilterTimer()),s!==t.searchText&&this.startUpdateFilterTimer()}componentWillUnmount(){var{table:e}=this.state;e?.close(),this.searchTablePromise=void 0,this.stopUpdateFilterTimer()}getColumnName(){var{table:e}=this.props;return e!=null?e.columns[0].name:""}getDisplayedValuesCount(){var{invertSelection:e,selectedValues:t,table:r}=this.state;return r==null?null:e?r.totalSize-t.length:t.length}getDisplayedValueText(){var e=this.getDisplayedValuesCount(),{table:t}=this.state,{formatter:r}=this.props;if(e!=null&&t!=null){var i=r.getFormattedString(e,"long"),a=r.getFormattedString(t.totalSize,"long"),o="";return e<1e6&&(o="Displaying "),"".concat(o).concat(i," of ").concat(a)}return null}initSearchTable(){var{table:e}=this.props;if(e!=null){var t=e.copy();this.searchTablePromise=t,this.searchTablePromise.then(r=>{this.searchTablePromise===t?(this.setState({table:r}),this.searchTablePromise=void 0):r.close()})}}handleListChange(e,t){this.setState({selectedValues:e,invertSelection:t});var{onChange:r}=this.props;r(e,t)}handleSearchChange(e){var t=e.target.value;this.setState({searchText:t})}handleSelectAllClick(){this.resetSelection(!0)}handleClearAllClick(){this.resetSelection(!1)}handleUpdateFilterTimeout(){this.updateFilterTimer=void 0,this.updateTableFilter()}resetSelection(e){var t=[];this.setState({invertSelection:e,selectedValues:t});var{onChange:r}=this.props;r(t,e)}startUpdateFilterTimer(){this.stopUpdateFilterTimer(),this.updateFilterTimer=setTimeout(this.handleUpdateFilterTimeout,Ps.searchDebounceTime)}stopUpdateFilterTimer(){this.updateFilterTimer!=null&&(clearTimeout(this.updateFilterTimer),this.updateFilterTimer=void 0)}updateTableFilter(){var{table:e,searchText:t}=this.state,{timeZone:r}=this.props,{tableUtils:i}=this,a=e?.columns[0],o=[];if(a!=null){var s;if(t.length>0){var l=null;H.isCharType(a.type)?l=i.makeQuickFilter(a,t):H.isTextType(a.type)?l=i.makeQuickFilter(a,"~".concat(t),r):l=i.makeQuickFilter(a,">=".concat(t),r),l!=null?o.push(l):s="Invalid search text"}this.setState({filters:o,error:s})}}render(){var{error:e,filters:t,invertSelection:r,selectedValues:i,searchText:a,table:o}=this.state,{dh:s,formatter:l,showSearch:d}=this.props,u=this.getColumnName(),c=this.getDisplayedValueText(),m=u?"Find ".concat(u,"..."):"";return h.createElement("div",{className:"advanced-filter-creator-select-value"},h.createElement("div",{className:d?"form-group":""},h.createElement("label",{htmlFor:"advanced-filter-creator-select-value-input"},"Select Values"),d&&h.createElement("input",{type:"text",className:te("form-control",{"is-invalid":e!=null}),id:"advanced-filter-creator-select-value-input",placeholder:m,value:a,onChange:this.handleSearchChange})),h.createElement(l_,{dh:s,table:o,filters:t,invertSelection:r,selectedValues:i,formatter:l,onChange:this.handleListChange}),h.createElement("div",{className:"advanced-filter-creator-select-meta-row"},h.createElement("div",null,h.createElement(j,{kind:"ghost",onClick:this.handleSelectAllClick},"Select All"),h.createElement(j,{kind:"ghost",onClick:this.handleClearAllClick},"Clear")),h.createElement(kr,{in:c!=null,timeout:250,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"row-count-info"},c))))}}es(Ps,"searchDebounceTime",250);es(Ps,"defaultProps",{invertSelection:!0,selectedValues:[],onChange:()=>{},showSearch:!0});const h_=Ps;function Ka(n,e,t){return e=c_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function c_(n){var e=m_(n,"string");return typeof e=="symbol"?e:String(e)}function m_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Lo=ie.module("AdvancedFilterCreator");class In extends w.PureComponent{static makeFilterItem(){return{key:Xe()}}constructor(e){var t,r;super(e),Ka(this,"focusTrapContainer",void 0),Ka(this,"debounceTimeout",void 0),Ka(this,"valuesTablePromise",void 0),Ka(this,"getFilterTypes",fe(v=>H.getFilterTypes(v))),this.handleAddAnd=this.handleAddAnd.bind(this),this.handleAddOr=this.handleAddOr.bind(this),this.handleChangeFilterOperator=this.handleChangeFilterOperator.bind(this),this.handleDone=this.handleDone.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterDelete=this.handleFilterDelete.bind(this),this.handleSelectValueChange=this.handleSelectValueChange.bind(this),this.handleReset=this.handleReset.bind(this),this.handleSortDown=this.handleSortDown.bind(this),this.handleSortUp=this.handleSortUp.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleFocusTrapStart=this.handleFocusTrapStart.bind(this),this.handleFocusTrapEnd=this.handleFocusTrapEnd.bind(this),this.handleUpdateTimeout=this.handleUpdateTimeout.bind(this),this.focusTrapContainer=h.createRef();var{model:i,column:a,options:o}=e,{filterOperators:s,invertSelection:l,selectedValues:d}=o,u=(t=(r=o.filterItems)===null||r===void 0?void 0:r.map(v=>{var{selectedType:g,value:f}=v;return{selectedType:g,value:f,key:Xe()}}))!==null&&t!==void 0?t:[];u.length===0&&u.push(In.makeFilterItem()),s==null&&(s=[]),l==null&&(l=!0),d==null&&(d=[]);var c=i.getColumnIndexByName(a.name);L(c);var m=i.isColumnSortable(c);this.state={filterItems:u,filterOperators:s,invertSelection:l,selectedValues:d,valuesTableError:null,valuesTable:void 0,isSortable:m}}componentDidMount(){this.initValuesTable()}componentWillUnmount(){this.debounceTimeout!=null&&(clearTimeout(this.debounceTimeout),this.sendUpdate()),this.valuesTablePromise!=null&&this.valuesTablePromise.cancel()}getFilterChangeHandler(e){return this.handleFilterChange.bind(this,e)}getFilterDeleteHandler(e){return this.handleFilterDelete.bind(this,e)}initValuesTable(){var{model:e,column:t}=this.props;if(!e.isValuesTableAvailable){Lo.debug("No values table for this model, just ignore");return}this.valuesTablePromise=H.makeCancelableTablePromise(e.valuesTable(t)),this.valuesTablePromise.then(r=>{var i;if(!((i=r.columns[0].isSortable)!==null&&i!==void 0)||i){var a=r.columns[0].sort().asc();r.applySort([a])}this.setState({valuesTable:r})}).catch(r=>{Te.isCanceled(r)||(Lo.error("Unable to open values table",r),this.setState({valuesTableError:r}))})}handleFocusTrapEnd(){var e,t;((e=this.focusTrapContainer)===null||e===void 0||(t=e.current)===null||t===void 0?void 0:t.querySelector("button,select,input,textarea")).focus()}handleFocusTrapStart(){var e,t,r=(e=this.focusTrapContainer)===null||e===void 0||(t=e.current)===null||t===void 0?void 0:t.querySelectorAll("button,select,input,textarea");if(r&&r.length>0){var i=r[r.length-1];i.focus()}}handleAddAnd(){var{filterItems:e,filterOperators:t}=this.state;e=e.concat(In.makeFilterItem()),t=t.concat(ei.and),this.setState({filterItems:e,filterOperators:t})}handleAddOr(){var{filterItems:e,filterOperators:t}=this.state;e=e.concat(In.makeFilterItem()),t=t.concat(ei.or),this.setState({filterItems:e,filterOperators:t})}handleChangeFilterOperator(e,t){var{filterOperators:r}=this.state;r=[...r],kw(t),r[e]=t,this.setState({filterOperators:r}),this.startUpdateTimer()}handleFilterChange(e,t,r){var{filterItems:i}=this.state;i=[...i];var{key:a}=i[e];i[e]={key:a,selectedType:t,value:r},this.setState({filterItems:i}),this.startUpdateTimer()}handleFilterDelete(e){var{filterItems:t,filterOperators:r}=this.state;t=[...t],r=[...r],e<t.length&&t.splice(e,1),e<r.length?r.splice(e,1):e===r.length&&r.splice(r.length-1,1),t.length===0&&t.push(In.makeFilterItem()),this.setState({filterItems:t,filterOperators:r}),this.startUpdateTimer()}handleSelectValueChange(e,t){this.setState({selectedValues:e,invertSelection:t}),this.startUpdateTimer()}handleReset(){Lo.debug("Resetting Advanced Filter"),this.setState({filterItems:[In.makeFilterItem()],filterOperators:[],selectedValues:[],invertSelection:!0}),this.startUpdateTimer()}handleSortDown(e){var t=Ki.isModifierKeyDown(e);this.sortTable(H.sortDirection.descending,t)}handleSortUp(e){var t=Ki.isModifierKeyDown(e);this.sortTable(H.sortDirection.ascending,t)}handleSubmit(e){Lo.debug("Submitting Advanced Filter"),this.stopUpdateTimer(),this.sendUpdate(),e.preventDefault()}handleDone(e){Lo.debug("Submitting and Closing Advanced Filter"),this.stopUpdateTimer(),this.sendUpdate();var{onDone:t}=this.props;t(),e.preventDefault()}handleUpdateTimeout(){this.debounceTimeout=void 0,this.sendUpdate()}shouldShowAddFilter(){var{filterItems:e}=this.state;if(e.length===0)return!1;var t=e[e.length-1],{selectedType:r,value:i}=t;return r!=null&&r.length>0&&i!=null&&i.length>0}sortTable(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{column:r,onSortChange:i}=this.props,{isSortable:a}=this.state;a&&i(r,e,t)}startUpdateTimer(){this.stopUpdateTimer(),this.debounceTimeout=setTimeout(this.handleUpdateTimeout,In.debounceFilterUpdate)}stopUpdateTimer(){this.debounceTimeout!==void 0&&(clearTimeout(this.debounceTimeout),this.debounceTimeout=void 0)}sendUpdate(){var{filterItems:e,filterOperators:t,invertSelection:r,selectedValues:i}=this.state,{column:a,onFilterChange:o,model:s,tableUtils:l}=this.props,{formatter:d}=s,u=e.filter(g=>{var{selectedType:f,value:p}=g;return f!=null&&p!=null&&p!==""}),c=t.filter((g,f)=>g!=null&&e[f].selectedType!=null&&e[f].value!=null&&e[f].value!=="").slice(0,u.length-1),m={filterItems:u,filterOperators:c,invertSelection:r,selectedValues:i},v=l.makeAdvancedFilter(a,m,d.timeZone);o(a,v,m)}render(){var e=this,{column:t,model:r,sortDirection:i,formatter:a,tableUtils:o}=this.props,{filterItems:s,filterOperators:l,invertSelection:d,selectedValues:u,valuesTable:c,valuesTableError:m,isSortable:v}=this.state,{dh:g,isValuesTableAvailable:f}=r,p=H.isBooleanType(t.type),C=H.isDateType(t.type),b=this.getFilterTypes(t.type),S=t.type.substring(t.type.lastIndexOf(".")+1),E=[];if(!p&&b.length)for(var y=function(R){var _=s[R],{key:M,selectedType:A,value:B}=_,$=h.createElement(a_,{key:M,column:t,filterTypes:b,onChange:e.getFilterChangeHandler(R),onDelete:e.getFilterDeleteHandler(R),selectedType:A,value:B,formatter:a,tableUtils:o});if(E.push($),R<l.length){var z=l[R],G=z===ei.and,K=h.createElement("div",{key:"filterOperator".concat(M),className:"form-row justify-content-end advanced-filter-creator-filter-operator"},h.createElement(j,{kind:"ghost",className:te("filter-operator",{active:G}),onClick:()=>e.handleChangeFilterOperator(R,ei.and)},"AND"),h.createElement(j,{kind:"ghost",className:te("filter-operator",{active:!G}),onClick:()=>e.handleChangeFilterOperator(R,ei.or)},"OR"));E.push(K)}},T=0;T<s.length;T+=1)y(T);var O=this.shouldShowAddFilter(),D=h.createElement("div",{key:"addFilterItem",className:te("form-row justify-content-end add-filter-item",{hidden:!O})},h.createElement("span",{className:"text-muted"},h.createElement(re,{icon:Yi})),h.createElement(j,{kind:"ghost",className:"btn-filter-item",onClick:this.handleAddAnd,disabled:!O,tooltip:"Add filter with AND"},"AND"),h.createElement(j,{kind:"ghost",className:"btn-filter-item",onClick:this.handleAddOr,disabled:!O,tooltip:"Add filter with OR"},"OR"));return E.push(D),h.createElement("div",{className:"advanced-filter-creator",role:"presentation"},h.createElement("div",{tabIndex:0,onFocus:this.handleFocusTrapStart}),h.createElement("form",{onSubmit:this.handleSubmit,ref:this.focusTrapContainer},h.createElement("div",{className:"title-bar"},h.createElement("h6",{className:"advanced-filter-title"},"Advanced Filters"),h.createElement("div",{className:"advanced-filter-menu-buttons"},h.createElement(j,{kind:"ghost",className:te("sort-operator",{active:i===H.sortDirection.descending}),onClick:this.handleSortDown,icon:am,tooltip:v?"Sort ".concat(t.name," Descending"):"Not sortable",disabled:!v}),h.createElement(j,{kind:"ghost",className:te("sort-operator",{active:i===H.sortDirection.ascending}),onClick:this.handleSortUp,icon:h.createElement(re,{icon:am,rotation:180}),tooltip:v?"Sort ".concat(t.name," Ascending"):"Not sortable",disabled:!v}))),h.createElement("hr",null),h.createElement("div",{className:"advanced-filter-column-name"},t.name," ",h.createElement("span",{className:"column-type"},"(",S,")")),E,f&&m==null&&h.createElement(h.Fragment,null,!p&&h.createElement("hr",null),h.createElement("div",{className:"form-group"},h.createElement(h_,{dh:g,table:c,onChange:this.handleSelectValueChange,invertSelection:d,selectedValues:u,formatter:a,showSearch:!C,timeZone:a.timeZone}))),h.createElement("div",{className:"form-row justify-content-end"},h.createElement(j,{kind:"secondary",className:"mr-2",onClick:this.handleReset},"Reset"),h.createElement(j,{kind:"primary",onClick:this.handleDone},"Done"))),h.createElement("div",{tabIndex:0,onFocus:this.handleFocusTrapEnd}))}}Ka(In,"debounceFilterUpdate",250);Ka(In,"defaultProps",{options:{filterItems:null,filterOperators:null,invertSelection:!0,selectedValues:[]},sortDirection:null});const v_=In;function Yv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function qv(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yv(Object(t),!0).forEach(function(r){g_(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function g_(n,e,t){return e=f_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function f_(n){var e=p_(n,"string");return typeof e=="symbol"?e:String(e)}function p_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Xv=ie.module("Aggregations");function C_(n){var{isRollup:e,settings:t,onChange:r,onEdit:i}=n,{aggregations:a,showOnTop:o}=t,s=w.useMemo(()=>zN.filter(R=>!a.some(_=>_.operation===R)),[a]),[l,d]=w.useState(s[0]),[u,c]=w.useState([]),m=w.useCallback(R=>{r(qv(qv({},t),R))},[r,t]),v=w.useCallback(R=>{m({aggregations:R})},[m]),g=w.useCallback(R=>{m({showOnTop:R})},[m]),f=w.useCallback(()=>{Xv.debug("handleDragStart"),bn.startDragging()},[]),p=w.useCallback(R=>{var{destination:_,source:M}=R;if(Xv.debug("handleDragEnd",_,M),bn.stopDragging(),_!==null){var A=_.index;M.index<_.index&&(A+=1);var B=[...a],$=bn.reorder(B,u,B,A),z=bn.adjustDestinationIndex(A,u),G=[[z,z+$.length-1]];v(B),c(G)}},[v,a,u,c]),C=w.useCallback(R=>{d(R)},[d]),b=w.useCallback(()=>{v([...a,{operation:l,selected:[],invert:!0}])},[a,l,v]),S=w.useCallback(R=>{v(a.filter((_,M)=>M!==R))},[a,v]),E=w.useCallback(R=>{c(R)},[c]),y=w.useCallback(R=>{var _=a[R];Bi.isRollupOperation(_.operation)||i(_)},[a,i]),T=w.useCallback(R=>{g(R.target.value==="true")},[g]);w.useEffect(function(){s.length>0&&!s.includes(l)&&d(s[0])},[s,l]);var O=w.useCallback(R=>{var{item:_,itemIndex:M,isClone:A=!1,selectedCount:B}=R,$=_.operation,z=A?"".concat(B):void 0,G=A?"item-list-item-clone":void 0,K=Bi.isRollupOperation(_.operation),X=!A&&!K;return h.createElement(h.Fragment,null,h.createElement("div",{className:te("item-list-item-content","draggable-item-list-item-content",G)},h.createElement("span",{className:"title"},$,!e&&K&&h.createElement("span",{className:"small text-warning"},h.createElement(re,{icon:$f})," Requires rollup")),vn.renderBadge({text:z}),vn.renderHandle()),!A&&h.createElement(h.Fragment,null,h.createElement(j,{kind:"ghost",className:"btn-edit",icon:ps,tooltip:"Edit Columns",onClick:()=>i(_),disabled:!X}),h.createElement(j,{kind:"ghost",className:"btn-delete",icon:Hr,tooltip:"Delete Aggregation",onClick:()=>S(M)})))},[S,i,e]),D=s.length>0,P=a.length>0;return h.createElement("div",{className:"aggregations"},D&&h.createElement("div",{className:"form-inline"},h.createElement(xw,{onChange:C,value:l},s.map(R=>h.createElement(Hw,{value:R,key:R},R))),h.createElement("button",{type:"button",className:"btn btn-link btn-add",onClick:b},h.createElement(re,{icon:Yi}),"Add Aggregation")),D&&P&&h.createElement("hr",null),P&&h.createElement(h.Fragment,null,!e&&h.createElement("div",{className:"form-inline"},h.createElement("label",null,"Placement: "),h.createElement(cd,{onChange:T,value:"".concat(o)},h.createElement(si,{value:"true"},"Top"),h.createElement(si,{value:"false"},"Bottom"))),h.createElement(nd,{onDragStart:f,onDragEnd:p},h.createElement(vn,{className:"selected-aggregations",itemCount:a.length,items:a,renderItem:O,offset:0,onSelectionChange:E,onSelect:y,selectedRanges:u,isMultiSelect:!0}))))}function Qv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ti(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qv(Object(t),!0).forEach(function(r){b_(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Qv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function b_(n,e,t){return e=S_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S_(n){var e=w_(n,"string");return typeof e=="symbol"?e:String(e)}function w_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var cn;(function(n){n[n.NONE=0]="NONE",n[n.ASCENDING=1]="ASCENDING",n[n.DESCENDING=2]="DESCENDING"})(cn||(cn={}));var E_=30;function y_(n){var{aggregation:e,columns:t,onChange:r}=n,[i,a]=w.useState(-1),[o,s]=w.useState(-1),[l,d]=w.useState(cn.NONE),{invert:u,selected:c}=e,m=w.useRef(null),v=w.useCallback(T=>c.includes(T)?!u:u,[u,c]),g=w.useMemo(()=>{var T=dc(t,e.operation);return l!==cn.NONE&&(T=H.sortColumns(T,l===cn.ASCENDING)),T},[t,e.operation,l]),f=w.useMemo(()=>i>=0?g.slice(i,o+1).map(T=>({value:T.name,displayValue:T.name,isSelected:v(T.name)})):[],[g,v,o,i]),p=w.useCallback(T=>{var{name:O}=g[T],D=c.indexOf(O),P=[...c],R=u;D>=0?P.splice(D,1):(P.push(O),P.length===g.length&&(P=[],R=!u)),r(Ti(Ti({},e),{},{selected:P,invert:R}))},[e,u,g,c,r]),C=w.useCallback(()=>{d(cn.NONE),r(Ti(Ti({},e),{},{selected:[],invert:!0}))},[e,r]),b=w.useCallback((T,O)=>{a(T),s(O)},[a,s]),S=w.useCallback(()=>{c.length===0?r(Ti(Ti({},e),{},{invert:!u})):r(Ti(Ti({},e),{},{selected:[],invert:!0}))},[e,u,r,c]),E=c.length===0?u:null,y=c.length!==0||!u||l!==cn.NONE;return h.createElement("div",{role:"menu",className:"aggregation-edit"},h.createElement("div",{className:"top-menu"},h.createElement("div",{className:"form-inline"},h.createElement(rn,{checked:E,onChange:S},"Toggle All"),h.createElement("div",{className:"spacer"}),h.createElement(kr,{in:y,timeout:et.transitionSlowMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(j,{kind:"ghost",className:"btn-reset",onClick:C},"Reset")),h.createElement(j,{kind:"ghost",className:te({active:l===cn.ASCENDING}),icon:xh,tooltip:"Sort ascending",onClick:()=>d(cn.ASCENDING)}),h.createElement(j,{kind:"ghost",className:te({active:l===cn.DESCENDING}),icon:Hh,tooltip:"Sort descending",onClick:()=>d(cn.DESCENDING)}))),h.createElement("div",{className:"aggregation-edit-item-list"},h.createElement(io,{itemCount:g.length,items:f,offset:i,renderItem:T=>{var{item:O}=T;return h.createElement(rn,{checked:v(O.value)},O.displayValue)},onSelect:p,onViewportChange:b,rowHeight:E_,focusSelector:"input",ref:m})))}function hh(){return hh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},hh.apply(this,arguments)}function T_(n){return w.createElement("svg",hh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#7DA4FF",d:"M8 26h4v15H8zM15 17h4v24h-4zM22 21h4v20h-4zM29 17h4v24h-4zM36 11h4v30h-4z"})))}function ch(){return ch=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ch.apply(this,arguments)}function P_(n){return w.createElement("svg",ch({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#7DA4FF",d:"M7 34h4v8H7zM12 31h4v11h-4zM17 27h4v15h-4zM22 22h4v20h-4zM27 27h4v15h-4zM32 29h4v13h-4zM37 31h4v11h-4z"})))}function mh(){return mh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},mh.apply(this,arguments)}function O_(n){return w.createElement("svg",mh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M4 4h1v40H4zM44 43v1H5v-1z"}),w.createElement("path",{stroke:"#7DA4FF",d:"M7.984 32.44l7.982-11.378 5.273 3.739 9.952-10.838 2.826 1.894 7.45-5.802"}),w.createElement("path",{stroke:"#BECDEF",d:"M8.244 37.926L17 33.496l5 .87 10.637-10.35 10.615-1.381"})))}function vh(){return vh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},vh.apply(this,arguments)}function D_(n){return w.createElement("svg",vh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{d:"M24 10c7.732 0 14 6.268 14 14s-6.268 14-14 14-14-6.268-14-14h14V10z",fill:"#80A6FF"}),w.createElement("path",{d:"M10 24c0-7.732 6.268-14 14-14v14H10z",fill:"#C1C0C0"})))}function gh(){return gh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},gh.apply(this,arguments)}function R_(n){return w.createElement("svg",gh({width:48,height:48,xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("path",{fill:"#C1C0C0",d:"M44 43v1H4v-1z"}),w.createElement("path",{fill:"#939293",d:"M44 34v1H4v-1zM44 25v1H4v-1zM44 16v1H4v-1z"}),w.createElement("circle",{fill:"#7DA4FF",cx:9.5,cy:37.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:16.5,cy:30.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:22.5,cy:36.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:28.5,cy:30.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:15.5,cy:38.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:23.5,cy:25.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:19.5,cy:19.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:29.5,cy:19.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:32.5,cy:26.5,r:1.5}),w.createElement("circle",{fill:"#7DA4FF",cx:36.5,cy:13.5,r:1.5})))}function fh(){return fh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},fh.apply(this,arguments)}function N_(n){return w.createElement("svg",fh({width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("rect",{width:"48",height:"48",fill:"none"}),w.createElement("rect",{x:"26",y:"10",width:"15",height:"4",fill:"#9FDE70"}),w.createElement("rect",{x:"26",y:"22",width:"15",height:"4",fill:"#9FDE70"}),w.createElement("rect",{x:"26",y:"28",width:"15",height:"4",fill:"#FFD95C"}),w.createElement("rect",{x:"26",y:"34",width:"15",height:"4",fill:"#9FDE70"}))}function ph(){return ph=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ph.apply(this,arguments)}function F_(n){return w.createElement("svg",ph({width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),w.createElement("rect",{width:"48",height:"48",fill:"none"}),w.createElement("rect",{x:"4",y:"16",width:"40",height:"4",fill:"#FFD95C"}),w.createElement("rect",{x:"4",y:"10",width:"40",height:"4",fill:"#78DCE8"}),w.createElement("rect",{x:"4",y:"34",width:"40",height:"4",fill:"#78DCE8"}))}var Zv=ie.module("ChartBuilder");class mn extends w.PureComponent{static getMaxSeriesCount(e,t){switch(t){case e.plot.SeriesPlotStyle.PIE:return 1;case e.plot.SeriesPlotStyle.HISTOGRAM:return 0;default:return 100}}static makeSeriesItem(e){return{id:Xe.generate(),value:e}}static makeDefaultSeriesItems(e,t,r){var i=mn.getMaxSeriesCount(e,t);if(i===0||r==null||r.length===0)return[];var a=r.length>1?r[1].name:r[0].name;return[mn.makeSeriesItem(a)]}static getDefaultXAxis(e,t){return t!=null&&t.length>0?t[0].name:null}constructor(e){super(e),this.handleAddSeries=this.handleAddSeries.bind(this),this.handleLinkStateChange=this.handleLinkStateChange.bind(this),this.handleReset=this.handleReset.bind(this),this.handleSeriesChange=this.handleSeriesChange.bind(this),this.handleSeriesDeleteClick=this.handleSeriesDeleteClick.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleTypeClick=this.handleTypeClick.bind(this),this.handleXAxisChange=this.handleXAxisChange.bind(this),this.sendChange=this.sendChange.bind(this);var{model:t}=e,{columns:r,dh:i}=t,a=this.getTypes()[0],o=mn.getDefaultXAxis(a,r),s=mn.makeDefaultSeriesItems(i,a,r);this.state={type:a,seriesItems:s,xAxis:o,isLinked:!0}}getTypes(){var{model:e}=this.props,{dh:t}=e;return[t.plot.SeriesPlotStyle.LINE,t.plot.SeriesPlotStyle.BAR,t.plot.SeriesPlotStyle.SCATTER,t.plot.SeriesPlotStyle.PIE]}getTypeName(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.LINE:return"Line";case r.plot.SeriesPlotStyle.BAR:return"Bar";case r.plot.SeriesPlotStyle.SCATTER:return"Scatter";case r.plot.SeriesPlotStyle.PIE:return"Pie";case r.plot.SeriesPlotStyle.HISTOGRAM:return"Histogram";default:return e}}getTypeIcon(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.LINE:return h.createElement(O_,null);case r.plot.SeriesPlotStyle.BAR:return h.createElement(T_,null);case r.plot.SeriesPlotStyle.SCATTER:return h.createElement(R_,null);case r.plot.SeriesPlotStyle.PIE:return h.createElement(D_,null);case r.plot.SeriesPlotStyle.HISTOGRAM:return h.createElement(P_,null);default:return null}}getXAxisLabel(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.PIE:return"Labels";case r.plot.SeriesPlotStyle.HISTOGRAM:return"Data";default:return"X-Axis"}}getSeriesLabel(e){var{model:t}=this.props,{dh:r}=t;switch(e){case r.plot.SeriesPlotStyle.PIE:return"Values";default:return"Series"}}handleAddSeries(){this.setState(e=>{var{seriesItems:t}=e,r=[...t],{model:i}=this.props,{columns:a}=i;return r.push({id:Xe.generate(),value:a[0].name}),{seriesItems:r}},this.sendChange)}handleLinkStateChange(e){this.setState({isLinked:e.target.value==="true"},this.sendChange)}handleReset(){var{model:e}=this.props,{columns:t,dh:r}=e,i=this.getTypes()[0],a=mn.getDefaultXAxis(i,t),o=mn.makeDefaultSeriesItems(r,i,t),s=!0;this.setState({type:i,seriesItems:o,xAxis:a,isLinked:s},this.sendChange)}handleSeriesChange(e){var{value:t}=e.target,r=e.target.getAttribute("data-index"),i=parseInt(r,10);this.setState(a=>{var{seriesItems:o}=a;return o=[...o],o[i].value=t,{seriesItems:o}},this.sendChange)}handleSeriesDeleteClick(e){var t=e,r=t.target.getAttribute("data-index"),i=parseInt(r,10);this.setState(a=>{var{seriesItems:o}=a,s=[...o];return s.splice(i,1),{seriesItems:s}},this.sendChange)}handleSubmit(e){e.preventDefault();var{onSubmit:t}=this.props,{type:r,seriesItems:i,xAxis:a,isLinked:o}=this.state,s=i.map(l=>l.value);t({type:r,series:s,xAxis:a,isLinked:o})}handleTypeClick(e){var t=e,r=t.target.getAttribute("data-index"),i=parseInt(r,10),a=this.getTypes()[i];Zv.debug2("handleTypeSelect",a),this.setState(o=>{var{model:s}=this.props,{dh:l}=s,d=mn.getMaxSeriesCount(l,a),{seriesItems:u}=o;if(u=u.slice(0,d),u.length===0&&d>0){var{columns:c}=s;u=mn.makeDefaultSeriesItems(l,a,c)}return{type:a,seriesItems:u}},this.sendChange)}handleXAxisChange(e){var t=e.target.value;Zv.debug2("x-axis change",t),this.setState({xAxis:t},this.sendChange)}sendChange(){var{onChange:e}=this.props,{isLinked:t,type:r,seriesItems:i,xAxis:a}=this.state,o=i.map(s=>s.value);e({type:r,series:o,xAxis:a,isLinked:t})}render(){var{model:e}=this.props,{columns:t,dh:r}=e,{seriesItems:i,type:a,xAxis:o,isLinked:s}=this.state,l=mn.getMaxSeriesCount(r,a),d=this.getXAxisLabel(a),u=this.getSeriesLabel(a),c=i.length>0,m=i.length<l;return h.createElement("div",{className:"chart-builder"},h.createElement("form",{onSubmit:this.handleSubmit},h.createElement("div",{className:"form-row"},h.createElement("label",null,"Select Chart Type"),h.createElement("div",{className:"form-row"},this.getTypes().map((v,g)=>{var f=v;return h.createElement("div",{key:f,className:"col col-chart-type"},h.createElement("button",{type:"button",className:te("btn","btn-icon","btn-chart-type",{active:v===a}),"data-index":g,onClick:this.handleTypeClick},this.getTypeIcon(v),this.getTypeName(v)))}))),h.createElement("hr",null),h.createElement("div",{className:"form-row form-inline"},h.createElement("label",{className:"col-2 label-left"},d),h.createElement("select",{className:"form-control custom-select select-x-axis col",value:o,onChange:this.handleXAxisChange},t.map(v=>h.createElement("option",{key:v.name,value:v.name},v.name)))),c&&h.createElement("hr",null),i.map((v,g)=>h.createElement("div",{className:"form-row form-inline form-series-item",key:v.id,"data-testid":"form-series-item-".concat(g)},h.createElement("label",{className:"col-2 label-left"},g===0?u:""),h.createElement("select",{className:"form-control custom-select select-series col",value:v.value,onChange:this.handleSeriesChange,"data-testid":"select-series-item-".concat(g),"data-index":g},t.map(f=>h.createElement("option",{key:f.name,value:f.name,"data-index":g},f.name))),i.length>1&&h.createElement(j,{kind:"ghost",className:"btn-delete-series ml-2 px-2","data-index":g,"data-testid":"delete-series-".concat(g),onClick:this.handleSeriesDeleteClick,icon:Hr,tooltip:"Delete"}))),m&&h.createElement("div",{className:"form-row"},h.createElement("div",{className:"col-2"}),h.createElement(j,{kind:"ghost",className:"btn-add-series mt-1",onClick:this.handleAddSeries,icon:Yi},"Add Series")),h.createElement("div",{className:"form-row chart-builder-link"},h.createElement("label",{className:"col-2 label-right"},h.createElement("div",{className:"fa-md fa-layers"},h.createElement(re,{mask:Mh,icon:no,transform:"right-5 down-5"}),h.createElement(re,{icon:s?Bf:VS,transform:"grow-2 right-8 down-6"}))),h.createElement(cd,{onChange:this.handleLinkStateChange,value:"".concat(s)},h.createElement(si,{value:"true"},"Sync State"),h.createElement(si,{value:"false"},"Freeze State"))),h.createElement("div",{className:"form-row"},h.createElement("div",{className:"col-2 label-right"}),h.createElement("div",{className:"col chart-builder-link-info"},s?"Charts with synced state will update to match any filters or user modifications applied to the parent table.":"Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.")),h.createElement("div",{className:te("form-row","justify-content-end","my-3")},h.createElement(j,{kind:"secondary",className:"btn-reset",onClick:this.handleReset},"Reset"),h.createElement(j,{kind:"primary",type:"submit",className:"btn-submit"},"Create"))))}}const I_=mn;function Jv(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function __(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jv(Object(t),!0).forEach(function(r){jl(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Jv(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function jl(n,e,t){return e=M_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function M_(n){var e=A_(n,"string");return typeof e=="symbol"?e:String(e)}function A_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class FC extends w.Component{constructor(e){super(e),jl(this,"editorContainer",void 0),jl(this,"editor",void 0),this.handleContentChanged=this.handleContentChanged.bind(this),this.handleEditorFocus=this.handleEditorFocus.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleContainerClick=this.handleContainerClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.state={isEditorFocused:!1,isEditorEmpty:!0},this.editorContainer=null}componentDidMount(){this.initEditor()}componentWillUnmount(){this.destroyEditor()}initEditor(){var e,{value:t,editorSettings:r}=this.props,i=__({copyWithSyntaxHighlighting:"false",fixedOverflowWidgets:!0,folding:!1,fontFamily:"Fira Mono",glyphMargin:!1,language:"groovyDB",lineDecorationsWidth:8,lineNumbers:"off",minimap:{enabled:!1},renderLineHighlight:"none",scrollbar:{arrowSize:0,horizontal:"hidden",horizontalScrollbarSize:0},scrollBeyondLastLine:!1,padding:{top:6,bottom:6},tabCompletion:"off",useTabStops:!0,value:t,wordWrap:"on",automaticLayout:!0},r);if(!this.editorContainer)throw new Error("editorContainer is null");this.editor=ni.create(this.editorContainer,i),this.editor.layout(),(e=this.editor.getModel())===null||e===void 0||e.updateOptions({tabSize:0}),this.editor.onKeyDown(this.handleKeyDown),this.editor.onDidChangeModelContent(this.handleContentChanged),this.editor.onDidFocusEditorText(this.handleEditorFocus),this.editor.onDidBlurEditorText(this.handleEditorBlur)}destroyEditor(){var e;(e=this.editor)===null||e===void 0||e.dispose(),this.editor=void 0}handleContentChanged(){var e,t,{onContentChanged:r}=this.props,i=(e=this.editor)===null||e===void 0||(t=e.getModel())===null||t===void 0?void 0:t.getValue();i!==void 0&&this.setState({isEditorEmpty:i.length===0}),r(i)}handleEditorFocus(){this.setState({isEditorFocused:!0})}handleEditorBlur(){var e,t,r,i=(e=(t=this.editor)===null||t===void 0||(r=t.getModel())===null||r===void 0?void 0:r.getValue())!==null&&e!==void 0?e:"";this.setState({isEditorEmpty:i.length===0,isEditorFocused:!1})}handleContainerClick(){var e,{isEditorFocused:t}=this.state;t||(e=this.editor)===null||e===void 0||e.focus()}handleKeyDown(e){var{onTab:t,editorIndex:r}=this.props;e.code==="Tab"&&(e.stopPropagation(),e.preventDefault(),t(r,e.shiftKey))}render(){var{className:e,invalid:t,placeholder:r="",value:i}=this.props,{isEditorFocused:a,isEditorEmpty:o}=this.state;return h.createElement("div",{className:te("input-editor-wrapper",{focused:a,invalid:t},e),role:"presentation",onClick:this.handleContainerClick},h.createElement("div",{className:"editor-container",ref:s=>{this.editorContainer=s},"data-testid":"custom-column-formula"}),o&&!i&&r.length>0&&h.createElement("div",{className:"editor-placeholder text-muted"},r))}}jl(FC,"defaultProps",{value:"",onContentChanged:()=>{},editorSettings:{},editorIndex:0,onTab:()=>{},invalid:!1});const L_=FC;function zl(){return zl=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},zl.apply(this,arguments)}var eg=Object.freeze({NAME:"name",FORMULA:"formula"}),k_=()=>{};function x_(n){var{eventKey:e,name:t,inputIndex:r,formula:i,onChange:a,onDeleteColumn:o,onTabInEditor:s,invalid:l,isDuplicate:d}=n,u=t===""||po.isValidColumnName(t),c=w.useCallback(m=>{m!==void 0&&(m.replace(/(\r\n|\n|\r)/gm,""),a(e,eg.FORMULA,m))},[a,e]);return h.createElement(_f,{draggableId:e,index:r,disableInteractiveElementBlocking:!0},(m,v)=>h.createElement("div",zl({className:te("draggable-container",{dragging:v.isDragging}),ref:m.innerRef},m.draggableProps),h.createElement("div",{className:"custom-column-input-container"},h.createElement("div",{className:"pb-3"},h.createElement("div",{className:"d-flex flex-row custom-column-name"},h.createElement("input",{className:te("form-control custom-column-input",{"is-invalid":l||!u||d}),placeholder:"Column Name",value:t,onChange:g=>{a(e,eg.NAME,g.target.value)}}),h.createElement(j,{kind:"ghost",className:"ml-1 px-2",onClick:()=>{o(e)},icon:Hr,tooltip:"Delete custom column"}),h.createElement(j,zl({kind:"ghost",className:"btn-drag-handle",onClick:k_},m.dragHandleProps,{icon:ad,tooltip:"Drag column to re-order"}))),(!u||d)&&h.createElement("p",{className:"validate-label-error text-danger mb-0 mt-2 pl-1"},u?"Duplicate name":"Invalid name")),h.createElement(L_,{editorSettings:{language:"deephavenDb"},editorIndex:r,placeholder:"Column Formula",value:i,onContentChanged:c,onTab:s,invalid:l})),h.createElement("hr",null)))}function Ch(n,e,t){return e=H_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function H_(n){var e=U_(n,"string");return typeof e=="symbol"?e:String(e)}function U_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var yu=[];class IC extends mN{constructor(e){super(),Ch(this,"dh",void 0),Ch(this,"listenerCount",void 0),this.dh=e,this.listenerCount=0}addEventListener(e,t,r){super.addEventListener(e,t,r),this.listenerCount+=1,this.listenerCount===1&&this.startListening()}removeEventListener(e,t,r){super.removeEventListener(e,t,r),this.listenerCount-=1,this.listenerCount===0&&this.stopListening()}startListening(){}stopListening(){}get originalColumns(){return this.columns}get layoutHints(){return null}get frontColumns(){return yu}get backColumns(){return yu}get frozenColumns(){return yu}isColumnFrozen(e){return!1}isColumnSortable(e){return!1}get isFilterRequired(){return!1}get isReversible(){return!0}get isColumnStatisticsAvailable(){return!1}get description(){return""}get isCustomColumnsAvailable(){return!1}get isFormatColumnsAvailable(){return!1}get isExportAvailable(){return!1}get isValuesTableAvailable(){return!1}get isChartBuilderAvailable(){return!1}get isRollupAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isTotalsAvailable(){return!1}isFilterable(e){return!1}close(){}isRowMovable(){return!1}get isSeekRowAvailable(){return!1}}Ch(IC,"EVENT",Object.freeze({UPDATED:"UPDATED",FORMATTER_UPDATED:"FORMATTER_UPDATED",REQUEST_FAILED:"REQUEST_FAILED",COLUMNS_CHANGED:"COLUMNS_CHANGED",TABLE_CHANGED:"TABLE_CHANGED",FILTERS_CHANGED:"FILTERS_CHANGED",SORTS_CHANGED:"SORTS_CHANGED",DISCONNECT:"DISCONNECT",RECONNECT:"RECONNECT",TOTALS_UPDATED:"TOTALS_UPDATED",PENDING_DATA_UPDATED:"PENDING_DATA_UPDATED"}));const Se=IC;function bh(){return bh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},bh.apply(this,arguments)}function tg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function $_(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tg(Object(t),!0).forEach(function(r){Ya(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):tg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ya(n,e,t){return e=B_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function B_(n){var e=V_(n,"string");return typeof e=="symbol"?e:String(e)}function V_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Hi extends w.Component{static makeCustomColumnInputEventKey(){return Xe.generate()}static createCustomColumnInput(){return{eventKey:Xe.generate(),name:"",formula:""}}constructor(e){super(e),Ya(this,"container",void 0),Ya(this,"successButtonTimer",void 0),Ya(this,"getInput",fe((t,r)=>t.find(i=>i.eventKey===r))),Ya(this,"getInputIndex",fe((t,r)=>t.findIndex(i=>i.eventKey===r))),this.handleAddColumnClick=this.handleAddColumnClick.bind(this),this.handleSaveClick=this.handleSaveClick.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleDeleteColumn=this.handleDeleteColumn.bind(this),this.handleCustomColumnUpdated=this.handleCustomColumnUpdated.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleDragEnd=this.handleDragEnd.bind(this),this.resetRequestFailed=this.resetRequestFailed.bind(this),this.handleEditorTabNavigation=this.handleEditorTabNavigation.bind(this),this.state={inputs:[],isCustomColumnApplying:!1,errorMessage:null,hasRequestFailed:!1,isSuccessShowing:!1},this.container=null,this.successButtonTimer=null}componentDidMount(){var{customColumns:e}=this.props;this.parseCustomColumns(e),this.startListening()}componentWillUnmount(){this.stopListening(),this.successButtonTimer&&clearTimeout(this.successButtonTimer)}resetErrorMessage(){this.setState({errorMessage:null})}startListening(){var{model:e}=this.props;e.addEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnUpdated),e.addEventListener(Se.EVENT.UPDATED,this.handleCustomColumnUpdated),e.addEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed)}stopListening(){var{model:e}=this.props;e.removeEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnUpdated),e.removeEventListener(Se.EVENT.UPDATED,this.handleCustomColumnUpdated),e.removeEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed)}parseCustomColumns(e){if(e.length>0){var t=e.map(r=>{var i=r.split(/=(.+)/,2);return{eventKey:Hi.makeCustomColumnInputEventKey(),name:i[0],formula:i[1]}});this.setState({inputs:t})}else this.setState({inputs:[Hi.createCustomColumnInput()]})}handleAddColumnClick(){var{inputs:e}=this.state,t=[...e];t.push(Hi.createCustomColumnInput()),this.setState({inputs:t})}handleDeleteColumn(e){var{inputs:t}=this.state,r=this.getInputIndex(t,e),i=[...t];i.splice(r,1),i.length===0&&i.push(Hi.createCustomColumnInput()),this.setState({inputs:i})}handleInputChange(e,t,r){var{inputs:i}=this.state,a=this.getInputIndex(i,e),o=this.getInput(i,e),s=$_({},o);s[t]=r;var l=[...i];l.splice(a,1,s),this.setState({inputs:l})}handleCustomColumnUpdated(){var{isCustomColumnApplying:e}=this.state;e&&this.setState({isCustomColumnApplying:!1,isSuccessShowing:!0},()=>{this.successButtonTimer=setTimeout(()=>this.setState({isSuccessShowing:!1}),Hi.SUCCESS_SHOW_DURATION)})}handleRequestFailed(e){var t=e,{isCustomColumnApplying:r}=this.state;r&&this.setState({isCustomColumnApplying:!1,errorMessage:h.createElement(h.Fragment,null,h.createElement("p",null,h.createElement(re,{icon:Wi})," Failed to apply custom columns."),h.createElement("div",{className:"error-box"},t.detail.errorMessage,h.createElement("br",null),"Table configuration:"," ",JSON.stringify(t.detail.configuration))),hasRequestFailed:!0})}handleDragEnd(e){if(bn.stopDragging(),!!e.destination){var{inputs:t}=this.state,r=e.source.index,i=e.destination.index,a=[...t],o=t[r];a.splice(r,1),a.splice(i,0,o),this.setState({inputs:a})}}handleEditorTabNavigation(e,t){var{inputs:r}=this.state;if(t){var i;((i=this.container)===null||i===void 0?void 0:i.querySelectorAll(".btn-drag-handle")[e]).focus();return}if(e===r.length-1){var a,o;(a=this.container)===null||a===void 0||(o=a.querySelector(".btn-add-column"))===null||o===void 0||o.focus()}else{var s,l=e+1;((s=this.container)===null||s===void 0?void 0:s.querySelectorAll(".custom-column-input")[l]).focus()}}handleSaveClick(){var{onSave:e,customColumns:t}=this.props,{inputs:r,isCustomColumnApplying:i}=this.state;if(!i){var a=[];r.forEach(o=>{var{name:s,formula:l}=o;s&&l&&a.push("".concat(s,"=").concat(l))}),this.resetErrorMessage(),this.setState({isCustomColumnApplying:a.length>0||t.length>0}),e(a)}}resetRequestFailed(){this.setState(e=>{var{hasRequestFailed:t}=e;return t?{hasRequestFailed:!1}:null})}renderInputs(){var{inputs:e,hasRequestFailed:t}=this.state,r=new Map;return e.forEach(i=>{var a,{name:o}=i;return r.set(o,((a=r.get(o))!==null&&a!==void 0?a:0)+1)}),e.map((i,a)=>{var o,{eventKey:s,name:l,formula:d}=i,u=((o=r.get(l))!==null&&o!==void 0?o:0)>1;return h.createElement(x_,{key:s,inputIndex:a,eventKey:s,name:l,formula:d,onChange:this.handleInputChange,onDeleteColumn:this.handleDeleteColumn,onTabInEditor:this.handleEditorTabNavigation,invalid:t,isDuplicate:u})})}renderSaveButton(){var{inputs:e,isCustomColumnApplying:t,isSuccessShowing:r}=this.state,i=e.length>1?"Save Columns":"Save Column",a=e.every(l=>{var{name:d}=l;return d===""||po.isValidColumnName(d)}),o=e.filter(l=>{var{name:d}=l;return d!==""}).map(l=>{var{name:d}=l;return d}),s=new Set(o).size===o.length;return h.createElement(j,{kind:r?"success":"primary",className:te("btn-apply",{"btn-spinner":t}),disabled:r||t||!a||!s,onClick:this.handleSaveClick},t&&h.createElement("span",null,h.createElement(Hn,null),h.createElement("span",{className:"btn-normal-content"},"Applying")),!r&&!t&&i,r&&h.createElement(h.Fragment,null,h.createElement(re,{icon:Ah})," Success"))}render(){var{onCancel:e}=this.props,{errorMessage:t}=this.state;return h.createElement("div",{role:"presentation",className:"custom-column-builder-container",ref:r=>{this.container=r},onClick:this.resetRequestFailed,onFocus:this.resetRequestFailed},h.createElement("hr",null),h.createElement(nd,{onDragStart:bn.startDragging,onDragEnd:this.handleDragEnd},h.createElement(_h,{droppableId:"droppable-custom-columns"},(r,i)=>h.createElement("div",bh({ref:r.innerRef},r.droppableProps,{className:te("droppable-container",{dragging:i.draggingFromThisWith})}),this.renderInputs(),r.placeholder))),h.createElement("div",{className:"pt-1 px-3"},h.createElement(j,{kind:"ghost",className:"btn-add-column",onClick:this.handleAddColumnClick,icon:Yi},"Add Another Column")),h.createElement("div",{className:"custom-column-builder-footer"},t&&h.createElement("div",{className:"error-message"},t),h.createElement("div",{className:"d-flex justify-content-end"},h.createElement(j,{kind:"secondary",className:"mr-2",onClick:e},"Cancel"),this.renderSaveButton())))}}Ya(Hi,"SUCCESS_SHOW_DURATION",750);const G_=Hi;var Sh;(function(n){n.ADVANCED_SETTINGS="ADVANCED_SETTINGS",n.AGGREGATIONS="AGGREGATIONS",n.AGGREGATION_EDIT="AGGREGATIONS_EDIT",n.CHART_BUILDER="CHART_BUILDER",n.CUSTOM_COLUMN_BUILDER="CUSTOM_COLUMN_BUILDER",n.QUICK_FILTERS="QUICK_FILTERS",n.ROLLUP_ROWS="ROLLUP_ROWS",n.SEARCH_BAR="SEARCH_BAR",n.SELECT_DISTINCT="SELECT_DISTINCT",n.TABLE_EXPORTER="TABLE_EXPORTER",n.VISIBILITY_ORDERING_BUILDER="VISIBILITY_ORDERING_BUILDER",n.CONDITIONAL_FORMATTING="CONDITIONAL_FORMATTING",n.CONDITIONAL_FORMATTING_EDIT="CONDITIONAL_FORMATTING_EDIT",n.GOTO="GOTO"})(Sh||(Sh={}));const ke=Sh;function wh(){return wh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},wh.apply(this,arguments)}function ha(n,e,t){return e=W_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function W_(n){var e=j_(n,"string");return typeof e=="symbol"?e:String(e)}function j_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ko=ie.module("RollupRows"),z_=150,Zs="grouped-rollup-rows",Js="ungrouped-rollup-rows";class mr extends w.Component{static renderColumn(e){var{item:t,isClone:r,selectedCount:i}=e,a=t?.name,o=r!==void 0&&r?"".concat(i):void 0,s=r!==void 0&&r?"item-list-item-clone":"";return vn.renderTextItem({text:a,badgeText:o,className:s})}static addGroupings(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length;if(t==null||t.length===0)return e;var i=r,a=e.filter((o,s)=>t.includes(o)?(s<i&&(i-=1),!1):!0);return a.splice(i,0,...t),a}static isGroupable(e){return!H.isDecimalType(e.type)}constructor(e){super(e),ha(this,"ungroupedList",void 0),ha(this,"groupedList",void 0),ha(this,"search",rt(o=>{for(var s=this.getSortedUngroupedColumns(),l=[],d=null,u=0;u<s.length;u+=1){var c=s[u];c.name.toLowerCase().includes(o.toLowerCase())&&(d==null&&(d=u),l.push([u,u]))}L(d),this.setState({ungroupedSelectedRanges:l}),l.length>0&&this.ungroupedList.current&&this.ungroupedList.current.scrollToItem(d)},z_)),ha(this,"getCachedUngroupedColumns",Pe((o,s)=>o.filter(l=>mr.isGroupable(l)&&s.find(d=>d===l.name)==null))),ha(this,"getCachedSortedColumns",Pe((o,s)=>s==null?[...o]:H.sortColumns(o,s===mr.SORT.ASCENDING))),this.handleDeleteClicked=this.handleDeleteClicked.bind(this),this.handleSearchChange=this.handleSearchChange.bind(this),this.handleUngroupedSelect=this.handleUngroupedSelect.bind(this),this.handleUngroupedSelectionChange=this.handleUngroupedSelectionChange.bind(this),this.handleDragStart=this.handleDragStart.bind(this),this.handleDragEnd=this.handleDragEnd.bind(this),this.handleGroupedSelectionChange=this.handleGroupedSelectionChange.bind(this),this.handleShowConstituentsChange=this.handleShowConstituentsChange.bind(this),this.handleShowNonAggregatedColumnsChange=this.handleShowNonAggregatedColumnsChange.bind(this),this.handleSortAscending=this.handleSortAscending.bind(this),this.handleSortDescending=this.handleSortDescending.bind(this),this.renderGroupedItem=this.renderGroupedItem.bind(this),this.ungroupedList=h.createRef(),this.groupedList=h.createRef();var{config:t}=e,{columns:r=[],showConstituents:i=!0,showNonAggregatedColumns:a=!0}=t??{};this.state={ungroupedSelectedRanges:[],columns:r,groupedSelectedRanges:[],searchFilter:"",showConstituents:i,showNonAggregatedColumns:a,dragSource:null,sort:null}}componentDidUpdate(e,t){var{config:r}=this.props,{columns:i,showConstituents:a,showNonAggregatedColumns:o}=this.state;r!==e.config?this.updateFromConfig():(i!==t.columns||a!==t.showConstituents||o!==t.showNonAggregatedColumns)&&(r==null||i!==r.columns||a!==r.showConstituents||o!==r.showNonAggregatedColumns)&&this.sendChange()}componentWillUnmount(){this.search.cancel()}handleSearchChange(e){var t=e.target.value;if(this.setState({searchFilter:t}),!t){this.search.cancel(),this.resetSelection();return}this.search(t)}handleSortAscending(){this.setState(e=>{var{sort:t}=e;return{sort:t===mr.SORT.ASCENDING?null:mr.SORT.ASCENDING}})}handleSortDescending(){this.setState(e=>{var{sort:t}=e;return{sort:t===mr.SORT.DESCENDING?null:mr.SORT.DESCENDING}})}resetSelection(){this.setState({ungroupedSelectedRanges:[],groupedSelectedRanges:[]})}handleDragStart(e){ko.debug("handleDragStart",e),document.documentElement.classList.add("drag-pointer-events-none"),this.setState({dragSource:e.source})}handleDragEnd(e){ko.debug("handleDragEnd",e),document.documentElement.classList.remove("drag-pointer-events-none"),this.setState({dragSource:null});var{destination:t,source:r}=e;if(!(t==null||r==null)){if(t.droppableId===Js){this.setState(o=>{var{groupedSelectedRanges:s,columns:l}=o,d=[...l];return bn.reorder(d,s,[],0),{columns:d,ungroupedSelectedRanges:[],groupedSelectedRanges:[]}});return}var i=r.droppableId===Zs,a=t.index;i&&r.index<t.index&&(a+=1),this.setState(o=>{var{columns:s,ungroupedSelectedRanges:l,groupedSelectedRanges:d}=o,u=[...s],c=i?u:this.getSortedUngroupedColumns().map(p=>p.name),m=i?d:l,v=bn.reorder(c,m,u,a),g=i?bn.adjustDestinationIndex(a,d):a,f=[[g,g+v.length-1]];return{columns:u,ungroupedSelectedRanges:[],groupedSelectedRanges:f}}),this.resetSelection()}}handleUngroupedSelect(e){ko.debug("handleUngroupedSelect"),this.setState(t=>{var{columns:r}=t;return{columns:mr.addGroupings(r,[this.getSortedUngroupedColumns()[e].name]),ungroupedSelectedRanges:[],groupedSelectedRanges:[]}})}handleUngroupedSelectionChange(e){ko.debug2("handleUngroupedSelectionChange",e),this.setState(t=>{var{ungroupedSelectedRanges:r}=t;return e===r?null:{ungroupedSelectedRanges:e,groupedSelectedRanges:[]}})}handleGroupedSelectionChange(e){ko.debug2("handleGroupedSelectedRanges",e),this.setState(t=>{var{groupedSelectedRanges:r}=t;return e===r?null:{groupedSelectedRanges:e,ungroupedSelectedRanges:[]}})}handleDeleteClicked(e){this.setState(t=>{var{columns:r}=t,i=r.slice();return i.splice(e,1),{columns:i}})}handleShowConstituentsChange(){this.setState(e=>{var{showConstituents:t}=e;return{showConstituents:!t}})}handleShowNonAggregatedColumnsChange(){this.setState(e=>{var{showNonAggregatedColumns:t}=e;return{showNonAggregatedColumns:!t}})}updateFromConfig(){var{config:e}=this.props,{columns:t=[],showConstituents:r=!0,showNonAggregatedColumns:i=!0}=e??{};this.setState({columns:t,showConstituents:r,showNonAggregatedColumns:i})}sendChange(){var{onChange:e}=this.props,{columns:t,showConstituents:r,showNonAggregatedColumns:i}=this.state;e({columns:t,showConstituents:r,showNonAggregatedColumns:i})}getUngroupedColumns(){var{model:e}=this.props,{columns:t}=this.state,{originalColumns:r}=e;return this.getCachedUngroupedColumns(r,t)}getSortedUngroupedColumns(){var{sort:e}=this.state,t=this.getUngroupedColumns();return this.getCachedSortedColumns(t,e)}renderGroupedItem(e){var{item:t,itemIndex:r,isClone:i,selectedCount:a}=e,o=i!==void 0&&i?"":"  ".repeat(r),s="".concat(o).concat(t),l=i!==void 0&&i?"".concat(a):void 0,d=i!==void 0&&i?"item-list-item-clone":"";return h.createElement(h.Fragment,null,vn.renderTextItem({text:s,badgeText:l,className:d}),(i===void 0||!i)&&h.createElement(j,{kind:"ghost",className:"btn btn-link btn-link-icon btn-delete-grouping float-right",onClick:()=>this.handleDeleteClicked(r)},h.createElement(re,{icon:Hr})))}render(){var{columns:e,dragSource:t,searchFilter:r,groupedSelectedRanges:i,ungroupedSelectedRanges:a,showConstituents:o,showNonAggregatedColumns:s,sort:l}=this.state,d=this.getSortedUngroupedColumns(),u=e.length*vn.DEFAULT_ROW_HEIGHT;t?.droppableId===Js&&(u+=vn.DEFAULT_ROW_HEIGHT);var c=d.length*vn.DEFAULT_ROW_HEIGHT+10,m=Math.min(3*vn.DEFAULT_ROW_HEIGHT,c);return h.createElement("div",{role:"menu",className:te("rollup-rows",{"is-dragging":t!=null}),tabIndex:0},h.createElement(nd,{onDragEnd:this.handleDragEnd,onDragStart:this.handleDragStart},h.createElement("div",{className:"rollup-rows-group-by"},h.createElement("div",{className:"section-title"},"Group By"),e.length===0&&h.createElement(_h,{droppableId:"placeholder"},(v,g)=>h.createElement("div",wh({className:te("placeholder","text-muted",{"is-dragging-from-this":g.draggingFromThisWith,"is-dragging-over":g.isDraggingOver,"is-dropping":g.draggingOverWith}),ref:v.innerRef},v.droppableProps),"To create a rollup, drag columns from the list below and drop them into this area.")),e.length>0&&h.createElement(vn,{draggingItemClassName:"rollup-rows-dragging-grouped-item",draggablePrefix:Zs,droppableId:Zs,itemCount:e.length,items:e,offset:0,onSelectionChange:this.handleGroupedSelectionChange,ref:this.groupedList,renderItem:this.renderGroupedItem,selectedRanges:i,style:{height:u},isMultiSelect:!0})),h.createElement("div",{className:"rollup-rows-available-columns"},h.createElement("div",{className:"section-title"},"Available Grouping Columns"),h.createElement("div",{className:"top-menu"},h.createElement(go,{className:"w-100",value:r,matchCount:r?a.length:void 0,placeholder:"Find column...",onChange:this.handleSearchChange}),h.createElement(j,{kind:"ghost",className:te("btn-link btn-link-icon",{active:l===mr.SORT.ASCENDING}),onClick:this.handleSortAscending},h.createElement(re,{icon:xh}),h.createElement(pt,null,"Sort ascending")),h.createElement(j,{kind:"ghost",className:te("btn-link btn-link-icon",{active:l===mr.SORT.DESCENDING}),onClick:this.handleSortDescending},h.createElement(re,{icon:Hh}),h.createElement(pt,null,"Sort descending"))),h.createElement(vn,{className:"rollup-available-grouping-columns",draggablePrefix:Js,droppableId:Js,itemCount:d.length,items:d,renderItem:mr.renderColumn,offset:0,onSelect:this.handleUngroupedSelect,onSelectionChange:this.handleUngroupedSelectionChange,ref:this.ungroupedList,selectedRanges:a,style:{maxHeight:c,minHeight:m},isDropDisabled:t?.droppableId!==Zs,isMultiSelect:!0}),h.createElement("div",{className:"bottom-menu"},h.createElement("div",{className:"label"},"Show:"),h.createElement(rn,{checked:o,onChange:this.handleShowConstituentsChange},"Constituents"),h.createElement(rn,{checked:s,onChange:this.handleShowNonAggregatedColumnsChange},"Non-Aggregated Columns")))))}}ha(mr,"SORT",Object.freeze({ASCENDING:"ASC",DESCENDING:"DESC"}));ha(mr,"defaultProps",{config:null,onChange:()=>{}});const K_=mr;function rg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Y_(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){rg(a,r,i,o,s,"next",l)}function s(l){rg(a,r,i,o,s,"throw",l)}o(void 0)})}}function ng(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ig(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ng(Object(t),!0).forEach(function(r){Fa(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ng(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Fa(n,e,t){return e=q_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function q_(n){var e=X_(n,"string");return typeof e=="symbol"?e:String(e)}function X_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Q_=ie.module("TableCsvExporter");class Ae extends w.Component{static getDateString(e){return e.i18n.DateTimeFormat.format(Ae.FILENAME_DATE_FORMAT,new Date)}constructor(e){super(e),this.handleDownloadClick=this.handleDownloadClick.bind(this),this.handleDownloadRowOptionChanged=this.handleDownloadRowOptionChanged.bind(this),this.handleCustomizedDownloadRowOptionChanged=this.handleCustomizedDownloadRowOptionChanged.bind(this),this.handleCustomizedDownloadRowsChanged=this.handleCustomizedDownloadRowsChanged.bind(this),this.handleIncludeColumnHeadersChanged=this.handleIncludeColumnHeadersChanged.bind(this),this.handleIncludeHiddenColumnsChanged=this.handleIncludeHiddenColumnsChanged.bind(this),this.handleUseUnformattedValuesChanged=this.handleUseUnformattedValuesChanged.bind(this);var{model:t,name:r}=e;this.state={fileName:"".concat(r,"-").concat(Ae.getDateString(t.dh),".csv"),downloadRowOption:Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS,customizedDownloadRowOption:Ae.CUSTOMIZED_ROWS_OPTIONS.FIRST,customizedDownloadRows:Ae.DEFAULT_DOWNLOAD_ROWS,includeColumnHeaders:!0,includeHiddenColumns:!1,useUnformattedValues:!1,errorMessage:null,id:Xe.generate()}}getSnapshotRanges(){var{model:e,selectedRanges:t}=this.props,{downloadRowOption:r,customizedDownloadRowOption:i,customizedDownloadRows:a}=this.state,{rowCount:o,columnCount:s}=e,l=[];switch(r){case Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS:l.push(new ne(0,0,s-1,o-1));break;case Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS:l=t.map(d=>ig(ig({},d),{},{startColumn:0,endColumn:s-1})).sort((d,u)=>d.startRow!=null&&u.startRow!=null?d.startRow-u.startRow:0);break;case Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS:switch(i){case Ae.CUSTOMIZED_ROWS_OPTIONS.FIRST:l.push(new ne(0,0,s-1,Math.min(a-1,o-1)));break;case Ae.CUSTOMIZED_ROWS_OPTIONS.LAST:l.push(new ne(0,Math.max(0,o-a),s-1,o-1));break}break}return l}getModelRanges(e){var{userColumnWidths:t,movedColumns:r}=this.props,{includeHiddenColumns:i}=this.state,a=ye.getHiddenColumns(t),o=V.getModelRanges(e,r);if(!i&&a.length>0){var s=a.map(ne.makeColumn);o=ne.subtractRangesFromRanges(o,s)}return o}resetDownloadState(){this.setState({errorMessage:null})}handleDownloadClick(){var e=this;return Y_(function*(){var{model:t,isDownloading:r,onDownloadStart:i,onDownload:a,onCancel:o}=e.props,{fileName:s,includeColumnHeaders:l,useUnformattedValues:d}=e.state;if(r){o();return}e.resetDownloadState();var u=e.getSnapshotRanges(),c=e.getModelRanges(u);if(e.validateOptionInput()){i();try{var m=yield t.export(),v=m.setViewport(0,0);yield v.getViewportData(),a(s,m,v,u,c,l,d)}catch(g){Q_.error("CSV download failed",g),e.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," ","".concat(g))}),o()}}})()}handleDownloadRowOptionChanged(e){this.setState({downloadRowOption:e.target.value})}handleCustomizedDownloadRowOptionChanged(e){this.setState({customizedDownloadRowOption:e.target.value})}handleCustomizedDownloadRowsChanged(e){this.setState({customizedDownloadRows:parseInt(e.target.value,10)})}handleIncludeColumnHeadersChanged(){this.setState(e=>{var{includeColumnHeaders:t}=e;return{includeColumnHeaders:!t}})}handleIncludeHiddenColumnsChanged(){this.setState(e=>{var{includeHiddenColumns:t}=e;return{includeHiddenColumns:!t}})}handleUseUnformattedValuesChanged(){this.setState(e=>{var{useUnformattedValues:t}=e;return{useUnformattedValues:!t}})}validateOptionInput(){var{selectedRanges:e}=this.props,{downloadRowOption:t,customizedDownloadRows:r}=this.state;return t===Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS&&e.length===0?(this.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," No rows selected. Please select some rows in the table.")}),!1):t===Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS&&r<=0?(this.setState({errorMessage:h.createElement("p",null,h.createElement(re,{icon:Wi})," Number of rows to output must be greater than 0")}),!1):!0}render(){var{model:e,isDownloading:t,tableDownloadProgress:r,tableDownloadEstimatedTime:i,selectedRanges:a,tableDownloadStatus:o}=this.props,{fileName:s,downloadRowOption:l,customizedDownloadRowOption:d,customizedDownloadRows:u,includeColumnHeaders:c,includeHiddenColumns:m,useUnformattedValues:v,errorMessage:g,id:f}=this.state,{rowCount:p}=e;return h.createElement("div",{className:"table-csv-exporter"},h.createElement("div",{className:"section-title"},"Download Rows"),h.createElement("div",{className:"form-group"},h.createElement(cd,{onChange:this.handleDownloadRowOptionChanged,value:l,disabled:t},h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.ALL_ROWS,"data-testid":"radio-csv-exporter-download-all"},"All Rows",h.createElement("span",{className:"text-muted ml-2"},"(".concat(p.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")," rows)"))),h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.SELECTED_ROWS,"data-testid":"radio-csv-exporter-only-selected"},"Only Selected Rows",h.createElement("span",{className:"text-muted ml-2"},a.length>0?"(".concat(ne.rowCount(a).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")," rows)"):null)),h.createElement(si,{value:Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS,"data-testid":"radio-csv-exporter-customized-rows"},h.createElement("div",{className:"radio-input-row",role:"presentation",onClick:()=>{this.setState({downloadRowOption:Ae.DOWNLOAD_ROW_OPTIONS.CUSTOMIZED_ROWS})}},h.createElement("select",{value:d,"data-testid":"select-csv-exporter-customized-rows",className:"custom-select",disabled:t,onChange:this.handleCustomizedDownloadRowOptionChanged},h.createElement("option",{value:"FIRST"},"First"),h.createElement("option",{value:"LAST"},"Last")),h.createElement("input",{type:"number",className:"form-control",id:"customizedRows-".concat(f),"data-testid":"input-csv-exporter-customized-rows",name:"customizedRows-".concat(f),placeholder:"100",value:u,disabled:t,onChange:this.handleCustomizedDownloadRowsChanged}),h.createElement("div",null,"Rows"))))),h.createElement("div",{className:"form-group"},h.createElement("label",{htmlFor:"customizedRows-".concat(f)},"File Name"),h.createElement("input",{type:"text",className:"form-control",id:"filename-".concat(f),"data-testid":"input-csv-exporter-file-name",name:"filename-".concat(f),value:s,onChange:C=>{this.setState({fileName:C.target.value})},disabled:t})),h.createElement("div",{className:"checkbox-options"},h.createElement(rn,{checked:c,onChange:this.handleIncludeColumnHeadersChanged},"Include column headers"),h.createElement(rn,{checked:m,onChange:this.handleIncludeHiddenColumnsChanged},"Include hidden columns"),h.createElement(rn,{checked:v,onChange:this.handleUseUnformattedValuesChanged},"Use unformatted values")),h.createElement("div",{className:"section-footer flex-column"},g!=null&&h.createElement("div",{className:"error-message"},g),o&&h.createElement("div",{className:"download-status"},(o===Ae.DOWNLOAD_STATUS.DOWNLOADING||o===Ae.DOWNLOAD_STATUS.INITIATING)&&h.createElement(h.Fragment,null,o===Ae.DOWNLOAD_STATUS.INITIATING&&h.createElement("div",{className:"text-muted"},"Starting Download..."),o===Ae.DOWNLOAD_STATUS.DOWNLOADING&&h.createElement("div",{className:"text-muted d-flex justify-content-between"},h.createElement("span",null,i||i===0?"Estimated time: ".concat(dd.formatElapsedTime(i)):null),h.createElement("span",null,"".concat(r,"%")))),o===Ae.DOWNLOAD_STATUS.FINISHED&&h.createElement("div",{className:"text-muted text-right"},"Download Completed"),o===Ae.DOWNLOAD_STATUS.CANCELED&&h.createElement("div",{className:"text-muted"},"Download Canceled"),(o===Ae.DOWNLOAD_STATUS.DOWNLOADING||o===Ae.DOWNLOAD_STATUS.INITIATING)&&h.createElement("div",{className:"progress"},h.createElement("div",{className:"progress-bar progress-bar-striped progress-bar-animated",style:{width:"".concat(r,"%")}})),o===Ae.DOWNLOAD_STATUS.FINISHED&&h.createElement("div",{className:"progress"},h.createElement("div",{className:"progress-bar bg-success",style:{width:"".concat(r,"%")}}))),h.createElement(j,{kind:"primary","data-testid":"btn-csv-exporter-download",className:te("btn-downloading",{"btn-spinner btn-cancelable":t}),onClick:this.handleDownloadClick},t&&h.createElement("span",null,h.createElement(Hn,null),h.createElement("span",{className:"btn-normal-content"},"Downloading"),h.createElement("span",{className:"btn-hover-content"},"Cancel")),!t&&"Download")))}}Fa(Ae,"FILENAME_DATE_FORMAT","yyyy-MM-dd-HHmmss");Fa(Ae,"DOWNLOAD_STATUS",{INITIATING:"INITIATING",DOWNLOADING:"DOWNLOADING",FINISHED:"FINISHED",CANCELED:"CANCELED"});Fa(Ae,"DOWNLOAD_ROW_OPTIONS",{ALL_ROWS:"ALL_ROWS",SELECTED_ROWS:"SELECTED_ROWS",CUSTOMIZED_ROWS:"CUSTOMIZED_ROWS"});Fa(Ae,"CUSTOMIZED_ROWS_OPTIONS",{FIRST:"FIRST",LAST:"LAST"});Fa(Ae,"DEFAULT_DOWNLOAD_ROWS",100);Fa(Ae,"defaultProps",{onDownloadStart:()=>{},isDownloading:!1,tableDownloadStatus:"",tableDownloadProgress:0,tableDownloadEstimatedTime:null,selectedRanges:[]});const ta=Ae;function $e(n,e,t){return e=Z_(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z_(n){var e=J_(n,"string");return typeof e=="symbol"?e:String(e)}function J_(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Yn=ie.module("TableSaver"),eM="yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS z";function tM(n){return n.added!==void 0}function rM(n){if(!tM(n))throw new Error("event is not UpdateEventData")}class pr extends w.PureComponent{static csvEscapeString(e){return'"'.concat(e.replace(/"/g,'""'),'"')}constructor(e){super(e),$e(this,"sw",void 0),$e(this,"port",void 0),$e(this,"fileWriter",void 0),$e(this,"table",void 0),$e(this,"tableSubscription",void 0),$e(this,"columns",void 0),$e(this,"fileName",void 0),$e(this,"includeColumnHeaders",void 0),$e(this,"useUnformattedValues",void 0),$e(this,"chunkRows",void 0),$e(this,"gridRanges",void 0),$e(this,"gridRangeCounter",void 0),$e(this,"rangedSnapshotsTotal",void 0),$e(this,"rangedSnapshotCounter",void 0),$e(this,"snapshotsTotal",void 0),$e(this,"snapshotCounter",void 0),$e(this,"snapshotsBuffer",void 0),$e(this,"currentSnapshotIndex",void 0),$e(this,"snapshotPending",void 0),$e(this,"cancelableSnapshots",void 0),$e(this,"streamTimeout",void 0),$e(this,"snapshotHandlerTimeout",void 0),$e(this,"downloadStartTime",void 0),$e(this,"iframes",void 0),$e(this,"useBlobFallback",void 0),$e(this,"getCachedCustomColumnFormatFlag",En(oi.isCustomColumnFormatDefined,{max:1e4})),this.handlePortMessage=this.handlePortMessage.bind(this),this.handleSnapshotResolved=this.handleSnapshotResolved.bind(this),this.handleDownloadTimeout=this.handleDownloadTimeout.bind(this),this.state={},this.gridRanges=[],this.gridRangeCounter=0,this.rangedSnapshotsTotal=[],this.rangedSnapshotCounter=0,this.includeColumnHeaders=!0,this.useUnformattedValues=!1,this.snapshotsTotal=0,this.snapshotCounter=0,this.snapshotsBuffer=new Map,this.currentSnapshotIndex=0,this.snapshotPending=0,this.cancelableSnapshots=[],this.iframes=[],this.useBlobFallback=!1}componentDidMount(){var{getDownloadWorker:e}=this.props;e().then(t=>{Yn.info("found active service worker"),this.sw=t,this.sw.postMessage("ping")}).catch(t=>{Yn.warn("Download csv is not optimized.",t),this.useBlobFallback=!0})}componentWillUnmount(){this.iframes.length>0&&this.iframes.forEach(e=>{e.remove()}),this.streamTimeout&&clearTimeout(this.streamTimeout),this.snapshotHandlerTimeout&&clearTimeout(this.snapshotHandlerTimeout)}createWriterStream(e){var t=this.useBlobFallback,r=[],i=null;t&&(i=TextEncoder.prototype.encode.bind(new TextEncoder));var{fileName:a}=this,o={};return t?(o.write=s=>{L(i),s.header!==void 0&&r.push(i(s.header)),s.rows!==void 0&&r.push(i(s.rows))},o.close=()=>{L(a);var s=new Blob(r,{type:"application/octet-stream; charset=utf-8"}),l=document.createElement("a");l.href=URL.createObjectURL(s),l.download=a,l.click()},o.abort=()=>{e.postMessage({cancel:!0}),e.close()}):(o.write=s=>{e.postMessage(s)},o.close=()=>{e.postMessage({end:!0}),e.close()},o.abort=()=>{e.postMessage({cancel:!0}),e.close()}),new WritableStream(o)}startDownload(e,t,r,i,a,o,s){var{isDownloading:l}=this.props;if(!l){this.downloadStartTime=Date.now(),Yn.info("start downloading ".concat(e)),this.table=t,this.columns=ye.columnsFromRanges(a,t.columns),this.tableSubscription=r,this.gridRanges=i,this.includeColumnHeaders=o,this.useUnformattedValues=s;var d=encodeURIComponent(e.replace(/\//g,":")).replace(/['()]/g,escape).replace(/\*/g,"%2A"),u=new MessageChannel;if(this.port=u.port1,this.fileName=e,this.fileWriter=this.createWriterStream(this.port).getWriter(),this.useBlobFallback){this.writeCsvTable(o);return}this.sw&&this.sw.postMessage({encodedFileName:d},[u.port2]),this.port.onmessage=this.handlePortMessage}}finishDownload(){this.table&&this.table.close(),this.tableSubscription&&this.tableSubscription.close(),this.fileWriter&&this.fileWriter.close();var{onDownloadCompleted:e}=this.props;e(),this.resetTableSaver(),this.downloadStartTime!==void 0&&Yn.info("download finished, total elapsed time ".concat((Date.now()-this.downloadStartTime)/1e3," seconds"))}cancelDownload(){this.table&&this.table.close(),this.tableSubscription&&this.tableSubscription.close(),this.fileWriter&&this.fileWriter.abort(),this.cancelableSnapshots.forEach(t=>{t&&(t.catch(()=>null),t.cancel())});var{onDownloadCanceled:e}=this.props;e(),this.resetTableSaver()}resetTableSaver(){this.table=void 0,this.tableSubscription=void 0,this.columns=void 0,this.chunkRows=void 0,this.gridRanges=[],this.gridRangeCounter=0,this.rangedSnapshotsTotal=[],this.rangedSnapshotCounter=0,this.includeColumnHeaders=!0,this.useUnformattedValues=!1,this.snapshotsTotal=0,this.snapshotCounter=0,this.snapshotsBuffer=new Map,this.currentSnapshotIndex=0,this.snapshotPending=0,this.cancelableSnapshots=[],this.streamTimeout!=null&&clearTimeout(this.streamTimeout),this.snapshotHandlerTimeout!=null&&clearTimeout(this.snapshotHandlerTimeout),this.streamTimeout=void 0,this.snapshotHandlerTimeout=void 0}handleDownloadTimeout(){Yn.info("download canceled"),this.cancelDownload()}writeTableHeader(){var e,t="";if(this.columns)for(var r=0;r<this.columns.length;r+=1)t+=this.columns[r].name,t+=r===this.columns.length-1?`
23
23
  `:",";(e=this.fileWriter)===null||e===void 0||e.write({header:t}).then(()=>null)}startWriteTableBody(){this.columns&&this.gridRanges!=null&&(this.chunkRows=Math.floor(pr.DOWNLOAD_CELL_CHUNK/this.columns.length),this.rangedSnapshotsTotal=this.gridRanges.map(e=>(L(e.endRow),L(e.startRow),L(this.chunkRows),Math.ceil((e.endRow-e.startRow+1)/this.chunkRows))),this.snapshotsTotal=this.rangedSnapshotsTotal.reduce((e,t)=>e+t),Yn.info("start writing table, total snapshots: ",this.snapshotsTotal),this.makeSnapshot(Math.min(pr.SNAPSHOT_BUFFER_SIZE,this.snapshotsTotal)))}writeCsvTable(e){e&&this.writeTableHeader(),this.startWriteTableBody()}writeSnapshot(e,t,r){if(this.currentSnapshotIndex===e&&this.fileWriter){for(;this.snapshotsBuffer.has(this.currentSnapshotIndex);){var i=this.snapshotsBuffer.get(this.currentSnapshotIndex);L(i),this.fileWriter.write({rows:this.convertSnapshotIntoCsv(i)}),this.snapshotsBuffer.delete(this.currentSnapshotIndex),this.currentSnapshotIndex+=1,this.updateDownloadProgress(e)}if(this.snapshotsTotal&&this.currentSnapshotIndex>=this.snapshotsTotal){this.finishDownload();return}}this.snapshotCounter&&this.snapshotsTotal&&this.snapshotCounter<this.snapshotsTotal&&(Yn.debug2(`
24
24
  current range index: `.concat(this.gridRangeCounter,`,
25
25
  snapshotIndexCounter: `).concat(this.snapshotCounter,`,
@@ -32,7 +32,7 @@ Row = `).concat(s))}),this.chunks+=1;var a=0;this.totalChunks>0?a=Math.round(thi
32
32
  `).concat(pA(n))}function bA(n){var{rules:e=[],onChange:t=Pu,onCreate:r=Pu,onSelect:i=Pu}=n,a=w.useCallback((d,u,c)=>{d.stopPropagation(),gg.debug("Rule clicked",u,c),i(c)},[i]),o=w.useCallback((d,u,c)=>{d.stopPropagation(),gg.debug("Delete button clicked",u,c);var m=[...e];m.splice(c,1),t(m)},[t,e]),s=w.useCallback(d=>{d.stopPropagation()},[]),l=w.useCallback(d=>{if(bn.stopDragging(),d.destination!=null){var u=d.source.index,c=d.destination.index,m=[...e],v=e[u];m.splice(u,1),m.splice(c,0,v),t(m)}},[t,e]);return h.createElement("div",{className:"conditional-formatting-rules"},h.createElement(nd,{onDragStart:bn.startDragging,onDragEnd:l},h.createElement(_h,{droppableId:"droppable-custom-columns"},(d,u)=>h.createElement("div",ts({ref:d.innerRef},d.droppableProps,{className:te("droppable-container",{dragging:u.draggingFromThisWith})}),e.length===0&&h.createElement("div",{className:"text-muted pl-2"},"No formats defined"),e.map((c,m)=>h.createElement(_f,{key:"".concat(m,"-").concat(c.type),draggableId:"".concat(m,"-").concat(c.type),index:m,disableInteractiveElementBlocking:!0},(v,g)=>h.createElement("div",ts({role:"menuitem",tabIndex:0,onClick:f=>a(f,c,m),className:te("draggable-container",{dragging:g.isDragging}),ref:v.innerRef},v.draggableProps),h.createElement("div",{className:"conditional-formatting-list-item"},h.createElement("div",{className:"formatting-item"},h.createElement("div",{className:"rule-icon"},h.createElement("span",{className:"rule-icon-bg",style:{backgroundColor:Vl(c.config.style),color:Gl(c.config.style)}},c.type===wr.ROWS?"row":"col")),h.createElement("div",{className:"rule-title"},CA(c.config)),h.createElement(j,{kind:"ghost",className:"ml-1 px-2",onClick:f=>o(f,c,m),icon:Hr,tooltip:"Delete rule"}),h.createElement("button",ts({type:"button",className:"btn btn-link btn-link-icon px-2 btn-drag-handle",onClick:s},v.dragHandleProps),h.createElement(pt,null,"Drag to re-order"),h.createElement(re,{icon:ad}))))))),d.placeholder))),h.createElement("hr",null),h.createElement(j,{kind:"ghost",onClick:r,icon:Yi},"Add New Rule"))}var ra=ie.module("ConditionEditor"),SA=()=>{},wA=[me.IS_EQUAL,me.IS_NOT_EQUAL,me.IS_BETWEEN,me.GREATER_THAN,me.GREATER_THAN_OR_EQUAL,me.LESS_THAN,me.LESS_THAN_OR_EQUAL,me.IS_NULL,me.IS_NOT_NULL].map(n=>h.createElement("option",{key:n,value:n},TN(n))),EA=[Ne.IS_EXACTLY,Ne.IS_NOT_EXACTLY,Ne.CONTAINS,Ne.DOES_NOT_CONTAIN,Ne.STARTS_WITH,Ne.ENDS_WITH,Ne.IS_NULL,Ne.IS_NOT_NULL].map(n=>h.createElement("option",{key:n,value:n},PN(n))),yA=[De.IS_EXACTLY,De.IS_NOT_EXACTLY,De.IS_BEFORE,De.IS_BEFORE_OR_EQUAL,De.IS_AFTER,De.IS_AFTER_OR_EQUAL,De.IS_NULL,De.IS_NOT_NULL].map(n=>h.createElement("option",{key:n,value:n},ON(n))),TA=[Rt.IS_TRUE,Rt.IS_FALSE,Rt.IS_NULL,Rt.IS_NOT_NULL].map(n=>h.createElement("option",{key:n,value:n},DN(n))),PA=[Ct.IS_EQUAL,Ct.IS_NOT_EQUAL,Ct.IS_NULL,Ct.IS_NOT_NULL].map(n=>h.createElement("option",{key:n,value:n},RN(n)));function OA(n,e,t,r){return n===me.IS_NULL||n===me.IS_NOT_NULL||n===me.IS_BETWEEN&&t!=null&&t!==""&&!Number.isNaN(Number.parseFloat(t))&&r!=null&&r!==""&&!Number.isNaN(Number.parseFloat(r))||n!==me.IS_BETWEEN&&e!==void 0&&e!==""&&!Number.isNaN(Number.parseFloat(e))}function DA(n,e,t,r,i,a,o){switch(n){case me.IS_EQUAL:case me.IS_NOT_EQUAL:case me.GREATER_THAN:case me.GREATER_THAN_OR_EQUAL:case me.LESS_THAN:case me.LESS_THAN_OR_EQUAL:return h.createElement("input",{type:"number",className:"form-control",placeholder:"Enter value",value:i??"",onChange:e});case me.IS_BETWEEN:return h.createElement("div",{className:"d-flex flex-row"},h.createElement("input",{type:"number",className:"form-control d-flex mr-2",placeholder:"Start value",value:a??"",onChange:t}),h.createElement("input",{type:"number",className:"form-control d-flex",placeholder:"End value",value:o??"",onChange:r}));case me.IS_NULL:case me.IS_NOT_NULL:return null}}function RA(n,e,t){switch(n){case Ne.IS_NULL:case Ne.IS_NOT_NULL:return null;default:return h.createElement("input",{type:"text",className:"form-control",placeholder:"Enter value",value:t??"",onChange:e})}}function NA(n,e,t){switch(n){case De.IS_NULL:case De.IS_NOT_NULL:return null;default:return h.createElement("input",{type:"text",className:"form-control",placeholder:"Enter value",value:t??"",onChange:e})}}function FA(){return null}function IA(n,e,t){switch(n){case Ct.IS_NULL:case Ct.IS_NOT_NULL:return null;default:return h.createElement("input",{type:"text",className:"form-control",maxLength:1,placeholder:"Enter value",value:t??"",onChange:e})}}function $C(n){var{column:e,config:t,dh:r,onChange:i=SA}=n,a=e.type,[o,s]=w.useState(a),[l,d]=w.useState(t.condition),[u,c]=w.useState(t.value),[m,v]=w.useState(t.start),[g,f]=w.useState(t.end);a!==o&&(d(bC(a)),c(SC(a)),v(void 0),f(void 0),s(a));var p=w.useMemo(()=>{if(a===void 0)return[];if(H.isNumberType(a))return wA;if(H.isCharType(a))return PA;if(H.isStringType(a))return EA;if(H.isDateType(a))return yA;if(H.isBooleanType(a))return TA},[a]),C=w.useCallback(T=>{var{value:O}=T.target;ra.debug("handleConditionChange",O),d(O)},[]),b=w.useCallback(T=>{var{value:O}=T.target;ra.debug("handleValueChange",O),c(O)},[]),S=w.useCallback(T=>{var{value:O}=T.target;ra.debug("handleStartValueChange",O),v(O)},[]),E=w.useCallback(T=>{var{value:O}=T.target;ra.debug("handleEndValueChange",O),f(O)},[]);w.useEffect(function(){var O=!0;l===void 0?(ra.debug("Unable to create formatting rule. Condition is not selected."),O=!1):H.isNumberType(e.type)&&!OA(l,u,m,g)?(ra.debug("Unable to create formatting rule. Invalid value",u),O=!1):H.isDateType(e.type)&&!BN(r,l,u)&&(ra.debug("Unable to create formatting rule. Invalid date condition",u),O=!1),i({condition:l,value:u,start:m,end:g},O)},[i,e.type,r,l,u,m,g]);var y=w.useMemo(()=>{if(a===void 0)return null;if(H.isNumberType(a))return DA(l,b,S,E,u,m,g);if(H.isCharType(a))return IA(l,b,u);if(H.isStringType(a))return RA(l,b,u);if(H.isDateType(a))return NA(l,b,u);if(H.isBooleanType(a))return FA()},[a,l,u,m,g,b,S,E]);return h.createElement("div",{className:"condition-editor mb-2"},h.createElement("select",{value:l,"data-testid":"condition-select",className:"custom-select mb-2",onChange:C},p),y)}var _A=ie.module("StyleEditor"),MA="#fcfcfa",AA="#f0f0ee",LA="#1a171a",kA=200,xA=()=>{};function BC(n){var e,t,{config:r,onChange:i=xA}=n,[a,o]=w.useState(r.type),[s,l]=w.useState((e=(t=r.customConfig)===null||t===void 0?void 0:t.background)!==null&&e!==void 0?e:MA),[d,u]=w.useState(!1),[c,m]=w.useState(kA),v=w.useRef(null),g=w.useCallback(y=>{var{value:T}=y.target;_A.debug("handleBackgroundChange",T),l(T)},[]),f=w.useCallback(()=>{d&&u(!1)},[d]),p=w.useCallback(()=>{d||b(),u(!d)},[d]),C=w.useMemo(()=>[Fe.NO_FORMATTING,Fe.POSITIVE,Fe.NEGATIVE,Fe.WARN,Fe.NEUTRAL,Fe.ACCENT_1,Fe.ACCENT_2,Fe.CUSTOM],[]);function b(){v.current&&m(v.current.getBoundingClientRect().width)}w.useEffect(function(){i({type:a,customConfig:{color:Qf.isDark(s)?AA:LA,background:s}})},[i,a,s]);var S=w.useCallback(()=>{for(var y=[],T=function(){var P=C[O],R="option-".concat(O,"-").concat(P);y.push(h.createElement(j,{key:R,kind:"inline",className:"style-option-btn",onClick:()=>{o(P),u(!1)},style:{color:Gl({type:P}),background:Vl({type:P})}},P===a&&h.createElement(re,{icon:ii,className:"mr-2"}),P!==a&&h.createElement("span",{className:"mr-4"}),Av(P)))},O=0;O<C.length;O+=1)T();return y},[C,a]),E=w.useCallback(()=>h.createElement("div",{className:"style-menu-container",role:"presentation",style:{width:c}},h.createElement("div",{className:"style-options"},S())),[c,S]);return h.createElement("div",{className:"style-editor"},h.createElement("div",{className:"mb-2",ref:v},h.createElement("label",{className:"mb-0"},"Style"),h.createElement(j,{kind:"inline",className:"cs-dropdown",style:{color:Gl({type:a}),background:Vl({type:a})},onClick:p},Av(a),h.createElement("span",null,h.createElement(re,{icon:JS,className:"cs-caret"})),h.createElement(ai,{isShown:d,actions:{menuElement:E()},popperOptions:{placement:"bottom-start"},popperClassName:"style-dropdown-menu",onMenuClosed:f,menuStyle:{maxWidth:"100rem"}}))),a===Fe.CUSTOM&&h.createElement("div",{className:"mb-2"},h.createElement("label",{className:"mb-0"},"Background"),h.createElement("input",{type:"color",value:s,className:"custom-select color-select",onChange:g})))}function fg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function VC(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fg(Object(t),!0).forEach(function(r){HA(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function HA(n,e,t){return e=UA(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UA(n){var e=$A(n,"string");return typeof e=="symbol"?e:String(e)}function $A(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var xo=ie.module("ColumnFormatEditor"),BA=()=>{};function VA(n){var{type:e,name:t}=n[0],r={type:e,name:t},i=VC({column:r,style:EC()},Pd(e));return i}function GA(n){var e,{columns:t,config:r=VA(t),dh:i,onChange:a=BA}=n,[o,s]=w.useState((e=t.find(b=>b.name===r.column.name&&b.type===r.column.type))!==null&&e!==void 0?e:t[0]),[l,d]=w.useState(wC(r)),[u,c]=w.useState(!1),[m,v]=w.useState(r.style),g=w.useCallback(b=>{var S=t.find(E=>{var{name:y}=E;return y===b});S!==void 0?(s(S),o.type!==S.type&&(d(Pd(S.type)),c(!1))):xo.error("Column ".concat(b," not found."))},[t,o]),f=w.useCallback((b,S)=>{xo.debug("handleConditionChange",b,S),d(b),c(S)},[]),p=w.useCallback(b=>{xo.debug("handleStyleChange",b),v(b)},[]);w.useEffect(function(){var S=u;o===void 0&&(xo.debug("Column is not selected, invalidating update."),S=!1),(m===void 0||m.type===Fe.NO_FORMATTING)&&(xo.debug("Style is not selected, invalidating update."),S=!1);var{type:E,name:y}=o,T={type:E,name:y};a(VC({column:T,style:m},l),S)},[a,o,m,l,u]);var C=t.map(b=>{var{name:S}=b;return{title:S,value:S}});return h.createElement("div",{className:"conditional-rule-editor form"},h.createElement("div",{className:"mb-2"},h.createElement("label",{className:"mb-0"},"Format Cell If"),h.createElement(Kf,{defaultValue:o?.name,options:C,inputPlaceholder:"Select a column",spellCheck:!1,onChange:g,searchPlaceholder:"Filter columns"})),o!==void 0&&h.createElement(h.Fragment,null,h.createElement($C,{dh:i,column:o,config:l,onChange:f}),h.createElement(BC,{config:m,onChange:p})))}function pg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function GC(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pg(Object(t),!0).forEach(function(r){WA(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function WA(n,e,t){return e=jA(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jA(n){var e=zA(n,"string");return typeof e=="symbol"?e:String(e)}function zA(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ho=ie.module("RowFormatEditor"),KA=()=>{};function YA(n){var{type:e,name:t}=n[0],r={type:e,name:t},i=GC({column:r,style:EC()},Pd(e));return i}function qA(n){var e,{columns:t,config:r=YA(t),dh:i,onChange:a=KA}=n,[o,s]=w.useState((e=t.find(b=>b.name===r.column.name&&b.type===r.column.type))!==null&&e!==void 0?e:t[0]),[l,d]=w.useState(wC(r)),[u,c]=w.useState(!1),[m,v]=w.useState(r.style),g=w.useCallback(b=>{var S=t.find(E=>{var{name:y}=E;return y===b});S!==void 0?(s(S),o.type!==S.type&&(d(Pd(S.type)),c(!1))):Ho.error("Column ".concat(b," not found."))},[t,o]),f=w.useCallback((b,S)=>{Ho.debug("handleConditionChange",b,S),d(b),c(S)},[]),p=w.useCallback(b=>{Ho.debug("handleStyleChange",b),v(b)},[]);w.useEffect(function(){if(o===void 0){Ho.debug("Column is not selected, skip update.");return}if(m===void 0){Ho.debug("Style is not selected, skip update.");return}var{type:S,name:E}=o,y={type:S,name:E};a(GC({column:y,style:m},l),u)},[a,o,m,l,u]);var C=t.map(b=>{var{name:S}=b;return{title:S,value:S}});return h.createElement("div",{className:"conditional-rule-editor form"},h.createElement("div",{className:"mb-2"},h.createElement("label",{className:"mb-0"},"Format Row If"),h.createElement(Kf,{defaultValue:o?.name,options:C,inputPlaceholder:"Select a column",spellCheck:!1,onChange:g,searchPlaceholder:"Filter columns"})),o!==void 0&&h.createElement(h.Fragment,null,h.createElement($C,{column:o,config:l,dh:i,onChange:f}),h.createElement(BC,{config:m,onChange:p})))}var Ou=ie.module("ConditionalFormatEditor"),Du=()=>{};function XA(n){switch(n){case wr.CONDITIONAL:return h.createElement(N_,null);case wr.ROWS:return h.createElement(F_,null)}}function QA(n){switch(n){case wr.CONDITIONAL:return"Conditional";case wr.ROWS:return"Rows"}}var Cg=[wr.CONDITIONAL,wr.ROWS];function ZA(n){var e,{columns:t,dh:r,onSave:i=Du,onUpdate:a=Du,onCancel:o=Du,rule:s}=n,l=t.filter(VN),[d,u]=w.useState((e=s?.type)!==null&&e!==void 0?e:Cg[0]),[c,m]=w.useState(s),[v,g]=w.useState(!1),f=w.useCallback(()=>{o()},[o]),p=w.useCallback(()=>{if(c===void 0){Ou.error("Rule is not defined.");return}i(c)},[i,c]),C=w.useCallback(S=>{Ou.debug("handleFormatterChange",S),u(S)},[]),b=w.useCallback((S,E)=>{Ou.debug("handleRuleChange",S,E,d);var y={type:d,config:S};m(y),g(E),a(E?y:void 0)},[a,d]);return h.createElement("div",{className:"conditional-format-editor form"},h.createElement("div",{className:"mb-2"},h.createElement("label",{className:"mb-0",htmlFor:"formatter-select"},"Select Formatter"),h.createElement("div",{className:"formatter-list"},Cg.map((S,E)=>h.createElement("div",{key:S,className:"formatter-type"},h.createElement("button",{type:"button",className:te("btn","btn-icon","btn-formatter-type",{active:S===d}),"data-index":E,onClick:()=>C(S)},XA(S),QA(S)))))),d===wr.CONDITIONAL&&h.createElement(GA,{columns:l,dh:r,config:c?.config,onChange:b}),d===wr.ROWS&&h.createElement(qA,{columns:l,config:c?.config,dh:r,onChange:b}),h.createElement("hr",null),h.createElement("div",{className:"d-flex justify-content-end my-3"},h.createElement(j,{kind:"secondary",onClick:f,className:"mr-2"},"Cancel"),h.createElement(j,{kind:"primary",onClick:p,disabled:c===void 0||!v},"Done")))}function JA(n){var e,t,{text:r,isOpen:i,onClose:a}=n,[o,s]=w.useState(!1),[l,d]=w.useState(0),[u,c]=w.useState(!1),[m,v]=w.useState(!1),[g,f]=w.useState(!1),p=w.useRef();w.useEffect(function(){if(i){try{JSON.parse(r),f(!0)}catch{f(!1)}v(!1)}},[i,r]),w.useEffect(function(){p.current&&p.current.layout()},[l]),w.useEffect(function(){p.current&&p.current.updateOptions({lineNumbers:u?"on":"off"})},[u]);function C(){c(!u)}function b(){var T,O=(T=p.current)===null||T===void 0?void 0:T.getModel();!g||!O||(m?(O.setValue(r),v(!1)):(O.setValue(JSON.stringify(JSON.parse(r),void 0,2)),v(!0)),S())}function S(){var T,O,D=p.current;D&&c(((T=(O=D.getModel())===null||O===void 0?void 0:O.getLineCount())!==null&&T!==void 0?T:0)>1)}function E(){o&&(p.current=void 0,a())}function y(T){p.current=T,d(T.getContentHeight()),T.onDidContentSizeChange(O=>{var{contentHeight:D}=O;return d(D)}),S()}return!i&&!o?null:h.createElement(od,{isOpen:i,centered:!0,keyboard:!0,toggle:E,onOpened:()=>s(!0),onClosed:()=>{s(!1),d(0)},className:"theme-bg-dark cell-overflow-modal",size:"xl"},h.createElement(sd,{toggle:a},h.createElement("h5",{className:"overflow-modal-title"},"Cell Contents"),h.createElement(hd,{kind:"inline",tooltip:"Copy cell contents",copy:(e=(t=p.current)===null||t===void 0?void 0:t.getValue())!==null&&e!==void 0?e:r}),h.createElement(j,{kind:"inline",active:u,icon:ew,tooltip:"Toggle line numbers",onClick:C}),g&&h.createElement(j,{kind:"inline",icon:tw,active:m,tooltip:"Format as JSON",onClick:b})),h.createElement(ld,{style:{height:l}},h.createElement(Wh,{onEditorInitialized:y,settings:{value:r,readOnly:!0,wordWrap:"on",language:g?"typescript":"plaintext",folding:g,padding:{bottom:16},lineNumbers:u?"on":"off",overviewRulerLanes:0,renderLineHighlight:"none",find:{seedSearchStringFromSelection:"never"}}})))}function eL(n){return n.model!==void 0}var tL="###,##0";function rL(n){var{gotoRow:e,gotoRowError:t,gotoValueError:r,onGotoRowSubmit:i,isShown:a,onEntering:o,onEntered:s,onExiting:l,onExited:d,model:u,onGotoRowNumberChanged:c,onClose:m,gotoValueSelectedColumnName:v,gotoValue:g,gotoValueFilter:f,onGotoValueSelectedColumnNameChanged:p,onGotoValueSelectedFilterChanged:C,onGotoValueChanged:b,onGotoValueSubmit:S}=n,E=w.useRef(null),y=w.useRef(null),[T,O]=w.useState(!1),D=[];eL(u)&&u.table!==void 0&&({columns:D}=u.table);var{dh:P,rowCount:R}=u,_=w.useMemo(()=>"goto-row-input-".concat(Xe()),[]),M=I=>{I.key==="Enter"?(I.stopPropagation(),I.preventDefault(),S()):(I.key==="Backspace"||I.key==="Delete")&&(g==="".concat(Number.POSITIVE_INFINITY)||g==="".concat(Number.NEGATIVE_INFINITY))&&K("")},A=I=>{I.key==="Enter"&&(I.stopPropagation(),I.preventDefault(),S(I.shiftKey))},B=u.getColumnIndexByName(v),$=D[B??0],z=$?.type,G=H.getNormalizedType(z),K=I=>{b(I??"")},X=()=>{if(T&&document.activeElement!==E.current){var I;(I=E.current)===null||I===void 0||I.select()}else if(!T&&document.activeElement!==y.current){var N;(N=y.current)===null||N===void 0||N.select()}};w.useEffect(X,[T,e,g]);var J=()=>{switch(G){case H.dataType.DECIMAL:case H.dataType.INT:return h.createElement("div",{className:"goto-row-input"},h.createElement("input",{ref:y,className:te("form-control",{"is-invalid":r!==""}),onKeyDown:M,placeholder:"value",onChange:I=>{var N=I.target.value.toLowerCase();/^-?[0-9]*\.?[0-9]*$/.test(I.target.value)?K(I.target.value):N==="-i"||N==="-infinity"?K("".concat(Number.NEGATIVE_INFINITY)):(N==="i"||N==="infinity")&&K("".concat(Number.POSITIVE_INFINITY))},value:g,"aria-label":"Value Input"}));case H.dataType.DATETIME:return h.createElement("div",{className:"goto-value-date-time-input"},h.createElement(Uw,{ref:y,className:te("form-control","goto-value-date-time-input",{"is-invalid":r!==""}),defaultValue:g,onChange:K,onSubmit:A,"aria-label":"Value Input"}));case H.dataType.STRING:return h.createElement(h.Fragment,null,h.createElement("div",{className:"goto-row-input"},h.createElement("select",{className:"custom-select",onChange:I=>{C(I.target.value)},value:f,"aria-label":"filter-type-select"},h.createElement("option",{key:ge.eqIgnoreCase,value:ge.eqIgnoreCase},"Equals (case-insensitive)"),h.createElement("option",{key:ge.containsIgnoreCase,value:ge.containsIgnoreCase},"Contains (case-insensitive)"),h.createElement("option",{key:ge.eq,value:ge.eq},"Equals"),h.createElement("option",{key:ge.contains,value:ge.contains},"Contains"))),h.createElement("div",{className:"goto-row-input"},h.createElement("input",{ref:y,className:te("form-control",{"is-invalid":r!==""}),onKeyDown:A,placeholder:"value",onChange:I=>K(I.target.value),value:g,"aria-label":"Value Input"})));case H.dataType.BOOLEAN:return h.createElement("div",{className:"goto-row-input"},h.createElement("select",{className:"custom-select",onChange:I=>{K(I.target.value)},value:g,"aria-label":"Value Input"},h.createElement("option",{"aria-label":"null value",key:"null",value:""}),h.createElement("option",{key:"true",value:"true"},"true"),h.createElement("option",{key:"false",value:"false"},"false")));default:return h.createElement("div",{className:"goto-row-input"},h.createElement("input",{ref:y,className:"form-control",onKeyDown:A,placeholder:"value",onChange:I=>K(I.target.value),value:g,"aria-label":"Value Input"}))}};return h.createElement(Od,{isShown:a,className:te("goto-row"),onEntering:o,onEntered:()=>{s(),X()},onExiting:l,onExited:d},h.createElement(h.Fragment,null,h.createElement("div",{className:"goto-row-row"},h.createElement("div",{className:te("goto-row-wrapper",{"is-inactive":!T}),onClick:()=>O(!0),onFocus:()=>O(!0),role:"group"},h.createElement("label",{className:"goto-row-text",htmlFor:_},"Go to row"),h.createElement("div",{className:"goto-row-input"},h.createElement("input",{ref:E,"data-testid":"goto-row-input",type:"number",onKeyDown:I=>{I.key==="Enter"&&(I.stopPropagation(),I.preventDefault(),i())},className:te("form-control",{"is-invalid":t!==""}),placeholder:"Row number",onChange:I=>{c(I)},value:e,id:_})),h.createElement("div",{className:"goto-row-text"},"of ",P.i18n.NumberFormat.format(tL,R)),t&&h.createElement("div",{className:"text-danger"},t)),h.createElement("div",{className:"goto-row-close"},h.createElement(j,{kind:"ghost",onClick:m},h.createElement(re,{icon:gs,style:{marginRight:"0"}})))),u.isSeekRowAvailable&&h.createElement("div",{className:"goto-row-row"},h.createElement("div",{className:te("goto-row-wrapper",{"is-inactive":T}),onClick:()=>O(!1),onFocus:()=>O(!1),role:"group"},h.createElement("div",{className:"goto-row-text"},"Go to value"),h.createElement("div",{className:"goto-row-input"},h.createElement("select",{className:"custom-select",onChange:I=>{var N=I.target.value;p(N)},value:v,"aria-label":"column-name-select"},D.map(I=>h.createElement("option",{key:I.name,value:I.name},I.name)))),J(),h.createElement("div",null,h.createElement(j,{kind:"ghost",disabled:g==="",onClick:()=>{S(!0)}},h.createElement(re,{icon:Gf})),h.createElement(j,{kind:"ghost",disabled:g==="",onClick:()=>{S(!1)}},h.createElement(re,{icon:rw}))),r&&h.createElement("div",{className:"text-danger"},r)))))}function bg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function al(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){bg(a,r,i,o,s,"next",l)}function s(l){bg(a,r,i,o,s,"throw",l)}o(void 0)})}}function Sg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Qt(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sg(Object(t),!0).forEach(function(r){he(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function he(n,e,t){return e=nL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nL(n){var e=iL(n,"string");return typeof e=="symbol"?e:String(e)}function iL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ve=ie.module("IrisGrid"),aL=500,oL=250,sL=250,lL=250,WC=Object.freeze({aggregations:xe,showOnTop:!1}),dL="yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS z";function wg(n){var{advancedFilters:e,aggregationSettings:t,customColumns:r,quickFilters:i,reverseType:a,rollupConfig:o,searchFilter:s,selectDistinctColumns:l,sorts:d}=n;return e.size===0&&t.aggregations.length===0&&r.length===0&&i.size===0&&a===H.REVERSE_TYPE.NONE&&o==null&&s==null&&l.length===0&&d.length===0}class kn extends w.Component{constructor(e){var t,r,i,a;super(e),he(this,"grid",void 0),he(this,"gridWrapper",void 0),he(this,"lastFocusedFilterBarColumn",void 0),he(this,"lastLoadedConfig",void 0),he(this,"tooltip",void 0),he(this,"pending",void 0),he(this,"globalColumnFormats",void 0),he(this,"dateTimeFormatterOptions",void 0),he(this,"decimalFormatOptions",void 0),he(this,"integerFormatOptions",void 0),he(this,"truncateNumbersWithPound",void 0),he(this,"loadingScrimStartTime",void 0),he(this,"loadingScrimFinishTime",void 0),he(this,"animationFrame",void 0),he(this,"loadingTimer",void 0),he(this,"renderer",void 0),he(this,"tableSaver",void 0),he(this,"crossColumnRef",void 0),he(this,"isAnimating",void 0),he(this,"filterInputRef",void 0),he(this,"toggleFilterBarAction",void 0),he(this,"toggleSearchBarAction",void 0),he(this,"toggleGotoRowAction",void 0),he(this,"discardAction",void 0),he(this,"commitAction",void 0),he(this,"contextActions",void 0),he(this,"tableUtils",void 0),he(this,"getAdvancedMenuOpenedHandler",Pe(N=>this.handleAdvancedMenuOpened.bind(this,N),{max:100})),he(this,"getCachedAdvancedFilterMenuActions",Pe((N,k,x,Y,W)=>h.createElement(v_,{model:N,column:k,onFilterChange:this.handleAdvancedFilterChange,onSortChange:this.handleAdvancedFilterSortChange,onDone:this.handleAdvancedFilterDone,options:x,sortDirection:Y,formatter:W,tableUtils:this.tableUtils}),{max:50})),he(this,"getCachedOptionItems",Pe((N,k,x,Y,W,ee,oe,ae,se,pe,He,at,ot,Qe,lt,Ot)=>{var Le=[];return N&&Le.push({type:ke.CHART_BUILDER,title:"Chart Builder",icon:nw}),Le.push({type:ke.VISIBILITY_ORDERING_BUILDER,title:"Organize Columns",icon:Uh}),x&&Le.push({type:ke.CONDITIONAL_FORMATTING,title:"Conditional Formatting",icon:ps}),k&&Le.push({type:ke.CUSTOM_COLUMN_BUILDER,title:"Custom Columns",icon:iw}),Y&&Le.push({type:ke.ROLLUP_ROWS,title:"Rollup Rows",icon:Wf}),W&&Le.push({type:ke.AGGREGATIONS,title:"Aggregate Columns",icon:aw}),ee&&Le.push({type:ke.SELECT_DISTINCT,title:"Select Distinct Values",icon:ow}),oe&&ot&&Le.push({type:ke.TABLE_EXPORTER,title:"Download CSV",icon:sw}),Ot&&Le.push({type:ke.ADVANCED_SETTINGS,title:"Advanced Settings",icon:lw}),Le.push({type:ke.QUICK_FILTERS,title:"Quick Filters",subtitle:ae.shortcut.getDisplayText(),icon:Nl,isOn:He,onChange:ae.action}),Qe&&Le.push({type:ke.SEARCH_BAR,title:"Search Bar",subtitle:se.shortcut.getDisplayText(),icon:dw,isOn:at,onChange:se.action}),Le.push({type:ke.GOTO,title:"Go to",subtitle:pe.shortcut.getDisplayText(),icon:uw,isOn:lt,onChange:pe.action}),Object.freeze(Le)},{max:1})),he(this,"getCachedHiddenColumns",Pe((N,k)=>ye.getHiddenColumns(new Map([...N.initialColumnWidths,...k])),{max:1})),he(this,"getAggregationMap",Pe((N,k)=>{var x={};return k.forEach(Y=>{var{operation:W,selected:ee,invert:oe}=Y;x[W]=Bi.getOperationColumnNames(N,W,ee,oe)}),x})),he(this,"getOperationMap",Pe((N,k)=>{var x={};return k.filter(Y=>!Bi.isRollupOperation(Y.operation)).forEach(Y=>{var{operation:W,selected:ee,invert:oe}=Y;Bi.getOperationColumnNames(N,W,ee,oe).forEach(ae=>{var se,pe=[...(se=x[ae])!==null&&se!==void 0?se:[],W];x[ae]=Object.freeze(pe)})}),x})),he(this,"getOperationOrder",Pe(N=>N.map(k=>k.operation).filter(k=>!Bi.isRollupOperation(k)))),he(this,"getCachedFormatColumns",Pe((N,k,x)=>$N(N,k,x))),he(this,"getCachedPreviewFormatColumns",Pe((N,k,x,Y,W)=>{if(ve.debug("getCachedPreviewFormatColumns",x,Y,W),Y!==void 0&&W!==void 0){var ee=[...x];return ee[W]=Y,this.getCachedFormatColumns(N,k,ee)}return this.getCachedFormatColumns(N,k,x)})),he(this,"getModelRollupConfig",Pe((N,k,x)=>ye.getModelRollupConfig(N,k,x))),he(this,"getModelTotalsConfig",Pe((N,k,x)=>{var Y,W,ee,{aggregations:oe,showOnTop:ae}=x;if(((Y=k==null||(W=k.columns)===null||W===void 0?void 0:W.length)!==null&&Y!==void 0?Y:0)>0||((ee=oe?.length)!==null&&ee!==void 0?ee:0)===0)return null;var se=this.getOperationMap(N,oe),pe=this.getOperationOrder(oe);return{operationMap:se,operationOrder:pe,showOnTop:ae}})),he(this,"getCachedStateOverride",Pe((N,k,x,Y,W,ee,oe,ae,se,pe)=>({hoverSelectColumn:N,isFilterBarShown:k,isSelectingColumn:x,loadingScrimProgress:Y,quickFilters:W,advancedFilters:ee,sorts:oe,reverseType:ae,rollupConfig:se,isMenuShown:pe}),{max:1})),he(this,"getCachedFilter",Pe((N,k,x,Y,W)=>[...N??[],...Y??[],...ye.getFiltersFromFilterMap(k),...ye.getFiltersFromFilterMap(x),...W!==void 0?[W]:[]],{max:1})),he(this,"getCachedTheme",Pe((N,k,x)=>Qt(Qt(Qt({},RC),N),{},{autoSelectRow:!k,rowFooterWidth:x>0?N.rowFooterWidth:0}),{max:1})),he(this,"getAlwaysFetchColumns",Pe((N,k,x,Y,W,ee)=>{for(var oe=[],ae=0;ae<Y;ae+=1)oe.push(k[V.getModelIndex(ae,x)].name);for(var se=0;se<W;se+=1)oe.push(k[V.getModelIndex(k.length-1-se,x)].name);if(ee)for(var pe=ee[0];pe<=ee[1];pe+=1)oe.push(k[V.getModelIndex(pe,x)].name);var He=new Set([...N,...oe]);return Object.freeze([...He])})),he(this,"updateSearchFilter",rt((N,k,x,Y)=>{var{model:W}=this.props,ee=il.createSearchFilter(W.dh,N,k,x,Y);this.setState({searchFilter:ee})},oL)),he(this,"handleConditionalFormatEditorUpdate",rt(N=>{this.setState({conditionalFormatPreview:N})},lL)),he(this,"handleDownloadProgressUpdate",zi((N,k)=>{var{tableDownloadStatus:x}=this.state;x===ta.DOWNLOAD_STATUS.DOWNLOADING&&this.setState({tableDownloadProgress:N,tableDownloadEstimatedTime:k})},aL)),he(this,"getOverflowButtonTooltip",Pe(N=>{if(N==null)return null;var k=Qt(Qt({position:"absolute"},N),{},{pointerEvents:"none"}),x={placement:"left",modifiers:{flip:{behavior:["left","right"]}}};return h.createElement("div",{style:k},h.createElement(pt,{key:Date.now(),options:x,ref:this.handleTooltipRef},"View full contents"))})),he(this,"getExpandCellTooltip",Pe(N=>{if(N==null)return null;var{expandTooltipDisplayValue:k}=this.state,x=Qt(Qt({position:"absolute"},N),{},{pointerEvents:"none"}),Y={placement:"bottom-start"};return h.createElement("div",{style:x},h.createElement(pt,{key:Date.now(),options:Y,ref:this.handleTooltipRef},h.createElement("div",{style:{textAlign:"left"}},"Click to ",k," row",h.createElement("br",null),Ki.isMacPlatform()?"⌘":"Ctrl+","Click to expand row and all children")))})),he(this,"getLinkHoverTooltip",Pe(N=>{if(N==null)return null;var{linkHoverDisplayValue:k}=this.state,x=Qt(Qt({position:"absolute"},N),{},{pointerEvents:"none"}),Y={placement:"bottom"};return h.createElement("div",{style:x},h.createElement(pt,{options:Y,ref:this.handleTooltipRef},h.createElement("div",{className:"link-hover-tooltip"},k," - Click once to follow.",h.createElement("br",null),"Click and hold to select this cell.")))})),he(this,"handleGotoValueChanged",N=>{this.setState({gotoValue:N}),this.debouncedSeekRow(N)}),he(this,"debouncedSeekRow",rt(N=>{this.seekRow(N)},sL)),this.handleAdvancedFilterChange=this.handleAdvancedFilterChange.bind(this),this.handleAdvancedFilterSortChange=this.handleAdvancedFilterSortChange.bind(this),this.handleAdvancedFilterDone=this.handleAdvancedFilterDone.bind(this),this.handleAdvancedMenuOpened=this.handleAdvancedMenuOpened.bind(this),this.handleGotoRowOpened=this.handleGotoRowOpened.bind(this),this.handleGotoRowClosed=this.handleGotoRowClosed.bind(this),this.handleAdvancedMenuClosed=this.handleAdvancedMenuClosed.bind(this),this.handleAggregationChange=this.handleAggregationChange.bind(this),this.handleAggregationsChange=this.handleAggregationsChange.bind(this),this.handleAggregationEdit=this.handleAggregationEdit.bind(this),this.handleAnimationLoop=this.handleAnimationLoop.bind(this),this.handleAnimationStart=this.handleAnimationStart.bind(this),this.handleAnimationEnd=this.handleAnimationEnd.bind(this),this.handleChartChange=this.handleChartChange.bind(this),this.handleChartCreate=this.handleChartCreate.bind(this),this.handleGridError=this.handleGridError.bind(this),this.handleFilterBarChange=this.handleFilterBarChange.bind(this),this.handleFilterBarDone=this.handleFilterBarDone.bind(this),this.handleFilterBarTab=this.handleFilterBarTab.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleMenu=this.handleMenu.bind(this),this.handleMenuClose=this.handleMenuClose.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleMenuBack=this.handleMenuBack.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleSelectionChanged=this.handleSelectionChanged.bind(this),this.handleMovedColumnsChanged=this.handleMovedColumnsChanged.bind(this),this.handleHeaderGroupsChanged=this.handleHeaderGroupsChanged.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.handleTooltipRef=this.handleTooltipRef.bind(this),this.handleViewChanged=this.handleViewChanged.bind(this),this.handleFormatSelection=this.handleFormatSelection.bind(this),this.handleConditionalFormatCreate=this.handleConditionalFormatCreate.bind(this),this.handleConditionalFormatEdit=this.handleConditionalFormatEdit.bind(this),this.handleConditionalFormatsChange=this.handleConditionalFormatsChange.bind(this),this.handleConditionalFormatEditorSave=this.handleConditionalFormatEditorSave.bind(this),this.handleConditionalFormatEditorCancel=this.handleConditionalFormatEditorCancel.bind(this),this.handleUpdateCustomColumns=this.handleUpdateCustomColumns.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.handleSelectDistinctChanged=this.handleSelectDistinctChanged.bind(this),this.handlePendingDataUpdated=this.handlePendingDataUpdated.bind(this),this.handlePendingCommitClicked=this.handlePendingCommitClicked.bind(this),this.handlePendingDiscardClicked=this.handlePendingDiscardClicked.bind(this),this.handleGotoRowSelectedRowNumberSubmit=this.handleGotoRowSelectedRowNumberSubmit.bind(this),this.focusRowInGrid=this.focusRowInGrid.bind(this),this.handleDownloadTable=this.handleDownloadTable.bind(this),this.handleDownloadTableStart=this.handleDownloadTableStart.bind(this),this.handleCancelDownloadTable=this.handleCancelDownloadTable.bind(this),this.handleDownloadCanceled=this.handleDownloadCanceled.bind(this),this.handleDownloadCompleted=this.handleDownloadCompleted.bind(this),this.handlePartitionAppend=this.handlePartitionAppend.bind(this),this.handlePartitionChange=this.handlePartitionChange.bind(this),this.handlePartitionFetchAll=this.handlePartitionFetchAll.bind(this),this.handlePartitionDone=this.handlePartitionDone.bind(this),this.handleColumnVisibilityChanged=this.handleColumnVisibilityChanged.bind(this),this.handleColumnVisibilityReset=this.handleColumnVisibilityReset.bind(this),this.handleCrossColumnSearch=this.handleCrossColumnSearch.bind(this),this.handleRollupChange=this.handleRollupChange.bind(this),this.handleOverflowClose=this.handleOverflowClose.bind(this),this.getColumnBoundingRect=this.getColumnBoundingRect.bind(this),this.handleGotoRowSelectedRowNumberChanged=this.handleGotoRowSelectedRowNumberChanged.bind(this),this.handleGotoValueSelectedColumnNameChanged=this.handleGotoValueSelectedColumnNameChanged.bind(this),this.handleGotoValueSelectedFilterChanged=this.handleGotoValueSelectedFilterChanged.bind(this),this.handleGotoValueChanged=this.handleGotoValueChanged.bind(this),this.handleGotoValueSubmitted=this.handleGotoValueSubmitted.bind(this),this.grid=null,this.gridWrapper=null,this.lastLoadedConfig=null,this.pending=new hi,this.globalColumnFormats=xe,this.decimalFormatOptions={},this.integerFormatOptions={},this.truncateNumbersWithPound=!1,this.renderer=new YI,this.tableSaver=null,this.crossColumnRef=h.createRef(),this.isAnimating=!1,this.filterInputRef=h.createRef(),this.toggleFilterBarAction={action:()=>this.toggleFilterBar(),shortcut:Mr.TABLE.TOGGLE_QUICK_FILTER},this.toggleSearchBarAction={action:()=>this.toggleSearchBar(),shortcut:Mr.TABLE.TOGGLE_SEARCH},this.toggleGotoRowAction={action:()=>this.toggleGotoRow(),shortcut:Mr.TABLE.GOTO_ROW},this.discardAction={action:()=>{var{model:N}=this.props;nt(N)&&N.isEditable&&N.pendingDataMap.size>0&&this.discardPending().catch(ve.error)},shortcut:Mr.INPUT_TABLE.DISCARD},this.commitAction={action:()=>{var{model:N}=this.props;nt(N)&&N.isEditable&&N.pendingDataMap.size>0&&N.pendingDataErrors.size===0&&this.commitPending().catch(ve.error)},shortcut:Mr.INPUT_TABLE.COMMIT},this.contextActions=[this.toggleFilterBarAction,this.toggleSearchBarAction,this.toggleGotoRowAction,this.discardAction,this.commitAction];var{aggregationSettings:o,conditionalFormats:s,customColumnFormatMap:l,isFilterBarShown:d,isSelectingPartition:u,model:c,movedColumns:m,movedRows:v,partition:g,partitionColumn:f,rollupConfig:p,userColumnWidths:C,userRowHeights:b,showSearchBar:S,searchValue:E,selectedSearchColumns:y,invertSearchColumns:T,advancedFilters:O,quickFilters:D,selectDistinctColumns:P,pendingDataMap:R,canCopy:_,frozenColumns:M,columnHeaderGroups:A}=e,B=[new TF(this),new NF(this)];_&&B.push(new fF(this));var{dh:$}=c,z=[new AF(this),new EI(this),new _I(this),new UF(this),new WF(this),new OI(this),new pI(this),new sI(this,$),new cI(this),new RI(this)],G=m.length>0?m:c.initialMovedColumns,K=v.length>0?v:c.initialMovedRows,X=new kI({userColumnWidths:new Map(C),userRowHeights:new Map(b),movedColumns:G,initialColumnWidths:new Map(c==null||(t=c.layoutHints)===null||t===void 0||(r=t.hiddenColumns)===null||r===void 0?void 0:r.map(N=>[c.getColumnIndexByName(N),0]))}),J=y??[],I=il.createSearchFilter($,E,J,c.columns,T);this.tableUtils=new H($),this.state={isFilterBarShown:d,isSelectingPartition:u,focusedFilterBarColumn:null,metricCalculator:X,metrics:void 0,keyHandlers:B,mouseHandlers:z,partition:g,partitionColumn:f,partitionTable:null,partitionFilters:[],quickFilters:D?new Map(D):new Map,advancedFilters:new Map(O),shownAdvancedFilter:null,hoverAdvancedFilter:null,sorts:[],reverseType:H.REVERSE_TYPE.NONE,customColumns:[],selectDistinctColumns:P,selectedRanges:[],copyOperation:null,loadingText:null,loadingScrimProgress:null,loadingSpinnerShown:!1,movedColumns:G,movedRows:K,shownColumnTooltip:null,formatter:new wn($),isMenuShown:!1,customColumnFormatMap:new Map(l),conditionalFormats:s,conditionalFormatEditIndex:null,conditionalFormatPreview:void 0,hoverSelectColumn:null,isTableDownloading:!1,isReady:!1,tableDownloadStatus:"",tableDownloadProgress:0,tableDownloadEstimatedTime:0,showSearchBar:S,searchFilter:I,searchValue:E,selectedSearchColumns:J,invertSearchColumns:T,rollupConfig:p,rollupSelectedColumns:[],aggregationSettings:o,selectedAggregation:null,openOptions:[],pendingRowCount:0,pendingDataMap:R??new Map,pendingDataErrors:new Map,pendingSavePromise:null,pendingSaveError:null,toastMessage:null,frozenColumns:M,showOverflowModal:!1,overflowText:"",overflowButtonTooltipProps:null,expandCellTooltipProps:null,expandTooltipDisplayValue:"expand",linkHoverTooltipProps:null,linkHoverDisplayValue:"",isGotoShown:!1,gotoRow:"",gotoRowError:"",gotoValueError:"",gotoValueSelectedColumnName:(i=(a=c.columns[0])===null||a===void 0?void 0:a.name)!==null&&i!==void 0?i:"",gotoValueSelectedFilter:ge.eqIgnoreCase,gotoValue:"",columnHeaderGroups:A??c.initialColumnHeaderGroups}}componentDidMount(){var{partitionColumn:e,model:t}=this.props,r=e??t.columns.find(i=>i.isPartitionColumn);t.isFilterRequired&&t.isValuesTableAvailable&&r!=null?this.loadPartitionsTable(r):this.initState(),this.startListening(t)}componentDidUpdate(e){var{inputFilters:t,isSelectingColumn:r,settings:i,model:a,customFilters:o,sorts:s}=this.props;a!==e.model&&(this.stopListening(e.model),this.startListening(a));var l=t!==e.inputFilters?t.filter(g=>!e.inputFilters.includes(g)):[];if(l.length>0){var d,{advancedSettings:u}=this.props,c=(d=u.get(so.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS))!==null&&d!==void 0?d:!1;c&&(this.clearGridInputField(),this.clearCrossColumSearch()),this.startLoading("Filtering...",!0),this.applyInputFilters(l,c)}r!==e.isSelectingColumn&&this.resetColumnSelection(),i!==e.settings&&this.updateFormatterSettings(i),o!==e.customFilters&&this.startLoading("Filtering...",!0),s!==e.sorts&&this.updateSorts(s);var{loadingScrimStartTime:m,loadingScrimFinishTime:v}=this;m!=null&&v!=null&&window.requestAnimationFrame(()=>{var g=Date.now(),f=g-m,p=v-m,C=Math.min(f/p,1);v<g&&(this.loadingScrimStartTime=void 0,this.loadingScrimFinishTime=void 0),this.setState(b=>b.loadingScrimProgress==null?(ve.debug2("Ignoring scrim update because loading cancelled."),null):{loadingScrimProgress:C})}),this.sendStateChange()}componentWillUnmount(){var{model:e}=this.props;this.stopListening(e),this.pending.cancel(),this.updateSearchFilter.cancel(),this.loadingTimer&&clearTimeout(this.loadingTimer),this.handleDownloadProgressUpdate.cancel(),this.animationFrame!==void 0&&cancelAnimationFrame(this.animationFrame)}getValueForCell(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{model:i}=this.props,{dh:a}=i,o=this.getModelColumn(e),s=this.getModelRow(t);if(r&&o!=null&&s!=null){var l=i.valueForCell(o,s);if(H.isDateType(i.columns[o].type)){var{formatter:d}=i;return a.i18n.DateTimeFormat.format(dL,l,a.i18n.TimeZone.getTimeZone(d.timeZone))}return l}return r?null:o!=null&&s!=null?i.textForCell(o,s):""}getModelColumn(e){var{metrics:t}=this.state;L(t);var{modelColumns:r}=t;return r==null?null:e!=null?r.get(e):null}getModelRow(e){var{metrics:t}=this.state;L(t);var{modelRows:r}=t;return r==null?null:e!=null?r.get(e):null}getTheme(){var e,{model:t,theme:r}=this.props;return this.getCachedTheme(r,(e=nt(t)&&t.isEditable)!==null&&e!==void 0?e:!1,t.floatingTopRowCount+t.floatingBottomRowCount)}getVisibleColumn(e){var{movedColumns:t}=this.state;return V.getVisibleIndex(e,t)}makeQuickFilter(e,t,r){try{return this.tableUtils.makeQuickFilter(e,t,r)}catch(i){ve.error("Error creating quick filter",i)}return null}applyInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{model:r}=this.props,{advancedFilters:i,quickFilters:a}=this.state,o=t?new Map:new Map(i),s=t?new Map:new Map(a),l=t&&i.size>0;e.forEach(d=>{var{name:u,type:c,value:m}=d,v=r.columns.findIndex(g=>{var{name:f,type:p}=g;return f===u&&p===c});v>=0?(l=o.delete(v)||l,l=this.applyQuickFilter(v,m,s)||l):ve.error("Unable to find column for inputFilter",u,c,m)}),l&&this.setState({quickFilters:s,advancedFilters:o})}applyQuickFilter(e,t,r){var{model:i}=this.props,{formatter:a}=i,o=i.columns[e];if(t!=null&&"".concat(t).trim().length>0){var s=r.get(e);if(s!=null){var{text:l}=s;if(l===t)return ve.debug2("Ignoring change to existing filter"),!1}return r.set(e,{text:t,filter:this.makeQuickFilter(o,t,a.timeZone)}),!0}return r.delete(e)}setAdvancedFilterMap(e){this.setState({advancedFilters:e})}setAdvancedFilter(e,t,r){ve.debug("Setting advanced filter",e,t),this.startLoading("Filtering...",!0),this.setState(i=>{var{advancedFilters:a}=i,o=new Map(a);return t==null?o.delete(e):o.set(e,{filter:t,options:r}),{advancedFilters:o}})}setQuickFilter(e,t,r){ve.debug("Setting quick filter",e,t,r),this.startLoading("Filtering...",!0),this.setState(i=>{var{quickFilters:a}=i,o=new Map(a);return o.set(e,{filter:t,text:r}),{quickFilters:o}})}setFilterMap(e){var t;ve.debug("setFilterMap",e);var{advancedSettings:r}=this.props,i=(t=r.get(so.LINK_CHANGE_CLEARS_ALL_FILTERS))!==null&&t!==void 0?t:!1;i&&this.clearAllFilters();var{model:a}=this.props;e.forEach((o,s)=>{var{columnType:l,filterList:d}=o,u=a.columns.find(g=>g.name===s&&g.type===l);if(u!=null){var c=a.getColumnIndexByName(u.name);L(c);var m=ye.combineFiltersFromList(l,d);if(m.length===0)this.removeQuickFilter(c);else{var{formatter:v}=a;this.setQuickFilter(c,this.makeQuickFilter(u,m,v.timeZone),"".concat(m))}}})}removeColumnFilter(e){this.startLoading("Filtering...",!0),this.setState(t=>{var{advancedFilters:r,quickFilters:i}=t,a=r?new Map(r):new Map,o=i?new Map(i):new Map;return o.delete(e),a.delete(e),{quickFilters:o,advancedFilters:a}})}removeQuickFilter(e){this.startLoading("Clearing Filter...",!0),this.setState(t=>{var{quickFilters:r}=t,i=new Map(r);return i.delete(e),{quickFilters:i}})}clearAllFilters(){ve.debug("Clearing all filters");var{advancedFilters:e,quickFilters:t,searchFilter:r}=this.state;t.size===0&&e.size===0&&r===null||(this.clearGridInputField(),this.startLoading("Clearing Filters...",!0),this.setState({quickFilters:new Map,advancedFilters:new Map,searchValue:"",searchFilter:void 0}))}clearCrossColumSearch(){ve.debug("Clearing cross-column search"),this.setState({searchValue:"",searchFilter:void 0})}clearGridInputField(){this.filterInputRef.current!=null&&this.filterInputRef.current.setValue("")}rebuildFilters(){ve.debug("Rebuilding filters");var{model:e}=this.props,{advancedFilters:t,quickFilters:r}=this.state,{columns:i,formatter:a}=e,o=new Map,s=new Map;t.forEach((l,d)=>{var{options:u}=l,c=i[d],m=this.tableUtils.makeAdvancedFilter(c,u,a.timeZone);o.set(d,{options:u,filter:m})}),r.forEach((l,d)=>{var{text:u}=l,c=i[d];s.set(d,{text:u,filter:this.makeQuickFilter(c,u,a.timeZone)})}),this.startLoading("Rebuilding filters...",!0),this.setState({quickFilters:s,advancedFilters:o})}setFilters(e){var{quickFilters:t,advancedFilters:r}=e;this.setState({quickFilters:t,advancedFilters:r})}updateFormatterSettings(e){var t,r,i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=oi.getColumnFormats(e),s=oi.getDateTimeFormatterOptions(e),l=(t=e?.defaultDecimalFormatOptions)!==null&&t!==void 0?t:{},d=(r=e?.defaultIntegerFormatOptions)!==null&&r!==void 0?r:{},u=(i=e?.truncateNumbersWithPound)!==null&&i!==void 0?i:!1,c=!ct(this.globalColumnFormats,o),m=!ct(this.dateTimeFormatterOptions,s),v=!ct(this.decimalFormatOptions,e?.defaultDecimalFormatOptions),g=!ct(this.integerFormatOptions,d),f=this.truncateNumbersWithPound!==u;(c||m||v||g||f)&&(this.globalColumnFormats=o,this.dateTimeFormatterOptions=s,this.decimalFormatOptions=l,this.integerFormatOptions=d,this.truncateNumbersWithPound=u,this.updateFormatter({},a),m&&a&&this.rebuildFilters())}updateFormatter(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{customColumnFormatMap:i}=this.state,{model:a}=this.props,o=Qt({customColumnFormatMap:i},e),s=[...(t=this.globalColumnFormats)!==null&&t!==void 0?t:[],...o.customColumnFormatMap.values()],l=new wn(a.dh,s,this.dateTimeFormatterOptions,this.decimalFormatOptions,this.integerFormatOptions,this.truncateNumbersWithPound);ve.debug("updateFormatter",this.globalColumnFormats,s),this.setState(Qt(Qt({},o),{},{formatter:l}),()=>{r&&this.grid&&this.grid.forceUpdate()})}initFormatter(){var{settings:e}=this.props;this.updateFormatterSettings(e)}initState(){var{applyInputFiltersOnInit:e,inputFilters:t,sorts:r,model:i,reverseType:a,customColumns:o,searchValue:s,selectedSearchColumns:l,invertSearchColumns:d}=this.props,u=l??[],c=il.createSearchFilter(i.dh,s,u,i.columns,d);if(e){var m=t.filter(v=>v.value!=null);this.applyInputFilters(m)}this.setState({sorts:r,reverseType:a,customColumns:o,isReady:!0,searchFilter:c}),this.initFormatter()}loadPartitionsTable(e){var t=this;return al(function*(){var{model:r}=t.props;t.setState({isSelectingPartition:!0});try{var i=yield t.pending.add(r.valuesTable(e),u=>u.close()),a=i.columns[0],o=a.sort().desc();i.applySort([o]),i.setViewport(0,0,[a]);var s=yield t.pending.add(i.getViewportData());if(s.rows.length>0){var l=s.rows[0],d=l.get(a);t.updatePartition(d,e),t.setState({isSelectingPartition:!0})}else ve.info("Table does not have any data, just fetching all"),t.setState({isSelectingPartition:!1}),t.handlePartitionFetchAll();t.setState({partitionTable:i,partitionColumn:e},()=>{t.initState()})}catch(u){t.handleTableLoadError(u)}})()}updatePartition(e,t){var{model:r}=this.props,i=t.filter().eq(r.dh.FilterValue.ofString(e)),a=[i];this.setState({partition:e,partitionFilters:a})}copyCell(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{canCopy:i}=this.props;if(i){var a=String(this.getValueForCell(e,t,r));Cs(a).catch(o=>ve.error("Unable to copy cell",o))}else ve.error("Attempted to copyCell for user without copy permission.")}copyRanges(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3?arguments[3]:void 0,{model:a,canCopy:o}=this.props,{metricCalculator:s,movedColumns:l}=this.state,d=s.getUserColumnWidths();if(o){var u={ranges:ne.boundedRanges(e,a.columnCount,a.rowCount),includeHeaders:t,formatValues:r,movedColumns:l,userColumnWidths:d,error:i};this.setState({copyOperation:u})}else ve.error("Attempted copyRanges for user without copy permission.")}startLoading(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({loadingText:e});var r=this.getTheme();if(t&&this.grid&&(this.grid.clearSelectedRanges(),this.grid.setViewState({top:0},!0)),this.loadingScrimStartTime==null){var i,a,{minScrimTransitionTime:o,maxScrimTransitionTime:s}=r;L(o),L(s);var l=(i=(a=this.gridWrapper)===null||a===void 0?void 0:a.getBoundingClientRect().height)!==null&&i!==void 0?i:0,d=Math.max(o,Math.min(l/2,s));this.loadingScrimStartTime=Date.now(),this.loadingScrimFinishTime=this.loadingScrimStartTime+d,this.setState({loadingScrimProgress:0}),this.loadingTimer=setTimeout(()=>{this.setState({loadingSpinnerShown:!0})},kn.loadingSpinnerDelay)}}stopLoading(){this.loadingScrimStartTime=void 0,this.loadingScrimFinishTime=void 0,this.setState({loadingText:null,loadingScrimProgress:null,loadingSpinnerShown:!1}),this.loadingTimer!=null&&(clearTimeout(this.loadingTimer),this.loadingTimer=void 0)}rollback(){if(this.lastLoadedConfig){ve.debug("loading last loading config",this.lastLoadedConfig);var{advancedFilters:e,aggregationSettings:t,customColumns:r,quickFilters:i,reverseType:a,rollupConfig:o,searchFilter:s,selectDistinctColumns:l,sorts:d}=this.lastLoadedConfig;this.lastLoadedConfig=null,this.setState({advancedFilters:e,aggregationSettings:t,customColumns:r,quickFilters:i,reverseType:a,rollupConfig:o,searchFilter:s,selectDistinctColumns:l,sorts:d})}else ve.debug("remove all sorts, filters, and custom columns"),this.setState({advancedFilters:new Map,aggregationSettings:WC,customColumns:[],quickFilters:new Map,reverseType:H.REVERSE_TYPE.NONE,rollupConfig:void 0,selectDistinctColumns:[],sorts:[]})}canRollback(){return this.lastLoadedConfig!=null||!wg(this.state)}startListening(e){e.addEventListener(Se.EVENT.UPDATED,this.handleUpdate),e.addEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed),e.addEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnsChanged),e.addEventListener(Se.EVENT.PENDING_DATA_UPDATED,this.handlePendingDataUpdated)}stopListening(e){e.removeEventListener(Se.EVENT.UPDATED,this.handleUpdate),e.removeEventListener(Se.EVENT.REQUEST_FAILED,this.handleRequestFailed),e.removeEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleCustomColumnsChanged),e.removeEventListener(Se.EVENT.PENDING_DATA_UPDATED,this.handlePendingDataUpdated)}focus(){var e;(e=this.grid)===null||e===void 0||e.focus()}focusFilterBar(e){var{movedColumns:t}=this.state,{model:r}=this.props,{columnCount:i}=r,a=V.getModelIndex(e,t);if(e==null||e<0||i<=e||!r.isFilterable(a)){this.setState({focusedFilterBarColumn:null});return}var{metricCalculator:o,metrics:s}=this.state;L(s);var{left:l,rightVisible:d,lastLeft:u}=s;if(e<l){var c;(c=this.grid)===null||c===void 0||c.setViewState({left:e},!0)}else if(d<e){var m,v,g=(m=this.grid)===null||m===void 0?void 0:m.getMetricState();L(g);var f=o.getLastLeft(g,e,o.getVisibleWidth(g));(v=this.grid)===null||v===void 0||v.setViewState({left:Math.min(f,u),leftOffset:0},!0)}this.lastFocusedFilterBarColumn=e,this.setState({focusedFilterBarColumn:e,isFilterBarShown:!0})}hideColumnByVisibleIndex(e){var t,{metricCalculator:r,movedColumns:i}=this.state;r.setColumnWidth(V.getModelIndex(e,i),0),(t=this.grid)===null||t===void 0||t.forceUpdate()}freezeColumnByColumnName(e){var{frozenColumns:t,movedColumns:r}=this.state,{model:i}=this.props;ve.debug2("freezing column",e);var a=t==null?new Set(i.frozenColumns):new Set(t);a.add(e);var o=i.getColumnIndexByName(e);L(o);var s=V.getVisibleIndex(o,r),l=V.moveItem(s,a.size-1,r);this.setState({frozenColumns:[...a],movedColumns:l})}unFreezeColumnByColumnName(e){var{frozenColumns:t,movedColumns:r}=this.state,{model:i}=this.props;ve.debug2("unfreezing column",e);var a=t==null?new Set(i.frozenColumns):new Set(t);a.delete(e);var o=i.getColumnIndexByName(e);L(o);var s=V.getVisibleIndex(o,r),l=V.moveItem(s,a.size+i.frontColumns.length,r);this.setState({frozenColumns:[...a],movedColumns:l})}handleColumnVisibilityChanged(e,t){var r,{metricCalculator:i,metrics:a}=this.state;L(a),t?e.forEach(o=>{var s=i.initialColumnWidths.get(o),l=U(a.calculatedColumnWidths,o);s!==l?i.setColumnWidth(o,l):i.resetColumnWidth(o)}):e.forEach(o=>{i.setColumnWidth(o,0)}),(r=this.grid)===null||r===void 0||r.forceUpdate()}handleColumnVisibilityReset(){var e,t,{metricCalculator:r,metrics:i}=this.state,{model:a}=this.props;L(i);for(var o=0;o<i.columnCount;o+=1)r.resetColumnWidth(o);this.handleMovedColumnsChanged(a.initialMovedColumns),this.handleHeaderGroupsChanged(a.initialColumnHeaderGroups),this.setState({frozenColumns:(e=(t=a.layoutHints)===null||t===void 0?void 0:t.frozenColumns)!==null&&e!==void 0?e:[]})}handleCrossColumnSearch(e,t,r){var{model:i}=this.props;this.startLoading("Searching..."),this.updateSearchFilter(e,t,i.columns,r),this.setState({searchValue:e,selectedSearchColumns:t,invertSearchColumns:r})}handleAnimationLoop(){var e;(e=this.grid)===null||e===void 0||e.updateCanvas(),this.isAnimating&&(this.animationFrame=requestAnimationFrame(this.handleAnimationLoop))}handleAnimationStart(){ve.debug2("handleAnimationStart"),this.isAnimating=!0,this.animationFrame=requestAnimationFrame(this.handleAnimationLoop)}handleAnimationEnd(){ve.debug2("handleAnimationEnd"),this.isAnimating=!1}handlePartitionAppend(e){var{onPartitionAppend:t}=this.props,{partitionColumn:r}=this.state;r!=null&&t(r,e)}handlePartitionChange(e){var{partitionColumn:t}=this.state;t!=null&&this.updatePartition(e,t)}handlePartitionFetchAll(){this.setState({partitionFilters:[],isSelectingPartition:!1})}handlePartitionDone(){this.setState({isSelectingPartition:!1})}handleTableLoadError(e){if(!Te.isCanceled(e)){ve.error(e);var{onError:t}=this.props;t(e)}}showAllColumns(){for(var e,{metricCalculator:t}=this.state,r=t.getUserColumnWidths(),i=[...r.entries()],a=0;a<i.length;a+=1){var[o,s]=i[a];s===0&&t.resetColumnWidth(o)}(e=this.grid)===null||e===void 0||e.forceUpdate()}toggleSort(e,t){ve.info("Toggling sort for column",e);var{model:r}=this.props,i=this.getModelColumn(e);if(L(i),r.isColumnSortable(e)){var{sorts:a}=this.state,o=H.toggleSortForColumn(a,r.columns,i,t);this.updateSorts(o)}else ve.debug("Column type was not sortable",r.columns[e])}updateSorts(e){var t;this.startLoading("Sorting..."),this.setState({sorts:e}),(t=this.grid)===null||t===void 0||t.forceUpdate()}sortColumn(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:H.sortDirection.none,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;L(e);var{model:o}=this.props,s=H.sortColumn(o.sort,o.columns,e,r,i,a);this.startLoading("Sorting..."),this.setState({sorts:s}),(t=this.grid)===null||t===void 0||t.forceUpdate()}reverse(e){var t;this.startLoading("Reversing..."),this.setState({reverseType:e}),(t=this.grid)===null||t===void 0||t.forceUpdate()}isReversible(){var{model:e}=this.props;return e.isReversible}toggleFilterBar(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.lastFocusedFilterBarColumn,{isFilterBarShown:t}=this.state;if(t=!t,this.setState({isFilterBarShown:t}),t)if(e!=null)this.focusFilterBar(e);else{for(var r=0,{model:i}=this.props,{columnCount:a}=i,o=0;o<a;o+=1){var s=this.getModelColumn(o);if(s!=null){var l=i.columns[s];if(l!=null&&H.isTextType(l.type)){r=o;break}}}this.focusFilterBar(r)}else{var d;(d=this.grid)===null||d===void 0||d.focus()}}isTableSearchAvailable(){var e,t,r,{model:i,canToggleSearch:a}=this.props,{dh:o}=i,s=i==null||(e=i.layoutHints)===null||e===void 0?void 0:e.searchDisplayMode;return s===((t=o.SearchDisplayMode)===null||t===void 0?void 0:t.SEARCH_DISPLAY_HIDE)?!1:s===((r=o.SearchDisplayMode)===null||r===void 0?void 0:r.SEARCH_DISPLAY_SHOW)?!0:a}toggleSearchBar(){var{showSearchBar:e}=this.state;if(this.isTableSearchAvailable()){var t=!e;this.setState({showSearchBar:t},()=>{var r;if(t&&(r=this.crossColumnRef)!==null&&r!==void 0&&r.current){var i;(i=this.crossColumnRef)===null||i===void 0||i.current.focus()}else{var a;(a=this.grid)===null||a===void 0||a.focus()}})}}toggleGotoRow(){var e,t,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{isGotoShown:o}=this.state;if(r||i){this.setState({isGotoShown:!0,gotoRow:r,gotoValue:i,gotoValueSelectedColumnName:a,gotoRowError:"",gotoValueError:""}),this.focusRowInGrid(r);return}var s=(e=this.grid)===null||e===void 0?void 0:e.state.cursorRow,l=(t=this.grid)===null||t===void 0?void 0:t.state.cursorColumn;if(s==null||l==null){this.setState({isGotoShown:!o,gotoRow:"",gotoValue:"",gotoRowError:"",gotoValueError:""});return}var{model:d}=this.props,{name:u,type:c}=d.columns[l],m=d.valueForCell(l,s),v=ye.convertValueToText(m,c);this.setState({isGotoShown:!o,gotoRow:"".concat(s),gotoValue:v,gotoValueSelectedColumnName:u,gotoRowError:"",gotoValueError:""})}commitPending(){var e=this;return al(function*(){var t,r,{model:i}=e.props;if(!nt(i)||!i.isEditable)throw new Error("Cannot save, table is not editable");var{pendingSavePromise:a}=e.state;if(a!=null)throw new Error("Save already in progress");var o=(t=document)===null||t===void 0||(r=t.activeElement)===null||r===void 0?void 0:r.classList.contains("grid-cell-input-field");if(o!=null&&o){var s;if(document.activeElement!=null&&document.activeElement.classList.contains("error"))throw new Ja("Current input is invalid");(s=e.grid)===null||s===void 0||s.focus()}var l=e.pending.add(i.commitPending()).then(()=>{e.setState({pendingSaveError:null,pendingSavePromise:null})}).catch(d=>{Te.isCanceled(d)||e.setState({pendingSaveError:d,pendingSavePromise:null})});return e.setState({pendingSavePromise:l}),l})()}discardPending(){var e=this;return al(function*(){var{pendingSavePromise:t}=e.state;if(t!=null)throw new Error("Cannot cancel a save in progress");e.setState({pendingSavePromise:null,pendingSaveError:null,pendingDataMap:new Map,pendingDataErrors:new Map})})()}selectColumn(e){var{onColumnSelected:t}=this.props;t(e)}selectData(e,t){for(var r=this,{model:i}=this.props,{columns:a,groupedColumns:o}=i,s={},l=function(){var m=a[d],{name:v,type:g}=m,f=i.valueForCell(d,t),p=i.textForCell(d,t),C=r.getVisibleColumn(d),b=ze(i)&&i.isRowExpandable(t),S=o.find(E=>E.name===v)!=null;s[v]={value:f,text:p,type:g,isGrouped:S,isExpandable:b,visibleIndex:C}},d=0;d<a.length;d+=1)l();var{onDataSelected:u}=this.props;u(t,s)}handleAdvancedFilterChange(e,t,r){var{model:i}=this.props,a=i.getColumnIndexByName(e.name);L(a),this.setAdvancedFilter(a,t,r)}handleAdvancedFilterSortChange(e,t){var r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{model:a}=this.props,o=a.getColumnIndexByName(e.name);L(o);var s=a.columns[o].name,l=H.getSortForColumn(a.sort,s),d=null;(l==null||l.direction!==t)&&(t===H.sortDirection.descending?d=e.sort().desc():d=e.sort().asc());var u=H.setSortForColumn(a.sort,s,d,i);ve.info("Setting table sorts",u),this.startLoading("Sorting..."),this.setState({sorts:u}),(r=this.grid)===null||r===void 0||r.forceUpdate()}handleAdvancedFilterDone(){var e;(e=this.grid)===null||e===void 0||e.focus()}handleAdvancedMenuOpened(e){this.setState({shownAdvancedFilter:e})}handleGotoRowOpened(){this.setState({isGotoShown:!0})}handleGotoRowClosed(){this.setState({isGotoShown:!1})}handleAdvancedMenuClosed(e){var t,{focusedFilterBarColumn:r,isFilterBarShown:i}=this.state;if(i&&r===e&&((t=this.filterInputRef)===null||t===void 0?void 0:t.current)!==null){var a;(a=this.filterInputRef)===null||a===void 0||a.current.focus(),this.setState({shownAdvancedFilter:null})}else this.setState({focusedFilterBarColumn:null,shownAdvancedFilter:null})}handleCancel(){this.rollback()}handleChartChange(){}handleChartCreate(e){var{model:t,onCreateChart:r}=this.props;r(e,t)}handleGridError(e){ve.warn("Grid Error",e),this.setState({toastMessage:h.createElement("div",{className:"error-message"},"".concat(e))})}handleFilterBarChange(e){this.startLoading("Filtering...",!0),this.setState(t=>{var{focusedFilterBarColumn:r,quickFilters:i}=t,a=new Map(i);if(r!=null){var o=this.getModelColumn(r);L(o),this.applyQuickFilter(o,e,a)}return{quickFilters:a}})}handleFilterBarDone(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e){var r;(r=this.grid)===null||r===void 0||r.focus()}t&&this.setState({focusedFilterBarColumn:null})}handleFilterBarTab(e){var{focusedFilterBarColumn:t}=this.state;L(t),e?this.focusFilterBar(t-1):this.focusFilterBar(t+1)}handleFormatSelection(e,t){var{model:r}=this.props,i=r.columns[e],{customColumnFormatMap:a}=this.state,o=new Map(a);if(t!=null){var s=H.getNormalizedType(i.type);L(s);var l=wn.makeColumnFormattingRule(s,i.name,t);o.set(i.name,l)}else o.delete(i.name);this.updateFormatter({customColumnFormatMap:o})}handleMenu(e){e.stopPropagation(),this.setState({isMenuShown:!0})}handleMenuClose(){this.setState({isMenuShown:!1,openOptions:[]})}handleMenuBack(){this.setState(e=>{var{openOptions:t}=e,r=[...t];return r.pop(),{openOptions:r}})}handleMenuSelect(e){this.setState(t=>{var{openOptions:r}=t;return{openOptions:[...r,e]}})}handleRequestFailed(e){var t=e;if(ve.error("request failed:",t.detail),this.stopLoading(),this.canRollback())this.startLoading("Rolling back changes...",!0),this.rollback();else{ve.error("Table failed and unable to rollback");var{onError:r}=this.props;r(new Error("Error displaying table: ".concat(t.detail)))}}handleUpdate(){var e;this.stopLoading(),ve.debug2("Received model update");var{advancedFilters:t,aggregationSettings:r,customColumns:i,quickFilters:a,reverseType:o,rollupConfig:s,searchFilter:l,selectDistinctColumns:d,sorts:u}=this.state,c={advancedFilters:t,aggregationSettings:r,customColumns:i,quickFilters:a,reverseType:o,rollupConfig:s,searchFilter:l,selectDistinctColumns:d,sorts:u};wg(c)?this.lastLoadedConfig=null:this.lastLoadedConfig=c,(e=this.grid)===null||e===void 0||e.forceUpdate()}handleViewChanged(e){var t,r,{model:i}=this.props,{selectionEndRow:a=0}=(t=(r=this.grid)===null||r===void 0?void 0:r.state)!==null&&t!==void 0?t:{},o=0;if(nt(i)&&i.isEditable){L(e);var{bottomViewport:s}=e,l=i.rowCount-i.floatingBottomRowCount;a===l-1?o=i.pendingRowCount+1:a===l-2?o=i.pendingRowCount:o=Math.max(0,s-(i.rowCount-i.pendingRowCount)-i.floatingTopRowCount-i.floatingBottomRowCount-1)}this.setState({metrics:e,pendingRowCount:o})}handleSelectionChanged(e){L(e);var{onSelectionChanged:t}=this.props,{copyOperation:r}=this.state;this.setState({selectedRanges:e}),r!=null&&this.setState({copyOperation:null}),t(e)}handleMovedColumnsChanged(e,t){this.setState({movedColumns:e},t)}handleHeaderGroupsChanged(e){var{model:t}=this.props;this.setState({columnHeaderGroups:ye.parseColumnHeaderGroups(t,e).groups},()=>{var r;return(r=this.grid)===null||r===void 0?void 0:r.forceUpdate()})}handleTooltipRef(e){e?.startTimer(),this.tooltip=e}handleConditionalFormatsChange(e){ve.debug("Updated conditional formats",e),this.setState({conditionalFormats:e})}handleConditionalFormatCreate(){ve.debug("Create new conditional format");var{openOptions:e,conditionalFormats:t}=this.state;this.setState({openOptions:[...e,{type:ke.CONDITIONAL_FORMATTING_EDIT,title:"Create Formatting Rule"}],conditionalFormatEditIndex:t.length,conditionalFormatPreview:void 0})}handleConditionalFormatEdit(e){ve.debug("Edit conditional format",e);var{openOptions:t,conditionalFormats:r}=this.state;this.setState({openOptions:[...t,{type:ke.CONDITIONAL_FORMATTING_EDIT,title:"Edit Formatting Rule"}],conditionalFormatEditIndex:e,conditionalFormatPreview:Qt({},r[e])})}handleConditionalFormatEditorSave(e){ve.debug("Save conditional format changes",e),this.setState(t=>{if(t.conditionalFormatEditIndex===null)return ve.debug("Invalid format index"),null;var r=[...t.conditionalFormats];return r[t.conditionalFormatEditIndex]=e,{conditionalFormats:r}},()=>{this.handleMenuBack()})}handleConditionalFormatEditorCancel(){this.handleMenuBack(),this.setState({conditionalFormatEditIndex:null})}handleUpdateCustomColumns(e){ve.info("handleUpdateCustomColumns:",e);var{model:t}=this.props,{movedColumns:r,sorts:i,quickFilters:a,advancedFilters:o,selectDistinctColumns:s}=this.state,{columns:l}=t,d=t.customColumns.map(p=>"".concat(p)),u=ye.getRemovedCustomColumnNames(d,e);if(u.length>0){var c=ye.removeSortsInColumns(i,u),m=ye.removeFiltersInColumns(l,a,u),v=ye.removeFiltersInColumns(l,o,u),g=ye.removeColumnFromMovedColumns(l,r,u),f=ye.removeColumnsFromSelectDistinctColumns(s,u);c.length!==i.length&&(ve.debug("removing sorts from removed custom columns..."),this.setState({sorts:c})),(m.size!==a.size||v.size!==o.size)&&(ve.debug("removing filters from removed custom columns..."),this.setState({quickFilters:m,advancedFilters:v})),ct(r,g)||(ve.debug("change moved columns for removed custom columns",g),this.setState({movedColumns:g})),ct(s,f)||(ve.debug("change selectDistinct columns for removed custom columns",g),this.setState({selectDistinctColumns:f}))}this.setState({customColumns:e}),e.length>0&&this.startLoading("Applying custom columns...")}handleCustomColumnsChanged(){ve.debug("custom columns changed");var{isReady:e}=this.state;if(e){var t;this.stopLoading(),(t=this.grid)===null||t===void 0||t.forceUpdate()}else this.initState()}handlePendingCommitClicked(){return this.commitPending()}handlePendingDiscardClicked(){return this.discardPending()}handlePendingDataUpdated(){var e;ve.debug("pending data updated");var{model:t}=this.props,{pendingDataMap:r,pendingDataErrors:i}=t;this.setState({pendingDataMap:r,pendingDataErrors:i,pendingSaveError:null}),(e=this.grid)===null||e===void 0||e.forceUpdate()}handleAggregationsChange(e){ve.debug("handleAggregationsChange",e),this.startLoading("Aggregating ".concat(e.aggregations.map(t=>t.operation).join(", "),"...")),this.setState({aggregationSettings:e})}handleAggregationChange(e){ve.debug("handleAggregationChange",e),this.startLoading("Aggregating ".concat(e.operation,"...")),this.setState(t=>{var{aggregationSettings:r}=t;return{selectedAggregation:e,aggregationSettings:Qt(Qt({},r),{},{aggregations:r.aggregations.map(i=>i.operation===e.operation?e:i)})}})}handleAggregationEdit(e){ve.debug("handleAggregationEdit",e);var{openOptions:t}=this.state;this.setState({openOptions:[...t,{type:ke.AGGREGATION_EDIT,title:"Edit Columns to ".concat(e.operation)}],selectedAggregation:e})}handleRollupChange(e){var t,r;ve.info("Rollup change",e),this.resetGridViewState(),this.showAllColumns(),this.clearAllFilters(),this.startLoading("Grouping by columns ".concat((t=e==null||(r=e.columns)===null||r===void 0?void 0:r.join(", "))!==null&&t!==void 0?t:"","...")),this.setState({rollupConfig:e,movedColumns:[],frozenColumns:[],sorts:[],reverseType:H.REVERSE_TYPE.NONE,selectDistinctColumns:[]})}handleSelectDistinctChanged(e){ve.debug("SelectDistinct change",e),this.resetGridViewState(),this.showAllColumns(),this.clearAllFilters(),this.startLoading("Selecting distinct values in ".concat(e.length>0?e.join(", "):"","...")),this.setState({selectDistinctColumns:e,movedColumns:[],sorts:[],reverseType:H.REVERSE_TYPE.NONE})}handleDownloadTableStart(){var{canDownloadCsv:e}=this.props;e?this.setState({isTableDownloading:!0,tableDownloadProgress:0,tableDownloadEstimatedTime:null,tableDownloadStatus:ta.DOWNLOAD_STATUS.INITIATING}):ve.error("Attempted to handleDownloadTableStart for user without download CSV permission.")}handleDownloadTable(e,t,r,i,a,o,s){var{canDownloadCsv:l}=this.props;l?(ve.info("start table downloading",e,t,r,i,a,o,s),this.setState(()=>(this.tableSaver&&this.tableSaver.startDownload(e,t,r,i,a,o,s),{tableDownloadStatus:ta.DOWNLOAD_STATUS.DOWNLOADING}))):ve.error("Attempted to handleDownloadTable for user without download CSV permission.")}seekRow(e){var t=arguments,r=this;return al(function*(){var i,a=t.length>1&&t[1]!==void 0?t[1]:!1,{gotoValueSelectedColumnName:o,gotoValueSelectedFilter:s}=r.state,{model:l}=r.props,{dh:d}=l;if(l.isSeekRowAvailable&&e!==""){var u=ye.getColumnByName(l.columns,o);if(u!==void 0){var c=(i=r.grid)===null||i===void 0?void 0:i.state.cursorRow;c==null&&(c=0);var m=s===ge.contains||s===ge.containsIgnoreCase,v=s===ge.eqIgnoreCase||s===ge.containsIgnoreCase;try{var g,{formatter:f}=l,p=H.getNormalizedType(u.type),C;switch(p){case H.dataType.CHAR:case H.dataType.STRING:{C=yield l.seekRow(c,u,d.ValueType.STRING,e,v,m,a??!1);break}case H.dataType.DATETIME:{var[b]=Ea.parseDateRange(d,e,f.timeZone);C=yield l.seekRow(c,u,d.ValueType.DATETIME,b,void 0,void 0,a??!1);break}case H.dataType.DECIMAL:case H.dataType.INT:{if(!H.isBigDecimalType(u.type)&&!H.isBigIntegerType(u.type)){var S=parseInt(e,10);e==="-Infinity"?S=Number.NEGATIVE_INFINITY:e==="Infinity"&&(S=Number.POSITIVE_INFINITY),C=yield l.seekRow(c,u,d.ValueType.NUMBER,S,void 0,void 0,a??!1)}else C=yield l.seekRow(c,u,d.ValueType.STRING,e,void 0,void 0,a??!1);break}default:C=yield l.seekRow(c,u,d.ValueType.STRING,r.tableUtils.makeValue(u.type,e,f.timeZone),void 0,void 0,a??!1)}(g=r.grid)===null||g===void 0||g.setFocusRow(C),r.setState({gotoValueError:""})}catch{r.setState({gotoValueError:"invalid input"})}}}})()}handleCancelDownloadTable(){var e;(e=this.tableSaver)===null||e===void 0||e.cancelDownload(),this.setState({isTableDownloading:!1})}handleDownloadCompleted(){this.setState({isTableDownloading:!1,tableDownloadProgress:100,tableDownloadStatus:ta.DOWNLOAD_STATUS.FINISHED})}handleDownloadCanceled(){this.setState({isTableDownloading:!1,tableDownloadProgress:0,tableDownloadStatus:ta.DOWNLOAD_STATUS.CANCELED})}deleteRanges(e){var{model:t}=this.props;this.pending.add(t.delete(e)).catch(r=>{Te.isCanceled(r)||ve.error("Unable to delete ranges",e,r)})}resetColumnSelection(){if(this.grid!=null){var{isSelectingColumn:e}=this.props;if(e){var{columnAllowedCursor:t}=this.props;this.grid.setState({cursor:t})}else this.grid.setState({cursor:null}),this.setState({hoverSelectColumn:null})}}resetGridViewState(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.grid&&(this.grid.clearSelectedRanges(),this.grid.setViewState({left:0,top:0,topOffset:0,leftOffset:0},e))}sendStateChange(){if(this.grid){var{state:e}=this,{state:t}=this.grid,{onStateChange:r}=this.props;r(e,t)}}handleOverflowClose(){this.setState({showOverflowModal:!1})}getColumnBoundingRect(){var e,{metrics:t,shownColumnTooltip:r}=this.state;L(t),L(r);var i=(e=this.gridWrapper)===null||e===void 0?void 0:e.getBoundingClientRect(),a=20;L(i);var{columnHeaderHeight:o,allColumnXs:s,allColumnWidths:l,width:d,columnHeaderMaxDepth:u}=t,c=s.get(r),m=l.get(r);L(c),L(m);var v=i.left+Ve(c+m/2,a,d-a);return{top:i.top+(u-1)*o,left:i.left+Ve(c+m/2,a,d-a),bottom:i.top+u*o,right:i.left+Ve(c+m/2,a,d-a)+1,width:1,height:o,x:v,y:i.top,toJSON:()=>{throw new Error("not implemented")}}}handleGotoRowSelectedRowNumberSubmit(){var{gotoRow:e}=this.state;this.focusRowInGrid(e)}focusRowInGrid(e){var{model:t}=this.props,{rowCount:r}=t;if(this.setState({gotoRow:e}),e===""){this.setState({gotoRowError:"",gotoValueError:""});return}var i=parseInt(e,10);if(i>r||i<-r)this.setState({gotoRowError:"Invalid row index"});else if(i===0){var a;this.setState({gotoRowError:"",gotoValueError:""}),(a=this.grid)===null||a===void 0||a.setFocusRow(0)}else if(i<0){var o;this.setState({gotoRowError:"",gotoValueError:""}),(o=this.grid)===null||o===void 0||o.setFocusRow(i+r)}else{var s;(s=this.grid)===null||s===void 0||s.setFocusRow(i-1),this.setState({gotoRowError:"",gotoValueError:""})}}handleGotoRowSelectedRowNumberChanged(e){var t=e.target.value;this.focusRowInGrid(t)}getColumnTooltip(e,t,r){var{columnHeaderHeight:i,columnHeaderMaxDepth:a,allColumnXs:o,allColumnWidths:s,width:l}=t,d=o.get(e),u=s.get(e);if(d==null||u==null)return null;var c=Math.max(0,d),m=u;d+u>l?m=l-d:d<0&&(m=u-Math.abs(d));var v={position:"absolute",top:(a-1)*i,left:c,width:m,height:i,pointerEvents:"none"},g={clientWidth:1,clientHeight:i,getBoundingClientRect:this.getColumnBoundingRect},f={placement:"bottom",modifiers:{flip:{behavior:["bottom","top"]}}},p=this.getModelColumn(e);if(p==null)return null;var C=r.columns[p];return C==null?null:h.createElement("div",{style:v},h.createElement(pt,{key:C.name,timeout:400,interactive:!0,options:f,ref:this.handleTooltipRef,referenceObject:g,onExited:()=>{this.setState({shownColumnTooltip:null})}},h.createElement(r_,{model:r,column:C,onStatistics:()=>{var b;(b=this.tooltip)===null||b===void 0||b.update()}})))}handleGotoValueSelectedColumnNameChanged(e){var t,{model:r}=this.props,i=(t=this.grid)===null||t===void 0?void 0:t.state.cursorRow;if(i!=null){var a=r.getColumnIndexByName(e),o=ye.getColumnByName(r.columns,e);if(a==null||o==null)return;var s=r.valueForCell(a,i),l=ye.convertValueToText(s,o.type);this.setState({gotoValueSelectedColumnName:e,gotoValue:l,gotoValueError:""})}this.setState({gotoValueSelectedColumnName:e,gotoValueError:""})}handleGotoValueSelectedFilterChanged(e){this.setState({gotoValueSelectedFilter:e,gotoValueError:""})}handleGotoValueSubmitted(e){var{gotoValue:t}=this.state;this.seekRow(t,e)}render(){var e,t,r=this,i,a,o,{children:s,customFilters:l,getDownloadWorker:d,isSelectingColumn:u,isStuckToBottom:c,isStuckToRight:m,model:v,name:g,onlyFetchVisibleColumns:f,alwaysFetchColumns:p,advancedSettings:C,onAdvancedSettingsChange:b,canDownloadCsv:S,onCreateChart:E}=this.props,{metricCalculator:y,metrics:T,isFilterBarShown:O,isSelectingPartition:D,isMenuShown:P,isReady:R,copyOperation:_,focusedFilterBarColumn:M,loadingText:A,loadingScrimProgress:B,loadingSpinnerShown:$,keyHandlers:z,mouseHandlers:G,shownColumnTooltip:K,hoverAdvancedFilter:X,shownAdvancedFilter:J,hoverSelectColumn:I,quickFilters:N,advancedFilters:k,partition:x,partitionFilters:Y,partitionTable:W,partitionColumn:ee,searchFilter:oe,selectDistinctColumns:ae,movedColumns:se,movedRows:pe,formatter:He,conditionalFormats:at,conditionalFormatPreview:ot,conditionalFormatEditIndex:Qe,sorts:lt,reverseType:Ot,customColumns:Le,selectedRanges:_t,isTableDownloading:Vt,tableDownloadStatus:yr,tableDownloadProgress:Tr,tableDownloadEstimatedTime:an,showSearchBar:Tn,searchValue:Ur,selectedSearchColumns:Mt,invertSearchColumns:on,aggregationSettings:ir,selectedAggregation:ar,rollupConfig:Nt,openOptions:$r,pendingSavePromise:sn,pendingSaveError:Br,pendingRowCount:or,pendingDataErrors:gi,pendingDataMap:Pn,toastMessage:Bn,frozenColumns:Vr,columnHeaderGroups:ln,showOverflowModal:Ji,overflowText:Ma,overflowButtonTooltipProps:Aa,expandCellTooltipProps:La,linkHoverTooltipProps:ka,isGotoShown:xa,gotoRow:st,gotoRowError:Ns,gotoValueError:yo,gotoValueSelectedColumnName:Fs,gotoValue:ea,gotoValueSelectedFilter:Is}=this.state;if(!R)return null;var sr=this.getTheme(),_s=this.getCachedFilter(l,N,k,Y,oe),To=y.getUserColumnWidths(),Ms=this.getCachedStateOverride(I,O,u,B,N,k,lt,Ot,Nt,P),Hd=T?T.top:0,Ud=T?T.bottomViewport:0,As=null,Ls=null;f&&(As=T?T.left:0,Ls=T?T.right:0);var $d=T!=null&&T.width>0&&T.height>0,ks=((e=Nt==null||(t=Nt.columns)===null||t===void 0?void 0:t.length)!==null&&e!==void 0?e:0)>0,xs=null,Bd=T?Math.min(Math.max(kn.minDebounce,Math.round(T.rowCount/200)),kn.maxDebounce):kn.maxDebounce;if(O&&M!=null&&T!=null){var{gridX:Vd,gridY:Gd,allColumnXs:Wd,allColumnWidths:Vn,width:Po}=T,kc=Wd.get(M),xc=Vn.get(M);if(kc!=null&&xc!=null){var jd,zd,Kd,Hc=Vd+kc,Ib=Gd-((jd=sr.filterBarHeight)!==null&&jd!==void 0?jd:0),_b=xc+1,Mb=((zd=sr.filterBarHeight)!==null&&zd!==void 0?zd:0)-1,Ab={top:Ib,left:Hc,minWidth:Math.min(_b,Po-Hc),height:Mb},Yd="",Uc=!0,qd=this.getModelColumn(M);L(qd);var Xd=N.get(qd),$c=k.get(qd);Xd!=null&&(Yd=Xd.text,Uc=Xd.filter!=null);var Lb=N.size!==0||k.size!==0;xs=h.createElement(hF,{ref:this.filterInputRef,style:Ab,className:te({error:!Uc,active:Yd!==""||$c!=null,"iris-grid-has-filter":Lb}),isAdvancedFilterSet:$c!=null,onAdvancedFiltersTriggered:()=>{this.setState({shownAdvancedFilter:M})},key:M,onChange:this.handleFilterBarChange,onDone:this.handleFilterBarDone,onTab:this.handleFilterBarTab,onContextMenu:(Kd=this.grid)===null||Kd===void 0?void 0:Kd.handleContextMenu,debounceMs:Bd,value:Yd})}}var Bc=null;if(A!=null){var kb=h.createElement("div",{className:"iris-grid-loading-status"},h.createElement("div",{className:te("iris-grid-loading-status-bar",{show:$})},A),h.createElement("button",{type:"button",onClick:this.handleCancel,className:te("iris-grid-btn-cancel",{show:$})},h.createElement(re,{icon:gs,transform:"down-1"}),"Cancel")),xb=T?T.gridY:0;Bc=h.createElement("div",{className:"iris-grid-loading",style:{top:xb}},kb)}var Vc=null;if(K!=null&&T){var Qd;Vc=this.getColumnTooltip(K,T,v),(Qd=this.tooltip)===null||Qd===void 0||Qd.update()}var Gc=[];if(T&&O)for(var{gridX:Hb,gridY:Ub,visibleColumns:Wc,allColumnXs:$b,allColumnWidths:Bb}=T,{filterBarHeight:Zd}=sr,Vb=function(){var mt=Wc[Jd],fi=$b.get(mt),pi=Bb.get(mt),Oo=r.getModelColumn(mt);if(Oo!=null){var tu=v.isFilterable(Oo);if(tu&&fi!=null&&pi!=null&&pi>0){var ru=Hb+fi+pi-24,Ha=Ub-(Zd??0)+2,Do={position:"absolute",top:Ha,left:ru},nu=k.get(Oo),Hs=nu!=null,Ro=mt===X||mt===M||Hs,iu=h.createElement("div",{className:te("advanced-filter-button-container",{hidden:!Ro}),key:mt,style:Do},Ro&&h.createElement(j,{kind:"ghost",className:te("btn-link-icon advanced-filter-button",{"filter-set":Hs}),onClick:()=>{r.setState({shownAdvancedFilter:mt})},onContextMenu:au=>{var ou;(ou=r.grid)===null||ou===void 0||ou.handleContextMenu(au)},onMouseEnter:()=>{r.setState({hoverAdvancedFilter:mt})},onMouseLeave:()=>{r.setState({hoverAdvancedFilter:null})}},h.createElement("div",{className:"fa-layers"},h.createElement(re,{icon:Lh,className:"filter-solid"}),h.createElement(re,{icon:Nl,className:"filter-light"}))));Gc.push(iu)}}},Jd=0;Jd<Wc.length;Jd+=1)Vb();var jc=[];if(T)for(var{gridX:zc,visibleColumns:Kc,allColumnXs:Gb,allColumnWidths:Wb,columnHeaderHeight:Yc}=T,jb=function(){var mt=Kc[eu],fi=Gb.get(mt),pi=Wb.get(mt);if(fi!=null&&pi!=null&&pi>0){var Oo=zc+fi,tu=zc+fi+pi-20,ru=O?{position:"absolute",top:Yc,left:tu,width:20,height:sr.filterBarHeight}:{position:"absolute",top:0,left:Oo,width:pi,height:Yc},Ha=r.getModelColumn(mt);if(Ha!=null){var Do=v.columns[Ha];if(Do==null)return ve.warn("Column does not exist at index ".concat(Ha," for column array of length ").concat(v.columns.length)),"continue";var nu=k.get(Ha),{options:Hs}=nu||{},Ro=H.getSortForColumn(v.sort,Do.name),iu=Ro?Ro.direction:null,au=h.createElement("div",{key:mt,className:"advanced-filter-menu-container",style:ru},h.createElement(md,{className:"advanced-filter-menu-popper",onEntered:r.getAdvancedMenuOpenedHandler(mt),onExited:()=>{r.handleAdvancedMenuClosed(mt)},isShown:J===mt,interactive:!0,closeOnBlur:!0,options:{positionFixed:!0}},r.getCachedAdvancedFilterMenuActions(v,Do,Hs,iu,He)));jc.push(au)}}},eu=0;eu<Kc.length;eu+=1)var zb=jb();var qc=this.getCachedOptionItems(E!==void 0&&v.isChartBuilderAvailable,v.isCustomColumnsAvailable,v.isFormatColumnsAvailable,v.isRollupAvailable,v.isTotalsAvailable||ks,v.isSelectDistinctAvailable,v.isExportAvailable,this.toggleFilterBarAction,this.toggleSearchBarAction,this.toggleGotoRowAction,O,Tn,S,this.isTableSearchAvailable(),xa,C.size>0),Xc=this.getCachedHiddenColumns(y,To),Kb=$r.map(Gt=>{switch(Gt.type){case ke.CHART_BUILDER:return h.createElement(I_,{model:v,onChange:this.handleChartChange,onSubmit:this.handleChartCreate,key:ke.CHART_BUILDER});case ke.VISIBILITY_ORDERING_BUILDER:return h.createElement(JM,{model:v,movedColumns:se,hiddenColumns:Xc,columnHeaderGroups:ln,onColumnVisibilityChanged:this.handleColumnVisibilityChanged,onReset:this.handleColumnVisibilityReset,onMovedColumnsChanged:this.handleMovedColumnsChanged,onColumnHeaderGroupChanged:this.handleHeaderGroupsChanged,key:ke.VISIBILITY_ORDERING_BUILDER});case ke.CONDITIONAL_FORMATTING:return h.createElement(bA,{rules:at,onChange:this.handleConditionalFormatsChange,onCreate:this.handleConditionalFormatCreate,onSelect:this.handleConditionalFormatEdit});case ke.CONDITIONAL_FORMATTING_EDIT:return L(v.columns),L(this.handleConditionalFormatEditorUpdate),h.createElement(ZA,{dh:v.dh,columns:v.columns,rule:ot,onUpdate:this.handleConditionalFormatEditorUpdate,onSave:this.handleConditionalFormatEditorSave,onCancel:this.handleConditionalFormatEditorCancel});case ke.CUSTOM_COLUMN_BUILDER:return h.createElement(G_,{model:v,customColumns:Le,onSave:this.handleUpdateCustomColumns,onCancel:this.handleMenuBack,key:ke.CUSTOM_COLUMN_BUILDER});case ke.ROLLUP_ROWS:return h.createElement(K_,{model:v,onChange:this.handleRollupChange,config:Nt,key:ke.ROLLUP_ROWS});case ke.AGGREGATIONS:return h.createElement(C_,{settings:ir,isRollup:ks,onChange:this.handleAggregationsChange,onEdit:this.handleAggregationEdit});case ke.AGGREGATION_EDIT:return ar&&h.createElement(y_,{aggregation:ar,columns:v.originalColumns,onChange:this.handleAggregationChange});case ke.TABLE_EXPORTER:return h.createElement(ta,{model:v,name:g,userColumnWidths:To,movedColumns:se,isDownloading:Vt,tableDownloadStatus:yr,tableDownloadProgress:Tr,tableDownloadEstimatedTime:an??void 0,onDownload:this.handleDownloadTable,onDownloadStart:this.handleDownloadTableStart,onCancel:this.handleCancelDownloadTable,selectedRanges:_t,key:ke.TABLE_EXPORTER});case ke.SELECT_DISTINCT:return h.createElement(fA,{model:v,selectDistinctColumns:ae,onChange:this.handleSelectDistinctChanged});case ke.ADVANCED_SETTINGS:return h.createElement(mc,{items:C,onChange:b});default:throw Error("Unexpected option type ".concat(Gt.type))}});return h.createElement("div",{className:"iris-grid",role:"presentation"},h.createElement("div",{className:"iris-grid-column"},s!=null&&h.createElement("div",{className:"iris-grid-bar"},s),h.createElement(kr,{in:D,timeout:et.transitionSlowMs,classNames:"iris-grid-bar-horizontal",onEnter:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExit:this.handleAnimationStart,onExited:this.handleAnimationEnd,mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary"},W&&ee&&x!=null&&h.createElement(hA,{dh:v.dh,table:W,getFormattedString:(Gt,mt,fi)=>v.displayString(Gt,mt,fi),columnName:ee.name,partition:x,onChange:this.handlePartitionChange,onFetchAll:this.handlePartitionFetchAll,onAppend:this.handlePartitionAppend,onDone:this.handlePartitionDone}))),h.createElement(kr,{in:Tn,timeout:et.transitionSlowMs,classNames:"iris-grid-bar-horizontal",onEnter:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExit:this.handleAnimationStart,onExited:this.handleAnimationEnd,mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"iris-grid-bar"},h.createElement(il,{value:Ur,selectedColumns:Mt,invertSelection:on,onChange:this.handleCrossColumnSearch,columns:v.columns,ref:this.crossColumnRef}))),h.createElement("div",{className:"grid-wrapper",ref:Gt=>{this.gridWrapper=Gt}},h.createElement(lN,{ref:Gt=>{this.grid=Gt},isStickyBottom:!nt(v)||!v.isEditable,isStuckToBottom:c,isStuckToRight:m,metricCalculator:y,model:v,keyHandlers:z,mouseHandlers:G,movedColumns:se,movedRows:pe,onError:this.handleGridError,onViewChanged:this.handleViewChanged,onSelectionChanged:this.handleSelectionChanged,onMovedColumnsChanged:this.handleMovedColumnsChanged,renderer:this.renderer,stateOverride:Ms,theme:sr}),h.createElement(JA,{isOpen:Ji,text:Ma,onClose:this.handleOverflowClose}),$d&&h.createElement(HI,{model:v,modelColumns:v.columns,top:Hd,bottom:Ud,left:As,right:Ls,filter:_s,formatter:He,sorts:lt,reverseType:Ot,movedColumns:se,customColumns:Le,hiddenColumns:Xc,alwaysFetchColumns:this.getAlwaysFetchColumns(p,v.columns,se,v.floatingLeftColumnCount,v.floatingRightColumnCount,(i=this.grid)===null||i===void 0||(a=i.state.draggingColumn)===null||a===void 0?void 0:a.range),formatColumns:this.getCachedPreviewFormatColumns(v.dh,v.columns,at,ot,((o=$r[$r.length-1])===null||o===void 0?void 0:o.type)===ke.CONDITIONAL_FORMATTING_EDIT?Qe??void 0:void 0),rollupConfig:this.getModelRollupConfig(v.originalColumns,Nt,ir),totalsConfig:this.getModelTotalsConfig(v.columns,Nt,ir),selectDistinctColumns:ae,pendingRowCount:or,pendingDataMap:Pn,frozenColumns:Vr,columnHeaderGroups:ln}),!P&&h.createElement("div",{className:"grid-settings-button"},h.createElement(j,{kind:"ghost","data-testid":"btn-iris-grid-settings-button-".concat(g),onClick:this.handleMenu,icon:h.createElement(re,{icon:hw,transform:"up-1"}),tooltip:"Table Options"})),xs,Bc,Gc,Vc,jc,Aa&&this.getOverflowButtonTooltip(Aa),La&&this.getExpandCellTooltip(La),ka&&this.getLinkHoverTooltip(ka)),h.createElement(rL,{model:v,isShown:xa,gotoRow:st,gotoRowError:Ns,gotoValueError:yo,onGotoRowSubmit:this.handleGotoRowSelectedRowNumberSubmit,onGotoRowNumberChanged:this.handleGotoRowSelectedRowNumberChanged,onClose:this.handleGotoRowClosed,onEntering:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExiting:()=>{this.handleAnimationStart(),this.focus()},onExited:this.handleAnimationEnd,gotoValueSelectedColumnName:Fs,gotoValue:ea,gotoValueFilter:Is,onGotoValueSelectedColumnNameChanged:this.handleGotoValueSelectedColumnNameChanged,onGotoValueSelectedFilterChanged:this.handleGotoValueSelectedFilterChanged,onGotoValueChanged:this.handleGotoValueChanged,onGotoValueSubmit:this.handleGotoValueSubmitted}),h.createElement(jN,{error:Br,isSaving:sn!=null,saveTooltip:"Commit (".concat(this.commitAction.shortcut.getDisplayText(),")"),discardTooltip:"Discard (".concat(this.discardAction.shortcut.getDisplayText(),")"),pendingDataErrors:gi,pendingDataMap:Pn,onEntering:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExiting:this.handleAnimationStart,onExited:this.handleAnimationEnd,onSave:this.handlePendingCommitClicked,onDiscard:this.handlePendingDiscardClicked}),h.createElement(AI,null,Bn),h.createElement(lF,{model:v,copyOperation:_??void 0,onEntering:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExiting:this.handleAnimationStart,onExited:this.handleAnimationEnd}),h.createElement(pr,{dh:v.dh,ref:Gt=>{this.tableSaver=Gt},getDownloadWorker:d,onDownloadCompleted:this.handleDownloadCompleted,onDownloadCanceled:this.handleDownloadCanceled,onDownloadProgressUpdate:this.handleDownloadProgressUpdate,isDownloading:yr===ta.DOWNLOAD_STATUS.DOWNLOADING,formatter:He})),h.createElement(kr,{in:P,timeout:et.transitionMidMs,classNames:"slide-left",onEntering:this.handleAnimationStart,onEntered:this.handleAnimationEnd,onExiting:this.handleAnimationStart,onExited:this.handleAnimationEnd,mountOnEnter:!0,unmountOnExit:!0},h.createElement("div",{className:"table-sidebar"},h.createElement($w,null,h.createElement(dm,{title:"Table Options",onClose:this.handleMenuClose},h.createElement(zf,{onSelect:Gt=>this.handleMenuSelect(qc[Gt]),items:qc})),Kb.map((Gt,mt)=>h.createElement(dm,{title:$r[mt].title,onBack:this.handleMenuBack,onClose:this.handleMenuClose,key:$r[mt].type},Gt))))),h.createElement(le,{actions:this.contextActions}))}}he(kn,"minDebounce",150);he(kn,"maxDebounce",500);he(kn,"loadingSpinnerDelay",800);he(kn,"defaultProps",{children:null,advancedFilters:Zn,advancedSettings:Zn,alwaysFetchColumns:xe,conditionalFormats:xe,customColumnFormatMap:Zn,isFilterBarShown:!1,applyInputFiltersOnInit:!1,movedColumns:xe,movedRows:xe,inputFilters:xe,customFilters:xe,onCreateChart:void 0,onColumnSelected:()=>{},onDataSelected:()=>{},onError:()=>{},onStateChange:()=>{},onPartitionAppend:()=>{},onAdvancedSettingsChange:()=>{},partition:null,partitionColumn:null,quickFilters:Zn,selectDistinctColumns:xe,sorts:xe,reverseType:H.REVERSE_TYPE.NONE,customColumns:xe,aggregationSettings:WC,rollupConfig:void 0,userColumnWidths:Zn,userRowHeights:Zn,onSelectionChanged:()=>{},isSelectingColumn:!1,isSelectingPartition:!1,isStuckToBottom:!1,isStuckToRight:!1,columnSelectionValidator:null,columnAllowedCursor:null,columnNotAllowedCursor:null,name:"table",onlyFetchVisibleColumns:!0,showSearchBar:!1,searchValue:"",selectedSearchColumns:null,invertSearchColumns:!0,onContextMenu:()=>{},pendingDataMap:Zn,getDownloadWorker:void 0,settings:{timeZone:"America/New_York",defaultDateTimeFormat:Ea.FULL_DATE_FORMAT,showTimeZone:!1,showTSeparator:!0,truncateNumbersWithPound:!1,formatter:xe,decimalFormatOptions:q.shape({defaultFormatString:q.string}),integerFormatOptions:q.shape({defaultFormatString:q.string})},canCopy:!0,canDownloadCsv:!0,frozenColumns:null,theme:RC,canToggleSearch:!0});const jC=kn;function Ru(n,e,t){return e=uL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uL(n){var e=hL(n,"string");return typeof e=="symbol"?e:String(e)}function hL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class cL extends Error{constructor(e,t){super("".concat(t," can't be empty (on pending row ").concat(e+1,")")),Ru(this,"isMissingKey",!0),Ru(this,"rowIndex",void 0),Ru(this,"columnName",void 0),this.rowIndex=e,this.columnName=t}}const mL=cL;function Eg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ol(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Eg(Object(t),!0).forEach(function(r){_e(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Eg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function yg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Oi(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){yg(a,r,i,o,s,"next",l)}function s(l){yg(a,r,i,o,s,"throw",l)}o(void 0)})}}function _e(n,e,t){return e=vL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vL(n){var e=gL(n,"string");return typeof e=="symbol"?e:String(e)}function gL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var dt=ie.module("IrisGridTableModel"),fL=150,pL=0,CL=[];function Ca(n){return n.table!==void 0}class lo extends Se{seekRow(e,t,r,i,a,o,s){throw new Error("Method not implemented.")}export(){throw new Error("Method not implemented.")}columnStatistics(e){throw new Error("Method not implemented.")}get customColumns(){return[]}set customColumns(e){throw new Error("Method not implemented.")}get formatColumns(){return[]}set formatColumns(e){throw new Error("Method not implemented.")}updateFrozenColumns(e){throw new Error("Method not implemented.")}get rollupConfig(){throw new Error("Method not implemented.")}set rollupConfig(e){throw new Error("Method not implemented.")}get selectDistinctColumns(){throw new Error("Method not implemented.")}set selectDistinctColumns(e){throw new Error("Method not implemented.")}get columns(){return this.table.columns}constructor(e,t){var r,i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new wn(e),o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),_e(this,"dh",void 0),_e(this,"irisGridUtils",void 0),_e(this,"tableUtils",void 0),_e(this,"irisFormatter",void 0),_e(this,"inputTable",void 0),_e(this,"subscription",void 0),_e(this,"table",void 0),_e(this,"viewport",void 0),_e(this,"viewportData",void 0),_e(this,"formattedStringData",void 0),_e(this,"pendingStringData",void 0),_e(this,"isSaveInProgress",void 0),_e(this,"totalsTable",void 0),_e(this,"totalsTablePromise",void 0),_e(this,"totals",void 0),_e(this,"totalsDataMap",void 0),_e(this,"pendingNewDataMap",void 0),_e(this,"pendingNewRowCount",0),_e(this,"_columnHeaderGroupMap",new Map),_e(this,"columnHeaderParentMap",new Map),_e(this,"_columnHeaderMaxDepth",null),_e(this,"_columnHeaderGroups",[]),_e(this,"_movedColumns",null),_e(this,"getMemoizedInitialMovedColumns",fe(s=>{var l;if(!s)return[];var d=[],{groupMap:u}=ye.parseColumnHeaderGroups(this,(l=s?.columnGroups)!==null&&l!==void 0?l:[]),c=(y,T)=>{var O=this.getColumnIndexByName(y);if(O==null)throw new Error("Unknown layout hint column: ".concat(y));var D=V.getVisibleIndex(O,d);d=V.moveItem(D,T,d)},m=(y,T)=>{var O=u.get(y);if(O==null)throw new Error("Unknown layout hint group: ".concat(y));var D=O.getVisibleRange(d);d=V.moveRange(D,T,d)},{frontColumns:v=[],backColumns:g=[],frozenColumns:f=[]}=s;if(v.length||g.length||f.length){var p=new Set,C=0;f.forEach(y=>{if(p.has(y))throw new Error("Column specified in multiple layout hints: ".concat(y));c(y,C),C+=1}),v.forEach(y=>{if(p.has(y))throw new Error("Column specified in multiple layout hints: ".concat(y));c(y,C),C+=1});var b=this.columnMap.size-1;g.forEach(y=>{if(p.has(y))throw new Error("Column specified in multiple layout hints: ".concat(y));c(y,b),b-=1})}var S=s?.columnGroups;if(S){var E=[...u.values()];E.sort((y,T)=>y.depth-T.depth),E.forEach(y=>{var T=y.children[0],O=this.getColumnIndexByName(T),D;if(O!=null)D=V.getVisibleIndex(O,d);else{var P=u.get(T);if(!P)throw new Error("Unknown column ".concat(T," in group ").concat(y.name));var R=P.getVisibleRange(d);[,D]=R}for(var _=1;_<y.children.length;_+=1){var M=y.children[_],A=u.get(M),B=this.getColumnIndexByName(M);if(A){var $=A.getVisibleRange(d)[0]<D,z=$?D-A.childIndexes.length+1:D+1;m(M,z),D=z+A.childIndexes.length-1}else if(B!=null){var G=V.getVisibleIndex(B,d)<D,K=G?D:D+1;c(M,K),D=K}}})}return this._movedColumns=d,d})),_e(this,"getMemoizedInitialColumnHeaderGroups",fe(s=>{var l;return ye.parseColumnHeaderGroups(this,(l=s?.columnGroups)!==null&&l!==void 0?l:[]).groups})),_e(this,"getMemoizedColumnMap",fe(s=>{var l=new Map;return s.forEach(d=>l.set(d.name,d)),l})),_e(this,"getColumnIndicesByNameMap",fe(s=>{var l=new Map;return s.forEach((d,u)=>{var{name:c}=d;return l.set(c,u)}),l})),_e(this,"setViewport",zi((s,l,d)=>{if(l<s){dt.error("Invalid viewport",s,l);return}var{viewport:u}=this;if(u!=null&&u.top===s&&u.bottom===l&&u.columns===d){dt.debug2("Ignoring duplicate viewport",u);return}this.viewport={top:s,bottom:l,columns:d},dt.debug2("setViewport",this.viewport),this.applyViewport()},fL)),_e(this,"applyViewport",zi(()=>{if(this.viewport){dt.debug2("applyViewport",this.viewport);var{top:s,bottom:l,columns:d}=this.viewport,[u,c]=this.getCachedViewportRowRange(s,l);this.applyBufferedViewport(u,c,d)}},pL,{leading:!1})),_e(this,"getCachedFormattedString",En((s,l,d,u,c)=>s.getFormattedString(l,d,u,c),{max:1e4})),_e(this,"getCachedCustomColumnFormatFlag",En(oi.isCustomColumnFormatDefined,{max:1e4})),_e(this,"getCachedViewportRowRange",fe((s,l)=>{var d=l-s,u=Math.max(0,s-d*lo.ROW_BUFFER_PAGES),c=l+d*lo.ROW_BUFFER_PAGES;return[u,c]})),_e(this,"getCachedPendingErrors",fe((s,l,d)=>{var u=new Map;return s.forEach((c,m)=>{for(var{data:v}=c,g=0;g<d;g+=1)if(!v.has(g)){var f;u.has(m)||u.set(m,[]),(f=u.get(m))===null||f===void 0||f.push(new mL(m,l[g].name))}}),u})),this.handleTableDisconnect=this.handleTableDisconnect.bind(this),this.handleTableReconnect=this.handleTableReconnect.bind(this),this.handleTableUpdate=this.handleTableUpdate.bind(this),this.handleTotalsUpdate=this.handleTotalsUpdate.bind(this),this.handleRequestFailed=this.handleRequestFailed.bind(this),this.handleCustomColumnsChanged=this.handleCustomColumnsChanged.bind(this),this.dh=e,this.irisFormatter=a,this.irisGridUtils=new ye(e),this.inputTable=o,this.subscription=null,this.table=t,this.tableUtils=new H(e),this.viewport=null,this.viewportData=null,this.formattedStringData=[],this.pendingStringData=[],this.isSaveInProgress=!1,this.totalsTable=null,this.totalsTablePromise=null,this.totals=null,this.totalsDataMap=null,this.pendingNewDataMap=new Map,this.pendingNewRowCount=0,this.columnHeaderGroups=ye.parseColumnHeaderGroups(this,(r=(i=this.layoutHints)===null||i===void 0?void 0:i.columnGroups)!==null&&r!==void 0?r:[]).groups}close(){this.table.close(),this.totalsTable!==null&&this.totalsTable.close(),this.totalsTablePromise!==null&&this.totalsTablePromise.cancel()}startListening(){super.startListening();var{dh:e}=this;this.table.addEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.addEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.addEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.addEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.addEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable),this.applyViewport()}stopListening(){super.stopListening();var{dh:e}=this;this.table.removeEventListener(e.Table.EVENT_DISCONNECT,this.handleTableDisconnect),this.table.removeEventListener(e.Table.EVENT_RECONNECT,this.handleTableReconnect),this.table.removeEventListener(e.Table.EVENT_UPDATED,this.handleTableUpdate),this.table.removeEventListener(e.Client.EVENT_REQUEST_FAILED,this.handleRequestFailed),this.table.removeEventListener(e.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleCustomColumnsChanged),this.totalsTable!=null&&this.removeTotalsListeners(this.totalsTable),this.closeSubscription()}addTotalsListeners(e){var{dh:t}=this;e.addEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate),e.setViewport(0,0)}removeTotalsListeners(e){var{dh:t}=this;e.removeEventListener(t.Table.EVENT_UPDATED,this.handleTotalsUpdate)}handleTableDisconnect(){this.dispatchEvent(new Je(Se.EVENT.DISCONNECT))}handleTableReconnect(){this.dispatchEvent(new Je(Se.EVENT.RECONNECT))}handleTableUpdate(e){this.copyViewportData(e.detail),this.dispatchEvent(new Je(Se.EVENT.UPDATED))}handleTotalsUpdate(e){this.copyTotalsData(e.detail),this.dispatchEvent(new Je(Se.EVENT.UPDATED))}handleRequestFailed(e){this.dispatchEvent(new Je(Se.EVENT.REQUEST_FAILED,e))}handleCustomColumnsChanged(){this.dispatchEvent(new Je(Se.EVENT.COLUMNS_CHANGED,{detail:this.columns}))}get rowCount(){var e,t,r;return this.table.size+this.pendingNewRowCount+((e=(t=this.totals)===null||t===void 0||(r=t.operationOrder)===null||r===void 0?void 0:r.length)!==null&&e!==void 0?e:0)}get pendingDataErrors(){var e,t;return this.getCachedPendingErrors(this.pendingNewDataMap,this.columns,(e=(t=this.inputTable)===null||t===void 0?void 0:t.keyColumns.length)!==null&&e!==void 0?e:0)}get pendingDataMap(){return this.pendingNewDataMap}set pendingDataMap(e){e!==this.pendingNewDataMap&&(e.forEach((t,r)=>{if(!ye.isValidIndex(r))throw new Error("Invalid rowIndex ".concat(r));var{data:i}=t;i.forEach((a,o)=>{if(!ye.isValidIndex(o))throw new Error("Invalid columnIndex ".concat(o))})}),this.pendingNewDataMap=e,this.pendingNewRowCount=Math.max(this.pendingNewRowCount,this.maxPendingDataRow),this.formattedStringData=[],this.dispatchEvent(new Je(Se.EVENT.PENDING_DATA_UPDATED)))}get pendingRowCount(){return this.pendingNewRowCount}set pendingRowCount(e){e!==this.pendingNewRowCount&&(this.pendingNewRowCount=Math.max(0,e,this.maxPendingDataRow),this.dispatchEvent(new Je(Se.EVENT.UPDATED)))}get maxPendingDataRow(){return this.pendingNewDataMap.size>0?Math.max(...this.pendingNewDataMap.keys())+1:0}get columnCount(){return this.columns.length}get floatingBottomRowCount(){var e,t,r;return this.totals!=null&&this.totals.showOnTop?0:(e=(t=this.totals)===null||t===void 0||(r=t.operationOrder)===null||r===void 0?void 0:r.length)!==null&&e!==void 0?e:0}get floatingTopRowCount(){var e,t,r;return this.totals!=null&&this.totals.showOnTop&&(e=(t=this.totals)===null||t===void 0||(r=t.operationOrder)===null||r===void 0?void 0:r.length)!==null&&e!==void 0?e:0}get isChartBuilderAvailable(){return!0}get isTotalsAvailable(){return this.table.getTotalsTable!=null}get isEditable(){return!this.isSaveInProgress&&this.inputTable!=null}cacheFormattedValue(e,t,r){this.formattedStringData[e]==null&&(this.formattedStringData[e]=[]),this.formattedStringData[e][t]=r}cachePendingValue(e,t,r){this.pendingStringData[e]==null&&(this.pendingStringData[e]=[]),this.pendingStringData[e][t]=r}clearPendingValue(e,t){var r=this.pendingStringData[e];r!=null&&delete r[t]}textValueForCell(e,t){var r,i;if(((r=this.pendingStringData[e])===null||r===void 0?void 0:r[t])!==void 0)return this.pendingStringData[e][t];if(((i=this.formattedStringData[e])===null||i===void 0?void 0:i[t])===void 0){var a,o=this.valueForCell(e,t);if(o===null)return null;if(o===void 0)return;var s=(a=this.totalsColumn(e,t))!==null&&a!==void 0?a:this.columns[e],l=this.getCachedCustomColumnFormatFlag(this.formatter,s.name,s.type),d;if(!l){var u=this.formatForCell(e,t);u?.formatString!=null&&(d=u)}var c=this.displayString(o,s.type,s.name,d);this.cacheFormattedValue(e,t,c)}return this.formattedStringData[e][t]}textForCell(e,t){var r,i=this.textValueForCell(e,t);if(i==null&&this.isKeyColumn(e)){var a=this.pendingRow(t);if(a!=null&&this.pendingDataMap.has(a))return"*"}if(H.isTextType((r=this.columns[e])===null||r===void 0?void 0:r.type)){if(i===null)return"null";if(i==="")return"empty"}return i??""}truncationCharForCell(e){var t=this.columns[e],{type:r}=t;if(H.isNumberType(r)&&this.formatter.truncateNumbersWithPound)return"#"}colorForCell(e,t,r){var i=this.dataForCell(e,t);if(i){var{format:a,value:o}=i;if(o==null||o==="")return L(r.nullStringColor),r.nullStringColor;if(a&&a.color)return a.color;if(this.isPendingRow(t))return L(r.pendingTextColor),r.pendingTextColor;if(o!=null){var s,l=(s=this.totalsColumn(e,t))!==null&&s!==void 0?s:this.columns[e];if(H.isDateType(l.type)||l.name==="Date")return L(r.dateColor),r.dateColor;if(H.isNumberType(l.type))return o>0?(L(r.positiveNumberColor),r.positiveNumberColor):o<0?(L(r.negativeNumberColor),r.negativeNumberColor):(L(r.zeroNumberColor),r.zeroNumberColor)}}else if(this.isPendingRow(t)&&this.isKeyColumn(e))return L(r.errorTextColor),r.errorTextColor;return r.textColor}backgroundColorForCell(e,t){var r,i;return(r=(i=this.formatForCell(e,t))===null||i===void 0?void 0:i.backgroundColor)!==null&&r!==void 0?r:null}textAlignForCell(e){var t=this.columns[e],{type:r}=t;return H.isNumberType(r)?"right":H.isDateType(r)||t.name==="Date"?"center":"left"}textForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=this.columnAtDepth(e,t);return Su(r)?r.isNew?"":r.name:r?.name}colorForColumnHeader(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=this.columnAtDepth(e,t);if(Su(r)){var i;return(i=r.color)!==null&&i!==void 0?i:null}return null}getColumnHeaderGroup(e,t){var r=this.columnAtDepth(e,t);if(Su(r))return r}getColumnHeaderParentGroup(e,t){var r,i;return this.columnHeaderParentMap.get((r=(i=this.columnAtDepth(e,t))===null||i===void 0?void 0:i.name)!==null&&r!==void 0?r:"")}columnAtDepth(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(r===0)return this.columns[e];var i=(t=this.columns[e])===null||t===void 0?void 0:t.name,a=this.columnHeaderParentMap.get(i);if(a){for(var o=a.depth;o<r;){if(a=this.columnHeaderParentMap.get(a.name),!a)return;o=a.depth}if(a.depth===r)return a}}textForRowFooter(e){var t=this.totalsRow(e);return t!=null&&this.totals?this.totals.operationOrder[t]:""}get initialMovedColumns(){var e;return this.getMemoizedInitialMovedColumns((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get initialMovedRows(){return CL}get initialColumnHeaderGroups(){var e;return this.getMemoizedInitialColumnHeaderGroups((e=this.layoutHints)!==null&&e!==void 0?e:void 0)}get columnMap(){return this.getMemoizedColumnMap(this.table.columns)}get columnHeaderMaxDepth(){var e;return(e=this._columnHeaderMaxDepth)!==null&&e!==void 0?e:1}set columnHeaderMaxDepth(e){this._columnHeaderMaxDepth=e}get columnHeaderGroupMap(){return this._columnHeaderGroupMap}get columnHeaderGroups(){return this._columnHeaderGroups}set columnHeaderGroups(e){if(e!==this._columnHeaderGroups){var{groups:t,maxDepth:r,parentMap:i,groupMap:a}=ye.parseColumnHeaderGroups(this,e??this.initialColumnHeaderGroups);this._columnHeaderGroups=t,this.columnHeaderMaxDepth=r,this.columnHeaderParentMap=i,this._columnHeaderGroupMap=a}}get groupedColumns(){return[]}row(e){var t,r,i,a,o,s,l,d,u,c,m=(t=(r=this.totals)===null||r===void 0||(i=r.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,v=(a=(o=this.totals)===null||o===void 0?void 0:o.showOnTop)!==null&&a!==void 0?a:!1,g=this.totalsRow(e);if(g!=null){var f,p,C,b=(f=this.totals)===null||f===void 0?void 0:f.operationOrder[g];return L(b),(p=(C=this.totalsDataMap)===null||C===void 0?void 0:C.get(b))!==null&&p!==void 0?p:null}var S=this.pendingRow(e);if(S!=null){var E;return(E=this.pendingNewDataMap.get(S))!==null&&E!==void 0?E:null}var y=(s=(l=this.viewportData)===null||l===void 0?void 0:l.offset)!==null&&s!==void 0?s:0,T=(v?e-m:e)-y;return(d=(u=this.viewportData)===null||u===void 0||(c=u.rows)===null||c===void 0?void 0:c[T])!==null&&d!==void 0?d:null}totalsColumn(e,t){var r,i,a,o,s=this.totalsRow(t);if(s==null)return null;var l=(r=this.totals)===null||r===void 0?void 0:r.operationOrder[s],d=(i=(a=this.totals)===null||a===void 0?void 0:a.defaultOperation)!==null&&i!==void 0?i:Be.SUM,u=this.columns[e];return(o=this.totalsTable)===null||o===void 0?void 0:o.columns.find(c=>{var m;return c.name==="".concat(u.name,"__").concat(l)||(l===d||((m=this.totals)===null||m===void 0?void 0:m.operationOrder.length)===1)&&c.name===u.name})}totalsRow(e){var t,r,i,a,o,s=(t=(r=this.totals)===null||r===void 0||(i=r.operationOrder)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0,l=(a=(o=this.totals)===null||o===void 0?void 0:o.showOnTop)!==null&&a!==void 0?a:!1,d=l?e:e-this.table.size;return d>=0&&d<s?d:null}pendingRow(e){var t=e-this.floatingTopRowCount-this.table.size;return t>=0&&t<this.pendingNewRowCount?t:null}isTotalsRow(e){return this.totalsRow(e)!=null}isPendingRow(e){return this.pendingRow(e)!=null}dataForCell(e,t){var r;return(r=this.row(t))===null||r===void 0?void 0:r.data.get(e)}formatForCell(e,t){var r;return(r=this.dataForCell(e,t))===null||r===void 0?void 0:r.format}valueForCell(e,t){var r=this.dataForCell(e,t);if(r){var i;return(i=r.value)!==null&&i!==void 0?i:null}}copyViewportData(e){if(e==null){dt.warn("invalid data!");return}this.viewportData=this.extractViewportData(e),this.formattedStringData=[]}copyTotalsData(e){var t,r,i,a=this;if(e==null){dt.warn("invalid data!");return}var{columns:o,rows:s}=e;if(s.length!==1){dt.error("Unexpected number of rows received for totals table, ignoring update");return}for(var l=new Map,d=s[0],u=(t=(r=this.totals)===null||r===void 0?void 0:r.defaultOperation)!==null&&t!==void 0?t:Be.SUM,c=(i=this.totals)===null||i===void 0?void 0:i.operationMap,m=function(){var f,p,C=o[v],[b,S=(f=c==null||(p=c[b])===null||p===void 0?void 0:p[0])!==null&&f!==void 0?f:u]=C.name.split("__");l.has(S)||l.set(S,{data:new Map});var{data:E}=l.get(S),y=a.columns.findIndex(T=>T.name===b);E.set(y,{value:d.get(C),format:d.getFormat(C)})},v=0;v<o.length;v+=1)m();dt.debug2("copyTotalsData",l),this.totalsDataMap=l,this.formattedStringData=[]}getColumnIndexByName(e){return this.getColumnIndicesByNameMap(this.columns).get(e)}extractViewportData(e){for(var t={offset:e.offset,rows:[]},{columns:r}=e,i=0;i<e.rows.length;i+=1){var a=e.rows[i],o=this.extractViewportRow(a,r);t.rows.push(o)}return t}extractViewportRow(e,t){for(var r=new Map,i=0;i<t.length;i+=1){var a=t[i],o=this.getColumnIndexByName(a.name);L(o),r.set(o,{value:e.get(a),format:e.getFormat(a)})}return{data:r}}closeSubscription(){dt.debug2("closeSubscription",this.subscription),this.subscription&&(this.subscription.close(),this.subscription=null),this.setViewport.cancel(),this.applyViewport.cancel()}get filter(){return this.table.filter}set filter(e){this.closeSubscription(),this.table.applyFilter(e),this.applyViewport()}get formatter(){return this.irisFormatter}set formatter(e){this.irisFormatter=e,this.formattedStringData=[],this.dispatchEvent(new Je(Se.EVENT.FORMATTER_UPDATED))}displayString(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",i=arguments.length>3?arguments[3]:void 0;return this.getCachedFormattedString(this.formatter,e,t,r,i)}get sort(){return this.table.sort}set sort(e){this.closeSubscription(),this.table.applySort(e),this.applyViewport()}set totalsConfig(e){if(dt.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Je(Se.EVENT.UPDATED));return}this.totalsTablePromise=Te.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Te.isCanceled(t)||(dt.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Je(Se.EVENT.REQUEST_FAILED,{detail:t})))})}}setTotalsTable(e){dt.debug("setTotalsTable",e),this.totalsTable!==null&&(this.listenerCount>0&&this.removeTotalsListeners(this.totalsTable),this.totalsTable.close()),this.totalsTable=e,this.totalsDataMap=null,this.listenerCount>0&&this.totalsTable!=null&&this.addTotalsListeners(this.totalsTable)}applyBufferedViewport(e,t,r){dt.debug2("applyBufferedViewport",e,t,r),this.subscription==null?(dt.debug2("applyBufferedViewport creating new subscription"),this.subscription=this.table.setViewport(e,t,r)):(dt.debug2("applyBufferedViewport using existing subscription"),this.subscription.setViewport(e,t,r))}snapshot(e){var t=arguments,r=this;return Oi(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:P=>P,o=t.length>3&&t[3]!==void 0?t[3]:!0;if(r.subscription==null)throw new Error("No subscription available");var s=o?ne.consolidate(e):e;if(!ye.isValidSnapshotRanges(s))throw new Error("Invalid snapshot ranges ".concat(e));for(var l=new Set,d=[],u=new Set,c=0;c<s.length;c+=1){var m=s[c];L(m.endRow),L(m.startRow);for(var v=m.startRow;v<=m.endRow&&v<r.floatingTopRowCount;v+=1)l.add(v);m.endRow>=r.floatingTopRowCount&&m.startRow<=r.floatingTopRowCount+r.table.size&&d.push(new ne(m.startColumn,Math.min(Math.max(0,m.startRow-r.floatingTopRowCount)),m.endColumn,Math.min(Math.max(0,m.endRow-r.floatingTopRowCount),r.table.size-r.floatingTopRowCount)));for(var g=Math.max(m.startRow,r.floatingTopRowCount+r.table.size);g<=m.endRow&&g<r.floatingTopRowCount+r.table.size+r.floatingBottomRowCount;g+=1)u.add(g)}var f=ye.columnsFromRanges(s,r.columns),p=[];i&&p.push(f.map(P=>P.name));for(var C=[...l].sort(),b=function*(){var R=C[S],_=f.map(M=>{var A=r.getColumnIndexByName(M.name);return L(A),a(r.valueForCell(A,R),M)});i&&_.push(r.textForRowFooter(R)),p.push(_)},S=0;S<C.length;S+=1)yield*b();if(d.length>0){var E=r.irisGridUtils.rangeSetFromRanges(d),y=yield r.subscription.snapshot(E,f);p.push(...y.rows.map(P=>f.map(R=>a(P.get(R),R))))}for(var T=[...u].sort(),O=function*(){var R=T[D],_=f.map(M=>{var A=r.getColumnIndexByName(M.name);return L(A),a(r.valueForCell(A,R),M)});i&&_.push(r.textForRowFooter(R)),p.push(_)},D=0;D<T.length;D+=1)yield*O();return p})()}textSnapshot(e){var t=arguments,r=this;return Oi(function*(){var i=t.length>1&&t[1]!==void 0?t[1]:!1,a=t.length>2&&t[2]!==void 0?t[2]:s=>"".concat(s);dt.debug2("textSnapshot",e,i);var o=yield r.snapshot(e,i,a,!1);return o.map(s=>s.join(" ")).join(`
33
33
  `)})()}valuesTable(e){var t=this;return Oi(function*(){var r=null;try{return r=yield t.table.copy(),r.applyFilter([]),r.applySort([]),r.selectDistinct([e])}finally{r?.close()}})()}isColumnMovable(e,t){if(e<0||e>=this.columnCount)return!1;if(t>0)return!0;var r=this.columns[e].name;return this.frontColumns.includes(r)||this.backColumns.includes(r)||this.frozenColumns.includes(r)||!r?!1:!this.isKeyColumn(e)}isColumnSortable(e){var t;return(t=this.columns[e].isSortable)!==null&&t!==void 0?t:!0}isKeyColumn(e){var t,r;return e<((t=(r=this.inputTable)===null||r===void 0?void 0:r.keyColumns.length)!==null&&t!==void 0?t:0)}isRowMovable(){return!1}isEditableRange(e){if(this.inputTable==null||!ne.isBounded(e))return!1;var t=this.isPendingRow(e.startRow)&&this.isPendingRow(e.endRow);return!(!(t||this.inputTable.keyColumns.length!==0&&e.startColumn>=this.inputTable.keyColumns.length&&e.endColumn>=this.inputTable.keyColumns.length)||e.startRow<this.floatingTopRowCount||e.startRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount||e.endRow>=this.floatingTopRowCount+this.table.size+this.pendingRowCount)}isDeletableRange(e){return this.inputTable!=null&&e.startRow!=null&&e.endRow!=null&&e.startRow>=this.floatingTopRowCount&&e.startRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount&&e.endRow<this.floatingTopRowCount+this.table.size+this.pendingRowCount}isEditableRanges(e){return e.every(t=>this.isEditableRange(t))}isDeletableRanges(e){return e.every(t=>this.isDeletableRange(t))}getTableAreaRange(){return new ne(null,this.floatingTopRowCount,null,this.floatingTopRowCount+this.table.size-1)}getPendingAreaRange(){return new ne(null,this.floatingTopRowCount+this.table.size,null,this.floatingTopRowCount+this.table.size+this.pendingNewRowCount-1)}setValueForCell(e,t,r){var i=this;return Oi(function*(){return i.setValueForRanges([new ne(e,t,e,t)],r)})()}setValueForRanges(e,t){var r=this;return Oi(function*(){if(!r.isEditableRanges(e))throw new Error("Uneditable ranges ".concat(e));try{var i=new Set,a=[];ne.forEachCell(e,(f,p)=>{var C=r.columns[f];if(i.add(C),a[f]===void 0){var b=r.tableUtils.makeValue(C.type,t,r.formatter.timeZone);a[f]=b!=null?r.displayString(b,C.type,C.name):null}r.cachePendingValue(f,p,a[f])});var o=r.getPendingAreaRange(),s=e.map(f=>ne.intersection(o,f)).filter(f=>f!=null).map(f=>(L(f),ne.offset(f,0,-(r.floatingTopRowCount+r.table.size))));if(s.length>0){var l=new Map(r.pendingNewDataMap);ne.forEachCell(s,(f,p)=>{l.has(p)||l.set(p,{data:new Map});var C=r.columns[f],b=l.get(p);L(b);var{data:S}=b,E=new Map(S),y=r.tableUtils.makeValue(C.type,t,r.formatter.timeZone);y!=null?E.set(f,{value:y}):E.delete(f),E.size>0?l.set(p,ol(ol({},b),{},{data:E})):l.delete(p)}),r.pendingDataMap=l}r.dispatchEvent(new Je(Se.EVENT.UPDATED));var d=r.getTableAreaRange(),u=e.map(f=>ne.intersection(d,f)).filter(f=>f!=null);if(u.length>0){var c,m=yield r.snapshot(u.map(f=>{var p,C;return new ne(null,(p=f?.startRow)!==null&&p!==void 0?p:null,null,(C=f?.endRow)!==null&&C!==void 0?C:null)})),v=m.map(f=>{for(var p={},C=0;C<r.columns.length;C+=1)p[r.columns[C].name]=f[C];return i.forEach(b=>{p[b.name]=r.tableUtils.makeValue(b.type,t,r.formatter.timeZone)}),p}),g=yield(c=r.inputTable)===null||c===void 0?void 0:c.addRows(v);dt.debug("setValueForRanges(",e,",",t,") set tableRanges",u,"result",g)}ne.forEachCell(e,(f,p)=>{var C=a[f];L(C),r.cacheFormattedValue(f,p,C)})}catch(f){dt.error("Unable to set ranges",e,t,f)}finally{ne.forEachCell(e,(f,p)=>{r.clearPendingValue(f,p)})}})()}setValues(){var e=arguments,t=this;return Oi(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:[];if(dt.debug("setValues(",r,")"),!r.every(v=>{var g,f;return t.isEditableRange(ne.makeCell((g=v.column)!==null&&g!==void 0?g:v.x,(f=v.row)!==null&&f!==void 0?f:v.y))}))throw new Error("Uneditable ranges ".concat(r));try{var i=new Map(t.pendingNewDataMap);r.forEach(v=>{var g,f,{text:p}=v,C=(g=v.column)!==null&&g!==void 0?g:v.x,b=(f=v.row)!==null&&f!==void 0?f:v.y,S=t.columns[C],E=t.tableUtils.makeValue(S.type,p,t.formatter.timeZone),y=E!=null?t.displayString(E,S.type,S.name):null;t.cachePendingValue(C,b,y);var T=t.pendingRow(b);if(T!=null){i.has(T)||i.set(T,{data:new Map});var O=i.get(T);L(O);var{data:D}=O,P=new Map(D);E!=null?P.set(C,{value:E}):P.delete(C),P.size>0?i.set(T,ol(ol({},O),{},{data:P})):i.delete(T)}}),t.pendingDataMap=i,t.dispatchEvent(new Je(Se.EVENT.UPDATED));var a=r.reduce((v,g)=>{var f,p,C=(f=g.row)!==null&&f!==void 0?f:g.y;return v.has(C)||v.set(C,[]),(p=v.get(C))===null||p===void 0||p.push(g),v},new Map),o=ne.consolidate(r.map(v=>{var g,f;return ne.makeCell((g=v.column)!==null&&g!==void 0?g:v.x,(f=v.row)!==null&&f!==void 0?f:v.y)})),s=t.getTableAreaRange(),l=o.map(v=>ne.intersection(s,v)).filter(v=>v!=null);if(l.length>0){var d,u=yield t.snapshot(l.map(v=>(L(v),new ne(null,v.startRow,null,v.endRow)))),c=u.map((v,g)=>{for(var f=null,p=g,C=0;C<l.length;C+=1){var b=l[C];L(b);var S=ne.rowCount([b]);if(p<S){L(b.startRow),f=b.startRow+p;break}p-=S}for(var E={},y=0;y<t.columns.length;y+=1)E[t.columns[y].name]=v[y];L(f);var T=a.get(f);return T?.forEach(O=>{var D,P=t.columns[(D=O.column)!==null&&D!==void 0?D:O.x];E[P.name]=t.tableUtils.makeValue(P.type,O.text,t.formatter.timeZone)}),E});dt.info("setValues setting tableRanges",l);var m=yield(d=t.inputTable)===null||d===void 0?void 0:d.addRows(c);dt.info("setValues set tableRanges",l,"SUCCESS",m)}r.forEach(v=>{var g,f,{text:p}=v,C=(g=v.column)!==null&&g!==void 0?g:v.x,b=(f=v.row)!==null&&f!==void 0?f:v.y,S=t.columns[C],E=t.tableUtils.makeValue(S.type,p,t.formatter.timeZone),y=E!=null?t.displayString(E,S.type,S.name):null;t.cacheFormattedValue(C,b,y)})}finally{r.forEach(v=>{t.clearPendingValue(v.column,v.row)})}})()}commitPending(){var e=this;return Oi(function*(){if(e.pendingNewDataMap.size<=0)throw new Error("No pending changes to commit");try{var t,r,i;e.isSaveInProgress=!0;var a=[];e.pendingNewDataMap.forEach(s=>{var l={};s.data.forEach((d,u)=>{var{value:c}=d,m=e.columns[u];l[m.name]=c}),a.push(l)});var o=yield(t=e.inputTable)===null||t===void 0?void 0:t.addRows(a);dt.debug("commitPending()",e.pendingNewDataMap,"result",o),e.pendingNewDataMap=new Map,e.pendingNewRowCount=Math.max(0,((r=(i=e.viewport)===null||i===void 0?void 0:i.bottom)!==null&&r!==void 0?r:0)-e.table.size),e.formattedStringData=[],e.dispatchEvent(new Je(Se.EVENT.PENDING_DATA_UPDATED))}finally{e.isSaveInProgress=!1}})()}editValueForCell(e,t){return this.textValueForCell(e,t)}delete(e){var t=this;return Oi(function*(){if(!t.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));L(t.inputTable);var{keyColumns:r}=t.inputTable;if(r.length===0)throw new Error("No key columns to allow deletion");var i=t.getPendingAreaRange(),a=e.map(p=>ne.intersection(i,p)).filter(p=>p!=null).map(p=>(L(p),ne.offset(p,0,-(t.floatingTopRowCount+t.table.size))));if(a.length>0){for(var o=new Map(t.pendingNewDataMap),s=0;s<a.length;s+=1){var l=a[s];L(l.startRow),L(l.endRow);for(var d=l.startRow;d<=l.endRow;d+=1)o.delete(d)}t.pendingNewDataMap=o,t.formattedStringData=[],t.dispatchEvent(new Je(Se.EVENT.PENDING_DATA_UPDATED)),t.dispatchEvent(new Je(Se.EVENT.UPDATED))}var u=t.getTableAreaRange(),c=e.map(p=>ne.intersection(u,p)).filter(p=>p!=null);if(!(c.length<=0)){var[m,v]=yield Promise.all([t.snapshot(c.map(p=>(L(p),new ne(0,p.startRow,r.length-1,p.endRow)))),t.table.copy()]),g=m.map(p=>{for(var C=[],b=0;b<r.length;b+=1){var S=r[b],E=p[b],y=t.tableUtils.makeFilterRawValue(S.type,E),T=S.filter().eq(y);C.push(T)}return C.reduce((O,D)=>{var P;return(P=O?.and(D))!==null&&P!==void 0?P:D})}),f=g.reduce((p,C)=>{var b;return(b=p?.or(C))!==null&&b!==void 0?b:C});v.applyFilter([f]),v.close()}})()}isValidForCell(e,t,r){try{var i=this.columns[e];return this.tableUtils.makeValue(i.type,r,this.formatter.timeZone),!0}catch{return!1}}}_e(lo,"ROW_BUFFER_PAGES",1);function Tg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Nu(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Tg(a,r,i,o,s,"next",l)}function s(l){Tg(a,r,i,o,s,"throw",l)}o(void 0)})}}function na(n,e,t){return e=bL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bL(n){var e=SL(n,"string");return typeof e=="symbol"?e:String(e)}function SL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Di=ie.module("IrisGridTableModel");class wL extends lo{constructor(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new wn(e),i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e,t,r,i),na(this,"userFrozenColumns",void 0),na(this,"customColumnList",void 0),na(this,"formatColumnList",void 0),na(this,"getMemoizedFrontColumns",fe(a=>a??[])),na(this,"getMemoizedBackColumns",fe(a=>a??[])),na(this,"getMemoizedFrozenColumns",fe((a,o)=>{var s;return(s=o??a)!==null&&s!==void 0?s:[]})),na(this,"getCachedFilterableColumnSet",fe(a=>new Set(a.map((o,s)=>s)))),this.customColumnList=[],this.formatColumnList=[]}get isExportAvailable(){return this.table.freeze!=null}get isColumnStatisticsAvailable(){return this.table.getColumnStatistics!=null}get isValuesTableAvailable(){return this.table.selectDistinct!=null&&this.table.copy!=null}get isRollupAvailable(){return this.table.rollup!=null}get isSelectDistinctAvailable(){return this.table.selectDistinct!=null}get isCustomColumnsAvailable(){return this.table.applyCustomColumns!=null}get isFormatColumnsAvailable(){return this.table.applyCustomColumns!=null}get frontColumns(){var e;return this.getMemoizedFrontColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frontColumns)}get backColumns(){var e;return this.getMemoizedBackColumns((e=this.layoutHints)===null||e===void 0?void 0:e.backColumns)}get frozenColumns(){var e;return this.getMemoizedFrozenColumns((e=this.layoutHints)===null||e===void 0?void 0:e.frozenColumns,this.userFrozenColumns)}get layoutHints(){return this.table.layoutHints}get floatingLeftColumnCount(){return this.frozenColumns.length}get description(){return this.table.description}get customColumns(){return this.customColumnList}set customColumns(e){if(Di.debug2("set customColumns",e,this.customColumnList,e===this.customColumnList),this.customColumnList.length===0&&e.length===0){Di.debug("Ignore empty initial customColumns"),this.customColumnList=e;return}if(this.customColumnList===e){Di.debug("Ignore same customColumns");return}this.closeSubscription(),this.customColumnList=e,this.table.applyCustomColumns([...e,...this.formatColumns]),this.applyViewport()}get formatColumns(){return this.formatColumnList}set formatColumns(e){if(Di.debug2("set formatColumns",e,this.formatColumnList,e===this.formatColumnList),this.formatColumnList.length===0&&e.length===0){Di.debug("Ignore empty initial formatColumns"),this.formatColumnList=e;return}if(this.formatColumnList===e){Di.debug("Ignore same formatColumns");return}this.closeSubscription(),this.formatColumnList=e,this.table.applyCustomColumns([...this.customColumns,...e]),this.applyViewport()}updateFrozenColumns(e){this.userFrozenColumns=e,this.dispatchEvent(new Je(Se.EVENT.TABLE_CHANGED,{detail:this.table}))}set totalsConfig(e){if(Di.debug("set totalsConfig",e),e!==this.totals){if(this.totals=e,this.formattedStringData=[],this.totalsTablePromise!=null&&this.totalsTablePromise.cancel(),this.setTotalsTable(null),e==null){this.dispatchEvent(new Je(Se.EVENT.UPDATED));return}this.totalsTablePromise=Te.makeCancelable(this.table.getTotalsTable(e),t=>t.close()),this.totalsTablePromise.then(t=>{this.totalsTablePromise=null,this.setTotalsTable(t)}).catch(t=>{Te.isCanceled(t)||(Di.error("Unable to set next totalsTable",t),this.totalsTablePromise=null,this.dispatchEvent(new Je(Se.EVENT.REQUEST_FAILED,{detail:t})))})}}get isFilterRequired(){return this.table.isUncoalesced}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns).has(e)}export(){var e=this;return Nu(function*(){return e.table.freeze()})()}columnStatistics(e){return this.table.getColumnStatistics(e)}isColumnMovable(e){var t=this.columns[e].name;return this.frontColumns.includes(t)||this.backColumns.includes(t)||this.frozenColumns.includes(t)?!1:!this.isKeyColumn(e)}isColumnFrozen(e){return this.frozenColumns.includes(this.columns[e].name)}delete(e){var t=()=>super.pendingDataMap,r=a=>super.pendingDataMap=a,i=this;return Nu(function*(){var a;if(!i.isDeletableRanges(e))throw new Error("Undeletable ranges ".concat(e));L(i.inputTable);var{keyColumns:o}=i.inputTable;if(o.length===0)throw new Error("No key columns to allow deletion");var s=i.getPendingAreaRange(),l=e.map(S=>ne.intersection(s,S)).filter(S=>S!=null).map(S=>(L(S),ne.offset(S,0,-(i.floatingTopRowCount+i.table.size))));if(l.length>0){for(var d=new Map(t()),u=0;u<l.length;u+=1){var c=l[u];L(c.startRow),L(c.endRow);for(var m=c.startRow;m<=c.endRow;m+=1)d.delete(m)}r(d),i.formattedStringData=[],i.dispatchEvent(new Je(Se.EVENT.PENDING_DATA_UPDATED)),i.dispatchEvent(new Je(Se.EVENT.UPDATED))}var v=i.getTableAreaRange(),g=e.map(S=>ne.intersection(v,S)).filter(S=>S!=null);if(!(g.length<=0)){var[f,p]=yield Promise.all([i.snapshot(g.map(S=>(L(S),new ne(0,S.startRow,o.length-1,S.endRow)))),i.table.copy()]),C=f.map(S=>{for(var E=[],y=0;y<o.length;y+=1){var T=o[y],O=S[y],D=i.tableUtils.makeFilterRawValue(T.type,O),P=T.filter().eq(D);E.push(P)}return E.reduce((R,_)=>{var M;return(M=R?.and(_))!==null&&M!==void 0?M:_})}),b=C.reduce((S,E)=>{var y;return(y=S?.or(E))!==null&&y!==void 0?y:E});p.applyFilter([b]),yield(a=i.inputTable)===null||a===void 0?void 0:a.deleteTable(p),p.close()}})()}seekRow(e,t,r,i,a,o,s){var l=this;return Nu(function*(){return l.table.seekRow(e,t,r,i,a,o,s)})()}get isSeekRowAvailable(){return this.table.seekRow!=null}}const zC=wL;function Pg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function EL(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Pg(a,r,i,o,s,"next",l)}function s(l){Pg(a,r,i,o,s,"throw",l)}o(void 0)})}}function Og(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Dg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Og(Object(t),!0).forEach(function(r){KC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Og(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function KC(n,e,t){return e=yL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function yL(n){var e=TL(n,"string");return typeof e=="symbol"?e:String(e)}function TL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class PL extends lo{constructor(){super(...arguments),KC(this,"getCachedFilterableColumnSet",fe((e,t)=>new Set((t?.length>0?t:e).map(r=>e.findIndex(i=>r.name===i.name)))))}applyBufferedViewport(e,t,r){this.table.setViewport(e,t,r)}textForCell(e,t){var r=this.columns[e],i=this.row(t);if(i!=null&&r!=null&&!i.hasChildren&&r.constituentType!=null){var a=this.valueForCell(e,t);return this.displayString(a,r.constituentType,r.name)}return super.textForCell(e,t)}extractViewportRow(e,t){var{isExpanded:r,hasChildren:i,depth:a}=e;return Dg(Dg({},super.extractViewportRow(e,t)),{},{isExpanded:r,hasChildren:i,depth:a})}snapshot(e,t,r){var i=this;return EL(function*(){var a;L(i.viewport),L(i.viewportData);var{columns:o}=i.viewport,s=[];t!=null&&t&&s.push(o.map(p=>p.name));for(var l=new ne(0,(a=i.viewportData)===null||a===void 0?void 0:a.offset,o.length,i.viewportData.offset+i.viewportData.rows.length),d=0;d<e.length;d+=1){var u=ne.intersection(l,e[d]);L(u),L(u.startRow),L(u.endRow);for(var c=u.startRow;c<=u.endRow;c+=1){var m=[],v=i.viewportData.rows[c-i.viewportData.offset];L(u.startColumn),L(u.endColumn);for(var g=u.startColumn;g<=u.endColumn;g+=1){var f;L(r),m.push(r((f=v.data.get(g))===null||f===void 0?void 0:f.value,i.columns[g]))}s.push(m)}}return s})()}get groupedColumns(){return this.table.groupedColumns}get hasExpandableRows(){return!0}get isExpandAllAvailable(){return this.table.expandAll!==void 0}get isChartBuilderAvailable(){return!1}get isSelectDistinctAvailable(){return!1}get isReversible(){return!1}isFilterable(e){return this.getCachedFilterableColumnSet(this.columns,this.groupedColumns).has(e)}isColumnMovable(e){return e>=this.groupedColumns.length}isRowExpandable(e){var t,r=this.row(e);return(t=r?.hasChildren)!==null&&t!==void 0?t:!1}isRowExpanded(e){var t,r=this.row(e);return(t=r?.isExpanded)!==null&&t!==void 0?t:!1}setRowExpanded(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.isExpandAllAvailable?this.table.setExpanded(e,t,r):this.table.setExpanded(e,t)}expandAll(){this.table.expandAll&&this.table.expandAll()}collapseAll(){this.table.collapseAll&&this.table.collapseAll()}depthForRow(e){var t,r=this.row(e);return((t=r?.depth)!==null&&t!==void 0?t:1)-1}updateFrozenColumns(e){if(e.length>0)throw new Error("Cannot freeze columns on a tree table")}}const OL=PL;function Rg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function DL(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Rg(a,r,i,o,s,"next",l)}function s(l){Rg(a,r,i,o,s,"throw",l)}o(void 0)})}}function Re(n,e,t){return e=RL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RL(n){var e=NL(n,"string");return typeof e=="symbol"?e:String(e)}function NL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ri=ie.module("IrisGridProxyModel");function Fu(n,e,t,r){return H.isTreeTable(e)?new OL(n,e,t):new zC(n,e,t,r)}class FL extends Se{constructor(e,t){var r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new wn(e),a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;super(e),r=this,Re(this,"dh",void 0),Re(this,"originalModel",void 0),Re(this,"model",void 0),Re(this,"modelPromise",void 0),Re(this,"rollup",void 0),Re(this,"selectDistinct",void 0),Re(this,"textForCell",function(){return r.model.textForCell(...arguments)}),Re(this,"truncationCharForCell",function(){return r.model.truncationCharForCell(...arguments)}),Re(this,"textAlignForCell",function(){return r.model.textAlignForCell(...arguments)}),Re(this,"colorForCell",function(){return r.model.colorForCell(...arguments)}),Re(this,"backgroundColorForCell",function(){return r.model.backgroundColorForCell(...arguments)}),Re(this,"textForColumnHeader",function(){return r.model.textForColumnHeader(...arguments)}),Re(this,"colorForColumnHeader",function(){return r.model.colorForColumnHeader(...arguments)}),Re(this,"textForRowHeader",function(){return r.model.textForRowHeader(...arguments)}),Re(this,"textForRowFooter",function(){return r.model.textForRowFooter(...arguments)}),Re(this,"isRowMovable",function(){return r.model.isRowMovable(...arguments)}),Re(this,"isColumnMovable",function(){return r.model.isColumnMovable(...arguments)}),Re(this,"isRowExpandable",function(){return ze(r.model)?r.model.isRowExpandable(...arguments):!1}),Re(this,"isRowExpanded",function(){return ze(r.model)?r.model.isRowExpanded(...arguments):!1}),Re(this,"setRowExpanded",function(){if(ze(r.model))return r.model.setRowExpanded(...arguments);throw Error("Function setRowExpanded does not exist on IrisGridTableModel")}),Re(this,"expandAll",()=>{if(ze(this.model))return this.model.expandAll();throw Error("Function expandAll does not exist on IrisGridTableModel")}),Re(this,"collapseAll",()=>{if(ze(this.model))return this.model.collapseAll();throw Error("Function collapseAll does not exist on IrisGridTableModel")}),Re(this,"depthForRow",function(){return ze(r.model)?r.model.depthForRow(...arguments):0}),Re(this,"getColumnHeaderGroup",function(){return r.model.getColumnHeaderGroup(...arguments)}),Re(this,"getColumnHeaderParentGroup",function(){return r.model.getColumnHeaderParentGroup(...arguments)}),Re(this,"formatForCell",function(){return r.model.formatForCell(...arguments)}),Re(this,"valueForCell",function(){return r.model.valueForCell(...arguments)}),Re(this,"displayString",function(){return r.model.displayString(...arguments)}),Re(this,"isEditableRange",function(){return nt(r.model)?r.model.isEditableRange(...arguments):!1}),Re(this,"isFilterable",function(){return r.model.isFilterable(...arguments)}),Re(this,"setViewport",(s,l,d)=>this.model.setViewport(s,l,d)),Re(this,"snapshot",function(){return r.model.snapshot(...arguments)}),Re(this,"textSnapshot",function(){return r.model.textSnapshot(...arguments)}),Re(this,"valuesTable",function(){return r.model.valuesTable(...arguments)}),Re(this,"editValueForCell",function(){return nt(r.model)?r.model.editValueForCell(...arguments):""}),Re(this,"setValueForCell",function(){return nt(r.model)?r.model.setValueForCell(...arguments):Promise.reject(new Error("Model is not editable"))}),Re(this,"setValueForRanges",function(){return nt(r.model)?r.model.setValueForRanges(...arguments):Promise.reject(new Error("Model is not editable"))}),Re(this,"setValues",function(){return nt(r.model)?r.model.setValues(...arguments):Promise.resolve()}),Re(this,"isValidForCell",function(){return nt(r.model)?r.model.isValidForCell(...arguments):!1}),Re(this,"delete",function(){return r.model.delete(...arguments)}),Re(this,"commitPending",function(){return r.model.commitPending(...arguments)}),this.handleModelEvent=this.handleModelEvent.bind(this);var o=Fu(e,t,i,a);this.dh=e,this.originalModel=o,this.model=o,this.modelPromise=null,this.rollup=null,this.selectDistinct=[]}close(){this.originalModel.close(),this.model!==this.originalModel&&this.model.close(),this.modelPromise!=null&&this.modelPromise.cancel()}handleModelEvent(e){Ri.debug2("handleModelEvent",e);var{detail:t,type:r}=e;this.dispatchEvent(new Je(r,{detail:t}))}setModel(e){Ri.debug("setModel",e);var t=this.model;t!==this.originalModel&&t.close(),this.model=e,this.listenerCount>0&&this.addListeners(e),this.dispatchEvent(new Je(Se.EVENT.COLUMNS_CHANGED,{detail:e.columns})),Ca(e)&&this.dispatchEvent(new Je(Se.EVENT.TABLE_CHANGED,{detail:e.table}))}setNextModel(e){Ri.debug2("setNextModel"),this.modelPromise&&this.modelPromise.cancel(),this.listenerCount>0&&this.removeListeners(this.model),this.modelPromise=Te.makeCancelable(e,t=>t.close()),this.modelPromise.then(t=>{this.modelPromise=null,this.setModel(t)}).catch(t=>{if(Te.isCanceled(t)){Ri.debug2("setNextModel cancelled");return}Ri.error("Unable to set next model",t),this.modelPromise=null,this.dispatchEvent(new Je(Se.EVENT.REQUEST_FAILED,{detail:t}))})}startListening(){super.startListening(),this.addListeners(this.model)}stopListening(){super.stopListening(),this.removeListeners(this.model)}addListeners(e){for(var t=Object.keys(Se.EVENT),r=0;r<t.length;r+=1)e.addEventListener(t[r],this.handleModelEvent)}removeListeners(e){for(var t=Object.keys(Se.EVENT),r=0;r<t.length;r+=1)e.removeEventListener(t[r],this.handleModelEvent)}get rowCount(){return this.model.rowCount}get columnCount(){return this.model.columnCount}get floatingTopRowCount(){return this.model.floatingTopRowCount}get floatingBottomRowCount(){return this.model.floatingBottomRowCount}get floatingLeftColumnCount(){return this.model.floatingLeftColumnCount}get floatingRightColumnCount(){return this.model.floatingRightColumnCount}isColumnFrozen(e){return this.model.isColumnFrozen(e)}isColumnSortable(e){return this.model.isColumnSortable(e)}get hasExpandableRows(){return ze(this.model)?this.model.hasExpandableRows:!1}get isExpandAllAvailable(){if(ze(this.model)){var e;return(e=this.model.isExpandAllAvailable)!==null&&e!==void 0?e:!1}return!1}get isExportAvailable(){return this.model.isExportAvailable}get isColumnStatisticsAvailable(){return this.model.isColumnStatisticsAvailable}get isValuesTableAvailable(){return this.model.isValuesTableAvailable}get isCustomColumnsAvailable(){return this.model.isCustomColumnsAvailable&&!(this.isSelectDistinctAvailable&&this.selectDistinctColumns.length>0)}get isFormatColumnsAvailable(){return this.model.isFormatColumnsAvailable}get isChartBuilderAvailable(){return this.model.isChartBuilderAvailable}get isRollupAvailable(){return(this.originalModel.isRollupAvailable||this.rollup!=null)&&this.selectDistinct.length===0}get isSelectDistinctAvailable(){return(this.originalModel.isSelectDistinctAvailable||this.selectDistinct.length>0)&&this.rollup==null}get isTotalsAvailable(){return this.model.isTotalsAvailable}get isReversible(){return this.model.isReversible}get columns(){return this.model.columns}get initialMovedColumns(){return this.model.initialMovedColumns}get initialMovedRows(){return this.model.initialMovedRows}get layoutHints(){return this.model.layoutHints}get frontColumns(){return this.model.frontColumns}get backColumns(){return this.model.backColumns}get frozenColumns(){return this.model.frozenColumns}get columnHeaderGroups(){return this.model.columnHeaderGroups}set columnHeaderGroups(e){this.model.columnHeaderGroups=e}get initialColumnHeaderGroups(){return this.model.initialColumnHeaderGroups}get columnHeaderGroupMap(){return this.model.columnHeaderGroupMap}get columnHeaderMaxDepth(){return this.model.columnHeaderMaxDepth}updateFrozenColumns(e){return this.model.updateFrozenColumns(e)}get originalColumns(){return this.originalModel.columns}get groupedColumns(){return this.model.groupedColumns}get description(){return this.model.description}get filter(){return this.model.filter}set filter(e){this.model.filter=e}get formatter(){return this.model.formatter}set formatter(e){this.model.formatter=e}get sort(){return this.model.sort}set sort(e){this.model.sort=e}get customColumns(){return this.model.customColumns}set customColumns(e){this.model.customColumns=e}get formatColumns(){return this.model.formatColumns}set formatColumns(e){this.model.formatColumns=e}get rollupConfig(){return this.rollup}set rollupConfig(e){if(Ri.debug("set rollupConfig",e),!this.isRollupAvailable)throw new Error("Rollup Rows are not available");if(!ct(e,this.rollup)){this.rollup=e;var t=Promise.resolve(this.originalModel);Ca(this.originalModel)&&e!=null&&(t=this.originalModel.table.rollup(e).then(r=>Fu(this.dh,r,this.formatter))),this.setNextModel(t)}}get selectDistinctColumns(){return this.selectDistinct}set selectDistinctColumns(e){if(Ri.debug("set selectDistinctColumns",e),!this.isSelectDistinctAvailable)throw new Error("Select distinct is not available");if(e===this.selectDistinctColumns||e.length===0&&this.selectDistinctColumns.length===0){Ri.debug("Ignore same selectDistinctColumns",e);return}this.selectDistinct=e;var t=e.map(i=>this.originalColumns.find(a=>a.name===i)).filter(i=>i!=null),r=Promise.resolve(this.originalModel);Ca(this.originalModel)&&t.length>0&&(r=this.originalModel.table.selectDistinct(t).then(i=>Fu(this.dh,i,this.formatter))),this.setNextModel(r)}get table(){if(Ca(this.model))return this.model.table}get totalsConfig(){return this.model.totalsConfig}set totalsConfig(e){this.model.totalsConfig=e}get isFilterRequired(){return this.model.isFilterRequired}get isEditable(){return nt(this.model)&&this.model.isEditable}export(){if(H.isTreeTable(this.model))throw new Error("TreeTable has no 'export' property");return this.model.export()}columnStatistics(e){if(H.isTreeTable(this.model))throw new Error("TreeTable has no 'columnStatistics' function");return this.model.columnStatistics(e)}get pendingDataMap(){return this.model.pendingDataMap}set pendingDataMap(e){this.model.pendingDataMap=e}get pendingRowCount(){return this.model.pendingRowCount}set pendingRowCount(e){this.model.pendingRowCount=e}get pendingDataErrors(){return this.model.pendingDataErrors}getColumnIndexByName(e){return this.model.getColumnIndexByName(e)}seekRow(e,t,r,i,a,o,s){var l=this;return DL(function*(){return l.model.seekRow(e,t,r,i,a,o,s)})()}get isSeekRowAvailable(){return this.model.isSeekRowAvailable}}const IL=FL;function Ng(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function _L(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Ng(a,r,i,o,s,"next",l)}function s(l){Ng(a,r,i,o,s,"throw",l)}o(void 0)})}}class ML{static makeModel(e,t){var r=arguments;return _L(function*(){var i=r.length>2&&r[2]!==void 0?r[2]:new wn(e),a=null;return!H.isTreeTable(t)&&t.hasInputTable&&(a=yield t.inputTable()),new IL(e,t,i,a)})()}}const vc=ML;function gc(n,e,t){return e=AL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function AL(n){var e=LL(n,"string");return typeof e=="symbol"?e:String(e)}function LL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Nd{}gc(Nd,"OPEN","ChartEvent.OPEN");gc(Nd,"CLOSE","ChartEvent.CLOSE");gc(Nd,"COLUMN_SELECTED","ChartEvent.COLUMN_SELECTED");const Th=Nd;function Os(n,e,t){return e=kL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kL(n){var e=xL(n,"string");return typeof e=="symbol"?e:String(e)}function xL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class bo{}Os(bo,"SESSION_OPENED","ConsoleEvent.SESSION_OPENED");Os(bo,"SESSION_CLOSED","ConsoleEvent.SESSION_CLOSED");Os(bo,"FOCUS_HISTORY","ConsoleEvent.FOCUS_HISTORY");Os(bo,"SEND_COMMAND","ConsoleEvent.SEND_COMMAND");Os(bo,"SETTINGS_CHANGED","ConsoleEvent.SETTINGS_CHANGED");const Lr=bo;function Zi(n,e,t){return e=HL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function HL(n){var e=UL(n,"string");return typeof e=="symbol"?e:String(e)}function UL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ci{}Zi(ci,"TABLE_CHANGED","InputFilterEvent.TABLE_CHANGED");Zi(ci,"COLUMNS_CHANGED","InputFilterEvent.COLUMNS_CHANGED");Zi(ci,"FILTERS_CHANGED","InputFilterEvent.FILTERS_CHANGED");Zi(ci,"CLEAR_ALL_FILTERS","InputFilterEvent.CLEAR_ALL_FILTERS");Zi(ci,"COLUMN_SELECTED","InputFilterEvent.COLUMN_SELECTED");Zi(ci,"OPEN_DROPDOWN","InputFilterEvent.OPEN_DROPDOWN");Zi(ci,"OPEN_INPUT","InputFilterEvent.OPEN_INPUT");Zi(ci,"OPEN_FILTER_SET_MANAGER","InputFilterEvent.OPEN_FILTER_SET_MANAGER");const it=ci;function So(n,e,t){return e=$L(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $L(n){var e=BL(n,"string");return typeof e=="symbol"?e:String(e)}function BL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Ia{}So(Ia,"OPEN_GRID","IrisGridEvent.OPEN_GRID");So(Ia,"CLOSE_GRID","IrisGridEvent.CLOSE_GRID");So(Ia,"DATA_SELECTED","IrisGridEvent.DATA_SELECTED");So(Ia,"COLUMN_SELECTED","IrisGridEvent.COLUMN_SELECTED");So(Ia,"STATE_CHANGED","IrisGridEvent.STATE_CHANGED");So(Ia,"CREATE_CHART","IrisGridevent.CREATE_CHART");const fn=Ia,YC=Object.freeze({OPEN:"MarkdownEvent.OPEN"});function mi(n,e,t){return e=VL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VL(n){var e=GL(n,"string");return typeof e=="symbol"?e:String(e)}function GL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class $n{}mi($n,"CREATE_NOTEBOOK","NotebookEvent.createNotebook");mi($n,"SELECT_NOTEBOOK","NotebookEvent.selectNotebook");mi($n,"CLOSE_FILE","NotebookEvent.closeFile");mi($n,"RENAME","NotebookEvent.rename");mi($n,"RENAME_FILE","NotebookEvent.renameFile");mi($n,"REGISTER_FILE","NotebookEvent.registerFile");mi($n,"SEND_TO_NOTEBOOK","NotebookEvent.sendToNotebook");mi($n,"UNREGISTER_FILE","NotebookEvent.unregisterFile");mi($n,"PROMOTE_FROM_PREVIEW","NotebookEvent.promoteFromPreview");const Ye=$n;function wo(n,e,t){return e=WL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function WL(n){var e=jL(n,"string");return typeof e=="symbol"?e:String(e)}function jL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class _a{}wo(_a,"focus","TabEvent.focus");wo(_a,"blur","TabEvent.blur");wo(_a,"openPQObject","TabEvent.openPQObject");wo(_a,"openControl","TabEvent.openControl");wo(_a,"reload","TabEvent.reload");wo(_a,"clearAllFilters","TabEvent.clearAllFilters");const sl=_a;function zL(n,e,t){return e=KL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function KL(n){var e=YL(n,"string");return typeof e=="symbol"?e:String(e)}function YL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class qC extends w.PureComponent{constructor(e){super(e),this.handleCloseTab=this.handleCloseTab.bind(this),this.handleCloseTabsRight=this.handleCloseTabsRight.bind(this),this.handleCloseTabsAll=this.handleCloseTabsAll.bind(this)}getAllTabs(){var e,t,r,{glContainer:i}=this.props;return[...(e=i==null||(t=i.tab)===null||t===void 0||(r=t.header)===null||r===void 0?void 0:r.tabs)!==null&&e!==void 0?e:[]]}handleCloseTab(){var{glContainer:e}=this.props;e.close()}handleCloseTabsAll(){var e=this.getAllTabs();e.forEach(t=>{var r;return(r=(t?.contentItem).container)===null||r===void 0?void 0:r.close()})}handleCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),r=t.length-1;r>0;r-=1){var i,a,o,s,l,d,u;if(((i=t[r].contentItem)===null||i===void 0||(a=i.config)===null||a===void 0?void 0:a.id)===((o=e.tab)===null||o===void 0||(s=o.contentItem)===null||s===void 0||(l=s.config)===null||l===void 0?void 0:l.id))break;(d=((u=t[r])===null||u===void 0?void 0:u.contentItem).container)===null||d===void 0||d.close()}}canCloseTabsRight(){for(var{glContainer:e}=this.props,t=this.getAllTabs(),r=!0,i=t.length-1;i>0;i-=1){var a,o,s,l,d,u,c,m;if(((a=t[i].contentItem)===null||a===void 0||(o=a.config)===null||o===void 0?void 0:o.id)===((s=e.tab)===null||s===void 0||(l=s.contentItem)===null||l===void 0||(d=l.config)===null||d===void 0?void 0:d.id))break;var v=!!(!((u=t[i])===null||u===void 0||(c=u.contentItem)===null||c===void 0||(m=c.config)===null||m===void 0)&&m.isClosable);if(v){r=!1;break}}return r}canCloseAny(){for(var e=this.getAllTabs(),t=!0,r=e.length-1;r>0;r-=1){var i,a,o,s=!!(!((i=e[r])===null||i===void 0||(a=i.contentItem)===null||a===void 0||(o=a.config)===null||o===void 0)&&o.isClosable);if(s){t=!1;break}}return t}render(){var e,t,r,{additionalActions:i,glContainer:a}=this.props,o=[...i],s=(e=a.tab)===null||e===void 0||(t=e.contentItem)===null||t===void 0||(r=t.config)===null||r===void 0?void 0:r.isClosable;return o.push({title:"Close",order:10,group:le.groups.low,action:this.handleCloseTab,disabled:s===void 0||!s}),o.push(()=>({title:"Close Tabs to Right",order:20,group:le.groups.low,action:this.handleCloseTabsRight,disabled:this.canCloseTabsRight()})),o.push(()=>({title:"Close All",order:30,group:le.groups.low,action:this.handleCloseTabsAll,disabled:this.canCloseAny()})),h.createElement(le,{actions:o})}}zL(qC,"defaultProps",{additionalActions:[]});const qL=qC;function XC(n,e,t){return e=XL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function XL(n){var e=QL(n,"string");return typeof e=="symbol"?e:String(e)}function QL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class QC extends w.PureComponent{constructor(e){super(e),XC(this,"renameInputRef",void 0),this.handleRenameDialogOpened=this.handleRenameDialogOpened.bind(this),this.handleRenameInputChange=this.handleRenameInputChange.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.renameInputRef=h.createRef();var{value:t}=e;this.state={value:t,valueWasValidated:!1}}componentDidUpdate(e){var{isShown:t}=e,{isShown:r}=this.props;r&&!t&&this.resetState()}resetState(){var{value:e}=this.props;this.setState({value:e,valueWasValidated:!1})}handleRenameDialogOpened(){var e,t;(e=this.renameInputRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.focus()}handleRenameInputChange(e){this.setState({value:e.target.value})}handleRenameCancel(){var{onCancel:e}=this.props;e()}handleRenameSubmit(e){e.stopPropagation(),e.preventDefault();var{value:t}=this.state,r=t?.trim();if(r!==void 0&&r!==""){var{onSubmit:i}=this.props;i(r)}else this.setState({value:r,valueWasValidated:!0})}renderRenameDialog(){var{isShared:e,isOwner:t,itemType:r}=this.props,{value:i,valueWasValidated:a}=this.state;return h.createElement("form",{className:te("p-3",{"was-validated":a}),onSubmit:this.handleRenameSubmit,noValidate:!0,role:"presentation",onMouseDown:o=>{o.stopPropagation()},onMouseUp:o=>{o.stopPropagation()}},h.createElement("div",{className:"form-group"},h.createElement("label",{htmlFor:"rename-dialog-".concat(r,"-input")},"Rename ",r),h.createElement("input",{type:"text",className:"form-control",id:"rename-dialog-".concat(r,"-input"),value:i??void 0,ref:this.renameInputRef,onChange:this.handleRenameInputChange,required:!0}),h.createElement("div",{className:"invalid-feedback"},r," name cannot be empty"),(e||!t)&&h.createElement("div",{className:"pt-2"},"Renaming this ",r," will rename for all users.")),h.createElement("div",{className:"text-right"},h.createElement(j,{kind:"secondary",className:"mr-2",onClick:this.handleRenameCancel},"Cancel"),h.createElement(j,{kind:"primary",type:"submit"},"Rename")))}render(){var{isShown:e,onCancel:t}=this.props;return h.createElement(md,{isShown:e,onEntered:this.handleRenameDialogOpened,onExited:t,options:{placement:"bottom"},interactive:!0,closeOnBlur:!0},this.renderRenameDialog())}}XC(QC,"defaultProps",{isShared:!1,isOwner:!0,itemType:"Item",value:""});function ZC(n,e,t){return e=ZL(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ZL(n){var e=JL(n,"string");return typeof e=="symbol"?e:String(e)}function JL(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var e1=ie.module("Panel");class JC extends w.PureComponent{constructor(e){super(e),ZC(this,"getAdditionActions",fe((r,i,a)=>{var o=[];return i&&o.push(this.getCloneAction()),a&&o.push(this.getRenameAction()),[...o,...r]})),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleCopyPanel=this.handleCopyPanel.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleBlur=this.handleBlur.bind(this),this.handleHide=this.handleHide.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleBeforeShow=this.handleBeforeShow.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRenameSubmit=this.handleRenameSubmit.bind(this),this.handleShowRenameDialog=this.handleShowRenameDialog.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleTab=this.handleTab.bind(this);var{glContainer:t}=this.props;this.state={title:Q.getTitleFromContainer(t),showRenameDialog:!1}}componentDidMount(){var{componentPanel:e,glContainer:t,glEventHub:r}=this.props;t.on("resize",this.handleResize),t.on("show",this.handleBeforeShow),t.on("shown",this.handleShow),t.on("hide",this.handleHide),t.on("tab",this.handleTab),t.on("tabClicked",this.handleTabClicked),r.on(Lr.SESSION_CLOSED,this.handleSessionClosed),r.on(Lr.SESSION_OPENED,this.handleSessionOpened),r.on(sl.focus,this.handleTabFocus),r.on(sl.blur,this.handleTabBlur),r.on(it.CLEAR_ALL_FILTERS,this.handleClearAllFilters),r.emit(Ee.MOUNT,e)}componentWillUnmount(){var{componentPanel:e,glContainer:t,glEventHub:r}=this.props;t.off("resize",this.handleResize),t.off("show",this.handleBeforeShow),t.off("shown",this.handleShow),t.off("hide",this.handleHide),t.off("tab",this.handleTab),t.off("tabClicked",this.handleTabClicked),r.off(Lr.SESSION_CLOSED,this.handleSessionClosed),r.off(Lr.SESSION_OPENED,this.handleSessionOpened),r.off(sl.focus,this.handleTabFocus),r.off(sl.blur,this.handleTabBlur),r.off(it.CLEAR_ALL_FILTERS,this.handleClearAllFilters),r.emit(Ee.UNMOUNT,e)}handleTab(e){e!=null&&this.setState({title:Q.getTitleFromTab(e)}),this.forceUpdate();var{onTab:t}=this.props;t(e)}handleTabClicked(e){var{onTabClicked:t}=this.props;t(e)}handleClearAllFilters(){var{onClearAllFilters:e}=this.props;e(...arguments)}handleFocus(e){var{componentPanel:t,glEventHub:r}=this.props;r.emit(Ee.FOCUS,t);var{onFocus:i}=this.props;i(e)}handleBlur(e){var{onBlur:t}=this.props;t(e)}handleHide(){var{onHide:e}=this.props;e(...arguments)}handleResize(){var{onResize:e}=this.props;e(...arguments)}handleSessionClosed(e){var{onSessionClose:t}=this.props;t(e)}handleSessionOpened(e,t){var{onSessionOpen:r}=this.props;r(e,t)}handleBeforeShow(){var{onBeforeShow:e}=this.props;e(...arguments)}handleShow(){var{onShow:e}=this.props;e(...arguments)}handleTabBlur(){var{onTabBlur:e}=this.props;e(...arguments)}handleTabFocus(){var{onTabFocus:e}=this.props;e(...arguments)}handleRenameCancel(){this.setState({showRenameDialog:!1})}handleShowRenameDialog(){this.setState({showRenameDialog:!0})}handleRenameSubmit(e){var{glContainer:t}=this.props;this.setState({showRenameDialog:!1,title:e});var r=Q.getRootFromContainer(t),i=Q.getComponentConfigFromContainer(t);L(i),Q.renameComponent(r,i,e)}handleCopyPanel(){var{glContainer:e,glEventHub:t}=this.props,r=Q.getRootFromContainer(e),i=Q.getComponentConfigFromContainer(e);if(i==null){e1.error("Could not get component config from container",e);return}var a=Q.cloneComponent(r,i);a!==null&&t.emit(Ee.CLONED,this,a)}getCloneAction(){return{title:"Copy Panel",order:10,group:le.groups.high,action:this.handleCopyPanel}}getRenameAction(){return{title:"Rename",order:10,group:le.groups.medium,action:this.handleShowRenameDialog}}render(){var{children:e,className:t,renderTabTooltip:r,glContainer:i,additionalActions:a,errorMessage:o,isLoaded:s,isLoading:l,isClonable:d,isRenamable:u}=this.props,{tab:c}=i,{showRenameDialog:m,title:v}=this.state;return h.createElement("div",{className:te("h-100 w-100 iris-panel",t),onFocusCapture:this.handleFocus,onBlurCapture:this.handleBlur},e,h.createElement(id,{errorMessage:o,isLoaded:s,isLoading:l}),c!=null&&Fh.createPortal(h.createElement(h.Fragment,null,h.createElement(qL,{glContainer:i,additionalActions:this.getAdditionActions(a,d,u)}),u&&h.createElement(QC,{isShown:m,value:v,itemType:"Panel",onCancel:this.handleRenameCancel,onSubmit:this.handleRenameSubmit}),r!=null&&h.createElement(pt,{interactive:!0,options:{placement:"bottom"},popperClassName:"panel-tab-popper"},r())),c.element[0]))}}ZC(JC,"defaultProps",{className:"",onTab:()=>{},onTabClicked:()=>{},onClearAllFilters:()=>{},onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onBeforeShow:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},renderTabTooltip:null,additionalActions:[],errorMessage:null,isLoading:!1,isLoaded:!0,isClonable:!1,isRenamable:!1});const vi=JC;function Fd(n){var{widgetType:e,widgetName:t,glContainer:r,description:i,children:a}=n,o=Q.getTitleFromContainer(r);return h.createElement("div",{className:"tab-tooltip-grid-container"},h.createElement("span",{className:"tab-tooltip-title"},e," Name"),h.createElement("div",{className:"tab-tooltip-name-wrapper"},h.createElement("span",{className:"tab-tooltip-name"},t),h.createElement(hd,{className:"tab-tooltip-copy",tooltip:"Copy name",copy:t})),t!==o&&h.createElement(h.Fragment,null,h.createElement("span",{className:"tab-tooltip-title"},"Display Name"),h.createElement("span",{className:"tab-tooltip-name"},o)),i&&h.createElement("div",{className:"tab-tooltip-description"},i),a)}Fd.propTypes={glContainer:nc.Container.isRequired,widgetType:q.string,widgetName:q.string,description:q.string,children:q.node};Fd.defaultProps={widgetType:"",widgetName:"",description:null,children:null};function eb(n,e,t){return e=t1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function t1(n){var e=r1(n,"string");return typeof e=="symbol"?e:String(e)}function r1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class tb extends w.PureComponent{constructor(e){super(e),eb(this,"getCachedRenderTabTooltip",fe((t,r,i,a,o)=>t?()=>h.createElement(Fd,{glContainer:r,widgetType:i,widgetName:a,description:o}):null)),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleCopyName=this.handleCopyName.bind(this),this.state={isClientDisconnected:!1,isPanelDisconnected:!1,isWidgetDisconnected:!1,isWaitingForReconnect:!1,isPanelInactive:!1}}handleCopyName(){var{widgetName:e}=this.props;Cs(e)}getErrorMessage(){var{errorMessage:e}=this.props,{isClientDisconnected:t,isPanelDisconnected:r,isWidgetDisconnected:i,isWaitingForReconnect:a}=this.state;if(e)return"".concat(e);if(t&&r&&a)return`Disconnected from server.
34
34
  Check your internet connection.`;if(t&&r)return"Disconnected from server.";if(r){var{widgetName:o,widgetType:s}=this.props;return'Variable "'.concat(o,`" not set.
35
- `).concat(s," does not exist yet.")}if(i){var{widgetName:l}=this.props;return"".concat(l," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:r,isLoaded:i,isLoading:a,glContainer:o,glEventHub:s,isDisconnected:l,isClonable:d,isRenamable:u,showTabTooltip:c,renderTabTooltip:m,widgetType:v,widgetName:g,description:f,onClearAllFilters:p,onHide:C,onFocus:b,onBlur:S,onResize:E,onShow:y,onTabBlur:T,onTabFocus:O,onTabClicked:D}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:R,isPanelInactive:_}=this.state,M=this.getErrorMessage(),A=m??this.getCachedRenderTabTooltip(c,o,v,g,f),B=[{title:"Copy ".concat(v," Name"),group:le.groups.medium,order:20,action:this.handleCopyName}];return h.createElement(vi,{className:te(t,{disconnected:P||R||l,inactive:_}),componentPanel:r,glContainer:o,glEventHub:s,onClearAllFilters:p,onHide:C,onFocus:b,onBlur:S,onResize:E,onShow:y,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:T,onTabFocus:O,onTabClicked:D,renderTabTooltip:A,errorMessage:M,isLoaded:i,isLoading:a,isClonable:d,isRenamable:u,additionalActions:B},e,_&&h.createElement("div",{className:"fill-parent-absolute"}))}}eb(tb,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const fc=tb,Sr=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var n1=new Map,Id=Object.freeze([]),rb=(n,e)=>{var t;return(t=Er(n,e).columns)!==null&&t!==void 0?t:Id},i1=(n,e)=>{var t;return(t=Er(n,e).filterSets)!==null&&t!==void 0?t:Id},pc=(n,e)=>{var t;return(t=Er(n,e).filters)!==null&&t!==void 0?t:Id},Cc=(n,e)=>{var t;return(t=Er(n,e).tableMap)!==null&&t!==void 0?t:n1},bc=(n,e)=>Er(n,e).isolatedLinkerPanelId,Eo=(n,e)=>{var t;return(t=Er(n,e).links)!==null&&t!==void 0?t:Id},Sc=(n,e)=>Er(n,e).columnSelectionValidator,a1=(n,e)=>Er(n,e).connection,Ta=(n,e)=>Er(n,e).sessionWrapper,o1=(n,e)=>t=>t(Un(n,{connection:e})),s1=(n,e)=>t=>t(Un(n,{sessionWrapper:e})),wc=(n,e)=>t=>t(Un(n,{links:e})),l1=(n,e)=>(t,r)=>{var i=Eo(r(),n),a=e.filter(o=>i.findIndex(s=>ct(s.start,o.start)&&ct(s.end,o.end))<0);return t(wc(n,i.concat(a)))},d1=(n,e)=>(t,r)=>{var i=Eo(r(),n),a=i.filter(o=>!e.includes(o.id));return t(wc(n,a))},nb=(n,e)=>t=>t(Un(n,{isolatedLinkerPanelId:e})),u1=(n,e)=>t=>t(Un(n,{columnSelectionValidator:e})),h1=(n,e)=>t=>t(Un(n,{consoleSettings:e})),c1=(n,e)=>t=>t(Un(n,{filterSets:e}));function ib(n){var{columnMap:e,inputFilterMap:t,linkedColumnMap:r,onAdd:i,onOpenLinker:a,waitingFilterMap:o,waitingInputMap:s}=n,l=w.useMemo(()=>{var g=Array.from(s.keys()),f=g.find(b=>t.get(b)!=null),p=g.find(b=>r.get(b)!=null),C=Zr.join(g.map(b=>'"'.concat(b,'"')));return f!=null&&f&&p!=null&&p?"Use a filter control or linked table to set a value for ".concat(C):f!=null&&f?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,r,s]),d=w.useMemo(()=>Array.from(e.values()),[e]),u=w.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(o.values()))},[i,o]),c=w.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),m=o.size>0,v=!m&&s.size>0;return h.createElement("div",{className:"chart-panel-overlay chart-filter-overlay"},h.createElement("div",{className:te("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":v})},m&&h.createElement(h.Fragment,null,h.createElement("div",{className:"info-message"},"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"),h.createElement("div",{className:"waiting-filter-list"},d.map(g=>{var f=o.has(g.name),p=f?Wi:Ah;return h.createElement("div",{key:g.name,className:te("waiting-filter-item",{"is-invalid":f})},h.createElement(re,{icon:p}),g.name)})),h.createElement("div",null,h.createElement(um,{onClick:u,className:"btn-primary"},"Add Input Filters"),h.createElement(um,{onClick:c,className:"btn-primary"},"Open Linker Tool"))),v&&h.createElement(h.Fragment,null,h.createElement("div",{className:"info-message"},"Waiting for User Input"),h.createElement("div",{className:""},l))))}ib.propTypes={columnMap:q.instanceOf(Map).isRequired,inputFilterMap:q.instanceOf(Map).isRequired,linkedColumnMap:q.instanceOf(Map).isRequired,onAdd:q.func.isRequired,onOpenLinker:q.func.isRequired,waitingFilterMap:q.instanceOf(Map).isRequired,waitingInputMap:q.instanceOf(Map).isRequired};function cs(n){var{columns:e,onColumnSelected:t,onMouseEnter:r,onMouseLeave:i}=n;return h.createElement("div",{className:"chart-panel-overlay chart-column-selector-overlay"},h.createElement("div",{className:te("chart-panel-overlay-content")},h.createElement("div",{className:"info-message"},"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"),h.createElement("div",{className:"waiting-column-select-list"},e.map(a=>h.createElement(Yf,{key:a.name,className:te("btn-chart-column-selector",cs.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{r&&r(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive},a.name)))))}cs.makeButtonClassName=n=>"btn-chart-column-selector-".concat(n);cs.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Tl(n){return n.settings!==void 0}function Fg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ig(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fg(Object(t),!0).forEach(function(r){Jr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Jr(n,e,t){return e=m1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function m1(n){var e=v1(n,"string");return typeof e=="symbol"?e:String(e)}function v1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ur=ie.module("ChartPanel"),g1=150;function f1(n){return n.inputFilters!=null}function p1(n){return n.panelState!=null}class _d extends w.Component{constructor(e){super(e),Jr(this,"panelContainer",void 0),Jr(this,"chart",void 0),Jr(this,"pending",void 0),Jr(this,"getWaitingInputMap",fe((o,s,l)=>{if(!o)return new Map;var d=new Map(s);return l.forEach((u,c)=>{d.delete(c)}),d})),Jr(this,"getWaitingFilterMap",fe((o,s,l,d,u)=>{if(!o)return new Map;var c=new Map(s);return l.forEach((m,v)=>{c.delete(v)}),u.forEach((m,v)=>{c.delete(v)}),d.forEach((m,v)=>{c.delete(v)}),c})),Jr(this,"getInputFilterColumnMap",fe((o,s)=>{for(var l=new Map,d=0;d<s.length;d+=1){var u=s[d],{name:c,type:m}=u,v=o.get(c);v!=null&&v.type===m&&l.set(c,u)}return l})),Jr(this,"getLinkedColumnMap",fe((o,s)=>{for(var l=new Map,d=Q.getIdFromPanel(this),u=0;u<s.length;u+=1){var c=s[u],m=null;if(c.start!=null&&c.start.panelId===d&&o.has(c.start.columnName)?m=c.start.columnName:c.end&&c.end.panelId===d&&o.has(c.end.columnName)&&(m=c.end.columnName),m!=null&&o.has(m)){var v=o.get(m);L(v),l.set(m,v)}}return l})),Jr(this,"getSelectorColumns",fe((o,s,l)=>Array.from(o.values()).map(d=>({name:d.name,type:d.type,isValid:l?l(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=rt(this.updateModelFromSource.bind(this),g1),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=h.createRef(),this.chart=h.createRef(),this.pending=new hi;var{metadata:t,panelState:r}=e,{filterValueMap:i=[],settings:a={}}=r??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&Tl(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:r}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:r,source:i}=this.props,{columnMap:a,model:o,filterMap:s,filterValueMap:l,isLinked:d,settings:u}=this.state;o&&(a!==t.columnMap&&this.pruneFilterMaps(),r!==e.inputFilters&&this.updateChangedInputFilters(r,e.inputFilters),s!==t.filterMap?this.updateFilters():l!==t.filterValueMap&&this.updatePanelState(),u!==t.settings&&jm(o)&&(o.updateSettings(u),this.updatePanelState()),d!==t.isLinked?i&&(d?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):d&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){ur.debug("startListeningToSource",e);var{model:t}=this.state;L(t);var{dh:r}=t;e.addEventListener(r.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(r.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(r.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){ur.debug("stopListeningToSource",e);var{model:t}=this.state;L(t);var{dh:r}=t;e.removeEventListener(r.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(r.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(r.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:r}=this.state;e&&!t&&!r&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:r}=this.state;t.emit(Th.COLUMN_SELECTED,this,r.get(e))}handleColumnMouseEnter(e){var{type:t,name:r}=e,{columnSelectionValidator:i}=this.props;ur.debug("handleColumnMouseEnter",i,t,r),i&&i(this,{type:t,name:r})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ur.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:r}=this.props;r(e,void 0),t(Sr.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ur.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:r,source:i}=this.props,{filterMap:a,isLinked:o}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(r,a.size>0||e.isFilterRequired()),i&&o&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Te.isCanceled(e)||(ur.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:r,model:i}=this.state;if(!r||!i||!t){ur.debug2("updateModelFromSource ignoring",r,i,t);return}var{dh:a}=i;if(this.pending.cancel(),Tl(e)){var{settings:o}=e;this.pending.add(a.plot.Figure.create(new kt(a).makeFigureSettings(o,t))).then(s=>{jm(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:r,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&f1(e.props)&&p1(e.state)){var{inputFilters:o}=e.props,{panelState:s}=e.state;s!=null&&(a=ye.extractTableSettings(s,o))}this.setState({panelState:{settings:i,tableSettings:a,filterValueMap:Array.from(r)}})}handleError(){this.setState({isLoading:!1})}handleResize(){this.updateChart()}handleSettingsChanged(e){this.setState(t=>{var{settings:r}=t,i=Ig(Ig({},r),e);return ur.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(){this.setState({isLoading:!1})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:r,type:i}=e;t.emit(it.OPEN_INPUT,{title:"".concat(r," Filter"),panelState:{name:r,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&(this.loadModelIfNecessary(),this.updateChart())})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(it.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,r=cs.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(r)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var o=a.left+a.width/2,s=a.bottom;return[o,s]}setFilterMap(e){ur.debug("setFilterMap",e),this.setState(t=>{var r,{columnMap:i,filterMap:a}=t,o=null,s=new Map(t.filterValueMap);return e.forEach((l,d)=>{var{columnType:u,filterList:c}=l,m=i.get(d);if(!(m==null||m.type!==u)){if(c.length<1){ur.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),a.get(d)!==v&&(o===null&&(o=new Map(a)),o.set(d,v))}}),{filterValueMap:s,filterMap:(r=o)!==null&&r!==void 0?r:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:r}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:o}=t;if(!o.has(e))return null;o=new Map(t.filterValueMap),o.delete(e);var s=this.getInputFilterColumnMap(i,r);if(s.has(e)){var l,d=a.get(e),u=(l=s.get(e))===null||l===void 0?void 0:l.value;u!=null&&d!==u&&(a=new Map(t.filterMap),u.length>0?a.set(e,u):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:o}})}updateChangedInputFilters(e,t){var r=t.filter(a=>e.find(o=>o.name===a.name&&o.type===a.type)===void 0);r.length>0&&this.deleteInputFilters(r);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(r=>{for(var{columnMap:i}=r,a=new Map(r.filterValueMap),o=new Map(r.filterMap),s=t?{filterMap:o,filterValueMap:a}:{},l=0;l<e.length;l+=1){var{name:d,type:u,value:c}=e[l],m=i.get(d);m!=null&&m.type===u&&(c!=null&&o.get(d)!==c&&(c===""?o.delete(d):o.set(d,c),s.filterMap=o),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return ur.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(r=>{for(var{columnMap:i,filterValueMap:a}=r,o=new Map(r.filterMap),s=t,l=0;l<e.length;l+=1){var{name:d,type:u}=e[l],c=i.get(d);if(c!=null&&c.type===u&&o.has(d)){var m=o.get(d);if(a.has(d)){var v=a.get(d);v!==m&&v!=null&&(s=!0,o.set(d,v))}else s=!0,o.delete(d)}}return ur.debug("deleteInputFilters",s),s?{filterMap:o}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:r}=this.state;L(r);var i=this.getWaitingInputMap(r.isFilterRequired(),e,t);if(r.setFilter(t),t.size>0&&i.size===0){var a=r.getDefaultTitle(),o=Zr.join(Array.from(t.entries()).map(s=>{var[l,d]=s;return"".concat(l,": ").concat(d)}));a?r.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(o,"</span>")):r.setTitle(o),ur.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ur.debug2("updateFilters waiting on inputs",i),r.setTitle(r.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,r=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((o,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((o,s)=>{t.has(s)||(r.delete(s),a.filterMap=r)}),a})}updateChart(){this.chart.current&&this.chart.current.updateDimensions()}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:r,inputFilters:i,isLinkerActive:a,links:o,metadata:s,settings:l,Plotly:d}=this.props,{columnMap:u,filterMap:c,error:m,model:v,isActive:g,isDisconnected:f,isLoaded:p,isLoading:C}=this.state,b;Tl(s)?b=s.table:b=s.figure;var S=this.getInputFilterColumnMap(u,i),E=this.getLinkedColumnMap(u,o),y=v!=null?this.getWaitingInputMap(v.isFilterRequired(),u,c):new Map,T=v!=null?this.getWaitingFilterMap(v.isFilterRequired(),u,c,E,S):new Map,O=m!=null?"Unable to open chart. ".concat(m):void 0,D=y.size>0,P=u.size>0&&a;return h.createElement(fc,{className:te("iris-chart-panel",{"input-required":D}),componentPanel:this,glContainer:t,glEventHub:r,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:O,isDisconnected:f,isLoading:C,isLoaded:p,widgetName:b,widgetType:"Chart"},h.createElement("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100"},h.createElement("div",{className:"chart-container h-100 w-100"},p&&v&&h.createElement(tT,{isActive:g,model:v,settings:l,ref:this.chart,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d})),h.createElement(kr,{in:D&&!P&&!C,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(ib,{inputFilterMap:S,linkedColumnMap:E,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:u,waitingFilterMap:T,waitingInputMap:y})),h.createElement(kr,{in:P,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(cs,{columns:this.getSelectorColumns(u,E,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave}))))}}Jr(_d,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{}});Jr(_d,"displayName","ChartPanel");Jr(_d,"COMPONENT","ChartPanel");var C1=(n,e)=>{var{localDashboardId:t,metadata:r}=e,i;r!=null&&(i=r.sourcePanelId);var a=Cc(n,t),o=sC(n,t),s=wd(n),l=bc(n,t),d=s===Sr.LINKER&&l===void 0;return{columnSelectionValidator:Sc(n,t),isLinkerActive:d,inputFilters:pc(n,t),links:Eo(n,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?o.get(i):void 0,settings:Bt(n)}},b1=$t(C1,{setActiveTool:yd,setDashboardIsolatedLinkerPanelId:nb},null,{forwardRef:!0})(_d);const eo=b1;function ql(n,e,t){return e=S1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S1(n){var e=w1(n,"string");return typeof e=="symbol"?e:String(e)}function w1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ll=ie.module("CommandHistoryPanel");class Ds extends w.Component{static handleError(e){ll.error(e)}constructor(e){super(e),ql(this,"container",void 0),ql(this,"pending",void 0),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSendToConsole=this.handleSendToConsole.bind(this),this.handleSendToNotebook=this.handleSendToNotebook.bind(this),this.container=h.createRef(),this.pending=new hi;var{session:t,sessionId:r,language:i}=e;this.state={panelState:{},session:t,sessionId:r,language:i,contextActions:[{action:this.handleFocusHistory,shortcut:nr.COMMAND_HISTORY.FOCUS_HISTORY}]}}componentDidMount(){var{glEventHub:e,session:t}=this.props;e.on(Lr.FOCUS_HISTORY,this.handleFocusHistory),t!=null&&this.loadTable()}componentWillUnmount(){var{glEventHub:e}=this.props;e.off(Lr.FOCUS_HISTORY,this.handleFocusHistory),this.pending.cancel()}handleFocusHistory(){this.container.current&&this.container.current.focus()}handleShow(){var e;(e=this.container.current)===null||e===void 0||e.restoreScrollPosition()}handleSessionOpened(e,t){var{language:r,sessionId:i}=t;this.setState({session:e,sessionId:i,language:r},()=>{this.loadTable()})}handleSessionClosed(){this.pending.cancel(),this.setState({session:void 0,language:void 0,table:void 0})}handleSendToNotebook(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{session:r,language:i}=this.state;if(ll.debug("handleSendToNotebook",r,e),!r){ll.error("Session is not connected.");return}var{glEventHub:a}=this.props;a.emit(t?Ye.CREATE_NOTEBOOK:Ye.SEND_TO_NOTEBOOK,r,i,e)}handleSendToConsole(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;ll.debug("handleSendToConsole",e);var{glEventHub:i}=this.props;i.emit(Lr.SEND_COMMAND,e,t,r)}loadTable(){var{commandHistoryStorage:e}=this.props,{language:t,sessionId:r}=this.state;L(t),L(r),this.pending.add(e.getTable(t,r,Date.now()),i=>i.close()).then(i=>{this.setState({table:i})}).catch(Ds.handleError)}render(){var{glContainer:e,glEventHub:t,commandHistoryStorage:r}=this.props,{language:i,contextActions:a,table:o}=this.state;return h.createElement(vi,{className:"command-history-pane",componentPanel:this,glContainer:e,glEventHub:t,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow},!o&&h.createElement("div",{className:"command-history-disconnected-message"},"Waiting for console connection"),o&&i!=null&&h.createElement(h.Fragment,null,h.createElement(I0,{ref:this.container,language:i,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:o,commandHistoryStorage:r}),h.createElement(le,{actions:a})))}}ql(Ds,"COMPONENT","CommandHistoryPanel");ql(Ds,"TITLE","Command History");var E1=(n,e)=>{var t=Cp(n),r=Ta(n,e.localDashboardId),{session:i,config:a}=r??{},{type:o,id:s}=a??{};return{commandHistoryStorage:t,language:o,session:i,sessionId:s}},y1=$t(E1,null,null,{forwardRef:!0})(Ds);const Xl=y1;function _g(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Mg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_g(Object(t),!0).forEach(function(r){to(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):_g(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function to(n,e,t){return e=T1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function T1(n){var e=P1(n,"string");return typeof e=="symbol"?e:String(e)}function P1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var dl=ie.module("ConsolePanel"),O1=500,D1=Object.freeze({consoleSettings:{},itemIds:[]});class Ec extends w.PureComponent{constructor(e){super(e),to(this,"consoleRef",void 0),to(this,"objectSubscriptionCleanup",void 0),to(this,"savePanelState",rt(()=>{var{consoleSettings:o,itemIds:s}=this.state,l={consoleSettings:o,itemIds:[...s]};dl.debug("Saving panel state",l),this.setState({panelState:l})},O1)),this.handleFocusCommandHistory=this.handleFocusCommandHistory.bind(this),this.handleOpenObject=this.handleOpenObject.bind(this),this.handleCloseObject=this.handleCloseObject.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChange=this.handleSettingsChange.bind(this),this.handleShow=this.handleShow.bind(this),this.handlePanelMount=this.handlePanelMount.bind(this),this.consoleRef=h.createRef();var{panelState:t}=e,r=Mg(Mg({},D1),t||{}),{consoleSettings:i,itemIds:a}=r;this.state={consoleSettings:i,itemIds:new Map(a),objectMap:new Map,error:void 0,panelState:r}}componentDidMount(){var{glEventHub:e}=this.props;this.closeDisconnectedPanels(),e.on(Ee.MOUNT,this.handlePanelMount),this.subscribeToFieldUpdates()}componentDidUpdate(e,t){var{consoleSettings:r,itemIds:i}=this.state;(t.consoleSettings!==r||t.itemIds!==i)&&this.savePanelState()}componentWillUnmount(){var e,{glEventHub:t}=this.props;this.savePanelState.flush(),t.off(Ee.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{session:t}=e;this.objectSubscriptionCleanup=t.subscribeToFieldUpdates(r=>{dl.debug("Got updates",r),this.setState(i=>{var{objectMap:a}=i,{updated:o,created:s,removed:l}=r,d=[...o,...l],u=new Map(a);d.forEach(m=>{var{title:v}=m;v!==void 0&&u.delete(v)});var c=[...o,...s];return c.forEach(m=>{m.title!==void 0&&u.set(m.title,m)}),{objectMap:u}})})}setItemId(e,t){this.setState(r=>{var{itemIds:i}=r,a=new Map(i);return a.set(e,t),{itemIds:a}})}getItemId(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{itemIds:r}=this.state,i=r.get(e);return i==null&&t&&(i=Xe.generate(),this.setItemId(e,i)),i}handleTabFocus(){var e;(e=this.consoleRef.current)===null||e===void 0||e.focus()}handlePanelMount(e){var t,r,i,{itemIds:a}=this.state,o=e==null||(t=e.props)===null||t===void 0?void 0:t.id,s=e==null||(r=e.props)===null||r===void 0||(i=r.metadata)===null||i===void 0?void 0:i.sourcePanelId;if(o&&s){var l=new Set(a.values());l.has(s)&&this.setItemId(o,o)}}handleFocusCommandHistory(){var{glEventHub:e}=this.props;e.emit(Lr.FOCUS_HISTORY)}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions()}handleOpenObject(e){var{sessionWrapper:t}=this.props,{session:r}=t;this.openWidget(e,r)}handleCloseObject(e){var{title:t}=e;if(t!==void 0){var r=this.getItemId(t,!1),{glEventHub:i}=this.props;i.emit(Ee.CLOSE,r)}}handleSettingsChange(e){var{glEventHub:t}=this.props;dl.debug("handleSettingsChange",e),this.setState({consoleSettings:e}),t.emit(Lr.SETTINGS_CHANGED,e)}openWidget(e,t){var{glEventHub:r}=this.props,{title:i}=e;L(i);var a=this.getItemId(i),o={fetch:()=>t.getObject(e),panelId:a,widget:e};dl.debug("openWidget",o),r.emit(Ee.OPEN,o)}addCommand(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(t=this.consoleRef.current)===null||t===void 0||t.addCommand(e,r,i)}closeDisconnectedPanels(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,{consoleSettings:t,itemIds:r}=this.state,{isClosePanelsOnDisconnectEnabled:i=!0}=t;if(!(!i&&!e)){var a=[...r.values()],{glEventHub:o}=this.props;a.forEach(s=>{o.emit(Ee.CLOSE,s)}),this.setState({itemIds:new Map})}}updateDimensions(){var e;(e=this.consoleRef.current)===null||e===void 0||e.updateDimensions()}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:r,sessionWrapper:i,timeZone:a,unzip:o}=this.props,{consoleSettings:s,error:l,objectMap:d}=this.state,{config:u,session:c,connection:m,details:v={},dh:g}=i,{workerName:f,processInfoId:p}=v,{id:C,type:b}=u;return h.createElement(vi,{className:"iris-panel-console",componentPanel:this,glContainer:t,glEventHub:r,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleTabFocus,errorMessage:l!=null?"".concat(l):void 0},c!=null&&h.createElement(h0,{dh:g,ref:this.consoleRef,settings:s,session:c,focusCommandHistory:this.handleFocusCommandHistory,openObject:this.handleOpenObject,closeObject:this.handleCloseObject,commandHistoryStorage:e,onSettingsChange:this.handleSettingsChange,language:b,statusBarChildren:h.createElement(h.Fragment,null,h.createElement("div",null," "),h.createElement("div",null,ep.LANGUAGE_MAP.get(b)),f!=null&&h.createElement(h.Fragment,null,h.createElement("div",null," • "),f),p!=null&&h.createElement(h.Fragment,null,h.createElement("div",null," • "),p,h.createElement("div",null," •")),h.createElement("div",null," "),h.createElement("div",null,h.createElement(sT,{connection:m,defaultUpdateInterval:10*1e3,hoverUpdateInterval:3*1e3,monitorDuration:10*60*1e3})),h.createElement("div",null," ")),scope:C,timeZone:a,objectMap:d,unzip:o}))}}to(Ec,"COMPONENT","ConsolePanel");to(Ec,"TITLE","Console");var R1=(n,e)=>({commandHistoryStorage:Cp(n),sessionWrapper:Ta(n,e.localDashboardId),timeZone:Ss(n)}),N1=$t(R1,null,null,{forwardRef:!0})(Ec);const qa=N1;function gn(n,e,t){return e=F1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function F1(n){var e=I1(n,"string");return typeof e=="symbol"?e:String(e)}function I1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ul=ie.module("DropdownFilter"),_1=150;class di extends w.Component{constructor(e){super(e),gn(this,"dropdownRef",void 0),gn(this,"getCompatibleColumns",fe((a,o)=>a!=null?o.filter(s=>{var{type:l}=s;return l!==void 0&&H.isCompatibleType(l,a.columnType)}):[])),gn(this,"getColumnOptions",fe((a,o)=>{var s=-1,l=[];return l.push(h.createElement("option",{key:"placeholder",value:"-1"},"Select a column")),a.forEach((d,u)=>{l.push(h.createElement("option",{key:"".concat(d.name,"/").concat(d.type),value:u},this.getItemLabel(a,u))),o!==null&&d.name===o.name&&d.type===o.type&&(s=u)}),[l,s]})),gn(this,"getSelectedOptionIndex",fe((a,o)=>a.indexOf(o))),gn(this,"getValueOptions",fe(a=>[h.createElement("option",{value:"-1",key:"-1"},di.PLACEHOLDER),...a.map((o,s)=>h.createElement("option",{value:s,key:"".concat(s,"/").concat(o)},o??"(null)"))])),gn(this,"getItemLabel",Pe((a,o)=>{var{name:s,type:l}=a[o];if(o>0&&a[o-1].name===s||o<a.length-1&&a[o+1].name===s){var d=l.substring(l.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),gn(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a({column:o,isValueShown:l,value:s??void 0})},_1)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=h.createRef();var{column:t,isValueShown:r,value:i}=e;this.state={column:t,id:Xe(),selectedColumn:t,disableCancel:!r,isValueShown:r,value:i}}componentDidUpdate(e,t){var{source:r,values:i,isLoaded:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a&&(r!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),l!==t.isValueShown&&l&&this.focusInput(),(o!==t.column||s!==t.value||l!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{value:t}=e.target;if(ul.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:r,source:i}=this.props,a=this.getCompatibleColumns(i,r);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),ul.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var{value:t}=e.target,r=parseInt(t,10),i="",{values:a}=this.props;r>=0&&r<a.length?i=a[r]:ul.debug2("Selected default item"),ul.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:r,value:i}=e;return{column:r,value:t===r?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:r,value:i,isValueShown:a}=e,o=t!=null&&r!=null?{name:t,type:r}:null;this.setState(s=>{var{value:l,isValueShown:d}=s;return{column:o,value:i??l,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:r,isLinkerActive:i,isLoaded:a,source:o,onColumnSelected:s,onSourceMouseEnter:l,onSourceMouseLeave:d,values:u,settingsError:c}=this.props,{column:m,disableCancel:v,id:g,isValueShown:f,selectedColumn:p,value:C}=this.state,b=o===null,S=this.getCompatibleColumns(o,t),E=o!=null,y=(e=o?.columnName)!==null&&e!==void 0?e:di.SOURCE_BUTTON_PLACEHOLDER,T=m!=null?"".concat(m.name," Filter"):null,[O,D]=this.getColumnOptions(S,p),P=this.getValueOptions(u),R=this.getSelectedOptionIndex(u,C),_=!E||p==null,M=f&&!i,A="source-column-btn-".concat(g),B="filter-column-select-".concat(g);return h.createElement(Bh,{className:"dropdown-filter fill-parent-absolute",isFlipped:M},h.createElement("div",{className:"dropdown-filter-settings-card"},h.createElement("div",{className:"dropdown-filter-card-content"},h.createElement("div",{className:"dropdown-filter-settings-grid"},h.createElement("label",{htmlFor:A},"Source Column"),h.createElement(Yf,{id:A,isLinked:E,onClick:s,onMouseEnter:l,onMouseLeave:d,className:di.SOURCE_BUTTON_CLASS_NAME,disabled:r},y),h.createElement("div",{className:"text-muted small"},"Select a source column for the list by linking to a table."),h.createElement("label",{htmlFor:B},"Filter Column"),h.createElement("select",{id:B,value:D,className:"custom-select",onChange:this.handleColumnChange,disabled:b},O),h.createElement("div",{className:"text-muted small"},"Dropdown filter control will apply its filter to all columns matching this name in this dashboard.")),c&&h.createElement("div",{className:"error-message text-center"},c),E&&h.createElement("div",{className:"dropdown-filter-settings-buttons"},h.createElement(j,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||f||i,tooltip:i?"Cancel disabled while linker open":void 0},"Cancel"),h.createElement(j,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:_||f||i,tooltip:i?"Save disabled while linker open":void 0},"Save")))),h.createElement("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background"},a&&h.createElement(h.Fragment,null,h.createElement("div",{className:"dropdown-filter-column"},h.createElement("div",{className:"dropdown-filter-column-title"},T)),h.createElement("div",{className:"dropdown-filter-card-content"},h.createElement("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center"},h.createElement("select",{className:"custom-select",value:R,ref:this.dropdownRef,onChange:this.handleValueChange,onKeyPress:this.handleDropdownKeyPress,title:"Select Value"},P)),c&&h.createElement("div",{className:"error-message mt-3 text-center"},c)),h.createElement("div",{className:"dropdown-filter-menu"},h.createElement(j,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:h.createElement(re,{icon:fs,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})))))}}gn(di,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});gn(di,"PLACEHOLDER","Select a value...");gn(di,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");gn(di,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const Ag=di;function er(n,e,t){return e=M1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function M1(n){var e=A1(n,"string");return typeof e=="symbol"?e:String(e)}function A1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ut=ie.module("DropdownFilterPanel"),L1=250,k1=(n,e)=>{var{localDashboardId:t}=e,r=Q.getIdFromPanel({props:e}),i=Cc(n,t),a=Eo(n,t),o=wd(n),s=bc(n,t),l=o===Sr.LINKER&&(s===void 0||s===r),d=o===Sr.LINKER&&s!==void 0&&s!==r;return{columns:rb(n,t),columnSelectionValidator:Sc(n,t),dh:bd(n),isLinkerActive:l,disableLinking:d,settings:Bt(n),panelTableMap:i,dashboardLinks:a}},x1=$t(k1,null,null,{forwardRef:!0});class pn extends w.Component{constructor(e){super(e),er(this,"dateTimeFormatter",void 0),er(this,"dropdownFilterRef",void 0),er(this,"panelContainer",void 0),er(this,"pending",void 0),er(this,"cleanup",void 0),er(this,"columnFormats",void 0),er(this,"getCachedValues",Pe((c,m,v)=>{var{type:g,name:f}=m;return g!==void 0&&H.isDateType(g)?c.map(p=>this.dateTimeFormatter.format(p)):c.map(p=>p!=null&&g!=null?v.getFormattedString(p,g,f):null)})),er(this,"getCachedPanelLinks",Pe((c,m)=>{var v=Q.getIdFromPanel(m);return ut.debug("getCachedPanelLinks",c,v),c.filter(g=>{var f;return((f=g.end)===null||f===void 0?void 0:f.panelId)===v})})),er(this,"getCachedSource",Pe(c=>{ut.debug("getCachedSource",c);var m;if(c.length>0){var[v]=c;m=v.start,c.length>1&&ut.error("Filter has more that one link",c)}return m})),er(this,"getCachedSourceTable",Pe((c,m)=>{var v;if(ut.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:g}=m;return(v=c.get(g))!==null&&v!==void 0?v:null})),er(this,"getCachedSourceColumn",Pe((c,m)=>{var v;return ut.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(v=c.columns.find(g=>{var{name:f,type:p}=g;return f===m.columnName&&p===m.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=rt(this.handleChange.bind(this),L1),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=h.createRef(),this.panelContainer=h.createRef(),this.pending=new hi;var{dh:t,panelState:r,settings:i}=e;this.columnFormats=oi.getColumnFormats(i),this.dateTimeFormatter=new Tt(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:o=!1,name:s,type:l,timestamp:d}=r??{},u=s!=null&&l!=null?{name:s,type:l}:void 0;this.state={column:u,formatter:new wn(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:o,wasFlipped:!1,skipUpdate:!1,panelState:r,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:r,value:i,timestamp:a}=this.state,o=this.getSourceTable(t,e);if(o!==null&&this.startListeningToSource(o),r!=null){var{name:s,type:l}=r;this.sendUpdate(s,l,i,a)}}componentDidUpdate(e,t){var{dashboardLinks:r,panelTableMap:i,settings:a}=this.props,{valuesTable:o}=this.state,s=this.getSource(r),l=this.getSourceTable(i,r),d=this.getSource(e.dashboardLinks),u=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),o!==t.valuesTable&&t.valuesTable!=null&&(ut.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(l!==u||s!==d)&&this.updateValuesTable(),l!==u&&(u!==null&&this.stopListeningToSource(u),l!==null&&this.startListeningToSource(l))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);this.pending.cancel(),i!==null&&this.stopListeningToSource(i),this.cleanup&&this.cleanup(),r?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Ag.SOURCE_BUTTON_CLASS_NAME)),r=(e=t?.getBoundingClientRect())!==null&&e!==void 0?e:null;if(r==null||r.width<=0||r.height<=0)return null;var i=r.left+r.width/2,a=r.bottom;return[i,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>pn.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(pn.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var r=this.getSource(t);return this.getCachedSourceTable(e,r)}getValuesColumn(e,t){var r=this.getSource(t);return this.getCachedSourceColumn(e,r)}startListeningToSource(e){var{dh:t}=this.props;ut.debug("startListeningToSource"),e.addEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.addEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.addEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}stopListeningToSource(e){var{dh:t}=this.props;ut.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:r=!1,value:i}=e,{name:a=void 0,type:o=void 0}=t??{},s=!0,l=Date.now();this.setState(d=>{var u,c,{panelState:m,timestamp:v,wasFlipped:g,skipUpdate:f}=d,p=m!=null&&r!==m.isValueShown&&a===m.name&&o===m.type&&i===m.value;return s=(u=!f&&r&&(!p||!g))!==null&&u!==void 0?u:!1,s||(l=v),{panelState:{isValueShown:r,name:a,type:o,value:i,timestamp:(c=l)!==null&&c!==void 0?c:void 0},timestamp:l,wasFlipped:p,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,o,i,l)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){ut.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(it.COLUMN_SELECTED,this,pn.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){ut.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!i}),(t=this.dropdownFilterRef)===null||t===void 0||(r=t.current)===null||r===void 0||r.setFilterState(e)}sendUpdate(e,t,r,i){var a,{dashboardLinks:o,glEventHub:s}=this.props,l=(a=this.getSource(o))===null||a===void 0?void 0:a.panelId,d=l===null?[]:[l];ut.debug("sendUpdate",{name:e,type:t,value:r,timestamp:i,excludePanelIds:d}),s.emit(it.FILTERS_CHANGED,this,{name:e,type:t,value:r??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,r=this.getSource(e),i=this.getSourceTable(t,e);if(ut.debug("updateValuesTable",r,i),this.setState({values:[],valuesTable:void 0,error:null}),r==null){ut.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Te.isCanceled(a)||(ut.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);if(ut.debug("applySourceSorts",i?.sort),r==null||i==null){ut.debug("Table not initialized");return}var a=[...i.sort];r.applySort(a),this.setViewport(r)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);if(ut.debug("applySourceFilters",i?.filter),r==null||i==null){ut.debug("Table not initialized");return}var a=[...i.filter];r.applyFilter(a),this.setViewport(r)}updateViewportListener(e){var{dh:t}=this.props;if(ut.debug("updateViewportListener",e?.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,r=this.getValuesColumn(e,t);if(!r){ut.error("values column is null");return}e.setViewport(0,pn.MAX_TABLE_SIZE-1,[r])}updateFormatterSettings(e){var{dh:t}=this.props,r=oi.getColumnFormats(e);ct(this.columnFormats,r)||(this.columnFormats=r,this.setState({formatter:new wn(t,r)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:r}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){ut.error("valuesTable is null");return}var o=this.getValuesColumn(a,i);if(!o){ut.error("Values column not found");return}var s=r.map(l=>l.get(o));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:o})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,pn.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:r,glContainer:i,glEventHub:a,isLinkerActive:o}=this.props,{column:s,formatter:l,isDisconnected:d,isValueShown:u,value:c,values:m,valuesColumn:v,isLoading:g,isLoaded:f}=this.state,p=this.getSource(t),C=this.getSettingsErrorMessage(),b=this.getPanelErrorMessage(),S=f&&v!=null?this.getCachedValues(m,v,l):[];return h.createElement(fc,{errorMessage:b,isLoading:g,isLoaded:f,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter"},h.createElement("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container"},h.createElement(Ag,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:u,isLinkerActive:o,disableLinking:r,isLoaded:f,settingsError:C,source:p,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})))}}er(pn,"displayName","DropdownFilterPanel");er(pn,"COMPONENT","DropdownFilterPanel");er(pn,"MAX_TABLE_SIZE",256);er(pn,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var H1=x1(pn);const ba=H1;function xn(n){return n.type==="directory"}var Jn;(function(n){n.GROOVY="text/x-groovy",n.PLAIN_TEXT="text/plain",n.PYTHON="text/x-python",n.PYTHON_COMPILED="application/x-python-code",n.SCALA="text/x-scala",n.UNKNOWN=""})(Jn||(Jn={}));class ca{static fileExtensionToString(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return e.length===0?"":".".concat(e)}static getDepth(e){var t;if(!ca.hasPath(e))throw new Error("Invalid path provided: ".concat(e));var r=(t=e.match(/\//g))!==null&&t!==void 0?t:[];return r.length-1}static getExtension(e){var t=this.getBaseName(e).split(".");if(t.length>1){var r;return(r=t.pop())!==null&&r!==void 0?r:""}return""}static getBaseName(e){var t;return(t=e.split("/").pop())!==null&&t!==void 0?t:""}static getCopyFileName(e){var t=e.lastIndexOf("."),r=null,i=null;t<0?i=e:(i=e.substring(0,t),r=e.substring(t+1));var a=i?"".concat(i,"-copy"):"Copy";return r!==null?"".concat(a,".").concat(r):a}static getMimeType(e){var t=this.getExtension(e).toLowerCase();switch(t){case"groovy":return Jn.GROOVY;case"py":return Jn.PYTHON;case"pyc":return Jn.PYTHON_COMPILED;case"scala":return Jn.SCALA;case"txt":return Jn.PLAIN_TEXT;default:return Jn.UNKNOWN}}static getParent(e){if(!ca.hasPath(e))throw new Error("Invalid name provided: ".concat(e));for(var t=e.split("/");t.pop()==="";);if(t.length===0)throw new Error("No parent for path provided: ".concat(e));return"".concat(t.join("/"),"/")}static getPath(e){if(!ca.hasPath(e))throw new Error("Invalid filename provided: ".concat(e));var t=e.split("/");return t.pop(),"".concat(t.join("/"),"/")}static hasPath(e){return e.startsWith("/")}static isPath(e){return e.startsWith("/")&&e.endsWith("/")}static makePath(e){return e.endsWith("/")?e:"".concat(e,"/")}static replaceExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r=e.lastIndexOf("."),i=r>-1?e.substring(0,r):e,a=ca.fileExtensionToString(t);return"".concat(i).concat(a)}static validateName(e){var t=[".",".."],r=/[\\/\0]/g,i=new Map([["\0","null"]]);if(!e)throw new Ja("Name cannot be empty");if(t.includes(e))throw new Ja('"'.concat(e,'" is a reserved name'));if(r.test(e)){var a,o;throw new Ja('Invalid characters in name: "'.concat((a=(o=e.match(r))===null||o===void 0?void 0:o.reduce((s,l)=>s.includes(l)?s:[...s,l],[]).map(s=>i.has(s)?i.get(s):s).join('", "'))!==null&&a!==void 0?a:"",'"'))}}static reducePaths(e){var t=e.filter(r=>ca.isPath(r));return e.filter(r=>!t.some(i=>r!==i&&r.startsWith(i)))}static removeRoot(e,t){if(e.length===0)return t;if(!t.startsWith(e))throw new Error("Filename ".concat(t," does not start with expected root ").concat(e));return t.substring(e.length)}static addRoot(e,t){return"".concat(e).concat(t)}}const be=ca;var yc=26;function Ph(n){return xn(n)?be.makePath(n.filename):be.getPath(n.filename)}function Lg(n,e){if(n.length===0||e==null)throw new Error("No items to move");var t=Ph(e);if(n.some(r=>{var{filename:i}=r;return be.getPath(i)===t}))throw new Error("File already in the destination folder");if(n.some(r=>xn(r)&&t.startsWith(be.makePath(r.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:n,targetPath:t}}function U1(n){if(xn(n))return n.isExpanded?cw:mw;var e=be.getMimeType(n.basename);switch(e){case Jn.PYTHON:return gw;default:return vw}}function Oh(n){var e,{children:t,draggedItems:r,isDragInProgress:i,isDropTargetValid:a,isSelected:o,item:s,itemIndex:l,dropTargetItem:d,onDragStart:u,onDragOver:c,onDragEnd:m,onDrop:v}=n,g=(e=r?.some(O=>O.id===s.id))!==null&&e!==void 0?e:!1,f=Ph(s),p=i&&d?Ph(d):null,C=i&&a&&xn(s)&&p===f,b=i&&a&&p===f,S=i&&!a&&p===f,E=U1(s),y=be.getDepth(s.filename),T=Array(y).fill(null).map((O,D)=>h.createElement("span",{className:"file-list-depth-line",key:D}));return h.createElement("div",{className:te("d-flex w-100 align-items-center","file-list-item",{"is-dragged":g,"is-exact-drop-target":C,"is-in-drop-target":b,"is-invalid-drop-target":S,"is-selected":o}),onDragStart:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>u(l,O)),onDragOver:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>c(l,O)),onDragEnd:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>m(l,O)),onDrop:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>v(l,O)),draggable:!0,role:"presentation","aria-label":s.basename},T," ",h.createElement(re,{icon:E,className:"item-icon",fixedWidth:!0})," ",h.createElement("span",{className:"truncation-wrapper"},t??s.basename,h.createElement(pt,{options:{placement:"left"}},t??s.basename)))}function kg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function hl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kg(Object(t),!0).forEach(function(r){$1(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function $1(n,e,t){return e=B1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function B1(n){var e=V1(n,"string");return typeof e=="symbol"?e:String(e)}function V1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Zt=ie.module("FileList"),G1=500,xg="item-list-scroll-pane";function W1(n){var{isMultiSelect:e=!1,table:t,onFocusChange:r=()=>{},onMove:i,onSelect:a,onSelectionChange:o=()=>{},renderItem:s=Oh,rowHeight:l=yc,overscanCount:d=io.DEFAULT_OVERSCAN}=n,[u,c]=w.useState(()=>({items:[],offset:0,itemCount:0})),[m,v]=w.useState({top:0,bottom:0}),[g,f]=w.useState(),[p,C]=w.useState(),[b,S]=w.useState(),[E,y]=w.useState([]),T=w.useRef(null),O=w.useRef(null),D=w.useCallback(W=>{if(W.length===0||u==null)return[];for(var ee=[],oe=0;oe<W.length;oe+=1)for(var ae=W[oe],se=ae[0];se<=ae[1];se+=1)se>=u.offset&&se<u.offset+u.items.length&&ee.push(u.items[se-u.offset]);return ee},[u]),P=w.useCallback(W=>{var ee=D([[W,W]]);if(ee.length>0)return ee[0]},[D]),R=w.useCallback(()=>{var W=hm.count(E);if(W===0)return null;if(W===1){var ee=E[0][0],oe=P(ee);if(oe!=null)return oe.filename}return"".concat(W," items")},[P,E]),_=w.useCallback(W=>{if(!(!p||!g)){Zt.debug("dropItems",p,"to",W);try{var{files:ee,targetPath:oe}=Lg(p,g);if(i?.(ee,oe),W!=null){var ae;y([[W,W]]),(ae=T.current)===null||ae===void 0||ae.focusItem(W)}}catch(se){Zt.error("Unable to complete move",se)}}},[p,g,i]),M=w.useCallback((W,ee)=>{var oe=u.items[W-u.offset];oe!==void 0&&(Zt.debug("handleItemClick",oe),a(oe,ee),xn(oe)&&t?.setExpanded(oe.filename,!oe.isExpanded))},[u,a,t]),A=w.useCallback((W,ee)=>{var oe;Zt.debug2("handleItemDragStart",W,E);var ae=E;hm.isSelected(E,W)||(ae=[[W,W]],y(ae)),C(D(ae)),(oe=T.current)===null||oe===void 0||oe.resetMouseState();var se=document.createElement("div");se.innerHTML='<div class="dnd-placeholder-content">'.concat(R(),"</div>"),se.className="file-list-dnd-placeholder",document.body.appendChild(se),ee.dataTransfer.setDragImage(se,0,0),ee.dataTransfer.effectAllowed="move",S(se)},[R,D,E]),B=w.useCallback((W,ee)=>{ee.preventDefault(),Zt.debug2("handleItemDragOver",ee),f(P(W))},[P]),$=w.useCallback((W,ee)=>{Zt.debug("handleItemDragEnd",W),b?.remove(),C(void 0),f(void 0),S(void 0)},[b]),z=w.useCallback((W,ee)=>{_(W)},[_]),G=w.useCallback(()=>{Zt.debug2("handleItemDragExit"),f(void 0)},[]),K=w.useCallback(W=>{W.target instanceof Element&&W.target.classList.contains(xg)&&(W.preventDefault(),Zt.debug2("handleListDragOver",W),f({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),X=w.useCallback(W=>{W.target instanceof Element&&W.target.classList.contains(xg)&&(Zt.debug("handleListDrop"),_())},[_]),J=w.useCallback(W=>{if(Zt.debug2("handleSelectionChange",W),W!==E){y(W);var ee=D(W);o(ee)}},[D,o,E]),I=w.useCallback(W=>{if(Zt.debug2("handleFocusChange",W),W!=null){var[ee]=D([[W,W]]);r(ee)}else r()},[D,r]),N=w.useCallback((W,ee)=>{Zt.debug("handleViewportChange",W,ee),(W!==m.top||ee!==m.bottom)&&v({top:W,bottom:ee})},[m]),k=w.useMemo(()=>{if(!p||!g)return!1;try{return Lg(p,g),Zt.debug("handleValidateDropTarget true"),!0}catch{return Zt.debug("handleValidateDropTarget false"),!1}},[p,g]),{focusedPath:x}=n;w.useEffect(()=>{x!==void 0&&(x==="/"?t.collapseAll():(t.setExpanded(x,!1),t.setExpanded(x,!0)))},[t,x]),w.useEffect(function(){Zt.debug("updating table viewport",m),t?.setViewport({top:Math.max(0,m.top-d),bottom:m.bottom+d})},[d,t,m]),w.useEffect(function(){var ee=t.onUpdate(oe=>{c({items:oe.items.map(ae=>hl(hl({},ae),{},{itemName:ae.basename})),offset:oe.offset,itemCount:t.size})});return()=>{ee()}},[t]),w.useEffect(function(){if(g!=null&&xn(g)&&g.filename!=="/"){var ee=setTimeout(()=>{g.isExpanded||t?.setExpanded(g.filename,!0)},G1);return()=>clearTimeout(ee)}},[g,t]);var Y=w.useCallback(W=>s(hl(hl({},W),{},{isDragInProgress:p!=null,dropTargetItem:g,draggedItems:p,isDropTargetValid:k,onDragStart:A,onDragEnd:$,onDragOver:B,onDragExit:G,onDrop:z})),[$,G,B,A,z,p,g,k,s]);return h.createElement("div",{ref:O,className:te("file-list",{"is-dragging":p!=null}),onDragOver:K,onDrop:X},h.createElement(io,{ref:T,items:u.items,itemCount:u.itemCount,offset:u.offset,onFocusChange:I,onSelect:M,onSelectionChange:J,onViewportChange:N,selectedRanges:E,renderItem:Y,rowHeight:l,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1}))}var j1={name:"File Explorer",DELETE:qe.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[Oe.DELETE],macShortcut:[we.CMD,Oe.BACKSPACE]}),RENAME:qe.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[Oe.ENTER],macShortcut:[Oe.ENTER]})};const Hg={FILE_EXPLORER:j1};var Ug=ie.module("FileListItemEditor"),z1=()=>Promise.resolve();function K1(n){var{item:e,onCancel:t,onSubmit:r,validate:i=z1}=n,a=w.useRef(null),[o,s]=w.useState(e.basename),[l,d]=w.useState(),[u,c]=w.useState(Promise.resolve()),m=w.useCallback(()=>{var b;(b=a.current)===null||b===void 0||b.focus()},[a]),v=w.useCallback(b=>b.stopPropagation(),[]),g=w.useCallback(()=>{u.then(()=>{r(o)}).catch(b=>Ug.info("Unable to validate name",b))},[r,o,u]);w.useEffect(function(){var S=Te.makeCancelable(i(o));return S.then(()=>d(void 0)).catch(E=>{Te.isCanceled(E)||d(E)}),c(S),()=>S.cancel()},[i,o]),w.useEffect(function(){m()},[m]);var f=w.useCallback(()=>{Ug.debug2("handleBlur"),g()},[g]),p=w.useCallback(b=>{var{value:S}=b.target;s(S)},[]),C=w.useCallback(b=>{b.stopPropagation();var{key:S}=b;switch(S){case"Enter":{g();break}case"Escape":{t();break}}},[t,g]);return h.createElement("div",{className:"file-list-item-editor"},h.createElement("input",{type:"text",className:te("form-control file-list-item-editor-input",{"is-invalid":l}),value:o,ref:a,onBlur:f,onKeyDown:C,onChange:p,onClick:v,onDoubleClick:v,onMouseDown:v}),l&&h.createElement("div",{className:"invalid-feedback"},"".concat(l)))}function ab(n){var{isMultiSelect:e=!1,focusedPath:t,showContextMenu:r=!1,onCreateFile:i,onCreateFolder:a,onCopy:o,onDelete:s,onMove:l,onRename:d,onSelect:u,onSelectionChange:c,table:m,rowHeight:v=yc,validateRename:g=()=>Promise.resolve()}=n,[f,p]=w.useState(),[C,b]=w.useState([]),[S,E]=w.useState(),y=w.useCallback(G=>{b(G),c?.(G)},[c]),T=w.useCallback(G=>{E(G)},[]),O=w.useCallback(()=>{S&&o?.(S)},[S,o]),D=w.useCallback(()=>{C.length>0&&s?.(C)},[s,C]),P=w.useCallback(()=>{i?.()},[i]),R=w.useCallback(()=>{S&&a?.(be.getPath(S.filename))},[S,a]),_=w.useCallback(()=>{S&&p(S)},[S]),M=w.useCallback(()=>{p(void 0)},[]),A=w.useCallback(G=>{f&&(d?.(f,G),p(void 0))},[d,f]),B=w.useMemo(()=>{if(f)return[];var G=[];return i&&G.push({title:"New File",description:"Create new file",action:P,group:le.groups.medium}),a&&G.push({title:"New Folder",description:"Create new folder",action:R,group:le.groups.medium}),o&&G.push({title:"Copy",description:"Copy",action:O,group:le.groups.low,disabled:S==null||xn(S)}),s&&C.length>0&&G.push({title:"Delete",description:"Delete",shortcut:Hg.FILE_EXPLORER.DELETE,action:D,group:le.groups.low}),d&&G.push({title:"Rename",description:"Rename",shortcut:Hg.FILE_EXPLORER.RENAME,action:_,group:le.groups.low,disabled:S==null}),G},[O,D,P,R,_,S,o,i,a,s,d,C,f]),$=w.useCallback(G=>(L(f),g(f,G)),[f,g]),z=w.useCallback(G=>{var{item:K}=G;return f&&f.filename===K.filename?h.createElement(Oh,G,h.createElement(K1,{item:K,validate:$,onSubmit:A,onCancel:M})):h.createElement(Oh,G)},[M,A,f,$]);return h.createElement("div",{className:"file-list-container"},m!=null&&h.createElement(W1,{onMove:l,onSelect:u,onSelectionChange:y,onFocusChange:T,renderItem:z,rowHeight:v,table:m,isMultiSelect:e,focusedPath:t}),r&&h.createElement(le,{actions:B}))}ab.displayName="FileListContainer";function $g(n,e,t){return e=Y1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Y1(n){var e=q1(n,"string");return typeof e=="symbol"?e:String(e)}function q1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class X1 extends Ja{constructor(e){super("Name already exists"),$g(this,"isExistingFile",!0),$g(this,"info",void 0),this.info=e}}const Pl=X1;function Q1(n,e,t){return e=Z1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z1(n){var e=J1(n,"string");return typeof e=="symbol"?e:String(e)}function J1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ek extends Error{constructor(){super("No file exists at the path specified"),Q1(this,"isFileNotFound",!0)}}const Tc=ek;function Bg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Vg(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Bg(a,r,i,o,s,"next",l)}function s(l){Bg(a,r,i,o,s,"throw",l)}o(void 0)})}}var ia=ie.module("FileExplorer");function Pc(n){var{storage:e,isMultiSelect:t=!1,focusedPath:r,onDelete:i=()=>{},onRename:a=()=>{},onSelect:o,onSelectionChange:s,rowHeight:l=yc}=n,[d,u]=w.useState([]),[c,m]=w.useState();w.useEffect(function(){var O;function D(){return P.apply(this,arguments)}function P(){return P=Vg(function*(){ia.debug("initTable"),O=Te.makeCancelable(e.getTable(),R=>R.close());try{m(yield O)}catch(R){Te.isCanceled(R)||ia.error("Unable to initialize table",R)}}),P.apply(this,arguments)}return D(),()=>{O.cancel()}},[e]);var v=w.useCallback(T=>{Te.isCanceled(T)||ia.error(T)},[]),g=w.useCallback(T=>{ia.debug("handleDelete, pending confirmation",T),u(T)},[]),f=w.useCallback(()=>{ia.debug("handleDeleteConfirm",d),d.forEach(T=>e.deleteFile(xn(T)?be.makePath(T.filename):T.filename)),i(d),u([])},[d,i,e]),p=w.useCallback(()=>{ia.debug("handleDeleteCancel"),u([])},[]),C=w.useCallback((T,O)=>{var D=be.reducePaths(T.map(P=>xn(P)?be.makePath(P.filename):P.filename));D.forEach(P=>{var R=be.isPath(P)?"".concat(O).concat(be.getBaseName(P.substring(0,P.length-1)),"/"):"".concat(O).concat(be.getBaseName(P));e.moveFile(P,R).then(()=>{a(P,R)}).catch(v)})},[v,a,e]),b=w.useCallback((T,O)=>{var D=T.filename,P=xn(T);P&&!D.endsWith("/")&&(D="".concat(D,"/"));var R="".concat(be.getParent(D)).concat(O);P&&!R.endsWith("/")&&(R="".concat(R,"/")),ia.debug2("handleRename",D,R),e.moveFile(D,R).catch(v),a(D,R)},[v,a,e]),S=w.useCallback(function(){var T=Vg(function*(O,D){if(D!==O.basename){be.validateName(D);var P="".concat(be.getPath(O.filename)).concat(D);try{var R=yield e.info(P);throw new Pl(R)}catch(_){if(!(_ instanceof Tc))throw _}}});return function(O,D){return T.apply(this,arguments)}}(),[e]),E=d.length>0,y=w.useMemo(()=>d.length===1?'Are you sure you want to delete "'.concat(d[0].filename,'"?'):"Are you sure you want to delete the selected files?",[d]);return h.createElement("div",{className:"file-explorer"},c&&h.createElement(ab,{isMultiSelect:t,focusedPath:r,showContextMenu:!0,onMove:C,onDelete:g,onRename:b,onSelect:o,onSelectionChange:s,rowHeight:l,table:c,validateRename:S}),h.createElement(ss,{isOpen:E,headerText:y,bodyText:"You cannot undo this action.",onCancel:p,onConfirm:f,confirmButtonText:"Delete"}))}Pc.displayName="FileExplorer";function Gg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function tk(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Gg(a,r,i,o,s,"next",l)}function s(l){Gg(a,r,i,o,s,"throw",l)}o(void 0)})}}function ki(n,e,t){return e=rk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rk(n){var e=nk(n,"string");return typeof e=="symbol"?e:String(e)}function nk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var aa=ie.module("NewItemModal");class Sa extends w.PureComponent{static getValidationMessage(e){return e instanceof Pl&&e.info.type==="directory"?"Error: Cannot overwrite existing directory":"".concat(e)}static handleError(e){Te.isCanceled(e)||aa.error(e)}constructor(e){super(e),ki(this,"inputRef",h.createRef()),ki(this,"cancelableValidatePromise",void 0),ki(this,"cancelableExistingItemPromise",void 0),ki(this,"pending",new hi),ki(this,"pathMap",new Map),ki(this,"isInitialLoad",!0),this.handleModalSubmit=this.handleModalSubmit.bind(this),this.handleModalOpened=this.handleModalOpened.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleValidationError=this.handleValidationError.bind(this),this.handleOverwriteCancel=this.handleOverwriteCancel.bind(this),this.handleOverwriteConfirm=this.handleOverwriteConfirm.bind(this),this.handleExtensionChangeCancel=this.handleExtensionChangeCancel.bind(this),this.handleExtensionChangeConfirm=this.handleExtensionChangeConfirm.bind(this),this.handleBreadcrumbSelect=this.handleBreadcrumbSelect.bind(this);var{defaultValue:t}=e,r=be.hasPath(t)?be.getPath(t):"/";this.state={isSubmitting:!1,path:r,prevExtension:be.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:be.getBaseName(t)}}componentDidUpdate(e,t){var{isOpen:r}=this.props,{isOpen:i}=e,{value:a,path:o}=this.state;!i&&r&&(this.resetValue(),this.isInitialLoad=!0),i&&r&&(!this.isInitialLoad&&(o!==t.path||a!==t.value)&&this.updateValidationStatus(o,a),this.isInitialLoad=!1)}componentWillUnmount(){this.pending.cancel(),this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableExistingItemPromise&&this.cancelableExistingItemPromise.cancel()}resetValue(){var{defaultValue:e}=this.props,t=be.hasPath(e)?be.getPath(e):"/";this.setState({path:t,value:be.getBaseName(e),validationError:void 0,prevExtension:be.getExtension(e),isSubmitting:!1})}getValidationPromise(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableValidatePromise=Te.makeCancelable(this.validateName(e,t,r)),this.cancelableValidatePromise}validateName(e,t,r){var i=this;return tk(function*(){be.validateName(t);var{defaultValue:a,storage:o}=i.props;if(r){var s="".concat(e).concat(t);if(s!==a)try{var l=yield o.info(s);throw new Pl(l)}catch(d){if(!(d instanceof Tc))throw d}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(Sa.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(aa.debug("handleSelect",e),e.type==="directory")this.setState({path:be.makePath(e.filename)});else{var t=e.basename,r=be.getPath(e.filename);this.setState({value:t,path:r},()=>{this.focusRenameInput()})}}handleKeyDown(e){var{key:t}=e;switch(e.stopPropagation(),t){case"Enter":{e.preventDefault(),this.submitModal();break}case"Escape":{e.preventDefault();var{onCancel:r}=this.props;r();break}}}handleValidationError(e){if(!(e instanceof Ja))throw e;aa.debug("Validation error",e),this.setState({validationError:e})}handleOverwriteCancel(){this.setState({showOverwriteModal:!1,isSubmitting:!1})}handleOverwriteConfirm(){this.setState({showOverwriteModal:!1});var{onSubmit:e}=this.props,{path:t,value:r}=this.state;aa.debug("handleOverwriteConfirm",t,r),e("".concat(t).concat(r),!0)}handleExtensionChangeCancel(){aa.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:r}=e,i=be.replaceExtension(t,r);return{showExtensionChangeModal:!1,value:i}}),this.submitModal(!0)}handleExtensionChangeConfirm(){aa.debug("handleExtensionChangeConfirm"),this.setState({showExtensionChangeModal:!1}),this.submitModal(!0)}focusRenameInput(){var e=this.inputRef.current;if(e){var{type:t}=this.props,{value:r}=e,i=t==="directory"?r.length:r.lastIndexOf(".");e.focus(),e.setSelectionRange(0,i>0?i:r.length)}}submitModal(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.setState(t=>{var{prevExtension:r,value:i,path:a}=t,{notifyOnExtensionChange:o,type:s}=this.props;aa.debug("submitModal",r,i);var l=be.getExtension(i);return o&&!e&&r!==null&&r!==l?{isSubmitting:!1,showExtensionChangeModal:!0,newExtension:l}:(this.getValidationPromise(a,i,!0).then(d=>{var{onSubmit:u}=this.props;u("".concat(a).concat(i))}).catch(d=>{if(d instanceof Pl&&s!=="directory"&&d.info.type!=="directory"){this.setState({showOverwriteModal:!0});return}throw d}).catch(d=>{throw Te.isCanceled(d)&&this.setState({isSubmitting:!1}),d}).catch(this.handleValidationError).catch(Sa.handleError),{isSubmitting:!0,showExtensionChangeModal:!1,newExtension:void 0})})}handleBreadcrumbSelect(e){this.setState({path:e})}renderPathButtons(e){var t=e.split("/");return t.pop(),t.map((r,i)=>{for(var a="",o=0;o<i;o+=1)a+="".concat(t[o],"/");return a+="".concat(r,"/"),h.createElement(h.Fragment,{key:a},h.createElement(j,{kind:"ghost",className:"directory-breadcrumbs",onClick:()=>this.handleBreadcrumbSelect(a),"aria-label":i===0?"Home":void 0,icon:i===0?h.createElement(re,{icon:fw,transform:"right-1.6"}):void 0,tooltip:i===0?"Home":void 0},r),"/")})}render(){var{storage:e,isOpen:t,onCancel:r,placeholder:i,title:a,type:o}=this.props,{isSubmitting:s,path:l,showExtensionChangeModal:d,showOverwriteModal:u,validationError:c,value:m,prevExtension:v,newExtension:g}=this.state,f=o==="directory",p=be.fileExtensionToString(v),C=be.fileExtensionToString(g),b=f?"Create":"Save",S=f?"New folder name":"Save file as";return h.createElement(h.Fragment,null,h.createElement(od,{isOpen:t,toggle:r,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal theme-bg-dark"},h.createElement(sd,{toggle:r},a),h.createElement(ld,null,h.createElement("form",null,h.createElement("div",{className:"d-flex flex-column new-file-modal-content"},h.createElement("div",{className:"flex-grow-0 mb-4"},h.createElement("label",{htmlFor:"file-name-input"},S),h.createElement("input",{id:"file-name-input",type:"text",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:"false",className:te("form-control",{"is-invalid":c}),value:m,placeholder:i,ref:this.inputRef,onKeyDown:this.handleKeyDown,onChange:this.handleChange}),c&&h.createElement("div",{className:"invalid-feedback"},Sa.getValidationMessage(c))),h.createElement("div",{className:"flex-grow-0"},h.createElement("label",null,"Directory: /"),this.renderPathButtons(l)),h.createElement("div",{className:"flex-grow-1 file-explorer-container"},h.createElement(Pc,{onSelect:this.handleSelect,storage:e,focusedPath:l}))))),h.createElement(qf,null,h.createElement(j,{kind:"secondary",onClick:r},"Cancel"),h.createElement(j,{kind:"primary",disabled:s,onClick:this.handleModalSubmit},b))),h.createElement(ss,{isOpen:u,headerText:"Confirm overwrite",bodyText:"File with this name already exists, are you sure you want to overwrite it?",onCancel:this.handleOverwriteCancel,onConfirm:this.handleOverwriteConfirm,cancelButtonText:"Cancel",confirmButtonText:"Overwrite"}),h.createElement(ss,{isOpen:d,headerText:"Confirm extension change",bodyText:'Are you sure you want to change extension from "'.concat(p,'" to "').concat(C,'"?'),onCancel:this.handleExtensionChangeCancel,onConfirm:this.handleExtensionChangeConfirm,cancelButtonText:'Keep "'.concat(p,'"'),confirmButtonText:'Use "'.concat(C,'"')}))}}ki(Sa,"propTypes",{isOpen:q.bool,title:q.string.isRequired,defaultValue:q.string,type:q.oneOf(["file","directory"]).isRequired,onSubmit:q.func,onCancel:q.func,placeholder:q.string,storage:q.shape({}).isRequired,notifyOnExtensionChange:q.bool});ki(Sa,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(n,e)=>{},onCancel:()=>{}});const ob=Sa;function ik(n){var{createFile:e,createFolder:t,onSearchChange:r,defaultSearchText:i=""}=n;return h.createElement("div",{className:"file-explorer-toolbar"},h.createElement("div",{className:"file-explorer-toolbar-buttons"},h.createElement(j,{kind:"ghost",icon:Uf,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),h.createElement(j,{kind:"ghost",icon:pw,tooltip:"New folder",onClick:t,"aria-label":"New folder"})),r&&h.createElement("div",{className:"file-explorer-toolbar-search"},h.createElement(Bw,{value:i,onChange:r,placeholder:"Search by name"})))}function sb(n,e,t){return e=ak(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ak(n){var e=ok(n,"string");return typeof e=="symbol"?e:String(e)}function ok(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ga=ie.module("FileExplorerPanel"),sk=(n,e)=>{var t=bp(n),r=Ta(n,e.localDashboardId),{session:i,config:a}=r??{},o=a?.type;return{fileStorage:t,language:o,session:i}},lk=$t(sk,null,null,{forwardRef:!0});function dk(n){var e=n;return e!=null&&typeof e.button=="number"}class uo extends h.Component{static handleError(e){Ga.error(e)}static isFocusEvent(e){return dk(e)?e.detail>=2:!0}constructor(e){super(e),this.handleFileSelect=this.handleFileSelect.bind(this),this.handleCreateFile=this.handleCreateFile.bind(this),this.handleCreateDirectory=this.handleCreateDirectory.bind(this),this.handleCreateDirectoryCancel=this.handleCreateDirectoryCancel.bind(this),this.handleCreateDirectorySubmit=this.handleCreateDirectorySubmit.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleRename=this.handleRename.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this);var{session:t,language:r}=e;this.state={isShown:!1,language:r,session:t,showCreateFolder:!1,focusedFilePath:"/"}}componentDidMount(){this.isHidden()||this.setState({isShown:!0})}handleCreateFile(){var{glEventHub:e}=this.props,{session:t,language:r}=this.state,i={language:r,value:""};Ga.debug("handleCreateFile",t,r,i),e.emit(Ye.CREATE_NOTEBOOK,t,r,i)}handleCreateDirectory(e){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){Ga.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){Ga.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(uo.handleError)}handleDelete(e){var{glEventHub:t}=this.props;e.forEach(r=>{t.emit(Ye.CLOSE_FILE,{id:r.filename,itemName:r.filename})})}handleSelectionChange(e){var t="/";e.length===1&&(e[0].type==="directory"?t=be.makePath(e[0].filename):t=be.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(Ga.debug("fileSelect",e),e.type!=="directory"){var r=uo.isFocusEvent(t),i={id:e.filename,itemName:e.filename},{glEventHub:a}=this.props,{session:o,language:s}=this.state,l={value:null,language:s};a.emit(Ye.SELECT_NOTEBOOK,o,s,l,i,r)}}handleRename(e,t){var{glEventHub:r}=this.props;Ga.debug("handleRename",e,t),r.emit(Ye.RENAME_FILE,e,t)}handleSessionOpened(e,t){var{language:r}=t;this.setState({session:e,language:r})}handleSessionClosed(){this.setState({session:void 0,language:void 0})}handleShow(){this.setState({isShown:!0})}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}render(){var{fileStorage:e,glContainer:t,glEventHub:r}=this.props,{isShown:i,showCreateFolder:a,focusedFilePath:o}=this.state;return h.createElement(vi,{className:"file-explorer-panel",componentPanel:this,glContainer:t,glEventHub:r,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow},h.createElement(ik,{createFile:this.handleCreateFile,createFolder:this.handleCreateDirectory}),i&&h.createElement(Pc,{isMultiSelect:!0,storage:e,onDelete:this.handleDelete,onRename:this.handleRename,onSelect:this.handleFileSelect,onSelectionChange:this.handleSelectionChange}),h.createElement(ob,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:o}))}}sb(uo,"COMPONENT","FileExplorerPanel");sb(uo,"TITLE","File Explorer");var uk=lk(uo);const Ql=uk;function Wg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function cl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wg(Object(t),!0).forEach(function(r){Xo(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Wg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Xo(n,e,t){return e=hk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function hk(n){var e=ck(n,"string");return typeof e=="symbol"?e:String(e)}function ck(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var vt=ie.module("FilterSetManager"),mk="Enter name...",jg="No Available Filter Sets";class Zl extends w.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),Xo(this,"renameInputRef",h.createRef()),Xo(this,"dropdownRef",h.createRef()),Xo(this,"editDropdownRef",h.createRef()),Xo(this,"isRenamingExistingSet",fe((t,r)=>r!==void 0&&t.some(i=>{var{id:a}=i;return a===r.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:r,filterSets:i}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!r&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),i!==e.filterSets)if(!r&&i.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:o}=this.props;o({isValueShown:!0,selectedId:i[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;vt.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:r,onChange:i}=this.props;if(vt.debug("updateSelectedId",t,r),!!e&&!t.some(o=>{var{id:s}=o;return s===r})){var a=t.length===0;i({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){var{value:t}=e.target;this.setState({editId:t})}handleFilterChange(e){var{value:t}=e.target,{isValueShown:r,onChange:i}=this.props;this.applyFilterSet(t),i({isValueShown:r,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:r}=this.props;this.setState({modifiedFilterSets:[]}),r.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:r,editId:i}=this.state;this.setState({modifiedFilterSets:[]}),vt.debug("Update sets",r,i),t(r),r.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Zl.animateScreenFlash();var t=Xe(),r=e(),i={id:t,title:"",panels:r};vt.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:r,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return vt.debug("Name cannot be empty",a),"Name cannot be empty";if(r!==void 0&&i.some(o=>{var{title:s,id:l}=o;return s===a&&l!==r.id}))return vt.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:r,modifiedFilterSets:i,restoreFullState:a}=this.state;if(r===void 0){vt.error("Renamed set undefined.");return}var o=this.getNameError(t);if(vt.debug("handleRenameConfirm",t,o),o!==void 0){this.setState({nameInputError:o});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",l=cl(cl({},r),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:m}=c;return m===r.id}),u=[...i];d>=0?(u[d]=l,vt.debug("Renamed existing set",u)):(u.push(l),vt.debug("Added new set to modified sets",u)),this.setState({editId:l.id,modifiedFilterSets:u,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:r}=e,i=r.findIndex(l=>{var{id:d}=l;return d===t});if(i<0)return vt.error("Unable to find selected filterSet index",r,t),null;var a=r.filter(l=>{var{id:d}=l;return d!==t}),o=Math.max(0,Math.min(a.length-1,i-1)),s=a.length>0?a[o].id:void 0;return vt.debug("Deleted selected set",t,r,a),vt.debug("New selection",o,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Zl.animateScreenFlash();var t=e();this.setState(r=>{var{modifiedFilterSets:i,editId:a}=r;if(a===void 0)return vt.error("Filter for update not selected."),null;var o=[...i],s=o.findIndex(l=>{var{id:d}=l;return d===a});return s<0?(vt.error("Selected set for update not found."),null):(o[s]=cl(cl({},o[s]),{},{panels:t}),vt.debug("Update set",o,t),{modifiedFilterSets:o})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:r}=e,i=r.find(s=>{var{id:l}=s;return l===t});if(i===void 0)return vt.error("Could not find selected set",t,r),null;var{title:a,restoreFullState:o=!1}=i;return{nameInputValue:a,nameInputError:void 0,renameSet:i,restoreFullState:o}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:r}=this.props;t({isValueShown:!1,selectedId:r})}handleBackgroundClick(e){vt.debug("handleBackgroundClick"),e.target!==this.dropdownRef.current&&this.focusInput()}handleNameInputChange(e){var{value:t}=e.target,r=this.getNameError(t);this.setState({nameInputValue:t,nameInputError:r})}handleNameInputKeyPress(e){var{key:t}=e;t==="Enter"&&(e.preventDefault(),this.handleRenameConfirm())}isNameInputScreen(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,{renameSet:t}=e;return t!==void 0}applyFilterSet(e){var{onApply:t,filterSets:r}=this.props;if(e===void 0){vt.debug("No filter selected");return}var i=r.find(a=>{var{id:o}=a;return o===e});if(i===void 0){vt.debug("Selected id not found in filterSets",e,r);return}vt.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:r,renameSet:i,modifiedFilterSets:a,restoreFullState:o}=this.state,{isValueShown:s,filterSets:l,selectedId:d}=this.props,u=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),m=a.length===0,v=!u&&m&&l.length===0,g=!u&&!v,f=h.createElement("div",{className:"fa-layers mr-3"},h.createElement(re,{icon:no,mask:Gu,transform:"shrink-1 down-5 right-7"}),h.createElement(re,{icon:Yi,className:"text-primary",transform:"shrink-6 down-5 right-7"})),p=h.createElement("div",{className:"fa-layers"},h.createElement(re,{icon:no,mask:Gu,transform:"shrink-1 down-5 right-7"}),h.createElement(re,{icon:Wu,transform:"shrink-1 down-5 right-7"}));return h.createElement("div",{className:"filter-set-manager fill-parent-absolute"},h.createElement(Bh,{className:"w-100 h-100",isFlipped:s},h.createElement("div",{className:"filter-set-manager-settings-card fill-parent-absolute",key:"front"},h.createElement("div",{className:"filter-set-manager-card-content"},v&&h.createElement("div",null,h.createElement(j,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f},"Capture filter set"),h.createElement("div",{className:"py-3 text-muted small"},"Takes a snapshot of the currently applied filters on all panels, allowing you to restore saved filter sets later.")),u&&h.createElement("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container"},h.createElement("div",{className:"form-group"},h.createElement("label",null,c?"Edit set":"Name captured set"),h.createElement("div",{className:"name-input-container"},h.createElement("input",{type:"text",className:"input-set-name form-control",placeholder:mk,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),h.createElement(j,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:jf}),h.createElement(j,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Cw})),t!==void 0&&h.createElement("div",{className:"error-message"},t)),h.createElement("div",{className:"form-group"},h.createElement(cd,{onChange:this.handleRestoreFullStateChange,value:"".concat(o)},h.createElement(si,{value:"false"},"Restore only filters"),h.createElement(si,{value:"true"},"Restore full table state")))),g&&h.createElement("div",{className:"filter-set-manager-settings-grid-1"},h.createElement("div",{className:"form-group"},h.createElement("label",null,"Edit filter sets"),h.createElement("div",{className:"filter-select-container"},h.createElement("select",{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:r??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m},m&&h.createElement("option",{value:"-1",disabled:!0},jg),a.map(C=>{var{id:b,title:S}=C;return h.createElement("option",{key:b,value:b},S)})),h.createElement(j,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:p,tooltip:"Update"}),h.createElement(j,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ps,tooltip:"Edit"}),h.createElement(j,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Hr,tooltip:"Delete"}))),h.createElement("div",null,h.createElement(j,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f},"Capture new filter set")),h.createElement("div",{className:"py-3 text-right"},h.createElement(j,{kind:"secondary",onClick:this.handleSettingsCancel},"Cancel")," ",h.createElement(j,{kind:"primary",onClick:this.handleSettingsSave},"Save"))))),h.createElement("div",{className:"filter-set-manager-value-card fill-parent-absolute",key:"back",onClick:this.handleBackgroundClick},h.createElement("div",{className:"filter-set-manager-column"},h.createElement("div",{className:"filter-set-manager-column-title"},"Filter sets")),h.createElement("div",{className:"filter-set-manager-card-content"},h.createElement("div",{className:"filter-set-manager-value-input"},h.createElement("div",{className:"filter-select-container"},h.createElement("select",{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d,className:"custom-select filter-value-select",onChange:this.handleFilterChange},l.length===0&&h.createElement("option",{value:"-1",disabled:!0},jg),l.map(C=>{var{id:b,title:S}=C;return h.createElement("option",{key:b,value:b},S)})),h.createElement(j,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:kh,tooltip:"Apply Filter Set"})))),h.createElement("div",{className:"filter-set-manager-menu"},h.createElement(j,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:h.createElement(re,{icon:fs,transform:"grow-4"})})))))}}const vk=Zl;function Oc(n){var e,t,r,{model:i,widgetName:a,glContainer:o,description:s}=n,l=((e=i?.rowCount)!==null&&e!==void 0?e:0)-((t=i?.pendingRowCount)!==null&&t!==void 0?t:0),d=i?.displayString(l,"long"),u=(r=i?.columnCount)!==null&&r!==void 0?r:0,c=i?.displayString(u,"long");return h.createElement(Fd,{widgetType:"Table",widgetName:a,glContainer:o,description:s},h.createElement("hr",{className:"tab-tooltip-divider"}),h.createElement("span",null,"Number of Columns"),h.createElement("span",{className:"tab-tooltip-statistic-value"},c),h.createElement("span",null,"Number of Rows"),h.createElement("span",{className:"tab-tooltip-statistic-value"},d))}Oc.propTypes={glContainer:nc.Container.isRequired,widgetName:q.string.isRequired,description:q.string};Oc.defaultProps={description:null};function zg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function oa(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zg(Object(t),!0).forEach(function(r){Dt(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):zg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Dt(n,e,t){return e=gk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function gk(n){var e=fk(n,"string");return typeof e=="symbol"?e:String(e)}function fk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Dn=ie.module("IrisGridPanel"),pk=500,Ck={IrisGrid:jC,IrisGridTableModel:zC,ContextMenuRoot:Xf};class ho extends w.PureComponent{constructor(e){super(e),Dt(this,"irisGrid",void 0),Dt(this,"pluginRef",void 0),Dt(this,"modelPromise",void 0),Dt(this,"irisGridState",void 0),Dt(this,"gridState",void 0),Dt(this,"pluginState",void 0),Dt(this,"irisGridUtils",void 0),Dt(this,"getGridInputFilters",fe((r,i)=>ye.getInputFiltersForColumns(r,i.filter(a=>{var{value:o,excludePanelIds:s}=a,l=Q.getIdFromPanel(this);return o!=null&&(s==null||l!=null&&!s.includes(l))})))),Dt(this,"getAlwaysFetchColumns",fe((r,i)=>{for(var a=Q.getIdFromPanel(this),o=new Set(i),s=0;s<r.length;s+=1){var{start:l}=r[s];l!=null&&l.panelId===a&&o.add(l.columnName)}return[...o]})),Dt(this,"getPluginContent",fe((r,i,a,o,s)=>!i||!Ca(i)||r==null||i.table==null?null:h.createElement("div",{className:"iris-grid-plugin"},h.createElement(r,{ref:this.pluginRef,filter:this.handlePluginFilter,onFilter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,onFetchColumns:this.handlePluginFetchColumns,table:i.table,user:a,panel:this,workspace:o,components:Ck,onStateChange:this.handlePluginStateChange,pluginState:s})))),Dt(this,"getDehydratedIrisGridPanelState",fe((r,i,a,o,s)=>ye.dehydrateIrisGridPanelState(r,{isSelectingPartition:i,partition:a,partitionColumn:o,advancedSettings:s}))),Dt(this,"getDehydratedIrisGridState",fe((r,i,a,o,s,l,d,u,c,m,v,g,f,p,C,b,S,E,y,T,O)=>(L(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(r,{advancedFilters:a,aggregationSettings:S,customColumnFormatMap:o,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:b},quickFilters:l,customColumns:d,reverseType:u,rollupConfig:c,showSearchBar:m,searchValue:v,selectDistinctColumns:g,selectedSearchColumns:f,sorts:i,invertSearchColumns:p,pendingDataMap:E,frozenColumns:y,conditionalFormats:T,columnHeaderGroups:O})))),Dt(this,"getDehydratedGridState",fe((r,i,a,o,s)=>ye.dehydrateGridState(r,{isStuckToBottom:o,isStuckToRight:s,movedColumns:i,movedRows:a}))),Dt(this,"getCachedPanelState",fe((r,i,a,o)=>({irisGridPanelState:r,irisGridState:i,gridState:a,pluginState:o}))),Dt(this,"savePanelState",rt(()=>{var{irisGridState:r,gridState:i,pluginState:a}=this;L(r);var{onPanelStateUpdate:o}=this.props,{model:s,panelState:l,isSelectingPartition:d,partition:u,partitionColumn:c,advancedSettings:m}=this.state,{advancedFilters:v,aggregationSettings:g,customColumnFormatMap:f,isFilterBarShown:p,quickFilters:C,customColumns:b,reverseType:S,rollupConfig:E,showSearchBar:y,searchValue:T,selectDistinctColumns:O,selectedSearchColumns:D,sorts:P,invertSearchColumns:R,metrics:_,pendingDataMap:M,frozenColumns:A,conditionalFormats:B,columnHeaderGroups:$}=r;L(s),L(_);var{userColumnWidths:z,userRowHeights:G}=_;L(i);var{isStuckToBottom:K,isStuckToRight:X,movedColumns:J,movedRows:I}=i,N=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,u,c,m),this.getDehydratedIrisGridState(s,P,v,f,p,C,b,S,E,y,T,O,D,R,z,G,g,M,A,B,$),this.getDehydratedGridState(s,J,I,K,X),a);N!==l&&(Dn.debug("Saving panel state",this,N),this.setState({panelState:N}),o?.(N))},pk)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handlePartitionAppend=this.handlePartitionAppend.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=h.createRef(),this.pluginRef=h.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(yC.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:H.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partition:null,partitionColumn:null,rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:r}=this.state;r!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),r!=null&&this.startModelListening(r))}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return e.table}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Te.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:r,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new ye(t.dh),r!=null){var{irisGridState:o}=r,{aggregationSettings:s,customColumns:l,selectDistinctColumns:d=[],rollupConfig:u}=oa(oa({},o),i);l.length>0&&a.push(c=>{c.customColumns=l}),u!=null&&u.columns.length>0&&a.push(c=>{c.rollupConfig=ye.getModelRollupConfig(c.originalColumns,u,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var r=e;if(t.length===0){this.modelInitialized(r);return}var i=t.shift();Dn.debug("initModelQueue",i),i&&i(r),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){Dn.debug("handleAdvancedSettingsChange",e,t),this.setState(r=>{var{advancedSettings:i}=r;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,r,{model:i}=this.state;L(i);var{columns:a,formatter:o}=i,s=(t=(r=this.irisGridUtils)===null||r===void 0?void 0:r.getFiltersFromInputFilters(a,e,o.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,r,i;return(t=(r=this.pluginRef.current)===null||r===void 0||(i=r.getMenu)===null||i===void 0?void 0:i.call(r,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:r,onStateChange:i}=this.props;r.emit(fn.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:r}=this;this.pluginState=e,t!==null&&r!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:r,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(L(r),this.initModelQueue(r,i))}handleTableChanged(e){Dn.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:r}=e;t.emit(it.TABLE_CHANGED,this,r)}handlePartitionAppend(e,t){var{glEventHub:r}=this.props,{name:i}=e,a=this.getTableName(),o="".concat(a," = ").concat(a,'.where("').concat(i,"=`").concat(t,'`")');r.emit(Lr.SEND_COMMAND,o,!1,!0)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:r,inputFilters:i,metadata:a}=this.props,{table:o}=a,{panelState:s}=this.state,l=Q.getIdFromPanel(this),d;s&&(d=ye.extractTableSettings(s,i)),r.emit(fn.CREATE_CHART,{metadata:{settings:e,sourcePanelId:l,table:o,tableSettings:d},table:Ca(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(fn.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:r}=this.props;r.emit(fn.DATA_SELECTED,this,t)}handleResize(){this.updateGrid()}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){Dn.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){Te.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:r}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),Ca(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&r!=null&&a!=null){var o=r(a);this.setState({Plugin:o})}t.emit(it.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){Dn.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(it.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(Se.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(Se.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(Se.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(Se.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(Se.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(Se.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,r,i,{model:a}=this.state;if(!a)return null;var o=this.irisGrid.current,{gridWrapper:s}=o||{},l=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(l==null||l.width<=0||l.height<=0)return null;L(o);var{metrics:d}=o.state;L(d);var{columnHeaderHeight:u,allColumnXs:c,allColumnWidths:m,right:v,columnHeaderMaxDepth:g}=d,f=a.getColumnIndexByName(e);L(f);var p=o.getVisibleColumn(f),C=(r=c.get(p))!==null&&r!==void 0?r:0,b=(i=m.get(p))!==null&&i!==void 0?i:0,S=Math.max(l.left,Math.min(p>v?l.right:l.left+C+b*.5,l.right)),E=l.top+u*g;return[S,E]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:r}=e;Dn.debug("setFilters",t,r);var{model:i,isDisconnected:a}=this.state,o=this.irisGrid.current;if(o==null||a){Dn.debug("Ignore setFilters, model disconnected");return}L(i);var{columns:s,formatter:l}=i,d=ye.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[m]=c;return i.isFilterable(m)}),u=ye.changeFilterColumnNamesToIndexes(i.columns,r).filter(c=>{var[m]=c;return i.isFilterable(m)});L(this.irisGridUtils),o.clearAllFilters(),o.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,l.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,u,l.timeZone)})}setStateOverrides(e){Dn.debug("setStateOverrides",e);var{irisGridState:t,gridState:r}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:r},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:r,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:o,irisGridPanelState:s}=t,l=oa({},r),{quickFilters:d,advancedFilters:u}=l;d&&(l.quickFilters=ye.changeFilterColumnNamesToIndexes(e.columns,d)),u&&(l.advancedFilters=ye.changeFilterColumnNamesToIndexes(e.columns,u));var{isSelectingPartition:c,partition:m,partitionColumn:v,advancedSettings:g}=ye.hydrateIrisGridPanelState(e,s);L(this.irisGridUtils);var{advancedFilters:f,customColumns:p,customColumnFormatMap:C,isFilterBarShown:b,quickFilters:S,reverseType:E,rollupConfig:y,aggregationSettings:T,sorts:O,userColumnWidths:D,userRowHeights:P,showSearchBar:R,searchValue:_,selectDistinctColumns:M,selectedSearchColumns:A,invertSearchColumns:B,pendingDataMap:$,frozenColumns:z,conditionalFormats:G,columnHeaderGroups:K}=this.irisGridUtils.hydrateIrisGridState(e,oa(oa({},o),l)),{isStuckToBottom:X,isStuckToRight:J,movedColumns:I,movedRows:N}=ye.hydrateGridState(e,oa(oa({},a),i),o.customColumns);this.setState({advancedFilters:f,advancedSettings:g,conditionalFormats:G,customColumns:p,customColumnFormatMap:C,isFilterBarShown:b,isSelectingPartition:c,movedColumns:I,movedRows:N,partition:m,partitionColumn:v,quickFilters:S,reverseType:E,rollupConfig:y,aggregationSettings:T,sorts:O,userColumnWidths:D,userRowHeights:P,showSearchBar:R,searchValue:_,selectDistinctColumns:M,selectedSearchColumns:A,invertSearchColumns:B,pendingDataMap:$,frozenColumns:z,isStuckToBottom:X,isStuckToRight:J,columnHeaderGroups:K})}catch(k){Dn.error("loadPanelState failed to load panelState",t,k)}}updateGrid(){var e,t,r=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;r&&r.handleResize()}render(){var e,t,{children:r,glContainer:i,glEventHub:a,columnSelectionValidator:o,getDownloadWorker:s,inputFilters:l,links:d,metadata:u,panelState:c,user:m,workspace:v,settings:g,theme:f}=this.props,{advancedFilters:p,aggregationSettings:C,advancedSettings:b,conditionalFormats:S,customColumns:E,customColumnFormatMap:y,error:T,isDisconnected:O,isFilterBarShown:D,isSelectingPartition:P,isStuckToBottom:R,isStuckToRight:_,isLoaded:M,isLoading:A,isModelReady:B,model:$,movedColumns:z,movedRows:G,partition:K,partitionColumn:X,quickFilters:J,reverseType:I,rollupConfig:N,sorts:k,userColumnWidths:x,userRowHeights:Y,showSearchBar:W,searchValue:ee,selectDistinctColumns:oe,selectedSearchColumns:ae,invertSearchColumns:se,Plugin:pe,pluginFilters:He,pluginFetchColumns:at,pendingDataMap:ot,frozenColumns:Qe,columnHeaderGroups:lt}=this.state,Ot=T!=null?"Unable to open table. ".concat(T):void 0,{table:Le}=u,_t=(e=$?.description)!==null&&e!==void 0?e:void 0,Vt=(t=c?.pluginState)!==null&&t!==void 0?t:null,yr=r??this.getPluginContent(pe,$,m,v,Vt),{permissions:Tr}=m,{canCopy:an,canDownloadCsv:Tn}=Tr;return h.createElement(fc,{errorMessage:Ot,isDisconnected:O,isLoading:A,isLoaded:M,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:Le,widgetType:"Table",description:_t,componentPanel:this,renderTabTooltip:()=>h.createElement(Oc,{model:$,widgetName:Le,glContainer:i,description:_t})},B&&$&&h.createElement(jC,{advancedFilters:p,aggregationSettings:C,advancedSettings:b,alwaysFetchColumns:this.getAlwaysFetchColumns(d,at),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",customColumns:E,customColumnFormatMap:y,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters($.columns,l),applyInputFiltersOnInit:c==null,isFilterBarShown:D,isSelectingColumn:o!=null,isSelectingPartition:P,isStuckToBottom:R,isStuckToRight:_,movedColumns:z,movedRows:G,partition:K,partitionColumn:X,quickFilters:J,reverseType:I,rollupConfig:N,settings:g,sorts:k,userColumnWidths:x,userRowHeights:Y,model:$,showSearchBar:W,searchValue:ee,selectedSearchColumns:ae,selectDistinctColumns:oe,invertSearchColumns:se,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onPartitionAppend:this.handlePartitionAppend,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:He,pendingDataMap:ot,canCopy:an,canDownloadCsv:Tn,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Qe,theme:f,columnHeaderGroups:lt},yr))}}Dt(ho,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Dt(ho,"displayName","IrisGridPanel");Dt(ho,"COMPONENT","IrisGridPanel");var bk=(n,e)=>{var{localDashboardId:t=Sn}=e;return{inputFilters:pc(n,t),links:Eo(n,t),columnSelectionValidator:Sc(n,t),user:pp(n),workspace:Sd(n),settings:Bt(n)}},Sk=$t(bk,null,null,{forwardRef:!0})(ho);const wa=Sk;function rs(n,e,t){return e=wk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wk(n){var e=Ek(n,"string");return typeof e=="symbol"?e:String(e)}function Ek(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Kg=ie.module("InputFilter"),yk=150;class co extends w.Component{constructor(e){super(e),rs(this,"inputRef",void 0),rs(this,"getItemLabel",Pe((a,o)=>{var{name:s,type:l}=a[o];if(o>0&&a[o-1].name===s||o<a.length-1&&a[o+1].name===s){var d=l.substring(l.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),rs(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a({column:o,isValueShown:l,value:s})},yk)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=h.createRef();var{column:t,isValueShown:r,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:r}}componentDidUpdate(e,t){var{column:r}=this.props,{column:i,value:a,isValueShown:o}=this.state;r!==e.column&&this.setState({column:r,selectedColumn:r}),o!==void 0&&o&&o!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||o!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,{value:r}=e.target,i=t[parseInt(r,10)];Kg.debug2("handleColumnChange",i),this.setState({selectedColumn:i,value:void 0})}handleInputKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),this.setState(t=>{var{value:r}=t;return r==null?{value:""}:null},()=>{this.sendUpdate(),this.sendUpdate.flush()}))}handleValueChange(e){var{value:t}=e.target;Kg.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:r,value:i,isValueShown:a}=e,o=t!=null&&r!=null?{name:t,type:r}:void 0,s=a===void 0?{column:o,value:i}:{column:o,value:i,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:r,selectedColumn:i,value:a}=this.state,o=a==null||a.length===0?co.PLACEHOLDER.length:a.length,s=null;if(t!=null){var l=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=l>=0?this.getItemLabel(e,l):t.name}return h.createElement(Bh,{className:"input-filter fill-parent-absolute",isFlipped:r??!1},h.createElement("div",{className:"input-filter-settings-card"},h.createElement("div",{className:"input-filter-settings-content"},h.createElement("div",{className:"input-filter-settings-grid"},h.createElement("label",null,"Filter Column"),h.createElement("select",{value:e.findIndex(d=>d.name===i?.name&&d.type===i?.type),className:"custom-select",onChange:this.handleColumnChange},e.map((d,u)=>h.createElement("option",{key:"".concat(d.name,"/").concat(d.type),value:u},this.getItemLabel(e,u))),e.length===0&&h.createElement("option",{value:"-1",disabled:!0},"No Available Columns")),h.createElement("div",{className:"text-muted small"},"Input filter control will apply its filter to all columns matching this name in this dashboard.")),h.createElement("div",{className:"input-filter-settings-buttons"},h.createElement(j,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null},"Cancel"),h.createElement(j,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null},"Save")))),h.createElement("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick},h.createElement("div",{className:"input-filter-column"},h.createElement("div",{className:"input-filter-column-title"},s," Filter")),h.createElement("div",{className:"d-flex justify-content-center align-items-center h-100 w-100"},h.createElement("div",{className:"input-filter-value-input d-flex flex-column justify-content-center"},h.createElement("input",{type:"text",ref:this.inputRef,placeholder:co.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(o+3,"ch")},spellCheck:"false"}))),h.createElement("div",{className:"input-filter-menu"},h.createElement(j,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:h.createElement(re,{icon:fs,transform:"grow-4"}),tooltip:"Input Filter Settings"}))))}}rs(co,"PLACEHOLDER","Enter value...");rs(co,"defaultProps",{column:null,isValueShown:!1,value:null});const Tk=co;function Md(n,e,t){return e=Pk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Pk(n){var e=Ok(n,"string");return typeof e=="symbol"?e:String(e)}function Ok(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Dk=250;class Ad extends w.Component{constructor(e){super(e),Md(this,"inputFilterRef",void 0),this.handleChange=rt(this.handleChange.bind(this),Dk),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=h.createRef();var{panelState:t}=e,{value:r,isValueShown:i=!1,name:a,type:o,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&o!=null?{name:a,type:o}:void 0,value:r,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:r}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,r)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:r=!1,value:i}=e,a,o;t!=null&&({name:a,type:o}=t);var s=!0,l=Date.now();this.setState(d=>{var u,{panelState:c,timestamp:m,wasFlipped:v,skipUpdate:g}=d,f=c!=null&&r!==c.isValueShown&&a===c.name&&o===c.type&&i===c.value;return s=(u=!g&&r&&(!f||!v))!==null&&u!==void 0?u:!1,s||(l=m),{panelState:{isValueShown:r,name:a,type:o,value:i,timestamp:l},timestamp:l,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,o,i,l)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,r,i){var{glEventHub:a}=this.props;a.emit(it.FILTERS_CHANGED,this,{name:e,type:t,value:r,timestamp:i})}setPanelState(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!r}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:r}=t;return r==null&&e.length>0?{columns:[...e],column:e[0]}:r!=null&&!e.find(i=>{var{name:a,type:o}=i;return r.name===a&&r.type===o})?{columns:[...e,r]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:r,columns:i,isValueShown:a,value:o}=this.state;return h.createElement(vi,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0},h.createElement(Tk,{ref:this.inputFilterRef,column:r,columns:i,onChange:this.handleChange,isValueShown:a,value:o}))}}Md(Ad,"defaultProps",{panelState:null});Md(Ad,"COMPONENT","InputFilterPanel");Md(Ad,"displayName","InputFilterPanel");var Rk=(n,e)=>{var{localDashboardId:t}=e;return{columns:rb(n,t)}},Nk=$t(Rk,null,null,{forwardRef:!0})(Ad);const ns=Nk;function Yg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ml(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yg(Object(t),!0).forEach(function(r){Dc(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Dc(n,e,t){return e=Fk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Fk(n){var e=Ik(n,"string");return typeof e=="symbol"?e:String(e)}function Ik(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var jt=ie.module("FilterSetManagerPanel");function _k(n){return n.setPanelState!=null}class mo extends w.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(r=>{var[i,a]=r;if(i>=e.columns.length)return null;var{name:o}=e.columns[i];return{name:o,filter:a}}).filter(r=>r!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:r}=e,{selectedId:i=r.length>0?r[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:i,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(r=>{var i=e.get(r);if(i===void 0){jt.error("Could not get panel",i);return}var a=Q.getComponentNameFromPanel(i),o=Q.getIdFromPanel(i);jt.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){jt.error("Could not get panel container",i);return}var l=Q.getComponentConfigFromContainer(s);if(l==null){jt.error("Could not get component config from container",s);return}var d=Q.getPanelComponentState(l);if(d==null){jt.debug("Panel state is null ".concat(o));return}switch(a){case Q.getComponentName(ho):{var u;o!=null&&(u=this.getIrisGridPanelFilters(o,d)),u!=null&&t.push({panelId:o,type:a,state:u});break}case Q.getComponentName(ns):case Q.getComponentName(ba):{var{isValueShown:c,name:m,type:v,value:g}=d;t.push({panelId:o,type:a,state:{isValueShown:c,name:m,type:v,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:r}=this.props,i=r.get(e);if(i==null)return jt.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:o={}}=t,{advancedFilters:s,quickFilters:l}=a,d;s&&(d=mo.changeFilterIndexesToColumnNames(i,s));var u;return l&&(u=mo.changeFilterIndexesToColumnNames(i,l)),{irisGridState:ml(ml({},a),{},{advancedFilters:d,quickFilters:u}),gridState:ml({},o)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:r}=e;jt.debug("handleChange",t,r),this.setState({isValueShown:t,selectedId:r}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:r,restoreFullState:i=!1}=e;jt.debug("Apply filters from filter set",e),r.forEach(a=>{var{panelId:o,type:s,state:l}=a;if(o==null){jt.debug("panel is null",o);return}if(!t.has(o)){jt.debug("Ignore closed panel",o);return}jt.debug("Apply panel filters",o,s,l);var d=t.get(o);switch(s){case Q.getComponentName(ho):this.restoreIrisGridFilters(d,l,i);break;case Q.getComponentName(ns):case Q.getComponentName(ba):this.restoreInputFilterState(d,l);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:r}=this.props;jt.debug("Saving updated sets",e),t(r,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:r}=e;return{panelState:{selectedId:t,isValueShown:r}}})}restoreIrisGridFilters(e,t,r){var{irisGridState:i={},advancedFilters:a=[],quickFilters:o=[]}=t,{advancedFilters:s=a,quickFilters:l=o}=i,{panelTableMap:d}=this.props,u=Q.getIdFromPanel(e);if(u==null){jt.error("Panel Id is null.");return}var c=d.get(u);if(c==null){jt.error("Unable to get table for panel ".concat(u,"."));return}jt.debug("restoreIrisGridFilters",u,t,r),r?e.setStateOverrides(t):e.setFilters({quickFilters:l,advancedFilters:s})}restoreInputFilterState(e,t){var r=ml({},t);delete r.isValueShown,jt.debug("restoreInputFilterState",e,r),e&&_k(e)&&e.setPanelState(r)}render(){var{glContainer:e,glEventHub:t,filterSets:r}=this.props,{isValueShown:i,selectedId:a}=this.state;return h.createElement(vi,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0},h.createElement("div",{className:"input-filter-container h-100 w-100 container"},h.createElement(vk,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:r,selectedId:a,getFilterState:this.handleGetFilterState})))}}Dc(mo,"defaultProps",{panelState:null});Dc(mo,"COMPONENT","FilterSetManagerPanel");var Mk=(n,e)=>{var{localDashboardId:t}=e;return{filterSets:i1(n,t),dashboardOpenedPanelMap:sC(n,t),dashboardInputFilters:pc(n,t),panelTableMap:Cc(n,t)}},Ak=$t(Mk,{setDashboardFilterSets:c1},null,{forwardRef:!0})(mo);const Iu=Ak;function ms(n,e,t){return e=Lk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Lk(n){var e=kk(n,"string");return typeof e=="symbol"?e:String(e)}function kk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var qg=ie.module("LogPanel");class Ld extends w.PureComponent{constructor(e){super(e),ms(this,"isBottomVisible",void 0),ms(this,"logView",void 0),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.isBottomVisible=!0,this.logView=null;var{session:t}=this.props;this.state={session:t}}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions(),this.logView&&(this.logView.triggerFindWidget(),this.isBottomVisible&&this.logView.scrollToBottom())}handleHide(){this.logView&&(this.isBottomVisible=this.logView.isBottomVisible())}handleSessionOpened(e){qg.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){qg.debug("Session closed",e)}updateDimensions(){this.logView&&this.logView.updateDimensions()}render(){var{glContainer:e,glEventHub:t}=this.props,{session:r}=this.state;return h.createElement(vi,{componentPanel:this,glContainer:e,glEventHub:t,onResize:this.handleResize,onHide:this.handleHide,onShow:this.handleShow,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed},r==null&&h.createElement("div",{className:"log-panel-disconnected-message"},"Waiting for session connection"),r!=null&&h.createElement(k0,{session:r,ref:i=>{this.logView=i}}))}}ms(Ld,"defaultProps",{session:null});ms(Ld,"COMPONENT","LogPanel");ms(Ld,"TITLE","Log");var xk=(n,e)=>{var t;return{session:(t=Ta(n,e.localDashboardId))===null||t===void 0?void 0:t.session}},Hk=$t(xk,null,null,{forwardRef:!0})(Ld);const Jl=Hk;function Uk(n,e,t){return e=$k(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $k(n){var e=Bk(n,"string");return typeof e=="symbol"?e:String(e)}function Bk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class lb extends w.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:r}=this.props;return h.createElement("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:r},h.createElement("div",{className:te("text-muted","edit-hint",{viewing:e===void 0||!e})},h.createElement("span",null,"double-click to edit ",h.createElement(re,{icon:ps}))),t)}}Uk(lb,"defaultProps",{isEditing:!1});function Vk(n,e,t){return e=Gk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Gk(n){var e=Wk(n,"string");return typeof e=="symbol"?e:String(e)}function Wk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var jk=ie.module("MarkdownStartPage");class db extends w.PureComponent{constructor(e){super(e),this.handleDeleteButtonClick=this.handleDeleteButtonClick.bind(this),this.handleDeleteModalClose=this.handleDeleteModalClose.bind(this),this.state={isDeleteModalShown:!1}}handleDeleteButtonClick(e){this.setState({isDeleteModalShown:!0,toBeDeleted:e})}handleDeleteModalClose(){this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}handleDeleteMarkdown(e){if(jk.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:r}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return h.createElement("div",{className:"markdown-panel-start-page h-100 w-100"},h.createElement("div",{className:"markdown-panel-start-page-container"},h.createElement("div",{className:"markdown-panel-start-list"},h.createElement("h3",{className:"list-title"},"Start"),h.createElement("div",{className:"list-item"},h.createElement(j,{kind:"ghost",className:"title",onClick:r},"New Markdown Note"))),h.createElement("div",{className:"markdown-panel-start-list"},h.createElement("h3",{className:"list-title"},"Recently Closed from Dashboard"),e.map(o=>h.createElement("div",{className:"list-item",key:o.id},h.createElement(j,{kind:"ghost",className:"title",onClick:()=>t(o)},o.title),h.createElement("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(o)}},h.createElement(re,{icon:Hr})))),h.createElement(od,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal theme-bg-light"},h.createElement(sd,null,"Are you sure you want to permanently delete this note?"),h.createElement(ld,null,"You can't undo this action."),h.createElement(qf,null,h.createElement(j,{kind:"secondary",onClick:this.handleDeleteModalClose},"Cancel"),h.createElement(j,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)}},"Delete"))))))}}Vk(db,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const zk=db;function ub(n,e,t){return e=Kk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Kk(n){var e=Yk(n,"string");return typeof e=="symbol"?e:String(e)}function Yk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var qk=n=>{var{children:e,className:t}=n,r=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return h.createElement("pre",null,h.createElement("code",null,h.createElement(vd,{language:r},h.Children.map(e,i=>typeof i=="string"?i.trim():i))))};class hb extends w.PureComponent{constructor(e){super(e),ub(this,"container",void 0),this.container=null}render(){var{isEditing:e,content:t,onEditorInitialized:r}=this.props;return h.createElement("div",{className:"markdown-editor-container",ref:i=>{this.container=i}},e?h.createElement(Wh,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:r}):h.createElement(Mf,{components:{code:qk}},t))}}ub(hb,"defaultProps",{isEditing:!1,content:""});function is(n,e,t){return e=Xk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Xk(n){var e=Qk(n,"string");return typeof e=="symbol"?e:String(e)}function Qk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var vl=ie.module("MarkdownPanel");class Rc extends w.Component{constructor(e){super(e),is(this,"markdownEditor",void 0),is(this,"editor",void 0),is(this,"getClosedMarkdowns",fe(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,r=null;t!=null&&t.content!=null&&({content:r}=t),this.state={isStartPageShown:r==null,isEditing:!1,content:r,panelState:t},this.markdownEditor=null}setEditorPosition(e){L(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t){var r,i,a=t.getBoundingClientRect().top,o=t.scrollTop,s=t.scrollHeight,l=(r=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&r!==void 0?r:0,d=Math.round((o+e-a)/s*l);d>l&&(d=l),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,r=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(r)})}handleEditorInitialized(e){vl.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){vl.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){vl.debug("open markdown...",e);var{glContainer:t,glEventHub:r}=this.props,i=Q.getComponentConfigFromContainer(t);r.emit(Ee.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(Ee.DELETE,e)}handleEditorBlur(e){var t;vl.debug("markdown content changed, saving...");var{isEditing:r}=this.state;if(!(!r||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:r}=this.props,{isEditing:i,isStartPageShown:a,content:o}=this.state,s=this.getClosedMarkdowns(r);return h.createElement(vi,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0},a?h.createElement(zk,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):h.createElement(lb,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick},h.createElement(hb,{ref:l=>{this.markdownEditor=l},isEditing:i,content:o??void 0,onEditorInitialized:this.handleEditorInitialized})))}}is(Rc,"defaultProps",{panelState:null});is(Rc,"COMPONENT","MarkdownPanel");var Zk=(n,e)=>{var{localDashboardId:t}=e;return{closedPanels:nD(n,t)}},Jk=$t(Zk,null,null,{forwardRef:!0})(Rc);const Uo=Jk;function Ol(n,e,t){return e=ex(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ex(n){var e=tx(n,"string");return typeof e=="symbol"?e:String(e)}function tx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class cb extends w.PureComponent{constructor(e){super(e),Ol(this,"commands",void 0),Ol(this,"codeElements",void 0),Ol(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=h.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],r=t.findIndex(i=>i===e)+1;return r>=t.length?null:t[r]}handleRunSelected(e){var t,r;e.preventDefault(),e.stopPropagation();var{nextStartLine:i}=this.state,a=[...this.commands.keys()],o=a.findIndex(f=>f===i||i==null);if(!(o<0)){var s=a[o],l=this.commands.get(s),d=this.getNextStartLine(s),u=(t=this.codeElements.get(s))===null||t===void 0?void 0:t.current,c=u==null||(r=u.parentElement)===null||r===void 0?void 0:r.nextElementSibling;if(c!=null){var m,{offsetTop:v}=c,g=v;(m=this.editorScrollView.current)===null||m===void 0||m.scroll({top:g,left:0})}this.runCode(l),this.setState({nextStartLine:d})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:r,inline:i,node:a}=e,{hasRunCode:o,nextStartLine:s}=this.state,{children:l,position:d}=a;L(d);var{start:u}=d,{line:c}=u,m=l[0].value,v=h.createRef(),g=this.commands.size===0,f=s===c||g&&s==null&&!o,p=r!==void 0&&r.startsWith("language-")?r.substring(9):"plaintext";return i!=null&&i?h.createElement("code",{className:r},t):(this.commands.set(c,m),this.codeElements.set(c,v),h.createElement("div",{className:te("markdown-notebook-code-block",{"is-selected":f}),ref:v,onClick:()=>{this.setState({nextStartLine:c})},role:"presentation"},h.createElement(j,{kind:"ghost",icon:Rl,className:"btn-play-block",onClick:C=>{C.stopPropagation(),C.preventDefault(),this.runCode(m),this.setState({nextStartLine:c})},tooltip:"Run code"}),h.createElement("code",null,h.createElement(vd,{language:p},h.Children.map(t,C=>typeof C=="string"?C.trim():C)))))}renderLink(e){var{onLinkClick:t}=this.props,{href:r,children:i,target:a}=e;return h.createElement("a",{href:r,onClick:t,target:a},i)}render(){var{content:e,transformImageUri:t,transformLinkUri:r}=this.props,{hasCode:i,hasRunCode:a,nextStartLine:o}=this.state;return h.createElement("div",{className:"markdown-notebook"},h.createElement("div",{className:"markdown-notebook-toolbar"},h.createElement(j,{className:te("btn-play-selected-cell",{flashing:i&&!a}),kind:"ghost",icon:Rl,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:a&&o==null||!i},"Run Selected Code")),h.createElement("div",{className:"markdown-notebook-content",ref:this.editorScrollView},h.createElement(Mf,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[fS],transformLinkUri:r,transformImageUri:t,includeElementIndex:!0},e)))}}Ol(cb,"defaultProps",{onRunCode:()=>{}});const rx=cb;function Xg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zt(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xg(Object(t),!0).forEach(function(r){gr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function gr(n,e,t){return e=nx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nx(n){var e=ix(n,"string");return typeof e=="symbol"?e:String(e)}function ix(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var je=ie.module("NotebookPanel"),Qg=400;class Cn extends w.Component{static handleError(e){Te.isCanceled(e)||je.error(e)}static languageFromFileName(e){var t=be.getExtension(e).toLowerCase();switch(t){case"py":case"python":return"python";case"groovy":return"groovy";case"scala":return"scala";default:return null}}constructor(e){super(e),gr(this,"pending",void 0),gr(this,"debouncedSavePanelState",void 0),gr(this,"debouncedLoad",void 0),gr(this,"notebook",void 0),gr(this,"tabTitleElement",void 0),gr(this,"tabInitOnce",void 0),gr(this,"editor",void 0),gr(this,"getSettings",fe((m,v)=>zt(zt({},m),{},{minimap:{enabled:v}}))),gr(this,"getOverflowActions",fe((m,v)=>[{title:"Find",icon:bw,action:this.handleFind,group:le.groups.high,shortcut:nr.NOTEBOOK.FIND,order:10},{title:"Show Minimap",icon:m?ii:void 0,action:this.handleMinimapChange,group:le.groups.medium,shortcut:nr.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:v?ii:void 0,action:this.handleWordWrapChange,group:le.groups.medium,shortcut:nr.NOTEBOOK.WORDWRAP,order:30}])),this.handleBlur=this.handleBlur.bind(this),this.handleCloseCancel=this.handleCloseCancel.bind(this),this.handleCloseDiscard=this.handleCloseDiscard.bind(this),this.handleCloseSave=this.handleCloseSave.bind(this),this.handleCopy=this.handleCopy.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleEditorChange=this.handleEditorChange.bind(this),this.handleFind=this.handleFind.bind(this),this.handleMinimapChange=this.handleMinimapChange.bind(this),this.handleWordWrapChange=this.handleWordWrapChange.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.handleRenameFile=this.handleRenameFile.bind(this),this.handleResize=this.handleResize.bind(this),this.handleRunCommand=this.handleRunCommand.bind(this),this.handleRunAll=this.handleRunAll.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.handleSave=this.handleSave.bind(this),this.handleSaveAsCancel=this.handleSaveAsCancel.bind(this),this.handleSaveAsSubmit=this.handleSaveAsSubmit.bind(this),this.handleSaveError=this.handleSaveError.bind(this),this.handleSaveSuccess=this.handleSaveSuccess.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleShowRename=this.handleShowRename.bind(this),this.handleTab=this.handleTab.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabClick=this.handleTabClick.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleTransformLinkUri=this.handleTransformLinkUri.bind(this),this.handleOverwrite=this.handleOverwrite.bind(this),this.handlePreviewPromotion=this.handlePreviewPromotion.bind(this),this.getDropdownOverflowActions=this.getDropdownOverflowActions.bind(this),this.pending=new hi,this.debouncedSavePanelState=rt(this.savePanelState.bind(this),Qg),this.debouncedLoad=rt(this.load.bind(this),Qg),this.notebook=null,this.tabTitleElement=null,this.tabInitOnce=!1;var{isDashboardActive:t,session:r,sessionLanguage:i,panelState:a}=e,o={value:"",language:"",wordWrap:"off"},s=null,{isPreview:l}=e;a!=null&&({fileMetadata:s=s,isPreview:l=l,settings:o=o}=a);var d=s!=null&&be.hasPath(s.itemName),u=d===!0&&o.value!=null||!d&&o.value!=null&&o.value.length>0,c=u?1:0;this.state={error:void 0,isDashboardActive:t,isFocused:!1,isLoading:!0,isLoaded:!1,isPreview:l,savedChangeCount:0,changeCount:c,fileMetadata:s,settings:o,session:r,sessionLanguage:i,panelState:{fileMetadata:s,settings:o},showCloseModal:!1,showSaveAsModal:!1,scriptCode:""},je.debug("constructor",e,this.state)}componentDidMount(){var{glContainer:e,glEventHub:t}=this.props,{tab:r}=e;r!=null&&this.initTab(r),this.initNotebookContent(),t.on(Ye.RENAME_FILE,this.handleRenameFile),t.on(Ee.DROPPED,this.handlePanelDropped),e.on(Ye.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion)}componentDidUpdate(e,t){var{isPreview:r,settings:i}=this.state,{wordWrap:a}=i,{defaultNotebookSettings:o}=this.props;r!==t.isPreview&&this.setPreviewStatus(),a!==t.settings.wordWrap&&(this.updateEditorWordWrap(),this.debouncedSavePanelState()),o.isMinimapEnabled!==e.defaultNotebookSettings.isMinimapEnabled&&this.updateEditorMinimap()}componentWillUnmount(){this.debouncedSavePanelState.flush(),this.pending.cancel();var{glEventHub:e,glContainer:t}=this.props,{fileMetadata:r,isPreview:i}=this.state;e.off(Ye.RENAME_FILE,this.handleRenameFile),e.off(Ee.DROPPED,this.handlePanelDropped),t.off(Ye.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion),e.emit(Ye.UNREGISTER_FILE,r,i)}initTab(e){this.tabInitOnce||(this.tabInitOnce=!0,this.initTabCloseOverride()),this.initTabClasses(e)}initTabCloseOverride(){var{glContainer:e}=this.props;e.beforeClose(t=>{if(t?.force===!0)return!0;var{changeCount:r,savedChangeCount:i}=this.state;return r!==i?(this.setState({showCloseModal:!0}),!1):!0})}initTabClasses(e){var t=e.element.get(0);L(t);var r=t.querySelector(".lm_title");this.tabTitleElement=r,r?.classList.add("notebook-title"),this.setPreviewStatus()}getNotebookValue(){var{changeCount:e,savedChangeCount:t,settings:r}=this.state,{value:i}=r;if(e!==t&&this.notebook){var a=this.notebook.getValue();return a??i}return i}initNotebookContent(){var{fileMetadata:e,settings:t,isPreview:r}=this.state;if(e&&e.id){je.debug("Init content from file"),this.registerFileMetadata(e,r),this.load();return}if(t.value!=null){je.debug("Use content passed in the settings prop"),this.handleLoadSuccess();return}this.handleLoadError(new Error("Missing file metadata"))}closeFileTabById(e){var{glEventHub:t}=this.props;t.emit(Ye.CLOSE_FILE,{id:e})}registerFileMetadata(e,t){var{glEventHub:r,metadata:i}=this.props,{id:a}=i;r.emit(Ye.REGISTER_FILE,a,e,t)}renameTab(e,t){var{glEventHub:r}=this.props;r.emit(Ye.RENAME,e,t)}load(){var{fileMetadata:e,settings:t}=this.state;L(e);var{id:r}=e,{fileStorage:i}=this.props;this.pending.add(i.loadFile(r)).then(a=>{var o;je.debug("Loaded file",a);var{filename:s}=a,{itemName:l}=this.state;if(s!==l){var{metadata:d}=this.props,{id:u}=d;this.renameTab(u,be.getBaseName(s))}var c=zt(zt({},t),{},{language:(o=Cn.languageFromFileName(s))!==null&&o!==void 0?o:""});t.value==null&&(c.value=a.content),t.wordWrap===void 0&&(t.wordWrap="off"),this.setState({fileMetadata:{id:s,itemName:s},settings:c}),this.debouncedSavePanelState()}).then(this.handleLoadSuccess).catch(this.handleLoadError)}save(){var{fileMetadata:e}=this.state;if(e&&be.hasPath(e.itemName)){var t=this.getNotebookValue();return t!==void 0?(this.saveContent(e.itemName,t),!0):!1}return this.setState({showSaveAsModal:!0}),!1}saveContent(e,t){je.debug("saveContent",e,t),this.updateSavedChangeCount();var{fileStorage:r}=this.props;this.pending.add(r.saveFile({filename:e,content:t,basename:e})).then(this.handleSaveSuccess).catch(this.handleSaveError)}updateSavedChangeCount(){this.setState(e=>{var{changeCount:t}=e;return{savedChangeCount:t}})}setPreviewStatus(){if(this.tabTitleElement){var{isPreview:e}=this.state;je.debug("setPreviewStatus",this.tabTitleElement,e),e?this.tabTitleElement.classList.add("is-preview"):this.tabTitleElement.classList.remove("is-preview")}}handlePreviewPromotion(){this.removePreviewStatus()}savePanelState(){this.setState(e=>{var{changeCount:t,savedChangeCount:r,fileMetadata:i,isPreview:a,settings:o}=e,s=this.getNotebookValue(),l=t!==r?s:void 0,d=zt(zt({},o),{},{value:s}),u=zt(zt({},o),{},{value:l}),c={settings:u,fileMetadata:i,isPreview:a};return je.debug("Saving panel state",c),{settings:d,panelState:c}})}handleCloseDiscard(){this.setState({showCloseModal:!1});var{glContainer:e}=this.props;e.close({force:!0})}handleCloseSave(){if(this.setState({showCloseModal:!1}),this.save()){var{glContainer:e}=this.props;e.close({force:!0})}}handleCloseCancel(){this.setState({showCloseModal:!1})}handleOverwrite(e){var{glEventHub:t}=this.props;t.emit(Ye.CLOSE_FILE,{id:e,itemName:e},{force:!0}),this.focus()}handleCopy(){var{fileMetadata:e,settings:t}=this.state;L(e);var r=this.getNotebookValue(),{language:i}=t,{itemName:a}=e,o=be.getCopyFileName(a);je.debug("handleCopy",e,a,o),this.createNotebook(o,i,r)}handleEditorInitialized(e){this.editor=e}handleEditorWillDestroy(){this.editor=void 0}handleEditorChange(e){je.debug2("handleEditorChanged",e),this.removePreviewStatus(),this.setState(t=>{var{changeCount:r,savedChangeCount:i}=t,{isUndoing:a,isRedoing:o}=e;return a?{changeCount:r-1,savedChangeCount:i}:!o&&r<i?{changeCount:r+1,savedChangeCount:0}:{changeCount:r+1,savedChangeCount:i}}),this.debouncedSavePanelState()}handleFind(){this.notebook&&this.notebook.toggleFind()}updateEditorMinimap(){if(this.editor){var{defaultNotebookSettings:e}=this.props;this.editor.updateOptions({minimap:{enabled:e.isMinimapEnabled}})}}handleMinimapChange(){var{settings:e,defaultNotebookSettings:t,saveSettings:r}=this.props,i=zt(zt({},e),{},{defaultNotebookSettings:{isMinimapEnabled:!t.isMinimapEnabled}});r(i)}updateEditorWordWrap(){if(this.editor){var{settings:e}=this.state,{wordWrap:t}=e;this.editor.updateOptions({wordWrap:t})}}handleWordWrapChange(){this.editor&&this.setState(e=>{var{settings:t}=e,r=t.wordWrap==="on"?"off":"on";return{settings:zt(zt({},t),{},{wordWrap:r})}})}handleBlur(){je.debug("handleBlur"),this.setState({isFocused:!1})}handleFocus(){je.debug("handleFocus"),this.setState({isFocused:!0})}handleLinkClick(e){var{notebooksUrl:t,session:r,sessionLanguage:i}=this.props,{href:a}=e.currentTarget;if(!(!a||!a.startsWith(t))){e.stopPropagation(),e.preventDefault();var o="/".concat(a.substring(t.length)).replace(/%20/g," ");if(o==="/"){je.debug("Ignoring invalid notebook link",o);return}je.debug("Notebook link clicked, opening",o);var{glEventHub:s}=this.props,l={value:null,language:i},d={id:o,itemName:o};s.emit(Ye.SELECT_NOTEBOOK,r,i,l,d)}}handleLoadSuccess(){this.setState({error:void 0,isLoaded:!0,isLoading:!1})}handleLoadError(e){var t=e;Te.isCanceled(t)||(Te.isTimedOut(t)&&(t=new Error("File not found.")),je.error(t),this.setState({error:t,isLoading:!1}))}handleSave(){je.debug("handleSave"),this.save()}handleSaveSuccess(e){var t,{fileStorage:r}=this.props,i={id:e.filename,itemName:e.filename},a=(t=Cn.languageFromFileName(e.filename))!==null&&t!==void 0?t:"";this.setState(o=>{var{fileMetadata:s}=o,l=zt(zt({},o.settings),{},{language:a});return je.debug("handleSaveSuccess",i,s,l),s&&be.hasPath(s.itemName)&&s.itemName!==i.itemName&&(je.debug("handleSaveSuccess deleting old file",s.itemName),r.deleteFile(s.itemName).catch(Cn.handleError)),{fileMetadata:i,settings:l,isPreview:!1}}),this.debouncedSavePanelState(),this.registerFileMetadata(i,!1)}handleSaveError(e){Te.isCanceled(e)||(this.setState({savedChangeCount:0}),je.error(e))}handleSaveAsCancel(){this.setState({showSaveAsModal:!1})}handleSaveAsSubmit(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;r&&this.handleOverwrite(e),je.debug("handleSaveAsSubmit",e);var{fileMetadata:i}=this.state;if(i){var{itemName:a}=i,o=(t=this.getNotebookValue())!==null&&t!==void 0?t:"";if(this.setState({showSaveAsModal:!1}),be.getBaseName(a)!==be.getBaseName(e)){var{metadata:s}=this.props,{id:l}=s;this.renameTab(l,be.getBaseName(e))}this.saveContent(e,o)}}handleRenameFile(e,t,r){var{fileMetadata:i,panelState:a}=this.state,{glContainer:o}=this.props;if(i?.itemName==="/".concat(t)&&r&&JSON.stringify(a)!==JSON.stringify(r)){o.close();return}i&&i.id===e&&(this.setState({fileMetadata:{id:t,itemName:t}}),this.debouncedSavePanelState())}handleResize(){var e;(e=this.notebook)===null||e===void 0||e.updateDimensions()}handleRunCommand(e){this.runCommand(e)}handleRunAll(){var e;if(!this.notebook){je.error("Editor is not initialized.");return}this.runCommand((e=this.notebook.getValue())!==null&&e!==void 0?e:void 0)}handleRunSelected(){if(!this.notebook){je.error("Editor is not initialized.");return}this.runCommand(this.notebook.getSelectedCommand())}handleSessionOpened(e,t){var{language:r}=t;this.setState({session:e,sessionLanguage:r})}handleSessionClosed(){this.setState({session:void 0,sessionLanguage:void 0})}handleShow(){var e;je.debug("handleShow"),(e=this.notebook)===null||e===void 0||e.updateDimensions()}handlePanelDropped(e){var{metadata:{id:t}}=this.props;e===t&&this.forceUpdate()}handleShowRename(){this.setState({showSaveAsModal:!0})}handleTab(e){je.debug("NotebookPanel tab event",e),this.initTab(e)}handleTabFocus(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];je.debug("handleTabFocus",...t);var{glContainer:i}=this.props;this.setState({isDashboardActive:!0}),this.notebook&&!i.isHidden&&this.notebook.updateDimensions()}handleTabBlur(){je.debug("handleTabBlur"),this.setState({isDashboardActive:!1})}handleTabClick(e){je.debug("handle NotebookPanel tab click"),this.focus(),e.detail===2&&this.removePreviewStatus()}handleTransformLinkUri(e){var{notebooksUrl:t}=this.props,{fileMetadata:r}=this.state;if(e.endsWith("/"))return e;if(e.startsWith("/"))return"".concat(t).concat(e.substring(1));var i=r?.itemName;if(i===void 0)return e;i.charAt(0)==="/"&&(i=i.substring(1));var a=new URL(i,t);return new URL(e,a).href}focus(){requestAnimationFrame(()=>{this.notebook&&this.notebook.focus()})}createNotebook(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{glEventHub:i}=this.props,{session:a,sessionLanguage:o,settings:s}=this.state,l=zt(zt({},s),{},{language:t,value:r}),d={id:null,itemName:e};je.debug("handleCreateNotebook",a,o,l,d),i.emit(Ye.CREATE_NOTEBOOK,a,o,l,d)}runCommand(e){if(e===void 0||e===""){je.debug("Ignoring empty command.");return}this.removePreviewStatus();var{glEventHub:t}=this.props;t.emit(Lr.SEND_COMMAND,e,!1,!0)}removePreviewStatus(){this.setState(e=>{var{isPreview:t}=e;if(t){var{fileMetadata:r}=this.state;return r&&this.registerFileMetadata(r,!1),{isPreview:!1}}return null})}getDropdownOverflowActions(){var{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:r,glContainer:i,glContainer:{tab:a},glEventHub:o,defaultNotebookSettings:s}=this.props,{changeCount:l,savedChangeCount:d,error:u,isDashboardActive:c,isLoaded:m,isLoading:v,isPreview:g,fileMetadata:f,session:p,sessionLanguage:C,settings:b,showCloseModal:S,showSaveAsModal:E}=this.state,y=c&&!i.isHidden&&!g,T=(e=f?.itemName)!==null&&e!==void 0?e:Cn.DEFAULT_NAME,O=T.endsWith(".md"),D=f?.id!=null,P=this.getSettings(b,s.isMinimapEnabled),R=p!=null,_=C===P.language,M=!m||!R||!_,A=!m,B=[{action:this.handleSave,shortcut:ui.SAVE},{action:this.handleMinimapChange,shortcut:nr.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:nr.NOTEBOOK.WORDWRAP}],$=Ku.getDisabledRunTooltip(R,_,"Notebook extension","Run"),z=Ku.getDisabledRunTooltip(R,_,"Notebook extension","Run Selected"),G=[{title:D?"Rename":"Save As…",order:10,group:le.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:le.groups.high,order:20}],K=a?.element.find(".lm_title_before").get(0);return h.createElement(h.Fragment,null,K&&Fh.createPortal(h.createElement("span",{className:te("editor-unsaved-indicator",{"is-unsaved":l!==d})}),K),h.createElement(vi,{className:"notebook-container",componentPanel:this,glContainer:i,glEventHub:o,onTab:this.handleTab,onResize:this.handleResize,onShow:this.handleShow,onTabClicked:this.handleTabClick,onTabFocus:this.handleTabFocus,onTabBlur:this.handleTabBlur,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onFocus:this.handleFocus,onBlur:this.handleBlur,additionalActions:G,renderTabTooltip:()=>T},!O&&h.createElement(h.Fragment,null,h.createElement("div",{className:"notebook-toolbar"},h.createElement("span",null,h.createElement(j,{kind:"ghost",className:"btn-play",onClick:this.handleRunAll,disabled:M,icon:h.createElement(re,{icon:Rl,transform:"grow-4"}),tooltip:"Run ".concat(nr.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),$!=null&&h.createElement(pt,null,$)),h.createElement("span",null,h.createElement(j,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:M,icon:h.createElement(re,{icon:Sw,transform:"grow-4"}),tooltip:"Run Selected ".concat(nr.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),z!=null&&h.createElement(pt,null,z)),h.createElement(j,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:jf,tooltip:"Save ".concat(ui.SAVE.getDisplayText()),"aria-label":"Save"}),h.createElement(j,{kind:"ghost",className:"btn-overflow btn-link-icon",disabled:A,icon:Hf,tooltip:"More Actions...",onClick:()=>{}},h.createElement(ai,{actions:this.getDropdownOverflowActions,popperOptions:Cn.POPPER_OPTIONS}))),h.createElement(b0,{isLoaded:m,isLoading:v,error:u,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:p,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:P,focusOnMount:y,ref:X=>{this.notebook=X}})),O&&h.createElement(rx,{content:(t=P.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),h.createElement(ob,{isOpen:E,type:"file",defaultValue:T,title:D?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:r}),h.createElement(ss,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(T,"?"),bodyText:"Your changes will be lost if you don't save them.",onCancel:this.handleCloseCancel,onDiscard:this.handleCloseDiscard,onConfirm:this.handleCloseSave,discardButtonText:"Discard Changes",confirmButtonText:"Save"}),h.createElement(le,{actions:B})))}}gr(Cn,"COMPONENT","NotebookPanel");gr(Cn,"POPPER_OPTIONS",{placement:"bottom-end"});gr(Cn,"DEFAULT_NAME","Untitled");gr(Cn,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:null});var ax=(n,e)=>{var t=bp(n),r=Bt(n),i=hT(n),a=Ta(n,e.localDashboardId),{session:o,config:s}=a??{},{type:l}=s??{};return{fileStorage:t,settings:r,defaultNotebookSettings:i,session:o,sessionLanguage:l}},ox=$t(ax,{saveSettings:Ed},null,{forwardRef:!0})(Cn);const Ni=ox;function sx(n){if(n==null)throw new TypeError("Cannot destructure "+n)}function ed(){return ed=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ed.apply(this,arguments)}function td(n,e,t){return e=lx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function lx(n){var e=dx(n,"string");return typeof e=="symbol"?e:String(e)}function dx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Nc extends w.Component{constructor(e){super(e),td(this,"buttonRef",void 0),td(this,"irisGridRef",void 0),this.irisGridRef=h.createRef(),this.buttonRef=h.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e,t;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),(t=this.buttonRef.current)===null||t===void 0||t.blur(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,r,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(r=t.current)!==null&&r!==void 0&&r.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var e=this.props,t=ed({},(sx(e),e));return h.createElement(wa,ed({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},t),h.createElement(j,{ref:this.buttonRef,kind:"primary",className:"btn-pandas",onClick:this.handleReload,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically."},"pandas dataframe",h.createElement("span",null,h.createElement(re,{icon:kh,transform:"shrink-1",className:"mr-1"}),"Reload")))}}td(Nc,"defaultProps",{panelState:null});td(Nc,"COMPONENT","PandasPanel");const _u=Nc;function ux(n){Qi(n);var{id:e,layout:t,registerComponent:r,hydrate:i}=n,a=Pa(),o=w.useCallback(s=>{var{dragEvent:l,fetch:d,panelId:u=Xe.generate(),widget:c}=s,{name:m,type:v}=c;if(v===a.VariableType.FIGURE){var g={name:m,figure:m},f=()=>d().then(b=>kl.makeModel(a,void 0,b)),p={type:"react-component",component:eo.COMPONENT,props:{localDashboardId:e,id:u,metadata:g,makeModel:f},title:m,id:u},{root:C}=t;Q.openComponent({root:C,config:p,dragEvent:l})}},[a,e,t]);return w.useEffect(function(){var l=[r(eo.COMPONENT,eo,i)];return()=>{l.forEach(d=>d())}},[i,r]),Ke(t.eventHub,Ee.OPEN,o),null}function hx(n){Qi(n);var{id:e,layout:t}=n,r=Pa(),i=w.useCallback(a=>{var{metadata:o,panelId:s=Xe.generate(),table:l}=a,{settings:d}=o,u=()=>kl.makeModelFromSettings(r,d,l),c=kt.titleFromSettings(d),m={type:"react-component",component:eo.COMPONENT,props:{localDashboardId:e,id:s,metadata:o,makeModel:u},title:c,id:s},{root:v}=t;Q.openComponent({root:v,config:m})},[r,e,t]);return Ke(t.eventHub,fn.CREATE_CHART,i),null}function Zg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zg(Object(t),!0).forEach(function(r){cx(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Zg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function cx(n,e,t){return e=mx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mx(n){var e=vx(n,"string");return typeof e=="symbol"?e:String(e)}function vx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var bt=ie.module("ConsolePlugin");function ef(n){return n.notebook!==void 0}function gx(n){Qi(n)}function fx(n){gx(n);var{id:e,hydrateConsole:t,layout:r,panelManager:i,registerComponent:a,notebooksUrl:o}=n,s=w.useRef(0),[l,d]=w.useState(new Map),[u,c]=w.useState(new Map),m=Ih(),v=w.useCallback(()=>i.getLastUsedPanelOfType(qa),[i]),g=w.useCallback((I,N)=>{d(k=>new Map(k.set(I,N)))},[d]),f=w.useCallback(I=>{d(N=>(N.delete(I),new Map(N)))},[d]),p=w.useCallback((I,N)=>{c(k=>new Map(k.set(I,N)))},[c]),C=w.useCallback(I=>{c(N=>(N.delete(I),new Map(N)))},[c]),b=w.useCallback(function(I){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,x=I&&I.trim();if(!x)bt.info("Ignoring empty code");else{var Y=v();if(!Y||!(Y instanceof qa.WrappedComponent)){bt.error("Console panel not found");return}bt.debug("Send command: ",I,N,k),Y.addCommand(I,N,k)}},[v]),S=w.useCallback(I=>{m(h1(e,I))},[m,e]),E=w.useCallback(I=>{var{language:N}=I,k=N==="python"?"py":N,x=null;return k==null?(bt.debug("No extension for language",N),x="Untitled-".concat(s.current)):x="Untitled-".concat(s.current,".").concat(k),s.current+=1,x},[]),y=w.useCallback(function(I){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{id:k}=I;if(k!=null&&l.has(k))return l.get(k);if(k!=null&&u.has(k))return u.get(k);if(N)return Xe.generate()},[l,u]),T=w.useCallback((I,N)=>{Q.renameComponent(r.root,{id:I},N)},[r.root]),O=w.useCallback((I,N)=>{bt.debug("Rename file panel",I,N);var k;if(l.has(I)&&(k=l.get(I),f(I),k!=null&&g(N,k)),u.has(I)&&(k=u.get(I),C(I),k!=null&&p(N,k)),k===void 0){bt.debug2("File ".concat(I," isn't open, no need to rename the tab"));return}T(k,be.getBaseName(N))},[l,u,T,g,p,f,C]),D=w.useCallback(I=>{var N=y(I,!1);if(N==null){bt.error("Could not find panel id for file metadata",I);return}Q.activateTab(r.root,{id:N})},[y,r.root]),P=w.useCallback((I,N,k)=>{if(bt.debug("registerFilePanel",I,N,k),N==null||N.id==null){bt.debug("Ignore empty file id",N);return}var{id:x}=N;if(k){p(x,I);return}if(l.has(x)){var Y=l.get(x);if(I===Y){bt.debug("Update tab title for file ".concat(x));var{itemName:W}=N;O(x,W)}else bt.error("File ".concat(x," already associated with a different tab ").concat(Y));return}g(x,I),u.has(x)&&C(x)},[l,u,O,g,p,C]),R=w.useCallback((I,N)=>{if(bt.debug("unregisterFileTab",I,N),I==null||I.id==null){bt.debug("Ignore empty file id",I);return}var{id:k}=I;if(N){C(k);return}f(k)},[f,C]),_=w.useCallback((I,N)=>{bt.debug("closeFilePanel",I);var{id:k}=I,x=null,Y=!1;if(l.has(k))x=l.get(k);else if(u.has(k))x=u.get(k),Y=!0;else{bt.debug("File ".concat(k," isn't open, ignore close event"));return}R(I,Y),Q.closeComponent(r.root,{id:x},N)},[r.root,l,u,R]),M=w.useCallback(I=>{var{itemName:N}=I;return be.getBaseName(N)},[]),A=w.useCallback(I=>{var{id:N}=I;return bt.debug("fileIsOpen",I,N,l),N!=null&&l.has(N)},[l]),B=w.useCallback(I=>{var{id:N}=I;return bt.debug("fileIsOpenAsPreview",I,N,u),N!=null&&u.has(N)},[u]),$=w.useCallback(I=>{if(I!=null){var N=i.getOpenedPanelById(I);N&&ef(N)&&N.focus()}},[i]),z=w.useCallback(I=>{var{id:N,settings:k,fileMetadata:x,session:Y,sessionLanguage:W,isPreview:ee=!1}=I,oe={settings:k,fileMetadata:x},ae=M(x);return{type:"react-component",component:Ni.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:N},session:Y,sessionLanguage:W,panelState:oe,isPreview:ee,notebooksUrl:o},title:ae,id:N}},[M,e,o]),G=w.useCallback(function(I,N,k){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:E(k)},Y=y(x);if(A(x)&&Y!=null){bt.debug("File is already open, focus panel"),D(x),$(Y);return}var W=Q.getStackForComponentTypes(r.root,[Ni.COMPONENT]),ee=z({id:Y,settings:k,fileMetadata:x,session:I,sessionLanguage:N});bt.debug("createNotebook",ee,l),Q.openComponentInStack(W,ee)},[A,$,E,y,r.root,z,l,D]),K=w.useCallback(function(I,N,k,x){var Y=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;bt.debug("selectNotebook",x,Y);var W=A(x),ee=B(x),[oe]=[...u.values()],ae=!Y,se=ae&&oe?oe:y(x);if(se==null||se==="")throw new Error("Unable to retrieve or create panelId for metadata",x);if(W||ee)D(x);else{var pe=Q.getStackForComponentTypes(r.root,[Ni.COMPONENT]),He=z({id:se,settings:k,fileMetadata:x,session:I,sessionLanguage:N,isPreview:ae});Q.openComponentInStack(pe,He)}if(ee&&Y){var at=x.id,ot=Q.getStackForConfig(r.root,{component:Ni.COMPONENT,id:se}),Qe=Q.getContentItemInStack(ot,{component:Ni.COMPONENT,id:se});Qe&&Ir(Qe)&&(Qe.container.emit(Ye.PROMOTE_FROM_PREVIEW),C(at),g(at,se))}Y&&$(se)},[D,A,B,$,y,r.root,z,u,C,g]),X=w.useCallback(function(I,N){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,Y=i.getLastUsedPanelOfType(Ni);Y&&ef(Y)?k!=null&&k.value!=null&&Y.notebook!=null&&Y.notebook.append(k.value):x&&G(I,N,k)},[G,i]),J=w.useCallback((I,N)=>th.hydrate(Jg(Jg({},I),{},{notebooksUrl:o}),N),[o]);return w.useEffect(function(){var N=[a(qa.COMPONENT,qa,t),a(Xl.COMPONENT,Xl),a(Ql.COMPONENT,Ql),a(Jl.COMPONENT,Jl),a(Ni.COMPONENT,Ni,J)];return()=>{N.forEach(k=>k())}},[a,t,J]),Ke(r.eventHub,Lr.SEND_COMMAND,b),Ke(r.eventHub,Lr.SETTINGS_CHANGED,S),Ke(r.eventHub,Ye.CLOSE_FILE,_),Ke(r.eventHub,Ye.CREATE_NOTEBOOK,G),Ke(r.eventHub,Ye.SELECT_NOTEBOOK,K),Ke(r.eventHub,Ye.RENAME,T),Ke(r.eventHub,Ye.RENAME_FILE,O),Ke(r.eventHub,Ye.SEND_TO_NOTEBOOK,X),Ke(r.eventHub,Ye.REGISTER_FILE,P),Ke(r.eventHub,Ye.UNREGISTER_FILE,R),null}var $o=ie.module("FilterPlugin");function tf(n,e){return n.concat(e)}function px(n){Qi(n);var{id:e,layout:t,registerComponent:r}=n,i=Ih(),[a]=w.useState(()=>new Map),[o]=w.useState(()=>new Map),[s]=w.useState(()=>new Map),l=w.useCallback(()=>{var p=Array.from(a.values()).reduce(tf,[]).sort((S,E)=>{var y=Zr.toLower(S.name),T=Zr.toLower(E.name);if(y!==T)return y>T?1:-1;var O=Zr.toLower(S.type),D=Zr.toLower(E.type);return O!==D?O>D?1:-1:0}).reduce((S,E)=>((S.length===0||Zr.toLower(S[S.length-1].name)!==Zr.toLower(E.name)||Zr.toLower(S[S.length-1].type)!==Zr.toLower(E.type))&&S.push(E),S),[]),C=Array.from(o.values()).reduce(tf,[]).sort((S,E)=>S.timestamp-E.timestamp),b=new Map(s);$o.debug("sendUpdate",{columns:p,filters:C,tableMap:b}),i(Un(e,{columns:p,filters:C,tableMap:b}))},[i,e,a,o,s]),d=w.useCallback((p,C)=>{$o.debug2("handleColumnsChanged",p,C),a.set(p,[].concat(C)),l()},[a,l]),u=w.useCallback((p,C)=>{$o.debug2("handleFiltersChanged",p,C),o.set(p,[].concat(C)),l()},[o,l]),c=w.useCallback((p,C)=>{$o.debug2("handleTableChanged",p,C),s.set(Q.getIdFromPanel(p),C),l()},[s,l]),m=w.useCallback(p=>{$o.debug2("handlePanelUnmount",p),a.delete(p),o.delete(p),s.delete(Q.getIdFromPanel(p)),l()},[a,o,s,l]),v=w.useCallback(p=>{var{title:C="DropdownFilter",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=null}=p,D={type:"react-component",component:ba.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]),g=w.useCallback(p=>{var{title:C="InputFilter",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=void 0}=p,D={type:"react-component",component:ns.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]),f=w.useCallback(p=>{var{title:C="FilterSets",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=null}=p,D={type:"react-component",component:Iu.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]);return w.useEffect(function(){var C=[r(ba.COMPONENT,ba),r(ns.COMPONENT,ns),r(Iu.COMPONENT,Iu)];return()=>{C.forEach(b=>b())}},[r]),Ke(t.eventHub,it.COLUMNS_CHANGED,d),Ke(t.eventHub,it.FILTERS_CHANGED,u),Ke(t.eventHub,it.TABLE_CHANGED,c),Ke(t.eventHub,it.OPEN_DROPDOWN,v),Ke(t.eventHub,it.OPEN_INPUT,g),Ke(t.eventHub,it.OPEN_FILTER_SET_MANAGER,f),Ke(t.eventHub,Ee.UNMOUNT,m),null}function Cx(n){Qi(n);var{getDownloadWorker:e,loadPlugin:t,id:r,layout:i,registerComponent:a,hydrate:o,theme:s}=n,l=Pa(),d=w.useMemo(()=>[l.VariableType.TABLE,l.VariableType.TREETABLE,l.VariableType.HIERARCHICALTABLE],[l]),u=w.useCallback(c=>{var{dragEvent:m,fetch:v,panelId:g=Xe.generate(),widget:f}=c,{name:p,type:C}=f;if(d.includes(C)){var b={name:p,table:p,type:f.type},S=()=>v().then(T=>vc.makeModel(l,T)),E={type:"react-component",component:wa.COMPONENT,props:{getDownloadWorker:e,loadPlugin:t,localDashboardId:r,id:g,metadata:b,makeModel:S,theme:s},title:p,id:g},{root:y}=i;Q.openComponent({root:y,config:E,dragEvent:m})}},[l,e,r,i,t,d,s]);return w.useEffect(function(){var m=[a(wa.COMPONENT,wa,o)];return()=>{m.forEach(v=>v())}},[o,a]),Ke(i.eventHub,Ee.OPEN,u),null}function rf(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Fi(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rf(Object(t),!0).forEach(function(r){mb(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):rf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mb(n,e,t){return e=bx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bx(n){var e=Sx(n,"string");return typeof e=="symbol"?e:String(e)}function Sx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function vb(n){var e=n;return typeof e.getCoordinateForColumn=="function"}function nf(n){var e=n;return vb(n)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function af(n){var e;return n.description===void 0||!((e=n.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var Bo=ie.module("LinkerUtils");class kd{static getLinkType(e,t,r){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||r!=null&&r!==e.panelId&&r!==t.panelId)return Bo.debug2("Incompatible panel ids",e,t,r),"invalid";if(e.panelComponent==null||t.panelComponent==null)return Bo.error("PanelComponent should not be null",e,t),"invalid";var a=(i=kd.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return Bo.debug2("Incompatible panel components",e,t),"invalid";var{columnType:o}=e,{columnType:s}=t,l=s===null||H.isCompatibleType(o,s);if(!l)return Bo.debug2("Incompatible type",o,s),"invalid";switch(t.panelComponent){case Q.getComponentName(eo):return"chartLink";case Q.getComponentName(wa):return"tableLink";case Q.getComponentName(ba):return"filterSource"}return Bo.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:r,columnType:i}=t;return e.find(a=>{var{name:o,type:s}=a;return o===r&&s===i})}static cloneLinksForPanel(e,t,r){var i=[];return e.forEach(a=>{var o;a.start.panelId===t&&a.type!=="filterSource"?i.push(Fi(Fi({},a),{},{id:Xe.generate(),start:Fi(Fi({},a.start),{},{panelId:r})})):((o=a.end)===null||o===void 0?void 0:o.panelId)===t&&i.push(Fi(Fi({},a),{},{id:Xe.generate(),end:Fi(Fi({},a.end),{},{panelId:r})}))}),i}}mb(kd,"ALLOWED_LINKS",new Map([[Q.getComponentName(wa),[Q.getComponentName(wa),Q.getComponentName(eo),Q.getComponentName(ba)]]]));const Wa=kd;function gb(n,e,t){return e=wx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wx(n){var e=Ex(n,"string");return typeof e=="symbol"?e:String(e)}function Ex(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var yx=ie.module("LinkerLink"),of=.015,sf=1.5,fb=12,pb=12,lf=2,gl=Math.sqrt((pb*.5)**2+fb**2),df=Math.asin(pb*.5/fb),uf=15,Ii=Math.PI*.5;class ro extends w.Component{static makeCirclePath(e,t,r){return"M ".concat(e," ").concat(t," m -").concat(r,",0 a ").concat(r,",").concat(r," 0 1,0 ").concat(r*2,",0 a ").concat(r,",").concat(r," 0 1,0 -").concat(r*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(H.isNumberType(e)||H.isCharType(e))return gp(t);if(H.isTextType(e))return vp(t);if(H.isDateType(e))return fp(t);if(H.isBooleanType(e)){if(t===ge.eq)return"is equal to";if(t===ge.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(r){return yx.warn(r),""}}constructor(e){super(e),gb(this,"getOperators",fe((t,r)=>{var{onOperatorChanged:i}=this.props,a=H.getFilterTypes(r);return H.isBooleanType(r)&&(a=[ge.eq,ge.notEq]),a.flatMap((o,s)=>{if(o==="eqIgnoreCase"||o==="notEqIgnoreCase")return[];var l="";return o==="startsWith"?l="a*":o==="endsWith"?l="*z":l=H.getFilterOperatorString(o),[{title:ro.getLabelForLinkFilter(r,o),icon:h.createElement("b",null,l),action:()=>i(t,o),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:r,onDelete:i}=this.props;e.altKey?i(t):r(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:r,x1:i,y1:a,x2:o,y2:s,id:l,startColumnType:d,type:u}=this.props,{isHovering:c}=this.state,m=Math.sqrt((i-o)**2+(a-s)**2),v=Math.atan2(s-a,o-i),g=Math.sin(v),f=Math.cos(v)+2,p=window.innerWidth,C=window.innerHeight,b=0,S=0,E=Math.max(b,Math.min(i+(o-i)/2+g*(m*of)**sf,p)),y=Math.max(S,Math.min(a+(s-a)/2+f*(m*of)**sf,C)),T="M ".concat(i," ").concat(a," Q ").concat(E," ").concat(y," ").concat(o," ").concat(s),O="M ".concat(b," ").concat(S," L ").concat(b," ").concat(C," L ").concat(p," ").concat(C," L ").concat(p," ").concat(S,` z
35
+ `).concat(s," does not exist yet.")}if(i){var{widgetName:l}=this.props;return"".concat(l," is unavailable.")}}handleSessionClosed(){var{onSessionClose:e}=this.props;this.setState({isPanelDisconnected:!0,isWaitingForReconnect:!1}),e(...arguments)}handleSessionOpened(){var{onSessionOpen:e}=this.props;e(...arguments)}render(){var{children:e,className:t,componentPanel:r,isLoaded:i,isLoading:a,glContainer:o,glEventHub:s,isDisconnected:l,isClonable:d,isRenamable:u,showTabTooltip:c,renderTabTooltip:m,widgetType:v,widgetName:g,description:f,onClearAllFilters:p,onHide:C,onFocus:b,onBlur:S,onResize:E,onShow:y,onTabBlur:T,onTabFocus:O,onTabClicked:D}=this.props,{isPanelDisconnected:P,isWidgetDisconnected:R,isPanelInactive:_}=this.state,M=this.getErrorMessage(),A=m??this.getCachedRenderTabTooltip(c,o,v,g,f),B=[{title:"Copy ".concat(v," Name"),group:le.groups.medium,order:20,action:this.handleCopyName}];return h.createElement(vi,{className:te(t,{disconnected:P||R||l,inactive:_}),componentPanel:r,glContainer:o,glEventHub:s,onClearAllFilters:p,onHide:C,onFocus:b,onBlur:S,onResize:E,onShow:y,onSessionClose:this.handleSessionClosed,onSessionOpen:this.handleSessionOpened,onTabBlur:T,onTabFocus:O,onTabClicked:D,renderTabTooltip:A,errorMessage:M,isLoaded:i,isLoading:a,isClonable:d,isRenamable:u,additionalActions:B},e,_&&h.createElement("div",{className:"fill-parent-absolute"}))}}eb(tb,"defaultProps",{className:"",errorMessage:null,isClonable:!0,isDisconnected:!1,isLoading:!1,isLoaded:!0,isRenamable:!0,showTabTooltip:!0,widgetName:"Widget",widgetType:"Widget",renderTabTooltip:null,description:"",onFocus:()=>{},onBlur:()=>{},onHide:()=>{},onClearAllFilters:()=>{},onResize:()=>{},onSessionClose:()=>{},onSessionOpen:()=>{},onShow:()=>{},onTabBlur:()=>{},onTabFocus:()=>{},onTabClicked:()=>{}});const fc=tb,Sr=Object.freeze({DEFAULT:"DEFAULT",LINKER:"LINKER"});var n1=new Map,Id=Object.freeze([]),rb=(n,e)=>{var t;return(t=Er(n,e).columns)!==null&&t!==void 0?t:Id},i1=(n,e)=>{var t;return(t=Er(n,e).filterSets)!==null&&t!==void 0?t:Id},pc=(n,e)=>{var t;return(t=Er(n,e).filters)!==null&&t!==void 0?t:Id},Cc=(n,e)=>{var t;return(t=Er(n,e).tableMap)!==null&&t!==void 0?t:n1},bc=(n,e)=>Er(n,e).isolatedLinkerPanelId,Eo=(n,e)=>{var t;return(t=Er(n,e).links)!==null&&t!==void 0?t:Id},Sc=(n,e)=>Er(n,e).columnSelectionValidator,a1=(n,e)=>Er(n,e).connection,Ta=(n,e)=>Er(n,e).sessionWrapper,o1=(n,e)=>t=>t(Un(n,{connection:e})),s1=(n,e)=>t=>t(Un(n,{sessionWrapper:e})),wc=(n,e)=>t=>t(Un(n,{links:e})),l1=(n,e)=>(t,r)=>{var i=Eo(r(),n),a=e.filter(o=>i.findIndex(s=>ct(s.start,o.start)&&ct(s.end,o.end))<0);return t(wc(n,i.concat(a)))},d1=(n,e)=>(t,r)=>{var i=Eo(r(),n),a=i.filter(o=>!e.includes(o.id));return t(wc(n,a))},nb=(n,e)=>t=>t(Un(n,{isolatedLinkerPanelId:e})),u1=(n,e)=>t=>t(Un(n,{columnSelectionValidator:e})),h1=(n,e)=>t=>t(Un(n,{consoleSettings:e})),c1=(n,e)=>t=>t(Un(n,{filterSets:e}));function ib(n){var{columnMap:e,inputFilterMap:t,linkedColumnMap:r,onAdd:i,onOpenLinker:a,waitingFilterMap:o,waitingInputMap:s}=n,l=w.useMemo(()=>{var g=Array.from(s.keys()),f=g.find(b=>t.get(b)!=null),p=g.find(b=>r.get(b)!=null),C=Zr.join(g.map(b=>'"'.concat(b,'"')));return f!=null&&f&&p!=null&&p?"Use a filter control or linked table to set a value for ".concat(C):f!=null&&f?"Set a filter control value for ".concat(C):"Double click a row in a linked table to set a value for ".concat(C)},[t,r,s]),d=w.useMemo(()=>Array.from(e.values()),[e]),u=w.useCallback(g=>{g.stopPropagation(),g.preventDefault(),i(Array.from(o.values()))},[i,o]),c=w.useCallback(g=>{g.stopPropagation(),g.preventDefault(),a()},[a]),m=o.size>0,v=!m&&s.size>0;return h.createElement("div",{className:"chart-panel-overlay chart-filter-overlay"},h.createElement("div",{className:te("chart-panel-overlay-content chart-filter-overlay-content",{"chart-filter-waiting-filter":m},{"chart-filter-waiting-input":v})},m&&h.createElement(h.Fragment,null,h.createElement("div",{className:"info-message"},"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"),h.createElement("div",{className:"waiting-filter-list"},d.map(g=>{var f=o.has(g.name),p=f?Wi:Ah;return h.createElement("div",{key:g.name,className:te("waiting-filter-item",{"is-invalid":f})},h.createElement(re,{icon:p}),g.name)})),h.createElement("div",null,h.createElement(um,{onClick:u,className:"btn-primary"},"Add Input Filters"),h.createElement(um,{onClick:c,className:"btn-primary"},"Open Linker Tool"))),v&&h.createElement(h.Fragment,null,h.createElement("div",{className:"info-message"},"Waiting for User Input"),h.createElement("div",{className:""},l))))}ib.propTypes={columnMap:q.instanceOf(Map).isRequired,inputFilterMap:q.instanceOf(Map).isRequired,linkedColumnMap:q.instanceOf(Map).isRequired,onAdd:q.func.isRequired,onOpenLinker:q.func.isRequired,waitingFilterMap:q.instanceOf(Map).isRequired,waitingInputMap:q.instanceOf(Map).isRequired};function cs(n){var{columns:e,onColumnSelected:t,onMouseEnter:r,onMouseLeave:i}=n;return h.createElement("div",{className:"chart-panel-overlay chart-column-selector-overlay"},h.createElement("div",{className:te("chart-panel-overlay-content")},h.createElement("div",{className:"info-message"},"This plot requires a filter control to be added to the layout or a table link to be created on the following columns:"),h.createElement("div",{className:"waiting-column-select-list"},e.map(a=>h.createElement(Yf,{key:a.name,className:te("btn-chart-column-selector",cs.makeButtonClassName(a.name)),onClick:()=>t(a.name),onMouseEnter:()=>{r&&r(a)},onMouseLeave:i,disabled:!a.isValid,isLinked:a.isActive},a.name)))))}cs.makeButtonClassName=n=>"btn-chart-column-selector-".concat(n);cs.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}};function Tl(n){return n.settings!==void 0}function Fg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ig(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fg(Object(t),!0).forEach(function(r){Jr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Jr(n,e,t){return e=m1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function m1(n){var e=v1(n,"string");return typeof e=="symbol"?e:String(e)}function v1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ur=ie.module("ChartPanel"),g1=150;function f1(n){return n.inputFilters!=null}function p1(n){return n.panelState!=null}class _d extends w.Component{constructor(e){super(e),Jr(this,"panelContainer",void 0),Jr(this,"chart",void 0),Jr(this,"pending",void 0),Jr(this,"getWaitingInputMap",fe((o,s,l)=>{if(!o)return new Map;var d=new Map(s);return l.forEach((u,c)=>{d.delete(c)}),d})),Jr(this,"getWaitingFilterMap",fe((o,s,l,d,u)=>{if(!o)return new Map;var c=new Map(s);return l.forEach((m,v)=>{c.delete(v)}),u.forEach((m,v)=>{c.delete(v)}),d.forEach((m,v)=>{c.delete(v)}),c})),Jr(this,"getInputFilterColumnMap",fe((o,s)=>{for(var l=new Map,d=0;d<s.length;d+=1){var u=s[d],{name:c,type:m}=u,v=o.get(c);v!=null&&v.type===m&&l.set(c,u)}return l})),Jr(this,"getLinkedColumnMap",fe((o,s)=>{for(var l=new Map,d=Q.getIdFromPanel(this),u=0;u<s.length;u+=1){var c=s[u],m=null;if(c.start!=null&&c.start.panelId===d&&o.has(c.start.columnName)?m=c.start.columnName:c.end&&c.end.panelId===d&&o.has(c.end.columnName)&&(m=c.end.columnName),m!=null&&o.has(m)){var v=o.get(m);L(v),l.set(m,v)}}return l})),Jr(this,"getSelectorColumns",fe((o,s,l)=>Array.from(o.values()).map(d=>({name:d.name,type:d.type,isValid:l?l(this,d):!1,isActive:s.has(d.name)})))),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleColumnMouseEnter=this.handleColumnMouseEnter.bind(this),this.handleColumnMouseLeave=this.handleColumnMouseLeave.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleFilterAdd=this.handleFilterAdd.bind(this),this.handleHide=this.handleHide.bind(this),this.handleError=this.handleError.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChanged=this.handleSettingsChanged.bind(this),this.handleOpenLinker=this.handleOpenLinker.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSourceColumnChange=this.handleSourceColumnChange.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleUpdate=this.handleUpdate.bind(this),this.updateModelFromSource=rt(this.updateModelFromSource.bind(this),g1),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.panelContainer=h.createRef(),this.chart=h.createRef(),this.pending=new hi;var{metadata:t,panelState:r}=e,{filterValueMap:i=[],settings:a={}}=r??{};this.state={settings:a,error:void 0,isActive:!1,isDisconnected:!1,isLoading:!1,isLoaded:!1,isLinked:t!=null&&Tl(t)&&t.settings.isLinked,filterMap:new Map(i),filterValueMap:new Map(i),model:void 0,columnMap:new Map,panelState:r}}componentDidMount(){this.isHidden()||(this.setState({isActive:!0}),this.initModel())}componentDidUpdate(e,t){var{inputFilters:r,source:i}=this.props,{columnMap:a,model:o,filterMap:s,filterValueMap:l,isLinked:d,settings:u}=this.state;o&&(a!==t.columnMap&&this.pruneFilterMaps(),r!==e.inputFilters&&this.updateChangedInputFilters(r,e.inputFilters),s!==t.filterMap?this.updateFilters():l!==t.filterValueMap&&this.updatePanelState(),u!==t.settings&&jm(o)&&(o.updateSettings(u),this.updatePanelState()),d!==t.isLinked?i&&(d?(this.startListeningToSource(i),this.updateModelFromSource()):this.stopListeningToSource(i)):d&&i!==e.source&&(e.source&&this.stopListeningToSource(e.source),i&&(this.startListeningToSource(i),this.updateModelFromSource())))}componentWillUnmount(){this.pending.cancel();var{model:e}=this.state,{source:t}=this.props;e!=null&&t&&this.stopListeningToSource(t)}initModel(){this.setState({isLoading:!0,isLoaded:!1,error:void 0});var{makeModel:e}=this.props;this.pending.add(e(),t=>{t.close()}).then(this.handleLoadSuccess,this.handleLoadError)}startListeningToSource(e){ur.debug("startListeningToSource",e);var{model:t}=this.state;L(t);var{dh:r}=t;e.addEventListener(r.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.addEventListener(r.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(r.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}stopListeningToSource(e){ur.debug("stopListeningToSource",e);var{model:t}=this.state;L(t);var{dh:r}=t;e.removeEventListener(r.Table.EVENT_CUSTOMCOLUMNSCHANGED,this.handleSourceColumnChange),e.removeEventListener(r.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(r.Table.EVENT_SORTCHANGED,this.handleSourceSortChange)}loadModelIfNecessary(){var{isActive:e,isLoaded:t,isLoading:r}=this.state;e&&!t&&!r&&this.initModel()}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}handleColumnSelected(e){var{glEventHub:t}=this.props,{columnMap:r}=this.state;t.emit(Th.COLUMN_SELECTED,this,r.get(e))}handleColumnMouseEnter(e){var{type:t,name:r}=e,{columnSelectionValidator:i}=this.props;ur.debug("handleColumnMouseEnter",i,t,r),i&&i(this,{type:t,name:r})}handleColumnMouseLeave(){var{columnSelectionValidator:e}=this.props;ur.debug("handleColumnMouseLeave",e),e&&e(this,void 0)}handleDisconnect(){this.setState({error:new Error("Figure disconnected"),isDisconnected:!0})}handleFilterAdd(e){for(var t=0;t<e.length;t+=1)this.openInputFilter(e[t])}handleOpenLinker(){var{localDashboardId:e,setActiveTool:t,setDashboardIsolatedLinkerPanelId:r}=this.props;r(e,void 0),t(Sr.LINKER)}handleReconnect(){this.setState({isDisconnected:!1,error:void 0}),this.sendColumnChange(),this.updateColumnFilters()}handleLoadSuccess(e){ur.debug("handleLoadSuccess");var{model:t}=this.state;this.setState({model:e,isLoaded:!0},()=>{var{inputFilters:r,source:i}=this.props,{filterMap:a,isLinked:o}=this.state;e!==t&&(this.sendColumnChange(),this.updateColumnFilters(),this.updateInputFilters(r,a.size>0||e.isFilterRequired()),i&&o&&(this.startListeningToSource(i),this.updateModelFromSource()))})}handleLoadError(e){Te.isCanceled(e)||(ur.error("handleLoadError",e),this.setState({error:e,isLoading:!1}))}handleSourceColumnChange(){this.updateModelFromSource()}handleSourceFilterChange(){this.updateModelFromSource()}handleSourceSortChange(){this.updateModelFromSource()}updateModelFromSource(){var{metadata:e,source:t}=this.props,{isLinked:r,model:i}=this.state;if(!r||!i||!t){ur.debug2("updateModelFromSource ignoring",r,i,t);return}var{dh:a}=i;if(this.pending.cancel(),Tl(e)){var{settings:o}=e;this.pending.add(a.plot.Figure.create(new kt(a).makeFigureSettings(o,t))).then(s=>{jm(i)&&i.setFigure(s)}).catch(this.handleLoadError)}this.updatePanelState()}updatePanelState(){var{sourcePanel:e}=this.props,{panelState:t,filterValueMap:r,settings:i}=this.state,{tableSettings:a}=t??{};if(e&&f1(e.props)&&p1(e.state)){var{inputFilters:o}=e.props,{panelState:s}=e.state;s!=null&&(a=ye.extractTableSettings(s,o))}this.setState({panelState:{settings:i,tableSettings:a,filterValueMap:Array.from(r)}})}handleError(){this.setState({isLoading:!1})}handleResize(){this.updateChart()}handleSettingsChanged(e){this.setState(t=>{var{settings:r}=t,i=Ig(Ig({},r),e);return ur.debug("Updated settings",i),{settings:i}})}handleHide(){this.setActive(!1)}handleShow(){this.setActive(!0)}handleTabBlur(){this.setActive(!1)}handleTabFocus(){var e=this.isHidden();this.setActive(!e)}handleUpdate(){this.setState({isLoading:!1})}handleClearAllFilters(){this.setState({filterValueMap:new Map,filterMap:new Map}),this.updatePanelState()}openInputFilter(e){var{glEventHub:t}=this.props,{name:r,type:i}=e;t.emit(it.OPEN_INPUT,{title:"".concat(r," Filter"),panelState:{name:r,type:i,isValueShown:!0},createNewStack:!0,focusElement:"input"})}setActive(e){this.setState({isActive:e},()=>{e&&(this.loadModelIfNecessary(),this.updateChart())})}sendColumnChange(){var{model:e}=this.state;if(e){var{glEventHub:t}=this.props;t.emit(it.COLUMNS_CHANGED,this,Array.from(e.getFilterColumnMap().values()))}}getCoordinateForColumn(e){var t,r=cs.makeButtonClassName(e);if(!this.panelContainer.current)return null;var i=this.panelContainer.current.querySelector(".".concat(r)),a=(t=i?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(a==null||a.width<=0||a.height<=0)return null;var o=a.left+a.width/2,s=a.bottom;return[o,s]}setFilterMap(e){ur.debug("setFilterMap",e),this.setState(t=>{var r,{columnMap:i,filterMap:a}=t,o=null,s=new Map(t.filterValueMap);return e.forEach((l,d)=>{var{columnType:u,filterList:c}=l,m=i.get(d);if(!(m==null||m.type!==u)){if(c.length<1){ur.debug("Ignoring empty filterList for column",d);return}var{value:v}=c[0];s.set(d,v),a.get(d)!==v&&(o===null&&(o=new Map(a)),o.set(d,v))}}),{filterValueMap:s,filterMap:(r=o)!==null&&r!==void 0?r:a}})}unsetFilterValue(e){this.setState(t=>{var{inputFilters:r}=this.props,{columnMap:i}=t,{filterMap:a,filterValueMap:o}=t;if(!o.has(e))return null;o=new Map(t.filterValueMap),o.delete(e);var s=this.getInputFilterColumnMap(i,r);if(s.has(e)){var l,d=a.get(e),u=(l=s.get(e))===null||l===void 0?void 0:l.value;u!=null&&d!==u&&(a=new Map(t.filterMap),u.length>0?a.set(e,u):a.delete(e))}else a=new Map(t.filterMap),a.delete(e);return{filterMap:a,filterValueMap:o}})}updateChangedInputFilters(e,t){var r=t.filter(a=>e.find(o=>o.name===a.name&&o.type===a.type)===void 0);r.length>0&&this.deleteInputFilters(r);var i=e.filter(a=>!t.includes(a));i.length>0&&this.updateInputFilters(i)}updateInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(r=>{for(var{columnMap:i}=r,a=new Map(r.filterValueMap),o=new Map(r.filterMap),s=t?{filterMap:o,filterValueMap:a}:{},l=0;l<e.length;l+=1){var{name:d,type:u,value:c}=e[l],m=i.get(d);m!=null&&m.type===u&&(c!=null&&o.get(d)!==c&&(c===""?o.delete(d):o.set(d,c),s.filterMap=o),a.has(d)&&(a.delete(d),s.filterValueMap=a))}return ur.debug("updateInputFilters",s),s})}deleteInputFilters(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState(r=>{for(var{columnMap:i,filterValueMap:a}=r,o=new Map(r.filterMap),s=t,l=0;l<e.length;l+=1){var{name:d,type:u}=e[l],c=i.get(d);if(c!=null&&c.type===u&&o.has(d)){var m=o.get(d);if(a.has(d)){var v=a.get(d);v!==m&&v!=null&&(s=!0,o.set(d,v))}else s=!0,o.delete(d)}}return ur.debug("deleteInputFilters",s),s?{filterMap:o}:null})}updateColumnFilters(){this.setState(e=>{var{model:t}=e;return t?{columnMap:t.getFilterColumnMap()}:null})}updateFilters(){var{columnMap:e,filterMap:t,model:r}=this.state;L(r);var i=this.getWaitingInputMap(r.isFilterRequired(),e,t);if(r.setFilter(t),t.size>0&&i.size===0){var a=r.getDefaultTitle(),o=Zr.join(Array.from(t.entries()).map(s=>{var[l,d]=s;return"".concat(l,": ").concat(d)}));a?r.setTitle("".concat(a,'<br><span style="font-size: smaller">').concat(o,"</span>")):r.setTitle(o),ur.debug2("updateFilters filters set",t),this.setState({isLoading:!0})}else ur.debug2("updateFilters waiting on inputs",i),r.setTitle(r.getDefaultTitle()),this.setState({isLoading:!1});this.updatePanelState()}pruneFilterMaps(){this.setState(e=>{var{columnMap:t}=e,r=new Map(e.filterMap),i=new Map(e.filterValueMap),a={};return e.filterValueMap.forEach((o,s)=>{t.has(s)||(i.delete(s),a.filterValueMap=i)}),e.filterMap.forEach((o,s)=>{t.has(s)||(r.delete(s),a.filterMap=r)}),a})}updateChart(){this.chart.current&&this.chart.current.updateDimensions()}render(){var{columnSelectionValidator:e,glContainer:t,glEventHub:r,inputFilters:i,isLinkerActive:a,links:o,metadata:s,settings:l,Plotly:d}=this.props,{columnMap:u,filterMap:c,error:m,model:v,isActive:g,isDisconnected:f,isLoaded:p,isLoading:C}=this.state,b;Tl(s)?b=s.table:b=s.figure;var S=this.getInputFilterColumnMap(u,i),E=this.getLinkedColumnMap(u,o),y=v!=null?this.getWaitingInputMap(v.isFilterRequired(),u,c):new Map,T=v!=null?this.getWaitingFilterMap(v.isFilterRequired(),u,c,E,S):new Map,O=m!=null?"Unable to open chart. ".concat(m):void 0,D=y.size>0,P=u.size>0&&a;return h.createElement(fc,{className:te("iris-chart-panel",{"input-required":D}),componentPanel:this,glContainer:t,glEventHub:r,onHide:this.handleHide,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabBlur:this.handleTabBlur,onTabFocus:this.handleTabFocus,errorMessage:O,isDisconnected:f,isLoading:C,isLoaded:p,widgetName:b,widgetType:"Chart"},h.createElement("div",{ref:this.panelContainer,className:"chart-panel-container h-100 w-100"},h.createElement("div",{className:"chart-container h-100 w-100"},p&&v&&h.createElement(tT,{isActive:g,model:v,settings:l,ref:this.chart,onDisconnect:this.handleDisconnect,onReconnect:this.handleReconnect,onUpdate:this.handleUpdate,onError:this.handleError,onSettingsChanged:this.handleSettingsChanged,Plotly:d})),h.createElement(kr,{in:D&&!P&&!C,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(ib,{inputFilterMap:S,linkedColumnMap:E,onAdd:this.handleFilterAdd,onOpenLinker:this.handleOpenLinker,columnMap:u,waitingFilterMap:T,waitingInputMap:y})),h.createElement(kr,{in:P,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0},h.createElement(cs,{columns:this.getSelectorColumns(u,E,e),onColumnSelected:this.handleColumnSelected,onMouseEnter:this.handleColumnMouseEnter,onMouseLeave:this.handleColumnMouseLeave}))))}}Jr(_d,"defaultProps",{columnSelectionValidator:null,isLinkerActive:!1,source:null,sourcePanel:null,panelState:null,settings:{}});Jr(_d,"displayName","ChartPanel");Jr(_d,"COMPONENT","ChartPanel");var C1=(n,e)=>{var{localDashboardId:t,metadata:r}=e,i;r!=null&&(i=r.sourcePanelId);var a=Cc(n,t),o=sC(n,t),s=wd(n),l=bc(n,t),d=s===Sr.LINKER&&l===void 0;return{columnSelectionValidator:Sc(n,t),isLinkerActive:d,inputFilters:pc(n,t),links:Eo(n,t),source:i!=null?a.get(i):void 0,sourcePanel:i!=null?o.get(i):void 0,settings:Bt(n)}},b1=$t(C1,{setActiveTool:yd,setDashboardIsolatedLinkerPanelId:nb},null,{forwardRef:!0})(_d);const eo=b1;function ql(n,e,t){return e=S1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S1(n){var e=w1(n,"string");return typeof e=="symbol"?e:String(e)}function w1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ll=ie.module("CommandHistoryPanel");class Ds extends w.Component{static handleError(e){ll.error(e)}constructor(e){super(e),ql(this,"container",void 0),ql(this,"pending",void 0),this.handleFocusHistory=this.handleFocusHistory.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSendToConsole=this.handleSendToConsole.bind(this),this.handleSendToNotebook=this.handleSendToNotebook.bind(this),this.container=h.createRef(),this.pending=new hi;var{session:t,sessionId:r,language:i}=e;this.state={panelState:{},session:t,sessionId:r,language:i,contextActions:[{action:this.handleFocusHistory,shortcut:nr.COMMAND_HISTORY.FOCUS_HISTORY}]}}componentDidMount(){var{glEventHub:e,session:t}=this.props;e.on(Lr.FOCUS_HISTORY,this.handleFocusHistory),t!=null&&this.loadTable()}componentWillUnmount(){var{glEventHub:e}=this.props;e.off(Lr.FOCUS_HISTORY,this.handleFocusHistory),this.pending.cancel()}handleFocusHistory(){this.container.current&&this.container.current.focus()}handleShow(){var e;(e=this.container.current)===null||e===void 0||e.restoreScrollPosition()}handleSessionOpened(e,t){var{language:r,sessionId:i}=t;this.setState({session:e,sessionId:i,language:r},()=>{this.loadTable()})}handleSessionClosed(){this.pending.cancel(),this.setState({session:void 0,language:void 0,table:void 0})}handleSendToNotebook(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{session:r,language:i}=this.state;if(ll.debug("handleSendToNotebook",r,e),!r){ll.error("Session is not connected.");return}var{glEventHub:a}=this.props;a.emit(t?Ye.CREATE_NOTEBOOK:Ye.SEND_TO_NOTEBOOK,r,i,e)}handleSendToConsole(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;ll.debug("handleSendToConsole",e);var{glEventHub:i}=this.props;i.emit(Lr.SEND_COMMAND,e,t,r)}loadTable(){var{commandHistoryStorage:e}=this.props,{language:t,sessionId:r}=this.state;L(t),L(r),this.pending.add(e.getTable(t,r,Date.now()),i=>i.close()).then(i=>{this.setState({table:i})}).catch(Ds.handleError)}render(){var{glContainer:e,glEventHub:t,commandHistoryStorage:r}=this.props,{language:i,contextActions:a,table:o}=this.state;return h.createElement(vi,{className:"command-history-pane",componentPanel:this,glContainer:e,glEventHub:t,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow},!o&&h.createElement("div",{className:"command-history-disconnected-message"},"Waiting for console connection"),o&&i!=null&&h.createElement(h.Fragment,null,h.createElement(I0,{ref:this.container,language:i,sendToNotebook:this.handleSendToNotebook,sendToConsole:this.handleSendToConsole,table:o,commandHistoryStorage:r}),h.createElement(le,{actions:a})))}}ql(Ds,"COMPONENT","CommandHistoryPanel");ql(Ds,"TITLE","Command History");var E1=(n,e)=>{var t=Cp(n),r=Ta(n,e.localDashboardId),{session:i,config:a}=r??{},{type:o,id:s}=a??{};return{commandHistoryStorage:t,language:o,session:i,sessionId:s}},y1=$t(E1,null,null,{forwardRef:!0})(Ds);const Xl=y1;function _g(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Mg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_g(Object(t),!0).forEach(function(r){to(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):_g(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function to(n,e,t){return e=T1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function T1(n){var e=P1(n,"string");return typeof e=="symbol"?e:String(e)}function P1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var dl=ie.module("ConsolePanel"),O1=500,D1=Object.freeze({consoleSettings:{},itemIds:[]});class Ec extends w.PureComponent{constructor(e){super(e),to(this,"consoleRef",void 0),to(this,"objectSubscriptionCleanup",void 0),to(this,"savePanelState",rt(()=>{var{consoleSettings:o,itemIds:s}=this.state,l={consoleSettings:o,itemIds:[...s]};dl.debug("Saving panel state",l),this.setState({panelState:l})},O1)),this.handleFocusCommandHistory=this.handleFocusCommandHistory.bind(this),this.handleOpenObject=this.handleOpenObject.bind(this),this.handleCloseObject=this.handleCloseObject.bind(this),this.handleResize=this.handleResize.bind(this),this.handleSettingsChange=this.handleSettingsChange.bind(this),this.handleShow=this.handleShow.bind(this),this.handlePanelMount=this.handlePanelMount.bind(this),this.consoleRef=h.createRef();var{panelState:t}=e,r=Mg(Mg({},D1),t||{}),{consoleSettings:i,itemIds:a}=r;this.state={consoleSettings:i,itemIds:new Map(a),objectMap:new Map,error:void 0,panelState:r}}componentDidMount(){var{glEventHub:e}=this.props;this.closeDisconnectedPanels(),e.on(Ee.MOUNT,this.handlePanelMount),this.subscribeToFieldUpdates()}componentDidUpdate(e,t){var{consoleSettings:r,itemIds:i}=this.state;(t.consoleSettings!==r||t.itemIds!==i)&&this.savePanelState()}componentWillUnmount(){var e,{glEventHub:t}=this.props;this.savePanelState.flush(),t.off(Ee.MOUNT,this.handlePanelMount),(e=this.objectSubscriptionCleanup)===null||e===void 0||e.call(this)}subscribeToFieldUpdates(){var{sessionWrapper:e}=this.props,{session:t}=e;this.objectSubscriptionCleanup=t.subscribeToFieldUpdates(r=>{dl.debug("Got updates",r),this.setState(i=>{var{objectMap:a}=i,{updated:o,created:s,removed:l}=r,d=[...o,...l],u=new Map(a);d.forEach(m=>{var{title:v}=m;v!==void 0&&u.delete(v)});var c=[...o,...s];return c.forEach(m=>{m.title!==void 0&&u.set(m.title,m)}),{objectMap:u}})})}setItemId(e,t){this.setState(r=>{var{itemIds:i}=r,a=new Map(i);return a.set(e,t),{itemIds:a}})}getItemId(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{itemIds:r}=this.state,i=r.get(e);return i==null&&t&&(i=Xe.generate(),this.setItemId(e,i)),i}handleTabFocus(){var e;(e=this.consoleRef.current)===null||e===void 0||e.focus()}handlePanelMount(e){var t,r,i,{itemIds:a}=this.state,o=e==null||(t=e.props)===null||t===void 0?void 0:t.id,s=e==null||(r=e.props)===null||r===void 0||(i=r.metadata)===null||i===void 0?void 0:i.sourcePanelId;if(o&&s){var l=new Set(a.values());l.has(s)&&this.setItemId(o,o)}}handleFocusCommandHistory(){var{glEventHub:e}=this.props;e.emit(Lr.FOCUS_HISTORY)}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions()}handleOpenObject(e){var{sessionWrapper:t}=this.props,{session:r}=t;this.openWidget(e,r)}handleCloseObject(e){var{title:t}=e;if(t!==void 0){var r=this.getItemId(t,!1),{glEventHub:i}=this.props;i.emit(Ee.CLOSE,r)}}handleSettingsChange(e){var{glEventHub:t}=this.props;dl.debug("handleSettingsChange",e),this.setState({consoleSettings:e}),t.emit(Lr.SETTINGS_CHANGED,e)}openWidget(e,t){var{glEventHub:r}=this.props,{title:i}=e;L(i);var a=this.getItemId(i),o={fetch:()=>t.getObject(e),panelId:a,widget:e};dl.debug("openWidget",o),r.emit(Ee.OPEN,o)}addCommand(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(t=this.consoleRef.current)===null||t===void 0||t.addCommand(e,r,i)}closeDisconnectedPanels(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,{consoleSettings:t,itemIds:r}=this.state,{isClosePanelsOnDisconnectEnabled:i=!0}=t;if(!(!i&&!e)){var a=[...r.values()],{glEventHub:o}=this.props;a.forEach(s=>{o.emit(Ee.CLOSE,s)}),this.setState({itemIds:new Map})}}updateDimensions(){var e;(e=this.consoleRef.current)===null||e===void 0||e.updateDimensions()}render(){var{commandHistoryStorage:e,glContainer:t,glEventHub:r,sessionWrapper:i,timeZone:a,unzip:o}=this.props,{consoleSettings:s,error:l,objectMap:d}=this.state,{config:u,session:c,connection:m,details:v={},dh:g}=i,{workerName:f,processInfoId:p}=v,{id:C,type:b}=u;return h.createElement(vi,{className:"iris-panel-console",componentPanel:this,glContainer:t,glEventHub:r,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleTabFocus,errorMessage:l!=null?"".concat(l):void 0},c!=null&&h.createElement(h0,{dh:g,ref:this.consoleRef,settings:s,session:c,focusCommandHistory:this.handleFocusCommandHistory,openObject:this.handleOpenObject,closeObject:this.handleCloseObject,commandHistoryStorage:e,onSettingsChange:this.handleSettingsChange,language:b,statusBarChildren:h.createElement(h.Fragment,null,h.createElement("div",null," "),h.createElement("div",null,ep.LANGUAGE_MAP.get(b)),f!=null&&h.createElement(h.Fragment,null,h.createElement("div",null," • "),f),p!=null&&h.createElement(h.Fragment,null,h.createElement("div",null," • "),p,h.createElement("div",null," •")),h.createElement("div",null," "),h.createElement("div",null,h.createElement(sT,{connection:m,defaultUpdateInterval:10*1e3,hoverUpdateInterval:3*1e3,monitorDuration:10*60*1e3})),h.createElement("div",null," ")),scope:C,timeZone:a,objectMap:d,unzip:o}))}}to(Ec,"COMPONENT","ConsolePanel");to(Ec,"TITLE","Console");var R1=(n,e)=>({commandHistoryStorage:Cp(n),sessionWrapper:Ta(n,e.localDashboardId),timeZone:Ss(n)}),N1=$t(R1,null,null,{forwardRef:!0})(Ec);const qa=N1;function gn(n,e,t){return e=F1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function F1(n){var e=I1(n,"string");return typeof e=="symbol"?e:String(e)}function I1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ul=ie.module("DropdownFilter"),_1=150;class di extends w.Component{constructor(e){super(e),gn(this,"dropdownRef",void 0),gn(this,"getCompatibleColumns",fe((a,o)=>a!=null?o.filter(s=>{var{type:l}=s;return l!==void 0&&H.isCompatibleType(l,a.columnType)}):[])),gn(this,"getColumnOptions",fe((a,o)=>{var s=-1,l=[];return l.push(h.createElement("option",{key:"placeholder",value:"-1"},"Select a column")),a.forEach((d,u)=>{l.push(h.createElement("option",{key:"".concat(d.name,"/").concat(d.type),value:u},this.getItemLabel(a,u))),o!==null&&d.name===o.name&&d.type===o.type&&(s=u)}),[l,s]})),gn(this,"getSelectedOptionIndex",fe((a,o)=>a.indexOf(o))),gn(this,"getValueOptions",fe(a=>[h.createElement("option",{value:"-1",key:"-1"},di.PLACEHOLDER),...a.map((o,s)=>h.createElement("option",{value:s,key:"".concat(s,"/").concat(o)},o??"(null)"))])),gn(this,"getItemLabel",Pe((a,o)=>{var{name:s,type:l}=a[o];if(o>0&&a[o-1].name===s||o<a.length-1&&a[o+1].name===s){var d=l.substring(l.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),gn(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a({column:o,isValueShown:l,value:s??void 0})},_1)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleDropdownKeyPress=this.handleDropdownKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.dropdownRef=h.createRef();var{column:t,isValueShown:r,value:i}=e;this.state={column:t,id:Xe(),selectedColumn:t,disableCancel:!r,isValueShown:r,value:i}}componentDidUpdate(e,t){var{source:r,values:i,isLoaded:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a&&(r!==e.source&&this.sourceUpdated(),i!==e.values&&s!==""&&!i.includes(s)&&this.resetValue(),l!==t.isValueShown&&l&&this.focusInput(),(o!==t.column||s!==t.value||l!==t.isValueShown)&&this.sendUpdate())}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{value:t}=e.target;if(ul.debug2("handleColumnChange",t),t!=null&&parseInt(t,10)<0){this.setState({selectedColumn:null});return}var{columns:r,source:i}=this.props,a=this.getCompatibleColumns(i,r);this.setState({selectedColumn:a[parseInt(t,10)]})}handleDropdownKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),ul.debug2("handleDropdownKeyPress"),this.sendUpdate(),this.sendUpdate.flush())}handleValueChange(e){var{value:t}=e.target,r=parseInt(t,10),i="",{values:a}=this.props;r>=0&&r<a.length?i=a[r]:ul.debug2("Selected default item"),ul.debug2("handleValueChange",i),this.setState({value:i})}handleSettingsCancel(){this.setState(e=>{var{column:t}=e;return{selectedColumn:t,isValueShown:!0}})}handleSettingsSave(){this.setState(e=>{var{column:t,selectedColumn:r,value:i}=e;return{column:r,value:t===r?i:"",isValueShown:!0,disableCancel:!1}})}handleSettingsClick(e){e.stopPropagation(),this.showSettings()}handleBackgroundClick(e){e.target!==this.dropdownRef.current&&this.focusInput()}sourceUpdated(){this.setState({column:null,selectedColumn:null,isValueShown:!1,disableCancel:!0,value:""})}showSettings(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!1})}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}resetValue(){this.setState({value:""})}clearFilter(){this.resetValue()}setFilterState(e){var{name:t,type:r,value:i,isValueShown:a}=e,o=t!=null&&r!=null?{name:t,type:r}:null;this.setState(s=>{var{value:l,isValueShown:d}=s;return{column:o,value:i??l,isValueShown:a??d}})}render(){var e,{columns:t,disableLinking:r,isLinkerActive:i,isLoaded:a,source:o,onColumnSelected:s,onSourceMouseEnter:l,onSourceMouseLeave:d,values:u,settingsError:c}=this.props,{column:m,disableCancel:v,id:g,isValueShown:f,selectedColumn:p,value:C}=this.state,b=o===null,S=this.getCompatibleColumns(o,t),E=o!=null,y=(e=o?.columnName)!==null&&e!==void 0?e:di.SOURCE_BUTTON_PLACEHOLDER,T=m!=null?"".concat(m.name," Filter"):null,[O,D]=this.getColumnOptions(S,p),P=this.getValueOptions(u),R=this.getSelectedOptionIndex(u,C),_=!E||p==null,M=f&&!i,A="source-column-btn-".concat(g),B="filter-column-select-".concat(g);return h.createElement(Bh,{className:"dropdown-filter fill-parent-absolute",isFlipped:M},h.createElement("div",{className:"dropdown-filter-settings-card"},h.createElement("div",{className:"dropdown-filter-card-content"},h.createElement("div",{className:"dropdown-filter-settings-grid"},h.createElement("label",{htmlFor:A},"Source Column"),h.createElement(Yf,{id:A,isLinked:E,onClick:s,onMouseEnter:l,onMouseLeave:d,className:di.SOURCE_BUTTON_CLASS_NAME,disabled:r},y),h.createElement("div",{className:"text-muted small"},"Select a source column for the list by linking to a table."),h.createElement("label",{htmlFor:B},"Filter Column"),h.createElement("select",{id:B,value:D,className:"custom-select",onChange:this.handleColumnChange,disabled:b},O),h.createElement("div",{className:"text-muted small"},"Dropdown filter control will apply its filter to all columns matching this name in this dashboard.")),c&&h.createElement("div",{className:"error-message text-center"},c),E&&h.createElement("div",{className:"dropdown-filter-settings-buttons"},h.createElement(j,{kind:"secondary",type:"button",onClick:this.handleSettingsCancel,disabled:v||f||i,tooltip:i?"Cancel disabled while linker open":void 0},"Cancel"),h.createElement(j,{kind:"primary",type:"button",className:"ml-2",onClick:this.handleSettingsSave,disabled:_||f||i,tooltip:i?"Save disabled while linker open":void 0},"Save")))),h.createElement("div",{className:"dropdown-filter-value-card",onClick:this.handleBackgroundClick,"data-testid":"dropdown-filter-value-background"},a&&h.createElement(h.Fragment,null,h.createElement("div",{className:"dropdown-filter-column"},h.createElement("div",{className:"dropdown-filter-column-title"},T)),h.createElement("div",{className:"dropdown-filter-card-content"},h.createElement("div",{className:"dropdown-filter-value-input d-flex flex-column justify-content-center"},h.createElement("select",{className:"custom-select",value:R,ref:this.dropdownRef,onChange:this.handleValueChange,onKeyPress:this.handleDropdownKeyPress,title:"Select Value"},P)),c&&h.createElement("div",{className:"error-message mt-3 text-center"},c)),h.createElement("div",{className:"dropdown-filter-menu"},h.createElement(j,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:h.createElement(re,{icon:fs,transform:"grow-4"}),tooltip:"Dropdown Filter Settings"})))))}}gn(di,"defaultProps",{column:null,disableLinking:!1,isLinkerActive:!1,isLoaded:!1,isValueShown:!1,settingsError:null,source:null,value:"",values:[],onColumnSelected:()=>{},onSourceMouseEnter:()=>{},onSourceMouseLeave:()=>{}});gn(di,"PLACEHOLDER","Select a value...");gn(di,"SOURCE_BUTTON_CLASS_NAME","btn-dropdown-filter-selector");gn(di,"SOURCE_BUTTON_PLACEHOLDER","Select a column");const Ag=di;function er(n,e,t){return e=M1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function M1(n){var e=A1(n,"string");return typeof e=="symbol"?e:String(e)}function A1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var ut=ie.module("DropdownFilterPanel"),L1=250,k1=(n,e)=>{var{localDashboardId:t}=e,r=Q.getIdFromPanel({props:e}),i=Cc(n,t),a=Eo(n,t),o=wd(n),s=bc(n,t),l=o===Sr.LINKER&&(s===void 0||s===r),d=o===Sr.LINKER&&s!==void 0&&s!==r;return{columns:rb(n,t),columnSelectionValidator:Sc(n,t),dh:bd(n),isLinkerActive:l,disableLinking:d,settings:Bt(n),panelTableMap:i,dashboardLinks:a}},x1=$t(k1,null,null,{forwardRef:!0});class pn extends w.Component{constructor(e){super(e),er(this,"dateTimeFormatter",void 0),er(this,"dropdownFilterRef",void 0),er(this,"panelContainer",void 0),er(this,"pending",void 0),er(this,"cleanup",void 0),er(this,"columnFormats",void 0),er(this,"getCachedValues",Pe((c,m,v)=>{var{type:g,name:f}=m;return g!==void 0&&H.isDateType(g)?c.map(p=>this.dateTimeFormatter.format(p)):c.map(p=>p!=null&&g!=null?v.getFormattedString(p,g,f):null)})),er(this,"getCachedPanelLinks",Pe((c,m)=>{var v=Q.getIdFromPanel(m);return ut.debug("getCachedPanelLinks",c,v),c.filter(g=>{var f;return((f=g.end)===null||f===void 0?void 0:f.panelId)===v})})),er(this,"getCachedSource",Pe(c=>{ut.debug("getCachedSource",c);var m;if(c.length>0){var[v]=c;m=v.start,c.length>1&&ut.error("Filter has more that one link",c)}return m})),er(this,"getCachedSourceTable",Pe((c,m)=>{var v;if(ut.debug("getCachedSourceTable",c,m),m==null)return null;var{panelId:g}=m;return(v=c.get(g))!==null&&v!==void 0?v:null})),er(this,"getCachedSourceColumn",Pe((c,m)=>{var v;return ut.debug("getCachedSourceColumn",c,m),c==null||m==null?null:(v=c.columns.find(g=>{var{name:f,type:p}=g;return f===m.columnName&&p===m.columnType}))!==null&&v!==void 0?v:null})),this.handleChange=rt(this.handleChange.bind(this),L1),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleSourceFilterChange=this.handleSourceFilterChange.bind(this),this.handleSourceSortChange=this.handleSourceSortChange.bind(this),this.handleSourceSizeChange=this.handleSourceSizeChange.bind(this),this.handleSourceMouseEnter=this.handleSourceMouseEnter.bind(this),this.handleSourceMouseLeave=this.handleSourceMouseLeave.bind(this),this.handleValuesTableUpdate=this.handleValuesTableUpdate.bind(this),this.dropdownFilterRef=h.createRef(),this.panelContainer=h.createRef(),this.pending=new hi;var{dh:t,panelState:r,settings:i}=e;this.columnFormats=oi.getColumnFormats(i),this.dateTimeFormatter=new Tt(t,{showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"});var{value:a="",isValueShown:o=!1,name:s,type:l,timestamp:d}=r??{},u=s!=null&&l!=null?{name:s,type:l}:void 0;this.state={column:u,formatter:new wn(t,this.columnFormats),valuesTable:void 0,valuesColumn:void 0,sourceSize:0,value:a,timestamp:d,values:[],isValueShown:o,wasFlipped:!1,skipUpdate:!1,panelState:r,isDisconnected:!1,isLoading:!1,isLoaded:!1,error:null}}componentDidMount(){this.updateValuesTable();var{dashboardLinks:e,panelTableMap:t}=this.props,{column:r,value:i,timestamp:a}=this.state,o=this.getSourceTable(t,e);if(o!==null&&this.startListeningToSource(o),r!=null){var{name:s,type:l}=r;this.sendUpdate(s,l,i,a)}}componentDidUpdate(e,t){var{dashboardLinks:r,panelTableMap:i,settings:a}=this.props,{valuesTable:o}=this.state,s=this.getSource(r),l=this.getSourceTable(i,r),d=this.getSource(e.dashboardLinks),u=this.getSourceTable(e.panelTableMap,e.dashboardLinks);a!==e.settings&&a!==void 0&&this.updateFormatterSettings(a),o!==t.valuesTable&&t.valuesTable!=null&&(ut.debug("Table in state modified, closing the old table."),t.valuesTable.close()),(l!==u||s!==d)&&this.updateValuesTable(),l!==u&&(u!==null&&this.stopListeningToSource(u),l!==null&&this.startListeningToSource(l))}componentWillUnmount(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);this.pending.cancel(),i!==null&&this.stopListeningToSource(i),this.cleanup&&this.cleanup(),r?.close()}getCoordinateForColumn(){var e;if(this.panelContainer.current==null)return null;var t=this.panelContainer.current.querySelector(".".concat(Ag.SOURCE_BUTTON_CLASS_NAME)),r=(e=t?.getBoundingClientRect())!==null&&e!==void 0?e:null;if(r==null||r.width<=0||r.height<=0)return null;var i=r.left+r.width/2,a=r.bottom;return[i,a]}getSettingsErrorMessage(){var{sourceSize:e}=this.state;if(e>pn.MAX_TABLE_SIZE)return"Table too large, must have fewer than ".concat(pn.MAX_TABLE_SIZE," options.")}getPanelErrorMessage(){var{error:e}=this.state;return e!=null?"".concat(e):void 0}getSource(e){var t=this.getCachedPanelLinks(e,this);return this.getCachedSource(t)}getSourceTable(e,t){var r=this.getSource(t);return this.getCachedSourceTable(e,r)}getValuesColumn(e,t){var r=this.getSource(t);return this.getCachedSourceColumn(e,r)}startListeningToSource(e){var{dh:t}=this.props;ut.debug("startListeningToSource"),e.addEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.addEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.addEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.addEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}stopListeningToSource(e){var{dh:t}=this.props;ut.debug("stopListeningToSource"),e.removeEventListener(t.Table.EVENT_FILTERCHANGED,this.handleSourceFilterChange),e.removeEventListener(t.Table.EVENT_SORTCHANGED,this.handleSourceSortChange),e.removeEventListener(t.Table.EVENT_SIZECHANGED,this.handleSourceSizeChange),e.removeEventListener(t.Table.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(t.Table.EVENT_RECONNECT,this.handleReconnect)}handleChange(e){var{column:t,isValueShown:r=!1,value:i}=e,{name:a=void 0,type:o=void 0}=t??{},s=!0,l=Date.now();this.setState(d=>{var u,c,{panelState:m,timestamp:v,wasFlipped:g,skipUpdate:f}=d,p=m!=null&&r!==m.isValueShown&&a===m.name&&o===m.type&&i===m.value;return s=(u=!f&&r&&(!p||!g))!==null&&u!==void 0?u:!1,s||(l=v),{panelState:{isValueShown:r,name:a,type:o,value:i,timestamp:(c=l)!==null&&c!==void 0?c:void 0},timestamp:l,wasFlipped:p,skipUpdate:!1}},()=>{s&&this.sendUpdate(a??null,o,i,l)})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleSourceFilterChange(){this.applySourceFilters()}handleSourceSortChange(){this.applySourceSorts()}handleSourceSizeChange(e){var{detail:t}=e;this.setState({sourceSize:t})}handleColumnSelected(){ut.debug("handleColumnSelected");var{glEventHub:e}=this.props;e.emit(it.COLUMN_SELECTED,this,pn.SOURCE_COLUMN)}handleClearAllFilters(){var e,t;(e=this.dropdownFilterRef)===null||e===void 0||(t=e.current)===null||t===void 0||t.clearFilter()}setPanelState(e){var t,r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{dashboardLinks:a}=this.props;if(this.getSource(a)==null){ut.debug("Ignore state update for unlinked filter",e);return}this.setState({skipUpdate:!i}),(t=this.dropdownFilterRef)===null||t===void 0||(r=t.current)===null||r===void 0||r.setFilterState(e)}sendUpdate(e,t,r,i){var a,{dashboardLinks:o,glEventHub:s}=this.props,l=(a=this.getSource(o))===null||a===void 0?void 0:a.panelId,d=l===null?[]:[l];ut.debug("sendUpdate",{name:e,type:t,value:r,timestamp:i,excludePanelIds:d}),s.emit(it.FILTERS_CHANGED,this,{name:e,type:t,value:r??"=null",timestamp:i,excludePanelIds:d})}updateValuesTable(){var{dashboardLinks:e,panelTableMap:t}=this.props,r=this.getSource(e),i=this.getSourceTable(t,e);if(ut.debug("updateValuesTable",r,i),this.setState({values:[],valuesTable:void 0,error:null}),r==null){ut.debug("Filter unlinked."),this.setState({isLoading:!1,isLoaded:!0,isValueShown:!1,sourceSize:0});return}this.setState({isLoading:!0}),i!=null&&(this.setState({isLoaded:!1,sourceSize:i.size}),this.pending.add(i.copy(),a=>a.close()).then(a=>{this.updateViewportListener(a),this.setState({valuesTable:a})}).catch(a=>{Te.isCanceled(a)||(ut.error(a),this.setState({isLoading:!1,error:a}))}))}applySourceSorts(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);if(ut.debug("applySourceSorts",i?.sort),r==null||i==null){ut.debug("Table not initialized");return}var a=[...i.sort];r.applySort(a),this.setViewport(r)}applySourceFilters(){var{dashboardLinks:e,panelTableMap:t}=this.props,{valuesTable:r}=this.state,i=this.getSourceTable(t,e);if(ut.debug("applySourceFilters",i?.filter),r==null||i==null){ut.debug("Table not initialized");return}var a=[...i.filter];r.applyFilter(a),this.setViewport(r)}updateViewportListener(e){var{dh:t}=this.props;if(ut.debug("updateViewportListener",e?.size),this.cleanup&&this.cleanup(),e==null){this.cleanup=void 0;return}this.cleanup=e.addEventListener(t.Table.EVENT_UPDATED,this.handleValuesTableUpdate),this.setViewport(e)}setViewport(e){var{dashboardLinks:t}=this.props,r=this.getValuesColumn(e,t);if(!r){ut.error("values column is null");return}e.setViewport(0,pn.MAX_TABLE_SIZE-1,[r])}updateFormatterSettings(e){var{dh:t}=this.props,r=oi.getColumnFormats(e);ct(this.columnFormats,r)||(this.columnFormats=r,this.setState({formatter:new wn(t,r)}))}handleValuesTableUpdate(e){var{detail:t}=e,{rows:r}=t,{dashboardLinks:i}=this.props,{valuesTable:a}=this.state;if(!a){ut.error("valuesTable is null");return}var o=this.getValuesColumn(a,i);if(!o){ut.error("Values column not found");return}var s=r.map(l=>l.get(o));this.setState({values:s,isLoading:!1,isLoaded:!0,valuesColumn:o})}handleSourceMouseEnter(){var{columnSelectionValidator:e}=this.props;e&&e(this,pn.SOURCE_COLUMN)}handleSourceMouseLeave(){var{columnSelectionValidator:e}=this.props;e&&e(this,void 0)}render(){var{columns:e,dashboardLinks:t,disableLinking:r,glContainer:i,glEventHub:a,isLinkerActive:o}=this.props,{column:s,formatter:l,isDisconnected:d,isValueShown:u,value:c,values:m,valuesColumn:v,isLoading:g,isLoaded:f}=this.state,p=this.getSource(t),C=this.getSettingsErrorMessage(),b=this.getPanelErrorMessage(),S=f&&v!=null?this.getCachedValues(m,v,l):[];return h.createElement(fc,{errorMessage:b,isLoading:g,isLoaded:f,isDisconnected:d,className:"iris-dropdown-filter-panel",componentPanel:this,glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,widgetName:"Dropdown Filter",widgetType:"DropdownFilter"},h.createElement("div",{ref:this.panelContainer,className:"dropdown-filter-container h-100 w-100 container"},h.createElement(Ag,{ref:this.dropdownFilterRef,column:s,columns:e,isValueShown:u,isLinkerActive:o,disableLinking:r,isLoaded:f,settingsError:C,source:p,value:c,values:S,onChange:this.handleChange,onColumnSelected:this.handleColumnSelected,onSourceMouseEnter:this.handleSourceMouseEnter,onSourceMouseLeave:this.handleSourceMouseLeave})))}}er(pn,"displayName","DropdownFilterPanel");er(pn,"COMPONENT","DropdownFilterPanel");er(pn,"MAX_TABLE_SIZE",256);er(pn,"SOURCE_COLUMN",Object.freeze({name:"FilterSource",type:null}));var H1=x1(pn);const ba=H1;function xn(n){return n.type==="directory"}var Jn;(function(n){n.GROOVY="text/x-groovy",n.PLAIN_TEXT="text/plain",n.PYTHON="text/x-python",n.PYTHON_COMPILED="application/x-python-code",n.SCALA="text/x-scala",n.UNKNOWN=""})(Jn||(Jn={}));class ca{static fileExtensionToString(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return e.length===0?"":".".concat(e)}static getDepth(e){var t;if(!ca.hasPath(e))throw new Error("Invalid path provided: ".concat(e));var r=(t=e.match(/\//g))!==null&&t!==void 0?t:[];return r.length-1}static getExtension(e){var t=this.getBaseName(e).split(".");if(t.length>1){var r;return(r=t.pop())!==null&&r!==void 0?r:""}return""}static getBaseName(e){var t;return(t=e.split("/").pop())!==null&&t!==void 0?t:""}static getCopyFileName(e){var t=e.lastIndexOf("."),r=null,i=null;t<0?i=e:(i=e.substring(0,t),r=e.substring(t+1));var a=i?"".concat(i,"-copy"):"Copy";return r!==null?"".concat(a,".").concat(r):a}static getMimeType(e){var t=this.getExtension(e).toLowerCase();switch(t){case"groovy":return Jn.GROOVY;case"py":return Jn.PYTHON;case"pyc":return Jn.PYTHON_COMPILED;case"scala":return Jn.SCALA;case"txt":return Jn.PLAIN_TEXT;default:return Jn.UNKNOWN}}static getParent(e){if(!ca.hasPath(e))throw new Error("Invalid name provided: ".concat(e));for(var t=e.split("/");t.pop()==="";);if(t.length===0)throw new Error("No parent for path provided: ".concat(e));return"".concat(t.join("/"),"/")}static getPath(e){if(!ca.hasPath(e))throw new Error("Invalid filename provided: ".concat(e));var t=e.split("/");return t.pop(),"".concat(t.join("/"),"/")}static hasPath(e){return e.startsWith("/")}static isPath(e){return e.startsWith("/")&&e.endsWith("/")}static makePath(e){return e.endsWith("/")?e:"".concat(e,"/")}static replaceExtension(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r=e.lastIndexOf("."),i=r>-1?e.substring(0,r):e,a=ca.fileExtensionToString(t);return"".concat(i).concat(a)}static validateName(e){var t=[".",".."],r=/[\\/\0]/g,i=new Map([["\0","null"]]);if(!e)throw new Ja("Name cannot be empty");if(t.includes(e))throw new Ja('"'.concat(e,'" is a reserved name'));if(r.test(e)){var a,o;throw new Ja('Invalid characters in name: "'.concat((a=(o=e.match(r))===null||o===void 0?void 0:o.reduce((s,l)=>s.includes(l)?s:[...s,l],[]).map(s=>i.has(s)?i.get(s):s).join('", "'))!==null&&a!==void 0?a:"",'"'))}}static reducePaths(e){var t=e.filter(r=>ca.isPath(r));return e.filter(r=>!t.some(i=>r!==i&&r.startsWith(i)))}static removeRoot(e,t){if(e.length===0)return t;if(!t.startsWith(e))throw new Error("Filename ".concat(t," does not start with expected root ").concat(e));return t.substring(e.length)}static addRoot(e,t){return"".concat(e).concat(t)}}const be=ca;var yc=26;function Ph(n){return xn(n)?be.makePath(n.filename):be.getPath(n.filename)}function Lg(n,e){if(n.length===0||e==null)throw new Error("No items to move");var t=Ph(e);if(n.some(r=>{var{filename:i}=r;return be.getPath(i)===t}))throw new Error("File already in the destination folder");if(n.some(r=>xn(r)&&t.startsWith(be.makePath(r.filename))))throw new Error("Destination folder cannot be a child of a dragged folder");return{files:n,targetPath:t}}function U1(n){if(xn(n))return n.isExpanded?cw:mw;var e=be.getMimeType(n.basename);switch(e){case Jn.PYTHON:return gw;default:return vw}}function Oh(n){var e,{children:t,draggedItems:r,isDragInProgress:i,isDropTargetValid:a,isSelected:o,item:s,itemIndex:l,dropTargetItem:d,onDragStart:u,onDragOver:c,onDragEnd:m,onDrop:v}=n,g=(e=r?.some(O=>O.id===s.id))!==null&&e!==void 0?e:!1,f=Ph(s),p=i&&d?Ph(d):null,C=i&&a&&xn(s)&&p===f,b=i&&a&&p===f,S=i&&!a&&p===f,E=U1(s),y=be.getDepth(s.filename),T=Array(y).fill(null).map((O,D)=>h.createElement("span",{className:"file-list-depth-line",key:D}));return h.createElement("div",{className:te("d-flex w-100 align-items-center","file-list-item",{"is-dragged":g,"is-exact-drop-target":C,"is-in-drop-target":b,"is-invalid-drop-target":S,"is-selected":o}),onDragStart:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>u(l,O)),onDragOver:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>c(l,O)),onDragEnd:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>m(l,O)),onDrop:function(O){function D(P){return O.apply(this,arguments)}return D.toString=function(){return O.toString()},D}(O=>v(l,O)),draggable:!0,role:"presentation","aria-label":s.basename},T," ",h.createElement(re,{icon:E,className:"item-icon",fixedWidth:!0})," ",h.createElement("span",{className:"truncation-wrapper"},t??s.basename,h.createElement(pt,{options:{placement:"left"}},t??s.basename)))}function kg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function hl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kg(Object(t),!0).forEach(function(r){$1(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function $1(n,e,t){return e=B1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function B1(n){var e=V1(n,"string");return typeof e=="symbol"?e:String(e)}function V1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Zt=ie.module("FileList"),G1=500,xg="item-list-scroll-pane";function W1(n){var{isMultiSelect:e=!1,table:t,onFocusChange:r=()=>{},onMove:i,onSelect:a,onSelectionChange:o=()=>{},renderItem:s=Oh,rowHeight:l=yc,overscanCount:d=io.DEFAULT_OVERSCAN}=n,[u,c]=w.useState(()=>({items:[],offset:0,itemCount:0})),[m,v]=w.useState({top:0,bottom:0}),[g,f]=w.useState(),[p,C]=w.useState(),[b,S]=w.useState(),[E,y]=w.useState([]),T=w.useRef(null),O=w.useRef(null),D=w.useCallback(W=>{if(W.length===0||u==null)return[];for(var ee=[],oe=0;oe<W.length;oe+=1)for(var ae=W[oe],se=ae[0];se<=ae[1];se+=1)se>=u.offset&&se<u.offset+u.items.length&&ee.push(u.items[se-u.offset]);return ee},[u]),P=w.useCallback(W=>{var ee=D([[W,W]]);if(ee.length>0)return ee[0]},[D]),R=w.useCallback(()=>{var W=hm.count(E);if(W===0)return null;if(W===1){var ee=E[0][0],oe=P(ee);if(oe!=null)return oe.filename}return"".concat(W," items")},[P,E]),_=w.useCallback(W=>{if(!(!p||!g)){Zt.debug("dropItems",p,"to",W);try{var{files:ee,targetPath:oe}=Lg(p,g);if(i?.(ee,oe),W!=null){var ae;y([[W,W]]),(ae=T.current)===null||ae===void 0||ae.focusItem(W)}}catch(se){Zt.error("Unable to complete move",se)}}},[p,g,i]),M=w.useCallback((W,ee)=>{var oe=u.items[W-u.offset];oe!==void 0&&(Zt.debug("handleItemClick",oe),a(oe,ee),xn(oe)&&t?.setExpanded(oe.filename,!oe.isExpanded))},[u,a,t]),A=w.useCallback((W,ee)=>{var oe;Zt.debug2("handleItemDragStart",W,E);var ae=E;hm.isSelected(E,W)||(ae=[[W,W]],y(ae)),C(D(ae)),(oe=T.current)===null||oe===void 0||oe.resetMouseState();var se=document.createElement("div");se.innerHTML='<div class="dnd-placeholder-content">'.concat(R(),"</div>"),se.className="file-list-dnd-placeholder",document.body.appendChild(se),ee.dataTransfer.setDragImage(se,0,0),ee.dataTransfer.effectAllowed="move",S(se)},[R,D,E]),B=w.useCallback((W,ee)=>{ee.preventDefault(),Zt.debug2("handleItemDragOver",ee),f(P(W))},[P]),$=w.useCallback((W,ee)=>{Zt.debug("handleItemDragEnd",W),b?.remove(),C(void 0),f(void 0),S(void 0)},[b]),z=w.useCallback((W,ee)=>{_(W)},[_]),G=w.useCallback(()=>{Zt.debug2("handleItemDragExit"),f(void 0)},[]),K=w.useCallback(W=>{W.target instanceof Element&&W.target.classList.contains(xg)&&(W.preventDefault(),Zt.debug2("handleListDragOver",W),f({type:"directory",filename:"/",basename:"/",id:"/"}))},[]),X=w.useCallback(W=>{W.target instanceof Element&&W.target.classList.contains(xg)&&(Zt.debug("handleListDrop"),_())},[_]),J=w.useCallback(W=>{if(Zt.debug2("handleSelectionChange",W),W!==E){y(W);var ee=D(W);o(ee)}},[D,o,E]),I=w.useCallback(W=>{if(Zt.debug2("handleFocusChange",W),W!=null){var[ee]=D([[W,W]]);r(ee)}else r()},[D,r]),N=w.useCallback((W,ee)=>{Zt.debug("handleViewportChange",W,ee),(W!==m.top||ee!==m.bottom)&&v({top:W,bottom:ee})},[m]),k=w.useMemo(()=>{if(!p||!g)return!1;try{return Lg(p,g),Zt.debug("handleValidateDropTarget true"),!0}catch{return Zt.debug("handleValidateDropTarget false"),!1}},[p,g]),{focusedPath:x}=n;w.useEffect(()=>{x!==void 0&&(x==="/"?t.collapseAll():(t.setExpanded(x,!1),t.setExpanded(x,!0)))},[t,x]),w.useEffect(function(){Zt.debug("updating table viewport",m),t?.setViewport({top:Math.max(0,m.top-d),bottom:m.bottom+d})},[d,t,m]),w.useEffect(function(){var ee=t.onUpdate(oe=>{c({items:oe.items.map(ae=>hl(hl({},ae),{},{itemName:ae.basename})),offset:oe.offset,itemCount:t.size})});return()=>{ee()}},[t]),w.useEffect(function(){if(g!=null&&xn(g)&&g.filename!=="/"){var ee=setTimeout(()=>{g.isExpanded||t?.setExpanded(g.filename,!0)},G1);return()=>clearTimeout(ee)}},[g,t]);var Y=w.useCallback(W=>s(hl(hl({},W),{},{isDragInProgress:p!=null,dropTargetItem:g,draggedItems:p,isDropTargetValid:k,onDragStart:A,onDragEnd:$,onDragOver:B,onDragExit:G,onDrop:z})),[$,G,B,A,z,p,g,k,s]);return h.createElement("div",{ref:O,className:te("file-list",{"is-dragging":p!=null}),onDragOver:K,onDrop:X},h.createElement(io,{ref:T,items:u.items,itemCount:u.itemCount,offset:u.offset,onFocusChange:I,onSelect:M,onSelectionChange:J,onViewportChange:N,selectedRanges:E,renderItem:Y,rowHeight:l,isMultiSelect:e,isDragSelect:!1,isDeselectOnClick:!1}))}var j1={name:"File Explorer",DELETE:qe.createAndAdd({id:"FILE_EXPLORER.DELETE",name:"Delete",shortcut:[Oe.DELETE],macShortcut:[we.CMD,Oe.BACKSPACE]}),RENAME:qe.createAndAdd({id:"FILE_EXPLORER.RENAME",name:"Rename",shortcut:[Oe.ENTER],macShortcut:[Oe.ENTER]})};const Hg={FILE_EXPLORER:j1};var Ug=ie.module("FileListItemEditor"),z1=()=>Promise.resolve();function K1(n){var{item:e,onCancel:t,onSubmit:r,validate:i=z1}=n,a=w.useRef(null),[o,s]=w.useState(e.basename),[l,d]=w.useState(),[u,c]=w.useState(Promise.resolve()),m=w.useCallback(()=>{var b;(b=a.current)===null||b===void 0||b.focus()},[a]),v=w.useCallback(b=>b.stopPropagation(),[]),g=w.useCallback(()=>{u.then(()=>{r(o)}).catch(b=>Ug.info("Unable to validate name",b))},[r,o,u]);w.useEffect(function(){var S=Te.makeCancelable(i(o));return S.then(()=>d(void 0)).catch(E=>{Te.isCanceled(E)||d(E)}),c(S),()=>S.cancel()},[i,o]),w.useEffect(function(){m()},[m]);var f=w.useCallback(()=>{Ug.debug2("handleBlur"),g()},[g]),p=w.useCallback(b=>{var{value:S}=b.target;s(S)},[]),C=w.useCallback(b=>{b.stopPropagation();var{key:S}=b;switch(S){case"Enter":{g();break}case"Escape":{t();break}}},[t,g]);return h.createElement("div",{className:"file-list-item-editor"},h.createElement("input",{type:"text",className:te("form-control file-list-item-editor-input",{"is-invalid":l}),value:o,ref:a,onBlur:f,onKeyDown:C,onChange:p,onClick:v,onDoubleClick:v,onMouseDown:v}),l&&h.createElement("div",{className:"invalid-feedback"},"".concat(l)))}function ab(n){var{isMultiSelect:e=!1,focusedPath:t,showContextMenu:r=!1,onCreateFile:i,onCreateFolder:a,onCopy:o,onDelete:s,onMove:l,onRename:d,onSelect:u,onSelectionChange:c,table:m,rowHeight:v=yc,validateRename:g=()=>Promise.resolve()}=n,[f,p]=w.useState(),[C,b]=w.useState([]),[S,E]=w.useState(),y=w.useCallback(G=>{b(G),c?.(G)},[c]),T=w.useCallback(G=>{E(G)},[]),O=w.useCallback(()=>{S&&o?.(S)},[S,o]),D=w.useCallback(()=>{C.length>0&&s?.(C)},[s,C]),P=w.useCallback(()=>{i?.()},[i]),R=w.useCallback(()=>{S&&a?.(be.getPath(S.filename))},[S,a]),_=w.useCallback(()=>{S&&p(S)},[S]),M=w.useCallback(()=>{p(void 0)},[]),A=w.useCallback(G=>{f&&(d?.(f,G),p(void 0))},[d,f]),B=w.useMemo(()=>{if(f)return[];var G=[];return i&&G.push({title:"New File",description:"Create new file",action:P,group:le.groups.medium}),a&&G.push({title:"New Folder",description:"Create new folder",action:R,group:le.groups.medium}),o&&G.push({title:"Copy",description:"Copy",action:O,group:le.groups.low,disabled:S==null||xn(S)}),s&&C.length>0&&G.push({title:"Delete",description:"Delete",shortcut:Hg.FILE_EXPLORER.DELETE,action:D,group:le.groups.low}),d&&G.push({title:"Rename",description:"Rename",shortcut:Hg.FILE_EXPLORER.RENAME,action:_,group:le.groups.low,disabled:S==null}),G},[O,D,P,R,_,S,o,i,a,s,d,C,f]),$=w.useCallback(G=>(L(f),g(f,G)),[f,g]),z=w.useCallback(G=>{var{item:K}=G;return f&&f.filename===K.filename?h.createElement(Oh,G,h.createElement(K1,{item:K,validate:$,onSubmit:A,onCancel:M})):h.createElement(Oh,G)},[M,A,f,$]);return h.createElement("div",{className:"file-list-container"},m!=null&&h.createElement(W1,{onMove:l,onSelect:u,onSelectionChange:y,onFocusChange:T,renderItem:z,rowHeight:v,table:m,isMultiSelect:e,focusedPath:t}),r&&h.createElement(le,{actions:B}))}ab.displayName="FileListContainer";function $g(n,e,t){return e=Y1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Y1(n){var e=q1(n,"string");return typeof e=="symbol"?e:String(e)}function q1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class X1 extends Ja{constructor(e){super("Name already exists"),$g(this,"isExistingFile",!0),$g(this,"info",void 0),this.info=e}}const Pl=X1;function Q1(n,e,t){return e=Z1(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z1(n){var e=J1(n,"string");return typeof e=="symbol"?e:String(e)}function J1(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class ek extends Error{constructor(){super("No file exists at the path specified"),Q1(this,"isFileNotFound",!0)}}const Tc=ek;function Bg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function Vg(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Bg(a,r,i,o,s,"next",l)}function s(l){Bg(a,r,i,o,s,"throw",l)}o(void 0)})}}var ia=ie.module("FileExplorer");function Pc(n){var{storage:e,isMultiSelect:t=!1,focusedPath:r,onDelete:i=()=>{},onRename:a=()=>{},onSelect:o,onSelectionChange:s,rowHeight:l=yc}=n,[d,u]=w.useState([]),[c,m]=w.useState();w.useEffect(function(){var O;function D(){return P.apply(this,arguments)}function P(){return P=Vg(function*(){ia.debug("initTable"),O=Te.makeCancelable(e.getTable(),R=>R.close());try{m(yield O)}catch(R){Te.isCanceled(R)||ia.error("Unable to initialize table",R)}}),P.apply(this,arguments)}return D(),()=>{O.cancel()}},[e]);var v=w.useCallback(T=>{Te.isCanceled(T)||ia.error(T)},[]),g=w.useCallback(T=>{ia.debug("handleDelete, pending confirmation",T),u(T)},[]),f=w.useCallback(()=>{ia.debug("handleDeleteConfirm",d),d.forEach(T=>e.deleteFile(xn(T)?be.makePath(T.filename):T.filename)),i(d),u([])},[d,i,e]),p=w.useCallback(()=>{ia.debug("handleDeleteCancel"),u([])},[]),C=w.useCallback((T,O)=>{var D=be.reducePaths(T.map(P=>xn(P)?be.makePath(P.filename):P.filename));D.forEach(P=>{var R=be.isPath(P)?"".concat(O).concat(be.getBaseName(P.substring(0,P.length-1)),"/"):"".concat(O).concat(be.getBaseName(P));e.moveFile(P,R).then(()=>{a(P,R)}).catch(v)})},[v,a,e]),b=w.useCallback((T,O)=>{var D=T.filename,P=xn(T);P&&!D.endsWith("/")&&(D="".concat(D,"/"));var R="".concat(be.getParent(D)).concat(O);P&&!R.endsWith("/")&&(R="".concat(R,"/")),ia.debug2("handleRename",D,R),e.moveFile(D,R).catch(v),a(D,R)},[v,a,e]),S=w.useCallback(function(){var T=Vg(function*(O,D){if(D!==O.basename){be.validateName(D);var P="".concat(be.getPath(O.filename)).concat(D);try{var R=yield e.info(P);throw new Pl(R)}catch(_){if(!(_ instanceof Tc))throw _}}});return function(O,D){return T.apply(this,arguments)}}(),[e]),E=d.length>0,y=w.useMemo(()=>d.length===1?'Are you sure you want to delete "'.concat(d[0].filename,'"?'):"Are you sure you want to delete the selected files?",[d]);return h.createElement("div",{className:"file-explorer"},c&&h.createElement(ab,{isMultiSelect:t,focusedPath:r,showContextMenu:!0,onMove:C,onDelete:g,onRename:b,onSelect:o,onSelectionChange:s,rowHeight:l,table:c,validateRename:S}),h.createElement(ss,{isOpen:E,headerText:y,bodyText:"You cannot undo this action.",onCancel:p,onConfirm:f,confirmButtonText:"Delete"}))}Pc.displayName="FileExplorer";function Gg(n,e,t,r,i,a,o){try{var s=n[a](o),l=s.value}catch(d){t(d);return}s.done?e(l):Promise.resolve(l).then(r,i)}function tk(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var a=n.apply(e,t);function o(l){Gg(a,r,i,o,s,"next",l)}function s(l){Gg(a,r,i,o,s,"throw",l)}o(void 0)})}}function ki(n,e,t){return e=rk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rk(n){var e=nk(n,"string");return typeof e=="symbol"?e:String(e)}function nk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var aa=ie.module("NewItemModal");class Sa extends w.PureComponent{static getValidationMessage(e){return e instanceof Pl&&e.info.type==="directory"?"Error: Cannot overwrite existing directory":"".concat(e)}static handleError(e){Te.isCanceled(e)||aa.error(e)}constructor(e){super(e),ki(this,"inputRef",h.createRef()),ki(this,"cancelableValidatePromise",void 0),ki(this,"cancelableExistingItemPromise",void 0),ki(this,"pending",new hi),ki(this,"pathMap",new Map),ki(this,"isInitialLoad",!0),this.handleModalSubmit=this.handleModalSubmit.bind(this),this.handleModalOpened=this.handleModalOpened.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleValidationError=this.handleValidationError.bind(this),this.handleOverwriteCancel=this.handleOverwriteCancel.bind(this),this.handleOverwriteConfirm=this.handleOverwriteConfirm.bind(this),this.handleExtensionChangeCancel=this.handleExtensionChangeCancel.bind(this),this.handleExtensionChangeConfirm=this.handleExtensionChangeConfirm.bind(this),this.handleBreadcrumbSelect=this.handleBreadcrumbSelect.bind(this);var{defaultValue:t}=e,r=be.hasPath(t)?be.getPath(t):"/";this.state={isSubmitting:!1,path:r,prevExtension:be.getExtension(t),showExtensionChangeModal:!1,showOverwriteModal:!1,value:be.getBaseName(t)}}componentDidUpdate(e,t){var{isOpen:r}=this.props,{isOpen:i}=e,{value:a,path:o}=this.state;!i&&r&&(this.resetValue(),this.isInitialLoad=!0),i&&r&&(!this.isInitialLoad&&(o!==t.path||a!==t.value)&&this.updateValidationStatus(o,a),this.isInitialLoad=!1)}componentWillUnmount(){this.pending.cancel(),this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableExistingItemPromise&&this.cancelableExistingItemPromise.cancel()}resetValue(){var{defaultValue:e}=this.props,t=be.hasPath(e)?be.getPath(e):"/";this.setState({path:t,value:be.getBaseName(e),validationError:void 0,prevExtension:be.getExtension(e),isSubmitting:!1})}getValidationPromise(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.cancelableValidatePromise&&this.cancelableValidatePromise.cancel(),this.cancelableValidatePromise=Te.makeCancelable(this.validateName(e,t,r)),this.cancelableValidatePromise}validateName(e,t,r){var i=this;return tk(function*(){be.validateName(t);var{defaultValue:a,storage:o}=i.props;if(r){var s="".concat(e).concat(t);if(s!==a)try{var l=yield o.info(s);throw new Pl(l)}catch(d){if(!(d instanceof Tc))throw d}}return t})()}updateValidationStatus(e,t){this.getValidationPromise(e,t).then(()=>{this.setState({validationError:void 0})}).catch(this.handleValidationError).catch(Sa.handleError)}handleModalOpened(){this.focusRenameInput()}handleModalSubmit(){this.submitModal()}handleChange(e){var{value:t}=e.target;this.setState({value:t})}handleSelect(e){if(aa.debug("handleSelect",e),e.type==="directory")this.setState({path:be.makePath(e.filename)});else{var t=e.basename,r=be.getPath(e.filename);this.setState({value:t,path:r},()=>{this.focusRenameInput()})}}handleKeyDown(e){var{key:t}=e;switch(e.stopPropagation(),t){case"Enter":{e.preventDefault(),this.submitModal();break}case"Escape":{e.preventDefault();var{onCancel:r}=this.props;r();break}}}handleValidationError(e){if(!(e instanceof Ja))throw e;aa.debug("Validation error",e),this.setState({validationError:e})}handleOverwriteCancel(){this.setState({showOverwriteModal:!1,isSubmitting:!1})}handleOverwriteConfirm(){this.setState({showOverwriteModal:!1});var{onSubmit:e}=this.props,{path:t,value:r}=this.state;aa.debug("handleOverwriteConfirm",t,r),e("".concat(t).concat(r),!0)}handleExtensionChangeCancel(){aa.debug("handleExtensionChangeCancel"),this.setState(e=>{var{value:t,prevExtension:r}=e,i=be.replaceExtension(t,r);return{showExtensionChangeModal:!1,value:i}}),this.submitModal(!0)}handleExtensionChangeConfirm(){aa.debug("handleExtensionChangeConfirm"),this.setState({showExtensionChangeModal:!1}),this.submitModal(!0)}focusRenameInput(){var e=this.inputRef.current;if(e){var{type:t}=this.props,{value:r}=e,i=t==="directory"?r.length:r.lastIndexOf(".");e.focus(),e.setSelectionRange(0,i>0?i:r.length)}}submitModal(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.setState(t=>{var{prevExtension:r,value:i,path:a}=t,{notifyOnExtensionChange:o,type:s}=this.props;aa.debug("submitModal",r,i);var l=be.getExtension(i);return o&&!e&&r!==null&&r!==l?{isSubmitting:!1,showExtensionChangeModal:!0,newExtension:l}:(this.getValidationPromise(a,i,!0).then(d=>{var{onSubmit:u}=this.props;u("".concat(a).concat(i))}).catch(d=>{if(d instanceof Pl&&s!=="directory"&&d.info.type!=="directory"){this.setState({showOverwriteModal:!0});return}throw d}).catch(d=>{throw Te.isCanceled(d)&&this.setState({isSubmitting:!1}),d}).catch(this.handleValidationError).catch(Sa.handleError),{isSubmitting:!0,showExtensionChangeModal:!1,newExtension:void 0})})}handleBreadcrumbSelect(e){this.setState({path:e})}renderPathButtons(e){var t=e.split("/");return t.pop(),t.map((r,i)=>{for(var a="",o=0;o<i;o+=1)a+="".concat(t[o],"/");return a+="".concat(r,"/"),h.createElement(h.Fragment,{key:a},h.createElement(j,{kind:"ghost",className:"directory-breadcrumbs",onClick:()=>this.handleBreadcrumbSelect(a),"aria-label":i===0?"Home":void 0,icon:i===0?h.createElement(re,{icon:fw,transform:"right-1.6"}):void 0,tooltip:i===0?"Home":void 0},r),"/")})}render(){var{storage:e,isOpen:t,onCancel:r,placeholder:i,title:a,type:o}=this.props,{isSubmitting:s,path:l,showExtensionChangeModal:d,showOverwriteModal:u,validationError:c,value:m,prevExtension:v,newExtension:g}=this.state,f=o==="directory",p=be.fileExtensionToString(v),C=be.fileExtensionToString(g),b=f?"Create":"Save",S=f?"New folder name":"Save file as";return h.createElement(h.Fragment,null,h.createElement(od,{isOpen:t,toggle:r,onOpened:this.handleModalOpened,className:"modal-dialog-centered new-file-modal theme-bg-dark"},h.createElement(sd,{toggle:r},a),h.createElement(ld,null,h.createElement("form",null,h.createElement("div",{className:"d-flex flex-column new-file-modal-content"},h.createElement("div",{className:"flex-grow-0 mb-4"},h.createElement("label",{htmlFor:"file-name-input"},S),h.createElement("input",{id:"file-name-input",type:"text",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:"false",className:te("form-control",{"is-invalid":c}),value:m,placeholder:i,ref:this.inputRef,onKeyDown:this.handleKeyDown,onChange:this.handleChange}),c&&h.createElement("div",{className:"invalid-feedback"},Sa.getValidationMessage(c))),h.createElement("div",{className:"flex-grow-0"},h.createElement("label",null,"Directory: /"),this.renderPathButtons(l)),h.createElement("div",{className:"flex-grow-1 file-explorer-container"},h.createElement(Pc,{onSelect:this.handleSelect,storage:e,focusedPath:l}))))),h.createElement(qf,null,h.createElement(j,{kind:"secondary",onClick:r},"Cancel"),h.createElement(j,{kind:"primary",disabled:s,onClick:this.handleModalSubmit},b))),h.createElement(ss,{isOpen:u,headerText:"Confirm overwrite",bodyText:"File with this name already exists, are you sure you want to overwrite it?",onCancel:this.handleOverwriteCancel,onConfirm:this.handleOverwriteConfirm,cancelButtonText:"Cancel",confirmButtonText:"Overwrite"}),h.createElement(ss,{isOpen:d,headerText:"Confirm extension change",bodyText:'Are you sure you want to change extension from "'.concat(p,'" to "').concat(C,'"?'),onCancel:this.handleExtensionChangeCancel,onConfirm:this.handleExtensionChangeConfirm,cancelButtonText:'Keep "'.concat(p,'"'),confirmButtonText:'Use "'.concat(C,'"')}))}}ki(Sa,"propTypes",{isOpen:q.bool,title:q.string.isRequired,defaultValue:q.string,type:q.oneOf(["file","directory"]).isRequired,onSubmit:q.func,onCancel:q.func,placeholder:q.string,storage:q.shape({}).isRequired,notifyOnExtensionChange:q.bool});ki(Sa,"defaultProps",{isOpen:!1,defaultValue:"/",notifyOnExtensionChange:!1,placeholder:"",onSubmit:(n,e)=>{},onCancel:()=>{}});const ob=Sa;function ik(n){var{createFile:e,createFolder:t,onSearchChange:r,defaultSearchText:i=""}=n;return h.createElement("div",{className:"file-explorer-toolbar"},h.createElement("div",{className:"file-explorer-toolbar-buttons"},h.createElement(j,{kind:"ghost",icon:Uf,tooltip:"New notebook",onClick:e,"aria-label":"New notebook"}),h.createElement(j,{kind:"ghost",icon:pw,tooltip:"New folder",onClick:t,"aria-label":"New folder"})),r&&h.createElement("div",{className:"file-explorer-toolbar-search"},h.createElement(Bw,{value:i,onChange:r,placeholder:"Search by name"})))}function sb(n,e,t){return e=ak(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ak(n){var e=ok(n,"string");return typeof e=="symbol"?e:String(e)}function ok(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Ga=ie.module("FileExplorerPanel"),sk=(n,e)=>{var t=bp(n),r=Ta(n,e.localDashboardId),{session:i,config:a}=r??{},o=a?.type;return{fileStorage:t,language:o,session:i}},lk=$t(sk,null,null,{forwardRef:!0});function dk(n){var e=n;return e!=null&&typeof e.button=="number"}class uo extends h.Component{static handleError(e){Ga.error(e)}static isFocusEvent(e){return dk(e)?e.detail>=2:!0}constructor(e){super(e),this.handleFileSelect=this.handleFileSelect.bind(this),this.handleCreateFile=this.handleCreateFile.bind(this),this.handleCreateDirectory=this.handleCreateDirectory.bind(this),this.handleCreateDirectoryCancel=this.handleCreateDirectoryCancel.bind(this),this.handleCreateDirectorySubmit=this.handleCreateDirectorySubmit.bind(this),this.handleDelete=this.handleDelete.bind(this),this.handleRename=this.handleRename.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleSelectionChange=this.handleSelectionChange.bind(this);var{session:t,language:r}=e;this.state={isShown:!1,language:r,session:t,showCreateFolder:!1,focusedFilePath:"/"}}componentDidMount(){this.isHidden()||this.setState({isShown:!0})}handleCreateFile(){var{glEventHub:e}=this.props,{session:t,language:r}=this.state,i={language:r,value:""};Ga.debug("handleCreateFile",t,r,i),e.emit(Ye.CREATE_NOTEBOOK,t,r,i)}handleCreateDirectory(e){this.setState({showCreateFolder:!0})}handleCreateDirectoryCancel(){Ga.debug("handleCreateDirectoryCancel"),this.setState({showCreateFolder:!1})}handleCreateDirectorySubmit(e){Ga.debug("handleCreateDirectorySubmit",e),this.setState({showCreateFolder:!1});var{fileStorage:t}=this.props;t.createDirectory(e).catch(uo.handleError)}handleDelete(e){var{glEventHub:t}=this.props;e.forEach(r=>{t.emit(Ye.CLOSE_FILE,{id:r.filename,itemName:r.filename})})}handleSelectionChange(e){var t="/";e.length===1&&(e[0].type==="directory"?t=be.makePath(e[0].filename):t=be.getPath(e[0].filename)),this.setState({focusedFilePath:t})}handleFileSelect(e,t){if(Ga.debug("fileSelect",e),e.type!=="directory"){var r=uo.isFocusEvent(t),i={id:e.filename,itemName:e.filename},{glEventHub:a}=this.props,{session:o,language:s}=this.state,l={value:null,language:s};a.emit(Ye.SELECT_NOTEBOOK,o,s,l,i,r)}}handleRename(e,t){var{glEventHub:r}=this.props;Ga.debug("handleRename",e,t),r.emit(Ye.RENAME_FILE,e,t)}handleSessionOpened(e,t){var{language:r}=t;this.setState({session:e,language:r})}handleSessionClosed(){this.setState({session:void 0,language:void 0})}handleShow(){this.setState({isShown:!0})}isHidden(){var{glContainer:e}=this.props,{isHidden:t}=e;return t}render(){var{fileStorage:e,glContainer:t,glEventHub:r}=this.props,{isShown:i,showCreateFolder:a,focusedFilePath:o}=this.state;return h.createElement(vi,{className:"file-explorer-panel",componentPanel:this,glContainer:t,glEventHub:r,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onShow:this.handleShow},h.createElement(ik,{createFile:this.handleCreateFile,createFolder:this.handleCreateDirectory}),i&&h.createElement(Pc,{isMultiSelect:!0,storage:e,onDelete:this.handleDelete,onRename:this.handleRename,onSelect:this.handleFileSelect,onSelectionChange:this.handleSelectionChange}),h.createElement(ob,{isOpen:a,type:"directory",title:"Create New Folder",storage:e,onSubmit:this.handleCreateDirectorySubmit,onCancel:this.handleCreateDirectoryCancel,defaultValue:o}))}}sb(uo,"COMPONENT","FileExplorerPanel");sb(uo,"TITLE","File Explorer");var uk=lk(uo);const Ql=uk;function Wg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function cl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wg(Object(t),!0).forEach(function(r){Xo(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Wg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Xo(n,e,t){return e=hk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function hk(n){var e=ck(n,"string");return typeof e=="symbol"?e:String(e)}function ck(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var vt=ie.module("FilterSetManager"),mk="Enter name...",jg="No Available Filter Sets";class Zl extends w.Component{static animateScreenFlash(){var e,t=document.createElement("div");t.classList.add("screen-flash-overlay"),t.addEventListener("animationend",()=>{t.remove()}),(e=document.querySelector("body"))===null||e===void 0||e.appendChild(t)}constructor(e){super(e),Xo(this,"renameInputRef",h.createRef()),Xo(this,"dropdownRef",h.createRef()),Xo(this,"editDropdownRef",h.createRef()),Xo(this,"isRenamingExistingSet",fe((t,r)=>r!==void 0&&t.some(i=>{var{id:a}=i;return a===r.id}))),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.handleEditDropdownChange=this.handleEditDropdownChange.bind(this),this.handleFilterChange=this.handleFilterChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleCaptureNewSet=this.handleCaptureNewSet.bind(this),this.handleNameInputChange=this.handleNameInputChange.bind(this),this.handleNameInputKeyPress=this.handleNameInputKeyPress.bind(this),this.handleRenameConfirm=this.handleRenameConfirm.bind(this),this.handleRenameCancel=this.handleRenameCancel.bind(this),this.handleRestoreFullStateChange=this.handleRestoreFullStateChange.bind(this),this.handleSetDelete=this.handleSetDelete.bind(this),this.handleSetEdit=this.handleSetEdit.bind(this),this.handleSetUpdate=this.handleSetUpdate.bind(this),this.state={editId:void 0,renameSet:void 0,nameInputValue:"",nameInputError:void 0,modifiedFilterSets:[],restoreFullState:!1}}componentDidMount(){var{isValueShown:e}=this.props;e?this.updateSelectedId():this.initSettingsScreen()}componentDidUpdate(e,t){var{isValueShown:r,filterSets:i}=this.props,{modifiedFilterSets:a}=this.state;if(e.isValueShown&&!r&&this.initSettingsScreen(),this.isNameInputScreen()&&!this.isNameInputScreen(t)&&this.focusRenameInput(),i!==e.filterSets)if(!r&&i.length>0&&e.filterSets.length===0&&a.length===0){var{onChange:o}=this.props;o({isValueShown:!0,selectedId:i[0].id})}else this.updateSelectedId()}initSettingsScreen(){var{filterSets:e,selectedId:t}=this.props;vt.debug("initSettingsScreen",e,t),this.setState({modifiedFilterSets:[...e],editId:t})}updateSelectedId(){var{isValueShown:e,filterSets:t,selectedId:r,onChange:i}=this.props;if(vt.debug("updateSelectedId",t,r),!!e&&!t.some(o=>{var{id:s}=o;return s===r})){var a=t.length===0;i({isValueShown:!a,selectedId:a?void 0:t[0].id})}}handleEditDropdownChange(e){var{value:t}=e.target;this.setState({editId:t})}handleFilterChange(e){var{value:t}=e.target,{isValueShown:r,onChange:i}=this.props;this.applyFilterSet(t),i({isValueShown:r,selectedId:t})}handleFilterApply(){var{selectedId:e}=this.props;this.applyFilterSet(e)}handleSettingsCancel(){var{onChange:e,selectedId:t,filterSets:r}=this.props;this.setState({modifiedFilterSets:[]}),r.length>0&&e({isValueShown:!0,selectedId:t})}handleSettingsSave(){var{onChange:e,onUpdateSets:t}=this.props,{modifiedFilterSets:r,editId:i}=this.state;this.setState({modifiedFilterSets:[]}),vt.debug("Update sets",r,i),t(r),r.length>0&&e({isValueShown:!0,selectedId:i})}handleCaptureNewSet(){var{getFilterState:e}=this.props;Zl.animateScreenFlash();var t=Xe(),r=e(),i={id:t,title:"",panels:r};vt.debug("handleSetCreate",i),this.setState({nameInputValue:"",nameInputError:void 0,renameSet:i})}handleRenameCancel(){this.setState({renameSet:void 0})}handleRestoreFullStateChange(e){this.setState({restoreFullState:e.target.value==="true"})}getNameError(e){var t,{renameSet:r,modifiedFilterSets:i}=this.state,a=(t=e?.trim())!==null&&t!==void 0?t:"";if(a.length===0)return vt.debug("Name cannot be empty",a),"Name cannot be empty";if(r!==void 0&&i.some(o=>{var{title:s,id:l}=o;return s===a&&l!==r.id}))return vt.debug("Set with this name already exists",a),"Set with this name already exists"}handleRenameConfirm(){var e,{nameInputValue:t,renameSet:r,modifiedFilterSets:i,restoreFullState:a}=this.state;if(r===void 0){vt.error("Renamed set undefined.");return}var o=this.getNameError(t);if(vt.debug("handleRenameConfirm",t,o),o!==void 0){this.setState({nameInputError:o});return}var s=(e=t?.trim())!==null&&e!==void 0?e:"",l=cl(cl({},r),{},{title:s,restoreFullState:a}),d=i.findIndex(c=>{var{id:m}=c;return m===r.id}),u=[...i];d>=0?(u[d]=l,vt.debug("Renamed existing set",u)):(u.push(l),vt.debug("Added new set to modified sets",u)),this.setState({editId:l.id,modifiedFilterSets:u,renameSet:void 0})}handleSetDelete(){this.setState(e=>{var{editId:t,modifiedFilterSets:r}=e,i=r.findIndex(l=>{var{id:d}=l;return d===t});if(i<0)return vt.error("Unable to find selected filterSet index",r,t),null;var a=r.filter(l=>{var{id:d}=l;return d!==t}),o=Math.max(0,Math.min(a.length-1,i-1)),s=a.length>0?a[o].id:void 0;return vt.debug("Deleted selected set",t,r,a),vt.debug("New selection",o,s),{modifiedFilterSets:a,editId:s}})}handleSetUpdate(){var{getFilterState:e}=this.props;Zl.animateScreenFlash();var t=e();this.setState(r=>{var{modifiedFilterSets:i,editId:a}=r;if(a===void 0)return vt.error("Filter for update not selected."),null;var o=[...i],s=o.findIndex(l=>{var{id:d}=l;return d===a});return s<0?(vt.error("Selected set for update not found."),null):(o[s]=cl(cl({},o[s]),{},{panels:t}),vt.debug("Update set",o,t),{modifiedFilterSets:o})})}handleSetEdit(){this.setState(e=>{var{editId:t,modifiedFilterSets:r}=e,i=r.find(s=>{var{id:l}=s;return l===t});if(i===void 0)return vt.error("Could not find selected set",t,r),null;var{title:a,restoreFullState:o=!1}=i;return{nameInputValue:a,nameInputError:void 0,renameSet:i,restoreFullState:o}})}handleSettingsClick(e){e.stopPropagation();var{onChange:t,selectedId:r}=this.props;t({isValueShown:!1,selectedId:r})}handleBackgroundClick(e){vt.debug("handleBackgroundClick"),e.target!==this.dropdownRef.current&&this.focusInput()}handleNameInputChange(e){var{value:t}=e.target,r=this.getNameError(t);this.setState({nameInputValue:t,nameInputError:r})}handleNameInputKeyPress(e){var{key:t}=e;t==="Enter"&&(e.preventDefault(),this.handleRenameConfirm())}isNameInputScreen(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.state,{renameSet:t}=e;return t!==void 0}applyFilterSet(e){var{onApply:t,filterSets:r}=this.props;if(e===void 0){vt.debug("No filter selected");return}var i=r.find(a=>{var{id:o}=a;return o===e});if(i===void 0){vt.debug("Selected id not found in filterSets",e,r);return}vt.debug("Apply filterSet",i),t(i)}focusInput(){var e;(e=this.dropdownRef.current)===null||e===void 0||e.focus()}focusRenameInput(){var e;(e=this.renameInputRef.current)===null||e===void 0||e.focus()}render(){var{nameInputValue:e,nameInputError:t,editId:r,renameSet:i,modifiedFilterSets:a,restoreFullState:o}=this.state,{isValueShown:s,filterSets:l,selectedId:d}=this.props,u=this.isNameInputScreen(),c=this.isRenamingExistingSet(a,i),m=a.length===0,v=!u&&m&&l.length===0,g=!u&&!v,f=h.createElement("div",{className:"fa-layers mr-3"},h.createElement(re,{icon:no,mask:Gu,transform:"shrink-1 down-5 right-7"}),h.createElement(re,{icon:Yi,className:"text-primary",transform:"shrink-6 down-5 right-7"})),p=h.createElement("div",{className:"fa-layers"},h.createElement(re,{icon:no,mask:Gu,transform:"shrink-1 down-5 right-7"}),h.createElement(re,{icon:Wu,transform:"shrink-1 down-5 right-7"}));return h.createElement("div",{className:"filter-set-manager fill-parent-absolute"},h.createElement(Bh,{className:"w-100 h-100",isFlipped:s},h.createElement("div",{className:"filter-set-manager-settings-card fill-parent-absolute",key:"front"},h.createElement("div",{className:"filter-set-manager-card-content"},v&&h.createElement("div",null,h.createElement(j,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f},"Capture filter set"),h.createElement("div",{className:"py-3 text-muted small"},"Takes a snapshot of the currently applied filters on all panels, allowing you to restore saved filter sets later.")),u&&h.createElement("div",{className:"d-flex flex-column justify-content-center","data-testid":"edit-filter-set-container"},h.createElement("div",{className:"form-group"},h.createElement("label",null,c?"Edit set":"Name captured set"),h.createElement("div",{className:"name-input-container"},h.createElement("input",{type:"text",className:"input-set-name form-control",placeholder:mk,value:e,ref:this.renameInputRef,onChange:this.handleNameInputChange,onKeyPress:this.handleNameInputKeyPress,spellCheck:"false"}),h.createElement(j,{"data-testid":"rename-confirm-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameConfirm,tooltip:"Save","test-id":"button-save",icon:jf}),h.createElement(j,{"data-testid":"rename-cancel-button",kind:"ghost",className:"btn btn-link no-underline pt-2 pb-2",onClick:this.handleRenameCancel,tooltip:"Cancel",icon:Cw})),t!==void 0&&h.createElement("div",{className:"error-message"},t)),h.createElement("div",{className:"form-group"},h.createElement(cd,{onChange:this.handleRestoreFullStateChange,value:"".concat(o)},h.createElement(si,{value:"false"},"Restore only filters"),h.createElement(si,{value:"true"},"Restore full table state")))),g&&h.createElement("div",{className:"filter-set-manager-settings-grid-1"},h.createElement("div",{className:"form-group"},h.createElement("label",null,"Edit filter sets"),h.createElement("div",{className:"filter-select-container"},h.createElement("select",{"data-testid":"settings-card-filter-select",ref:this.editDropdownRef,value:r??"-1",className:"custom-select filter-value-select",onChange:this.handleEditDropdownChange,disabled:m},m&&h.createElement("option",{value:"-1",disabled:!0},jg),a.map(C=>{var{id:b,title:S}=C;return h.createElement("option",{key:b,value:b},S)})),h.createElement(j,{kind:"ghost",onClick:this.handleSetUpdate,disabled:m,icon:p,tooltip:"Update"}),h.createElement(j,{kind:"ghost",onClick:this.handleSetEdit,disabled:m,icon:ps,tooltip:"Edit"}),h.createElement(j,{kind:"ghost",onClick:this.handleSetDelete,disabled:m,icon:Hr,tooltip:"Delete"}))),h.createElement("div",null,h.createElement(j,{kind:"ghost",className:"btn btn-link no-underline",onClick:this.handleCaptureNewSet,icon:f},"Capture new filter set")),h.createElement("div",{className:"py-3 text-right"},h.createElement(j,{kind:"secondary",onClick:this.handleSettingsCancel},"Cancel")," ",h.createElement(j,{kind:"primary",onClick:this.handleSettingsSave},"Save"))))),h.createElement("div",{className:"filter-set-manager-value-card fill-parent-absolute",key:"back",onClick:this.handleBackgroundClick},h.createElement("div",{className:"filter-set-manager-column"},h.createElement("div",{className:"filter-set-manager-column-title"},"Filter sets")),h.createElement("div",{className:"filter-set-manager-card-content"},h.createElement("div",{className:"filter-set-manager-value-input"},h.createElement("div",{className:"filter-select-container"},h.createElement("select",{"data-testid":"value-card-filter-select",ref:this.dropdownRef,value:d,className:"custom-select filter-value-select",onChange:this.handleFilterChange},l.length===0&&h.createElement("option",{value:"-1",disabled:!0},jg),l.map(C=>{var{id:b,title:S}=C;return h.createElement("option",{key:b,value:b},S)})),h.createElement(j,{"data-testid":"filter-apply-button",kind:"ghost",onClick:this.handleFilterApply,icon:kh,tooltip:"Apply Filter Set"})))),h.createElement("div",{className:"filter-set-manager-menu"},h.createElement(j,{kind:"ghost",className:"btn btn-link btn-link-icon m-2 px-2",onClick:this.handleSettingsClick,tooltip:"Settings",icon:h.createElement(re,{icon:fs,transform:"grow-4"})})))))}}const vk=Zl;function Oc(n){var e,t,r,{model:i,widgetName:a,glContainer:o,description:s}=n,l=((e=i?.rowCount)!==null&&e!==void 0?e:0)-((t=i?.pendingRowCount)!==null&&t!==void 0?t:0),d=i?.displayString(l,"long"),u=(r=i?.columnCount)!==null&&r!==void 0?r:0,c=i?.displayString(u,"long");return h.createElement(Fd,{widgetType:"Table",widgetName:a,glContainer:o,description:s},h.createElement("hr",{className:"tab-tooltip-divider"}),h.createElement("span",null,"Number of Columns"),h.createElement("span",{className:"tab-tooltip-statistic-value"},c),h.createElement("span",null,"Number of Rows"),h.createElement("span",{className:"tab-tooltip-statistic-value"},d))}Oc.propTypes={glContainer:nc.Container.isRequired,widgetName:q.string.isRequired,description:q.string};Oc.defaultProps={description:null};function zg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function oa(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zg(Object(t),!0).forEach(function(r){Dt(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):zg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Dt(n,e,t){return e=gk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function gk(n){var e=fk(n,"string");return typeof e=="symbol"?e:String(e)}function fk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Dn=ie.module("IrisGridPanel"),pk=500,Ck={IrisGrid:jC,IrisGridTableModel:zC,ContextMenuRoot:Xf};class ho extends w.PureComponent{constructor(e){super(e),Dt(this,"irisGrid",void 0),Dt(this,"pluginRef",void 0),Dt(this,"modelPromise",void 0),Dt(this,"irisGridState",void 0),Dt(this,"gridState",void 0),Dt(this,"pluginState",void 0),Dt(this,"irisGridUtils",void 0),Dt(this,"getGridInputFilters",fe((r,i)=>ye.getInputFiltersForColumns(r,i.filter(a=>{var{value:o,excludePanelIds:s}=a,l=Q.getIdFromPanel(this);return o!=null&&(s==null||l!=null&&!s.includes(l))})))),Dt(this,"getAlwaysFetchColumns",fe((r,i)=>{for(var a=Q.getIdFromPanel(this),o=new Set(i),s=0;s<r.length;s+=1){var{start:l}=r[s];l!=null&&l.panelId===a&&o.add(l.columnName)}return[...o]})),Dt(this,"getPluginContent",fe((r,i,a,o,s)=>!i||!Ca(i)||r==null||i.table==null?null:h.createElement("div",{className:"iris-grid-plugin"},h.createElement(r,{ref:this.pluginRef,filter:this.handlePluginFilter,fetchColumns:this.handlePluginFetchColumns,model:i,table:i.table,panel:this,onStateChange:this.handlePluginStateChange,pluginState:s,onFilter:this.handlePluginFilter,onFetchColumns:this.handlePluginFetchColumns,user:a,workspace:o,components:Ck})))),Dt(this,"getDehydratedIrisGridPanelState",fe((r,i,a,o,s)=>ye.dehydrateIrisGridPanelState(r,{isSelectingPartition:i,partition:a,partitionColumn:o,advancedSettings:s}))),Dt(this,"getDehydratedIrisGridState",fe((r,i,a,o,s,l,d,u,c,m,v,g,f,p,C,b,S,E,y,T,O)=>(L(this.irisGridUtils),this.irisGridUtils.dehydrateIrisGridState(r,{advancedFilters:a,aggregationSettings:S,customColumnFormatMap:o,isFilterBarShown:s,metrics:{userColumnWidths:C,userRowHeights:b},quickFilters:l,customColumns:d,reverseType:u,rollupConfig:c,showSearchBar:m,searchValue:v,selectDistinctColumns:g,selectedSearchColumns:f,sorts:i,invertSearchColumns:p,pendingDataMap:E,frozenColumns:y,conditionalFormats:T,columnHeaderGroups:O})))),Dt(this,"getDehydratedGridState",fe((r,i,a,o,s)=>ye.dehydrateGridState(r,{isStuckToBottom:o,isStuckToRight:s,movedColumns:i,movedRows:a}))),Dt(this,"getCachedPanelState",fe((r,i,a,o)=>({irisGridPanelState:r,irisGridState:i,gridState:a,pluginState:o}))),Dt(this,"savePanelState",rt(()=>{var{irisGridState:r,gridState:i,pluginState:a}=this;L(r);var{onPanelStateUpdate:o}=this.props,{model:s,panelState:l,isSelectingPartition:d,partition:u,partitionColumn:c,advancedSettings:m}=this.state,{advancedFilters:v,aggregationSettings:g,customColumnFormatMap:f,isFilterBarShown:p,quickFilters:C,customColumns:b,reverseType:S,rollupConfig:E,showSearchBar:y,searchValue:T,selectDistinctColumns:O,selectedSearchColumns:D,sorts:P,invertSearchColumns:R,metrics:_,pendingDataMap:M,frozenColumns:A,conditionalFormats:B,columnHeaderGroups:$}=r;L(s),L(_);var{userColumnWidths:z,userRowHeights:G}=_;L(i);var{isStuckToBottom:K,isStuckToRight:X,movedColumns:J,movedRows:I}=i,N=this.getCachedPanelState(this.getDehydratedIrisGridPanelState(s,d,u,c,m),this.getDehydratedIrisGridState(s,P,v,f,p,C,b,S,E,y,T,O,D,R,z,G,g,M,A,B,$),this.getDehydratedGridState(s,J,I,K,X),a);N!==l&&(Dn.debug("Saving panel state",this,N),this.setState({panelState:N}),o?.(N))},pk)),this.handleAdvancedSettingsChange=this.handleAdvancedSettingsChange.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handleTableChanged=this.handleTableChanged.bind(this),this.handleColumnSelected=this.handleColumnSelected.bind(this),this.handleDataSelected=this.handleDataSelected.bind(this),this.handleError=this.handleError.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePluginStateChange=this.handlePluginStateChange.bind(this),this.handlePartitionAppend=this.handlePartitionAppend.bind(this),this.handleCreateChart=this.handleCreateChart.bind(this),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleTabClicked=this.handleTabClicked.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.handleContextMenu=this.handleContextMenu.bind(this),this.handlePluginFilter=this.handlePluginFilter.bind(this),this.handlePluginFetchColumns=this.handlePluginFetchColumns.bind(this),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.irisGrid=h.createRef(),this.pluginRef=h.createRef();var{panelState:t}=e;this.pluginState=null,this.irisGridUtils=null,this.state={error:null,isDisconnected:!1,isLoaded:!1,isLoading:!0,isModelReady:!1,model:void 0,advancedFilters:new Map,aggregationSettings:{aggregations:[],showOnTop:!1},advancedSettings:new Map(yC.DEFAULTS),customColumns:[],customColumnFormatMap:new Map,isFilterBarShown:!1,quickFilters:new Map,sorts:[],userColumnWidths:new Map,userRowHeights:new Map,reverseType:H.REVERSE_TYPE.NONE,movedColumns:[],movedRows:[],isSelectingPartition:!1,partition:null,partitionColumn:null,rollupConfig:void 0,showSearchBar:!1,searchValue:"",selectedSearchColumns:void 0,invertSearchColumns:!0,Plugin:void 0,pluginFilters:[],pluginFetchColumns:[],modelQueue:[],pendingDataMap:new Map,frozenColumns:void 0,panelState:t,irisGridStateOverrides:{},gridStateOverrides:{},isStuckToBottom:!1,isStuckToRight:!1,conditionalFormats:[],selectDistinctColumns:[]}}componentDidMount(){this.initModel()}componentDidUpdate(e,t){var{model:r}=this.state;r!==t.model&&(t.model!=null&&(this.stopModelListening(t.model),t.model.close()),r!=null&&this.startModelListening(r))}componentWillUnmount(){this.savePanelState.cancel(),this.modelPromise!=null&&(this.modelPromise.cancel(),this.modelPromise=void 0);var{model:e}=this.state;e&&(this.stopModelListening(e),e.close())}getTableName(){var{metadata:e}=this.props;return e.table}initModel(){this.setState({isModelReady:!1,isLoading:!0,error:null});var{makeModel:e}=this.props;this.modelPromise!=null&&this.modelPromise.cancel(),this.modelPromise=Te.makeCancelable(e(),t=>t.close()),this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError)}handleLoadSuccess(e){var t=e,{panelState:r,irisGridStateOverrides:i}=this.state,a=[];if(this.irisGridUtils=new ye(t.dh),r!=null){var{irisGridState:o}=r,{aggregationSettings:s,customColumns:l,selectDistinctColumns:d=[],rollupConfig:u}=oa(oa({},o),i);l.length>0&&a.push(c=>{c.customColumns=l}),u!=null&&u.columns.length>0&&a.push(c=>{c.rollupConfig=ye.getModelRollupConfig(c.originalColumns,u,s)}),d.length>0&&a.push(c=>{c.selectDistinctColumns=d})}this.setState({model:t,modelQueue:a}),this.initModelQueue(t,a)}initModelQueue(e,t){var r=e;if(t.length===0){this.modelInitialized(r);return}var i=t.shift();Dn.debug("initModelQueue",i),i&&i(r),this.setState({modelQueue:t})}handleAdvancedSettingsChange(e,t){Dn.debug("handleAdvancedSettingsChange",e,t),this.setState(r=>{var{advancedSettings:i}=r;return i.get(e)===t?null:{advancedSettings:new Map(i).set(e,t)}})}handlePluginFilter(e){var t,r,{model:i}=this.state;L(i);var{columns:a,formatter:o}=i,s=(t=(r=this.irisGridUtils)===null||r===void 0?void 0:r.getFiltersFromInputFilters(a,e,o.timeZone))!==null&&t!==void 0?t:[];this.setState({pluginFilters:s})}handlePluginFetchColumns(e){this.setState({pluginFetchColumns:e})}handleContextMenu(e){var t,r,i;return(t=(r=this.pluginRef.current)===null||r===void 0||(i=r.getMenu)===null||i===void 0?void 0:i.call(r,e))!==null&&t!==void 0?t:[]}isColumnSelectionValid(e){var{columnSelectionValidator:t}=this.props;return t&&e?t(this,e):!1}handleGridStateChange(e,t){this.irisGridState=e,this.gridState=t,this.setState({isLoaded:!0,isLoading:!1}),this.savePanelState();var{glEventHub:r,onStateChange:i}=this.props;r.emit(fn.STATE_CHANGED,this),i?.(e,t)}handlePluginStateChange(e){var{irisGridState:t,gridState:r}=this;this.pluginState=e,t!==null&&r!==null&&this.savePanelState()}handleColumnsChanged(e){var{isModelReady:t,model:r,modelQueue:i}=this.state;t?this.sendColumnsChange(e.detail):(L(r),this.initModelQueue(r,i))}handleTableChanged(e){Dn.debug("handleTableChanged",e);var{glEventHub:t}=this.props,{detail:r}=e;t.emit(it.TABLE_CHANGED,this,r)}handlePartitionAppend(e,t){var{glEventHub:r}=this.props,{name:i}=e,a=this.getTableName(),o="".concat(a," = ").concat(a,'.where("').concat(i,"=`").concat(t,'`")');r.emit(Lr.SEND_COMMAND,o,!1,!0)}handleCreateChart(e,t){this.savePanelState.flush(),this.setState(()=>null,()=>{var{glEventHub:r,inputFilters:i,metadata:a}=this.props,{table:o}=a,{panelState:s}=this.state,l=Q.getIdFromPanel(this),d;s&&(d=ye.extractTableSettings(s,i)),r.emit(fn.CREATE_CHART,{metadata:{settings:e,sourcePanelId:l,table:o,tableSettings:d},table:Ca(t)?t.table:void 0})})}handleColumnSelected(e){var{glEventHub:t}=this.props;t.emit(fn.COLUMN_SELECTED,this,e)}handleDataSelected(e,t){var{glEventHub:r}=this.props;r.emit(fn.DATA_SELECTED,this,t)}handleResize(){this.updateGrid()}handleShow(){this.updateGrid()}handleTabClicked(){this.irisGrid.current&&this.irisGrid.current.focus()}handleError(e){Dn.error(e),this.setState({error:e,isLoading:!1})}handleDisconnect(){this.setState({error:new Error("Table disconnected"),isDisconnected:!0,isLoading:!1})}handleReconnect(){this.setState({isDisconnected:!1,error:null})}handleLoadError(e){Te.isCanceled(e)||this.handleError(e)}modelInitialized(e){var{glEventHub:t,loadPlugin:r}=this.props;if(this.modelPromise=void 0,this.loadPanelState(e),this.setState({isModelReady:!0}),Ca(e)){var{table:i}=e,{pluginName:a}=i;if(a!==""&&r!=null&&a!=null){var o=r(a);this.setState({Plugin:o})}t.emit(it.TABLE_CHANGED,this,i)}this.sendColumnsChange(e.columns)}handleClearAllFilters(){var e=this.irisGrid.current,{isDisconnected:t}=this.state;e!=null&&!t&&e.clearAllFilters()}sendColumnsChange(e){Dn.debug2("sendColumnsChange",e);var{glEventHub:t}=this.props;t.emit(it.COLUMNS_CHANGED,this,e)}startModelListening(e){e.addEventListener(Se.EVENT.DISCONNECT,this.handleDisconnect),e.addEventListener(Se.EVENT.RECONNECT,this.handleReconnect),e.addEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.addEventListener(Se.EVENT.TABLE_CHANGED,this.handleTableChanged)}stopModelListening(e){e.removeEventListener(Se.EVENT.DISCONNECT,this.handleDisconnect),e.removeEventListener(Se.EVENT.RECONNECT,this.handleReconnect),e.removeEventListener(Se.EVENT.COLUMNS_CHANGED,this.handleColumnsChanged),e.removeEventListener(Se.EVENT.TABLE_CHANGED,this.handleTableChanged)}getCoordinateForColumn(e){var t,r,i,{model:a}=this.state;if(!a)return null;var o=this.irisGrid.current,{gridWrapper:s}=o||{},l=(t=s?.getBoundingClientRect())!==null&&t!==void 0?t:null;if(l==null||l.width<=0||l.height<=0)return null;L(o);var{metrics:d}=o.state;L(d);var{columnHeaderHeight:u,allColumnXs:c,allColumnWidths:m,right:v,columnHeaderMaxDepth:g}=d,f=a.getColumnIndexByName(e);L(f);var p=o.getVisibleColumn(f),C=(r=c.get(p))!==null&&r!==void 0?r:0,b=(i=m.get(p))!==null&&i!==void 0?i:0,S=Math.max(l.left,Math.min(p>v?l.right:l.left+C+b*.5,l.right)),E=l.top+u*g;return[S,E]}setFilterMap(e){var t=this.irisGrid.current;t?.setFilterMap(e)}setAdvancedFilterMap(e){var t=this.irisGrid.current;t?.setAdvancedFilterMap(e)}setFilters(e){var{quickFilters:t,advancedFilters:r}=e;Dn.debug("setFilters",t,r);var{model:i,isDisconnected:a}=this.state,o=this.irisGrid.current;if(o==null||a){Dn.debug("Ignore setFilters, model disconnected");return}L(i);var{columns:s,formatter:l}=i,d=ye.changeFilterColumnNamesToIndexes(i.columns,t).filter(c=>{var[m]=c;return i.isFilterable(m)}),u=ye.changeFilterColumnNamesToIndexes(i.columns,r).filter(c=>{var[m]=c;return i.isFilterable(m)});L(this.irisGridUtils),o.clearAllFilters(),o.setFilters({quickFilters:this.irisGridUtils.hydrateQuickFilters(s,d,l.timeZone),advancedFilters:this.irisGridUtils.hydrateAdvancedFilters(s,u,l.timeZone)})}setStateOverrides(e){Dn.debug("setStateOverrides",e);var{irisGridState:t,gridState:r}=e;this.setState({irisGridStateOverrides:t,gridStateOverrides:r},()=>{this.initModel()})}unsetFilterValue(){}loadPanelState(e){var{panelState:t,irisGridStateOverrides:r,gridStateOverrides:i}=this.state;if(t!=null)try{var{gridState:a,irisGridState:o,irisGridPanelState:s}=t,l=oa({},r),{quickFilters:d,advancedFilters:u}=l;d&&(l.quickFilters=ye.changeFilterColumnNamesToIndexes(e.columns,d)),u&&(l.advancedFilters=ye.changeFilterColumnNamesToIndexes(e.columns,u));var{isSelectingPartition:c,partition:m,partitionColumn:v,advancedSettings:g}=ye.hydrateIrisGridPanelState(e,s);L(this.irisGridUtils);var{advancedFilters:f,customColumns:p,customColumnFormatMap:C,isFilterBarShown:b,quickFilters:S,reverseType:E,rollupConfig:y,aggregationSettings:T,sorts:O,userColumnWidths:D,userRowHeights:P,showSearchBar:R,searchValue:_,selectDistinctColumns:M,selectedSearchColumns:A,invertSearchColumns:B,pendingDataMap:$,frozenColumns:z,conditionalFormats:G,columnHeaderGroups:K}=this.irisGridUtils.hydrateIrisGridState(e,oa(oa({},o),l)),{isStuckToBottom:X,isStuckToRight:J,movedColumns:I,movedRows:N}=ye.hydrateGridState(e,oa(oa({},a),i),o.customColumns);this.setState({advancedFilters:f,advancedSettings:g,conditionalFormats:G,customColumns:p,customColumnFormatMap:C,isFilterBarShown:b,isSelectingPartition:c,movedColumns:I,movedRows:N,partition:m,partitionColumn:v,quickFilters:S,reverseType:E,rollupConfig:y,aggregationSettings:T,sorts:O,userColumnWidths:D,userRowHeights:P,showSearchBar:R,searchValue:_,selectDistinctColumns:M,selectedSearchColumns:A,invertSearchColumns:B,pendingDataMap:$,frozenColumns:z,isStuckToBottom:X,isStuckToRight:J,columnHeaderGroups:K})}catch(k){Dn.error("loadPanelState failed to load panelState",t,k)}}updateGrid(){var e,t,r=(e=(t=this.irisGrid.current)===null||t===void 0?void 0:t.grid)!==null&&e!==void 0?e:null;r&&r.handleResize()}render(){var e,t,{children:r,glContainer:i,glEventHub:a,columnSelectionValidator:o,getDownloadWorker:s,inputFilters:l,links:d,metadata:u,panelState:c,user:m,workspace:v,settings:g,theme:f}=this.props,{advancedFilters:p,aggregationSettings:C,advancedSettings:b,conditionalFormats:S,customColumns:E,customColumnFormatMap:y,error:T,isDisconnected:O,isFilterBarShown:D,isSelectingPartition:P,isStuckToBottom:R,isStuckToRight:_,isLoaded:M,isLoading:A,isModelReady:B,model:$,movedColumns:z,movedRows:G,partition:K,partitionColumn:X,quickFilters:J,reverseType:I,rollupConfig:N,sorts:k,userColumnWidths:x,userRowHeights:Y,showSearchBar:W,searchValue:ee,selectDistinctColumns:oe,selectedSearchColumns:ae,invertSearchColumns:se,Plugin:pe,pluginFilters:He,pluginFetchColumns:at,pendingDataMap:ot,frozenColumns:Qe,columnHeaderGroups:lt}=this.state,Ot=T!=null?"Unable to open table. ".concat(T):void 0,{table:Le}=u,_t=(e=$?.description)!==null&&e!==void 0?e:void 0,Vt=(t=c?.pluginState)!==null&&t!==void 0?t:null,yr=r??this.getPluginContent(pe,$,m,v,Vt),{permissions:Tr}=m,{canCopy:an,canDownloadCsv:Tn}=Tr;return h.createElement(fc,{errorMessage:Ot,isDisconnected:O,isLoading:A,isLoaded:M,className:"iris-grid-panel",glContainer:i,glEventHub:a,onClearAllFilters:this.handleClearAllFilters,onResize:this.handleResize,onShow:this.handleShow,onTabFocus:this.handleShow,onTabClicked:this.handleTabClicked,widgetName:Le,widgetType:"Table",description:_t,componentPanel:this,renderTabTooltip:()=>h.createElement(Oc,{model:$,widgetName:Le,glContainer:i,description:_t})},B&&$&&h.createElement(jC,{advancedFilters:p,aggregationSettings:C,advancedSettings:b,alwaysFetchColumns:this.getAlwaysFetchColumns(d,at),columnAllowedCursor:"linker",columnNotAllowedCursor:"linker-not-allowed",customColumns:E,customColumnFormatMap:y,columnSelectionValidator:this.isColumnSelectionValid,conditionalFormats:S,inputFilters:this.getGridInputFilters($.columns,l),applyInputFiltersOnInit:c==null,isFilterBarShown:D,isSelectingColumn:o!=null,isSelectingPartition:P,isStuckToBottom:R,isStuckToRight:_,movedColumns:z,movedRows:G,partition:K,partitionColumn:X,quickFilters:J,reverseType:I,rollupConfig:N,settings:g,sorts:k,userColumnWidths:x,userRowHeights:Y,model:$,showSearchBar:W,searchValue:ee,selectedSearchColumns:ae,selectDistinctColumns:oe,invertSearchColumns:se,onColumnSelected:this.handleColumnSelected,onCreateChart:this.handleCreateChart,onDataSelected:this.handleDataSelected,onError:this.handleError,onPartitionAppend:this.handlePartitionAppend,onStateChange:this.handleGridStateChange,onContextMenu:this.handleContextMenu,onAdvancedSettingsChange:this.handleAdvancedSettingsChange,customFilters:He,pendingDataMap:ot,canCopy:an,canDownloadCsv:Tn,ref:this.irisGrid,getDownloadWorker:s,frozenColumns:Qe,theme:f,columnHeaderGroups:lt},yr))}}Dt(ho,"defaultProps",{onStateChange:()=>{},onPanelStateUpdate:()=>{}});Dt(ho,"displayName","IrisGridPanel");Dt(ho,"COMPONENT","IrisGridPanel");var bk=(n,e)=>{var{localDashboardId:t=Sn}=e;return{inputFilters:pc(n,t),links:Eo(n,t),columnSelectionValidator:Sc(n,t),user:pp(n),workspace:Sd(n),settings:Bt(n)}},Sk=$t(bk,null,null,{forwardRef:!0})(ho);const wa=Sk;function rs(n,e,t){return e=wk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wk(n){var e=Ek(n,"string");return typeof e=="symbol"?e:String(e)}function Ek(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Kg=ie.module("InputFilter"),yk=150;class co extends w.Component{constructor(e){super(e),rs(this,"inputRef",void 0),rs(this,"getItemLabel",Pe((a,o)=>{var{name:s,type:l}=a[o];if(o>0&&a[o-1].name===s||o<a.length-1&&a[o+1].name===s){var d=l.substring(l.lastIndexOf(".")+1);return"".concat(s," (").concat(d,")")}return s})),rs(this,"sendUpdate",rt(()=>{var{onChange:a}=this.props,{column:o,value:s,isValueShown:l}=this.state;a({column:o,isValueShown:l,value:s})},yk)),this.handleColumnChange=this.handleColumnChange.bind(this),this.handleInputKeyPress=this.handleInputKeyPress.bind(this),this.handleValueChange=this.handleValueChange.bind(this),this.handleSettingsCancel=this.handleSettingsCancel.bind(this),this.handleSettingsClick=this.handleSettingsClick.bind(this),this.handleSettingsSave=this.handleSettingsSave.bind(this),this.handleBackgroundClick=this.handleBackgroundClick.bind(this),this.inputRef=h.createRef();var{column:t,isValueShown:r,value:i}=e;this.state={column:t,selectedColumn:t,value:i,isValueShown:r}}componentDidUpdate(e,t){var{column:r}=this.props,{column:i,value:a,isValueShown:o}=this.state;r!==e.column&&this.setState({column:r,selectedColumn:r}),o!==void 0&&o&&o!==t.isValueShown&&this.focusInput(),(i!==t.column||a!==t.value||o!==t.isValueShown)&&this.sendUpdate()}componentWillUnmount(){this.sendUpdate.flush()}handleColumnChange(e){var{columns:t}=this.props,{value:r}=e.target,i=t[parseInt(r,10)];Kg.debug2("handleColumnChange",i),this.setState({selectedColumn:i,value:void 0})}handleInputKeyPress(e){e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),this.setState(t=>{var{value:r}=t;return r==null?{value:""}:null},()=>{this.sendUpdate(),this.sendUpdate.flush()}))}handleValueChange(e){var{value:t}=e.target;Kg.debug2("handleValueChange",t),this.setState({value:t})}handleSettingsCancel(){var{column:e}=this.state;this.setState({selectedColumn:e,isValueShown:!0})}handleSettingsSave(){var{selectedColumn:e}=this.state;this.setState({column:e,isValueShown:!0})}handleSettingsClick(e){var{column:t}=this.state;this.setState({selectedColumn:t,isValueShown:!1}),e.stopPropagation()}handleBackgroundClick(e){e.target!==this.inputRef.current&&this.focusInput()}focusInput(){this.inputRef.current!==null&&(this.inputRef.current.select(),this.inputRef.current.focus())}clearFilter(){this.setState({value:""})}setFilterState(e){var{name:t,type:r,value:i,isValueShown:a}=e,o=t!=null&&r!=null?{name:t,type:r}:void 0,s=a===void 0?{column:o,value:i}:{column:o,value:i,isValueShown:a};this.setState(s)}render(){var{columns:e}=this.props,{column:t,isValueShown:r,selectedColumn:i,value:a}=this.state,o=a==null||a.length===0?co.PLACEHOLDER.length:a.length,s=null;if(t!=null){var l=e.findIndex(d=>d.name===t.name&&d.type===t.type);s=l>=0?this.getItemLabel(e,l):t.name}return h.createElement(Bh,{className:"input-filter fill-parent-absolute",isFlipped:r??!1},h.createElement("div",{className:"input-filter-settings-card"},h.createElement("div",{className:"input-filter-settings-content"},h.createElement("div",{className:"input-filter-settings-grid"},h.createElement("label",null,"Filter Column"),h.createElement("select",{value:e.findIndex(d=>d.name===i?.name&&d.type===i?.type),className:"custom-select",onChange:this.handleColumnChange},e.map((d,u)=>h.createElement("option",{key:"".concat(d.name,"/").concat(d.type),value:u},this.getItemLabel(e,u))),e.length===0&&h.createElement("option",{value:"-1",disabled:!0},"No Available Columns")),h.createElement("div",{className:"text-muted small"},"Input filter control will apply its filter to all columns matching this name in this dashboard.")),h.createElement("div",{className:"input-filter-settings-buttons"},h.createElement(j,{kind:"secondary",onClick:this.handleSettingsCancel,disabled:t==null},"Cancel"),h.createElement(j,{kind:"primary",className:"ml-2",onClick:this.handleSettingsSave,disabled:i==null},"Save")))),h.createElement("div",{className:"input-filter-value-card",onClick:this.handleBackgroundClick},h.createElement("div",{className:"input-filter-column"},h.createElement("div",{className:"input-filter-column-title"},s," Filter")),h.createElement("div",{className:"d-flex justify-content-center align-items-center h-100 w-100"},h.createElement("div",{className:"input-filter-value-input d-flex flex-column justify-content-center"},h.createElement("input",{type:"text",ref:this.inputRef,placeholder:co.PLACEHOLDER,value:a??"",onChange:this.handleValueChange,onKeyPress:this.handleInputKeyPress,style:{width:"".concat(o+3,"ch")},spellCheck:"false"}))),h.createElement("div",{className:"input-filter-menu"},h.createElement(j,{kind:"ghost",className:"m-2 px-2",onClick:this.handleSettingsClick,icon:h.createElement(re,{icon:fs,transform:"grow-4"}),tooltip:"Input Filter Settings"}))))}}rs(co,"PLACEHOLDER","Enter value...");rs(co,"defaultProps",{column:null,isValueShown:!1,value:null});const Tk=co;function Md(n,e,t){return e=Pk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Pk(n){var e=Ok(n,"string");return typeof e=="symbol"?e:String(e)}function Ok(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Dk=250;class Ad extends w.Component{constructor(e){super(e),Md(this,"inputFilterRef",void 0),this.handleChange=rt(this.handleChange.bind(this),Dk),this.handleClearAllFilters=this.handleClearAllFilters.bind(this),this.inputFilterRef=h.createRef();var{panelState:t}=e,{value:r,isValueShown:i=!1,name:a,type:o,timestamp:s}=t??{};this.state={columns:[],column:a!=null&&o!=null?{name:a,type:o}:void 0,value:r,timestamp:s,isValueShown:i,wasFlipped:!1,skipUpdate:!1,panelState:t}}componentDidMount(){this.updateColumns();var{column:e,value:t,timestamp:r}=this.state;if(e!=null){var{name:i,type:a}=e;this.sendUpdate(i,a,t,r)}}componentDidUpdate(e){var{columns:t}=this.props;t!==e.columns&&this.updateColumns()}handleChange(e){var{column:t,isValueShown:r=!1,value:i}=e,a,o;t!=null&&({name:a,type:o}=t);var s=!0,l=Date.now();this.setState(d=>{var u,{panelState:c,timestamp:m,wasFlipped:v,skipUpdate:g}=d,f=c!=null&&r!==c.isValueShown&&a===c.name&&o===c.type&&i===c.value;return s=(u=!g&&r&&(!f||!v))!==null&&u!==void 0?u:!1,s||(l=m),{panelState:{isValueShown:r,name:a,type:o,value:i,timestamp:l},timestamp:l,wasFlipped:f,skipUpdate:!1}},()=>{s&&this.sendUpdate(a,o,i,l)})}handleClearAllFilters(){var e;(e=this.inputFilterRef.current)===null||e===void 0||e.clearFilter()}sendUpdate(e,t,r,i){var{glEventHub:a}=this.props;a.emit(it.FILTERS_CHANGED,this,{name:e,type:t,value:r,timestamp:i})}setPanelState(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.setState({skipUpdate:!r}),(t=this.inputFilterRef.current)===null||t===void 0||t.setFilterState(e)}updateColumns(){var{columns:e}=this.props;e!=null&&this.setState(t=>{var{column:r}=t;return r==null&&e.length>0?{columns:[...e],column:e[0]}:r!=null&&!e.find(i=>{var{name:a,type:o}=i;return r.name===a&&r.type===o})?{columns:[...e,r]}:{columns:[...e]}})}render(){var{glContainer:e,glEventHub:t}=this.props,{column:r,columns:i,isValueShown:a,value:o}=this.state;return h.createElement(vi,{className:"iris-input-filter-panel",componentPanel:this,glContainer:e,glEventHub:t,onClearAllFilters:this.handleClearAllFilters,isClonable:!0,isRenamable:!0},h.createElement(Tk,{ref:this.inputFilterRef,column:r,columns:i,onChange:this.handleChange,isValueShown:a,value:o}))}}Md(Ad,"defaultProps",{panelState:null});Md(Ad,"COMPONENT","InputFilterPanel");Md(Ad,"displayName","InputFilterPanel");var Rk=(n,e)=>{var{localDashboardId:t}=e;return{columns:rb(n,t)}},Nk=$t(Rk,null,null,{forwardRef:!0})(Ad);const ns=Nk;function Yg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ml(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yg(Object(t),!0).forEach(function(r){Dc(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Dc(n,e,t){return e=Fk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Fk(n){var e=Ik(n,"string");return typeof e=="symbol"?e:String(e)}function Ik(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var jt=ie.module("FilterSetManagerPanel");function _k(n){return n.setPanelState!=null}class mo extends w.Component{static changeFilterIndexesToColumnNames(e,t){return t.map(r=>{var[i,a]=r;if(i>=e.columns.length)return null;var{name:o}=e.columns[i];return{name:o,filter:a}}).filter(r=>r!=null)}constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.handleFilterApply=this.handleFilterApply.bind(this),this.handleSetsUpdate=this.handleSetsUpdate.bind(this),this.handleGetFilterState=this.handleGetFilterState.bind(this);var{panelState:t,filterSets:r}=e,{selectedId:i=r.length>0?r[0].id:void 0,isValueShown:a=!1}=t??{};this.state={selectedId:i,isValueShown:a,panelState:t}}getFilterState(){var{dashboardOpenedPanelMap:e}=this.props,t=[];return[...e.keys()].forEach(r=>{var i=e.get(r);if(i===void 0){jt.error("Could not get panel",i);return}var a=Q.getComponentNameFromPanel(i),o=Q.getIdFromPanel(i);jt.debug("Panel:",i,a);var{glContainer:s=null}=i.props;if(s==null){jt.error("Could not get panel container",i);return}var l=Q.getComponentConfigFromContainer(s);if(l==null){jt.error("Could not get component config from container",s);return}var d=Q.getPanelComponentState(l);if(d==null){jt.debug("Panel state is null ".concat(o));return}switch(a){case Q.getComponentName(ho):{var u;o!=null&&(u=this.getIrisGridPanelFilters(o,d)),u!=null&&t.push({panelId:o,type:a,state:u});break}case Q.getComponentName(ns):case Q.getComponentName(ba):{var{isValueShown:c,name:m,type:v,value:g}=d;t.push({panelId:o,type:a,state:{isValueShown:c,name:m,type:v,value:g}});break}}}),t}getIrisGridPanelFilters(e,t){var{panelTableMap:r}=this.props,i=r.get(e);if(i==null)return jt.error("Unable to get table for panel ".concat(e,".")),null;var{irisGridState:a={advancedFilters:void 0,quickFilters:void 0},gridState:o={}}=t,{advancedFilters:s,quickFilters:l}=a,d;s&&(d=mo.changeFilterIndexesToColumnNames(i,s));var u;return l&&(u=mo.changeFilterIndexesToColumnNames(i,l)),{irisGridState:ml(ml({},a),{},{advancedFilters:d,quickFilters:u}),gridState:ml({},o)}}handleGetFilterState(){return this.getFilterState()}handleChange(e){var{isValueShown:t,selectedId:r}=e;jt.debug("handleChange",t,r),this.setState({isValueShown:t,selectedId:r}),this.updatePanelState()}handleFilterApply(e){var{dashboardOpenedPanelMap:t}=this.props,{panels:r,restoreFullState:i=!1}=e;jt.debug("Apply filters from filter set",e),r.forEach(a=>{var{panelId:o,type:s,state:l}=a;if(o==null){jt.debug("panel is null",o);return}if(!t.has(o)){jt.debug("Ignore closed panel",o);return}jt.debug("Apply panel filters",o,s,l);var d=t.get(o);switch(s){case Q.getComponentName(ho):this.restoreIrisGridFilters(d,l,i);break;case Q.getComponentName(ns):case Q.getComponentName(ba):this.restoreInputFilterState(d,l);break}})}handleSetsUpdate(e){var{setDashboardFilterSets:t,localDashboardId:r}=this.props;jt.debug("Saving updated sets",e),t(r,[...e])}updatePanelState(){this.setState(e=>{var{selectedId:t,isValueShown:r}=e;return{panelState:{selectedId:t,isValueShown:r}}})}restoreIrisGridFilters(e,t,r){var{irisGridState:i={},advancedFilters:a=[],quickFilters:o=[]}=t,{advancedFilters:s=a,quickFilters:l=o}=i,{panelTableMap:d}=this.props,u=Q.getIdFromPanel(e);if(u==null){jt.error("Panel Id is null.");return}var c=d.get(u);if(c==null){jt.error("Unable to get table for panel ".concat(u,"."));return}jt.debug("restoreIrisGridFilters",u,t,r),r?e.setStateOverrides(t):e.setFilters({quickFilters:l,advancedFilters:s})}restoreInputFilterState(e,t){var r=ml({},t);delete r.isValueShown,jt.debug("restoreInputFilterState",e,r),e&&_k(e)&&e.setPanelState(r)}render(){var{glContainer:e,glEventHub:t,filterSets:r}=this.props,{isValueShown:i,selectedId:a}=this.state;return h.createElement(vi,{className:"filter-set-manager-panel",componentPanel:this,glContainer:e,glEventHub:t,isClonable:!0,isRenamable:!0},h.createElement("div",{className:"input-filter-container h-100 w-100 container"},h.createElement(vk,{onChange:this.handleChange,onApply:this.handleFilterApply,onUpdateSets:this.handleSetsUpdate,isValueShown:i,filterSets:r,selectedId:a,getFilterState:this.handleGetFilterState})))}}Dc(mo,"defaultProps",{panelState:null});Dc(mo,"COMPONENT","FilterSetManagerPanel");var Mk=(n,e)=>{var{localDashboardId:t}=e;return{filterSets:i1(n,t),dashboardOpenedPanelMap:sC(n,t),dashboardInputFilters:pc(n,t),panelTableMap:Cc(n,t)}},Ak=$t(Mk,{setDashboardFilterSets:c1},null,{forwardRef:!0})(mo);const Iu=Ak;function ms(n,e,t){return e=Lk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Lk(n){var e=kk(n,"string");return typeof e=="symbol"?e:String(e)}function kk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var qg=ie.module("LogPanel");class Ld extends w.PureComponent{constructor(e){super(e),ms(this,"isBottomVisible",void 0),ms(this,"logView",void 0),this.handleResize=this.handleResize.bind(this),this.handleShow=this.handleShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.isBottomVisible=!0,this.logView=null;var{session:t}=this.props;this.state={session:t}}handleResize(){this.updateDimensions()}handleShow(){this.updateDimensions(),this.logView&&(this.logView.triggerFindWidget(),this.isBottomVisible&&this.logView.scrollToBottom())}handleHide(){this.logView&&(this.isBottomVisible=this.logView.isBottomVisible())}handleSessionOpened(e){qg.debug("Session opened",[e]),this.setState({session:e})}handleSessionClosed(e){qg.debug("Session closed",e)}updateDimensions(){this.logView&&this.logView.updateDimensions()}render(){var{glContainer:e,glEventHub:t}=this.props,{session:r}=this.state;return h.createElement(vi,{componentPanel:this,glContainer:e,glEventHub:t,onResize:this.handleResize,onHide:this.handleHide,onShow:this.handleShow,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed},r==null&&h.createElement("div",{className:"log-panel-disconnected-message"},"Waiting for session connection"),r!=null&&h.createElement(k0,{session:r,ref:i=>{this.logView=i}}))}}ms(Ld,"defaultProps",{session:null});ms(Ld,"COMPONENT","LogPanel");ms(Ld,"TITLE","Log");var xk=(n,e)=>{var t;return{session:(t=Ta(n,e.localDashboardId))===null||t===void 0?void 0:t.session}},Hk=$t(xk,null,null,{forwardRef:!0})(Ld);const Jl=Hk;function Uk(n,e,t){return e=$k(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $k(n){var e=Bk(n,"string");return typeof e=="symbol"?e:String(e)}function Bk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class lb extends w.PureComponent{render(){var{isEditing:e,children:t,onDoubleClick:r}=this.props;return h.createElement("div",{className:"markdown-editor-container h-100 w-100",onDoubleClick:r},h.createElement("div",{className:te("text-muted","edit-hint",{viewing:e===void 0||!e})},h.createElement("span",null,"double-click to edit ",h.createElement(re,{icon:ps}))),t)}}Uk(lb,"defaultProps",{isEditing:!1});function Vk(n,e,t){return e=Gk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Gk(n){var e=Wk(n,"string");return typeof e=="symbol"?e:String(e)}function Wk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var jk=ie.module("MarkdownStartPage");class db extends w.PureComponent{constructor(e){super(e),this.handleDeleteButtonClick=this.handleDeleteButtonClick.bind(this),this.handleDeleteModalClose=this.handleDeleteModalClose.bind(this),this.state={isDeleteModalShown:!1}}handleDeleteButtonClick(e){this.setState({isDeleteModalShown:!0,toBeDeleted:e})}handleDeleteModalClose(){this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}handleDeleteMarkdown(e){if(jk.debug("delete markdown: ",e),e!==void 0){var{onDelete:t}=this.props;t(e)}this.setState({isDeleteModalShown:!1,toBeDeleted:void 0})}render(){var{closedMarkdowns:e,onOpen:t,onCreate:r}=this.props,{isDeleteModalShown:i,toBeDeleted:a}=this.state;return h.createElement("div",{className:"markdown-panel-start-page h-100 w-100"},h.createElement("div",{className:"markdown-panel-start-page-container"},h.createElement("div",{className:"markdown-panel-start-list"},h.createElement("h3",{className:"list-title"},"Start"),h.createElement("div",{className:"list-item"},h.createElement(j,{kind:"ghost",className:"title",onClick:r},"New Markdown Note"))),h.createElement("div",{className:"markdown-panel-start-list"},h.createElement("h3",{className:"list-title"},"Recently Closed from Dashboard"),e.map(o=>h.createElement("div",{className:"list-item",key:o.id},h.createElement(j,{kind:"ghost",className:"title",onClick:()=>t(o)},o.title),h.createElement("button",{className:"btn-link icon",type:"button",onClick:()=>{this.handleDeleteButtonClick(o)}},h.createElement(re,{icon:Hr})))),h.createElement(od,{isOpen:i,toggle:this.handleDeleteModalClose,className:"modal-dialog-centered markdown-delete-modal theme-bg-light"},h.createElement(sd,null,"Are you sure you want to permanently delete this note?"),h.createElement(ld,null,"You can't undo this action."),h.createElement(qf,null,h.createElement(j,{kind:"secondary",onClick:this.handleDeleteModalClose},"Cancel"),h.createElement(j,{kind:"danger",onClick:()=>{this.handleDeleteMarkdown(a)}},"Delete"))))))}}Vk(db,"defaultProps",{closedMarkdowns:[],onOpen:()=>{},onCreate:()=>{},onDelete:()=>{}});const zk=db;function ub(n,e,t){return e=Kk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Kk(n){var e=Yk(n,"string");return typeof e=="symbol"?e:String(e)}function Yk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var qk=n=>{var{children:e,className:t}=n,r=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return h.createElement("pre",null,h.createElement("code",null,h.createElement(vd,{language:r},h.Children.map(e,i=>typeof i=="string"?i.trim():i))))};class hb extends w.PureComponent{constructor(e){super(e),ub(this,"container",void 0),this.container=null}render(){var{isEditing:e,content:t,onEditorInitialized:r}=this.props;return h.createElement("div",{className:"markdown-editor-container",ref:i=>{this.container=i}},e?h.createElement(Wh,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:r}):h.createElement(Mf,{components:{code:qk}},t))}}ub(hb,"defaultProps",{isEditing:!1,content:""});function is(n,e,t){return e=Xk(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Xk(n){var e=Qk(n,"string");return typeof e=="symbol"?e:String(e)}function Qk(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var vl=ie.module("MarkdownPanel");class Rc extends w.Component{constructor(e){super(e),is(this,"markdownEditor",void 0),is(this,"editor",void 0),is(this,"getClosedMarkdowns",fe(i=>i.filter(a=>a.component==="MarkdownPanel").reverse())),this.handleContainerDoubleClick=this.handleContainerDoubleClick.bind(this),this.handleCreateMarkdown=this.handleCreateMarkdown.bind(this),this.handleDeleteMarkdown=this.handleDeleteMarkdown.bind(this),this.handleOpenMarkdown=this.handleOpenMarkdown.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorBlur=this.handleEditorBlur.bind(this),this.handleEditorResize=this.handleEditorResize.bind(this);var{panelState:t}=e,r=null;t!=null&&t.content!=null&&({content:r}=t),this.state={isStartPageShown:r==null,isEditing:!1,content:r,panelState:t},this.markdownEditor=null}setEditorPosition(e){L(this.markdownEditor);var{container:t}=this.markdownEditor;if(this.editor&&t){var r,i,a=t.getBoundingClientRect().top,o=t.scrollTop,s=t.scrollHeight,l=(r=(i=this.editor.getModel())===null||i===void 0?void 0:i.getLineCount())!==null&&r!==void 0?r:0,d=Math.round((o+e-a)/s*l);d>l&&(d=l),this.editor.revealLine(d),this.editor.setPosition({lineNumber:d,column:1}),this.editor.focus()}}handleContainerDoubleClick(e){var{isEditing:t}=this.state,r=e.clientY;t||this.setState({isEditing:!0},()=>{this.setEditorPosition(r)})}handleEditorInitialized(e){vl.debug("Markdown Editor Initialized..."),this.editor=e}handleCreateMarkdown(){vl.debug("create markdown..."),this.setState({isStartPageShown:!1,content:"",isEditing:!0,panelState:{content:""}},()=>{this.editor!=null&&this.editor.focus!=null&&this.editor.focus()})}handleOpenMarkdown(e){vl.debug("open markdown...",e);var{glContainer:t,glEventHub:r}=this.props,i=Q.getComponentConfigFromContainer(t);r.emit(Ee.REOPEN,e,i)}handleDeleteMarkdown(e){var{glEventHub:t}=this.props;t.emit(Ee.DELETE,e)}handleEditorBlur(e){var t;vl.debug("markdown content changed, saving...");var{isEditing:r}=this.state;if(!(!r||this.markdownEditor!=null&&this.markdownEditor.container!=null&&this.markdownEditor.container.contains(e.relatedTarget))){var i=(t=this.editor)===null||t===void 0?void 0:t.getValue();this.setState({content:i,isEditing:!1,panelState:{content:i}})}}handleEditorResize(){var{isEditing:e}=this.state;e&&this.editor&&this.editor.layout()}render(){var{glContainer:e,glEventHub:t,closedPanels:r}=this.props,{isEditing:i,isStartPageShown:a,content:o}=this.state,s=this.getClosedMarkdowns(r);return h.createElement(vi,{glContainer:e,glEventHub:t,className:"markdown-panel",componentPanel:this,onResize:this.handleEditorResize,onBlur:this.handleEditorBlur,isClonable:!0,isRenamable:!0},a?h.createElement(zk,{closedMarkdowns:s,onCreate:this.handleCreateMarkdown,onOpen:this.handleOpenMarkdown,onDelete:this.handleDeleteMarkdown}):h.createElement(lb,{isEditing:i,onDoubleClick:this.handleContainerDoubleClick},h.createElement(hb,{ref:l=>{this.markdownEditor=l},isEditing:i,content:o??void 0,onEditorInitialized:this.handleEditorInitialized})))}}is(Rc,"defaultProps",{panelState:null});is(Rc,"COMPONENT","MarkdownPanel");var Zk=(n,e)=>{var{localDashboardId:t}=e;return{closedPanels:nD(n,t)}},Jk=$t(Zk,null,null,{forwardRef:!0})(Rc);const Uo=Jk;function Ol(n,e,t){return e=ex(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ex(n){var e=tx(n,"string");return typeof e=="symbol"?e:String(e)}function tx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class cb extends w.PureComponent{constructor(e){super(e),Ol(this,"commands",void 0),Ol(this,"codeElements",void 0),Ol(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=h.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],r=t.findIndex(i=>i===e)+1;return r>=t.length?null:t[r]}handleRunSelected(e){var t,r;e.preventDefault(),e.stopPropagation();var{nextStartLine:i}=this.state,a=[...this.commands.keys()],o=a.findIndex(f=>f===i||i==null);if(!(o<0)){var s=a[o],l=this.commands.get(s),d=this.getNextStartLine(s),u=(t=this.codeElements.get(s))===null||t===void 0?void 0:t.current,c=u==null||(r=u.parentElement)===null||r===void 0?void 0:r.nextElementSibling;if(c!=null){var m,{offsetTop:v}=c,g=v;(m=this.editorScrollView.current)===null||m===void 0||m.scroll({top:g,left:0})}this.runCode(l),this.setState({nextStartLine:d})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:r,inline:i,node:a}=e,{hasRunCode:o,nextStartLine:s}=this.state,{children:l,position:d}=a;L(d);var{start:u}=d,{line:c}=u,m=l[0].value,v=h.createRef(),g=this.commands.size===0,f=s===c||g&&s==null&&!o,p=r!==void 0&&r.startsWith("language-")?r.substring(9):"plaintext";return i!=null&&i?h.createElement("code",{className:r},t):(this.commands.set(c,m),this.codeElements.set(c,v),h.createElement("div",{className:te("markdown-notebook-code-block",{"is-selected":f}),ref:v,onClick:()=>{this.setState({nextStartLine:c})},role:"presentation"},h.createElement(j,{kind:"ghost",icon:Rl,className:"btn-play-block",onClick:C=>{C.stopPropagation(),C.preventDefault(),this.runCode(m),this.setState({nextStartLine:c})},tooltip:"Run code"}),h.createElement("code",null,h.createElement(vd,{language:p},h.Children.map(t,C=>typeof C=="string"?C.trim():C)))))}renderLink(e){var{onLinkClick:t}=this.props,{href:r,children:i,target:a}=e;return h.createElement("a",{href:r,onClick:t,target:a},i)}render(){var{content:e,transformImageUri:t,transformLinkUri:r}=this.props,{hasCode:i,hasRunCode:a,nextStartLine:o}=this.state;return h.createElement("div",{className:"markdown-notebook"},h.createElement("div",{className:"markdown-notebook-toolbar"},h.createElement(j,{className:te("btn-play-selected-cell",{flashing:i&&!a}),kind:"ghost",icon:Rl,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:a&&o==null||!i},"Run Selected Code")),h.createElement("div",{className:"markdown-notebook-content",ref:this.editorScrollView},h.createElement(Mf,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[fS],transformLinkUri:r,transformImageUri:t,includeElementIndex:!0},e)))}}Ol(cb,"defaultProps",{onRunCode:()=>{}});const rx=cb;function Xg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zt(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xg(Object(t),!0).forEach(function(r){gr(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function gr(n,e,t){return e=nx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function nx(n){var e=ix(n,"string");return typeof e=="symbol"?e:String(e)}function ix(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var je=ie.module("NotebookPanel"),Qg=400;class Cn extends w.Component{static handleError(e){Te.isCanceled(e)||je.error(e)}static languageFromFileName(e){var t=be.getExtension(e).toLowerCase();switch(t){case"py":case"python":return"python";case"groovy":return"groovy";case"scala":return"scala";default:return null}}constructor(e){super(e),gr(this,"pending",void 0),gr(this,"debouncedSavePanelState",void 0),gr(this,"debouncedLoad",void 0),gr(this,"notebook",void 0),gr(this,"tabTitleElement",void 0),gr(this,"tabInitOnce",void 0),gr(this,"editor",void 0),gr(this,"getSettings",fe((m,v)=>zt(zt({},m),{},{minimap:{enabled:v}}))),gr(this,"getOverflowActions",fe((m,v)=>[{title:"Find",icon:bw,action:this.handleFind,group:le.groups.high,shortcut:nr.NOTEBOOK.FIND,order:10},{title:"Show Minimap",icon:m?ii:void 0,action:this.handleMinimapChange,group:le.groups.medium,shortcut:nr.NOTEBOOK.MINIMAP,order:20},{title:"Word Wrap",icon:v?ii:void 0,action:this.handleWordWrapChange,group:le.groups.medium,shortcut:nr.NOTEBOOK.WORDWRAP,order:30}])),this.handleBlur=this.handleBlur.bind(this),this.handleCloseCancel=this.handleCloseCancel.bind(this),this.handleCloseDiscard=this.handleCloseDiscard.bind(this),this.handleCloseSave=this.handleCloseSave.bind(this),this.handleCopy=this.handleCopy.bind(this),this.handleEditorInitialized=this.handleEditorInitialized.bind(this),this.handleEditorWillDestroy=this.handleEditorWillDestroy.bind(this),this.handleEditorChange=this.handleEditorChange.bind(this),this.handleFind=this.handleFind.bind(this),this.handleMinimapChange=this.handleMinimapChange.bind(this),this.handleWordWrapChange=this.handleWordWrapChange.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleLinkClick=this.handleLinkClick.bind(this),this.handleLoadSuccess=this.handleLoadSuccess.bind(this),this.handleLoadError=this.handleLoadError.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.handleRenameFile=this.handleRenameFile.bind(this),this.handleResize=this.handleResize.bind(this),this.handleRunCommand=this.handleRunCommand.bind(this),this.handleRunAll=this.handleRunAll.bind(this),this.handleRunSelected=this.handleRunSelected.bind(this),this.handleSave=this.handleSave.bind(this),this.handleSaveAsCancel=this.handleSaveAsCancel.bind(this),this.handleSaveAsSubmit=this.handleSaveAsSubmit.bind(this),this.handleSaveError=this.handleSaveError.bind(this),this.handleSaveSuccess=this.handleSaveSuccess.bind(this),this.handleSessionOpened=this.handleSessionOpened.bind(this),this.handleSessionClosed=this.handleSessionClosed.bind(this),this.handleShow=this.handleShow.bind(this),this.handleShowRename=this.handleShowRename.bind(this),this.handleTab=this.handleTab.bind(this),this.handleTabBlur=this.handleTabBlur.bind(this),this.handleTabClick=this.handleTabClick.bind(this),this.handleTabFocus=this.handleTabFocus.bind(this),this.handleTransformLinkUri=this.handleTransformLinkUri.bind(this),this.handleOverwrite=this.handleOverwrite.bind(this),this.handlePreviewPromotion=this.handlePreviewPromotion.bind(this),this.getDropdownOverflowActions=this.getDropdownOverflowActions.bind(this),this.pending=new hi,this.debouncedSavePanelState=rt(this.savePanelState.bind(this),Qg),this.debouncedLoad=rt(this.load.bind(this),Qg),this.notebook=null,this.tabTitleElement=null,this.tabInitOnce=!1;var{isDashboardActive:t,session:r,sessionLanguage:i,panelState:a}=e,o={value:"",language:"",wordWrap:"off"},s=null,{isPreview:l}=e;a!=null&&({fileMetadata:s=s,isPreview:l=l,settings:o=o}=a);var d=s!=null&&be.hasPath(s.itemName),u=d===!0&&o.value!=null||!d&&o.value!=null&&o.value.length>0,c=u?1:0;this.state={error:void 0,isDashboardActive:t,isFocused:!1,isLoading:!0,isLoaded:!1,isPreview:l,savedChangeCount:0,changeCount:c,fileMetadata:s,settings:o,session:r,sessionLanguage:i,panelState:{fileMetadata:s,settings:o},showCloseModal:!1,showSaveAsModal:!1,scriptCode:""},je.debug("constructor",e,this.state)}componentDidMount(){var{glContainer:e,glEventHub:t}=this.props,{tab:r}=e;r!=null&&this.initTab(r),this.initNotebookContent(),t.on(Ye.RENAME_FILE,this.handleRenameFile),t.on(Ee.DROPPED,this.handlePanelDropped),e.on(Ye.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion)}componentDidUpdate(e,t){var{isPreview:r,settings:i}=this.state,{wordWrap:a}=i,{defaultNotebookSettings:o}=this.props;r!==t.isPreview&&this.setPreviewStatus(),a!==t.settings.wordWrap&&(this.updateEditorWordWrap(),this.debouncedSavePanelState()),o.isMinimapEnabled!==e.defaultNotebookSettings.isMinimapEnabled&&this.updateEditorMinimap()}componentWillUnmount(){this.debouncedSavePanelState.flush(),this.pending.cancel();var{glEventHub:e,glContainer:t}=this.props,{fileMetadata:r,isPreview:i}=this.state;e.off(Ye.RENAME_FILE,this.handleRenameFile),e.off(Ee.DROPPED,this.handlePanelDropped),t.off(Ye.PROMOTE_FROM_PREVIEW,this.handlePreviewPromotion),e.emit(Ye.UNREGISTER_FILE,r,i)}initTab(e){this.tabInitOnce||(this.tabInitOnce=!0,this.initTabCloseOverride()),this.initTabClasses(e)}initTabCloseOverride(){var{glContainer:e}=this.props;e.beforeClose(t=>{if(t?.force===!0)return!0;var{changeCount:r,savedChangeCount:i}=this.state;return r!==i?(this.setState({showCloseModal:!0}),!1):!0})}initTabClasses(e){var t=e.element.get(0);L(t);var r=t.querySelector(".lm_title");this.tabTitleElement=r,r?.classList.add("notebook-title"),this.setPreviewStatus()}getNotebookValue(){var{changeCount:e,savedChangeCount:t,settings:r}=this.state,{value:i}=r;if(e!==t&&this.notebook){var a=this.notebook.getValue();return a??i}return i}initNotebookContent(){var{fileMetadata:e,settings:t,isPreview:r}=this.state;if(e&&e.id){je.debug("Init content from file"),this.registerFileMetadata(e,r),this.load();return}if(t.value!=null){je.debug("Use content passed in the settings prop"),this.handleLoadSuccess();return}this.handleLoadError(new Error("Missing file metadata"))}closeFileTabById(e){var{glEventHub:t}=this.props;t.emit(Ye.CLOSE_FILE,{id:e})}registerFileMetadata(e,t){var{glEventHub:r,metadata:i}=this.props,{id:a}=i;r.emit(Ye.REGISTER_FILE,a,e,t)}renameTab(e,t){var{glEventHub:r}=this.props;r.emit(Ye.RENAME,e,t)}load(){var{fileMetadata:e,settings:t}=this.state;L(e);var{id:r}=e,{fileStorage:i}=this.props;this.pending.add(i.loadFile(r)).then(a=>{var o;je.debug("Loaded file",a);var{filename:s}=a,{itemName:l}=this.state;if(s!==l){var{metadata:d}=this.props,{id:u}=d;this.renameTab(u,be.getBaseName(s))}var c=zt(zt({},t),{},{language:(o=Cn.languageFromFileName(s))!==null&&o!==void 0?o:""});t.value==null&&(c.value=a.content),t.wordWrap===void 0&&(t.wordWrap="off"),this.setState({fileMetadata:{id:s,itemName:s},settings:c}),this.debouncedSavePanelState()}).then(this.handleLoadSuccess).catch(this.handleLoadError)}save(){var{fileMetadata:e}=this.state;if(e&&be.hasPath(e.itemName)){var t=this.getNotebookValue();return t!==void 0?(this.saveContent(e.itemName,t),!0):!1}return this.setState({showSaveAsModal:!0}),!1}saveContent(e,t){je.debug("saveContent",e,t),this.updateSavedChangeCount();var{fileStorage:r}=this.props;this.pending.add(r.saveFile({filename:e,content:t,basename:e})).then(this.handleSaveSuccess).catch(this.handleSaveError)}updateSavedChangeCount(){this.setState(e=>{var{changeCount:t}=e;return{savedChangeCount:t}})}setPreviewStatus(){if(this.tabTitleElement){var{isPreview:e}=this.state;je.debug("setPreviewStatus",this.tabTitleElement,e),e?this.tabTitleElement.classList.add("is-preview"):this.tabTitleElement.classList.remove("is-preview")}}handlePreviewPromotion(){this.removePreviewStatus()}savePanelState(){this.setState(e=>{var{changeCount:t,savedChangeCount:r,fileMetadata:i,isPreview:a,settings:o}=e,s=this.getNotebookValue(),l=t!==r?s:void 0,d=zt(zt({},o),{},{value:s}),u=zt(zt({},o),{},{value:l}),c={settings:u,fileMetadata:i,isPreview:a};return je.debug("Saving panel state",c),{settings:d,panelState:c}})}handleCloseDiscard(){this.setState({showCloseModal:!1});var{glContainer:e}=this.props;e.close({force:!0})}handleCloseSave(){if(this.setState({showCloseModal:!1}),this.save()){var{glContainer:e}=this.props;e.close({force:!0})}}handleCloseCancel(){this.setState({showCloseModal:!1})}handleOverwrite(e){var{glEventHub:t}=this.props;t.emit(Ye.CLOSE_FILE,{id:e,itemName:e},{force:!0}),this.focus()}handleCopy(){var{fileMetadata:e,settings:t}=this.state;L(e);var r=this.getNotebookValue(),{language:i}=t,{itemName:a}=e,o=be.getCopyFileName(a);je.debug("handleCopy",e,a,o),this.createNotebook(o,i,r)}handleEditorInitialized(e){this.editor=e}handleEditorWillDestroy(){this.editor=void 0}handleEditorChange(e){je.debug2("handleEditorChanged",e),this.removePreviewStatus(),this.setState(t=>{var{changeCount:r,savedChangeCount:i}=t,{isUndoing:a,isRedoing:o}=e;return a?{changeCount:r-1,savedChangeCount:i}:!o&&r<i?{changeCount:r+1,savedChangeCount:0}:{changeCount:r+1,savedChangeCount:i}}),this.debouncedSavePanelState()}handleFind(){this.notebook&&this.notebook.toggleFind()}updateEditorMinimap(){if(this.editor){var{defaultNotebookSettings:e}=this.props;this.editor.updateOptions({minimap:{enabled:e.isMinimapEnabled}})}}handleMinimapChange(){var{settings:e,defaultNotebookSettings:t,saveSettings:r}=this.props,i=zt(zt({},e),{},{defaultNotebookSettings:{isMinimapEnabled:!t.isMinimapEnabled}});r(i)}updateEditorWordWrap(){if(this.editor){var{settings:e}=this.state,{wordWrap:t}=e;this.editor.updateOptions({wordWrap:t})}}handleWordWrapChange(){this.editor&&this.setState(e=>{var{settings:t}=e,r=t.wordWrap==="on"?"off":"on";return{settings:zt(zt({},t),{},{wordWrap:r})}})}handleBlur(){je.debug("handleBlur"),this.setState({isFocused:!1})}handleFocus(){je.debug("handleFocus"),this.setState({isFocused:!0})}handleLinkClick(e){var{notebooksUrl:t,session:r,sessionLanguage:i}=this.props,{href:a}=e.currentTarget;if(!(!a||!a.startsWith(t))){e.stopPropagation(),e.preventDefault();var o="/".concat(a.substring(t.length)).replace(/%20/g," ");if(o==="/"){je.debug("Ignoring invalid notebook link",o);return}je.debug("Notebook link clicked, opening",o);var{glEventHub:s}=this.props,l={value:null,language:i},d={id:o,itemName:o};s.emit(Ye.SELECT_NOTEBOOK,r,i,l,d)}}handleLoadSuccess(){this.setState({error:void 0,isLoaded:!0,isLoading:!1})}handleLoadError(e){var t=e;Te.isCanceled(t)||(Te.isTimedOut(t)&&(t=new Error("File not found.")),je.error(t),this.setState({error:t,isLoading:!1}))}handleSave(){je.debug("handleSave"),this.save()}handleSaveSuccess(e){var t,{fileStorage:r}=this.props,i={id:e.filename,itemName:e.filename},a=(t=Cn.languageFromFileName(e.filename))!==null&&t!==void 0?t:"";this.setState(o=>{var{fileMetadata:s}=o,l=zt(zt({},o.settings),{},{language:a});return je.debug("handleSaveSuccess",i,s,l),s&&be.hasPath(s.itemName)&&s.itemName!==i.itemName&&(je.debug("handleSaveSuccess deleting old file",s.itemName),r.deleteFile(s.itemName).catch(Cn.handleError)),{fileMetadata:i,settings:l,isPreview:!1}}),this.debouncedSavePanelState(),this.registerFileMetadata(i,!1)}handleSaveError(e){Te.isCanceled(e)||(this.setState({savedChangeCount:0}),je.error(e))}handleSaveAsCancel(){this.setState({showSaveAsModal:!1})}handleSaveAsSubmit(e){var t,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;r&&this.handleOverwrite(e),je.debug("handleSaveAsSubmit",e);var{fileMetadata:i}=this.state;if(i){var{itemName:a}=i,o=(t=this.getNotebookValue())!==null&&t!==void 0?t:"";if(this.setState({showSaveAsModal:!1}),be.getBaseName(a)!==be.getBaseName(e)){var{metadata:s}=this.props,{id:l}=s;this.renameTab(l,be.getBaseName(e))}this.saveContent(e,o)}}handleRenameFile(e,t,r){var{fileMetadata:i,panelState:a}=this.state,{glContainer:o}=this.props;if(i?.itemName==="/".concat(t)&&r&&JSON.stringify(a)!==JSON.stringify(r)){o.close();return}i&&i.id===e&&(this.setState({fileMetadata:{id:t,itemName:t}}),this.debouncedSavePanelState())}handleResize(){var e;(e=this.notebook)===null||e===void 0||e.updateDimensions()}handleRunCommand(e){this.runCommand(e)}handleRunAll(){var e;if(!this.notebook){je.error("Editor is not initialized.");return}this.runCommand((e=this.notebook.getValue())!==null&&e!==void 0?e:void 0)}handleRunSelected(){if(!this.notebook){je.error("Editor is not initialized.");return}this.runCommand(this.notebook.getSelectedCommand())}handleSessionOpened(e,t){var{language:r}=t;this.setState({session:e,sessionLanguage:r})}handleSessionClosed(){this.setState({session:void 0,sessionLanguage:void 0})}handleShow(){var e;je.debug("handleShow"),(e=this.notebook)===null||e===void 0||e.updateDimensions()}handlePanelDropped(e){var{metadata:{id:t}}=this.props;e===t&&this.forceUpdate()}handleShowRename(){this.setState({showSaveAsModal:!0})}handleTab(e){je.debug("NotebookPanel tab event",e),this.initTab(e)}handleTabFocus(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];je.debug("handleTabFocus",...t);var{glContainer:i}=this.props;this.setState({isDashboardActive:!0}),this.notebook&&!i.isHidden&&this.notebook.updateDimensions()}handleTabBlur(){je.debug("handleTabBlur"),this.setState({isDashboardActive:!1})}handleTabClick(e){je.debug("handle NotebookPanel tab click"),this.focus(),e.detail===2&&this.removePreviewStatus()}handleTransformLinkUri(e){var{notebooksUrl:t}=this.props,{fileMetadata:r}=this.state;if(e.endsWith("/"))return e;if(e.startsWith("/"))return"".concat(t).concat(e.substring(1));var i=r?.itemName;if(i===void 0)return e;i.charAt(0)==="/"&&(i=i.substring(1));var a=new URL(i,t);return new URL(e,a).href}focus(){requestAnimationFrame(()=>{this.notebook&&this.notebook.focus()})}createNotebook(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",{glEventHub:i}=this.props,{session:a,sessionLanguage:o,settings:s}=this.state,l=zt(zt({},s),{},{language:t,value:r}),d={id:null,itemName:e};je.debug("handleCreateNotebook",a,o,l,d),i.emit(Ye.CREATE_NOTEBOOK,a,o,l,d)}runCommand(e){if(e===void 0||e===""){je.debug("Ignoring empty command.");return}this.removePreviewStatus();var{glEventHub:t}=this.props;t.emit(Lr.SEND_COMMAND,e,!1,!0)}removePreviewStatus(){this.setState(e=>{var{isPreview:t}=e;if(t){var{fileMetadata:r}=this.state;return r&&this.registerFileMetadata(r,!1),{isPreview:!1}}return null})}getDropdownOverflowActions(){var{defaultNotebookSettings:e}=this.props,{settings:t}=this.state;return this.getOverflowActions(e.isMinimapEnabled,this.getSettings(t,e.isMinimapEnabled).wordWrap==="on")}render(){var e,t,{fileStorage:r,glContainer:i,glContainer:{tab:a},glEventHub:o,defaultNotebookSettings:s}=this.props,{changeCount:l,savedChangeCount:d,error:u,isDashboardActive:c,isLoaded:m,isLoading:v,isPreview:g,fileMetadata:f,session:p,sessionLanguage:C,settings:b,showCloseModal:S,showSaveAsModal:E}=this.state,y=c&&!i.isHidden&&!g,T=(e=f?.itemName)!==null&&e!==void 0?e:Cn.DEFAULT_NAME,O=T.endsWith(".md"),D=f?.id!=null,P=this.getSettings(b,s.isMinimapEnabled),R=p!=null,_=C===P.language,M=!m||!R||!_,A=!m,B=[{action:this.handleSave,shortcut:ui.SAVE},{action:this.handleMinimapChange,shortcut:nr.NOTEBOOK.MINIMAP},{action:this.handleWordWrapChange,shortcut:nr.NOTEBOOK.WORDWRAP}],$=Ku.getDisabledRunTooltip(R,_,"Notebook extension","Run"),z=Ku.getDisabledRunTooltip(R,_,"Notebook extension","Run Selected"),G=[{title:D?"Rename":"Save As…",order:10,group:le.groups.high,action:this.handleShowRename},{title:"Copy File",action:this.handleCopy,group:le.groups.high,order:20}],K=a?.element.find(".lm_title_before").get(0);return h.createElement(h.Fragment,null,K&&Fh.createPortal(h.createElement("span",{className:te("editor-unsaved-indicator",{"is-unsaved":l!==d})}),K),h.createElement(vi,{className:"notebook-container",componentPanel:this,glContainer:i,glEventHub:o,onTab:this.handleTab,onResize:this.handleResize,onShow:this.handleShow,onTabClicked:this.handleTabClick,onTabFocus:this.handleTabFocus,onTabBlur:this.handleTabBlur,onSessionOpen:this.handleSessionOpened,onSessionClose:this.handleSessionClosed,onFocus:this.handleFocus,onBlur:this.handleBlur,additionalActions:G,renderTabTooltip:()=>T},!O&&h.createElement(h.Fragment,null,h.createElement("div",{className:"notebook-toolbar"},h.createElement("span",null,h.createElement(j,{kind:"ghost",className:"btn-play",onClick:this.handleRunAll,disabled:M,icon:h.createElement(re,{icon:Rl,transform:"grow-4"}),tooltip:"Run ".concat(nr.NOTEBOOK.RUN.getDisplayText()),"aria-label":"Run"}),$!=null&&h.createElement(pt,null,$)),h.createElement("span",null,h.createElement(j,{kind:"ghost",className:"btn-play",onClick:this.handleRunSelected,disabled:M,icon:h.createElement(re,{icon:Sw,transform:"grow-4"}),tooltip:"Run Selected ".concat(nr.NOTEBOOK.RUN_SELECTED.getDisplayText()),"aria-label":"Run Selected"}),z!=null&&h.createElement(pt,null,z)),h.createElement(j,{kind:"ghost",className:"mr-auto",disabled:A,onClick:this.handleSave,icon:jf,tooltip:"Save ".concat(ui.SAVE.getDisplayText()),"aria-label":"Save"}),h.createElement(j,{kind:"ghost",className:"btn-overflow btn-link-icon",disabled:A,icon:Hf,tooltip:"More Actions...",onClick:()=>{}},h.createElement(ai,{actions:this.getDropdownOverflowActions,popperOptions:Cn.POPPER_OPTIONS}))),h.createElement(b0,{isLoaded:m,isLoading:v,error:u,onChange:this.handleEditorChange,onRunCommand:this.handleRunCommand,session:p,sessionLanguage:C,onEditorInitialized:this.handleEditorInitialized,onEditorWillDestroy:this.handleEditorWillDestroy,settings:P,focusOnMount:y,ref:X=>{this.notebook=X}})),O&&h.createElement(rx,{content:(t=P.value)!==null&&t!==void 0?t:"",onLinkClick:this.handleLinkClick,onRunCode:this.handleRunCommand,transformImageUri:this.handleTransformLinkUri,transformLinkUri:this.handleTransformLinkUri}),h.createElement(ob,{isOpen:E,type:"file",defaultValue:T,title:D?"Rename":"Save file as",onSubmit:this.handleSaveAsSubmit,onCancel:this.handleSaveAsCancel,notifyOnExtensionChange:!0,storage:r}),h.createElement(ss,{isOpen:S,headerText:"Do you want to save the changes you made to ".concat(T,"?"),bodyText:"Your changes will be lost if you don't save them.",onCancel:this.handleCloseCancel,onDiscard:this.handleCloseDiscard,onConfirm:this.handleCloseSave,discardButtonText:"Discard Changes",confirmButtonText:"Save"}),h.createElement(le,{actions:B})))}}gr(Cn,"COMPONENT","NotebookPanel");gr(Cn,"POPPER_OPTIONS",{placement:"bottom-end"});gr(Cn,"DEFAULT_NAME","Untitled");gr(Cn,"defaultProps",{isDashboardActive:!0,isPreview:!1,session:null,sessionLanguage:null,defaultNotebookSettings:null});var ax=(n,e)=>{var t=bp(n),r=Bt(n),i=hT(n),a=Ta(n,e.localDashboardId),{session:o,config:s}=a??{},{type:l}=s??{};return{fileStorage:t,settings:r,defaultNotebookSettings:i,session:o,sessionLanguage:l}},ox=$t(ax,{saveSettings:Ed},null,{forwardRef:!0})(Cn);const Ni=ox;function sx(n){if(n==null)throw new TypeError("Cannot destructure "+n)}function ed(){return ed=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},ed.apply(this,arguments)}function td(n,e,t){return e=lx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function lx(n){var e=dx(n,"string");return typeof e=="symbol"?e:String(e)}function dx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class Nc extends w.Component{constructor(e){super(e),td(this,"buttonRef",void 0),td(this,"irisGridRef",void 0),this.irisGridRef=h.createRef(),this.buttonRef=h.createRef(),this.handleReload=this.handleReload.bind(this),this.handleGridStateChange=this.handleGridStateChange.bind(this),this.handlePanelStateUpdate=this.handlePanelStateUpdate.bind(this);var{panelState:t}=e;this.state={shouldFocusGrid:!1,panelState:t}}handleReload(){var e,t;(e=this.irisGridRef.current)===null||e===void 0||e.initModel(),(t=this.buttonRef.current)===null||t===void 0||t.blur(),this.setState({shouldFocusGrid:!0})}handleGridStateChange(){var e,t,r,{shouldFocusGrid:i}=this.state;i&&(e=this.irisGridRef.current)!==null&&e!==void 0&&(t=e.irisGrid)!==null&&t!==void 0&&(r=t.current)!==null&&r!==void 0&&r.grid&&(this.irisGridRef.current.irisGrid.current.grid.focus(),this.setState({shouldFocusGrid:!1}))}handlePanelStateUpdate(e){this.setState({panelState:e})}render(){var e=this.props,t=ed({},(sx(e),e));return h.createElement(wa,ed({ref:this.irisGridRef,onStateChange:this.handleGridStateChange,onPanelStateUpdate:this.handlePanelStateUpdate},t),h.createElement(j,{ref:this.buttonRef,kind:"primary",className:"btn-pandas",onClick:this.handleReload,tooltip:"Click to refresh pandas dataframe, updates do not occur automatically."},"pandas dataframe",h.createElement("span",null,h.createElement(re,{icon:kh,transform:"shrink-1",className:"mr-1"}),"Reload")))}}td(Nc,"defaultProps",{panelState:null});td(Nc,"COMPONENT","PandasPanel");const _u=Nc;function ux(n){Qi(n);var{id:e,layout:t,registerComponent:r,hydrate:i}=n,a=Pa(),o=w.useCallback(s=>{var{dragEvent:l,fetch:d,panelId:u=Xe.generate(),widget:c}=s,{name:m,type:v}=c;if(v===a.VariableType.FIGURE){var g={name:m,figure:m},f=()=>d().then(b=>kl.makeModel(a,void 0,b)),p={type:"react-component",component:eo.COMPONENT,props:{localDashboardId:e,id:u,metadata:g,makeModel:f},title:m,id:u},{root:C}=t;Q.openComponent({root:C,config:p,dragEvent:l})}},[a,e,t]);return w.useEffect(function(){var l=[r(eo.COMPONENT,eo,i)];return()=>{l.forEach(d=>d())}},[i,r]),Ke(t.eventHub,Ee.OPEN,o),null}function hx(n){Qi(n);var{id:e,layout:t}=n,r=Pa(),i=w.useCallback(a=>{var{metadata:o,panelId:s=Xe.generate(),table:l}=a,{settings:d}=o,u=()=>kl.makeModelFromSettings(r,d,l),c=kt.titleFromSettings(d),m={type:"react-component",component:eo.COMPONENT,props:{localDashboardId:e,id:s,metadata:o,makeModel:u},title:c,id:s},{root:v}=t;Q.openComponent({root:v,config:m})},[r,e,t]);return Ke(t.eventHub,fn.CREATE_CHART,i),null}function Zg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zg(Object(t),!0).forEach(function(r){cx(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Zg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function cx(n,e,t){return e=mx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mx(n){var e=vx(n,"string");return typeof e=="symbol"?e:String(e)}function vx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var bt=ie.module("ConsolePlugin");function ef(n){return n.notebook!==void 0}function gx(n){Qi(n)}function fx(n){gx(n);var{id:e,hydrateConsole:t,layout:r,panelManager:i,registerComponent:a,notebooksUrl:o}=n,s=w.useRef(0),[l,d]=w.useState(new Map),[u,c]=w.useState(new Map),m=Ih(),v=w.useCallback(()=>i.getLastUsedPanelOfType(qa),[i]),g=w.useCallback((I,N)=>{d(k=>new Map(k.set(I,N)))},[d]),f=w.useCallback(I=>{d(N=>(N.delete(I),new Map(N)))},[d]),p=w.useCallback((I,N)=>{c(k=>new Map(k.set(I,N)))},[c]),C=w.useCallback(I=>{c(N=>(N.delete(I),new Map(N)))},[c]),b=w.useCallback(function(I){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,x=I&&I.trim();if(!x)bt.info("Ignoring empty code");else{var Y=v();if(!Y||!(Y instanceof qa.WrappedComponent)){bt.error("Console panel not found");return}bt.debug("Send command: ",I,N,k),Y.addCommand(I,N,k)}},[v]),S=w.useCallback(I=>{m(h1(e,I))},[m,e]),E=w.useCallback(I=>{var{language:N}=I,k=N==="python"?"py":N,x=null;return k==null?(bt.debug("No extension for language",N),x="Untitled-".concat(s.current)):x="Untitled-".concat(s.current,".").concat(k),s.current+=1,x},[]),y=w.useCallback(function(I){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{id:k}=I;if(k!=null&&l.has(k))return l.get(k);if(k!=null&&u.has(k))return u.get(k);if(N)return Xe.generate()},[l,u]),T=w.useCallback((I,N)=>{Q.renameComponent(r.root,{id:I},N)},[r.root]),O=w.useCallback((I,N)=>{bt.debug("Rename file panel",I,N);var k;if(l.has(I)&&(k=l.get(I),f(I),k!=null&&g(N,k)),u.has(I)&&(k=u.get(I),C(I),k!=null&&p(N,k)),k===void 0){bt.debug2("File ".concat(I," isn't open, no need to rename the tab"));return}T(k,be.getBaseName(N))},[l,u,T,g,p,f,C]),D=w.useCallback(I=>{var N=y(I,!1);if(N==null){bt.error("Could not find panel id for file metadata",I);return}Q.activateTab(r.root,{id:N})},[y,r.root]),P=w.useCallback((I,N,k)=>{if(bt.debug("registerFilePanel",I,N,k),N==null||N.id==null){bt.debug("Ignore empty file id",N);return}var{id:x}=N;if(k){p(x,I);return}if(l.has(x)){var Y=l.get(x);if(I===Y){bt.debug("Update tab title for file ".concat(x));var{itemName:W}=N;O(x,W)}else bt.error("File ".concat(x," already associated with a different tab ").concat(Y));return}g(x,I),u.has(x)&&C(x)},[l,u,O,g,p,C]),R=w.useCallback((I,N)=>{if(bt.debug("unregisterFileTab",I,N),I==null||I.id==null){bt.debug("Ignore empty file id",I);return}var{id:k}=I;if(N){C(k);return}f(k)},[f,C]),_=w.useCallback((I,N)=>{bt.debug("closeFilePanel",I);var{id:k}=I,x=null,Y=!1;if(l.has(k))x=l.get(k);else if(u.has(k))x=u.get(k),Y=!0;else{bt.debug("File ".concat(k," isn't open, ignore close event"));return}R(I,Y),Q.closeComponent(r.root,{id:x},N)},[r.root,l,u,R]),M=w.useCallback(I=>{var{itemName:N}=I;return be.getBaseName(N)},[]),A=w.useCallback(I=>{var{id:N}=I;return bt.debug("fileIsOpen",I,N,l),N!=null&&l.has(N)},[l]),B=w.useCallback(I=>{var{id:N}=I;return bt.debug("fileIsOpenAsPreview",I,N,u),N!=null&&u.has(N)},[u]),$=w.useCallback(I=>{if(I!=null){var N=i.getOpenedPanelById(I);N&&ef(N)&&N.focus()}},[i]),z=w.useCallback(I=>{var{id:N,settings:k,fileMetadata:x,session:Y,sessionLanguage:W,isPreview:ee=!1}=I,oe={settings:k,fileMetadata:x},ae=M(x);return{type:"react-component",component:Ni.COMPONENT,isFocusOnShow:!1,props:{localDashboardId:e,metadata:{id:N},session:Y,sessionLanguage:W,panelState:oe,isPreview:ee,notebooksUrl:o},title:ae,id:N}},[M,e,o]),G=w.useCallback(function(I,N,k){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{id:null,itemName:E(k)},Y=y(x);if(A(x)&&Y!=null){bt.debug("File is already open, focus panel"),D(x),$(Y);return}var W=Q.getStackForComponentTypes(r.root,[Ni.COMPONENT]),ee=z({id:Y,settings:k,fileMetadata:x,session:I,sessionLanguage:N});bt.debug("createNotebook",ee,l),Q.openComponentInStack(W,ee)},[A,$,E,y,r.root,z,l,D]),K=w.useCallback(function(I,N,k,x){var Y=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;bt.debug("selectNotebook",x,Y);var W=A(x),ee=B(x),[oe]=[...u.values()],ae=!Y,se=ae&&oe?oe:y(x);if(se==null||se==="")throw new Error("Unable to retrieve or create panelId for metadata",x);if(W||ee)D(x);else{var pe=Q.getStackForComponentTypes(r.root,[Ni.COMPONENT]),He=z({id:se,settings:k,fileMetadata:x,session:I,sessionLanguage:N,isPreview:ae});Q.openComponentInStack(pe,He)}if(ee&&Y){var at=x.id,ot=Q.getStackForConfig(r.root,{component:Ni.COMPONENT,id:se}),Qe=Q.getContentItemInStack(ot,{component:Ni.COMPONENT,id:se});Qe&&Ir(Qe)&&(Qe.container.emit(Ye.PROMOTE_FROM_PREVIEW),C(at),g(at,se))}Y&&$(se)},[D,A,B,$,y,r.root,z,u,C,g]),X=w.useCallback(function(I,N){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,Y=i.getLastUsedPanelOfType(Ni);Y&&ef(Y)?k!=null&&k.value!=null&&Y.notebook!=null&&Y.notebook.append(k.value):x&&G(I,N,k)},[G,i]),J=w.useCallback((I,N)=>th.hydrate(Jg(Jg({},I),{},{notebooksUrl:o}),N),[o]);return w.useEffect(function(){var N=[a(qa.COMPONENT,qa,t),a(Xl.COMPONENT,Xl),a(Ql.COMPONENT,Ql),a(Jl.COMPONENT,Jl),a(Ni.COMPONENT,Ni,J)];return()=>{N.forEach(k=>k())}},[a,t,J]),Ke(r.eventHub,Lr.SEND_COMMAND,b),Ke(r.eventHub,Lr.SETTINGS_CHANGED,S),Ke(r.eventHub,Ye.CLOSE_FILE,_),Ke(r.eventHub,Ye.CREATE_NOTEBOOK,G),Ke(r.eventHub,Ye.SELECT_NOTEBOOK,K),Ke(r.eventHub,Ye.RENAME,T),Ke(r.eventHub,Ye.RENAME_FILE,O),Ke(r.eventHub,Ye.SEND_TO_NOTEBOOK,X),Ke(r.eventHub,Ye.REGISTER_FILE,P),Ke(r.eventHub,Ye.UNREGISTER_FILE,R),null}var $o=ie.module("FilterPlugin");function tf(n,e){return n.concat(e)}function px(n){Qi(n);var{id:e,layout:t,registerComponent:r}=n,i=Ih(),[a]=w.useState(()=>new Map),[o]=w.useState(()=>new Map),[s]=w.useState(()=>new Map),l=w.useCallback(()=>{var p=Array.from(a.values()).reduce(tf,[]).sort((S,E)=>{var y=Zr.toLower(S.name),T=Zr.toLower(E.name);if(y!==T)return y>T?1:-1;var O=Zr.toLower(S.type),D=Zr.toLower(E.type);return O!==D?O>D?1:-1:0}).reduce((S,E)=>((S.length===0||Zr.toLower(S[S.length-1].name)!==Zr.toLower(E.name)||Zr.toLower(S[S.length-1].type)!==Zr.toLower(E.type))&&S.push(E),S),[]),C=Array.from(o.values()).reduce(tf,[]).sort((S,E)=>S.timestamp-E.timestamp),b=new Map(s);$o.debug("sendUpdate",{columns:p,filters:C,tableMap:b}),i(Un(e,{columns:p,filters:C,tableMap:b}))},[i,e,a,o,s]),d=w.useCallback((p,C)=>{$o.debug2("handleColumnsChanged",p,C),a.set(p,[].concat(C)),l()},[a,l]),u=w.useCallback((p,C)=>{$o.debug2("handleFiltersChanged",p,C),o.set(p,[].concat(C)),l()},[o,l]),c=w.useCallback((p,C)=>{$o.debug2("handleTableChanged",p,C),s.set(Q.getIdFromPanel(p),C),l()},[s,l]),m=w.useCallback(p=>{$o.debug2("handlePanelUnmount",p),a.delete(p),o.delete(p),s.delete(Q.getIdFromPanel(p)),l()},[a,o,s,l]),v=w.useCallback(p=>{var{title:C="DropdownFilter",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=null}=p,D={type:"react-component",component:ba.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]),g=w.useCallback(p=>{var{title:C="InputFilter",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=void 0}=p,D={type:"react-component",component:ns.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]),f=w.useCallback(p=>{var{title:C="FilterSets",metadata:b={},panelState:S=null,id:E=Xe.generate(),focusElement:y=Q.DEFAULT_FOCUS_SELECTOR,createNewStack:T=!1,dragEvent:O=null}=p,D={type:"react-component",component:Iu.COMPONENT,props:{id:E,metadata:b,panelState:S,localDashboardId:e},title:C,id:E},{root:P}=t;Q.openComponent({root:P,config:D,focusElement:y,createNewStack:T,dragEvent:O})},[t,e]);return w.useEffect(function(){var C=[r(ba.COMPONENT,ba),r(ns.COMPONENT,ns),r(Iu.COMPONENT,Iu)];return()=>{C.forEach(b=>b())}},[r]),Ke(t.eventHub,it.COLUMNS_CHANGED,d),Ke(t.eventHub,it.FILTERS_CHANGED,u),Ke(t.eventHub,it.TABLE_CHANGED,c),Ke(t.eventHub,it.OPEN_DROPDOWN,v),Ke(t.eventHub,it.OPEN_INPUT,g),Ke(t.eventHub,it.OPEN_FILTER_SET_MANAGER,f),Ke(t.eventHub,Ee.UNMOUNT,m),null}function Cx(n){Qi(n);var{getDownloadWorker:e,loadPlugin:t,id:r,layout:i,registerComponent:a,hydrate:o,theme:s}=n,l=Pa(),d=w.useMemo(()=>[l.VariableType.TABLE,l.VariableType.TREETABLE,l.VariableType.HIERARCHICALTABLE],[l]),u=w.useCallback(c=>{var{dragEvent:m,fetch:v,panelId:g=Xe.generate(),widget:f}=c,{name:p,type:C}=f;if(d.includes(C)){var b={name:p,table:p,type:f.type},S=()=>v().then(T=>vc.makeModel(l,T)),E={type:"react-component",component:wa.COMPONENT,props:{getDownloadWorker:e,loadPlugin:t,localDashboardId:r,id:g,metadata:b,makeModel:S,theme:s},title:p,id:g},{root:y}=i;Q.openComponent({root:y,config:E,dragEvent:m})}},[l,e,r,i,t,d,s]);return w.useEffect(function(){var m=[a(wa.COMPONENT,wa,o)];return()=>{m.forEach(v=>v())}},[o,a]),Ke(i.eventHub,Ee.OPEN,u),null}function rf(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Fi(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rf(Object(t),!0).forEach(function(r){mb(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):rf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mb(n,e,t){return e=bx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function bx(n){var e=Sx(n,"string");return typeof e=="symbol"?e:String(e)}function Sx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function vb(n){var e=n;return typeof e.getCoordinateForColumn=="function"}function nf(n){var e=n;return vb(n)&&typeof e.setFilterMap=="function"&&typeof e.unsetFilterValue=="function"}function af(n){var e;return n.description===void 0||!((e=n.description)!==null&&e!==void 0&&e.startsWith("Preview of type: "))}var Bo=ie.module("LinkerUtils");class kd{static getLinkType(e,t,r){var i;if(e?.panelId==null||t?.panelId==null||e.panelId===t.panelId||r!=null&&r!==e.panelId&&r!==t.panelId)return Bo.debug2("Incompatible panel ids",e,t,r),"invalid";if(e.panelComponent==null||t.panelComponent==null)return Bo.error("PanelComponent should not be null",e,t),"invalid";var a=(i=kd.ALLOWED_LINKS.get(e.panelComponent))===null||i===void 0?void 0:i.includes(t.panelComponent);if(a===void 0||!a)return Bo.debug2("Incompatible panel components",e,t),"invalid";var{columnType:o}=e,{columnType:s}=t,l=s===null||H.isCompatibleType(o,s);if(!l)return Bo.debug2("Incompatible type",o,s),"invalid";switch(t.panelComponent){case Q.getComponentName(eo):return"chartLink";case Q.getComponentName(wa):return"tableLink";case Q.getComponentName(ba):return"filterSource"}return Bo.debug2("Incompatible target panel component",t.panelComponent),"invalid"}static findColumn(e,t){var{columnName:r,columnType:i}=t;return e.find(a=>{var{name:o,type:s}=a;return o===r&&s===i})}static cloneLinksForPanel(e,t,r){var i=[];return e.forEach(a=>{var o;a.start.panelId===t&&a.type!=="filterSource"?i.push(Fi(Fi({},a),{},{id:Xe.generate(),start:Fi(Fi({},a.start),{},{panelId:r})})):((o=a.end)===null||o===void 0?void 0:o.panelId)===t&&i.push(Fi(Fi({},a),{},{id:Xe.generate(),end:Fi(Fi({},a.end),{},{panelId:r})}))}),i}}mb(kd,"ALLOWED_LINKS",new Map([[Q.getComponentName(wa),[Q.getComponentName(wa),Q.getComponentName(eo),Q.getComponentName(ba)]]]));const Wa=kd;function gb(n,e,t){return e=wx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wx(n){var e=Ex(n,"string");return typeof e=="symbol"?e:String(e)}function Ex(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var yx=ie.module("LinkerLink"),of=.015,sf=1.5,fb=12,pb=12,lf=2,gl=Math.sqrt((pb*.5)**2+fb**2),df=Math.asin(pb*.5/fb),uf=15,Ii=Math.PI*.5;class ro extends w.Component{static makeCirclePath(e,t,r){return"M ".concat(e," ").concat(t," m -").concat(r,",0 a ").concat(r,",").concat(r," 0 1,0 ").concat(r*2,",0 a ").concat(r,",").concat(r," 0 1,0 -").concat(r*2,",0 z")}static getLabelForLinkFilter(e,t){try{if(H.isNumberType(e)||H.isCharType(e))return gp(t);if(H.isTextType(e))return vp(t);if(H.isDateType(e))return fp(t);if(H.isBooleanType(e)){if(t===ge.eq)return"is equal to";if(t===ge.notEq)return"is not equal to"}throw new Error("Unrecognized column type: ".concat(e))}catch(r){return yx.warn(r),""}}constructor(e){super(e),gb(this,"getOperators",fe((t,r)=>{var{onOperatorChanged:i}=this.props,a=H.getFilterTypes(r);return H.isBooleanType(r)&&(a=[ge.eq,ge.notEq]),a.flatMap((o,s)=>{if(o==="eqIgnoreCase"||o==="notEqIgnoreCase")return[];var l="";return o==="startsWith"?l="a*":o==="endsWith"?l="*z":l=H.getFilterOperatorString(o),[{title:ro.getLabelForLinkFilter(r,o),icon:h.createElement("b",null,l),action:()=>i(t,o),order:s}]})})),this.handleClick=this.handleClick.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleDelete=this.handleDelete.bind(this),this.getDropdownActions=this.getDropdownActions.bind(this),this.state={isHovering:void 0}}handleClick(e){e.stopPropagation(),e.preventDefault();var{id:t,onClick:r,onDelete:i}=this.props;e.altKey?i(t):r(t)}handleMouseEnter(){this.setState({isHovering:!0})}handleMouseLeave(){this.setState({isHovering:!1})}handleDelete(){var{id:e,onDelete:t}=this.props;t(e)}getDropdownActions(){var{id:e,startColumnType:t}=this.props;return t!=null?this.getOperators(e,t):[]}render(){var{className:e,operator:t,isSelected:r,x1:i,y1:a,x2:o,y2:s,id:l,startColumnType:d,type:u}=this.props,{isHovering:c}=this.state,m=Math.sqrt((i-o)**2+(a-s)**2),v=Math.atan2(s-a,o-i),g=Math.sin(v),f=Math.cos(v)+2,p=window.innerWidth,C=window.innerHeight,b=0,S=0,E=Math.max(b,Math.min(i+(o-i)/2+g*(m*of)**sf,p)),y=Math.max(S,Math.min(a+(s-a)/2+f*(m*of)**sf,C)),T="M ".concat(i," ").concat(a," Q ").concat(E," ").concat(y," ").concat(o," ").concat(s),O="M ".concat(b," ").concat(S," L ").concat(b," ").concat(C," L ").concat(p," ").concat(C," L ").concat(p," ").concat(S,` z
36
36
  `).concat(ro.makeCirclePath(i,a,uf),`
37
37
  `).concat(ro.makeCirclePath(o,s,uf)),D="link-select-clip-".concat(l),P=Math.atan2(s-y,o-E),R=P-df+Math.PI,_=P+df+Math.PI,M=o+Math.cos(P)*lf,A=s+Math.sin(P)*lf,B=M+Math.cos(R)*gl,$=A+Math.sin(R)*gl,z=M+Math.cos(_)*gl,G=A+Math.sin(_)*gl,K="".concat(M,",").concat(A," ").concat(B,",").concat($," ").concat(z,",").concat(G),X=.25*i+.5*E+.25*o,J=.25*a+.5*y+.25*s,I=E-i+(o-E),N=y-a+(s-y),k=N/I,x=20,Y=x/Math.sqrt(1+k**2),W=Y*k,ee=Y*-1,oe=W*-1;Number.isFinite(k)?k>0?(Y*=-1,W*=-1,ee*=-1,oe*=-1,ee-=50-10*(Math.abs(v)%Ii),oe+=10*(Math.abs(v)%Ii),Y-=50-10*(Math.abs(v)%Ii),W+=10*(Math.abs(v)%Ii)):k<0?(ee+=10*(Math.abs(v)%Ii),oe+=10*(Math.abs(v)%Ii),Y+=10*(Math.abs(v)%Ii),W+=10*(Math.abs(v)%Ii)):(ee=15,oe=10,Y=-25,W=10):(ee=10,oe=5,Y=10,W=-35);var ae="";t!==void 0&&(t==="startsWith"?ae="a*":t==="endsWith"?ae="*z":ae=H.getFilterOperatorString(t));var se=u!=="chartLink"&&u!=="filterSource";return h.createElement(h.Fragment,null,h.createElement("svg",{className:te(e,{hovering:c})},h.createElement("clipPath",{id:D},h.createElement("path",{d:O,clipRule:"evenodd"})),h.createElement("path",{className:"link-select",d:T,onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,clipPath:"url(#".concat(D,")"),"data-testid":"link-select"}),h.createElement("path",{className:"link-background",d:T}),h.createElement("path",{className:"link-foreground",d:T}),h.createElement("circle",{className:"link-dot",cx:i,cy:a,r:"5"}),h.createElement("polygon",{className:"link-triangle",points:K})),d!=null&&r&&h.createElement(h.Fragment,null,se&&h.createElement(j,{kind:"primary",className:"btn-fab btn-operator",style:{top:J+(k>=0?W:oe),left:X+(k>=0?Y:ee)},onClick:()=>{},icon:h.createElement("div",{className:"fa-md fa-layers"},h.createElement("b",null,ae),h.createElement(re,{icon:ti,transform:"right-8 down-9 shrink-5"})),tooltip:"Change comparison operator"},h.createElement(ai,{actions:this.getDropdownActions,popperOptions:{placement:"bottom-start"}})),h.createElement(j,{kind:"primary",className:"btn-fab btn-delete",style:{top:J+(k<0?W:oe),left:X+(k<0?Y:ee)},onClick:this.handleDelete,icon:Hr,tooltip:"Delete"})))}}gb(ro,"defaultProps",{className:"",isSelected:!1,onClick(){},onDelete(){}});const Tx=ro;function hf(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function cf(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hf(Object(t),!0).forEach(function(r){Fc(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Fc(n,e,t){return e=Px(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Px(n){var e=Ox(n,"string");return typeof e=="symbol"?e:String(e)}function Ox(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var Mu=ie.module("LinkerOverlayContent");class Cb extends w.Component{constructor(e){super(e),Fc(this,"dialogRef",void 0),this.handleBlur=this.handleBlur.bind(this),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.handleEscapePressed=this.handleEscapePressed.bind(this),this.handleOperatorChanged=this.handleOperatorChanged.bind(this),this.dialogRef=h.createRef(),this.state={mouse:void 0,dialog:void 0,offset:{x:0,y:0},isDragging:!1,mode:"select"}}componentDidMount(){window.addEventListener("blur",this.handleBlur,!0),window.addEventListener("mousemove",this.handleMouseMove,!0),window.addEventListener("mouseup",this.handleMouseUp,!0),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp,!0),window.addEventListener("resize",this.handleResize,!0)}componentDidCatch(e,t){Mu.error("componentDidCatch",e,t)}componentWillUnmount(){window.removeEventListener("blur",this.handleBlur,!0),window.removeEventListener("mousemove",this.handleMouseMove,!0),window.removeEventListener("mouseup",this.handleMouseUp,!0),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp,!0),window.removeEventListener("resize",this.handleResize,!0)}getPointFromLinkPoint(e){var{panelManager:t}=this.props,{panelId:r,columnName:i}=e,a=t.getOpenedPanelById(r);if(a!=null){if(!vb(a))throw new Error("Panel does not have getCoordinateForColumn method: ".concat(r));try{var o=a.getCoordinateForColumn(i);if(o!=null)return o}catch{Mu.error("Could not get coordinate for column",i,a)}}var s=t.getContainerByPanelId(r);if(s==null)throw new Error("Unable to find panel container for id: ".concat(r));return Q.getTabPoint(s)}handleOperatorChanged(e,t){var{links:r,onLinksUpdated:i}=this.props,a=r.map(o=>o.id===e?cf(cf({},o),{},{operator:t}):o);i(a)}handleBlur(){this.setState({mode:"select"})}handleResize(){var{dialog:e}=this.state;if(e&&this.dialogRef.current){var t=this.dialogRef.current.getBoundingClientRect(),r=Ve(e.x,0,window.innerWidth-t.width),i=Ve(e.y,0,window.innerHeight-t.height);this.setState({dialog:{x:r,y:i}})}}handleMouseMove(e){var{offset:t,isDragging:r}=this.state;if(this.setState({mouse:{x:e.clientX,y:e.clientY}}),r&&this.dialogRef.current){var i=this.dialogRef.current.getBoundingClientRect(),a=Ve(window.innerWidth-(e.clientX+i.width+t.x),0,window.innerWidth-i.width),o=Ve(window.innerHeight-(e.clientY+i.height+t.y),0,window.innerHeight-i.height);this.setState({dialog:{x:a,y:o}})}}handleMouseDown(e){var t={x:0,y:0};if(this.dialogRef.current){var r=this.dialogRef.current.getBoundingClientRect();t.x=r.right-(r.width+e.clientX),t.y=r.bottom-(r.height+e.clientY)}this.setState({isDragging:!0,offset:t})}handleMouseUp(){this.setState({isDragging:!1})}handleKeyDown(e){if(e.key==="Alt")e.preventDefault(),this.setState({mode:"delete"});else if(e.key==="Delete"||e.key==="Backspace"){var{selectedIds:t,onLinkDeleted:r}=this.props;e.preventDefault(),t.forEach(i=>r(i))}}handleKeyUp(e){e.key==="Alt"&&(e.preventDefault(),this.setState({mode:"select"}))}handleEscapePressed(){var{onCancel:e}=this.props;e()}render(){var{disabled:e,links:t,selectedIds:r,messageText:i,onLinkSelected:a,onLinkDeleted:o,onAllLinksDeleted:s,onDone:l}=this.props,{mouse:d,dialog:u,isDragging:c,mode:m}=this.state,v=t.map(g=>{try{var f,p,{id:C,type:b,isReversed:S,start:E,end:y,operator:T}=g,O=E.columnType,[D,P]=this.getPointFromLinkPoint(E),R=(f=d?.x)!==null&&f!==void 0?f:D,_=(p=d?.y)!==null&&p!==void 0?p:P;if(y!=null&&([R,_]=this.getPointFromLinkPoint(y)),S!=null&&S){var[M,A]=[D,P];[D,P]=[R,_],[R,_]=[M,A]}var B=te("linker-link",{disabled:e},{"link-filter-source":b==="filterSource"},{"link-invalid":b==="invalid"},{interactive:g.end==null},{"link-is-selected":r.has(C)},{"danger-delete":m==="delete"});return{x1:D,y1:P,x2:R,y2:_,id:C,className:B,operator:T,startColumnType:O,type:b}}catch($){return Mu.warn("Unable to get point for link",g,$),null}}).filter(g=>g!=null);return h.createElement("div",{className:te("linker-overlay",{"danger-delete":m==="delete"})},v.map(g=>{var{x1:f,y1:p,x2:C,y2:b,id:S,className:E,operator:y,startColumnType:T,type:O}=g;return h.createElement(Tx,{className:E,id:S,x1:f,y1:p,x2:C,y2:b,key:S,onClick:a,onDelete:o,isSelected:r.has(S),operator:y,startColumnType:T,type:O,onOperatorChanged:this.handleOperatorChanged})}),h.createElement("div",{className:te("linker-toast-dialog",{dragging:c}),ref:this.dialogRef,style:{bottom:u?.y,right:u?.x},"data-testid":"linker-toast-dialog"},h.createElement(j,{draggable:!0,kind:"inline",className:"btn-drag-handle",icon:ad,onClick:()=>{},onMouseDown:this.handleMouseDown},!c&&h.createElement(pt,null,"Drag to reposition")),h.createElement("div",{className:"toast-body"},i),h.createElement("div",{className:"toast-footer"},h.createElement(j,{kind:"secondary",onClick:s},"Clear All"),h.createElement(j,{kind:"primary",onClick:l},"Done"))),h.createElement(le,{actions:[{action:this.handleEscapePressed,shortcut:ui.LINKER_CLOSE,isGlobal:!0}]}))}}Fc(Cb,"defaultProps",{disabled:"false"});const Dx=Cb;function mf(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function vf(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mf(Object(t),!0).forEach(function(r){bb(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):mf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function bb(n,e,t){return e=Rx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Rx(n){var e=Nx(n,"string");return typeof e=="symbol"?e:String(e)}function Nx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}var At=ie.module("Linker"),Fx=(n,e)=>({activeTool:wd(n),dh:bd(n),isolatedLinkerPanelId:bc(n,e.localDashboardId),links:Eo(n,e.localDashboardId),timeZone:Ss(n)}),Ix=$t(Fx,{setActiveTool:yd,setDashboardLinks:wc,addDashboardLinks:l1,deleteDashboardLinks:d1,setDashboardIsolatedLinkerPanelId:nb,setDashboardColumnSelectionValidator:u1});class _x extends w.Component{constructor(e){super(e),bb(this,"getCachedLinks",fe((t,r,i)=>{var a=[...t];return r!=null&&r.start!=null&&a.push(r),i!==void 0?a.filter(o=>{var s,l;return(o==null||(s=o.start)===null||s===void 0?void 0:s.panelId)===i||(o==null||(l=o.end)===null||l===void 0?void 0:l.panelId)===i||o?.end==null}):a})),this.handleCancel=this.handleCancel.bind(this),this.handleDone=this.handleDone.bind(this),this.handlePanelCloned=this.handlePanelCloned.bind(this),this.handleFilterColumnSelect=this.handleFilterColumnSelect.bind(this),this.handleColumnsChanged=this.handleColumnsChanged.bind(this),this.handlePanelClosed=this.handlePanelClosed.bind(this),this.handleLayoutStateChanged=this.handleLayoutStateChanged.bind(this),this.handleAllLinksDeleted=this.handleAllLinksDeleted.bind(this),this.handleLinkDeleted=this.handleLinkDeleted.bind(this),this.handleLinksUpdated=this.handleLinksUpdated.bind(this),this.handleChartColumnSelect=this.handleChartColumnSelect.bind(this),this.handleGridColumnSelect=this.handleGridColumnSelect.bind(this),this.handleUpdateValues=this.handleUpdateValues.bind(this),this.handleStateChange=this.handleStateChange.bind(this),this.handleExited=this.handleExited.bind(this),this.handleLinkSelected=this.handleLinkSelected.bind(this),this.handlePanelDragging=this.handlePanelDragging.bind(this),this.handlePanelDropped=this.handlePanelDropped.bind(this),this.isColumnSelectionValid=this.isColumnSelectionValid.bind(this),this.state={linkInProgress:void 0,selectedIds:new Set,isDraggingPanel:!1}}componentDidMount(){var{layout:e}=this.props;this.startListening(e),this.updateSelectionValidators()}componentDidUpdate(e){var{activeTool:t,layout:r}=this.props;r!==e.layout&&(this.stopListening(e.layout),this.startListening(r)),t!==e.activeTool&&(this.updateSelectionValidators(),t===Sr.DEFAULT&&this.reset())}componentDidCatch(e,t){At.error("componentDidCatch",e,t)}componentWillUnmount(){var{layout:e}=this.props;this.stopListening(e)}startListening(e){e.on("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.on(fn.COLUMN_SELECTED,this.handleGridColumnSelect),t.on(fn.DATA_SELECTED,this.handleUpdateValues),t.on(fn.STATE_CHANGED,this.handleStateChange),t.on(Th.COLUMN_SELECTED,this.handleChartColumnSelect),t.on(Ee.CLONED,this.handlePanelCloned),t.on(it.COLUMN_SELECTED,this.handleFilterColumnSelect),t.on(it.COLUMNS_CHANGED,this.handleColumnsChanged),t.on(Ee.CLOSE,this.handlePanelClosed),t.on(Ee.CLOSED,this.handlePanelClosed),t.on(Ee.DRAGGING,this.handlePanelDragging),t.on(Ee.DROPPED,this.handlePanelDropped)}stopListening(e){e.off("stateChanged",this.handleLayoutStateChanged);var{eventHub:t}=e;t.off(fn.COLUMN_SELECTED,this.handleGridColumnSelect),t.off(fn.DATA_SELECTED,this.handleUpdateValues),t.off(fn.STATE_CHANGED,this.handleStateChange),t.off(Th.COLUMN_SELECTED,this.handleChartColumnSelect),t.off(Ee.CLONED,this.handlePanelCloned),t.off(it.COLUMN_SELECTED,this.handleFilterColumnSelect),t.off(it.COLUMNS_CHANGED,this.handleColumnsChanged),t.off(Ee.CLOSE,this.handlePanelClosed),t.off(Ee.CLOSED,this.handlePanelClosed),t.off(Ee.DRAGGING,this.handlePanelDragging),t.off(Ee.DROPPED,this.handlePanelDropped)}reset(){this.setState({linkInProgress:void 0,selectedIds:new Set})}handleCancel(){var{linkInProgress:e}=this.state;if(e==null){var{setActiveTool:t}=this.props;t(Sr.DEFAULT)}this.setState({linkInProgress:void 0})}handleDone(){var{setActiveTool:e}=this.props;e(Sr.DEFAULT)}handleChartColumnSelect(e,t){this.columnSelected(e,t,!0)}handleFilterColumnSelect(e,t){At.debug("handleFilterColumnSelect",this.isOverlayShown());var{links:r,localDashboardId:i,setActiveTool:a,setDashboardIsolatedLinkerPanelId:o}=this.props,s=Q.getIdFromPanel(e),l=r.filter(d=>{var u,c;return((u=d.start)===null||u===void 0?void 0:u.panelId)===s||((c=d.end)===null||c===void 0?void 0:c.panelId)===s});if(!this.isOverlayShown()&&s!=null){a(Sr.LINKER),o(i,s),l.length===0&&this.columnSelected(e,t,!0,s);return}this.columnSelected(e,t,!0)}handleColumnsChanged(e,t){At.debug("handleColumnsChanged",e,t);var{links:r}=this.props,i=Q.getIdFromPanel(e);if(i==null){At.error("Invalid panelId",e);return}var a=r.filter(o=>{var{start:s,end:l}=o;return s.panelId===i&&Wa.findColumn(t,s)==null||l!=null&&l.panelId===i&&Wa.findColumn(t,l)==null});this.deleteLinks(a)}handleGridColumnSelect(e,t){if(!af(t)){At.debug2("Column is not filterable");return}this.columnSelected(e,t)}columnSelected(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3?arguments[3]:void 0;if(!(i===void 0&&!this.isOverlayShown())){var{isolatedLinkerPanelId:a}=this.props,{linkInProgress:o}=this.state,s=Q.getIdFromPanel(e);if(s!=null){var l=Q.getComponentNameFromPanel(e),{name:d,type:u}=t;if(o==null||o.start==null){var c={id:Xe.generate(),start:{panelId:s,panelComponent:l,columnName:d,columnType:u},type:"invalid",isReversed:r};At.debug("starting link",c),this.setState({linkInProgress:c})}else{var{links:m}=this.props,{start:v,id:g,isReversed:f}=o,p={panelId:s,panelComponent:l,columnName:d,columnType:u},C=Wa.getLinkType(f!==void 0&&f?p:v,f!==void 0&&f?v:p,i??a);switch(C){case"invalid":At.debug("Ignore invalid link connection",o,p);return;case"filterSource":{var b=f!==void 0&&f?v.panelId:p.panelId,S=m.filter(D=>{var{end:P}=D;return P?.panelId===b});this.deleteLinks(S);break}case"chartLink":{var E=f===!0?v:p,y=f===!0?p:v;At.debug("creating chartlink",{existingLinkEnd:E,start:v,end:p});var T=m.filter(D=>{var{end:P,start:R}=D;return R?.panelId===y.panelId&&P?.panelId===E.panelId&&P?.columnName===E.columnName&&P?.columnType===E.columnType});this.deleteLinks(T);break}}var O={start:f!==void 0&&f?p:v,end:f!==void 0&&f?v:p,id:g,type:C,operator:ge.eq};At.info("creating link",O),this.setState({linkInProgress:void 0,selectedIds:new Set([g])},()=>{this.addLinks([O])})}}}}unsetFilterValueForLink(e){var{panelManager:t}=this.props;if(e.end){var{end:r}=e,{panelId:i,columnName:a,columnType:o}=r,s=t.getOpenedPanelById(i);s?nf(s)?s.unsetFilterValue(a,o):At.debug("endPanel.unsetFilterValue not implemented",s):At.debug("endPanel no longer exists, ignoring unsetFilterValue",i)}}setPanelFilterMap(e,t){At.debug("Set filter data for panel:",e,t);var{panelManager:r}=this.props,i=r.getOpenedPanelById(e);i?nf(i)?i.setFilterMap(t):At.debug("panel.setFilterMap not implemented",e,i):At.debug("panel no longer exists, ignoring setFilterMap",e)}addLinks(e){var{addDashboardLinks:t,localDashboardId:r}=this.props;t(r,e)}deleteLinks(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,{localDashboardId:r}=this.props;if(e.forEach(o=>this.unsetFilterValueForLink(o)),t){var{setDashboardLinks:i}=this.props;i(r,[])}else if(e.length>0){var{deleteDashboardLinks:a}=this.props;a(r,e.map(o=>{var{id:s}=o;return s}))}}handleAllLinksDeleted(){var{links:e,isolatedLinkerPanelId:t}=this.props;if(t===void 0)this.deleteLinks(e,!0);else{var r=e.filter(i=>{var a,o;return(i==null||(a=i.start)===null||a===void 0?void 0:a.panelId)===t||(i==null||(o=i.end)===null||o===void 0?void 0:o.panelId)===t});this.deleteLinks(r)}this.reset()}handleLinkDeleted(e){var{links:t}=this.props,r=t.find(i=>i.id===e);r?this.deleteLinks([r]):At.error("Unable to find link to delete",e)}handleUpdateValues(e,t){for(var r=Q.getIdFromPanel(e),{dh:i,links:a,timeZone:o}=this.props,s=new Map,l=0;l<a.length;l+=1){var{start:d,end:u,operator:c}=a[l];if(d.panelId===r&&u!=null){var{panelId:m,columnName:v,columnType:g}=u,f=s.has(m)?s.get(m):new Map,p=f.has(v)===!0?f.get(v).filterList:[],{visibleIndex:C,isExpandable:b,isGrouped:S}=t[d.columnName],{value:E}=t[d.columnName],y="".concat(E);if(E===null&&b&&S&&(E=void 0),g!=null&&H.isDateType(g)){var T=new Tt(i,{timeZone:o,showTimeZone:!1,showTSeparator:!0,defaultDateTimeFormatString:Ea.FULL_DATE_FORMAT});y=T.format(E)}var O={operator:c,text:y,value:E,startColumnIndex:C};p.push(O),f.set(v,{columnType:g,filterList:p}),s.set(m,f)}}s.forEach((D,P)=>{this.setPanelFilterMap(P,D)})}handlePanelCloned(e,t){var{links:r}=this.props,i=Q.getIdFromPanel(e),a=t.id;if(i!=null){var o=Wa.cloneLinksForPanel(r,i,a);this.addLinks(o)}}handlePanelDragging(e){for(var{links:t}=this.props,r=0;r<t.length;r+=1){var i=t[r],{start:a,end:o}=i;if(a.panelId===e||o?.panelId===e){this.setState({isDraggingPanel:!0});return}}}handlePanelDropped(){this.setState({isDraggingPanel:!1})}handlePanelClosed(e){At.debug("Panel ".concat(e," closed, deleting links.")),this.deleteLinksForPanelId(e)}handleLinkSelected(e){this.setState({selectedIds:new Set([e])})}handleLinksUpdated(e){var{localDashboardId:t,setDashboardLinks:r}=this.props;r(t,e)}handleLayoutStateChanged(){this.forceUpdate()}handleStateChange(){this.forceUpdate()}handleExited(){var{localDashboardId:e,setDashboardIsolatedLinkerPanelId:t}=this.props;t(e,void 0)}deleteLinksForPanelId(e){for(var{links:t}=this.props,r=0;r<t.length;r+=1){var i=t[r],{start:a,end:o,id:s}=i;(a.panelId===e||o?.panelId===e)&&this.handleLinkDeleted(s)}}isOverlayShown(){var{activeTool:e}=this.props;return e===Sr.LINKER}updateSelectionValidators(){var{activeTool:e,setDashboardColumnSelectionValidator:t,localDashboardId:r}=this.props;switch(e){case Sr.LINKER:t(r,this.isColumnSelectionValid);break;default:t(r,void 0);break}}updateLinkInProgressType(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"invalid";this.setState(t=>{var{linkInProgress:r}=t;return r!==void 0?{linkInProgress:vf(vf({},r),{},{type:e})}:null})}isColumnSelectionValid(e,t){var{linkInProgress:r}=this.state,{isolatedLinkerPanelId:i}=this.props;if(t==null)return r?.start!=null&&this.updateLinkInProgressType(),!1;if(!af(t))return At.debug2("Column is not filterable",t.description),r?.start!=null&&this.updateLinkInProgressType("invalid"),!1;if(r?.start==null)return!0;var{isReversed:a,start:o}=r,s=Q.getIdFromPanel(e);if(s==null)return!1;var l={panelId:s,panelComponent:Q.getComponentNameFromPanel(e),columnName:t.name,columnType:t.type},d=a!==void 0&&a?Wa.getLinkType(l,o,i):Wa.getLinkType(o,l,i);return this.updateLinkInProgressType(d),d!=="invalid"}render(){var{links:e,isolatedLinkerPanelId:t,panelManager:r}=this.props,{linkInProgress:i,selectedIds:a,isDraggingPanel:o}=this.state,s=this.isOverlayShown(),l=i!=null&&i.start!=null,d=t===void 0?"Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.":"Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.";return o?null:h.createElement(kr,{in:s,timeout:et.transitionMs,classNames:"fade",mountOnEnter:!0,unmountOnExit:!0,onExited:this.handleExited},h.createElement(Dx,{disabled:l,panelManager:r,links:this.getCachedLinks(e,i,t),selectedIds:a,messageText:d,onLinkSelected:this.handleLinkSelected,onLinkDeleted:this.handleLinkDeleted,onAllLinksDeleted:this.handleAllLinksDeleted,onLinksUpdated:this.handleLinksUpdated,onDone:this.handleDone,onCancel:this.handleCancel}))}}var Mx=Ix(_x);const Ax=Mx;function Lx(n){Qi(n);var{id:e,layout:t,panelManager:r}=n;return h.createElement(Ax,{layout:t,localDashboardId:e,panelManager:r})}function Sb(n,e,t){return e=kx(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kx(n){var e=xx(n,"string");return typeof e=="symbol"?e:String(e)}function xx(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}class vo{static getNewMarkdownTitle(e){for(var t="".concat(vo.DEFAULT_TITLE),r=0;e.indexOf(t)>=0;)r+=1,t="".concat(vo.DEFAULT_TITLE,"-").concat(r);return t}}Sb(vo,"DEFAULT_TITLE","Note");Sb(vo,"DEFAULT_CONTENT",`# Markdown Note
38
38
 
@@ -40,5 +40,5 @@ This note can be edited using **markdown** for styling.`);const Au=vo;function H
40
40
  `)),r}renderFormatRule(e,t){const r=`input-${e}-columnName`,i=`input-${e}-columnType`,a=`input-${e}-format`,o=this.getCachedColumnTypeOptions(),s=c=>this.handleFormatRuleChange(e,"columnName",c.target.value),l=()=>this.handleFormatRuleChange(e,"isNewRule",!1),d=c=>this.handleFormatRuleChange(e,"columnType",c.target.value),u=this.getRuleError(t);return F.jsxs("fieldset",{className:"container-fluid format-rule-container",children:[F.jsxs("div",{className:"form-row",children:[F.jsxs("div",{className:"form-group col-7 mb-2",children:[F.jsx("label",{htmlFor:r,children:"Column Name"}),F.jsx("input",{id:r,className:te("form-control",{"is-invalid":u.hasColumnNameError}),"data-lpignore":!0,type:"text",value:t.columnName,onChange:s,onBlur:l})]}),F.jsxs("div",{className:"form-group col mb-2",children:[F.jsx(j,{kind:"ghost",className:"btn-delete-format-rule float-right",tabIndex:-1,onClick:()=>this.handleFormatRuleDelete(e),icon:Hr,tooltip:"Delete","aria-label":"Delete Format Rule"}),F.jsx("label",{htmlFor:i,children:"Column Type"}),F.jsx("select",{id:i,className:"custom-select",value:t.columnType,onChange:d,children:o})]})]}),F.jsx("div",{className:"form-row",children:F.jsxs("div",{className:"form-group col-12 d-flex mb-2",children:[F.jsx("label",{className:"flex-shrink-0 col-form-label mr-3",htmlFor:a,children:"Formatting Rule"}),this.renderFormatRuleInput(e,t.columnType,a,t.format,u.hasFormatError)]})}),F.jsx("div",{className:"form-row",children:F.jsx("div",{className:"form-group col-12 d-flex mb-2",children:u.message&&F.jsx("p",{className:"text-danger",children:u.message})})})]},e)}renderFormatRuleInput(e,t,r,i,a){switch(H.getNormalizedType(t)){case H.dataType.DATETIME:return this.renderDateTimeFormatRuleInput(e,r,i,a);case H.dataType.DECIMAL:return this.renderDecimalFormatRuleInput(e,r,i,a);case H.dataType.INT:return this.renderIntegerFormatRuleInput(e,r,i,a);default:throw new Error(`Unrecognized column type: ${t}`)}}renderDateTimeFormatRuleInput(e,t,r,i){const{showTimeZone:a,showTSeparator:o,timeZone:s}=this.state,l=r.formatString??"";return F.jsxs("select",{className:te("custom-select",{"is-invalid":i}),value:l,id:t,onChange:d=>{const u=Tt.makeFormat("",d.target.value,Tt.TYPE_GLOBAL);this.handleFormatRuleChange(e,"format",u)},children:[F.jsx("option",{value:"",disabled:!0,children:"Select format"},"default"),this.getCachedDateTimeFormatOptions(s,a,o)]})}renderIntegerFormatRuleInput(e,t,r,i){const a=r.formatString??"";return F.jsx("input",{className:te("form-control","flex-grow-1",{"is-invalid":i}),"data-lpignore":!0,id:t,placeholder:yt.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:o=>{const s=yt.makeFormat("",o.target.value,yt.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",s)}})}renderDecimalFormatRuleInput(e,t,r,i){const a=r.formatString??"";return F.jsx("input",{className:te("form-control","flex-grow-1",{"is-invalid":i}),"data-lpignore":!0,id:t,placeholder:tt.DEFAULT_FORMAT_STRING,type:"text",value:a,onChange:o=>{const s=tt.makeFormat("",o.target.value,tt.TYPE_GLOBAL,void 0);this.handleFormatRuleChange(e,"format",s)}})}render(){const{formatRulesChanged:e,formatSettings:t}=this.state,r=t.map((a,o)=>F.jsx(kr,{classNames:"fade",timeout:et.transitionMs,onEnter:this.handleFormatRuleEntered,children:this.renderFormatRule(o,a)},a.id)),i=F.jsx(j,{kind:"ghost",className:"mb-3",onClick:this.handleFormatRuleCreate,ref:this.addFormatRuleButtonRef,icon:Yi,children:"Add New Rule"});return F.jsxs("div",{className:"app-settings-formatting-section",ref:this.containerRef,children:[F.jsx("div",{className:"app-settings-menu-description mb-3",children:"Customize the formatting of table columns by applying rules based on matching both a column name and column type."}),F.jsx(CS,{appear:e,enter:e,exit:e,children:r}),i]})}}const IH=n=>({formatter:yp(n),defaultDateTimeFormat:Sp(n),defaultDecimalFormatOptions:wp(n),defaultIntegerFormatOptions:Ep(n),dh:bd(n),showTimeZone:Tp(n),showTSeparator:Pp(n),truncateNumbersWithPound:Op(n),timeZone:Ss(n),settings:Bt(n)}),_H=$t(IH,{saveSettings:Ed})(_c);class Nn extends w.Component{static defaultProps={onDone:()=>{}};static FORMATTING_SECTION_KEY="SettingsMenu.formatting";static COLUMN_SPECIFIC_SECTION_KEY="SettingsMenu.columnFormatting";static APPLICATION_SECTION_KEY="ApplicationMenu.settings";static SHORTCUT_SECTION_KEY="SettingsMenu.shortcuts";static focusFirstInputInContainer(e){const t=e?.querySelector("input, select, textarea");t&&t.focus()}constructor(e){super(e),this.handleClose=this.handleClose.bind(this),this.handleScrollTo=this.handleScrollTo.bind(this),this.handleSectionToggle=this.handleSectionToggle.bind(this),this.handleExportSupportLogs=this.handleExportSupportLogs.bind(this),this.handleLogout=this.handleLogout.bind(this),this.menuContentRef=h.createRef(),this.broadcastChannel=new BroadcastChannel(Gw),this.state={expandedSectionKey:Nn.FORMATTING_SECTION_KEY}}componentDidMount(){Nn.focusFirstInputInContainer(this.menuContentRef.current)}componentWillUnmount(){this.broadcastChannel.close()}menuContentRef;broadcastChannel;isSectionExpanded(e){const{expandedSectionKey:t}=this.state;return t===e}handleLogout(){this.broadcastChannel.postMessage(Ww(jw))}handleScrollTo(e,t){this.menuContentRef.current?.scrollTo(e,t)}handleSectionToggle(e){this.setState(t=>({expandedSectionKey:t.expandedSectionKey===e?void 0:e}))}handleClose(){const{onDone:e}=this.props;e()}handleExportSupportLogs(){const{serverConfigValues:e}=this.props;RH(void 0,Object.fromEntries(e))}render(){const e="0.44.1",t="https://github.com/deephaven/web-client-ui/",r="https://deephaven.io/core/docs/",{serverConfigValues:i,user:a}=this.props,o=i.get("barrage.version"),s=i.get("java.version"),l=i.get("deephaven.version"),d=(v,g)=>F.jsxs(F.Fragment,{children:[F.jsx("div",{children:v}),F.jsx("div",{children:g})]}),u=a.displayName??a.name,c=a.image!=null&&a.image!=="",m=u!=="";return F.jsxs("div",{className:"app-settings-menu",children:[F.jsxs("header",{className:"app-settings-menu-header",children:[F.jsxs("div",{className:"user-info",children:[F.jsxs("div",{className:"user-image",children:[!c&&F.jsx(re,{icon:yw,transform:"grow-8"}),c&&F.jsx("img",{src:a.image,alt:u})]}),F.jsxs("div",{className:"user-details",children:[m&&F.jsxs("div",{className:"user-name",children:[u,a.operateAs!=null&&a.name!==a.operateAs&&F.jsxs(F.Fragment,{children:[F.jsxs("span",{className:"font-weight-light font-italic",children:[" ","as"," "]}),F.jsxs("span",{className:"operating-as-user",children:[F.jsx(re,{icon:Tw,className:"mr-1"}),a.operateAs]})]})]}),a.permissions.canLogout&&F.jsx("button",{type:"button",className:"btn btn-link",onClick:this.handleLogout,children:"logout"})]})]}),F.jsx(j,{kind:"ghost",className:"btn-close-settings-menu",onClick:this.handleClose,icon:F.jsx(re,{icon:gs,transform:"grow-4"}),tooltip:"Close"})]}),F.jsxs("div",{className:"app-settings-menu-content",ref:this.menuContentRef,children:[F.jsx("h5",{children:"Settings"}),F.jsx("hr",{className:"my-0"}),F.jsx(as,{sectionKey:Nn.FORMATTING_SECTION_KEY,isExpanded:this.isSectionExpanded(Nn.FORMATTING_SECTION_KEY),title:F.jsxs(F.Fragment,{children:[F.jsx(re,{icon:Pw,transform:"grow-4",className:"mr-2"}),"Default Format & Time zone"]}),onToggle:this.handleSectionToggle,children:F.jsx(pH,{})}),F.jsx(as,{sectionKey:Nn.COLUMN_SPECIFIC_SECTION_KEY,isExpanded:this.isSectionExpanded(Nn.COLUMN_SPECIFIC_SECTION_KEY),title:F.jsxs(F.Fragment,{children:[F.jsx(re,{icon:Ow,transform:"grow-4",className:"mr-2"}),"Format by Column Name & Type"]}),onToggle:this.handleSectionToggle,children:F.jsx(_H,{scrollTo:this.handleScrollTo})}),F.jsx(as,{sectionKey:Nn.SHORTCUT_SECTION_KEY,isExpanded:this.isSectionExpanded(Nn.SHORTCUT_SECTION_KEY),title:F.jsxs(F.Fragment,{children:[F.jsx(re,{icon:Dw,transform:"grow-2"})," ","Keyboard Shortcuts"]}),onToggle:this.handleSectionToggle,children:F.jsx(TH,{})}),F.jsxs("div",{className:"app-settings-footer",children:[F.jsxs("div",{className:"app-settings-footer-section",children:[F.jsxs("div",{className:"app-settings-footer-item",children:[F.jsx("div",{className:"font-weight-bold",children:"Support"}),F.jsxs("div",{children:["GitHub: ",F.jsx("a",{href:t,className:"custom-link",target:"_blank",rel:"noopener noreferrer",children:t})]}),F.jsx(j,{kind:"tertiary",className:"mt-2 py-2",onClick:this.handleExportSupportLogs,children:"Export Logs"})]}),F.jsxs("div",{className:"app-settings-footer-item",children:[F.jsx("div",{className:"font-weight-bold",children:"Documentation"}),F.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:r,className:"custom-link",children:r})]}),F.jsxs("div",{className:"app-settings-footer-item",children:[F.jsx("div",{className:"font-weight-bold",children:"Version"}),F.jsxs("span",{className:"d-inline-block text-muted",children:[l," ",F.jsx(re,{icon:Rw}),F.jsxs(pt,{interactive:!0,children:[F.jsxs("div",{className:"detailed-server-config",children:[d("Engine Version",l),d("Web UI Version",e),d("Java Version",s),d("Barrage Version",o)]}),F.jsx(hd,{tooltip:"Copy version numbers",copy:`Engine Version: ${l}
41
41
  Web UI Version: ${e}
42
42
  Java Version: ${s}
43
- Barrage Version: ${o}`,children:"Copy Versions"})]})]})]}),F.jsx("div",{className:"app-settings-footer-item",children:F.jsx(CH,{})})]}),F.jsx("div",{className:"app-settings-footer-section",children:F.jsx("div",{className:"logo",children:F.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://deephaven.io",className:"d-inline-block custom-link p-1",children:F.jsx("img",{src:yb,alt:"Deephaven Data Labs",width:"230px"})})})})]})]})]})}}const Df=10;function Xa(n){const{forwardedProps:{menuItem:{action:e,title:t,disabled:r},iconElement:i,displayShortcut:a,isMouseSelected:o,isKeyboardSelected:s,closeMenu:l}}=n,d=w.useRef(),u=w.useRef(),c=w.useRef(null),[m,v]=w.useState(!1),g=w.useCallback(C=>{d.current!=null&&u.current!=null&&c.current&&(Math.abs(d.current-C.clientX)>=Df||Math.abs(u.current-C.clientY)>=Df)&&(v(!0),window.removeEventListener("mousemove",g),l(),e(C),c.current=null)},[e,l]);function f(C){d.current=C.clientX,u.current=C.clientY,c.current=C.target,window.addEventListener("mousemove",g)}function p(C){c.current===C.target&&(v(!0),l(),e(),window.removeEventListener("mousemove",g)),c.current=null}return w.useEffect(function(){return function(){return window.removeEventListener("mousemove",g)}},[g]),F.jsxs("button",{type:"button",className:te("btn-context-menu",{disabled:r},{active:o&&!r},{"keyboard-active":s&&!r}),onMouseDown:f,onMouseUp:p,disabled:m,children:[F.jsx("span",{className:te("icon"),children:i}),F.jsx("span",{className:"title",children:t}),F.jsx("span",{className:"shortcut",children:a})]})}function Mc(n){const{handleControlSelect:e,handleToolSelect:t,onClearFilter:r}=n,i=w.useMemo(()=>[{title:"Input Filter",icon:Nw,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.INPUT_FILTER,a)},order:10},{title:"Dropdown Filter",icon:Wf,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.DROPDOWN_FILTER,a)},order:15},{title:"Markdown Widget",icon:Fw,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.MARKDOWN,a)},order:20},{title:"Filter Sets",icon:Gu,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.FILTER_SET_MANAGER,a)},order:25},{disabled:!0,menuElement:F.jsx("div",{className:"context-menu-group-header",children:"Tools"}),order:30},{title:"Linker",icon:Bf,action:()=>{t(Sr.LINKER)},order:40,shortcut:ui.LINKER},{disabled:!0,menuElement:F.jsx("div",{className:"context-menu-group-header",children:"Actions"}),order:50},{title:"Clear All Filters",icon:Iw,action:()=>{r()},order:60,shortcut:Mr.TABLE.CLEAR_ALL_FILTERS}],[e,t,r]);return F.jsx(ai,{popperClassName:"controls-menu-popper",actions:i})}Mc.propTypes={handleControlSelect:q.func,handleToolSelect:q.func,onClearFilter:q.func};Mc.defaultProps={handleControlSelect:()=>{},handleToolSelect:()=>{},onClearFilter:()=>{}};Xa.propTypes={forwardedProps:q.shape({iconElement:q.node,displayShortcut:q.string,isMouseSelected:q.bool.isRequired,isKeyboardSelected:q.bool.isRequired,closeMenu:q.func.isRequired,menuItem:q.shape({action:q.func,title:q.string,disabled:q.bool}).isRequired})};Xa.defaultProps={forwardedProps:null};const MH=Xi(Eb,null),AH={layoutStorage:MH},LH=n=>n.layoutStorage,kH=n=>n.serverConfigValues;Object.entries(AH).map(([n,e])=>ws.register(n,e));const Rf=10;function xH(n){const{onExportLayout:e,onImportLayout:t,onResetLayout:r,onSelect:i,widgets:a=[]}=n,[o,s]=w.useState(!1),[l,d]=w.useState(""),u=w.useRef(null),c=w.useRef(),m=w.useCallback((E,y)=>{E!=null&&i(E,y)},[i]),v=w.useCallback(E=>{d(E.target.value)},[]),g=w.useCallback(E=>{c.current!=null&&(Math.abs(c.current.x-E.clientX)>=Rf||Math.abs(c.current.y-E.clientY)>=Rf)&&(s(!0),window.removeEventListener("mousemove",g),m(c.current.widget,E),c.current=void 0)},[c,m]),f=w.useCallback((E,y)=>{c.current={x:E.clientX,y:E.clientY,widget:y},window.addEventListener("mousemove",g)},[g]),p=w.useCallback((E,y)=>{window.removeEventListener("mousemove",g),c.current?.widget===y&&(s(!0),m(y)),c.current=void 0},[g,c,m]),C=w.useMemo(()=>a.filter(E=>l?E.name?.toLowerCase().includes(l.toLowerCase()):!0),[l,a]).sort((E,y)=>E.name?.localeCompare(y.name??"")??0),b=w.useMemo(()=>C.map(E=>F.jsx("li",{children:F.jsxs(j,{kind:"ghost","data-testid":`panel-list-item-${E.name??""}-button`,onMouseDown:y=>{f(y,E)},onMouseUp:y=>{p(y,E)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&m(E)},disabled:o,onClick:()=>{},children:[F.jsx(Jf,{type:E.type})," ",E.name??""]})},E.name)),[C,o,f,p,m]),S=w.useMemo(()=>b.length===0?F.jsx("span",{children:"No bound variables found."}):null,[b]);return F.jsxs("div",{className:"widget-list-container d-flex flex-column",children:[F.jsx("div",{className:"widget-list-header",children:F.jsx(go,{value:l,placeholder:"Find Table, Plot or Widget",onChange:v,ref:u})}),F.jsxs("ul",{className:"widget-list flex-grow-1",children:[S&&F.jsx("li",{className:"widget-list-message",children:S}),!S&&b]}),F.jsx("div",{children:F.jsx("hr",{})}),F.jsxs("div",{className:"widget-list-footer",children:[F.jsxs(j,{kind:"ghost",onClick:e,children:[F.jsxs("div",{className:"fa-md fa-layers",children:[F.jsx(re,{mask:Vu,icon:sm,transform:"right-5 down-5"}),F.jsx(re,{icon:sm,transform:"right-8 down-6"})]}),"Export Layout"]}),F.jsxs(j,{kind:"ghost",onClick:t,children:[F.jsxs("div",{className:"fa-md fa-layers",children:[F.jsx(re,{mask:Vu,icon:Wu,transform:"right-5 down-5"}),F.jsx(re,{icon:Wu,transform:"right-8 down-6"})]}),"Import Layout"]}),F.jsx(j,{kind:"ghost",icon:ma,onClick:r,tooltip:"Reset Layout"})]})]})}const HH=async(n,e,t,r)=>{let i,a,o,s;if(Tl(t)?(i=t.settings,a=t.table,o=void 0,s=t.tableSettings):(i={},a="",o=t.figure,s={}),r!==void 0&&(r.tableSettings!=null&&(s=r.tableSettings),r.table!=null&&(a=r.table),r.figure!=null&&(o=r.figure),r.settings!=null&&(i={...i,...r.settings})),o!==void 0){const u={title:o,name:o,type:n.VariableType.FIGURE},c=await e.getObject(u);return kl.makeModel(n,i,c)}const l={title:o,name:a,type:n.VariableType.TABLE},d=await e.getObject(l);return new ye(n).applyTableSettings(d,s,Ss(Yh.getState())),kl.makeModelFromSettings(n,i,d)},UH=async(n,e,t,r=n.VariableType.TABLE)=>{const{table:i}=t,a={title:i,name:i,type:r},o=await e.getObject(a);return vc.makeModel(n,o)};function $H({onAutoFillClick:n=()=>{}}){return F.jsxs("div",{className:"empty-dashboard-container",children:[F.jsxs("div",{className:"hint-container",children:[F.jsx(re,{icon:Gf})," ",F.jsx("br",{}),"Use the panel list to add objects from a query."]}),F.jsxs("div",{className:"empty-dashboard",children:[F.jsx("div",{className:"add-panels-hint",children:"Drag Panels Here"}),F.jsx(j,{kind:"tertiary",onClick:n,children:"Auto fill objects"})]})]})}function BH(n){return n.version===2}function VH(n){return Array.isArray(n)}const pl=ie.module("UserLayoutUtils"),GH={layoutConfig:[{type:"column",content:[{type:"row",height:40,content:[{type:"stack",content:[{type:"react-component",component:qa.COMPONENT,title:qa.TITLE,isClosable:!1},{type:"react-component",component:Jl.COMPONENT,title:Jl.TITLE,isClosable:!1}]},{type:"stack",width:25,content:[{type:"react-component",component:Xl.COMPONENT,title:Xl.TITLE,isClosable:!1},{type:"react-component",component:Ql.COMPONENT,title:Ql.TITLE,isClosable:!1}]}]},{type:"row",content:[{type:"stack",title:"Notebooks",content:[]}]}]}],links:[],filterSets:[],version:2},WH={layoutConfig:[],links:[],filterSets:[],version:2};function Fb(n){if(BH(n))return n;if(VH(n))return{layoutConfig:n,links:[],filterSets:[],version:2};throw new Error(`Unexpected layout import format: ${n}`)}async function jH(n,e=!0){try{const t=await n.getLayouts();if(t.length>0)try{const r=await n.getLayout(t[0]);return Fb(r)}catch(r){pl.error("Unable to load layout",t[0],":",r),pl.warn("No valid layouts found, falling back to default layout")}}catch(t){pl.error("Unable to fetch layout list",t),pl.warn("Falling back to default layout")}return e?GH:WH}function zH(n){const{filterSets:e,layoutConfig:t,links:r}=n;return{filterSets:e,layoutConfig:t,links:r,version:2}}const Dl={exportLayout:zH,getDefaultLayout:jH,normalizeLayout:Fb},Cl=ie.module("DownloadServiceWorkerUtils");class vs{static DOWNLOAD_PATH="/download/";static registerOnLoaded(){new URL("./",window.location.href).origin===window.location.origin&&("serviceWorker"in navigator?window.addEventListener("load",()=>{const t=new URL("./download/serviceWorker.js",window.location.href);navigator.serviceWorker.register(t).then(r=>{r.update(),Cl.info("Registering service worker on ",t,r)}).catch(r=>{Cl.error("Failed to register service worker",r)})}):Cl.info("Service worker is not supported."))}static async getServiceWorker(){if("serviceWorker"in navigator){const t=(await navigator.serviceWorker.getRegistrations()).find(r=>r.scope.endsWith(vs.DOWNLOAD_PATH));if(t&&t.active)return Cl.info("Download service worker is active."),t.active;throw new Error("Can not find download service worker.")}throw new Error("Download service worker is not available.")}static unregisterSW(){}}const St=ie.module("AppMainContainer");class Qa extends w.Component{static handleWindowBeforeUnload(e){e.preventDefault(),e.returnValue=""}static hydrateConsole(e,t){return th.hydrate({...e,unzip:r=>Lf.loadAsync(r).then(i=>Object.values(i.files))},t)}static handleRefresh(){St.info("Refreshing application"),window.location.reload()}constructor(e){super(e),this.handleSettingsMenuHide=this.handleSettingsMenuHide.bind(this),this.handleSettingsMenuShow=this.handleSettingsMenuShow.bind(this),this.handleError=this.handleError.bind(this),this.handleControlSelect=this.handleControlSelect.bind(this),this.handleToolSelect=this.handleToolSelect.bind(this),this.handleClearFilter=this.handleClearFilter.bind(this),this.handleDataChange=this.handleDataChange.bind(this),this.handleAutoFillClick=this.handleAutoFillClick.bind(this),this.handleGoldenLayoutChange=this.handleGoldenLayoutChange.bind(this),this.handleLayoutConfigChange=this.handleLayoutConfigChange.bind(this),this.handleExportLayoutClick=this.handleExportLayoutClick.bind(this),this.handleImportLayoutClick=this.handleImportLayoutClick.bind(this),this.handleImportLayoutFiles=this.handleImportLayoutFiles.bind(this),this.handleLoadTablePlugin=this.handleLoadTablePlugin.bind(this),this.handleResetLayoutClick=this.handleResetLayoutClick.bind(this),this.handleWidgetMenuClick=this.handleWidgetMenuClick.bind(this),this.handleWidgetsMenuClose=this.handleWidgetsMenuClose.bind(this),this.handleWidgetSelect=this.handleWidgetSelect.bind(this),this.handlePaste=this.handlePaste.bind(this),this.hydrateChart=this.hydrateChart.bind(this),this.hydrateGrid=this.hydrateGrid.bind(this),this.hydratePandas=this.hydratePandas.bind(this),this.hydrateDefault=this.hydrateDefault.bind(this),this.openNotebookFromURL=this.openNotebookFromURL.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleReconnectAuthFailed=this.handleReconnectAuthFailed.bind(this),this.importElement=h.createRef(),this.state={contextActions:[{action:()=>{this.handleToolSelect(Sr.LINKER)},shortcut:ui.LINKER,isGlobal:!0},{action:()=>{this.sendClearFilter()},shortcut:Mr.TABLE.CLEAR_ALL_FILTERS,isGlobal:!0},{action:()=>{St.debug("Consume unhandled save shortcut")},shortcut:ui.SAVE,isGlobal:!0}],isAuthFailed:!1,isDisconnected:!1,isPanelsMenuShown:!1,isSettingsMenuShown:!1,widgets:[]}}componentDidMount(){this.initWidgets(),this.startListeningForDisconnect(),window.addEventListener("beforeunload",Qa.handleWindowBeforeUnload)}componentDidUpdate(e){const{dashboardData:t}=this.props;e.dashboardData!==t&&this.handleDataChange(t)}componentWillUnmount(){this.deinitWidgets(),this.stopListeningForDisconnect(),window.removeEventListener("beforeunload",Qa.handleWindowBeforeUnload)}goldenLayout;importElement;widgetListenerRemover;initWidgets(){const{connection:e}=this.props;if(e.subscribeToFieldUpdates==null){St.warn("subscribeToFieldUpdates not supported, not initializing widgets");return}this.widgetListenerRemover=e.subscribeToFieldUpdates(t=>{St.debug("Got updates",t),this.setState(({widgets:r})=>{const{updated:i,created:a,removed:o}=t,s=[...i,...o],l=r.filter(u=>!s.some(c=>c.name===u.name));return[...i,...a].forEach(u=>{u.name!=null&&u.name!==""&&l.push(u)}),{widgets:l}})})}deinitWidgets(){this.widgetListenerRemover?.()}openNotebookFromURL(){const{match:e}=this.props,{notebookPath:t}=e.params;if(t){const{session:r,sessionConfig:i}=this.props;if(r==null||i==null){St.error("No session available to open notebook URL",t);return}const a={id:`/${t}`,itemName:`/${t}`},o=i.type,s={value:null,language:o};this.emitLayoutEvent(Ye.SELECT_NOTEBOOK,r,o,s,a,!0)}}sendClearFilter(){this.emitLayoutEvent(it.CLEAR_ALL_FILTERS)}emitLayoutEvent(e,...t){this.goldenLayout?.eventHub.emit(e,...t)}handleError(e){Te.isCanceled(e)||St.error(e)}handleSettingsMenuHide(){this.setState({isSettingsMenuShown:!1})}handleSettingsMenuShow(){this.setState({isSettingsMenuShown:!0})}handleControlSelect(e,t){switch(St.debug("handleControlSelect",e),e){case Vi.DROPDOWN_FILTER:this.emitLayoutEvent(it.OPEN_DROPDOWN,{title:"DropdownFilter",type:e,createNewStack:!0,dragEvent:t});break;case Vi.INPUT_FILTER:this.emitLayoutEvent(it.OPEN_INPUT,{title:"InputFilter",type:e,createNewStack:!0,dragEvent:t});break;case Vi.MARKDOWN:this.emitLayoutEvent(YC.OPEN,{title:"Markdown",type:e,dragEvent:t});break;case Vi.FILTER_SET_MANAGER:this.emitLayoutEvent(it.OPEN_FILTER_SET_MANAGER,{title:"FilterSets",type:e,dragEvent:t});break;default:throw new Error(`Unrecognized control type ${e}`)}}handleToolSelect(e){St.debug("handleToolSelect",e);const{activeTool:t,setActiveTool:r}=this.props;r(t===e?Sr.DEFAULT:e)}handleClearFilter(){this.sendClearFilter()}handleDataChange(e){const{updateWorkspaceData:t}=this.props,{closed:r,filterSets:i,links:a}=e;t({closed:r,filterSets:i,links:a})}handleGoldenLayoutChange(e){this.goldenLayout=e}handleLayoutConfigChange(e){const{updateWorkspaceData:t}=this.props;t({layoutConfig:e})}handleWidgetMenuClick(){this.setState(({isPanelsMenuShown:e})=>({isPanelsMenuShown:!e}))}handleWidgetSelect(e,t){this.setState({isPanelsMenuShown:!1}),St.debug("handleWidgetSelect",e,t),this.openWidget(e,t)}handleWidgetsMenuClose(){this.setState({isPanelsMenuShown:!1})}handleAutoFillClick(){const{widgets:e}=this.state;St.debug("handleAutoFillClick",e);const t=e.sort((r,i)=>r.title!=null&&i.title!=null?r.title.localeCompare(i.title):0);for(let r=0;r<t.length;r+=1)this.openWidget(t[r])}handleExportLayoutClick(){St.info("handleExportLayoutClick"),this.setState({isPanelsMenuShown:!1});try{const{workspace:e}=this.props,{data:t}=e,r=Dl.exportLayout(t);St.info("handleExportLayoutClick exportedConfig",r);const i=new Blob([JSON.stringify(r)],{type:"application/json"}),a=Rr.i18n.DateTimeFormat.format("yyyy-MM-dd-HHmmss",new Date),o=document.createElement("a");o.href=URL.createObjectURL(i),o.download=`deephaven-app-layout-${a}.json`,o.click()}catch(e){St.error("Unable to export layout",e)}}handleImportLayoutClick(){St.info("handleImportLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.importElement.current!=null&&(this.importElement.current.value="",this.importElement.current.click())}handleResetLayoutClick(){St.info("handleResetLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.resetLayout()}handleImportLayoutFiles(e){e.stopPropagation(),e.preventDefault(),e.target.files!=null&&this.importLayoutFile(e.target.files?.[0])}handleDisconnect(){St.info("Disconnected from server"),this.setState({isDisconnected:!0})}handleReconnect(){St.info("Reconnected to server"),this.setState({isDisconnected:!1})}handleReconnectAuthFailed(){St.warn("Reconnect authentication failed"),this.setState({isAuthFailed:!0})}async importLayoutFile(e){try{const{updateDashboardData:t,updateWorkspaceData:r}=this.props,i=await e.text(),a=JSON.parse(i),{filterSets:o,layoutConfig:s,links:l}=Dl.normalizeLayout(a);r({layoutConfig:s}),t(Sn,{filterSets:o,links:l})}catch(t){St.error("Unable to import layout",t)}}async resetLayout(){const{layoutStorage:e,session:t}=this.props,{filterSets:r,layoutConfig:i,links:a}=await Dl.getDefaultLayout(e,t!==void 0),{updateDashboardData:o,updateWorkspaceData:s}=this.props;s({layoutConfig:i}),o(Sn,{filterSets:r,links:a})}handlePaste(e){if(e.target instanceof HTMLElement&&e.target.closest(".monaco-editor"))return;const{clipboardData:t}=e,r=t.getData("Text"),i=/“|”/g;i.test(r)&&(e.preventDefault(),e.stopPropagation(),document.execCommand("insertText",!1,r.replace(i,'"')))}handleLoadTablePlugin(e){const{plugins:t}=this.props,r=t.get(e);if(r!=null&&r.TablePlugin!=null)return r.TablePlugin;const i=`Unable to find table plugin ${e}.`;return St.error(i),F.jsx("div",{className:"error-message",children:`${i}`})}startListeningForDisconnect(){const{connection:e}=this.props;e.addEventListener(Rr.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(Rr.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.addEventListener(Rr.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}stopListeningForDisconnect(){const{connection:e}=this.props;e.removeEventListener(Rr.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(Rr.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.removeEventListener(Rr.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}hydrateDefault(e,t){const{connection:r}=this.props,{metadata:i}=e;if(i?.type!=null&&(i?.id!=null||i?.name!=null)){const a=i.id!=null?{type:i.type,id:i.id}:{type:i.type,name:i.name,title:i.name};return{fetch:()=>r.getObject(a),localDashboardId:t,...e}}return th.hydrate(e,t)}hydrateGrid(e,t){return this.hydrateTable(e,t,e.metadata.type??Rr.VariableType.TABLE)}hydratePandas(e,t){return this.hydrateTable(e,t,Rr.VariableType.PANDAS)}hydrateTable(e,t,r=Rr.VariableType.TABLE){const{connection:i}=this.props;return{...e,getDownloadWorker:vs.getServiceWorker,loadPlugin:this.handleLoadTablePlugin,localDashboardId:t,makeModel:()=>UH(Rr,i,e.metadata,r)}}hydrateChart(e,t){const{connection:r}=this.props;return{...e,localDashboardId:t,makeModel:()=>{const{metadata:i,panelState:a}=e;return HH(Rr,r,i,a)}}}openWidget(e,t){const{connection:r}=this.props;this.emitLayoutEvent(Ee.OPEN,{dragEvent:t,fetch:()=>r.getObject(e),widget:e})}getDashboardPlugins=fe(e=>[...e.entries()].filter(([,t])=>t.DashboardPlugin!=null).map(([t,{DashboardPlugin:r}])=>F.jsx(r,{},t)));render(){const{activeTool:e,plugins:t,user:r,workspace:i,serverConfigValues:a}=this.props,{data:o}=i,{layoutConfig:s}=o,{permissions:l}=r,{canUsePanels:d}=l,{contextActions:u,isAuthFailed:c,isDisconnected:m,isPanelsMenuShown:v,isSettingsMenuShown:g,widgets:f}=this.state,p=this.getDashboardPlugins(t);return F.jsxs("div",{className:te("app-main-tabs","w-100","h-100","d-flex","flex-column",e?`active-tool-${e.toLowerCase()}`:""),onPaste:this.handlePaste,tabIndex:-1,children:[F.jsx("nav",{className:"nav-container",children:F.jsxs("div",{className:"app-main-top-nav-menus",children:[F.jsx("img",{src:yb,alt:"Deephaven Data Labs",width:"115px",className:"ml-1"}),F.jsxs("div",{children:[F.jsxs(j,{kind:"ghost",className:"btn-panels-menu",icon:_w,onClick:()=>{},children:["Controls",F.jsx(Mc,{handleControlSelect:this.handleControlSelect,handleToolSelect:this.handleToolSelect,onClearFilter:this.handleClearFilter})]}),d&&F.jsxs(j,{kind:"ghost",className:"btn-panels-menu btn-show-panels","data-testid":"app-main-panels-button",onClick:this.handleWidgetMenuClick,icon:Mw,children:["Panels",F.jsx(md,{isShown:v,className:"panels-menu-popper",onExited:this.handleWidgetsMenuClose,options:{placement:"bottom"},closeOnBlur:!0,interactive:!0,children:F.jsx(xH,{widgets:f,onExportLayout:this.handleExportLayoutClick,onImportLayout:this.handleImportLayoutClick,onResetLayout:this.handleResetLayoutClick,onSelect:this.handleWidgetSelect})})]}),F.jsx(j,{kind:"ghost",className:te("btn-settings-menu",{"text-warning":r.operateAs!=null&&r.operateAs!==r.name}),onClick:this.handleSettingsMenuShow,icon:F.jsxs("span",{className:"fa-layers",children:[F.jsx(re,{icon:fs,transform:"grow-3 right-1 down-1"}),m&&!c&&F.jsxs(F.Fragment,{children:[F.jsx(re,{icon:os,color:et.background,transform:"grow-2 right-8 down-8.5 rotate-45"}),F.jsx(re,{icon:lm,color:et.danger,transform:"shrink-5 right-6 down-6"})]})]}),tooltip:m&&!c?"Server disconnected":"User Settings"})]})]})}),F.jsxs(fD,{emptyDashboard:F.jsx($H,{onAutoFillClick:this.handleAutoFillClick}),id:Sn,layoutConfig:s,onGoldenLayoutChange:this.handleGoldenLayoutChange,onLayoutConfigChange:this.handleLayoutConfigChange,onLayoutInitialized:this.openNotebookFromURL,hydrate:this.hydrateDefault,children:[F.jsx(Cx,{hydrate:this.hydrateGrid,getDownloadWorker:vs.getServiceWorker,loadPlugin:this.handleLoadTablePlugin}),F.jsx(ux,{hydrate:this.hydrateChart}),F.jsx(hx,{}),F.jsx(fx,{hydrateConsole:Qa.hydrateConsole,notebooksUrl:new URL("notebooks/",document.baseURI).href}),F.jsx(px,{}),F.jsx(Ux,{hydrate:this.hydratePandas}),F.jsx(Hx,{}),F.jsx(Lx,{}),p]}),F.jsx(kr,{in:g,timeout:et.transitionMidMs,classNames:"slide-left",mountOnEnter:!0,unmountOnExit:!0,children:F.jsx(Nn,{serverConfigValues:a,onDone:this.handleSettingsMenuHide,user:r})}),F.jsx(le,{actions:u}),F.jsx("input",{ref:this.importElement,type:"file",accept:".json",style:{display:"none"},onChange:this.handleImportLayoutFiles}),F.jsx(zw,{isOpen:m&&!c,debounceMs:1e3,children:F.jsx(Kw,{icon:lm,title:F.jsxs(F.Fragment,{children:[F.jsx(Hn,{})," Attempting to reconnect..."]}),subtitle:"Please check your network connection."})}),F.jsx(ss,{confirmButtonText:"Refresh",onConfirm:Qa.handleRefresh,isOpen:c,headerText:"Authentication failed",bodyText:"Credentials are invalid. Please refresh your browser to try and reconnect."})]})}}const KH=n=>({activeTool:wd(n),dashboardData:Er(n,Sn),layoutStorage:LH(n),plugins:cT(n),connection:a1(n,Sn),session:Ta(n,Sn)?.session,sessionConfig:Ta(n,Sn)?.config,user:pp(n),workspace:Sd(n),serverConfigValues:kH(n)}),YH=$t(KH,{setActiveTool:yd,updateDashboardData:Un,updateWorkspaceData:xp})(bS(Qa));function qH(){return F.jsxs("div",{className:"app",children:[F.jsx(YH,{}),F.jsx(Xf,{})]})}const XH=ie.module("LocalWorkspaceStorage");class Za{static STORAGE_KEY="deephaven.WorkspaceStorage";static async makeDefaultWorkspaceData(e,t){const{filterSets:r,links:i,layoutConfig:a}=await Dl.getDefaultLayout(e,t?.isConsoleAvailable);return{settings:{defaultDateTimeFormat:Tt.DEFAULT_DATETIME_FORMAT_STRING,formatter:[],timeZone:Tt.DEFAULT_TIME_ZONE_ID,showTimeZone:!1,showTSeparator:!0,disableMoveConfirmation:!1,defaultDecimalFormatOptions:{defaultFormatString:tt.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:yt.DEFAULT_FORMAT_STRING},truncateNumbersWithPound:!1,defaultNotebookSettings:{isMinimapEnabled:!1}},layoutConfig:a,closed:[{}],links:i,filterSets:r}}static async makeDefaultWorkspace(e,t){return{data:await Za.makeDefaultWorkspaceData(e,t)}}layoutStorage;constructor(e){this.layoutStorage=e}async load(e){try{return JSON.parse(localStorage.getItem(Za.STORAGE_KEY)??"")}catch{return XH.info("Unable to load workspace data, initializing to default data"),Za.makeDefaultWorkspace(this.layoutStorage,e)}}async save(e){return localStorage.setItem(Za.STORAGE_KEY,JSON.stringify(e)),e}}class QH{storageService;root;constructor(e,t=""){this.storageService=e,this.root=t}async getLayouts(){return(await this.storageService.listItems(this.root,"*.json")).map(t=>t.basename)}async getLayout(e){const r=await(await this.storageService.loadFile(`${this.root}/${e}`)).text();return JSON.parse(r)}}const Go=ie.module("GrpcFileStorageTable");class rd{static REFRESH_DEBOUNCE=50;storageService;baseRoot;root;currentSize=0;currentViewport;listeners=[];viewportUpdatePromise;currentViewportData;childTables=new Map;constructor(e,t="",r=t){this.storageService=e,this.baseRoot=t,this.root=r,r===t&&(this.doRefresh=rt(this.doRefresh.bind(this),rd.REFRESH_DEBOUNCE))}removeBaseRoot(e){return be.removeRoot(this.baseRoot,e)}getViewportData(){return this.viewportUpdatePromise||this.refreshInternal(),this.viewportUpdatePromise??Promise.resolve({items:[],offset:0})}getSnapshot(e){throw new Error("Method not implemented.")}get size(){return this.currentSize}setExpanded(e,t){const r=e.split("/");let i=r.shift();if((i===void 0||i==="")&&(i=r.shift()),i===void 0||i==="")throw new Error(`Invalid path: ${e}`);const a=r.join("/");if(t){if(!this.childTables.has(i)){const o=new rd(this.storageService,this.baseRoot,`${this.root}/${i}`);this.childTables.set(i,o)}a&&this.childTables.get(i)?.setExpanded(a,t)}else this.childTables.has(i)&&(a?this.childTables.get(i)?.setExpanded(a,t):this.childTables.delete(i));this.currentViewport&&this.refreshInternal()}collapseAll(){this.childTables.clear(),this.currentViewport&&this.refreshInternal()}setSearch(e){throw new Error("Method not implemented.")}setViewport(e){this.currentViewport=e,this.refreshInternal()}setFilters(){throw new Error("Method not implemented.")}setSorts(){throw new Error("Method not implemented.")}setReversed(){throw new Error("Method not implemented.")}close(){this.listeners=[]}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}doRefresh(e){Go.debug2("doRefresh",this.root),e(this.fetchData())}refresh(){Go.debug2("refresh",this.root),this.viewportUpdatePromise?.cancel();const e=new Promise(r=>{this.doRefresh(r)}),t=Te.makeCancelable(e.then(r=>{if(this.viewportUpdatePromise!==t)throw new ud;return this.currentViewportData=r,this.sendUpdate(),r}));t.catch(r=>{Te.isCanceled(r)||Go.error("Error updating viewport",r)}),this.viewportUpdatePromise=t}refreshInternal(){try{this.refresh()}catch(e){Te.isCanceled(e)||Go.error("Unable to refresh data",e)}}async fetchData(){const{currentViewport:e}=this;if(!e)throw new Error("No viewport set");let r=(await this.storageService.listItems(this.root)).map(i=>({type:i.type,filename:this.removeBaseRoot(i.filename),basename:i.basename,id:this.removeBaseRoot(i.filename),isExpanded:i.type==="directory"?this.childTables.has(i.basename):void 0})).sort((i,a)=>i.type!==a.type?i.type==="directory"?-1:1:i.basename.localeCompare(a.basename));for(let i=0;i<r.length;i+=1){const a=r[i],{basename:o,filename:s}=a;if(s===this.removeBaseRoot(`${this.root}/${o}`)&&a.type==="directory"){const l=this.childTables.get(o);if(l!=null){l.setViewport({top:0,bottom:e.bottom-i});const d=await l.getViewportData();r.splice(i+1,0,...d.items)}}}return this.currentSize=r.length,Go.debug2(this.root,"items",r,e),r=r.slice(e.top,e.bottom),{items:r,offset:e.top}}sendUpdate(){const{listeners:e}=this,t=this.currentViewportData??{items:[],offset:0};for(let r=0;r<e.length;r+=1)e[r](t)}}const ZH=ie.module("GrpcFileStorage");class Ac{static REFRESH_THROTTLE=150;storageService;tables=[];root;constructor(e,t=""){this.storageService=e,this.root=t}removeRoot(e){return be.removeRoot(this.root,e)}addRoot(e){return be.addRoot(this.root,e)}async createDirectory(e){return await this.storageService.createDirectory(this.addRoot(e)),this.refreshTables(),{type:"directory",id:e,filename:e,basename:be.getBaseName(e)}}async getTable(){const e=new rd(this.storageService,this.root);return this.tables.push(e),e}async saveFile(e){const t=dh.storage.FileContents.text(e.content);return await this.storageService.saveFile(this.addRoot(e.filename),t,!0),this.refreshTables(),e}async loadFile(e){const r=await(await this.storageService.loadFile(this.addRoot(e))).text();return{filename:e,basename:be.getBaseName(e),content:r}}async deleteFile(e){await this.storageService.deleteItem(this.addRoot(e)),this.refreshTables()}async moveFile(e,t){await this.storageService.moveItem(this.addRoot(e),this.addRoot(t)),this.refreshTables()}async info(e){const t=await this.storageService.listItems(this.addRoot(be.getPath(e)),be.getBaseName(e));if(t.length===0)throw new Tc;if(t.length>1)throw ZH.error("More than one matching file found, should never happen.",t),new Error("More than one matching file found");const r=t[0];return{filename:this.removeRoot(r.filename),basename:r.basename,id:this.removeRoot(r.filename),type:r.type}}refreshTables=zi(()=>{this.tables.forEach(e=>e.refresh())},Ac.REFRESH_THROTTLE)}const JH=ie.module("AppInit");function Lc(n){const{workspace:e,setActiveTool:t,setApi:r,setCommandHistoryStorage:i,setDashboardData:a,setFileStorage:o,setLayoutStorage:s,setDashboardConnection:l,setDashboardSessionWrapper:d,setPlugins:u,setUser:c,setWorkspace:m,setWorkspaceStorage:v,setServerConfigValues:g}=n,f=Pa(),p=Yw(),C=qw(),b=Xw(),S=Qw(),E=Zw(),[y,T]=w.useState();w.useEffect(function(){u(b)},[b,u]),w.useEffect(function(){async function _(){try{const M=await Jw(),A=await eE(f,C,M),B=p.getStorageService(),$=new QH(B,"/layouts"),z=new Ac(B,"/notebooks"),G=new Za($),K=new lH,X=await G.load({isConsoleAvailable:A!==void 0}),{data:J}=X,{settings:I}=J;I.defaultDecimalFormatOptions===void 0&&(I.defaultDecimalFormatOptions={defaultFormatString:tt.DEFAULT_FORMAT_STRING}),I.defaultIntegerFormatOptions===void 0&&(I.defaultIntegerFormatOptions={defaultFormatString:yt.DEFAULT_FORMAT_STRING}),I.truncateNumbersWithPound===void 0&&(I.truncateNumbersWithPound=!1);const{shortcutOverrides:N={}}=I,x=hn.isMacPlatform?N.mac??{}:N.windows??{};Object.entries(x).forEach(([W,ee])=>{qe.get(W)?.setKeyState(ee)});const Y={filterSets:J.filterSets,links:J.links};r(f),t(Sr.DEFAULT),g(S),i(K),a(Sn,Y),o(z),s($),l(Sn,C),A!==void 0&&d(Sn,A),c(E),v(G),m(X)}catch(M){JH.error(M),T(M)}}_()},[f,p,C,S,t,r,i,a,o,s,l,d,c,m,v,g,E]);const O=e==null&&y==null,D=!O&&y==null,P=y!=null?`${y}`:null;return F.jsxs(F.Fragment,{children:[D&&F.jsx(qH,{}),F.jsx(id,{isLoading:O&&P==null,isLoaded:D,errorMessage:P})]})}Lc.propTypes={workspace:q.shape({}),workspaceStorage:q.shape({close:q.func}),setActiveTool:q.func.isRequired,setApi:q.func.isRequired,setCommandHistoryStorage:q.func.isRequired,setDashboardData:q.func.isRequired,setFileStorage:q.func.isRequired,setLayoutStorage:q.func.isRequired,setDashboardConnection:q.func.isRequired,setDashboardSessionWrapper:q.func.isRequired,setPlugins:q.func.isRequired,setUser:q.func.isRequired,setWorkspace:q.func.isRequired,setWorkspaceStorage:q.func.isRequired};Lc.defaultProps={workspace:null,workspaceStorage:null};const eU=n=>({workspace:Sd(n),workspaceStorage:dT(n)}),Nf=$t(eU,{setActiveTool:yd,setApi:pT,setCommandHistoryStorage:bT,setDashboardData:lC,setFileStorage:ST,setLayoutStorage:dH,setDashboardConnection:o1,setDashboardSessionWrapper:s1,setPlugins:ET,setUser:fT,setWorkspace:kp,setWorkspaceStorage:CT,setServerConfigValues:yT})(Lc),tU=document.location.pathname;function rU(){return F.jsx(SS,{basename:tU,children:F.jsxs(wS,{children:[F.jsx(em,{exact:!0,path:"/",component:Nf}),F.jsx(em,{path:"/notebooks/:notebookPath+",component:Nf}),F.jsx(ES,{from:"*",to:"/"})]})})}function uU(){return vs.registerOnLoaded(),Cr.init({getWorker:()=>new PS}),window["__react-beautiful-dnd-disable-dev-warnings"]=!0,F.jsx(yS,{store:Yh,children:F.jsx(rU,{})})}export{uU as AppRoot,uU as default};
44
- //# sourceMappingURL=AppRoot-3f29ebcb.js.map
43
+ Barrage Version: ${o}`,children:"Copy Versions"})]})]})]}),F.jsx("div",{className:"app-settings-footer-item",children:F.jsx(CH,{})})]}),F.jsx("div",{className:"app-settings-footer-section",children:F.jsx("div",{className:"logo",children:F.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://deephaven.io",className:"d-inline-block custom-link p-1",children:F.jsx("img",{src:yb,alt:"Deephaven Data Labs",width:"230px"})})})})]})]})]})}}const Df=10;function Xa(n){const{forwardedProps:{menuItem:{action:e,title:t,disabled:r},iconElement:i,displayShortcut:a,isMouseSelected:o,isKeyboardSelected:s,closeMenu:l}}=n,d=w.useRef(),u=w.useRef(),c=w.useRef(null),[m,v]=w.useState(!1),g=w.useCallback(C=>{d.current!=null&&u.current!=null&&c.current&&(Math.abs(d.current-C.clientX)>=Df||Math.abs(u.current-C.clientY)>=Df)&&(v(!0),window.removeEventListener("mousemove",g),l(),e(C),c.current=null)},[e,l]);function f(C){d.current=C.clientX,u.current=C.clientY,c.current=C.target,window.addEventListener("mousemove",g)}function p(C){c.current===C.target&&(v(!0),l(),e(),window.removeEventListener("mousemove",g)),c.current=null}return w.useEffect(function(){return function(){return window.removeEventListener("mousemove",g)}},[g]),F.jsxs("button",{type:"button",className:te("btn-context-menu",{disabled:r},{active:o&&!r},{"keyboard-active":s&&!r}),onMouseDown:f,onMouseUp:p,disabled:m,children:[F.jsx("span",{className:te("icon"),children:i}),F.jsx("span",{className:"title",children:t}),F.jsx("span",{className:"shortcut",children:a})]})}function Mc(n){const{handleControlSelect:e,handleToolSelect:t,onClearFilter:r}=n,i=w.useMemo(()=>[{title:"Input Filter",icon:Nw,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.INPUT_FILTER,a)},order:10},{title:"Dropdown Filter",icon:Wf,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.DROPDOWN_FILTER,a)},order:15},{title:"Markdown Widget",icon:Fw,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.MARKDOWN,a)},order:20},{title:"Filter Sets",icon:Gu,menuElement:F.jsx(Xa,{}),action:a=>{e(Vi.FILTER_SET_MANAGER,a)},order:25},{disabled:!0,menuElement:F.jsx("div",{className:"context-menu-group-header",children:"Tools"}),order:30},{title:"Linker",icon:Bf,action:()=>{t(Sr.LINKER)},order:40,shortcut:ui.LINKER},{disabled:!0,menuElement:F.jsx("div",{className:"context-menu-group-header",children:"Actions"}),order:50},{title:"Clear All Filters",icon:Iw,action:()=>{r()},order:60,shortcut:Mr.TABLE.CLEAR_ALL_FILTERS}],[e,t,r]);return F.jsx(ai,{popperClassName:"controls-menu-popper",actions:i})}Mc.propTypes={handleControlSelect:q.func,handleToolSelect:q.func,onClearFilter:q.func};Mc.defaultProps={handleControlSelect:()=>{},handleToolSelect:()=>{},onClearFilter:()=>{}};Xa.propTypes={forwardedProps:q.shape({iconElement:q.node,displayShortcut:q.string,isMouseSelected:q.bool.isRequired,isKeyboardSelected:q.bool.isRequired,closeMenu:q.func.isRequired,menuItem:q.shape({action:q.func,title:q.string,disabled:q.bool}).isRequired})};Xa.defaultProps={forwardedProps:null};const MH=Xi(Eb,null),AH={layoutStorage:MH},LH=n=>n.layoutStorage,kH=n=>n.serverConfigValues;Object.entries(AH).map(([n,e])=>ws.register(n,e));const Rf=10;function xH(n){const{onExportLayout:e,onImportLayout:t,onResetLayout:r,onSelect:i,widgets:a=[]}=n,[o,s]=w.useState(!1),[l,d]=w.useState(""),u=w.useRef(null),c=w.useRef(),m=w.useCallback((E,y)=>{E!=null&&i(E,y)},[i]),v=w.useCallback(E=>{d(E.target.value)},[]),g=w.useCallback(E=>{c.current!=null&&(Math.abs(c.current.x-E.clientX)>=Rf||Math.abs(c.current.y-E.clientY)>=Rf)&&(s(!0),window.removeEventListener("mousemove",g),m(c.current.widget,E),c.current=void 0)},[c,m]),f=w.useCallback((E,y)=>{c.current={x:E.clientX,y:E.clientY,widget:y},window.addEventListener("mousemove",g)},[g]),p=w.useCallback((E,y)=>{window.removeEventListener("mousemove",g),c.current?.widget===y&&(s(!0),m(y)),c.current=void 0},[g,c,m]),C=w.useMemo(()=>a.filter(E=>l?E.name?.toLowerCase().includes(l.toLowerCase()):!0),[l,a]).sort((E,y)=>E.name?.localeCompare(y.name??"")??0),b=w.useMemo(()=>C.map(E=>F.jsx("li",{children:F.jsxs(j,{kind:"ghost","data-testid":`panel-list-item-${E.name??""}-button`,onMouseDown:y=>{f(y,E)},onMouseUp:y=>{p(y,E)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&m(E)},disabled:o,onClick:()=>{},children:[F.jsx(Jf,{type:E.type})," ",E.name??""]})},E.name)),[C,o,f,p,m]),S=w.useMemo(()=>b.length===0?F.jsx("span",{children:"No bound variables found."}):null,[b]);return F.jsxs("div",{className:"widget-list-container d-flex flex-column",children:[F.jsx("div",{className:"widget-list-header",children:F.jsx(go,{value:l,placeholder:"Find Table, Plot or Widget",onChange:v,ref:u})}),F.jsxs("ul",{className:"widget-list flex-grow-1",children:[S&&F.jsx("li",{className:"widget-list-message",children:S}),!S&&b]}),F.jsx("div",{children:F.jsx("hr",{})}),F.jsxs("div",{className:"widget-list-footer",children:[F.jsxs(j,{kind:"ghost",onClick:e,children:[F.jsxs("div",{className:"fa-md fa-layers",children:[F.jsx(re,{mask:Vu,icon:sm,transform:"right-5 down-5"}),F.jsx(re,{icon:sm,transform:"right-8 down-6"})]}),"Export Layout"]}),F.jsxs(j,{kind:"ghost",onClick:t,children:[F.jsxs("div",{className:"fa-md fa-layers",children:[F.jsx(re,{mask:Vu,icon:Wu,transform:"right-5 down-5"}),F.jsx(re,{icon:Wu,transform:"right-8 down-6"})]}),"Import Layout"]}),F.jsx(j,{kind:"ghost",icon:ma,onClick:r,tooltip:"Reset Layout"})]})]})}const HH=async(n,e,t,r)=>{let i,a,o,s;if(Tl(t)?(i=t.settings,a=t.table,o=void 0,s=t.tableSettings):(i={},a="",o=t.figure,s={}),r!==void 0&&(r.tableSettings!=null&&(s=r.tableSettings),r.table!=null&&(a=r.table),r.figure!=null&&(o=r.figure),r.settings!=null&&(i={...i,...r.settings})),o!==void 0){const u={title:o,name:o,type:n.VariableType.FIGURE},c=await e.getObject(u);return kl.makeModel(n,i,c)}const l={title:o,name:a,type:n.VariableType.TABLE},d=await e.getObject(l);return new ye(n).applyTableSettings(d,s,Ss(Yh.getState())),kl.makeModelFromSettings(n,i,d)},UH=async(n,e,t,r=n.VariableType.TABLE)=>{const{table:i}=t,a={title:i,name:i,type:r},o=await e.getObject(a);return vc.makeModel(n,o)};function $H({onAutoFillClick:n=()=>{}}){return F.jsxs("div",{className:"empty-dashboard-container",children:[F.jsxs("div",{className:"hint-container",children:[F.jsx(re,{icon:Gf})," ",F.jsx("br",{}),"Use the panel list to add objects from a query."]}),F.jsxs("div",{className:"empty-dashboard",children:[F.jsx("div",{className:"add-panels-hint",children:"Drag Panels Here"}),F.jsx(j,{kind:"tertiary",onClick:n,children:"Auto fill objects"})]})]})}function BH(n){return n.version===2}function VH(n){return Array.isArray(n)}const pl=ie.module("UserLayoutUtils"),GH={layoutConfig:[{type:"column",content:[{type:"row",height:40,content:[{type:"stack",content:[{type:"react-component",component:qa.COMPONENT,title:qa.TITLE,isClosable:!1},{type:"react-component",component:Jl.COMPONENT,title:Jl.TITLE,isClosable:!1}]},{type:"stack",width:25,content:[{type:"react-component",component:Xl.COMPONENT,title:Xl.TITLE,isClosable:!1},{type:"react-component",component:Ql.COMPONENT,title:Ql.TITLE,isClosable:!1}]}]},{type:"row",content:[{type:"stack",title:"Notebooks",content:[]}]}]}],links:[],filterSets:[],version:2},WH={layoutConfig:[],links:[],filterSets:[],version:2};function Fb(n){if(BH(n))return n;if(VH(n))return{layoutConfig:n,links:[],filterSets:[],version:2};throw new Error(`Unexpected layout import format: ${n}`)}async function jH(n,e=!0){try{const t=await n.getLayouts();if(t.length>0)try{const r=await n.getLayout(t[0]);return Fb(r)}catch(r){pl.error("Unable to load layout",t[0],":",r),pl.warn("No valid layouts found, falling back to default layout")}}catch(t){pl.error("Unable to fetch layout list",t),pl.warn("Falling back to default layout")}return e?GH:WH}function zH(n){const{filterSets:e,layoutConfig:t,links:r}=n;return{filterSets:e,layoutConfig:t,links:r,version:2}}const Dl={exportLayout:zH,getDefaultLayout:jH,normalizeLayout:Fb},Cl=ie.module("DownloadServiceWorkerUtils");class vs{static DOWNLOAD_PATH="/download/";static registerOnLoaded(){new URL("./",window.location.href).origin===window.location.origin&&("serviceWorker"in navigator?window.addEventListener("load",()=>{const t=new URL("./download/serviceWorker.js",window.location.href);navigator.serviceWorker.register(t).then(r=>{r.update(),Cl.info("Registering service worker on ",t,r)}).catch(r=>{Cl.error("Failed to register service worker",r)})}):Cl.info("Service worker is not supported."))}static async getServiceWorker(){if("serviceWorker"in navigator){const t=(await navigator.serviceWorker.getRegistrations()).find(r=>r.scope.endsWith(vs.DOWNLOAD_PATH));if(t&&t.active)return Cl.info("Download service worker is active."),t.active;throw new Error("Can not find download service worker.")}throw new Error("Download service worker is not available.")}static unregisterSW(){}}const St=ie.module("AppMainContainer");class Qa extends w.Component{static handleWindowBeforeUnload(e){e.preventDefault(),e.returnValue=""}static hydrateConsole(e,t){return th.hydrate({...e,unzip:r=>Lf.loadAsync(r).then(i=>Object.values(i.files))},t)}static handleRefresh(){St.info("Refreshing application"),window.location.reload()}constructor(e){super(e),this.handleSettingsMenuHide=this.handleSettingsMenuHide.bind(this),this.handleSettingsMenuShow=this.handleSettingsMenuShow.bind(this),this.handleError=this.handleError.bind(this),this.handleControlSelect=this.handleControlSelect.bind(this),this.handleToolSelect=this.handleToolSelect.bind(this),this.handleClearFilter=this.handleClearFilter.bind(this),this.handleDataChange=this.handleDataChange.bind(this),this.handleAutoFillClick=this.handleAutoFillClick.bind(this),this.handleGoldenLayoutChange=this.handleGoldenLayoutChange.bind(this),this.handleLayoutConfigChange=this.handleLayoutConfigChange.bind(this),this.handleExportLayoutClick=this.handleExportLayoutClick.bind(this),this.handleImportLayoutClick=this.handleImportLayoutClick.bind(this),this.handleImportLayoutFiles=this.handleImportLayoutFiles.bind(this),this.handleLoadTablePlugin=this.handleLoadTablePlugin.bind(this),this.handleResetLayoutClick=this.handleResetLayoutClick.bind(this),this.handleWidgetMenuClick=this.handleWidgetMenuClick.bind(this),this.handleWidgetsMenuClose=this.handleWidgetsMenuClose.bind(this),this.handleWidgetSelect=this.handleWidgetSelect.bind(this),this.handlePaste=this.handlePaste.bind(this),this.hydrateChart=this.hydrateChart.bind(this),this.hydrateGrid=this.hydrateGrid.bind(this),this.hydratePandas=this.hydratePandas.bind(this),this.hydrateDefault=this.hydrateDefault.bind(this),this.openNotebookFromURL=this.openNotebookFromURL.bind(this),this.handleDisconnect=this.handleDisconnect.bind(this),this.handleReconnect=this.handleReconnect.bind(this),this.handleReconnectAuthFailed=this.handleReconnectAuthFailed.bind(this),this.importElement=h.createRef(),this.state={contextActions:[{action:()=>{this.handleToolSelect(Sr.LINKER)},shortcut:ui.LINKER,isGlobal:!0},{action:()=>{this.sendClearFilter()},shortcut:Mr.TABLE.CLEAR_ALL_FILTERS,isGlobal:!0},{action:()=>{St.debug("Consume unhandled save shortcut")},shortcut:ui.SAVE,isGlobal:!0}],isAuthFailed:!1,isDisconnected:!1,isPanelsMenuShown:!1,isSettingsMenuShown:!1,widgets:[]}}componentDidMount(){this.initWidgets(),this.startListeningForDisconnect(),window.addEventListener("beforeunload",Qa.handleWindowBeforeUnload)}componentDidUpdate(e){const{dashboardData:t}=this.props;e.dashboardData!==t&&this.handleDataChange(t)}componentWillUnmount(){this.deinitWidgets(),this.stopListeningForDisconnect(),window.removeEventListener("beforeunload",Qa.handleWindowBeforeUnload)}goldenLayout;importElement;widgetListenerRemover;initWidgets(){const{connection:e}=this.props;if(e.subscribeToFieldUpdates==null){St.warn("subscribeToFieldUpdates not supported, not initializing widgets");return}this.widgetListenerRemover=e.subscribeToFieldUpdates(t=>{St.debug("Got updates",t),this.setState(({widgets:r})=>{const{updated:i,created:a,removed:o}=t,s=[...i,...o],l=r.filter(u=>!s.some(c=>c.name===u.name));return[...i,...a].forEach(u=>{u.name!=null&&u.name!==""&&l.push(u)}),{widgets:l}})})}deinitWidgets(){this.widgetListenerRemover?.()}openNotebookFromURL(){const{match:e}=this.props,{notebookPath:t}=e.params;if(t){const{session:r,sessionConfig:i}=this.props;if(r==null||i==null){St.error("No session available to open notebook URL",t);return}const a={id:`/${t}`,itemName:`/${t}`},o=i.type,s={value:null,language:o};this.emitLayoutEvent(Ye.SELECT_NOTEBOOK,r,o,s,a,!0)}}sendClearFilter(){this.emitLayoutEvent(it.CLEAR_ALL_FILTERS)}emitLayoutEvent(e,...t){this.goldenLayout?.eventHub.emit(e,...t)}handleError(e){Te.isCanceled(e)||St.error(e)}handleSettingsMenuHide(){this.setState({isSettingsMenuShown:!1})}handleSettingsMenuShow(){this.setState({isSettingsMenuShown:!0})}handleControlSelect(e,t){switch(St.debug("handleControlSelect",e),e){case Vi.DROPDOWN_FILTER:this.emitLayoutEvent(it.OPEN_DROPDOWN,{title:"DropdownFilter",type:e,createNewStack:!0,dragEvent:t});break;case Vi.INPUT_FILTER:this.emitLayoutEvent(it.OPEN_INPUT,{title:"InputFilter",type:e,createNewStack:!0,dragEvent:t});break;case Vi.MARKDOWN:this.emitLayoutEvent(YC.OPEN,{title:"Markdown",type:e,dragEvent:t});break;case Vi.FILTER_SET_MANAGER:this.emitLayoutEvent(it.OPEN_FILTER_SET_MANAGER,{title:"FilterSets",type:e,dragEvent:t});break;default:throw new Error(`Unrecognized control type ${e}`)}}handleToolSelect(e){St.debug("handleToolSelect",e);const{activeTool:t,setActiveTool:r}=this.props;r(t===e?Sr.DEFAULT:e)}handleClearFilter(){this.sendClearFilter()}handleDataChange(e){const{updateWorkspaceData:t}=this.props,{closed:r,filterSets:i,links:a}=e;t({closed:r,filterSets:i,links:a})}handleGoldenLayoutChange(e){this.goldenLayout=e}handleLayoutConfigChange(e){const{updateWorkspaceData:t}=this.props;t({layoutConfig:e})}handleWidgetMenuClick(){this.setState(({isPanelsMenuShown:e})=>({isPanelsMenuShown:!e}))}handleWidgetSelect(e,t){this.setState({isPanelsMenuShown:!1}),St.debug("handleWidgetSelect",e,t),this.openWidget(e,t)}handleWidgetsMenuClose(){this.setState({isPanelsMenuShown:!1})}handleAutoFillClick(){const{widgets:e}=this.state;St.debug("handleAutoFillClick",e);const t=e.sort((r,i)=>r.title!=null&&i.title!=null?r.title.localeCompare(i.title):0);for(let r=0;r<t.length;r+=1)this.openWidget(t[r])}handleExportLayoutClick(){St.info("handleExportLayoutClick"),this.setState({isPanelsMenuShown:!1});try{const{workspace:e}=this.props,{data:t}=e,r=Dl.exportLayout(t);St.info("handleExportLayoutClick exportedConfig",r);const i=new Blob([JSON.stringify(r)],{type:"application/json"}),a=Rr.i18n.DateTimeFormat.format("yyyy-MM-dd-HHmmss",new Date),o=document.createElement("a");o.href=URL.createObjectURL(i),o.download=`deephaven-app-layout-${a}.json`,o.click()}catch(e){St.error("Unable to export layout",e)}}handleImportLayoutClick(){St.info("handleImportLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.importElement.current!=null&&(this.importElement.current.value="",this.importElement.current.click())}handleResetLayoutClick(){St.info("handleResetLayoutClick"),this.setState({isPanelsMenuShown:!1}),this.resetLayout()}handleImportLayoutFiles(e){e.stopPropagation(),e.preventDefault(),e.target.files!=null&&this.importLayoutFile(e.target.files?.[0])}handleDisconnect(){St.info("Disconnected from server"),this.setState({isDisconnected:!0})}handleReconnect(){St.info("Reconnected to server"),this.setState({isDisconnected:!1})}handleReconnectAuthFailed(){St.warn("Reconnect authentication failed"),this.setState({isAuthFailed:!0})}async importLayoutFile(e){try{const{updateDashboardData:t,updateWorkspaceData:r}=this.props,i=await e.text(),a=JSON.parse(i),{filterSets:o,layoutConfig:s,links:l}=Dl.normalizeLayout(a);r({layoutConfig:s}),t(Sn,{filterSets:o,links:l})}catch(t){St.error("Unable to import layout",t)}}async resetLayout(){const{layoutStorage:e,session:t}=this.props,{filterSets:r,layoutConfig:i,links:a}=await Dl.getDefaultLayout(e,t!==void 0),{updateDashboardData:o,updateWorkspaceData:s}=this.props;s({layoutConfig:i}),o(Sn,{filterSets:r,links:a})}handlePaste(e){if(e.target instanceof HTMLElement&&e.target.closest(".monaco-editor"))return;const{clipboardData:t}=e,r=t.getData("Text"),i=/“|”/g;i.test(r)&&(e.preventDefault(),e.stopPropagation(),document.execCommand("insertText",!1,r.replace(i,'"')))}handleLoadTablePlugin(e){const{plugins:t}=this.props,r=t.get(e);if(r!=null&&r.TablePlugin!=null)return r.TablePlugin;const i=`Unable to find table plugin ${e}.`;throw St.error(i),new Error(i)}startListeningForDisconnect(){const{connection:e}=this.props;e.addEventListener(Rr.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.addEventListener(Rr.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.addEventListener(Rr.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}stopListeningForDisconnect(){const{connection:e}=this.props;e.removeEventListener(Rr.IdeConnection.EVENT_DISCONNECT,this.handleDisconnect),e.removeEventListener(Rr.IdeConnection.EVENT_RECONNECT,this.handleReconnect),e.removeEventListener(Rr.CoreClient.EVENT_RECONNECT_AUTH_FAILED,this.handleReconnectAuthFailed)}hydrateDefault(e,t){const{connection:r}=this.props,{metadata:i}=e;if(i?.type!=null&&(i?.id!=null||i?.name!=null)){const a=i.id!=null?{type:i.type,id:i.id}:{type:i.type,name:i.name,title:i.name};return{fetch:()=>r.getObject(a),localDashboardId:t,...e}}return th.hydrate(e,t)}hydrateGrid(e,t){return this.hydrateTable(e,t,e.metadata.type??Rr.VariableType.TABLE)}hydratePandas(e,t){return this.hydrateTable(e,t,Rr.VariableType.PANDAS)}hydrateTable(e,t,r=Rr.VariableType.TABLE){const{connection:i}=this.props;return{...e,getDownloadWorker:vs.getServiceWorker,loadPlugin:this.handleLoadTablePlugin,localDashboardId:t,makeModel:()=>UH(Rr,i,e.metadata,r)}}hydrateChart(e,t){const{connection:r}=this.props;return{...e,localDashboardId:t,makeModel:()=>{const{metadata:i,panelState:a}=e;return HH(Rr,r,i,a)}}}openWidget(e,t){const{connection:r}=this.props;this.emitLayoutEvent(Ee.OPEN,{dragEvent:t,fetch:()=>r.getObject(e),widget:e})}getDashboardPlugins=fe(e=>[...e.entries()].filter(([,t])=>t.DashboardPlugin!=null).map(([t,{DashboardPlugin:r}])=>F.jsx(r,{},t)));render(){const{activeTool:e,plugins:t,user:r,workspace:i,serverConfigValues:a}=this.props,{data:o}=i,{layoutConfig:s}=o,{permissions:l}=r,{canUsePanels:d}=l,{contextActions:u,isAuthFailed:c,isDisconnected:m,isPanelsMenuShown:v,isSettingsMenuShown:g,widgets:f}=this.state,p=this.getDashboardPlugins(t);return F.jsxs("div",{className:te("app-main-tabs","w-100","h-100","d-flex","flex-column",e?`active-tool-${e.toLowerCase()}`:""),onPaste:this.handlePaste,tabIndex:-1,children:[F.jsx("nav",{className:"nav-container",children:F.jsxs("div",{className:"app-main-top-nav-menus",children:[F.jsx("img",{src:yb,alt:"Deephaven Data Labs",width:"115px",className:"ml-1"}),F.jsxs("div",{children:[F.jsxs(j,{kind:"ghost",className:"btn-panels-menu",icon:_w,onClick:()=>{},children:["Controls",F.jsx(Mc,{handleControlSelect:this.handleControlSelect,handleToolSelect:this.handleToolSelect,onClearFilter:this.handleClearFilter})]}),d&&F.jsxs(j,{kind:"ghost",className:"btn-panels-menu btn-show-panels","data-testid":"app-main-panels-button",onClick:this.handleWidgetMenuClick,icon:Mw,children:["Panels",F.jsx(md,{isShown:v,className:"panels-menu-popper",onExited:this.handleWidgetsMenuClose,options:{placement:"bottom"},closeOnBlur:!0,interactive:!0,children:F.jsx(xH,{widgets:f,onExportLayout:this.handleExportLayoutClick,onImportLayout:this.handleImportLayoutClick,onResetLayout:this.handleResetLayoutClick,onSelect:this.handleWidgetSelect})})]}),F.jsx(j,{kind:"ghost",className:te("btn-settings-menu",{"text-warning":r.operateAs!=null&&r.operateAs!==r.name}),onClick:this.handleSettingsMenuShow,icon:F.jsxs("span",{className:"fa-layers",children:[F.jsx(re,{icon:fs,transform:"grow-3 right-1 down-1"}),m&&!c&&F.jsxs(F.Fragment,{children:[F.jsx(re,{icon:os,color:et.background,transform:"grow-2 right-8 down-8.5 rotate-45"}),F.jsx(re,{icon:lm,color:et.danger,transform:"shrink-5 right-6 down-6"})]})]}),tooltip:m&&!c?"Server disconnected":"User Settings"})]})]})}),F.jsxs(fD,{emptyDashboard:F.jsx($H,{onAutoFillClick:this.handleAutoFillClick}),id:Sn,layoutConfig:s,onGoldenLayoutChange:this.handleGoldenLayoutChange,onLayoutConfigChange:this.handleLayoutConfigChange,onLayoutInitialized:this.openNotebookFromURL,hydrate:this.hydrateDefault,children:[F.jsx(Cx,{hydrate:this.hydrateGrid,getDownloadWorker:vs.getServiceWorker,loadPlugin:this.handleLoadTablePlugin}),F.jsx(ux,{hydrate:this.hydrateChart}),F.jsx(hx,{}),F.jsx(fx,{hydrateConsole:Qa.hydrateConsole,notebooksUrl:new URL("notebooks/",document.baseURI).href}),F.jsx(px,{}),F.jsx(Ux,{hydrate:this.hydratePandas}),F.jsx(Hx,{}),F.jsx(Lx,{}),p]}),F.jsx(kr,{in:g,timeout:et.transitionMidMs,classNames:"slide-left",mountOnEnter:!0,unmountOnExit:!0,children:F.jsx(Nn,{serverConfigValues:a,onDone:this.handleSettingsMenuHide,user:r})}),F.jsx(le,{actions:u}),F.jsx("input",{ref:this.importElement,type:"file",accept:".json",style:{display:"none"},onChange:this.handleImportLayoutFiles}),F.jsx(zw,{isOpen:m&&!c,debounceMs:1e3,children:F.jsx(Kw,{icon:lm,title:F.jsxs(F.Fragment,{children:[F.jsx(Hn,{})," Attempting to reconnect..."]}),subtitle:"Please check your network connection."})}),F.jsx(ss,{confirmButtonText:"Refresh",onConfirm:Qa.handleRefresh,isOpen:c,headerText:"Authentication failed",bodyText:"Credentials are invalid. Please refresh your browser to try and reconnect."})]})}}const KH=n=>({activeTool:wd(n),dashboardData:Er(n,Sn),layoutStorage:LH(n),plugins:cT(n),connection:a1(n,Sn),session:Ta(n,Sn)?.session,sessionConfig:Ta(n,Sn)?.config,user:pp(n),workspace:Sd(n),serverConfigValues:kH(n)}),YH=$t(KH,{setActiveTool:yd,updateDashboardData:Un,updateWorkspaceData:xp})(bS(Qa));function qH(){return F.jsxs("div",{className:"app",children:[F.jsx(YH,{}),F.jsx(Xf,{})]})}const XH=ie.module("LocalWorkspaceStorage");class Za{static STORAGE_KEY="deephaven.WorkspaceStorage";static async makeDefaultWorkspaceData(e,t){const{filterSets:r,links:i,layoutConfig:a}=await Dl.getDefaultLayout(e,t?.isConsoleAvailable);return{settings:{defaultDateTimeFormat:Tt.DEFAULT_DATETIME_FORMAT_STRING,formatter:[],timeZone:Tt.DEFAULT_TIME_ZONE_ID,showTimeZone:!1,showTSeparator:!0,disableMoveConfirmation:!1,defaultDecimalFormatOptions:{defaultFormatString:tt.DEFAULT_FORMAT_STRING},defaultIntegerFormatOptions:{defaultFormatString:yt.DEFAULT_FORMAT_STRING},truncateNumbersWithPound:!1,defaultNotebookSettings:{isMinimapEnabled:!1}},layoutConfig:a,closed:[{}],links:i,filterSets:r}}static async makeDefaultWorkspace(e,t){return{data:await Za.makeDefaultWorkspaceData(e,t)}}layoutStorage;constructor(e){this.layoutStorage=e}async load(e){try{return JSON.parse(localStorage.getItem(Za.STORAGE_KEY)??"")}catch{return XH.info("Unable to load workspace data, initializing to default data"),Za.makeDefaultWorkspace(this.layoutStorage,e)}}async save(e){return localStorage.setItem(Za.STORAGE_KEY,JSON.stringify(e)),e}}class QH{storageService;root;constructor(e,t=""){this.storageService=e,this.root=t}async getLayouts(){return(await this.storageService.listItems(this.root,"*.json")).map(t=>t.basename)}async getLayout(e){const r=await(await this.storageService.loadFile(`${this.root}/${e}`)).text();return JSON.parse(r)}}const Go=ie.module("GrpcFileStorageTable");class rd{static REFRESH_DEBOUNCE=50;storageService;baseRoot;root;currentSize=0;currentViewport;listeners=[];viewportUpdatePromise;currentViewportData;childTables=new Map;constructor(e,t="",r=t){this.storageService=e,this.baseRoot=t,this.root=r,r===t&&(this.doRefresh=rt(this.doRefresh.bind(this),rd.REFRESH_DEBOUNCE))}removeBaseRoot(e){return be.removeRoot(this.baseRoot,e)}getViewportData(){return this.viewportUpdatePromise||this.refreshInternal(),this.viewportUpdatePromise??Promise.resolve({items:[],offset:0})}getSnapshot(e){throw new Error("Method not implemented.")}get size(){return this.currentSize}setExpanded(e,t){const r=e.split("/");let i=r.shift();if((i===void 0||i==="")&&(i=r.shift()),i===void 0||i==="")throw new Error(`Invalid path: ${e}`);const a=r.join("/");if(t){if(!this.childTables.has(i)){const o=new rd(this.storageService,this.baseRoot,`${this.root}/${i}`);this.childTables.set(i,o)}a&&this.childTables.get(i)?.setExpanded(a,t)}else this.childTables.has(i)&&(a?this.childTables.get(i)?.setExpanded(a,t):this.childTables.delete(i));this.currentViewport&&this.refreshInternal()}collapseAll(){this.childTables.clear(),this.currentViewport&&this.refreshInternal()}setSearch(e){throw new Error("Method not implemented.")}setViewport(e){this.currentViewport=e,this.refreshInternal()}setFilters(){throw new Error("Method not implemented.")}setSorts(){throw new Error("Method not implemented.")}setReversed(){throw new Error("Method not implemented.")}close(){this.listeners=[]}onUpdate(e){return this.listeners=[...this.listeners,e],()=>{this.listeners=this.listeners.filter(t=>t!==e)}}doRefresh(e){Go.debug2("doRefresh",this.root),e(this.fetchData())}refresh(){Go.debug2("refresh",this.root),this.viewportUpdatePromise?.cancel();const e=new Promise(r=>{this.doRefresh(r)}),t=Te.makeCancelable(e.then(r=>{if(this.viewportUpdatePromise!==t)throw new ud;return this.currentViewportData=r,this.sendUpdate(),r}));t.catch(r=>{Te.isCanceled(r)||Go.error("Error updating viewport",r)}),this.viewportUpdatePromise=t}refreshInternal(){try{this.refresh()}catch(e){Te.isCanceled(e)||Go.error("Unable to refresh data",e)}}async fetchData(){const{currentViewport:e}=this;if(!e)throw new Error("No viewport set");let r=(await this.storageService.listItems(this.root)).map(i=>({type:i.type,filename:this.removeBaseRoot(i.filename),basename:i.basename,id:this.removeBaseRoot(i.filename),isExpanded:i.type==="directory"?this.childTables.has(i.basename):void 0})).sort((i,a)=>i.type!==a.type?i.type==="directory"?-1:1:i.basename.localeCompare(a.basename));for(let i=0;i<r.length;i+=1){const a=r[i],{basename:o,filename:s}=a;if(s===this.removeBaseRoot(`${this.root}/${o}`)&&a.type==="directory"){const l=this.childTables.get(o);if(l!=null){l.setViewport({top:0,bottom:e.bottom-i});const d=await l.getViewportData();r.splice(i+1,0,...d.items)}}}return this.currentSize=r.length,Go.debug2(this.root,"items",r,e),r=r.slice(e.top,e.bottom),{items:r,offset:e.top}}sendUpdate(){const{listeners:e}=this,t=this.currentViewportData??{items:[],offset:0};for(let r=0;r<e.length;r+=1)e[r](t)}}const ZH=ie.module("GrpcFileStorage");class Ac{static REFRESH_THROTTLE=150;storageService;tables=[];root;constructor(e,t=""){this.storageService=e,this.root=t}removeRoot(e){return be.removeRoot(this.root,e)}addRoot(e){return be.addRoot(this.root,e)}async createDirectory(e){return await this.storageService.createDirectory(this.addRoot(e)),this.refreshTables(),{type:"directory",id:e,filename:e,basename:be.getBaseName(e)}}async getTable(){const e=new rd(this.storageService,this.root);return this.tables.push(e),e}async saveFile(e){const t=dh.storage.FileContents.text(e.content);return await this.storageService.saveFile(this.addRoot(e.filename),t,!0),this.refreshTables(),e}async loadFile(e){const r=await(await this.storageService.loadFile(this.addRoot(e))).text();return{filename:e,basename:be.getBaseName(e),content:r}}async deleteFile(e){await this.storageService.deleteItem(this.addRoot(e)),this.refreshTables()}async moveFile(e,t){await this.storageService.moveItem(this.addRoot(e),this.addRoot(t)),this.refreshTables()}async info(e){const t=await this.storageService.listItems(this.addRoot(be.getPath(e)),be.getBaseName(e));if(t.length===0)throw new Tc;if(t.length>1)throw ZH.error("More than one matching file found, should never happen.",t),new Error("More than one matching file found");const r=t[0];return{filename:this.removeRoot(r.filename),basename:r.basename,id:this.removeRoot(r.filename),type:r.type}}refreshTables=zi(()=>{this.tables.forEach(e=>e.refresh())},Ac.REFRESH_THROTTLE)}const JH=ie.module("AppInit");function Lc(n){const{workspace:e,setActiveTool:t,setApi:r,setCommandHistoryStorage:i,setDashboardData:a,setFileStorage:o,setLayoutStorage:s,setDashboardConnection:l,setDashboardSessionWrapper:d,setPlugins:u,setUser:c,setWorkspace:m,setWorkspaceStorage:v,setServerConfigValues:g}=n,f=Pa(),p=Yw(),C=qw(),b=Xw(),S=Qw(),E=Zw(),[y,T]=w.useState();w.useEffect(function(){u(b)},[b,u]),w.useEffect(function(){async function _(){try{const M=await Jw(),A=await eE(f,C,M),B=p.getStorageService(),$=new QH(B,"/layouts"),z=new Ac(B,"/notebooks"),G=new Za($),K=new lH,X=await G.load({isConsoleAvailable:A!==void 0}),{data:J}=X,{settings:I}=J;I.defaultDecimalFormatOptions===void 0&&(I.defaultDecimalFormatOptions={defaultFormatString:tt.DEFAULT_FORMAT_STRING}),I.defaultIntegerFormatOptions===void 0&&(I.defaultIntegerFormatOptions={defaultFormatString:yt.DEFAULT_FORMAT_STRING}),I.truncateNumbersWithPound===void 0&&(I.truncateNumbersWithPound=!1);const{shortcutOverrides:N={}}=I,x=hn.isMacPlatform?N.mac??{}:N.windows??{};Object.entries(x).forEach(([W,ee])=>{qe.get(W)?.setKeyState(ee)});const Y={filterSets:J.filterSets,links:J.links};r(f),t(Sr.DEFAULT),g(S),i(K),a(Sn,Y),o(z),s($),l(Sn,C),A!==void 0&&d(Sn,A),c(E),v(G),m(X)}catch(M){JH.error(M),T(M)}}_()},[f,p,C,S,t,r,i,a,o,s,l,d,c,m,v,g,E]);const O=e==null&&y==null,D=!O&&y==null,P=y!=null?`${y}`:null;return F.jsxs(F.Fragment,{children:[D&&F.jsx(qH,{}),F.jsx(id,{isLoading:O&&P==null,isLoaded:D,errorMessage:P})]})}Lc.propTypes={workspace:q.shape({}),workspaceStorage:q.shape({close:q.func}),setActiveTool:q.func.isRequired,setApi:q.func.isRequired,setCommandHistoryStorage:q.func.isRequired,setDashboardData:q.func.isRequired,setFileStorage:q.func.isRequired,setLayoutStorage:q.func.isRequired,setDashboardConnection:q.func.isRequired,setDashboardSessionWrapper:q.func.isRequired,setPlugins:q.func.isRequired,setUser:q.func.isRequired,setWorkspace:q.func.isRequired,setWorkspaceStorage:q.func.isRequired};Lc.defaultProps={workspace:null,workspaceStorage:null};const eU=n=>({workspace:Sd(n),workspaceStorage:dT(n)}),Nf=$t(eU,{setActiveTool:yd,setApi:pT,setCommandHistoryStorage:bT,setDashboardData:lC,setFileStorage:ST,setLayoutStorage:dH,setDashboardConnection:o1,setDashboardSessionWrapper:s1,setPlugins:ET,setUser:fT,setWorkspace:kp,setWorkspaceStorage:CT,setServerConfigValues:yT})(Lc),tU=document.location.pathname;function rU(){return F.jsx(SS,{basename:tU,children:F.jsxs(wS,{children:[F.jsx(em,{exact:!0,path:"/",component:Nf}),F.jsx(em,{path:"/notebooks/:notebookPath+",component:Nf}),F.jsx(ES,{from:"*",to:"/"})]})})}function uU(){return vs.registerOnLoaded(),Cr.init({getWorker:()=>new PS}),window["__react-beautiful-dnd-disable-dev-warnings"]=!0,F.jsx(yS,{store:Yh,children:F.jsx(rU,{})})}export{uU as AppRoot,uU as default};
44
+ //# sourceMappingURL=AppRoot-92a378b4.js.map