@deephaven/code-studio 0.99.2 → 0.100.1-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.
Files changed (52) hide show
  1. package/build/assets/{AppRoot-BROmmteh.js → AppRoot-t94UNDQV.js} +5 -5
  2. package/build/assets/{AppRoot-BROmmteh.js.map → AppRoot-t94UNDQV.js.map} +1 -1
  3. package/build/assets/{Chart-7s6L1Vff.js → Chart-B2JgQKsH.js} +2 -2
  4. package/build/assets/{Chart-7s6L1Vff.js.map → Chart-B2JgQKsH.js.map} +1 -1
  5. package/build/assets/{ControlType-DcauuB76.js → ControlType-Dj-CDf_9.js} +4 -4
  6. package/build/assets/{ControlType-DcauuB76.js.map → ControlType-Dj-CDf_9.js.map} +1 -1
  7. package/build/assets/{FontBootstrap-DjZD3KAo.js → FontBootstrap-DuYwbhy6.js} +2 -2
  8. package/build/assets/{FontBootstrap-DjZD3KAo.js.map → FontBootstrap-DuYwbhy6.js.map} +1 -1
  9. package/build/assets/{FormatterUtils-BJpD1Vjs.js → FormatterUtils-DOzoPtXx.js} +2 -2
  10. package/build/assets/{FormatterUtils-BJpD1Vjs.js.map → FormatterUtils-DOzoPtXx.js.map} +1 -1
  11. package/build/assets/Grid-DxDon3SA.js +4 -0
  12. package/build/assets/Grid-DxDon3SA.js.map +1 -0
  13. package/build/assets/GridTokenMouseHandler-Bn0NgIIU.js +2 -0
  14. package/build/assets/GridTokenMouseHandler-Bn0NgIIU.js.map +1 -0
  15. package/build/assets/IrisGrid-fwmA8-X0.js +3 -0
  16. package/build/assets/IrisGrid-fwmA8-X0.js.map +1 -0
  17. package/build/assets/{IrisGridModel-DVQ6ADFo.js → IrisGridModel-DAz4R-bY.js} +3 -3
  18. package/build/assets/IrisGridModel-DAz4R-bY.js.map +1 -0
  19. package/build/assets/{IrisGridShortcuts-BdD0M93a.js → IrisGridShortcuts-5WlWHxT7.js} +2 -2
  20. package/build/assets/{IrisGridShortcuts-BdD0M93a.js.map → IrisGridShortcuts-5WlWHxT7.js.map} +1 -1
  21. package/build/assets/IrisGridThemeProvider-D9-eie1Y.js +11 -0
  22. package/build/assets/IrisGridThemeProvider-D9-eie1Y.js.map +1 -0
  23. package/build/assets/{LocalWorkspaceStorage-CYVhfPrB.js → LocalWorkspaceStorage-B81p8nIF.js} +2 -2
  24. package/build/assets/{LocalWorkspaceStorage-CYVhfPrB.js.map → LocalWorkspaceStorage-B81p8nIF.js.map} +1 -1
  25. package/build/assets/{MarkdownEditor-B8e4Gkm4.js → MarkdownEditor-DNT6t-06.js} +2 -2
  26. package/build/assets/{MarkdownEditor-B8e4Gkm4.js.map → MarkdownEditor-DNT6t-06.js.map} +1 -1
  27. package/build/assets/{MarkdownNotebook-B4aba6rK.js → MarkdownNotebook-BMG-D3nh.js} +2 -2
  28. package/build/assets/{MarkdownNotebook-B4aba6rK.js.map → MarkdownNotebook-BMG-D3nh.js.map} +1 -1
  29. package/build/assets/{MissingPartitionError-Bl2CfsDY.js → MissingPartitionError-CweDgNeu.js} +3 -3
  30. package/build/assets/MissingPartitionError-CweDgNeu.js.map +1 -0
  31. package/build/assets/{StyleGuideRoot-Cosmv3hl.js → StyleGuideRoot-DTy8Gv0L.js} +2 -2
  32. package/build/assets/{StyleGuideRoot-Cosmv3hl.js.map → StyleGuideRoot-DTy8Gv0L.js.map} +1 -1
  33. package/build/assets/index-BMyH9To3.js +2 -0
  34. package/build/assets/{index-DYyYX0N7.js.map → index-BMyH9To3.js.map} +1 -1
  35. package/build/assets/{index-CnIcIL5M.js → index-BbT_j89C.js} +3 -3
  36. package/build/assets/{index-CnIcIL5M.js.map → index-BbT_j89C.js.map} +1 -1
  37. package/build/assets/{index-DtBh_y9-.js → index-CvK_72dS.js} +4 -4
  38. package/build/assets/{index-DtBh_y9-.js.map → index-CvK_72dS.js.map} +1 -1
  39. package/build/index.html +2 -2
  40. package/package.json +31 -31
  41. package/build/assets/Grid-BjYPeiPZ.js +0 -4
  42. package/build/assets/Grid-BjYPeiPZ.js.map +0 -1
  43. package/build/assets/IrisGrid-BWPwyT1k.js +0 -3
  44. package/build/assets/IrisGrid-BWPwyT1k.js.map +0 -1
  45. package/build/assets/IrisGridModel-DVQ6ADFo.js.map +0 -1
  46. package/build/assets/IrisGridThemeProvider-LgvlBqq_.js +0 -11
  47. package/build/assets/IrisGridThemeProvider-LgvlBqq_.js.map +0 -1
  48. package/build/assets/MissingPartitionError-Bl2CfsDY.js.map +0 -1
  49. package/build/assets/TokenBoxCellRenderer-BX2ktCBK.js +0 -2
  50. package/build/assets/TokenBoxCellRenderer-BX2ktCBK.js.map +0 -1
  51. package/build/assets/index-DYyYX0N7.js +0 -2
  52. /package/build/assets/{TokenBoxCellRenderer-CnOjKPv1.css → GridTokenMouseHandler-CnOjKPv1.css} +0 -0
