@deephaven/code-studio 0.107.1-beta.1 → 0.107.1-beta.5

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.
Files changed (48) hide show
  1. package/build/assets/{AppRoot-CfvkvU0Y.js → AppRoot-BywlJKlH.js} +4 -4
  2. package/build/assets/{AppRoot-CfvkvU0Y.js.map → AppRoot-BywlJKlH.js.map} +1 -1
  3. package/build/assets/{Chart-BxljgL2A.js → Chart-BbZZxJVr.js} +2 -2
  4. package/build/assets/{Chart-BxljgL2A.js.map → Chart-BbZZxJVr.js.map} +1 -1
  5. package/build/assets/{ControlType-BRtZctfn.js → ControlType-DsK--qPI.js} +15 -15
  6. package/build/assets/ControlType-DsK--qPI.js.map +1 -0
  7. package/build/assets/{FontBootstrap-C0sqrXrs.js → FontBootstrap-DOclTVYf.js} +2 -2
  8. package/build/assets/{FontBootstrap-C0sqrXrs.js.map → FontBootstrap-DOclTVYf.js.map} +1 -1
  9. package/build/assets/{FormatterUtils-CIy28HT3.js → FormatterUtils-C4G5OKW2.js} +2 -2
  10. package/build/assets/{FormatterUtils-CIy28HT3.js.map → FormatterUtils-C4G5OKW2.js.map} +1 -1
  11. package/build/assets/Grid-Cf5rUpCw.js +4 -0
  12. package/build/assets/Grid-Cf5rUpCw.js.map +1 -0
  13. package/build/assets/GridTokenMouseHandler-BRH1TB3r.js +2 -0
  14. package/build/assets/GridTokenMouseHandler-BRH1TB3r.js.map +1 -0
  15. package/build/assets/{IrisGrid-DGjjJLMM.js → IrisGrid-Dxs1_k7Q.js} +2 -2
  16. package/build/assets/{IrisGrid-DGjjJLMM.js.map → IrisGrid-Dxs1_k7Q.js.map} +1 -1
  17. package/build/assets/{IrisGridModel-B-3EOmdA.js → IrisGridModel-CkNpy7jm.js} +3 -3
  18. package/build/assets/{IrisGridModel-B-3EOmdA.js.map → IrisGridModel-CkNpy7jm.js.map} +1 -1
  19. package/build/assets/{IrisGridShortcuts-PmLPdS0T.js → IrisGridShortcuts-B9FabzA2.js} +2 -2
  20. package/build/assets/{IrisGridShortcuts-PmLPdS0T.js.map → IrisGridShortcuts-B9FabzA2.js.map} +1 -1
  21. package/build/assets/IrisGridThemeProvider-DWtWsrik.js +12 -0
  22. package/build/assets/IrisGridThemeProvider-DWtWsrik.js.map +1 -0
  23. package/build/assets/{LocalWorkspaceStorage-DD1Jmdje.js → LocalWorkspaceStorage-C-aAWtbD.js} +2 -2
  24. package/build/assets/{LocalWorkspaceStorage-DD1Jmdje.js.map → LocalWorkspaceStorage-C-aAWtbD.js.map} +1 -1
  25. package/build/assets/{MarkdownEditor-Da8vzpOU.js → MarkdownEditor-CZLa9wPB.js} +2 -2
  26. package/build/assets/{MarkdownEditor-Da8vzpOU.js.map → MarkdownEditor-CZLa9wPB.js.map} +1 -1
  27. package/build/assets/{MarkdownNotebook-CxvpmvoZ.js → MarkdownNotebook-nug9rrMp.js} +2 -2
  28. package/build/assets/{MarkdownNotebook-CxvpmvoZ.js.map → MarkdownNotebook-nug9rrMp.js.map} +1 -1
  29. package/build/assets/{MissingPartitionError-_7PwF-e2.js → MissingPartitionError-CNCD7vFG.js} +3 -3
  30. package/build/assets/MissingPartitionError-CNCD7vFG.js.map +1 -0
  31. package/build/assets/{StyleGuideRoot-B_iUW-gY.js → StyleGuideRoot-B2Dp8I-7.js} +2 -2
  32. package/build/assets/{StyleGuideRoot-B_iUW-gY.js.map → StyleGuideRoot-B2Dp8I-7.js.map} +1 -1
  33. package/build/assets/{index-ClFvFGtg.js → index-BKS9UJaA.js} +2 -2
  34. package/build/assets/{index-ClFvFGtg.js.map → index-BKS9UJaA.js.map} +1 -1
  35. package/build/assets/{index-C6TzuJ_6.js → index-CeJGQx63.js} +3 -3
  36. package/build/assets/{index-C6TzuJ_6.js.map → index-CeJGQx63.js.map} +1 -1
  37. package/build/assets/{index-pEUg_wF3.js → index-t5fQ4uJU.js} +4 -4
  38. package/build/assets/{index-pEUg_wF3.js.map → index-t5fQ4uJU.js.map} +1 -1
  39. package/build/index.html +1 -1
  40. package/package.json +31 -31
  41. package/build/assets/ControlType-BRtZctfn.js.map +0 -1
  42. package/build/assets/Grid-CCzDMxrn.js +0 -4
  43. package/build/assets/Grid-CCzDMxrn.js.map +0 -1
  44. package/build/assets/GridTokenMouseHandler-DBWxK_-v.js +0 -2
  45. package/build/assets/GridTokenMouseHandler-DBWxK_-v.js.map +0 -1
  46. package/build/assets/IrisGridThemeProvider-AcCdD1h6.js +0 -12
  47. package/build/assets/IrisGridThemeProvider-AcCdD1h6.js.map +0 -1
  48. package/build/assets/MissingPartitionError-_7PwF-e2.js.map +0 -1