package/build/index.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <base href="./" />
5
- <meta name="ui-version" content="v0.99.2" />
5
+ <meta name="ui-version" content="v0.100.0" />
6
6
  <meta charset="utf-8" />
7
7
  <meta
8
8
  name="viewport"
@@ -12,7 +12,7 @@
12
12
  <link rel="manifest" href="./manifest.json" />
13
13
  <link rel="icon" href="./favicon-cc-app.svg" />
14
14
  <title>Deephaven</title>
15
- <script type="module" crossorigin src="./assets/index-CnIcIL5M.js"></script>
15
+ <script type="module" crossorigin src="./assets/index-BbT_j89C.js"></script>
16
16
  <link rel="modulepreload" crossorigin href="./assets/monaco-BVlTSxnv.js">
17
17
  <link rel="modulepreload" crossorigin href="./assets/helpers-BosuxZz1.js">
18
18
  <link rel="modulepreload" crossorigin href="./assets/vendor--auZyZHQ.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/code-studio",
3
- "version": "0.99.2",
3
+ "version": "0.100.1-beta.0+90c9fc8e",
4
4
  "description": "Deephaven Code Studio",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -12,31 +12,31 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@adobe/react-spectrum": "3.38.0",
15
- "@deephaven/app-utils": "^0.99.2",
16
- "@deephaven/auth-plugins": "^0.99.1",
17
- "@deephaven/chart": "^0.99.1",
18
- "@deephaven/components": "^0.99.1",
19
- "@deephaven/console": "^0.99.1",
20
- "@deephaven/dashboard": "^0.99.1",
21
- "@deephaven/dashboard-core-plugins": "^0.99.2",
22
- "@deephaven/file-explorer": "^0.99.1",
23
- "@deephaven/filters": "^0.99.0",
24
- "@deephaven/golden-layout": "^0.99.1",
25
- "@deephaven/grid": "^0.99.0",
26
- "@deephaven/icons": "^0.99.0",
27
- "@deephaven/iris-grid": "^0.99.1",
28
- "@deephaven/jsapi-bootstrap": "^0.99.1",
29
- "@deephaven/jsapi-components": "^0.99.1",
30
- "@deephaven/jsapi-shim": "^0.99.0",
15
+ "@deephaven/app-utils": "^0.100.1-beta.0+90c9fc8e",
16
+ "@deephaven/auth-plugins": "^0.100.1-beta.0+90c9fc8e",
17
+ "@deephaven/chart": "^0.100.1-beta.0+90c9fc8e",
18
+ "@deephaven/components": "^0.100.1-beta.0+90c9fc8e",
19
+ "@deephaven/console": "^0.100.1-beta.0+90c9fc8e",
20
+ "@deephaven/dashboard": "^0.100.1-beta.0+90c9fc8e",
21
+ "@deephaven/dashboard-core-plugins": "^0.100.1-beta.0+90c9fc8e",
22
+ "@deephaven/file-explorer": "^0.100.1-beta.0+90c9fc8e",
23
+ "@deephaven/filters": "^0.100.1-beta.0+90c9fc8e",
24
+ "@deephaven/golden-layout": "^0.100.1-beta.0+90c9fc8e",
25
+ "@deephaven/grid": "^0.100.1-beta.0+90c9fc8e",
26
+ "@deephaven/icons": "^0.100.1-beta.0+90c9fc8e",
27
+ "@deephaven/iris-grid": "^0.100.1-beta.0+90c9fc8e",
28
+ "@deephaven/jsapi-bootstrap": "^0.100.1-beta.0+90c9fc8e",
29
+ "@deephaven/jsapi-components": "^0.100.1-beta.0+90c9fc8e",
30
+ "@deephaven/jsapi-shim": "^0.100.1-beta.0+90c9fc8e",
31
31
  "@deephaven/jsapi-types": "^1.0.0-dev0.34.0",
32
- "@deephaven/jsapi-utils": "^0.99.0",
33
- "@deephaven/log": "^0.99.0",
34
- "@deephaven/plugin": "^0.99.1",
35
- "@deephaven/pouch-storage": "^0.99.1",
36
- "@deephaven/react-hooks": "^0.99.1",
37
- "@deephaven/redux": "^0.99.1",
38
- "@deephaven/storage": "^0.99.0",
39
- "@deephaven/utils": "^0.99.0",
32
+ "@deephaven/jsapi-utils": "^0.100.1-beta.0+90c9fc8e",
33
+ "@deephaven/log": "^0.100.1-beta.0+90c9fc8e",
34
+ "@deephaven/plugin": "^0.100.1-beta.0+90c9fc8e",
35
+ "@deephaven/pouch-storage": "^0.100.1-beta.0+90c9fc8e",
36
+ "@deephaven/react-hooks": "^0.100.1-beta.0+90c9fc8e",
37
+ "@deephaven/redux": "^0.100.1-beta.0+90c9fc8e",
38
+ "@deephaven/storage": "^0.100.1-beta.0+90c9fc8e",
39
+ "@deephaven/utils": "^0.100.1-beta.0+90c9fc8e",
40
40
  "@fortawesome/fontawesome-svg-core": "^6.2.1",
41
41
  "@fortawesome/react-fontawesome": "^0.2.0",
42
42
  "bowser": "^2.11.0",
@@ -74,15 +74,15 @@
74
74
  "update-licenses": "npm-license > licenses.txt"
75
75
  },
76
76
  "devDependencies": {
77
- "@deephaven/eslint-config": "^0.99.0",
78
- "@deephaven/mocks": "^0.99.0",
79
- "@deephaven/prettier-config": "^0.99.0",
80
- "@deephaven/stylelint-config": "^0.99.0",
81
- "@deephaven/test-utils": "^0.99.0",
77
+ "@deephaven/eslint-config": "^0.100.1-beta.0+90c9fc8e",
78
+ "@deephaven/mocks": "^0.100.1-beta.0+90c9fc8e",
79
+ "@deephaven/prettier-config": "^0.100.1-beta.0+90c9fc8e",
80
+ "@deephaven/stylelint-config": "^0.100.1-beta.0+90c9fc8e",
81
+ "@deephaven/test-utils": "^0.100.1-beta.0+90c9fc8e",
82
82
  "autoprefixer": "^10.4.8"
83
83
  },
84
84
  "publishConfig": {
85
85
  "access": "public"
86
86
  },
87
- "gitHead": "bfd44f7f6f267b1073df69b315acd2351ef65eef"
87
+ "gitHead": "90c9fc8edbad304ff1b6f0105a6ff96f96c319ae"
88
88
  }
@@ -1,4 +0,0 @@
1
- import{ar as j,r as k,J,M as ae,a3 as F,V as Ee,ad as oe}from"./vendor--auZyZHQ.js";import{w as Pe,G as W,x as xe,o as A,q as Te,n as He,r as ke,y as Ke,p as Le,z as de,l as Be}from"./TokenBoxCellRenderer-BX2ktCBK.js";import{d as R,G as O,e as De,i as Oe,f as U}from"./IrisGridModel-DVQ6ADFo.js";import{e as Z,be as V}from"./index-CnIcIL5M.js";import{an as q}from"./ControlType-DcauuB76.js";function ve(n,e){var t=new Set([...Object.keys(n),...Object.keys(e)]),r=[];return t.forEach(i=>{n[i]!==e[i]&&r.push(i)}),r}function ce(n){if(n==null)throw new Pe("Expected 'val' to be defined, but received ".concat(n))}function Ie(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=Ve(n,"string");return typeof e=="symbol"?e:String(e)}function Ve(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 ge extends Error{constructor(){super(...arguments),Ie(this,"isPasteError",!0)}}function ee(n,e,t){return e=Ge(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ge(n){var e=Ue(n,"string");return typeof e=="symbol"?e:String(e)}function Ue(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 me=100;class ze extends W{constructor(){super(...arguments),ee(this,"startPoint",void 0),ee(this,"hasExtendedFloating",!1),ee(this,"timer",void 0),ee(this,"lastTriggerTime",void 0)}onDown(e,t,r){var{x:i,y:s,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=s-h;if(p<0||w<0||a==null&&p>d||l==null&&w>g)return!1;var v=R.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:s,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=R.getScrollDragBounds(u,r,i),m=0,f=0;if(h<d&&(s<c.x1?m=s-c.x1:s>c.x2&&(m=s-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:E,floatingRightColumnCount:M,columnCount:y,rowCount:D,bottom:x,right:P,topVisible:K,bottomVisible:b,leftVisible:T,rightVisible:G}=u;this.hasExtendedFloating||(r!==null&&r<S&&l>=S?(l=S,this.hasExtendedFloating=!0):r!==null&&r>=D-C&&l<D-C&&(l=D-C-1,this.hasExtendedFloating=!0),i!==null&&i<E&&o>=E?(o=E,this.hasExtendedFloating=!0):i!==null&&i>=y-M&&o<y-M&&(o=y-M-1,this.hasExtendedFloating=!0)),r!==null&&!R.isFloatingRow(r,u)&&R.isFloatingRow(l,u)&&(r>l&&l<g?l=K-1:r<l&&l>x&&(l=b+1)),i!==null&&!R.isFloatingColumn(i,u)&&R.isFloatingColumn(o,u)&&(i>o&&o<h?o=T-1:i<o&&o>P&&(o=G+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:s}=e;return s==null||i==null?!1:(t.clearSelectedRanges(),t.moveCursorToPosition(i,s),t.commitSelection(),!0)}onContextMenu(e,t,r){var i=t.getSelectedRanges(),s=O.containsCell(i,e.column,e.row);return!s&&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:s,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&&s!=null?s:0,v=i>0&&s!=null?s: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 s=this.lastTriggerTime!=null?me-Math.min(me,Date.now()-this.lastTriggerTime):0;this.timer=setTimeout(()=>{this.moveSelection(e,t,r,i),this.startTimer(e,t,r,i)},s)}stopTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}}function pe(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 B(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pe(Object(t),!0).forEach(function(r){N(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pe(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function N(n,e,t){return e=Ne(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ne(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)}var we=5,Ae=1e3/60,te=10;function z(n,e,t,r){var i,{modelColumns:s,movedColumns:a,allColumnXs:l,columnCount:o,allColumnWidths:u,userColumnWidths:h,calculatedColumnWidths:d,floatingLeftWidth:g,maxX:p}=t;if(e==null||n==null||n>o||n<0)return null;var w=(i=s.get(n))!==null&&i!==void 0?i:R.getModelIndex(n,a),v=r.getColumnHeaderGroup(w,e),c=v!=null,m,f,S;if(v!=null){var C,E,M,[y,D]=v.getVisibleRange(a);m=(C=l.get(y))!==null&&C!==void 0?C:g,f=((E=l.get(D))!==null&&E!==void 0?E:p)+((M=u.get(D))!==null&&M!==void 0?M:0),S=[y,D]}else{var x,P,K,b=l.get(n);if(b==null)return null;m=b,f=m+((x=(P=(K=u.get(n))!==null&&K!==void 0?K:h.get(w))!==null&&P!==void 0?P:d.get(w))!==null&&x!==void 0?x:0),S=[n,n]}return{visibleIndex:n,modelIndex:w,left:m,right:f,width:f-m,isColumnGroup:c,range:S,depth:e}}class Ye extends W{constructor(){super(...arguments),N(this,"cursor",null),N(this,"draggingOffset",void 0),N(this,"initialOffset",void 0),N(this,"initialGridPoint",void 0),N(this,"scrollingInterval",void 0),N(this,"scrollingDirection",void 0),N(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:s,leftOffset:a,userColumnWidths:l,calculatedColumnWidths:o,movedColumns:u,allColumnWidths:h}=r,d=i,g=a;if(t==="left")for(g-=te;g<0;){var p;d-=1;var w=R.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+=te;for(var c=h.get(i);c!==void 0&&g>c;){var m;d+=1,g-=c;var f=R.getModelIndex(i+1,u);c=(m=l.get(f))!==null&&m!==void 0?m:o.get(f),d>s&&(g=0,d=s)}}var{mouseX:S,mouseY:C}=e.state;r==null||S==null||C==null||(this.moveDraggingColumn(S,e,t==="left"?-te:te),e.setState({left:d,leftOffset:g}),(t==="left"&&d===0&&a===0||t==="right"&&d===s)&&this.clearScrollInterval())}},Ae))}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:s,columnHeaderDepth:a}=e,{metrics:l}=t;if(!l)throw new Error("Metrics not set");var o=z(s,a,l,r);if(s==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:s}=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)<we&&Math.abs(this.initialGridPoint.y-s)<we)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:s}=t;Z(s,"Metrics not set");var{gridX:a}=s;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}=s,w=r<0,v=z(this.draggingColumn.range[0],l,s,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(R.getColumnAtX(j(w?c:m,h,d)+a,s,!0),l,s,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 E,M=this.moveColumn(v,C[0],u);this.draggingOffset=e-((E=p.get(C[0]))!==null&&E!==void 0?E:0),this.draggingColumn=B(B({},this.draggingColumn),{},{left:e-this.draggingOffset-a}),this.clearScrollInterval(),t.setState({draggingColumn:this.draggingColumn,movedColumns:M});return}if(f.visibleIndex>C[1]){var y,D=this.moveColumn(v,C[1]-(v.range[1]-v.range[0]),u),{right:x=0}=(y=z(C[1],0,s,o))!==null&&y!==void 0?y:{};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:D});return}}if(!o.isColumnMovable(f.modelIndex)){var P=f.visibleIndex;if(w)for(P+=1;P<v.visibleIndex&&!o.isColumnMovable(R.getModelIndex(P,u));)P+=1;else for(P-=1;P>v.visibleIndex&&!o.isColumnMovable(R.getModelIndex(P,u));)P-=1;if(P!==v.visibleIndex){w||(P-=v.range[1]-v.range[0]);var K=this.moveColumn(v,P,u);t.setState({movedColumns:K,draggingColumn:this.draggingColumn})}var b=z(P,0,s,o);if(w){var T;this.draggingOffset=e-((T=b==null?void 0:b.left)!==null&&T!==void 0?T:0)}else{var G;this.draggingOffset=e-(((G=b==null?void 0:b.right)!==null&&G!==void 0?G: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,ne=o.getColumnHeaderParentGroup(v.modelIndex,v.depth),X,se=((i=ne==null?void 0:ne.depth)!==null&&i!==void 0?i:g)-1;se>=0&&X===void 0;)X=o.getColumnHeaderGroup(f.modelIndex,se),se-=1;var $;w&&c<Q&&(!X||f.visibleIndex===X.getVisibleRange(u)[0])&&($=this.moveColumn(v,f.range[0],u)),!w&&m>Q&&(!X||f.visibleIndex===X.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?R.moveRange(e.range,t,r):R.moveItem(e.visibleIndex,t,r),s=t-e.range[0],a=[e.range[0]+s,e.range[1]+s];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 Ce(n,e,t){return e=je(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function je(n){var e=Xe(n,"string");return typeof e=="symbol"?e:String(e)}function Xe(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 le extends W{constructor(){super(...arguments),Ce(this,"dragOffset",void 0),Ce(this,"cursor","default")}static getLeftWithOffsetFromRawLeft(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:s}=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=s.getVisibleColumnWidth(o,d)}var g=h*u;return{left:o,leftOffset:g}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:s}=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-s&&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:s}=e,{barWidth:a,handleWidth:l,lastLeft:o,barLeft:u,columnCount:h,scrollableContentWidth:d,scrollableViewportWidth:g}=i,p=s-u,w=j((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 le.getLeftWithOffsetFromRawLeft(t,v)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{x:i}=e,{handleWidth:s,barLeft:a,scrollX:l}=r;if(!this.isInScrollBar(e,t))return!1;var o=i-a;if(o>=l&&o<=l+s)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 Se(n,e,t){return e=qe(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qe(n){var e=Qe(n,"string");return typeof e=="symbol"?e:String(e)}function Qe(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 Je extends W{constructor(){super(...arguments),Se(this,"cursor","move"),Se(this,"draggingOffset",void 0)}onDown(e,t){var{model:r}=t.props,{x:i,y:s,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=V(h,a);this.draggingOffset=s-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:s,mouseY:a}=t.state;if(s==null||a==null)return!1;if(i==null){var{row:l}=t.getGridPointFromXY(s,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=V(c,S)+V(v,S)*.5+w}var C=m;if(i<d){var E=i+1;C=V(c,E)+V(v,E)*.5+w}var{movedRows:M}=t.state;a<f&&i>0&&r.isRowMovable(i-1)?(M=R.moveItem(i,i-1,M),i-=1):C<a&&i<p-1&&r.isRowMovable(i+1)&&(M=R.moveItem(i,i+1,M),i+=1),t.setState({movedRows:M,draggingRow:i});var y=w+V(v,u)*.5,D=w+V(c,g)+V(v,g)*.5;return a<y&&u>0?t.setState({top:u-1}):a>D&&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 L(n,e,t){return e=Ze(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ze(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 ue extends xe{constructor(){super(...arguments),L(this,"hiddenCursor","s-resize"),L(this,"defaultCursor","row-resize"),L(this,"pointProperty","y"),L(this,"userSizesProperty","userRowHeights"),L(this,"visibleOffsetProperty","visibleRowYs"),L(this,"visibleSizesProperty","visibleRowHeights"),L(this,"marginProperty","columnHeaderHeight"),L(this,"calculatedSizesProperty","calculatedRowHeights"),L(this,"initialSizesProperty","initialRowHeights"),L(this,"modelIndexesProperty","modelRows"),L(this,"firstIndexProperty","firstRow"),L(this,"treePaddingProperty","treePaddingY"),L(this,"getHiddenItems",R.getHiddenRows),L(this,"getNextShownItem",R.getNextShownRow),L(this,"getSeparator",ue.getRowSeparator)}static getRowSeparator(e,t,r,i){if(!i.allowRowResize)return null;var{x:s,y:a}=e,l=R.getRowSeparatorIndex(s,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 $e extends W{isInCorner(e,t){var r=t.getTheme(),{scrollBarSize:i}=r,{metrics:s}=t;if(!s)throw new Error("metrics not set");var{x:a,y:l}=e,{width:o,height:u,hasVerticalBar:h,hasHorizontalBar:d}=s;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 ye(n,e,t){return e=et(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function et(n){var e=tt(n,"string");return typeof e=="symbol"?e:String(e)}function tt(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 he extends W{constructor(){super(...arguments),ye(this,"dragOffset",void 0),ye(this,"cursor","default")}static getTopWithOffsetFromRawTop(e,t){var r=e.getTheme(),{metrics:i,metricCalculator:s}=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=s.getVisibleRowHeight(o,d)}var g=h*u;return{top:o,topOffset:g}}isInScrollBar(e,t){var r=t.getTheme(),{scrollBarSize:i,scrollBarHoverSize:s}=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-s&&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:s}=e,{barHeight:a,handleHeight:l,lastTop:o,barTop:u,rowCount:h,scrollableContentHeight:d,scrollableViewportHeight:g}=i,p=s-u,w=j((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 he.getTopWithOffsetFromRawTop(t,v)}onDown(e,t){var{metrics:r}=t;if(!r)throw new Error("metrics not set");var{y:i}=e,{handleHeight:s,barTop:a,scrollY:l}=r;if(!this.isInScrollBar(e,t))return!1;var o=i-a;if(o>=l&&o<=l+s)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 rt extends W{onDoubleClick(e,t){var{column:r,row:i}=e,{model:s}=t.props;return A(s)&&r!=null&&i!=null&&s.isEditableRange(O.makeCell(r,i))?(t.startEditing(r,i),!0):!1}}function _(n,e,t){return e=it(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function it(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)}class re extends W{constructor(){super(...arguments),_(this,"timeoutId",void 0),_(this,"isHold",!1),_(this,"isDown",!1),_(this,"currentLinkBox",void 0)}isHoveringLink(e,t){var{column:r,row:i,x:s,y:a}=e,{renderer:l,metrics:o,props:u}=t,{model:h}=u;if(r==null||i==null||o==null)return this.currentLinkBox=void 0,!1;var{modelRows:d,modelColumns:g}=o,p=V(d,i),w=V(g,r),v=h.renderTypeForCell(w,p),c=l.getCellRenderer(v);if(!Te(c))return!1;if(this.currentLinkBox!=null){var{x1:m,y1:f,x2:S,y2:C}=this.currentLinkBox;if(s>=m&&s<=S&&a>=f&&a<=C)return!0}for(var E=t.updateRenderState(),M=c.getTokenBoxesForVisibleCell(r,i,E),y=0;y<M.length;y+=1)if(De(M[y].token)){var D=R.translateTokenBox(M[y],o),{x1:x,x2:P,y1:K,y2:b}=D;if(s>=x&&s<=P&&a>=K&&a<=b)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 R.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:s,row:a}=e,{model:l}=t.props;t.clearSelectedRanges(),t.focus(),t.moveCursorToPosition(s,a),A(l)&&s!=null&&a!=null&&l.isEditableRange(O.makeCell(s,a))&&t.startEditing(s,a)},re.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}}_(re,"HOLD_LENGTH",1e3);function Re(n,e,t){return e=st(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function st(n){var e=at(n,"string");return typeof e=="symbol"?e:String(e)}function at(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 ie{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5e3;Re(this,"order",void 0),Re(this,"cursor",null),this.order=e}onDown(e,t){return!1}onUp(e,t){return!1}}class ot extends ie{onDown(e,t){switch(e.key){case"a":if(R.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 R.isModifierKeyDown(e)?!1:this.handlePageUp(e,t);case"j":case"J":return R.isModifierKeyDown(e)?!1:this.handlePageDown(e,t);case"h":case"H":return R.isModifierKeyDown(e)?!1:(e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(0,t.state.cursorRow,e.shiftKey),!0);case"l":case"L":{if(R.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(R.isModifierKeyDown(e)?t.state.cursorColumn:0,R.isModifierKeyDown(e)?0:t.state.cursorRow,e.shiftKey,!0,!0),!0;case"End":{var{model:s}=t.props,{columnCount:a,rowCount:l}=s;return e.shiftKey||t.clearSelectedRanges(),t.moveCursorToPosition(R.isModifierKeyDown(e)?t.state.cursorColumn:a-1,R.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?O.SELECTION_DIRECTION.UP:O.SELECTION_DIRECTION.DOWN),!0;break;case"Tab":if(t.state.selectedRanges.length>0)return t.moveCursorInDirection(e.shiftKey?O.SELECTION_DIRECTION.LEFT:O.SELECTION_DIRECTION.RIGHT),!0;break}return!1}handleArrowMove(e,t,r,i){var s=r.shiftKey,a=R.isModifierKeyDown(r);s?i.trimSelectedRanges():i.clearSelectedRanges();var{cursorRow:l,cursorColumn:o,selectionEndColumn:u,selectionEndRow:h}=i.state,d=s?u:o,g=s?h:l;if(a){var{model:p}=i.props,{columnCount:w,rowCount:v}=p,c=a&&s,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,s,!0,c)}else{if(!i.metrics)throw new Error("grid.metrics are not set");var{theme:S}=i.props,{autoSelectRow:C=!1,autoSelectColumn:E=!1}=S;if(C&&e!==0){var{lastLeft:M}=i.metrics,{left:y}=i.state;y=j(y+e,0,M),i.moveCursorToPosition(y,l,s,!1),i.setViewState({left:y})}else if(E&&t!==0){var{lastTop:D}=i.metrics,{top:x}=i.state;x=j(x+t,0,D),i.moveCursorToPosition(x,o,s,!1),i.setViewState({top:x})}else i.moveCursor(e,t,s)}return!0}handlePageUp(e,t){var r=e.shiftKey;r?t.trimSelectedRanges():t.clearSelectedRanges();var{cursorColumn:i,selectionEndRow:s}=t.state,a=s,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:s}=t.state,a=i,l=s;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 lt extends ie{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:s}=t.props,{startRow:a,startColumn:l}=i;if(a!=null){var o=t.getModelRow(a);if((l===0||l==null)&&Oe(s)&&s.isRowExpandable(o))return t.toggleRowExpanded(a),!0}}}return!1}}class ut extends ie{onDown(e,t){if(R.isModifierKeyDown(e))return!1;var{model:r}=t.props,{cursorColumn:i,cursorRow:s}=t.state;if(i==null||s==null||!A(r)||!r.isEditableRange(O.makeCell(i,s)))return!1;var a=i,l=s;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 ht(n){for(var e=[],t=n.querySelectorAll("tr"),r=0;r<t.length;r+=1){for(var i=t[r],s=i.querySelectorAll("td"),a=[],l=0;l<s.length;l+=1){var o,u,h=s[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 ft(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 dt(n){var e,t,r=n.querySelector("table");if(r!=null)return ht(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:s}=n,a=i.includes(" "),l=i.includes("    ");return a&&s.length!==0&&(s.length===1||s.length>1&&(s[0].textContent==null||!s[0].textContent.includes(" ")))?i.split(`
2
- `).map(o=>o.split(" ")):s.length>1||l?ft(n.childNodes):i}return null}class vt extends ie{onDown(e,t){switch(e.key){case"v":if(R.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 s=dt(r);s!=null&&t.pasteValue(s)};return r.addEventListener("input",i),r.focus(),{preventDefault:!1,stopPropagation:!0}}break}return!1}}var ct=n=>{switch(n){case"ArrowDown":return U.DOWN;case"ArrowUp":return U.UP;case"ArrowLeft":return U.LEFT;case"ArrowRight":return U.RIGHT;default:return}};function fe(n){var{selectionRange:e=void 0,className:t="",disabled:r=!1,value:i="",isQuickEdit:s=!0,onChange:a=()=>{},onCancel:l=()=>{},onDone:o=()=>{},onContextMenu:u=()=>{},style:h={}}=n,d=k.useRef(null),g=k.useRef(!1),[p]=k.useState(i),[w,v]=k.useState(!1),[c,m]=k.useState(s),[f,S]=k.useState(i);k.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=k.useCallback(b=>{a(b)},[a]),E=k.useCallback(b=>{var{value:T}=b.target;S(T),v(!0),C(T)},[C,S,v]),M=k.useCallback(()=>{g.current=!0,w&&C(p),v(!1),l()},[p,w,l,C]),y=k.useCallback(()=>{m(!1)},[m]),D=k.useCallback(function(b){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;o(f,{direction:b,fillRange:T})},[o,f]),x=k.useCallback(()=>{g.current||D(null)},[g,D]),P=k.useCallback(b=>{switch(b.stopPropagation(),b.key){case"Escape":b.preventDefault(),M();break;case"Enter":if(b.preventDefault(),R.isModifierKeyDown(b))D(void 0,!0);else if(b.altKey){var T="".concat(f,`
3
- `);S(T),v(!0),C(T)}else D(b.shiftKey?U.UP:U.DOWN);break;case"Tab":b.preventDefault(),D(b.shiftKey?U.LEFT:U.RIGHT);break;case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":c&&(b.preventDefault(),D(ct(b.key)));break}},[M,D,c,S,v,C,f]),K=k.useCallback(b=>{u(b)},[u]);return J.jsx("textarea",{ref:d,className:ae("grid-cell-input-field",t),value:f,onBlur:x,onChange:E,onKeyDown:P,onContextMenu:K,onClick:y,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:r,style:h})}fe.propTypes={selectionRange:F.arrayOf(F.number),className:F.string,disabled:F.bool,isQuickEdit:F.bool,value:F.string,onChange:F.func,onCancel:F.func,onDone:F.func,onContextMenu:F.func,style:F.shape({})};fe.defaultProps={selectionRange:null,className:"",disabled:!1,value:"",isQuickEdit:!0,onChange:()=>{},onCancel:()=>{},onDone:()=>{},onContextMenu:()=>{},style:{}};var gt=Ee.createContext({});function be(n,e,t,r,i,s,a){try{var l=n[s](a),o=l.value}catch(u){t(u);return}l.done?e(o):Promise.resolve(o).then(r,i)}function mt(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var s=n.apply(e,t);function a(o){be(s,r,i,a,l,"next",o)}function l(o){be(s,r,i,a,l,"throw",o)}a(void 0)})}}function Me(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 Y(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Me(Object(t),!0).forEach(function(r){H(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Me(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function H(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=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 I extends k.PureComponent{static getScale(e){var t,r,i,s,a,l=window.devicePixelRatio||1,o=e,u=(t=(r=(i=(s=(a=o.webkitBackingStorePixelRatio)!==null&&a!==void 0?a:o.mozBackingStorePixelRatio)!==null&&s!==void 0?s: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),H(this,"renderer",void 0),H(this,"metricCalculator",void 0),H(this,"canvas",void 0),H(this,"canvasContext",void 0),H(this,"canvasWrapper",void 0),H(this,"resizeObserver",void 0),H(this,"animationFrame",void 0),H(this,"prevMetrics",void 0),H(this,"metrics",void 0),H(this,"renderState",void 0),H(this,"documentCursor",void 0),H(this,"dragTimer",void 0),H(this,"keyHandlers",void 0),H(this,"mouseHandlers",void 0),H(this,"getCachedKeyHandlers",oe(o=>[...o,...this.keyHandlers].sort((u,h)=>u.order-h.order))),H(this,"getCachedMouseHandlers",oe(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:s,movedRows:a,renderer:l}=e;this.renderer=l||new He,this.metricCalculator=i||new ke,this.canvas=null,this.canvasContext=null,this.canvasWrapper=Ee.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 ut(400),new vt(450),new ot(500),new lt(900)],this.mouseHandlers=[new ue(100),new Ke(200),new Je(300),new Ye(400),new rt(450),new he(500),new le(600),new $e(700),new Le(800),new re(875),new ze(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:s,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=ve(e,this.props),s=ve(t,this.state);if(!(i.length===1&&i[0]==="children"&&s.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:E,movedColumns:M,movedRows:y}=this.state;c!==o&&this.setState({movedColumns:o}),m!==u&&this.setState({movedRows:u}),f!==M&&h(M),t.draggingColumn!=null&&C==null&&d(M),S!==y&&g(y),t.draggingRow!=null&&E==null&&p(y),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 I.getTheme(this.context,e)}getGridPointFromEvent(e){ce(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 R.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 s=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 Y({left:o,top:u,leftOffset:h,topOffset:d,width:a,height:l,context:s,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;Oe(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:s,cursorColumn:a,selectedRanges:l}=this.state;if(this.setState({selectedRanges:e,lastSelectedRanges:l}),e.length>0){var o=O.boundedRange(e[0],r,i),u=s,h=a;o.containsCell(a,s)||({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(),s=Math.floor(i.width),a=Math.floor(i.height);if(!(parseFloat(e.style.width)===s&&parseFloat(e.style.height)===a)){var l=I.getScale(t);e.style.width="".concat(s,"px"),e.style.height="".concat(a,"px"),e.width=s*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:s,columnCount:a,height:l,width:o}=this.prevMetrics;if(s!==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,s=0;s<t.length;s+=1){var a=t[s];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(s=>{var{selectedRanges:a,selectionStartRow:l,selectionStartColumn:o}=s,{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 E=O.makeNormalized(p,w,v,c);if(g.equals(E))return null;var M=[...a];return M[M.length-1]=E,{selectedRanges:M,selectionEndColumn:e,selectionEndRow:t}}var y=[...a],D=h!==void 0&&h?null:e,x=d!==void 0&&d?null:t;return y.push(O.makeNormalized(D,x,D,x)),{selectedRanges:y,selectionEndColumn:e,selectionEndRow:t}})}commitSelection(){this.setState(e=>{var{theme:t}=this.props,{autoSelectRow:r}=t,{selectedRanges:i,lastSelectedRanges:s,cursorRow:a,cursorColumn:l}=e;if(i.length===1&&(r!==void 0&&r?O.rowCount(i)===1:O.cellCount(i)===1)&&O.rangeArraysEqual(i,s))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=O.consolidate(o)}var p=l,w=a;if(!O.containsCell(o,l,a)){var{model:v}=this.props,{columnCount:c,rowCount:m}=v,f=O.nextCell(O.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:s,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(s,d),selectedRanges:[new O(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,s=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 O(l,s,o,a)])}moveCursor(e,t,r){var{cursorRow:i,cursorColumn:s,selectionEndColumn:a,selectionEndRow:l}=this.state,o=r?a:s,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=j(o+e,0,p-1),c=j(u+t,0,w-1);this.moveCursorToPosition(v,c,r)}}moveCursorInDirection(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O.SELECTION_DIRECTION.DOWN,{model:t}=this.props,{columnCount:r,rowCount:i}=t,{cursorRow:s,cursorColumn:a,selectedRanges:l}=this.state,o=l.length>0?l:[O.makeCell(a,s)],u=null;if(o.length===1&&O.cellCount(o)===1){var h,d=new O(0,0,r-1,i-1);u=(h=d.nextCell(a,s,e))!==null&&h!==void 0?h:d.startCell(e)}else u=O.nextCell(O.boundedRanges(o,r,i),a,s,e);if(u!=null){var{column:g,row:p}=u;this.setState({cursorColumn:g,cursorRow:p}),O.containsCell(l,g,p)||this.setState({selectedRanges:[O.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,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;r||this.beginSelection(e,t),this.moveSelection(e,t,r,s),i&&this.moveViewToCell(e,t)}moveViewToCell(e,t){if(!this.metrics)throw new Error("metrics not set");var{metricCalculator:r}=this,{bottomVisible:i,rightVisible:s,topVisible:a,leftVisible:l}=this.metrics,o=this.getMetricState(this.state),{top:u,left:h,topOffset:d,leftOffset:g}=this.state;t!=null&&!R.isFloatingRow(t,this.metrics)&&(t<a?(u=r.getTopForTopVisible(o,t),d=0):t>i&&(u=r.getTopForBottomVisible(o,t),d=0)),e!=null&&!R.isFloatingColumn(e,this.metrics)&&(e<l?(h=r.getLeftForLeftVisible(o,e),g=0):e>s&&(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:s,left:a}=e,{lastTop:l,lastLeft:o,hasVerticalBar:u,hasHorizontalBar:h}=this.metrics;s!=null&&u&&this.setState({isStuckToBottom:r&&s>=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,s=arguments.length>4?arguments[4]:void 0,{model:a}=this.props;if(!A(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:s!==void 0?s: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,s=this.getModelColumn(e),a=this.getModelRow(t);return A(i)&&i.isValidForCell(s,a,r)}pasteValue(e){var t=this;return mt(function*(){var{model:r}=t.props,{movedColumns:i,movedRows:s,selectedRanges:a}=t.state;try{if(de(r),!r.isEditable||!a.every(c=>r.isEditableRange(c)))throw new ge("Can't paste in to read-only area.");if(a.length<=0)throw new ge("Select an area to paste to.");if(typeof e=="string"){var l=[],o=R.getModelRanges(a,i,s);O.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 O.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 O(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=>{for(var m=0;m<h;m+=1)for(var f=0;f<u;f+=1){var S,C;w.push({column:((S=c.startColumn)!==null&&S!==void 0?S:0)+m,row:((C=c.startRow)!==null&&C!==void 0?C:0)+f,text:e[f][m]})}}),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 s=this.getModelColumn(e),a=this.getModelRow(t);return i.isValidForCell(s,a,r)?(i.setValueForCell(s,a,r),!0):!1}setValueForRanges(e,t){var{model:r}=this.props,{movedColumns:i,movedRows:s}=this.state,a=R.getModelRanges(e,i,s);A(r)&&r.setValueForRanges(a,t)}isSelected(e,t){for(var{selectedRanges:r}=this.state,i=0;i<r.length;i+=1){var s,a,l=r[i],o=l.startRow===null||l.startRow<=e&&e<=((s=l.endRow)!==null&&s!==void 0?s: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!==I.getCursorClassName(e)&&(this.documentCursor!=null&&document.documentElement.classList.remove(this.documentCursor),this.documentCursor=I.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)},I.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(),s=0;s<i.length;s+=1){var a=i[s];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 s=r[i];if(s.onContextMenu(t,this,e)!==!1){e.stopPropagation(),e.preventDefault();break}}}notifyKeyboardHandlers(e,t){for(var r=this.getKeyHandlers(),i=null,s=0;s<r.length;s+=1){var a=r[s],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,s=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](s,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}=s;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:s,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:E}=R.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 M=u-h;if(f>=M){f=M;break}}if(f>0){var y,D=(y=r.allColumnWidths.get(c))!==null&&y!==void 0?y:t.getVisibleColumnWidth(c,i);f>=D?(C=f-D,f=0,c+=1):S.scrollSnapToColumn&&l>1&&(f=0,c+=1)}else if(f<0){var x,P=(x=r.allColumnWidths.get(c-1))!==null&&x!==void 0?x:t.getVisibleColumnWidth(c-1,i);Math.abs(f)<=P&&S.scrollSnapToColumn&&l>1?(f=0,c-=1):(C=f+P,f=0,c-=1)}}for(;w&&E!==0;){if(m+=E,E=0,o>1){if(m>0&&v>=s||m<0&&v<=0){m=0;break}}else{if(m<=0){m=0;break}var K=d-g;if(m>=K){m=K;break}}if(m>0){var b,T=(b=r.allRowHeights.get(v))!==null&&b!==void 0?b:t.getVisibleRowHeight(v,i);m>=T?(E=m-T,m=0,v+=1):S.scrollSnapToRow&&o>1&&(m=0,v+=1)}else if(m<0){var G,Q=(G=r.allRowHeights.get(v-1))!==null&&G!==void 0?G:t.getVisibleRowHeight(v-1,i);Math.abs(m)<=Q&&S.scrollSnapToRow&&o>1?(m=0,v-=1):(E=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 ce(r),{editingCell:Y(Y({},r),{},{value:e})}}catch(s){var{onError:i}=this.props;return i(s instanceof Error?s:new Error("".concat(s))),null}})}handleEditCellCommit(e){var{direction:t=U.DOWN,fillRange:r=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{editingCell:i,selectedRanges:s}=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(s,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||!A(e))return null;var{selectionRange:i,value:s,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),E=h+(m??0)<=0&&u<=0?c:0,M=m!=null&&f!=null&&S!=null&&C!=null?{position:"absolute",left:h+m+E,top:d+f,width:S-E,height:C}:{opacity:0},y,D;try{y=this.getModelColumn(l),D=this.getModelRow(o)}catch{return null}var x=y!=null&&D!=null?{textAlign:e.textAlignForCell(y,D)}:void 0,P=y!=null&&D!=null?e.isValidForCell(y,D,s):!1;return J.jsx("div",{style:M,children:J.jsx(fe,{selectionRange:i,className:ae({error:!P}),onCancel:this.handleEditCellCancel,onChange:this.handleEditCellChange,onDone:this.handleEditCellCommit,isQuickEdit:a,style:x,value:s},"".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:s,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,E=this.canvas.clientHeight;return Z(m),this.renderState=Y({width:C,height:E,context:f,theme:S,model:v,metrics:m,mouseX:g,mouseY:p,selectedRanges:w,draggingColumn:r,draggingColumnSeparator:i,draggingRow:s,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:ae("grid-canvas",I.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]})}}H(I,"contextType",gt);H(I,"defaultProps",{canvasOptions:{alpha:!1},isStickyBottom:!1,isStickyRight:!1,isStuckToBottom:!1,isStuckToRight:!1,keyHandlers:q,mouseHandlers:q,movedColumns:q,movedRows:q,onError:()=>{},onSelectionChanged:()=>{},onMovedColumnsChanged:n=>{},onMoveColumnComplete:()=>{},onMovedRowsChanged:()=>{},onMoveRowComplete:()=>{},onViewChanged:n=>{},onTokenClicked:n=>{De(n)&&window.open(n.href,"_blank","noopener,noreferrer")},stateOverride:{},theme:{autoSelectColumn:!1,autoSelectRow:!1}});H(I,"pixelsPerLine",100/3);H(I,"dragTimeout",1e3);H(I,"getTheme",oe((n,e)=>Y(Y(Y({},Be),n),e)));export{I as G,ie as K,gt as T};
4
- //# sourceMappingURL=Grid-BjYPeiPZ.js.map