@@ -1,4 +0,0 @@
1
- import{ar as W,r as H,J,M as se,a2 as V,V as Re,ad as ae}from"./vendor-C0qKObwo.js";import{v as Ee,G as A,w as Oe,o as X,n as Pe,r as De,x as xe,p as Te,q as ke,y as de,l as He}from"./GridTokenMouseHandler-DBWxK_-v.js";import{d as b,G as P,i as Me,f as j,e as Ke}from"./IrisGridModel-B-3EOmdA.js";import{e as Z,be as G}from"./index-C6TzuJ_6.js";import{an as q}from"./ControlType-BRtZctfn.js";function fe(s,e){var t=new Set([...Object.keys(s),...Object.keys(e)]),r=[];return t.forEach(i=>{s[i]!==e[i]&&r.push(i)}),r}function ve(s){if(s==null)throw new Ee("Expected 'val' to be defined, but received ".concat(s))}function Be(s,e,t){return(e=Fe(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Fe(s){var e=Le(s,"string");return typeof e=="symbol"?e:e+""}function Le(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class ne extends Error{constructor(){super(...arguments),Be(this,"isPasteError",!0)}}function _(s,e,t){return(e=Ve(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Ve(s){var e=Ie(s,"string");return typeof e=="symbol"?e:e+""}function Ie(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}var ce=100;class je extends A{constructor(){super(...arguments),_(this,"startPoint",void 0),_(this,"hasExtendedFloating",!1),_(this,"timer",void 0),_(this,"lastTriggerTime",void 0)}onDown(e,t,r){var{x:i,y:n,column:a,row:l}=e,{metrics:o}=t;if(!o)throw new Error("metrics not set");var{gridX:u,gridY:h,maxX:d,maxY:g}=o,p=i-u,w=n-h;if(p<0||w<0||a==null&&p>d||l==null&&w>g)return!1;var v=b.isModifierKeyDown(r),c=r.shiftKey;v||(c?t.trimSelectedRanges():t.clearSelectedRanges());var m=t.getTheme(),{autoSelectRow:f,autoSelectColumn:S}=m;return(a!==null||!S)&&(l!==null||!f)&&(t.focus(),t.moveCursorToPosition(a,l,c,!1,c&&v)),this.startPoint=e,this.hasExtendedFloating=!1,!0}onDrag(e,t){if(this.startPoint===void 0)return!1;this.stopTimer();var{row:r,column:i}=this.startPoint,{x:n,y:a}=e,{row:l,column:o}=e,{metrics:u}=t;if(!u)throw new Error("metrics not set");var{left:h,lastLeft:d,top:g,lastTop:p,columnWidth:w,rowHeight:v}=u,c=b.getScrollDragBounds(u,r,i),m=0,f=0;if(h<d&&(n<c.x1?m=n-c.x1:n>c.x2&&(m=n-c.x2)),g<p&&(a<c.y1?f=a-c.y1:a>c.y2&&(f=a-c.y2)),m!==0||f!==0)this.startTimer(t,e,m>0?Math.ceil(m/w):Math.floor(m/w),f>0?Math.ceil(f/v):Math.floor(f/v));else if(l!=null&&o!=null){var{floatingTopRowCount:S,floatingBottomRowCount:C,floatingLeftColumnCount:y,floatingRightColumnCount:E,columnCount:R,rowCount:O,bottom:x,right:D,topVisible:F,bottomVisible:M,leftVisible:T,rightVisible:I}=u;this.hasExtendedFloating||(r!==null&&r<S&&l>=S?(l=S,this.hasExtendedFloating=!0):r!==null&&r>=O-C&&l<O-C&&(l=O-C-1,this.hasExtendedFloating=!0),i!==null&&i<y&&o>=y?(o=y,this.hasExtendedFloating=!0):i!==null&&i>=R-E&&o<R-E&&(o=R-E-1,this.hasExtendedFloating=!0)),r!==null&&!b.isFloatingRow(r,u)&&b.isFloatingRow(l,u)&&(r>l&&l<g?l=F-1:r<l&&l>x&&(l=M+1)),i!==null&&!b.isFloatingColumn(i,u)&&b.isFloatingColumn(o,u)&&(i>o&&o<h?o=T-1:i<o&&o>D&&(o=I+1)),t.moveCursorToPosition(o,l,!0,!0)}return!0}onUp(e,t){return this.startPoint!==void 0&&(this.startPoint=void 0,this.stopTimer(),t.commitSelection()),!1}onDoubleClick(e,t,r){var{column:i,row:n}=e;return n==null||i==null?!1:(t.clearSelectedRanges(),t.moveCursorToPosition(i,n),t.commitSelection(),!0)}onContextMenu(e,t,r){var i=t.getSelectedRanges(),n=P.containsCell(i,e.column,e.row);return!n&&e.row!==null&&(this.startPoint=void 0,this.stopTimer(),t.clearSelectedRanges(),t.moveCursorToPosition(e.column,e.row)),!1}moveSelection(e,t,r,i){var{row:n,column:a}=t,{metrics:l}=e;if(!l)throw new Error("metrics not set");var{selectionEndRow:o,selectionEndColumn:u}=e.state;if(o==null||u==null)throw new Error("selection not set");var{rowCount:h,columnCount:d}=l,g=r<0&&a!=null?a:0,p=r>0&&a!=null?a:d-1,w=i<0&&n!=null?n:0,v=i>0&&n!=null?n:h-1;e.moveCursorToPosition(Math.min(Math.max(g,u+r),p),Math.min(Math.max(w,o+i),v),!0),this.lastTriggerTime=Date.now()}startTimer(e,t,r,i){this.stopTimer();var n=this.lastTriggerTime!=null?ce-Math.min(ce,Date.now()-this.lastTriggerTime):0;this.timer=setTimeout(()=>{this.moveSelection(e,t,r,i),this.startTimer(e,t,r,i)},n)}stopTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}}function ge(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(s);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(s,i).enumerable})),t.push.apply(t,r)}return t}function B(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ge(Object(t),!0).forEach(function(r){U(s,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):ge(Object(t)).forEach(function(r){Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(t,r))})}return s}function U(s,e,t){return(e=Ge(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Ge(s){var e=ze(s,"string");return typeof e=="symbol"?e:e+""}function ze(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}var me=5,Ue=1e3/60,ee=10;function z(s,e,t,r){var i,{modelColumns:n,movedColumns:a,allColumnXs:l,columnCount:o,allColumnWidths:u,userColumnWidths:h,calculatedColumnWidths:d,floatingLeftWidth:g,maxX:p}=t;if(e==null||s==null||s>o||s<0)return null;var w=(i=n.get(s))!==null&&i!==void 0?i:b.getModelIndex(s,a),v=r.getColumnHeaderGroup(w,e),c=v!=null,m,f,S;if(v!=null){var C,y,E,[R,O]=v.getVisibleRange(a);m=(C=l.get(R))!==null&&C!==void 0?C:g,f=((y=l.get(O))!==null&&y!==void 0?y:p)+((E=u.get(O))!==null&&E!==void 0?E:0),S=[R,O]}else{var x,D,F,M=l.get(s);if(M==null)return null;m=M,f=m+((x=(D=(F=u.get(s))!==null&&F!==void 0?F:h.get(w))!==null&&D!==void 0?D:d.get(w))!==null&&x!==void 0?x:0),S=[s,s]}return{visibleIndex:s,modelIndex:w,left:m,right:f,width:f-m,isColumnGroup:c,range:S,depth:e}}class Ne extends A{constructor(){super(...arguments),U(this,"cursor",null),U(this,"draggingOffset",void 0),U(this,"initialOffset",void 0),U(this,"initialGridPoint",void 0),U(this,"scrollingInterval",void 0),U(this,"scrollingDirection",void 0),U(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:n,leftOffset:a,userColumnWidths:l,calculatedColumnWidths:o,movedColumns:u,allColumnWidths:h}=r,d=i,g=a;if(t==="left")for(g-=ee;g<0;){var p;d-=1;var w=b.getModelIndex(i-1,u),v=(p=l.get(w))!==null&&p!==void 0?p:o.get(w);v===void 0?g=0:g+=v,d<0&&(g=0,d=0)}else{g+=ee;for(var c=h.get(i);c!==void 0&&g>c;){var m;d+=1,g-=c;var f=b.getModelIndex(i+1,u);c=(m=l.get(f))!==null&&m!==void 0?m:o.get(f),d>n&&(g=0,d=n)}}var{mouseX:S,mouseY:C}=e.state;r==null||S==null||C==null||(this.moveDraggingColumn(S,e,t==="left"?-ee:ee),e.setState({left:d,leftOffset:g}),(t==="left"&&d===0&&a===0||t==="right"&&d===n)&&this.clearScrollInterval())}},Ue))}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:n,columnHeaderDepth:a}=e,{metrics:l}=t;if(!l)throw new Error("Metrics not set");var o=z(n,a,l,r);if(n==null||o==null||a==null||a>0&&!o.isColumnGroup)return!1;var{rowHeaderWidth:u}=l;return this.initialGridPoint=e,this.draggingColumn=null,this.cursor=null,o.modelIndex!=null&&a!=null&&r.isColumnMovable(o.modelIndex,a)&&(this.draggingOffset=i-o.left-u,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:n}=e,{columnHeaderDepth:a}=this.initialGridPoint,{model:l}=t.props,{draggingColumn:o}=this,{metrics:u}=t;if(!u)throw new Error("Metrics not set");if(!o&&Math.abs(this.initialGridPoint.x-i)<me&&Math.abs(this.initialGridPoint.y-n)<me)return!1;if(o==null){var h=z(this.initialGridPoint.column,a,u,l);if(!h||a==null||!l.isColumnMovable(h.modelIndex)||a>0&&!h.isColumnGroup||h.range[0]==null)return!1;o={range:h.range,depth:a,left:h.left,width:h.width};var d=z(o.range[0],0,u,l),g=z(o.range[1],0,u,l);if(!d||!g)return!1;this.draggingColumn=o,t.setState({draggingColumn:o,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)){var{metrics:n}=t;Z(n,"Metrics not set");var{gridX:a}=n;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=B(B({},this.draggingColumn),{},{left:e-this.draggingOffset-a}),t.setState({draggingColumn:this.draggingColumn});return}var{depth:l}=this.draggingColumn,{model:o}=t.props,{movedColumns:u}=t.state,{floatingLeftWidth:h,width:d,columnHeaderMaxDepth:g,allColumnXs:p}=n,w=r<0,v=z(this.draggingColumn.range[0],l,n,o);if(v){var c=e-this.draggingOffset-a,m=c+v.width;this.draggingColumn=B(B({},this.draggingColumn),{},{left:c}),t.setState({draggingColumn:this.draggingColumn});var f=z(b.getColumnAtX(W(w?c:m,h,d)+a,n,!0),l,n,o),S=o.getColumnHeaderParentGroup(v.modelIndex,v.depth);if(f){if(S!==void 0){var C=S.getVisibleRange(u);if(f.visibleIndex<C[0]){var y,E=this.moveColumn(v,C[0],u);this.draggingOffset=e-((y=p.get(C[0]))!==null&&y!==void 0?y:0),this.draggingColumn=B(B({},this.draggingColumn),{},{left:e-this.draggingOffset-a}),this.clearScrollInterval(),t.setState({draggingColumn:this.draggingColumn,movedColumns:E});return}if(f.visibleIndex>C[1]){var R,O=this.moveColumn(v,C[1]-(v.range[1]-v.range[0]),u),{right:x=0}=(R=z(C[1],0,n,o))!==null&&R!==void 0?R:{};this.draggingOffset=e-(x-v.width),this.draggingColumn=B(B({},this.draggingColumn),{},{left:e-this.draggingOffset-a}),this.clearScrollInterval(),t.setState({draggingColumn:this.draggingColumn,movedColumns:O});return}}if(!o.isColumnMovable(f.modelIndex)){var D=f.visibleIndex;if(w)for(D+=1;D<v.visibleIndex&&!o.isColumnMovable(b.getModelIndex(D,u));)D+=1;else for(D-=1;D>v.visibleIndex&&!o.isColumnMovable(b.getModelIndex(D,u));)D-=1;if(D!==v.visibleIndex){w||(D-=v.range[1]-v.range[0]);var F=this.moveColumn(v,D,u);t.setState({movedColumns:F,draggingColumn:this.draggingColumn})}var M=z(D,0,n,o);if(w){var T;this.draggingOffset=e-((T=M==null?void 0:M.left)!==null&&T!==void 0?T:0)}else{var I;this.draggingOffset=e-(((I=M==null?void 0:M.right)!==null&&I!==void 0?I:0)-v.width)}this.draggingColumn=B(B({},this.draggingColumn),{},{left:e-this.draggingOffset-a}),t.setState({draggingColumn:this.draggingColumn});return}if(c<=h?this.setScrollInterval(t,"left"):m>d?this.setScrollInterval(t,"right"):this.clearScrollInterval(),f.visibleIndex!==v.visibleIndex&&!(w&&v.visibleIndex<f.visibleIndex||!w&&v.visibleIndex>f.visibleIndex)){for(var Q=f.left+f.width*.5,re=o.getColumnHeaderParentGroup(v.modelIndex,v.depth),Y,ie=((i=re==null?void 0:re.depth)!==null&&i!==void 0?i:g)-1;ie>=0&&Y===void 0;)Y=o.getColumnHeaderGroup(f.modelIndex,ie),ie-=1;var $;w&&c<Q&&(!Y||f.visibleIndex===Y.getVisibleRange(u)[0])&&($=this.moveColumn(v,f.range[0],u)),!w&&m>Q&&(!Y||f.visibleIndex===Y.getVisibleRange(u)[1])&&($=this.moveColumn(v,f.range[1]-(v.range[1]-v.range[0]),u)),$&&(this.draggingColumn=B(B({},this.draggingColumn),{},{left:c}),t.setState({movedColumns:$,draggingColumn:this.draggingColumn}))}}}}}moveColumn(e,t,r){var i=e.isColumnGroup?b.moveRange(e.range,t,r):b.moveItem(e.visibleIndex,t,r),n=t-e.range[0],a=[e.range[0]+n,e.range[1]+n];return this.draggingColumn&&(this.draggingColumn=B(B({},this.draggingColumn),{},{range:a})),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}}function pe(s,e,t){return(e=We(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function We(s){var e=Ae(s,"string");return typeof e=="symbol"?e:e+""}function Ae(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class oe extends A{constructor(){super(...arguments),pe(this,"dragOffset",void 0),pe(this,"cursor","default")}static getLeftWithOffsetFromRawLeft(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:n}=e;if(!i)throw new Error("metrics not set");if(r.scrollSnapToColumn){var a=Math.round(t),l=0;return{left:a,leftOffset:l}}var o=Math.floor(t),u=t-o,h=i.allColumnWidths.get(o);if(h==null){var d=e.getMetricState();h=n.getVisibleColumnWidth(o,d)}var g=h*u;return{left:o,leftOffset:g}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:n}=r,{metrics:a}=t;if(!a)throw new Error("metrics not set");var{x:l,y:o}=e,{barLeft:u,barWidth:h,height:d,hasHorizontalBar:g}=a;return g&&i>0&&o>=d-n&&o<d&&l>u&&l<u+h}getLeftWithOffset(e,t){var r,{metrics:i}=t;if(!i)throw new Error("metrics not set");var{x:n}=e,{barWidth:a,handleWidth:l,lastLeft:o,barLeft:u,columnCount:h,scrollableContentWidth:d,scrollableViewportWidth:g}=i,p=n-u,w=W((p-((r=this.dragOffset)!==null&&r!==void 0?r:0))/(a-l),0,1);if(h===1)return{left:0,leftOffset:w*(d-g)};var v=w*o;return oe.getLeftWithOffsetFromRawLeft(t,v)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{x:i}=e,{handleWidth:n,barLeft:a,scrollX:l}=r;if(!this.isInScrollBar(e,t))return!1;var o=i-a;if(o>=l&&o<=l+n)this.dragOffset=o-l,t.setState({isDraggingHorizontalScrollBar:!0});else{this.dragOffset=0;var{left:u,leftOffset:h}=this.getLeftWithOffset(e,t);t.setViewState({left:u,leftOffset:h,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)}}function we(s,e,t){return(e=Ye(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Ye(s){var e=Xe(s,"string");return typeof e=="symbol"?e:e+""}function Xe(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class qe extends A{constructor(){super(...arguments),we(this,"cursor","move"),we(this,"draggingOffset",void 0)}onDown(e,t){var{model:r}=t.props,{x:i,y:n,row:a}=e,{metrics:l}=t;if(!l)throw new Error("metrics not set");var{columnHeaderHeight:o,rowHeaderWidth:u,allRowYs:h}=l;if(i<=u&&a!==null&&r.isRowMovable(a)){var d=G(h,a);this.draggingOffset=n-d-o,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:n,mouseY:a}=t.state;if(n==null||a==null)return!1;if(i==null){var{row:l}=t.getGridPointFromXY(n,a);if(l!=null&&!r.isRowMovable(l)||(i=l,t.setState({draggingRow:i,isDragging:!0}),i==null))return!1}var{metrics:o}=t;if(!o)throw new Error("metrics not set");var{top:u,lastTop:h,bottom:d,bottomVisible:g,rowCount:p,columnHeaderHeight:w,allRowHeights:v,allRowYs:c,height:m}=o,f=w;if(u<i){var S=i-1;f=G(c,S)+G(v,S)*.5+w}var C=m;if(i<d){var y=i+1;C=G(c,y)+G(v,y)*.5+w}var{movedRows:E}=t.state;a<f&&i>0&&r.isRowMovable(i-1)?(E=b.moveItem(i,i-1,E),i-=1):C<a&&i<p-1&&r.isRowMovable(i+1)&&(E=b.moveItem(i,i+1,E),i+=1),t.setState({movedRows:E,draggingRow:i});var R=w+G(v,u)*.5,O=w+G(c,g)+G(v,g)*.5;return a<R&&u>0?t.setState({top:u-1}):a>O&&u<h&&t.setState({top:u+1}),!0}onUp(e,t){return this.draggingOffset!==void 0?(this.draggingOffset=void 0,t.setState({draggingRowOffset:null,draggingRow:null,isDragging:!1}),!0):!1}}function K(s,e,t){return(e=Qe(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Qe(s){var e=Je(s,"string");return typeof e=="symbol"?e:e+""}function Je(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class le extends Oe{constructor(){super(...arguments),K(this,"hiddenCursor","s-resize"),K(this,"defaultCursor","row-resize"),K(this,"pointProperty","y"),K(this,"userSizesProperty","userRowHeights"),K(this,"visibleOffsetProperty","visibleRowYs"),K(this,"visibleSizesProperty","visibleRowHeights"),K(this,"marginProperty","columnHeaderHeight"),K(this,"calculatedSizesProperty","calculatedRowHeights"),K(this,"initialSizesProperty","initialRowHeights"),K(this,"modelIndexesProperty","modelRows"),K(this,"firstIndexProperty","firstRow"),K(this,"treePaddingProperty","treePaddingY"),K(this,"getHiddenItems",b.getHiddenRows),K(this,"getNextShownItem",b.getNextShownRow),K(this,"getSeparator",le.getRowSeparator)}static getRowSeparator(e,t,r,i){if(!i.allowRowResize)return null;var{x:n,y:a}=e,l=b.getRowSeparatorIndex(n,a,t,i);return l!=null?{index:l,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})}}class Ze extends A{isInCorner(e,t){var r=t.getTheme(),{scrollBarSize:i}=r,{metrics:n}=t;if(!n)throw new Error("metrics not set");var{x:a,y:l}=e,{width:o,height:u,hasVerticalBar:h,hasHorizontalBar:d}=n;return i>0&&h&&d&&a>=o-i&&l>=u-i&&a<=o&&l<=u}onDown(e,t){return this.isInCorner(e,t)}onUp(e,t){return this.isInCorner(e,t)}onClick(e,t){return this.isInCorner(e,t)}}function Ce(s,e,t){return(e=$e(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function $e(s){var e=_e(s,"string");return typeof e=="symbol"?e:e+""}function _e(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class ue extends A{constructor(){super(...arguments),Ce(this,"dragOffset",void 0),Ce(this,"cursor","default")}static getTopWithOffsetFromRawTop(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:n}=e;if(!i)throw new Error("metrics not set");if(r.scrollSnapToRow){var a=Math.round(t),l=0;return{top:a,topOffset:l}}var o=Math.floor(t),u=t-o,h=i.allRowHeights.get(o);if(h==null){var d=e.getMetricState();h=n.getVisibleRowHeight(o,d)}var g=h*u;return{top:o,topOffset:g}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:n}=r,{metrics:a}=t;if(!a)throw new Error("metrics not set");var{x:l,y:o}=e,{barTop:u,barHeight:h,width:d,hasVerticalBar:g}=a;return g&&i>0&&l>=d-n&&l<d&&o>u&&o<u+h}getTopWithOffset(e,t){var r,{metrics:i}=t;if(!i)throw new Error("metrics not set");var{y:n}=e,{barHeight:a,handleHeight:l,lastTop:o,barTop:u,rowCount:h,scrollableContentHeight:d,scrollableViewportHeight:g}=i,p=n-u,w=W((p-((r=this.dragOffset)!==null&&r!==void 0?r:0))/(a-l),0,1);if(h===1)return{top:0,topOffset:w*(d-g)};var v=w*o;return ue.getTopWithOffsetFromRawTop(t,v)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{y:i}=e,{handleHeight:n,barTop:a,scrollY:l}=r;if(!this.isInScrollBar(e,t))return!1;var o=i-a;if(o>=l&&o<=l+n)this.dragOffset=o-l,t.setState({isDraggingVerticalScrollBar:!0});else{this.dragOffset=0;var{top:u,topOffset:h}=this.getTopWithOffset(e,t);t.setViewState({top:u,topOffset:h,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)}}class et extends A{onDoubleClick(e,t){var{column:r,row:i}=e,{model:n}=t.props;return X(n)&&r!=null&&i!=null&&n.isEditableRange(P.makeCell(r,i))?(t.startEditing(r,i),!0):!1}}function Se(s,e,t){return(e=tt(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function tt(s){var e=rt(s,"string");return typeof e=="symbol"?e:e+""}function rt(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class te{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5e3;Se(this,"order",void 0),Se(this,"cursor",null),this.order=e}onDown(e,t){return!1}onUp(e,t){return!1}}class it extends te{onDown(e,t){switch(e.key){case"a":if(b.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 b.isModifierKeyDown(e)?!1:this.handlePageUp(e,t);case"j":case"J":return b.isModifierKeyDown(e)?!1:this.handlePageDown(e,t);case"h":case"H":return b.isModifierKeyDown(e)?!1:(e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(0,t.state.cursorRow,e.shiftKey),!0);case"l":case"L":{if(b.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(b.isModifierKeyDown(e)?t.state.cursorColumn:0,b.isModifierKeyDown(e)?0:t.state.cursorRow,e.shiftKey,!0,!0),!0;case"End":{var{model:n}=t.props,{columnCount:a,rowCount:l}=n;return e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(b.isModifierKeyDown(e)?t.state.cursorColumn:a-1,b.isModifierKeyDown(e)?l-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?P.SELECTION_DIRECTION.UP:P.SELECTION_DIRECTION.DOWN),!0;break;case"Tab":if(t.state.selectedRanges.length>0)return t.moveCursorInDirection(e.shiftKey?P.SELECTION_DIRECTION.LEFT:P.SELECTION_DIRECTION.RIGHT),!0;break}return!1}handleArrowMove(e,t,r,i){var n=r.shiftKey,a=b.isModifierKeyDown(r);n?i.trimSelectedRanges():i.clearSelectedRanges();var{cursorRow:l,cursorColumn:o,selectionEndColumn:u,selectionEndRow:h}=i.state,d=n?u:o,g=n?h:l;if(a){var{model:p}=i.props,{columnCount:w,rowCount:v}=p,c=a&&n,m=null,f=null;e<0?(m=0,f=g):e>0?(m=w-1,f=g):t<0?(m=d,f=0):t>0&&(m=d,f=v-1),m!=null&&f!=null&&i.moveCursorToPosition(m,f,n,!0,c)}else{if(!i.metrics)throw new Error("grid.metrics are not set");var{theme:S}=i.props,{autoSelectRow:C=!1,autoSelectColumn:y=!1}=S;if(C&&e!==0){var{lastLeft:E}=i.metrics,{left:R}=i.state;R=W(R+e,0,E),i.moveCursorToPosition(R,l,n,!1),i.setViewState({left:R})}else if(y&&t!==0){var{lastTop:O}=i.metrics,{top:x}=i.state;x=W(x+t,0,O),i.moveCursorToPosition(x,o,n,!1),i.setViewState({top:x})}else i.moveCursor(e,t,n)}return!0}handlePageUp(e,t){var r=e.shiftKey;r?t.trimSelectedRanges():t.clearSelectedRanges();var{cursorColumn:i,selectionEndRow:n}=t.state,a=n,l=i;if(a==null)return!1;var o=t.getMetricState(),{metricCalculator:u}=t,{bottomVisible:h,topVisible:d,hasHorizontalBar:g}=u.getMetrics(o),p=a-(h-d);p-=g?0:1,p=Math.max(p,0);var w=Math.max(p-(a-d),0);return t.moveCursorToPosition(l,p,r,!1),t.setViewState({top:w}),!0}handlePageDown(e,t){var r=e.shiftKey;r?t.trimSelectedRanges():t.clearSelectedRanges();var{selectionEndRow:i,cursorColumn:n}=t.state,a=i,l=n;if(a===null)return!1;var o=t.getMetricState(),{metricCalculator:u}=t,{bottomVisible:h,topVisible:d,hasHorizontalBar:g,rowCount:p,lastTop:w}=u.getMetrics(o),v=p-1,c=h-d+a;c+=g?0:1,c=Math.min(c,v);var m=Math.min(w,c-(a-d));return t.moveCursorToPosition(l,c,r,!1),t.setViewState({top:m}),!0}}class nt extends te{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:n}=t.props,{startRow:a,startColumn:l}=i;if(a!=null){var o=t.getModelRow(a);if((l===0||l==null)&&Me(n)&&n.isRowExpandable(o))return t.toggleRowExpanded(a),!0}}}return!1}}class st extends te{onDown(e,t){if(b.isModifierKeyDown(e))return!1;var{model:r}=t.props,{cursorColumn:i,cursorRow:n}=t.state;if(i==null||n==null||!X(r)||!r.isEditableRange(P.makeCell(i,n)))return!1;var a=i,l=n;return a==null||l==null?!1:e.key.length===1?(t.startEditing(a,l,!0,[1,1],e.key),!0):e.key==="F2"?(t.startEditing(a,l),!0):e.key==="Backspace"?(t.startEditing(a,l,!0,void 0,""),!0):e.key==="Delete"?(t.setValueForCell(a,l,""),!0):!1}}function at(s){for(var e=[],t=s.querySelectorAll("tr"),r=0;r<t.length;r+=1){for(var i=t[r],n=i.querySelectorAll("td"),a=[],l=0;l<n.length;l+=1){var o,u,h=n[l];a.push((o=(u=h.textContent)===null||u===void 0?void 0:u.trim())!==null&&o!==void 0?o:"")}e.push(a)}return e}function ot(s){var e=[];return s.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 lt(s){var e,t,r=s.querySelector("table");if(r!=null)return at(r);var i=(e=(t=s.textContent)===null||t===void 0?void 0:t.trim())!==null&&e!==void 0?e:"";if(i.length>0){var{childNodes:n}=s,a=i.includes(" "),l=i.includes("    ");return a&&n.length!==0&&(n.length===1||n.length>1&&(n[0].textContent==null||!n[0].textContent.includes(" ")))?i.split(`
2
- `).map(o=>o.split(" ")):n.length>1||l?ot(s.childNodes):i}return null}class ut extends te{onDown(e,t){switch(e.key){case"v":if(b.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 n=lt(r);n!=null&&t.pasteValue(n)};return r.addEventListener("input",i),r.focus(),{preventDefault:!1,stopPropagation:!0}}break}return!1}}var ht=s=>{switch(s){case"ArrowDown":return j.DOWN;case"ArrowUp":return j.UP;case"ArrowLeft":return j.LEFT;case"ArrowRight":return j.RIGHT;default:return}};function he(s){var{selectionRange:e=void 0,className:t="",disabled:r=!1,value:i="",isQuickEdit:n=!0,onChange:a=()=>{},onCancel:l=()=>{},onDone:o=()=>{},onContextMenu:u=()=>{},style:h={}}=s,d=H.useRef(null),g=H.useRef(!1),[p]=H.useState(i),[w,v]=H.useState(!1),[c,m]=H.useState(n),[f,S]=H.useState(i);H.useEffect(function(){var{current:T}=d;T!=null&&(T.focus(),e?T.setSelectionRange(e[0],e[1]):T.setSelectionRange(T.value.length,T.value.length))},[e]);var C=H.useCallback(M=>{a(M)},[a]),y=H.useCallback(M=>{var{value:T}=M.target;S(T),v(!0),C(T)},[C,S,v]),E=H.useCallback(()=>{g.current=!0,w&&C(p),v(!1),l()},[p,w,l,C]),R=H.useCallback(()=>{m(!1)},[m]),O=H.useCallback(function(M){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;o(f,{direction:M,fillRange:T})},[o,f]),x=H.useCallback(()=>{g.current||O(null)},[g,O]),D=H.useCallback(M=>{switch(M.stopPropagation(),M.key){case"Escape":M.preventDefault(),E();break;case"Enter":if(M.preventDefault(),b.isModifierKeyDown(M))O(void 0,!0);else if(M.altKey){var T="".concat(f,`
3
- `);S(T),v(!0),C(T)}else O(M.shiftKey?j.UP:j.DOWN);break;case"Tab":M.preventDefault(),O(M.shiftKey?j.LEFT:j.RIGHT);break;case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":c&&(M.preventDefault(),O(ht(M.key)));break}},[E,O,c,S,v,C,f]),F=H.useCallback(M=>{u(M)},[u]);return J.jsx("textarea",{ref:d,className:se("grid-cell-input-field",t),value:f,onBlur:x,onChange:y,onKeyDown:D,onContextMenu:F,onClick:R,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:r,style:h})}he.propTypes={selectionRange:V.arrayOf(V.number),className:V.string,disabled:V.bool,isQuickEdit:V.bool,value:V.string,onChange:V.func,onCancel:V.func,onDone:V.func,onContextMenu:V.func,style:V.shape({})};he.defaultProps={selectionRange:null,className:"",disabled:!1,value:"",isQuickEdit:!0,onChange:()=>{},onCancel:()=>{},onDone:()=>{},onContextMenu:()=>{},style:{}};var dt=Re.createContext({});function ye(s,e,t,r,i,n,a){try{var l=s[n](a),o=l.value}catch(u){return void t(u)}l.done?e(o):Promise.resolve(o).then(r,i)}function ft(s){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=s.apply(e,t);function a(o){ye(n,r,i,a,l,"next",o)}function l(o){ye(n,r,i,a,l,"throw",o)}a(void 0)})}}function be(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(s);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(s,i).enumerable})),t.push.apply(t,r)}return t}function N(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?be(Object(t),!0).forEach(function(r){k(s,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):be(Object(t)).forEach(function(r){Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(t,r))})}return s}function k(s,e,t){return(e=vt(e))in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function vt(s){var e=ct(s,"string");return typeof e=="symbol"?e:e+""}function ct(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var r=t.call(s,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class L extends H.PureComponent{static getScale(e){var t,r,i,n,a,l=window.devicePixelRatio||1,o=e,u=(t=(r=(i=(n=(a=o.webkitBackingStorePixelRatio)!==null&&a!==void 0?a:o.mozBackingStorePixelRatio)!==null&&n!==void 0?n:o.msBackingStorePixelRatio)!==null&&i!==void 0?i:o.oBackingStorePixelRatio)!==null&&r!==void 0?r:o.backingStorePixelRatio)!==null&&t!==void 0?t:1;return l/u}static getCursorClassName(e){return e!=null&&e!==""?"grid-cursor-".concat(e):null}constructor(e){super(e),k(this,"renderer",void 0),k(this,"metricCalculator",void 0),k(this,"canvas",void 0),k(this,"canvasContext",void 0),k(this,"canvasWrapper",void 0),k(this,"resizeObserver",void 0),k(this,"animationFrame",void 0),k(this,"prevMetrics",void 0),k(this,"metrics",void 0),k(this,"renderState",void 0),k(this,"documentCursor",void 0),k(this,"dragTimer",void 0),k(this,"keyHandlers",void 0),k(this,"mouseHandlers",void 0),k(this,"getCachedKeyHandlers",ae(o=>[...o,...this.keyHandlers].sort((u,h)=>u.order-h.order))),k(this,"getCachedMouseHandlers",ae(o=>[...o,...this.mouseHandlers].sort((u,h)=>u.order-h.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.notifyKeyboardHandlers=this.notifyKeyboardHandlers.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.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),this.getSelectedRanges=this.getSelectedRanges.bind(this);var{isStuckToBottom:t,isStuckToRight:r,metricCalculator:i,movedColumns:n,movedRows:a,renderer:l}=e;this.renderer=l||new Pe,this.metricCalculator=i||new De,this.canvas=null,this.canvasContext=null,this.canvasWrapper=Re.createRef(),this.resizeObserver=new window.ResizeObserver(this.handleResize),this.animationFrame=null,this.prevMetrics=null,this.metrics=null,this.renderState={},this.documentCursor=null,this.dragTimer=null,this.keyHandlers=[new st(400),new ut(450),new it(500),new nt(900)],this.mouseHandlers=[new le(100),new xe(200),new qe(300),new Ne(400),new et(450),new ue(500),new oe(600),new Ze(700),new Te(800),new ke(875),new je(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:n,movedRows:a,cursorRow:null,cursorColumn:null,selectionStartRow:null,selectionStartColumn:null,selectionEndRow:null,selectionEndColumn:null,selectedRanges:q,lastSelectedRanges:q,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}),this.canvasWrapper.current!=null&&this.resizeObserver.observe(this.canvasWrapper.current),this.updateCanvas();var{isStuckToBottom:t,isStuckToRight:r}=this.props;t&&this.scrollToBottom(),r&&this.scrollToRight()}componentDidUpdate(e,t){var{renderError:r}=this.state;if(r!=null)throw r;var i=fe(e,this.props),n=fe(t,this.state);if(!(i.length===1&&i[0]==="children"&&n.length===0)){var{isStickyBottom:a,isStickyRight:l,movedColumns:o,movedRows:u,onMovedColumnsChanged:h,onMoveColumnComplete:d,onMovedRowsChanged:g,onMoveRowComplete:p}=this.props,{isStickyBottom:w,isStickyRight:v,movedColumns:c,movedRows:m}=e,{movedColumns:f,movedRows:S}=t,{draggingColumn:C,draggingRow:y,movedColumns:E,movedRows:R}=this.state;c!==o&&this.setState({movedColumns:o}),m!==u&&this.setState({movedRows:u}),f!==E&&h(E),t.draggingColumn!=null&&C==null&&d(E),S!==R&&g(R),t.draggingRow!=null&&y==null&&p(R),a!==w&&this.setState({isStuckToBottom:!1}),l!==v&&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),this.resizeObserver.disconnect(),this.stopDragTimer()}getTheme(){var{theme:e}=this.props;return L.getTheme(this.context,e)}getGridPointFromEvent(e){ve(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 b.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 n=this.canvasContext,a=this.canvas.clientWidth,l=this.canvas.clientHeight,{left:o,top:u,leftOffset:h,topOffset:d,movedColumns:g,movedRows:p,isDraggingHorizontalScrollBar:w,isDraggingVerticalScrollBar:v,draggingColumn:c}=e;return N({left:o,top:u,leftOffset:h,topOffset:d,width:a,height:l,context:n,theme:t,model:r,movedColumns:g,movedRows:p,isDraggingHorizontalScrollBar:w,isDraggingVerticalScrollBar:v,draggingColumn:c},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;Me(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:n,cursorColumn:a,selectedRanges:l}=this.state;if(this.setState({selectedRanges:e,lastSelectedRanges:l}),e.length>0){var o=P.boundedRange(e[0],r,i),u=n,h=a;o.containsCell(a,n)||({row:u,column:h}=o.startCell()),this.setState({selectionStartColumn:o.startColumn,selectionStartRow:o.startRow,selectionEndColumn:o.endColumn,selectionEndRow:o.endRow,cursorColumn:h,cursorRow:u})}}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;try{this.updateCanvas()}catch(e){this.setState({renderError:e})}}))}updateCanvas(){this.updateCanvasScale(),this.updateMetrics(),this.updateRenderState();var{canvasContext:e,metrics:t,renderState:r}=this;Z(e),Z(t),Z(r),this.renderer.configureContext(e,r);var{onViewChanged:i}=this.props;i(t),this.drawCanvas(t)}updateCanvasScale(){var{canvas:e,canvasContext:t,canvasWrapper:r}=this;if(!e)throw new Error("canvas not set");if(!t)throw new Error("canvasContext not set");if(!r.current)throw new Error("canvasWrapper not set");var i=r.current.getBoundingClientRect(),n=Math.floor(i.width),a=Math.floor(i.height);if(!(parseFloat(e.style.width)===n&&parseFloat(e.style.height)===a)){var l=L.getScale(t);e.style.width="".concat(n,"px"),e.style.height="".concat(a,"px"),e.width=n*l,e.height=a*l,t.scale(l,l)}}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:n,columnCount:a,height:l,width:o}=this.prevMetrics;if(n!==e||r!==l){var{isStuckToBottom:u}=this.state;u&&this.scrollToBottom()}if(a!==t||i!==o){var{isStuckToRight:h}=this.state;h&&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,n=0;n<t.length;n+=1){var a=t[n];if(a.endColumn!=null&&a.endColumn>=r||a.endRow!=null&&a.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)})}getSelectedRanges(){var{selectedRanges:e}=this.state;return e}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(n=>{var{selectedRanges:a,selectionStartRow:l,selectionStartColumn:o}=n,{theme:u}=this.props,{autoSelectRow:h,autoSelectColumn:d}=u;if(r&&a.length>0){var g=a[a.length-1],p=null,w=null,v=null,c=null;if(i){var m,f,S,C;p=h!==void 0&&h?null:Math.min(e??0,(m=g.startColumn)!==null&&m!==void 0?m:0),w=d!==void 0&&d?null:Math.min(t??0,(f=g.startRow)!==null&&f!==void 0?f:0),v=h!==void 0&&h?null:Math.max(e??0,(S=g.endColumn)!==null&&S!==void 0?S:0),c=d!==void 0&&d?null:Math.max(t??0,(C=g.endRow)!==null&&C!==void 0?C:0)}else p=g.startColumn,w=g.startRow,(o!=null||l!=null)&&((h===void 0||!h)&&(p=o),(d===void 0||!d)&&(w=l)),v=h!==void 0&&h?null:e,c=d!==void 0&&d?null:t;var y=P.makeNormalized(p,w,v,c);if(g.equals(y))return null;var E=[...a];return E[E.length-1]=y,{selectedRanges:E,selectionEndColumn:e,selectionEndRow:t}}var R=[...a],O=h!==void 0&&h?null:e,x=d!==void 0&&d?null:t;return R.push(P.makeNormalized(O,x,O,x)),{selectedRanges:R,selectionEndColumn:e,selectionEndRow:t}})}commitSelection(){this.setState(e=>{var{theme:t}=this.props,{autoSelectRow:r}=t,{selectedRanges:i,lastSelectedRanges:n,cursorRow:a,cursorColumn:l}=e;if(i.length===1&&(r!==void 0&&r?P.rowCount(i)===1:P.cellCount(i)===1)&&P.rangeArraysEqual(i,n))return{selectedRanges:[],lastSelectedRanges:[],cursorColumn:null,cursorRow:null};var o=i.slice();if(o.length>1){for(var u=o[o.length-1],h=0;h<o.length-1;h+=1){var d=o[h];if(d.contains(u)){var g=d.subtract(u);o.pop(),o.splice(h,1),o=o.concat(g);break}}o=P.consolidate(o)}var p=l,w=a;if(!P.containsCell(o,l,a)){var{model:v}=this.props,{columnCount:c,rowCount:m}=v,f=P.nextCell(P.boundedRanges(i,c,m));f!=null?{column:p,row:w}=f:(p=null,w=null)}return o.length===0&&(p=null,w=null),{cursorRow:w,cursorColumn:p,selectedRanges:o,lastSelectedRanges:i}})}setFocusRow(e){var t;if(!(!this.metrics||!this.prevMetrics)){var{gridY:r,height:i,lastTop:n,userRowHeights:a,rowHeight:l}=this.metrics,o=i-r,u=Math.round(o/2)+((t=a.get(e))!==null&&t!==void 0?t:l),h=this.getMetricState(),d=this.metricCalculator.getLastTop(h,e+1,u);this.setState({top:Math.min(n,d),selectedRanges:[new P(null,e,null,e)],isStuckToBottom:!1});var{cursorColumn:g}=this.state;this.moveCursorToPosition(g,e,!1,!1)}}selectAll(){var{model:e,theme:t}=this.props,{autoSelectRow:r,autoSelectColumn:i}=t,n=i!==void 0&&i?null:0,a=i!==void 0&&i?null:e.rowCount-1,l=r!==void 0&&r?null:0,o=r!==void 0&&r?null:e.columnCount-1;this.setSelectedRanges([new P(l,n,o,a)])}moveCursor(e,t,r){var{cursorRow:i,cursorColumn:n,selectionEndColumn:a,selectionEndRow:l}=this.state,o=r?a:n,u=r?l:i;if(u===null||o===null){var{left:h,top:d}=this.state;this.moveCursorToPosition(h,d,r)}else{var{model:g}=this.props,{columnCount:p,rowCount:w}=g,v=W(o+e,0,p-1),c=W(u+t,0,w-1);this.moveCursorToPosition(v,c,r)}}moveCursorInDirection(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P.SELECTION_DIRECTION.DOWN,{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:n,cursorColumn:a,selectedRanges:l}=this.state,o=l.length>0?l:[P.makeCell(a,n)],u=null;if(o.length===1&&P.cellCount(o)===1){var h,d=new P(0,0,r-1,i-1);u=(h=d.nextCell(a,n,e))!==null&&h!==void 0?h:d.startCell(e)}else u=P.nextCell(P.boundedRanges(o,r,i),a,n,e);if(u!=null){var{column:g,row:p}=u;this.setState({cursorColumn:g,cursorRow:p}),P.containsCell(l,g,p)||this.setState({selectedRanges:[P.makeCell(g,p)],selectionStartColumn:g,selectionStartRow:p,selectionEndColumn:g,selectionEndRow:p}),this.moveViewToCell(u.column,u.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,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;r||this.beginSelection(e,t),this.moveSelection(e,t,r,n),i&&this.moveViewToCell(e,t)}moveViewToCell(e,t){if(!this.metrics)throw new Error("metrics not set");var{metricCalculator:r}=this,{bottomVisible:i,rightVisible:n,topVisible:a,leftVisible:l}=this.metrics,o=this.getMetricState(this.state),{top:u,left:h,topOffset:d,leftOffset:g}=this.state;t!=null&&!b.isFloatingRow(t,this.metrics)&&(t<a?(u=r.getTopForTopVisible(o,t),d=0):t>i&&(u=r.getTopForBottomVisible(o,t),d=0)),e!=null&&!b.isFloatingColumn(e,this.metrics)&&(e<l?(h=r.getLeftForLeftVisible(o,e),g=0):e>n&&(h=r.getLeftForRightVisible(o,e),g=0)),this.setViewState({top:u,left:h,topOffset:d,leftOffset:g})}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:n,left:a}=e,{lastTop:l,lastLeft:o,hasVerticalBar:u,hasHorizontalBar:h}=this.metrics;n!=null&&u&&this.setState({isStuckToBottom:r&&n>=l}),a!=null&&h&&this.setState({isStuckToRight:i&&a>=o}),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,n=arguments.length>4?arguments[4]:void 0,{model:a}=this.props;if(!X(a))throw new Error("model is not editable");var l=this.getModelColumn(e),o=this.getModelRow(t),u={column:e,row:t,selectionRange:i,value:n!==void 0?n:a.editValueForCell(l,o),isQuickEdit:r};this.setState({editingCell:u,cursorColumn:e,cursorRow:t}),this.moveViewToCell(e,t)}isValidForCell(e,t,r){var{model:i}=this.props,n=this.getModelColumn(e),a=this.getModelRow(t);return X(i)&&i.isValidForCell(n,a,r)}pasteValue(e){var t=this;return ft(function*(){var{model:r}=t.props,{movedColumns:i,movedRows:n,selectedRanges:a}=t.state;try{if(de(r),!r.isEditable||!a.every(c=>r.isEditableRange(c)))throw new ne("Can't paste in to read-only area.");if(a.length<=0)throw new ne("Select an area to paste to.");if(typeof e=="string"){var l=[],o=b.getModelRanges(a,i,n);P.forEachCell(o,(c,m)=>{l.push({column:c,row:m,text:e})}),yield r.setValues(l);return}var u=e.length,h=e[0].length,{columnCount:d,rowCount:g}=r,p=a;p.every(c=>{var m,f;return P.cellCount([c])===1&&((m=c.startColumn)!==null&&m!==void 0?m:0)+h<=d&&((f=c.startRow)!==null&&f!==void 0?f:0)+u<=g})&&(p=p.map(c=>{var m,f;return new P(c.startColumn,c.startRow,((m=c.startColumn)!==null&&m!==void 0?m:0)+h-1,((f=c.startRow)!==null&&f!==void 0?f:0)+u-1)}),t.setSelectedRanges(p));var w=[];p.forEach(c=>{var m;if(((m=c.startColumn)!==null&&m!==void 0?m:0)+h>d)throw new ne("Pasted content would overflow columns.");for(var f=0;f<h;f+=1)for(var S=0;S<u;S+=1){var C,y;w.push({column:((C=c.startColumn)!==null&&C!==void 0?C:0)+f,row:((y=c.startRow)!==null&&y!==void 0?y:0)+S,text:e[S][f]})}}),yield r.setValues(w)}catch(c){var{onError:v}=t.props;v(c instanceof Error?c:new Error("".concat(c)))}})()}setValueForCell(e,t,r){var{model:i}=this.props;de(i);var n=this.getModelColumn(e),a=this.getModelRow(t);return i.isValidForCell(n,a,r)?(i.setValueForCell(n,a,r),!0):!1}setValueForRanges(e,t){var{model:r}=this.props,{movedColumns:i,movedRows:n}=this.state,a=b.getModelRanges(e,i,n);X(r)&&r.setValueForRanges(a,t)}isSelected(e,t){for(var{selectedRanges:r}=this.state,i=0;i<r.length;i+=1){var n,a,l=r[i],o=l.startRow===null||l.startRow<=e&&e<=((n=l.endRow)!==null&&n!==void 0?n:0),u=l.startColumn===null||l.startColumn<=t&&t<=((a=l.endColumn)!==null&&a!==void 0?a:0);if(o&&u)return!0}return!1}addDocumentCursor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.documentCursor!==L.getCursorClassName(e)&&(this.documentCursor!=null&&document.documentElement.classList.remove(this.documentCursor),this.documentCursor=L.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)},L.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(),n=0;n<i.length;n+=1){var a=i[n];if(a.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 n=r[i];if(n.onContextMenu(t,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}}notifyKeyboardHandlers(e,t){for(var r=this.getKeyHandlers(),i=null,n=0;n<r.length;n+=1){var a=r[n],l=a[e]!=null&&a[e](t,this);if(l!==!1){var o,u;a.cursor!=null&&({cursor:i}=a);var h=l;(!((o=h==null?void 0:h.stopPropagation)!==null&&o!==void 0)||o)&&t.stopPropagation(),(!((u=h==null?void 0:h.preventDefault)!==null&&u!==void 0)||u)&&t.preventDefault();break}}this.setState({cursor:i})}handleKeyDown(e){this.notifyKeyboardHandlers("onDown",e)}handleKeyUp(e){this.notifyKeyboardHandlers("onUp",e)}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,n=this.getGridPointFromEvent(t),a=this.getMouseHandlers(),l=null,o=0;o<a.length;o+=1){var u=a[o],h=u[e]!=null&&u[e](n,this,t);if(h!==!1){var d,g;u.cursor!=null&&({cursor:l}=u,i&&this.addDocumentCursor(l));var p=h;(!((d=p==null?void 0:p.stopPropagation)!==null&&d!==void 0)||d)&&t.stopPropagation(),(!((g=p==null?void 0:p.preventDefault)!==null&&g!==void 0)||g)&&t.preventDefault();break}}if(this.setState({cursor:l}),r){var{x:w,y:v}=n;this.setState({mouseX:w,mouseY:v})}}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:n,lastLeft:a,columnCount:l,rowCount:o,scrollableContentWidth:u,scrollableViewportWidth:h,scrollableContentHeight:d,scrollableViewportHeight:g,hasHorizontalBar:p,hasVerticalBar:w}=r,{top:v,left:c,topOffset:m,leftOffset:f}=r,S=this.getTheme(),{deltaX:C,deltaY:y}=b.getScrollDelta(e,r.barWidth,r.barHeight,r.rowHeight,r.rowHeight);p&&C!==0;){if(f+=C,C=0,l>1){if(f>0&&c>=a||f<0&&c<=0){f=0;break}}else{if(f<=0){f=0;break}var E=u-h;if(f>=E){f=E;break}}if(f>0){var R,O=(R=r.allColumnWidths.get(c))!==null&&R!==void 0?R:t.getVisibleColumnWidth(c,i);f>=O?(C=f-O,f=0,c+=1):S.scrollSnapToColumn&&l>1&&(f=0,c+=1)}else if(f<0){var x,D=(x=r.allColumnWidths.get(c-1))!==null&&x!==void 0?x:t.getVisibleColumnWidth(c-1,i);Math.abs(f)<=D&&S.scrollSnapToColumn&&l>1?(f=0,c-=1):(C=f+D,f=0,c-=1)}}for(;w&&y!==0;){if(m+=y,y=0,o>1){if(m>0&&v>=n||m<0&&v<=0){m=0;break}}else{if(m<=0){m=0;break}var F=d-g;if(m>=F){m=F;break}}if(m>0){var M,T=(M=r.allRowHeights.get(v))!==null&&M!==void 0?M:t.getVisibleRowHeight(v,i);m>=T?(y=m-T,m=0,v+=1):S.scrollSnapToRow&&o>1&&(m=0,v+=1)}else if(m<0){var I,Q=(I=r.allRowHeights.get(v-1))!==null&&I!==void 0?I:t.getVisibleRowHeight(v-1,i);Math.abs(m)<=Q&&S.scrollSnapToRow&&o>1?(m=0,v-=1):(y=m+Q,m=0,v-=1)}}(r.top!==v||r.left!==c||r.topOffset!==m||r.leftOffset!==f)&&(this.setViewState({top:v,left:c,topOffset:m,leftOffset:f}),e.stopPropagation(),e.preventDefault())}}handleEditCellCancel(){this.setState({editingCell:null}),this.focus()}handleEditCellChange(e){this.setState(t=>{var{editingCell:r}=t;try{return ve(r),{editingCell:N(N({},r),{},{value:e})}}catch(n){var{onError:i}=this.props;return i(n instanceof Error?n:new Error("".concat(n))),null}})}handleEditCellCommit(e){var{direction:t=j.DOWN,fillRange:r=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{editingCell:i,selectedRanges:n}=this.state;if(!i)throw new Error("editingCell not set");var{column:a,row:l}=i;if(!this.isValidForCell(a,l,e)){t===null&&this.setState({editingCell:null});return}r?this.setValueForRanges(n,e):this.setValueForCell(a,l,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||!X(e))return null;var{selectionRange:i,value:n,isQuickEdit:a}=t,{column:l,row:o}=t,{scrollX:u,gridX:h,gridY:d,allColumnXs:g,allRowYs:p,allColumnWidths:w,allRowHeights:v}=r,{activeCellSelectionBorderWidth:c}=this.getTheme(),m=g.get(l),f=p.get(o),S=w.get(l),C=v.get(o),y=h+(m??0)<=0&&u<=0?c:0,E=m!=null&&f!=null&&S!=null&&C!=null?{position:"absolute",left:h+m+y,top:d+f,width:S-y,height:C}:{opacity:0},R,O;try{R=this.getModelColumn(l),O=this.getModelRow(o)}catch{return null}var x=R!=null&&O!=null?{textAlign:e.textAlignForCell(R,O)}:void 0,D=R!=null&&O!=null?e.isValidForCell(R,O,n):!1;return J.jsx("div",{style:E,children:J.jsx(he,{selectionRange:i,className:se({error:!D}),onCancel:this.handleEditCellCancel,onChange:this.handleEditCellChange,onDone:this.handleEditCellCommit,isQuickEdit:a,style:x,value:n},"".concat(l,",").concat(o))})}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:n,draggingRowOffset:a,draggingRowSeparator:l,editingCell:o,isDraggingHorizontalScrollBar:u,isDraggingVerticalScrollBar:h,isDragging:d,mouseX:g,mouseY:p,selectedRanges:w}=this.state,{model:v,stateOverride:c}=this.props,{metrics:m}=this,f=this.canvasContext,S=this.getTheme(),C=this.canvas.clientWidth,y=this.canvas.clientHeight;return Z(m),this.renderState=N({width:C,height:y,context:f,theme:S,model:v,metrics:m,mouseX:g,mouseY:p,selectedRanges:w,draggingColumn:r,draggingColumnSeparator:i,draggingRow:n,draggingRowOffset:a,draggingRowSeparator:l,editingCell:o,isDraggingHorizontalScrollBar:u,isDraggingVerticalScrollBar:h,isDragging:d,cursorColumn:e,cursorRow:t},c),this.renderState}render(){var{children:e}=this.props,{cursor:t}=this.state;return J.jsxs("div",{className:"grid-wrapper",ref:this.canvasWrapper,children:[J.jsx("canvas",{className:se("grid-canvas",L.getCursorClassName(t)),ref:r=>{this.canvas=r},onClick:this.handleClick,onContextMenu:this.handleContextMenu,onDoubleClick:this.handleDoubleClick,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onMouseDown:this.handleMouseDown,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,tabIndex:0,children:"Your browser does not support HTML canvas. Update your browser?"}),this.renderInputField(),e]})}}k(L,"contextType",dt);k(L,"defaultProps",{canvasOptions:{alpha:!1},isStickyBottom:!1,isStickyRight:!1,isStuckToBottom:!1,isStuckToRight:!1,keyHandlers:q,mouseHandlers:q,movedColumns:q,movedRows:q,onError:()=>{},onSelectionChanged:()=>{},onMovedColumnsChanged:s=>{},onMoveColumnComplete:()=>{},onMovedRowsChanged:()=>{},onMoveRowComplete:()=>{},onViewChanged:s=>{},onTokenClicked:s=>{Ke(s)&&window.open(s.href,"_blank","noopener,noreferrer")},stateOverride:{},theme:{autoSelectColumn:!1,autoSelectRow:!1}});k(L,"pixelsPerLine",100/3);k(L,"dragTimeout",1e3);k(L,"getTheme",ae((s,e)=>N(N(N({},He),s),e)));export{L as G,te as K,dt as T};
4
- //# sourceMappingURL=Grid-CCzDMxrn.js.map