@deephaven/grid 0.6.3-beta.0 → 0.7.1-alpha.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.
@@ -22,7 +22,7 @@ export var directionForKey = key => {
22
22
  return null;
23
23
  }
24
24
  };
25
- export var CellInputField = (_ref) => {
25
+ export var CellInputField = _ref => {
26
26
  var {
27
27
  selectionRange = undefined,
28
28
  className = '',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/CellInputField.tsx"],"names":["React","useCallback","useEffect","useRef","useState","PropTypes","classNames","GridRange","GridUtils","directionForKey","key","SELECTION_DIRECTION","DOWN","UP","LEFT","RIGHT","CellInputField","selectionRange","undefined","className","disabled","value","propsValue","isQuickEdit","propsIsQuickEdit","onChange","onCancel","onDone","onContextMenu","style","inputField","isCancelled","initialValue","isChanged","setIsChanged","setIsQuickEdit","setValue","current","field","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","shiftKey","handleContextMenu","propTypes","arrayOf","number","string","bool","func","shape","defaultProps"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport GridRange from './GridRange';\nimport GridUtils from './GridUtils';\nimport './CellInputField.scss';\n\nexport type GridRangeSelectionDirection = string;\n\nexport type CellInputFieldProps = {\n selectionRange?: number[];\n className?: string;\n disabled?: boolean;\n isQuickEdit?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onCancel?: () => void;\n onDone?: (\n value: string,\n options: {\n direction: GridRangeSelectionDirection | null;\n fillRange: boolean;\n }\n ) => void;\n onContextMenu?: React.MouseEventHandler<HTMLTextAreaElement>;\n style?: React.CSSProperties;\n};\n\nexport const directionForKey = (\n key: string\n): GridRangeSelectionDirection | null => {\n switch (key) {\n case 'ArrowDown':\n return GridRange.SELECTION_DIRECTION.DOWN;\n case 'ArrowUp':\n return GridRange.SELECTION_DIRECTION.UP;\n case 'ArrowLeft':\n return GridRange.SELECTION_DIRECTION.LEFT;\n case 'ArrowRight':\n return GridRange.SELECTION_DIRECTION.RIGHT;\n default:\n return null;\n }\n};\n\nexport const CellInputField = ({\n selectionRange = undefined,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = () => undefined,\n onCancel = () => undefined,\n onDone = () => undefined,\n onContextMenu = () => undefined,\n style = {},\n}: CellInputFieldProps): JSX.Element => {\n const inputField = useRef<HTMLTextAreaElement>(null);\n // Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well\n const isCancelled = useRef<boolean>(false);\n const [initialValue] = useState(propsValue);\n const [isChanged, setIsChanged] = useState(false);\n const [isQuickEdit, setIsQuickEdit] = useState(propsIsQuickEdit);\n const [value, setValue] = useState(propsValue);\n\n // Init field selection\n useEffect(() => {\n const { current: field } = inputField;\n if (field == null) {\n return;\n }\n\n field.focus();\n if (selectionRange) {\n field.setSelectionRange(selectionRange[0], selectionRange[1]);\n } else {\n field.setSelectionRange(field.value.length, field.value.length);\n }\n }, [selectionRange]);\n\n const sendUpdate = useCallback(\n (newValue: string) => {\n onChange(newValue);\n },\n [onChange]\n );\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value: newValue } = event.target;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n },\n [sendUpdate, setValue, setIsChanged]\n );\n\n const handleCancel = useCallback(() => {\n isCancelled.current = true;\n if (isChanged) {\n sendUpdate(initialValue);\n }\n\n setIsChanged(false);\n onCancel();\n }, [initialValue, isChanged, onCancel, sendUpdate]);\n\n const handleClick = useCallback(() => {\n setIsQuickEdit(false);\n }, [setIsQuickEdit]);\n\n const handleCommit = useCallback(\n (\n direction: GridRangeSelectionDirection | null = GridRange\n .SELECTION_DIRECTION.DOWN,\n fillRange = false\n ) => {\n onDone(value, { direction, fillRange });\n },\n [onDone, value]\n );\n\n const handleBlur = useCallback(() => {\n if (isCancelled.current) {\n return;\n }\n\n handleCommit(null);\n }, [isCancelled, handleCommit]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n handleCancel();\n break;\n case 'Enter':\n event.preventDefault();\n if (GridUtils.isModifierKeyDown(event)) {\n handleCommit(null, true);\n } else if (event.altKey) {\n const newValue = `${value}\\n`;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n } else {\n handleCommit(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n }\n break;\n case 'Tab':\n event.preventDefault();\n handleCommit(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n if (isQuickEdit) {\n event.preventDefault();\n handleCommit(directionForKey(event.key));\n }\n break;\n default:\n break;\n }\n },\n [\n handleCancel,\n handleCommit,\n isQuickEdit,\n setValue,\n setIsChanged,\n sendUpdate,\n value,\n ]\n );\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<HTMLTextAreaElement, MouseEvent>) => {\n onContextMenu(event);\n },\n [onContextMenu]\n );\n\n return (\n <textarea\n ref={inputField}\n className={classNames('grid-cell-input-field', className)}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n disabled={disabled}\n style={style}\n />\n );\n};\n\nCellInputField.propTypes = {\n selectionRange: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isQuickEdit: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onDone: PropTypes.func,\n onContextMenu: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nCellInputField.defaultProps = {\n selectionRange: null,\n className: '',\n disabled: false,\n value: '',\n isQuickEdit: true,\n onChange: () => undefined,\n onCancel: () => undefined,\n onDone: () => undefined,\n onContextMenu: () => undefined,\n style: {},\n};\n\nexport default CellInputField;\n"],"file":"CellInputField.js"}
1
+ {"version":3,"sources":["../src/CellInputField.tsx"],"names":["React","useCallback","useEffect","useRef","useState","PropTypes","classNames","GridRange","GridUtils","directionForKey","key","SELECTION_DIRECTION","DOWN","UP","LEFT","RIGHT","CellInputField","selectionRange","undefined","className","disabled","value","propsValue","isQuickEdit","propsIsQuickEdit","onChange","onCancel","onDone","onContextMenu","style","inputField","isCancelled","initialValue","isChanged","setIsChanged","setIsQuickEdit","setValue","current","field","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","shiftKey","handleContextMenu","propTypes","arrayOf","number","string","bool","func","shape","defaultProps"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport GridRange from './GridRange';\nimport GridUtils from './GridUtils';\nimport './CellInputField.scss';\n\nexport type GridRangeSelectionDirection = string;\n\nexport type CellInputFieldProps = {\n selectionRange?: number[];\n className?: string;\n disabled?: boolean;\n isQuickEdit?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onCancel?: () => void;\n onDone?: (\n value: string,\n options: {\n direction: GridRangeSelectionDirection | null;\n fillRange: boolean;\n }\n ) => void;\n onContextMenu?: React.MouseEventHandler<HTMLTextAreaElement>;\n style?: React.CSSProperties;\n};\n\nexport const directionForKey = (\n key: string\n): GridRangeSelectionDirection | null => {\n switch (key) {\n case 'ArrowDown':\n return GridRange.SELECTION_DIRECTION.DOWN;\n case 'ArrowUp':\n return GridRange.SELECTION_DIRECTION.UP;\n case 'ArrowLeft':\n return GridRange.SELECTION_DIRECTION.LEFT;\n case 'ArrowRight':\n return GridRange.SELECTION_DIRECTION.RIGHT;\n default:\n return null;\n }\n};\n\nexport const CellInputField = ({\n selectionRange = undefined,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = () => undefined,\n onCancel = () => undefined,\n onDone = () => undefined,\n onContextMenu = () => undefined,\n style = {},\n}: CellInputFieldProps): JSX.Element => {\n const inputField = useRef<HTMLTextAreaElement>(null);\n // Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well\n const isCancelled = useRef<boolean>(false);\n const [initialValue] = useState(propsValue);\n const [isChanged, setIsChanged] = useState(false);\n const [isQuickEdit, setIsQuickEdit] = useState(propsIsQuickEdit);\n const [value, setValue] = useState(propsValue);\n\n // Init field selection\n useEffect(() => {\n const { current: field } = inputField;\n if (field == null) {\n return;\n }\n\n field.focus();\n if (selectionRange) {\n field.setSelectionRange(selectionRange[0], selectionRange[1]);\n } else {\n field.setSelectionRange(field.value.length, field.value.length);\n }\n }, [selectionRange]);\n\n const sendUpdate = useCallback(\n (newValue: string) => {\n onChange(newValue);\n },\n [onChange]\n );\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value: newValue } = event.target;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n },\n [sendUpdate, setValue, setIsChanged]\n );\n\n const handleCancel = useCallback(() => {\n isCancelled.current = true;\n if (isChanged) {\n sendUpdate(initialValue);\n }\n\n setIsChanged(false);\n onCancel();\n }, [initialValue, isChanged, onCancel, sendUpdate]);\n\n const handleClick = useCallback(() => {\n setIsQuickEdit(false);\n }, [setIsQuickEdit]);\n\n const handleCommit = useCallback(\n (\n direction: GridRangeSelectionDirection | null = GridRange\n .SELECTION_DIRECTION.DOWN,\n fillRange = false\n ) => {\n onDone(value, { direction, fillRange });\n },\n [onDone, value]\n );\n\n const handleBlur = useCallback(() => {\n if (isCancelled.current) {\n return;\n }\n\n handleCommit(null);\n }, [isCancelled, handleCommit]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n handleCancel();\n break;\n case 'Enter':\n event.preventDefault();\n if (GridUtils.isModifierKeyDown(event)) {\n handleCommit(null, true);\n } else if (event.altKey) {\n const newValue = `${value}\\n`;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n } else {\n handleCommit(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n }\n break;\n case 'Tab':\n event.preventDefault();\n handleCommit(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n if (isQuickEdit) {\n event.preventDefault();\n handleCommit(directionForKey(event.key));\n }\n break;\n default:\n break;\n }\n },\n [\n handleCancel,\n handleCommit,\n isQuickEdit,\n setValue,\n setIsChanged,\n sendUpdate,\n value,\n ]\n );\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<HTMLTextAreaElement, MouseEvent>) => {\n onContextMenu(event);\n },\n [onContextMenu]\n );\n\n return (\n <textarea\n ref={inputField}\n className={classNames('grid-cell-input-field', className)}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n disabled={disabled}\n style={style}\n />\n );\n};\n\nCellInputField.propTypes = {\n selectionRange: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isQuickEdit: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onDone: PropTypes.func,\n onContextMenu: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nCellInputField.defaultProps = {\n selectionRange: null,\n className: '',\n disabled: false,\n value: '',\n isQuickEdit: true,\n onChange: () => undefined,\n onCancel: () => undefined,\n onDone: () => undefined,\n onContextMenu: () => undefined,\n style: {},\n};\n\nexport default CellInputField;\n"],"file":"CellInputField.js"}
package/dist/Grid.js CHANGED
@@ -2,7 +2,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
2
2
 
3
3
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
4
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
6
 
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
8
 
@@ -1544,7 +1544,7 @@ class Grid extends PureComponent {
1544
1544
  }
1545
1545
 
1546
1546
  handleEditCellChange(value) {
1547
- this.setState((_ref) => {
1547
+ this.setState(_ref => {
1548
1548
  var {
1549
1549
  editingCell
1550
1550
  } = _ref;
@@ -1 +1 @@
1
- {"version":3,"file":"GridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/GridMetricCalculator.js"],"names":[],"mappings":";AAIA;;;;GAIG;AACH;IACE,oDAAoD;IACpD,0BAA0B;IAE1B,gEAAgE;IAChE,gCAA8B;IAE9B;;;;;;OAMG;IACH,+CAHW,MAAM,eACN,MAAM,QAahB;IAED;;;;;;;;OAQG;IACH,0CANW,MAAM,YACN,MAAM,cACN,MAAM,OACN,MAAM,WACN,IAAI,MAAM,EAAE,MAAM,CAAC,iBAsB7B;IAED;;;;;;;;;;OAsBC;IAXC,gCAAwC;IACxC,8BAAoC;IACpC,oCAAgD;IAChD,sCAAoD;IACpD,0BAA4B;IAG5B,yBAA0B;IAC1B,4BAAgC;IAChC,eAA0B;IAC1B,kBAAgC;IAGlC,6FAA6F;IAC7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkYC;IAED,0BAKC;IAED,0BAKC;IAED,wEAmBC;IAED,yEAwBC;IAED,sEAUC;IAED,mDAAmD;IACnD,mCAMC;IAED,gDAAgD;IAChD,gCAMC;IAED;;;OAGG;IACH,oEAqBC;IAED;;;OAGG;IACH,qEAyBC;IAED,sDASC;IAED,+DAMC;IAED,yDASC;IAED,8DAMC;IAED,iDAmBC;IAED,gDAeC;IAED,gGAiCC;IAED,+FAwBC;IAED,+EAeC;IAED,kGAWC;IAED,0EAWC;IAED,yFAWC;IAED,4FAA4F;IAC5F,0FAoBC;IAED,uEAWC;IAED,wEAYC;IAED,qEAQC;IAED,wEAWC;IAED,4FASC;IAED,qGASC;IAED,2GAkBC;IAED,kHAwBC;IAED,mGAWC;IAED,0GAgBC;IAED,0GAaC;IAED,6EAKC;IAED,+CAMC;IAED,iGAiBC;IAED,0DAQC;IAED,8CAQC;IAED,gEAQC;IAED,oDAQC;IAED,6DAgBC;IAED,2EAA2E;IAC3E,kHA+BC;IAED,iEAWC;IAED,+DA8CC;IAED,0CAiBC;IAED,8HAA8H;IAC9H,4CAeC;IAED;;;;OAIG;IACH,mDASC;IAED;;;OAGG;IACH,uCAGC;IAED;;;;OAIG;IACH,8CASC;IAED,+BAGC;CACF"}
1
+ {"version":3,"file":"GridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/GridMetricCalculator.js"],"names":[],"mappings":";AAIA;;;;GAIG;AACH;IACE,oDAAoD;IACpD,0BAA0B;IAE1B,gEAAgE;IAChE,gCAA8B;IAE9B;;;;;;OAMG;IACH,+CAHW,MAAM,eACN,MAAM,QAahB;IAED;;;;;;;;OAQG;IACH,0CANW,MAAM,YACN,MAAM,cACN,MAAM,OACN,MAAM,WACN,IAAI,MAAM,EAAE,MAAM,CAAC,iBAsB7B;IAED;;;;;;;;;;OAsBC;IAXC,gCAAwC;IACxC,8BAAoC;IACpC,oCAAgD;IAChD,sCAAoD;IACpD,0BAA4B;IAG5B,yBAA0B;IAC1B,4BAAgC;IAChC,eAA0B;IAC1B,kBAAgC;IAGlC,6FAA6F;IAC7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmYC;IAED,0BAKC;IAED,0BAKC;IAED,wEAmBC;IAED,yEAwBC;IAED,sEAUC;IAED,mDAAmD;IACnD,mCAMC;IAED,gDAAgD;IAChD,gCAMC;IAED;;;OAGG;IACH,oEAqBC;IAED;;;OAGG;IACH,qEAyBC;IAED,sDASC;IAED,+DAMC;IAED,yDASC;IAED,8DAMC;IAED,iDAmBC;IAED,gDAeC;IAED,gGAiCC;IAED,+FAwBC;IAED,+EAeC;IAED,kGAWC;IAED,0EAWC;IAED,yFAWC;IAED,4FAA4F;IAC5F,0FAoBC;IAED,uEAWC;IAED,wEAYC;IAED,qEAQC;IAED,wEAWC;IAED,4FASC;IAED,qGASC;IAED,2GAkBC;IAED,kHAwBC;IAED,mGAWC;IAED,0GAgBC;IAED,0GAaC;IAED,6EAKC;IAED,+CAMC;IAED,iGAiBC;IAED,0DAQC;IAED,8CAQC;IAED,gEAQC;IAED,oDAQC;IAED,6DAgBC;IAED,2EAA2E;IAC3E,kHA+BC;IAED,iEAWC;IAED,+DA8CC;IAED,0CAiBC;IAED,8HAA8H;IAC9H,4CAeC;IAED;;;;OAIG;IACH,mDASC;IAED;;;OAGG;IACH,uCAGC;IAED;;;;OAIG;IACH,8CASC;IAED,+BAGC;CACF"}
@@ -155,8 +155,9 @@ class GridMetricCalculator {
155
155
  var rowHeightValues = Array.from(visibleRowHeights.values());
156
156
  var maxX = columnWidthValues.reduce((x, w) => x + w, 0) - leftOffset;
157
157
  var maxY = rowHeightValues.reduce((y, h) => y + h, 0) - topOffset;
158
+ var floatingBottomHeight = this.getFloatingBottomHeight(state, visibleRowHeights);
158
159
  var lastLeft = this.getLastLeft(state, null, width - gridX - scrollBarSize - rowFooterWidth);
159
- var lastTop = this.getLastTop(state, null, height - gridY - scrollBarSize); // Calculate some metrics for the scroll bars
160
+ var lastTop = this.getLastTop(state, null, height - gridY - scrollBarSize - floatingBottomHeight); // Calculate some metrics for the scroll bars
160
161
 
161
162
  var hasHorizontalBar = lastLeft > 0;
162
163
  var hasVerticalBar = lastTop > 0;
@@ -200,7 +201,6 @@ class GridMetricCalculator {
200
201
  var bottomVisible = lastTop > 0 ? this.getBottomVisible(state, visibleRowYs, visibleRowHeights, visibleRows, gridY) : bottom;
201
202
  var rightVisible = lastLeft > 0 ? this.getRightVisible(state, visibleColumnXs, visibleColumnWidths, visibleColumns, gridX) : right;
202
203
  var floatingTopHeight = this.getFloatingTopHeight(state, visibleRowHeights);
203
- var floatingBottomHeight = this.getFloatingBottomHeight(state, visibleRowHeights);
204
204
  var floatingLeftWidth = this.getFloatingLeftWidth(state, visibleColumnWidths);
205
205
  var floatingRightWidth = this.getFloatingRightWidth(state, visibleColumnWidths);
206
206
  var {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/GridMetricCalculator.js"],"names":["GridUtils","GridMetricCalculator","trimMap","map","cacheSize","CACHE_SIZE","targetSize","Math","floor","size","iter","keys","delete","next","value","getFloatingCoordinates","startCount","endCount","totalCount","max","sizeMap","coordinates","Map","x","i","set","get","constructor","userColumnWidths","userRowHeights","calculatedRowHeights","calculatedColumnWidths","fontWidths","modelRows","modelColumns","movedRows","movedColumns","getMetrics","state","left","top","leftOffset","topOffset","width","height","theme","model","rowHeight","rowHeaderWidth","rowFooterWidth","columnWidth","columnHeaderHeight","minScrollHandleSize","scrollBarSize","clear","columnCount","rowCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","firstRow","getFirstRow","firstColumn","getFirstColumn","gridX","getGridX","gridY","getGridY","treePaddingX","hasExpandableRows","calculateTreePaddingX","treePaddingY","visibleRowHeights","getVisibleRowHeights","visibleColumnWidths","getVisibleColumnWidths","visibleRows","Array","from","visibleColumns","visibleColumnXs","getVisibleColumnXs","visibleRowYs","getVisibleRowYs","bottom","length","right","bottomViewport","getBottomViewport","rightViewport","getRightViewport","columnWidthValues","values","rowHeightValues","maxX","reduce","w","maxY","y","h","lastLeft","getLastLeft","lastTop","getLastTop","hasHorizontalBar","hasVerticalBar","horizontalBarHeight","verticalBarWidth","barWidth","barHeight","handleWidth","min","handleHeight","leftColumnWidth","topRowHeight","leftOffsetPercent","topOffsetPercent","scrollX","scrollY","floatingRows","getFloatingRowHeights","getFloatingRowYs","floatingColumns","getFloatingColumnWidths","getFloatingColumnXs","allRows","concat","allColumns","getModelRows","getModelColumns","visibleRowTreeBoxes","getVisibleRowTreeBoxes","topVisible","getTopVisible","leftVisible","getLeftVisible","bottomVisible","getBottomVisible","rightVisible","getRightVisible","floatingTopHeight","getFloatingTopHeight","floatingBottomHeight","getFloatingBottomHeight","floatingLeftWidth","getFloatingLeftWidth","floatingRightWidth","getFloatingRightWidth","getVisibleHeight","getVisibleWidth","getFirstIndex","itemSizes","getModelIndex","modelIndex","getModelColumn","bind","getModelRow","visibleWidth","getVisibleColumnWidth","visibleHeight","getVisibleRowHeight","getTopForTopVisible","getTopForBottomVisible","availableHeight","getLeftForLeftVisible","getLeftForRightVisible","availableWidth","rowHeights","row","columnWidths","column","columnWidthMap","rowHeightMap","treeDepthIndent","treeHorizontalPadding","forEach","modelRow","isRowExpandable","depth","depthForRow","x1","x2","y1","y2","floatingWidth","floatingHeight","rowY","columnX","getLastIndexViewport","items","itemXs","maxSize","defaultItemSize","lastIndex","dataSize","ceil","getVisibleItemSize","userSizes","calculateSize","has","calculateRowHeight","modelColumn","calculateColumnWidth","visibleRow","visibleColumn","autoSizeRows","cachedValue","autoSizeColumns","minColumnWidth","headerWidth","calculateColumnHeaderWidth","dataWidth","calculateColumnDataWidth","headerFont","headerHorizontalPadding","headerText","textForColumnHeader","headerFontWidth","getWidthForFont","font","cellHorizontalPadding","fontWidth","rowsPerPage","iterateAllItems","text","textForCell","cellPadding","MAX_COLUMN_WIDTH","treePadding","context","textMetrics","measureText","setColumnWidth","resetColumnWidth","setRowHeight","resetRowHeight"],"mappings":"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","sourcesContent":["import GridUtils from './GridUtils';\n\n/* eslint class-methods-use-this: \"off\" */\n/* eslint react/destructuring-assignment: \"off\" */\n/**\n * Class to calculate all the metrics for drawing a grid.\n * Call getMetrics() with the state to get the full metrics.\n * Override this class and override the individual methods to provide additional functionality.\n */\nclass GridMetricCalculator {\n /** The size of the caches this calculator stores */\n static CACHE_SIZE = 10000;\n\n /** The maximum column width as a percentage of the full grid */\n static MAX_COLUMN_WIDTH = 0.8;\n\n /**\n * Trim the provided map in place. Trims oldest inserted items down to the target size if the cache size is exceeded.\n * Instead of trimming one item on every tick, we trim half the items so there isn't a cache clear on every new item.\n * @param {Map} map The map to trim\n * @param {number} cacheSize The maximum number of elements to cache\n * @param {number} targetSize The number of elements to reduce the cache down to if `cacheSize` is exceeded\n */\n static trimMap(\n map,\n cacheSize = GridMetricCalculator.CACHE_SIZE,\n targetSize = Math.floor(cacheSize / 2)\n ) {\n if (map.size > cacheSize) {\n const iter = map.keys();\n while (map.size > targetSize) {\n map.delete(iter.next().value);\n }\n }\n }\n\n /**\n * Get the coordinates of floating items in one dimension.\n * Can be used for getting the y coordinates of floating rows, or x coordinates of floating columns, calculated using the `sizeMap` passed in.\n * @param {number} startCount The number of floating items at the start (ie. `floatingTopRowCount` for rows, `floatingLeftColumnCount` for columns)\n * @param {number} endCount The number of floating items at the end (ie. `floatingBottomRowCount` for rows, `floatingRightColumnCount` for columns)\n * @param {number} totalCount Total number of items in this dimension (ie. `rowCount` for rows, `columnCount` for columns)\n * @param {number} max The max coordinate value (ie. `maxY` for rows, `maxX` for columns)\n * @param {Map<number, number>} sizeMap Map from index to size of item (ie. `rowHeightMap` for rows, `columnWidthMap` for columns)\n */\n static getFloatingCoordinates(\n startCount,\n endCount,\n totalCount,\n max,\n sizeMap\n ) {\n const coordinates = new Map();\n let x = 0;\n for (let i = 0; i < startCount && i < totalCount; i += 1) {\n coordinates.set(i, x);\n x += sizeMap.get(i);\n }\n\n x = max;\n for (let i = 0; i < endCount && totalCount - i - 1 >= 0; i += 1) {\n x -= sizeMap.get(totalCount - i - 1);\n coordinates.set(totalCount - i - 1, x);\n }\n return coordinates;\n }\n\n constructor({\n userColumnWidths = new Map(),\n userRowHeights = new Map(),\n calculatedRowHeights = new Map(),\n calculatedColumnWidths = new Map(),\n fontWidths = new Map(),\n modelRows = new Map(),\n modelColumns = new Map(),\n movedRows = null,\n movedColumns = null,\n } = {}) {\n this.userColumnWidths = userColumnWidths;\n this.userRowHeights = userRowHeights;\n this.calculatedRowHeights = calculatedRowHeights;\n this.calculatedColumnWidths = calculatedColumnWidths;\n this.fontWidths = fontWidths;\n\n // Need to track the last moved rows/columns array so we know if we need to reset our models cache\n this.modelRows = modelRows;\n this.modelColumns = modelColumns;\n this.movedRows = movedRows;\n this.movedColumns = movedColumns;\n }\n\n /** update the calculated metrics from the model/canvas that are useful for many functions */\n getMetrics(state) {\n const {\n left,\n top,\n leftOffset,\n topOffset,\n width,\n height,\n theme,\n model,\n movedRows,\n movedColumns,\n } = state;\n const {\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n columnWidth,\n columnHeaderHeight,\n minScrollHandleSize,\n scrollBarSize,\n } = theme;\n\n if (movedRows !== this.movedRows) {\n this.movedRows = movedRows;\n this.modelRows.clear();\n }\n\n if (movedColumns !== this.movedColumns) {\n this.movedColumns = movedColumns;\n this.modelColumns.clear();\n }\n\n const {\n columnCount,\n rowCount,\n floatingTopRowCount,\n floatingBottomRowCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n // Get some basic metrics\n const firstRow = this.getFirstRow(state);\n const firstColumn = this.getFirstColumn(state);\n\n const gridX = this.getGridX(state);\n const gridY = this.getGridY(state);\n\n const treePaddingX = model.hasExpandableRows\n ? this.calculateTreePaddingX(state)\n : 0;\n const treePaddingY = 0; // We don't support trees on columns (at least not yet)\n\n let visibleRowHeights = this.getVisibleRowHeights(state);\n let visibleColumnWidths = this.getVisibleColumnWidths(\n state,\n firstColumn,\n treePaddingX\n );\n\n // Calculate the metrics for the main grid\n const visibleRows = Array.from(visibleRowHeights.keys());\n const visibleColumns = Array.from(visibleColumnWidths.keys());\n\n let visibleColumnXs = this.getVisibleColumnXs(\n visibleColumnWidths,\n visibleColumns,\n leftOffset\n );\n let visibleRowYs = this.getVisibleRowYs(\n visibleRowHeights,\n visibleRows,\n topOffset\n );\n\n const bottom =\n visibleRows.length > 0 ? visibleRows[visibleRows.length - 1] : top;\n const right =\n visibleColumns.length > 0\n ? visibleColumns[visibleColumns.length - 1]\n : left;\n\n const bottomViewport = this.getBottomViewport(\n state,\n visibleRows,\n visibleRowYs,\n visibleRowHeights\n );\n const rightViewport = this.getRightViewport(\n state,\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths\n );\n\n const columnWidthValues = Array.from(visibleColumnWidths.values());\n const rowHeightValues = Array.from(visibleRowHeights.values());\n const maxX = columnWidthValues.reduce((x, w) => x + w, 0) - leftOffset;\n const maxY = rowHeightValues.reduce((y, h) => y + h, 0) - topOffset;\n\n const lastLeft = this.getLastLeft(\n state,\n null,\n width - gridX - scrollBarSize - rowFooterWidth\n );\n const lastTop = this.getLastTop(\n state,\n null,\n height - gridY - scrollBarSize\n );\n\n // Calculate some metrics for the scroll bars\n const hasHorizontalBar = lastLeft > 0;\n const hasVerticalBar = lastTop > 0;\n const horizontalBarHeight = hasHorizontalBar ? scrollBarSize : 0;\n const verticalBarWidth = hasVerticalBar ? scrollBarSize : 0;\n const barWidth = width - rowHeaderWidth - verticalBarWidth;\n const barHeight = height - columnHeaderHeight - horizontalBarHeight;\n\n const handleWidth =\n lastLeft > 0\n ? Math.min(\n Math.max(\n minScrollHandleSize,\n barWidth * ((columnCount - lastLeft) / columnCount)\n ),\n barWidth - 1\n )\n : 0;\n const handleHeight =\n lastTop > 0\n ? Math.min(\n Math.max(\n minScrollHandleSize,\n barHeight * ((rowCount - lastTop) / rowCount)\n ),\n barHeight - 1\n )\n : 0;\n\n const leftColumnWidth = visibleColumnWidths.get(left);\n const topRowHeight = visibleRowHeights.get(top);\n const leftOffsetPercent =\n leftColumnWidth > 0 ? leftOffset / leftColumnWidth : 0;\n const topOffsetPercent = topRowHeight > 0 ? topOffset / topRowHeight : 0;\n const scrollX =\n lastLeft > 0\n ? ((left + leftOffsetPercent) / lastLeft) * (barWidth - handleWidth)\n : 0;\n const scrollY =\n lastTop > 0\n ? ((top + topOffsetPercent) / lastTop) * (barHeight - handleHeight)\n : 0;\n\n // Now add the floating sections\n let floatingRows = [];\n if (floatingTopRowCount > 0 || floatingBottomRowCount > 0) {\n floatingRows = [\n ...Array(floatingTopRowCount).keys(),\n ...[...Array(floatingBottomRowCount).keys()].map(i => rowCount - i - 1),\n ];\n visibleRowHeights = new Map([\n ...visibleRowHeights,\n ...this.getFloatingRowHeights(state),\n ]);\n visibleRowYs = new Map([\n ...visibleRowYs,\n ...this.getFloatingRowYs(\n state,\n visibleRowHeights,\n Math.floor(height - gridY - horizontalBarHeight)\n ),\n ]);\n }\n\n let floatingColumns = [];\n if (floatingLeftColumnCount > 0 || floatingRightColumnCount > 0) {\n floatingColumns = [\n ...Array(floatingLeftColumnCount).keys(),\n ...[...Array(floatingRightColumnCount).keys()].map(\n i => columnCount - i - 1\n ),\n ];\n visibleColumnWidths = new Map([\n ...visibleColumnWidths,\n ...this.getFloatingColumnWidths(state),\n ]);\n visibleColumnXs = new Map([\n ...visibleColumnXs,\n ...this.getFloatingColumnXs(\n state,\n visibleColumnWidths,\n Math.floor(width - gridX - verticalBarWidth)\n ),\n ]);\n }\n\n const allRows = visibleRows.concat(floatingRows);\n const allColumns = visibleColumns.concat(floatingColumns);\n const modelRows = this.getModelRows(allRows, state);\n const modelColumns = this.getModelColumns(allColumns, state);\n\n const visibleRowTreeBoxes = this.getVisibleRowTreeBoxes(\n visibleRowHeights,\n modelRows,\n state\n );\n\n // Calculate the visible viewport based on scroll position and floating sections\n const topVisible = this.getTopVisible(\n state,\n visibleRowYs,\n visibleRowHeights,\n visibleRows,\n gridY\n );\n const leftVisible = this.getLeftVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n );\n const bottomVisible =\n lastTop > 0\n ? this.getBottomVisible(\n state,\n visibleRowYs,\n visibleRowHeights,\n visibleRows,\n gridY\n )\n : bottom;\n const rightVisible =\n lastLeft > 0\n ? this.getRightVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n )\n : right;\n\n const floatingTopHeight = this.getFloatingTopHeight(\n state,\n visibleRowHeights\n );\n const floatingBottomHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n const floatingLeftWidth = this.getFloatingLeftWidth(\n state,\n visibleColumnWidths\n );\n const floatingRightWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n\n const {\n fontWidths,\n userColumnWidths,\n userRowHeights,\n calculatedRowHeights,\n calculatedColumnWidths,\n } = this;\n\n return {\n // Row/Column metrics from model\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n rowCount,\n columnWidth,\n columnCount,\n columnHeaderHeight,\n\n // Floating row and column counts\n floatingTopRowCount,\n floatingBottomRowCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n\n // The grid offset from the top left\n gridX,\n gridY,\n\n // Index of non-hidden row/columns\n firstRow,\n firstColumn,\n\n // The amount of padding for tree (if applicable)\n treePaddingX,\n treePaddingY,\n\n // What viewport is currently visible, limited by data size\n left,\n top,\n bottom,\n right,\n topOffset,\n leftOffset,\n\n // Bottom and right that are fully visible, not overlapped by scroll bars or anything\n topVisible,\n leftVisible,\n bottomVisible,\n rightVisible,\n\n // Bottom and right of the viewport, not limited by data size\n bottomViewport,\n rightViewport,\n\n // Canvas width/height\n width,\n height,\n\n // Max x/y coordinate of the grid (does not include headers)\n maxX,\n maxY,\n\n // Last valid column/row that can be the left/top of the grid\n lastLeft,\n lastTop,\n\n // Scroll bar metrics\n barHeight,\n barWidth,\n handleHeight,\n handleWidth,\n hasHorizontalBar,\n hasVerticalBar,\n verticalBarWidth,\n horizontalBarHeight,\n\n // The vertical x/y scroll amount\n scrollX,\n scrollY,\n\n // Array of visible rows/columns, by grid index\n visibleRows,\n visibleColumns,\n\n // Array of floating rows/columns, by grid index\n floatingRows,\n floatingColumns,\n\n // Array of all rows/columns, visible and floating, by grid index\n allRows,\n allColumns,\n\n // Map of the height/width of visible rows/columns\n visibleRowHeights,\n visibleColumnWidths,\n\n // Floating metrics\n floatingTopHeight,\n floatingBottomHeight,\n floatingLeftWidth,\n floatingRightWidth,\n\n // Map of the X/Y coordinates of the rows/columns, from the top left of the grid\n visibleRowYs,\n visibleColumnXs,\n\n // The boxes user can click on for expanding/collapsing tree rows\n visibleRowTreeBoxes,\n\n // Mapping from visible row indexes to the model row/columns they pull from\n modelRows,\n modelColumns,\n\n // Map of the width of the fonts\n fontWidths,\n\n // Map of user set column/row width/height\n userColumnWidths,\n userRowHeights,\n\n // Map of calculated row/column height/width\n calculatedRowHeights,\n calculatedColumnWidths,\n };\n }\n\n getGridX(state) {\n const { theme } = state;\n const { rowHeaderWidth } = theme;\n\n return rowHeaderWidth;\n }\n\n getGridY(state) {\n const { theme } = state;\n const { columnHeaderHeight } = theme;\n\n return columnHeaderHeight;\n }\n\n getVisibleHeight(\n state,\n visibleRowHeights = this.getFloatingRowHeights(state)\n ) {\n const { height, theme } = state;\n const { scrollBarSize } = theme;\n const gridY = this.getGridY(state);\n const floatingBottomHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n const floatingTopHeight = this.getFloatingTopHeight(\n state,\n visibleRowHeights\n );\n\n return (\n height - floatingBottomHeight - floatingTopHeight - gridY - scrollBarSize\n );\n }\n\n getVisibleWidth(\n state,\n visibleColumnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { width, theme } = state;\n const { scrollBarSize, rowFooterWidth } = theme;\n const gridX = this.getGridX(state);\n const floatingRightWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n const floatingLeftWidth = this.getFloatingLeftWidth(\n state,\n visibleColumnWidths\n );\n\n return (\n width -\n floatingLeftWidth -\n floatingRightWidth -\n gridX -\n scrollBarSize -\n rowFooterWidth\n );\n }\n\n getFirstIndex(itemSizes, getModelIndex, state) {\n // We only need to check at the very most the number of items the user has hidden + 1\n const max = itemSizes.size + 1;\n for (let i = 0; i < max; i += 1) {\n const modelIndex = getModelIndex(i, state);\n if (itemSizes.get(modelIndex) !== 0) {\n return i;\n }\n }\n return 0;\n }\n\n /** Get the first column index that isn't hidden */\n getFirstColumn(state) {\n return this.getFirstIndex(\n this.userColumnWidths,\n this.getModelColumn.bind(this),\n state\n );\n }\n\n /** Get the first row index that isn't hidden */\n getFirstRow(state) {\n return this.getFirstIndex(\n this.userRowHeights,\n this.getModelRow.bind(this),\n state\n );\n }\n\n /**\n * Get the last column that can be the left most column (eg. scrolled to the right)\n * If no right column is provided, then the last column is used.\n */\n getLastLeft(state, right = null, visibleWidth = this.getVisibleWidth(state)) {\n const { model } = state;\n const { columnCount } = model;\n\n let lastLeft = columnCount - 1;\n if (right != null) {\n lastLeft = right;\n }\n let x = 0;\n while (lastLeft >= 0) {\n const columnWidth = this.getVisibleColumnWidth(lastLeft, state);\n x += columnWidth;\n\n if (x >= visibleWidth) {\n return Math.min(lastLeft + 1, columnCount - 1);\n }\n\n lastLeft -= 1;\n }\n\n return 0;\n }\n\n /**\n * The last row that can be the top row (eg. scrolled to the bottom)\n * If no bottom row is provided, then the last row that is not floating is used\n */\n getLastTop(\n state,\n bottom = null,\n visibleHeight = this.getVisibleHeight(state)\n ) {\n const { model } = state;\n const { rowCount, floatingBottomRowCount } = model;\n\n let lastTop = Math.max(0, rowCount - floatingBottomRowCount - 1);\n if (bottom != null) {\n lastTop = bottom;\n }\n let y = 0;\n while (lastTop > 0) {\n const rowHeight = this.getVisibleRowHeight(lastTop, state);\n y += rowHeight;\n\n if (y >= visibleHeight) {\n return Math.min(lastTop + 1, rowCount - 1);\n }\n\n lastTop -= 1;\n }\n\n return 0;\n }\n\n getTopForTopVisible(state, topVisible) {\n const floatingTopHeight = this.getFloatingTopHeight(state);\n let top = topVisible;\n let y = 0;\n while (top > 0 && y < floatingTopHeight) {\n top -= 1;\n y += this.getVisibleRowHeight(top, state);\n }\n return top;\n }\n\n getTopForBottomVisible(state, bottomVisible) {\n const { height } = state;\n const gridY = this.getGridY(state);\n const floatingBottomHeight = this.getFloatingBottomHeight(state);\n const availableHeight = height - gridY - floatingBottomHeight;\n return this.getLastTop(state, bottomVisible, availableHeight);\n }\n\n getLeftForLeftVisible(state, leftVisible) {\n const floatingLeftWidth = this.getFloatingLeftWidth(state);\n let left = leftVisible;\n let x = 0;\n while (left > 0 && x < floatingLeftWidth) {\n left -= 1;\n x += this.getVisibleColumnWidth(left, state);\n }\n return left;\n }\n\n getLeftForRightVisible(state, rightVisible) {\n const { width } = state;\n const gridX = this.getGridX(state);\n const floatingRightWidth = this.getFloatingRightWidth(state);\n const availableWidth = width - gridX - floatingRightWidth;\n return this.getLastLeft(state, rightVisible, availableWidth);\n }\n\n getFloatingRowHeights(state) {\n const { model } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n\n const rowHeights = new Map();\n for (let i = 0; i < floatingTopRowCount && i < rowCount; i += 1) {\n rowHeights.set(i, this.getVisibleRowHeight(i, state));\n }\n\n for (\n let i = 0;\n i < floatingBottomRowCount && rowCount - i - 1 >= 0;\n i += 1\n ) {\n const row = rowCount - i - 1;\n rowHeights.set(row, this.getVisibleRowHeight(row, state));\n }\n\n return rowHeights;\n }\n\n getVisibleRowHeights(state) {\n const { top, topOffset, height, model } = state;\n\n let y = 0;\n let row = top;\n const rowHeights = new Map();\n const { rowCount } = model;\n while (y < height + topOffset && row < rowCount) {\n const rowHeight = this.getVisibleRowHeight(row, state);\n rowHeights.set(row, rowHeight);\n y += rowHeight;\n row += 1;\n }\n\n return rowHeights;\n }\n\n getFloatingColumnWidths(\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { model } = state;\n const {\n columnCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n const columnWidths = new Map();\n for (let i = 0; i < floatingLeftColumnCount && i < columnCount; i += 1) {\n columnWidths.set(\n i,\n this.getVisibleColumnWidth(i, state, firstColumn, treePaddingX)\n );\n }\n\n for (\n let i = 0;\n i < floatingRightColumnCount && columnCount - i - 1 >= 0;\n i += 1\n ) {\n const column = columnCount - i - 1;\n columnWidths.set(\n column,\n this.getVisibleColumnWidth(column, state, firstColumn, treePaddingX)\n );\n }\n\n return columnWidths;\n }\n\n getVisibleColumnWidths(\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { left, leftOffset, width, model } = state;\n\n let x = 0;\n let column = left;\n const columnWidths = new Map();\n const { columnCount } = model;\n while (x < width + leftOffset && column < columnCount) {\n const columnWidth = this.getVisibleColumnWidth(\n column,\n state,\n firstColumn,\n treePaddingX\n );\n columnWidths.set(column, columnWidth);\n x += columnWidth;\n column += 1;\n }\n\n return columnWidths;\n }\n\n getFloatingColumnXs(state, columnWidthMap, maxX) {\n const { model } = state;\n const {\n columnCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n return GridMetricCalculator.getFloatingCoordinates(\n floatingLeftColumnCount,\n floatingRightColumnCount,\n columnCount,\n maxX,\n columnWidthMap\n );\n }\n\n getVisibleColumnXs(visibleColumnWidths, visibleColumns, leftOffset) {\n const visibleColumnXs = new Map();\n let x = -leftOffset;\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = visibleColumnWidths.get(column);\n visibleColumnXs.set(column, x);\n x += columnWidth;\n }\n\n return visibleColumnXs;\n }\n\n getFloatingRowYs(state, rowHeightMap, maxY) {\n const { model } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n\n return GridMetricCalculator.getFloatingCoordinates(\n floatingTopRowCount,\n floatingBottomRowCount,\n rowCount,\n maxY,\n rowHeightMap\n );\n }\n\n getVisibleRowYs(visibleRowHeights, visibleRows, topOffset) {\n const visibleRowYs = new Map();\n let y = -topOffset;\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n const rowHeight = visibleRowHeights.get(row);\n visibleRowYs.set(row, y);\n y += rowHeight;\n }\n\n return visibleRowYs;\n }\n\n /** Calculates the tree box click areas that are visible. In relation to the columnX/rowY */\n getVisibleRowTreeBoxes(visibleRowHeights, modelRows, state) {\n const visibleRowTreeBoxes = new Map();\n const { model, theme } = state;\n const { treeDepthIndent, treeHorizontalPadding } = theme;\n\n if (model.hasExpandableRows) {\n visibleRowHeights.forEach((rowHeight, row) => {\n const modelRow = modelRows.get(row);\n if (model.isRowExpandable(modelRow)) {\n const depth = model.depthForRow(modelRow);\n const x1 = depth * treeDepthIndent + treeHorizontalPadding;\n const x2 = (depth + 1) * treeDepthIndent + treeHorizontalPadding;\n const y1 = 0;\n const y2 = rowHeight;\n visibleRowTreeBoxes.set(row, [x1, y1, x2, y2]);\n }\n });\n }\n\n return visibleRowTreeBoxes;\n }\n\n getFloatingLeftWidth(\n state,\n columnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { model } = state;\n const { floatingLeftColumnCount } = model;\n let floatingWidth = 0;\n for (let i = 0; i < floatingLeftColumnCount; i += 1) {\n floatingWidth += columnWidths.get(i) ?? 0;\n }\n return floatingWidth;\n }\n\n getFloatingRightWidth(\n state,\n columnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { model } = state;\n const { floatingRightColumnCount, columnCount } = model;\n let floatingWidth = 0;\n for (let i = 0; i < floatingRightColumnCount; i += 1) {\n floatingWidth += columnWidths.get(columnCount - i - 1) ?? 0;\n }\n\n return floatingWidth;\n }\n\n getFloatingTopHeight(state, rowHeights = this.getFloatingRowHeights(state)) {\n const { model } = state;\n const { floatingTopRowCount } = model;\n let floatingHeight = 0;\n for (let i = 0; i < floatingTopRowCount; i += 1) {\n floatingHeight += rowHeights.get(i) ?? 0;\n }\n return floatingHeight;\n }\n\n getFloatingBottomHeight(\n state,\n rowHeights = this.getFloatingRowHeights(state)\n ) {\n const { model } = state;\n const { floatingBottomRowCount, rowCount } = model;\n let floatingHeight = 0;\n for (let i = 0; i < floatingBottomRowCount; i += 1) {\n floatingHeight += rowHeights.get(rowCount - i - 1) ?? 0;\n }\n return floatingHeight;\n }\n\n getTopVisible(state, visibleRowYs, visibleRowHeights, visibleRows) {\n const floatingHeight = this.getFloatingTopHeight(state, visibleRowHeights);\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n if (visibleRowYs.get(row) >= floatingHeight) {\n return row;\n }\n }\n return 0;\n }\n\n getLeftVisible(state, visibleColumnXs, visibleColumnWidths, visibleColumns) {\n const floatingWidth = this.getFloatingLeftWidth(state, visibleColumnWidths);\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n if (visibleColumnXs.get(column) >= floatingWidth) {\n return column;\n }\n }\n return 0;\n }\n\n getBottomVisible(state, visibleRowYs, visibleRowHeights, visibleRows, gridY) {\n const { height, theme } = state;\n const { scrollBarSize } = theme;\n const floatingHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n const visibleHeight = height - gridY - scrollBarSize - floatingHeight;\n for (let i = visibleRows.length - 1; i >= 0; i -= 1) {\n const row = visibleRows[i];\n const rowY = visibleRowYs.get(row);\n const rowHeight = visibleRowHeights.get(row);\n if (rowY + rowHeight <= visibleHeight) {\n return row;\n }\n }\n\n return 0;\n }\n\n getRightVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n ) {\n const { width, theme } = state;\n const { scrollBarSize } = theme;\n const floatingWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n const visibleWidth = width - gridX - scrollBarSize - floatingWidth;\n for (let i = visibleColumns.length - 1; i >= 0; i -= 1) {\n const column = visibleColumns[i];\n const columnX = visibleColumnXs.get(column);\n const columnWidth = visibleColumnWidths.get(column);\n if (columnX + columnWidth <= visibleWidth) {\n return column;\n }\n }\n\n return 0;\n }\n\n getBottomViewport(state, visibleRows, visibleRowYs, visibleRowHeights) {\n const { height, theme } = state;\n const { rowHeight } = theme;\n\n return this.getLastIndexViewport(\n visibleRows,\n visibleRowYs,\n visibleRowHeights,\n height,\n rowHeight\n );\n }\n\n getRightViewport(\n state,\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths\n ) {\n const { width, theme } = state;\n const { columnWidth } = theme;\n\n return this.getLastIndexViewport(\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths,\n width,\n columnWidth\n );\n }\n\n getLastIndexViewport(items, itemXs, itemSizes, maxSize, defaultItemSize) {\n let lastIndex = 0;\n let dataSize = 0;\n if (items.length > 0) {\n lastIndex = items[items.length - 1];\n dataSize = itemXs.get(lastIndex) + itemSizes.get(lastIndex);\n }\n\n if (dataSize < maxSize) {\n lastIndex += Math.ceil((maxSize - dataSize) / defaultItemSize);\n }\n\n return lastIndex;\n }\n\n getVisibleItemSize(modelIndex, userSizes, calculateSize) {\n if (userSizes.has(modelIndex)) {\n return userSizes.get(modelIndex);\n }\n return calculateSize();\n }\n\n getVisibleRowHeight(row, state) {\n const modelRow = this.getModelRow(row, state);\n\n return this.getVisibleItemSize(modelRow, this.userRowHeights, () =>\n this.calculateRowHeight(row, modelRow, state)\n );\n }\n\n getVisibleColumnWidth(\n column,\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const modelColumn = this.getModelColumn(column, state);\n\n return this.getVisibleItemSize(modelColumn, this.userColumnWidths, () =>\n this.calculateColumnWidth(\n column,\n modelColumn,\n state,\n firstColumn,\n treePaddingX\n )\n );\n }\n\n getModelRows(visibleRows, state) {\n const modelRows = new Map();\n for (let i = 0; i < visibleRows.length; i += 1) {\n const visibleRow = visibleRows[i];\n const modelRow = this.getModelRow(visibleRow, state);\n modelRows.set(visibleRow, modelRow);\n }\n return modelRows;\n }\n\n getModelRow(visibleRow, state) {\n if (this.modelRows.has(visibleRow)) {\n return this.modelRows.get(visibleRow);\n }\n const { movedRows } = state;\n const modelRow = GridUtils.getModelIndex(visibleRow, movedRows);\n this.modelRows.set(visibleRow, modelRow);\n return modelRow;\n }\n\n getModelColumns(visibleColumns, state) {\n const modelColumns = new Map();\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const visibleColumn = visibleColumns[i];\n const modelColumn = this.getModelColumn(visibleColumn, state);\n modelColumns.set(visibleColumn, modelColumn);\n }\n return modelColumns;\n }\n\n getModelColumn(visibleColumn, state) {\n if (this.modelColumns.has(visibleColumn)) {\n return this.modelColumns.get(visibleColumn);\n }\n const { movedColumns } = state;\n const modelColumn = GridUtils.getModelIndex(visibleColumn, movedColumns);\n this.modelColumns.set(visibleColumn, modelColumn);\n return modelColumn;\n }\n\n calculateRowHeight(row, modelRow, state) {\n const { theme } = state;\n const { autoSizeRows, rowHeight } = theme;\n if (!autoSizeRows) {\n return rowHeight;\n }\n\n const cachedValue = this.calculatedRowHeights.get(modelRow);\n if (cachedValue != null) {\n return cachedValue;\n }\n\n // Not sure how to accurately get the height of text. For now just return the theme height.\n this.calculatedRowHeights.set(modelRow, Math.ceil(rowHeight));\n GridMetricCalculator.trimMap(this.calculatedRowHeights);\n return rowHeight;\n }\n\n /** Calculates the column width based on the provided column model index */\n calculateColumnWidth(\n column,\n modelColumn,\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { theme } = state;\n const { autoSizeColumns, minColumnWidth } = theme;\n if (!autoSizeColumns) {\n const { columnWidth } = theme;\n return columnWidth;\n }\n\n const headerWidth = this.calculateColumnHeaderWidth(modelColumn, state);\n const dataWidth = this.calculateColumnDataWidth(modelColumn, state);\n const cachedValue = this.calculatedColumnWidths.get(modelColumn);\n let columnWidth = Math.ceil(Math.max(headerWidth, dataWidth));\n columnWidth = Math.max(minColumnWidth, columnWidth);\n if (cachedValue != null && cachedValue > columnWidth) {\n columnWidth = cachedValue;\n } else {\n this.calculatedColumnWidths.set(modelColumn, columnWidth);\n GridMetricCalculator.trimMap(this.calculatedColumnWidths);\n }\n\n if (column === firstColumn) {\n columnWidth += treePaddingX;\n }\n\n return columnWidth;\n }\n\n calculateColumnHeaderWidth(modelColumn, state) {\n const { model, theme } = state;\n const { headerFont, headerHorizontalPadding } = theme;\n\n const headerText = model.textForColumnHeader(modelColumn);\n if (headerText) {\n const headerFontWidth = this.getWidthForFont(headerFont, state);\n return headerText.length * headerFontWidth + headerHorizontalPadding * 2;\n }\n\n return headerHorizontalPadding * 2;\n }\n\n calculateColumnDataWidth(modelColumn, state) {\n const { top, height, width, model, theme } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n const {\n font,\n cellHorizontalPadding,\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n scrollBarSize,\n } = theme;\n\n let columnWidth = 0;\n\n const fontWidth = this.getWidthForFont(font, state);\n const rowsPerPage = height / rowHeight;\n const bottom = Math.ceil(top + rowsPerPage);\n GridUtils.iterateAllItems(\n top,\n bottom,\n floatingTopRowCount,\n floatingBottomRowCount,\n rowCount,\n row => {\n const modelRow = this.getModelRow(row, state);\n const text = model.textForCell(modelColumn, modelRow);\n if (text) {\n const cellPadding = cellHorizontalPadding * 2;\n columnWidth = Math.max(\n columnWidth,\n text.length * fontWidth + cellPadding\n );\n }\n }\n );\n\n columnWidth = Math.max(\n Math.min(\n columnWidth,\n (width - rowHeaderWidth - scrollBarSize - rowFooterWidth) *\n GridMetricCalculator.MAX_COLUMN_WIDTH\n ),\n cellHorizontalPadding * 2\n );\n\n return columnWidth;\n }\n\n calculateTreePaddingX(state) {\n const { top, height, model, theme } = state;\n const { rowHeight, treeDepthIndent } = theme;\n if (!model.hasExpandableRows) {\n return 0;\n }\n let treePadding = 0;\n\n const rowsPerPage = height / rowHeight;\n const bottom = Math.ceil(top + rowsPerPage);\n for (let row = top; row <= bottom; row += 1) {\n const modelRow = this.getModelRow(row, state);\n const depth = model.depthForRow(modelRow);\n treePadding = Math.max(treePadding, treeDepthIndent * (depth + 1));\n }\n\n return treePadding;\n }\n\n /** Get the width of the provided font. Exploits the fact that we're using tabular figures so every character is same width */\n getWidthForFont(font, state) {\n if (this.fontWidths.has(font)) {\n return this.fontWidths.get(font);\n }\n const { context } = state;\n context.font = font;\n const textMetrics = context.measureText('8');\n const { width } = textMetrics;\n\n // context.font changes the string a little bit, eg. '10px Arial, sans serif' => '10px Arial, \"sans serif\"'\n // Rather than require checking with the correct font def (theme, or context font), just key it to both\n this.fontWidths.set(font, width);\n this.fontWidths.set(context.font, width);\n\n return width;\n }\n\n /**\n * Sets the width for the specified column\n * @param {Number} column The column model index to set\n * @param {Number} size The size to set it to, or null to reset the column size\n */\n setColumnWidth(column, size) {\n const userColumnWidths = new Map(this.userColumnWidths);\n if (size != null) {\n userColumnWidths.set(column, Math.ceil(size));\n GridMetricCalculator.trimMap(userColumnWidths);\n } else {\n userColumnWidths.delete(column);\n }\n this.userColumnWidths = userColumnWidths;\n }\n\n /**\n * Resets the column width for the specified column to the calculated width\n * @param {Number} column The column model index to reset\n */\n resetColumnWidth(column) {\n this.setColumnWidth(column, null);\n this.calculatedColumnWidths.delete(column);\n }\n\n /**\n * Sets the width for the specified row\n * @param {Number} row The row model index to set\n * @param {Number} size The size to set it to, or null to reset the row size\n */\n setRowHeight(row, size) {\n const userRowHeights = new Map(this.userRowHeights);\n if (size != null) {\n userRowHeights.set(row, Math.ceil(size));\n GridMetricCalculator.trimMap(userRowHeights);\n } else {\n userRowHeights.delete(row);\n }\n this.userRowHeights = userRowHeights;\n }\n\n resetRowHeight(row) {\n this.setRowHeight(row, null);\n this.calculatedRowHeights.delete(row);\n }\n}\n\nexport default GridMetricCalculator;\n"],"file":"GridMetricCalculator.js"}
1
+ {"version":3,"sources":["../src/GridMetricCalculator.js"],"names":["GridUtils","GridMetricCalculator","trimMap","map","cacheSize","CACHE_SIZE","targetSize","Math","floor","size","iter","keys","delete","next","value","getFloatingCoordinates","startCount","endCount","totalCount","max","sizeMap","coordinates","Map","x","i","set","get","constructor","userColumnWidths","userRowHeights","calculatedRowHeights","calculatedColumnWidths","fontWidths","modelRows","modelColumns","movedRows","movedColumns","getMetrics","state","left","top","leftOffset","topOffset","width","height","theme","model","rowHeight","rowHeaderWidth","rowFooterWidth","columnWidth","columnHeaderHeight","minScrollHandleSize","scrollBarSize","clear","columnCount","rowCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","firstRow","getFirstRow","firstColumn","getFirstColumn","gridX","getGridX","gridY","getGridY","treePaddingX","hasExpandableRows","calculateTreePaddingX","treePaddingY","visibleRowHeights","getVisibleRowHeights","visibleColumnWidths","getVisibleColumnWidths","visibleRows","Array","from","visibleColumns","visibleColumnXs","getVisibleColumnXs","visibleRowYs","getVisibleRowYs","bottom","length","right","bottomViewport","getBottomViewport","rightViewport","getRightViewport","columnWidthValues","values","rowHeightValues","maxX","reduce","w","maxY","y","h","floatingBottomHeight","getFloatingBottomHeight","lastLeft","getLastLeft","lastTop","getLastTop","hasHorizontalBar","hasVerticalBar","horizontalBarHeight","verticalBarWidth","barWidth","barHeight","handleWidth","min","handleHeight","leftColumnWidth","topRowHeight","leftOffsetPercent","topOffsetPercent","scrollX","scrollY","floatingRows","getFloatingRowHeights","getFloatingRowYs","floatingColumns","getFloatingColumnWidths","getFloatingColumnXs","allRows","concat","allColumns","getModelRows","getModelColumns","visibleRowTreeBoxes","getVisibleRowTreeBoxes","topVisible","getTopVisible","leftVisible","getLeftVisible","bottomVisible","getBottomVisible","rightVisible","getRightVisible","floatingTopHeight","getFloatingTopHeight","floatingLeftWidth","getFloatingLeftWidth","floatingRightWidth","getFloatingRightWidth","getVisibleHeight","getVisibleWidth","getFirstIndex","itemSizes","getModelIndex","modelIndex","getModelColumn","bind","getModelRow","visibleWidth","getVisibleColumnWidth","visibleHeight","getVisibleRowHeight","getTopForTopVisible","getTopForBottomVisible","availableHeight","getLeftForLeftVisible","getLeftForRightVisible","availableWidth","rowHeights","row","columnWidths","column","columnWidthMap","rowHeightMap","treeDepthIndent","treeHorizontalPadding","forEach","modelRow","isRowExpandable","depth","depthForRow","x1","x2","y1","y2","floatingWidth","floatingHeight","rowY","columnX","getLastIndexViewport","items","itemXs","maxSize","defaultItemSize","lastIndex","dataSize","ceil","getVisibleItemSize","userSizes","calculateSize","has","calculateRowHeight","modelColumn","calculateColumnWidth","visibleRow","visibleColumn","autoSizeRows","cachedValue","autoSizeColumns","minColumnWidth","headerWidth","calculateColumnHeaderWidth","dataWidth","calculateColumnDataWidth","headerFont","headerHorizontalPadding","headerText","textForColumnHeader","headerFontWidth","getWidthForFont","font","cellHorizontalPadding","fontWidth","rowsPerPage","iterateAllItems","text","textForCell","cellPadding","MAX_COLUMN_WIDTH","treePadding","context","textMetrics","measureText","setColumnWidth","resetColumnWidth","setRowHeight","resetRowHeight"],"mappings":"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","sourcesContent":["import GridUtils from './GridUtils';\n\n/* eslint class-methods-use-this: \"off\" */\n/* eslint react/destructuring-assignment: \"off\" */\n/**\n * Class to calculate all the metrics for drawing a grid.\n * Call getMetrics() with the state to get the full metrics.\n * Override this class and override the individual methods to provide additional functionality.\n */\nclass GridMetricCalculator {\n /** The size of the caches this calculator stores */\n static CACHE_SIZE = 10000;\n\n /** The maximum column width as a percentage of the full grid */\n static MAX_COLUMN_WIDTH = 0.8;\n\n /**\n * Trim the provided map in place. Trims oldest inserted items down to the target size if the cache size is exceeded.\n * Instead of trimming one item on every tick, we trim half the items so there isn't a cache clear on every new item.\n * @param {Map} map The map to trim\n * @param {number} cacheSize The maximum number of elements to cache\n * @param {number} targetSize The number of elements to reduce the cache down to if `cacheSize` is exceeded\n */\n static trimMap(\n map,\n cacheSize = GridMetricCalculator.CACHE_SIZE,\n targetSize = Math.floor(cacheSize / 2)\n ) {\n if (map.size > cacheSize) {\n const iter = map.keys();\n while (map.size > targetSize) {\n map.delete(iter.next().value);\n }\n }\n }\n\n /**\n * Get the coordinates of floating items in one dimension.\n * Can be used for getting the y coordinates of floating rows, or x coordinates of floating columns, calculated using the `sizeMap` passed in.\n * @param {number} startCount The number of floating items at the start (ie. `floatingTopRowCount` for rows, `floatingLeftColumnCount` for columns)\n * @param {number} endCount The number of floating items at the end (ie. `floatingBottomRowCount` for rows, `floatingRightColumnCount` for columns)\n * @param {number} totalCount Total number of items in this dimension (ie. `rowCount` for rows, `columnCount` for columns)\n * @param {number} max The max coordinate value (ie. `maxY` for rows, `maxX` for columns)\n * @param {Map<number, number>} sizeMap Map from index to size of item (ie. `rowHeightMap` for rows, `columnWidthMap` for columns)\n */\n static getFloatingCoordinates(\n startCount,\n endCount,\n totalCount,\n max,\n sizeMap\n ) {\n const coordinates = new Map();\n let x = 0;\n for (let i = 0; i < startCount && i < totalCount; i += 1) {\n coordinates.set(i, x);\n x += sizeMap.get(i);\n }\n\n x = max;\n for (let i = 0; i < endCount && totalCount - i - 1 >= 0; i += 1) {\n x -= sizeMap.get(totalCount - i - 1);\n coordinates.set(totalCount - i - 1, x);\n }\n return coordinates;\n }\n\n constructor({\n userColumnWidths = new Map(),\n userRowHeights = new Map(),\n calculatedRowHeights = new Map(),\n calculatedColumnWidths = new Map(),\n fontWidths = new Map(),\n modelRows = new Map(),\n modelColumns = new Map(),\n movedRows = null,\n movedColumns = null,\n } = {}) {\n this.userColumnWidths = userColumnWidths;\n this.userRowHeights = userRowHeights;\n this.calculatedRowHeights = calculatedRowHeights;\n this.calculatedColumnWidths = calculatedColumnWidths;\n this.fontWidths = fontWidths;\n\n // Need to track the last moved rows/columns array so we know if we need to reset our models cache\n this.modelRows = modelRows;\n this.modelColumns = modelColumns;\n this.movedRows = movedRows;\n this.movedColumns = movedColumns;\n }\n\n /** update the calculated metrics from the model/canvas that are useful for many functions */\n getMetrics(state) {\n const {\n left,\n top,\n leftOffset,\n topOffset,\n width,\n height,\n theme,\n model,\n movedRows,\n movedColumns,\n } = state;\n const {\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n columnWidth,\n columnHeaderHeight,\n minScrollHandleSize,\n scrollBarSize,\n } = theme;\n\n if (movedRows !== this.movedRows) {\n this.movedRows = movedRows;\n this.modelRows.clear();\n }\n\n if (movedColumns !== this.movedColumns) {\n this.movedColumns = movedColumns;\n this.modelColumns.clear();\n }\n\n const {\n columnCount,\n rowCount,\n floatingTopRowCount,\n floatingBottomRowCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n // Get some basic metrics\n const firstRow = this.getFirstRow(state);\n const firstColumn = this.getFirstColumn(state);\n\n const gridX = this.getGridX(state);\n const gridY = this.getGridY(state);\n\n const treePaddingX = model.hasExpandableRows\n ? this.calculateTreePaddingX(state)\n : 0;\n const treePaddingY = 0; // We don't support trees on columns (at least not yet)\n\n let visibleRowHeights = this.getVisibleRowHeights(state);\n let visibleColumnWidths = this.getVisibleColumnWidths(\n state,\n firstColumn,\n treePaddingX\n );\n\n // Calculate the metrics for the main grid\n const visibleRows = Array.from(visibleRowHeights.keys());\n const visibleColumns = Array.from(visibleColumnWidths.keys());\n\n let visibleColumnXs = this.getVisibleColumnXs(\n visibleColumnWidths,\n visibleColumns,\n leftOffset\n );\n let visibleRowYs = this.getVisibleRowYs(\n visibleRowHeights,\n visibleRows,\n topOffset\n );\n\n const bottom =\n visibleRows.length > 0 ? visibleRows[visibleRows.length - 1] : top;\n const right =\n visibleColumns.length > 0\n ? visibleColumns[visibleColumns.length - 1]\n : left;\n\n const bottomViewport = this.getBottomViewport(\n state,\n visibleRows,\n visibleRowYs,\n visibleRowHeights\n );\n const rightViewport = this.getRightViewport(\n state,\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths\n );\n\n const columnWidthValues = Array.from(visibleColumnWidths.values());\n const rowHeightValues = Array.from(visibleRowHeights.values());\n const maxX = columnWidthValues.reduce((x, w) => x + w, 0) - leftOffset;\n const maxY = rowHeightValues.reduce((y, h) => y + h, 0) - topOffset;\n\n const floatingBottomHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n\n const lastLeft = this.getLastLeft(\n state,\n null,\n width - gridX - scrollBarSize - rowFooterWidth\n );\n const lastTop = this.getLastTop(\n state,\n null,\n height - gridY - scrollBarSize - floatingBottomHeight\n );\n\n // Calculate some metrics for the scroll bars\n const hasHorizontalBar = lastLeft > 0;\n const hasVerticalBar = lastTop > 0;\n const horizontalBarHeight = hasHorizontalBar ? scrollBarSize : 0;\n const verticalBarWidth = hasVerticalBar ? scrollBarSize : 0;\n const barWidth = width - rowHeaderWidth - verticalBarWidth;\n const barHeight = height - columnHeaderHeight - horizontalBarHeight;\n\n const handleWidth =\n lastLeft > 0\n ? Math.min(\n Math.max(\n minScrollHandleSize,\n barWidth * ((columnCount - lastLeft) / columnCount)\n ),\n barWidth - 1\n )\n : 0;\n const handleHeight =\n lastTop > 0\n ? Math.min(\n Math.max(\n minScrollHandleSize,\n barHeight * ((rowCount - lastTop) / rowCount)\n ),\n barHeight - 1\n )\n : 0;\n\n const leftColumnWidth = visibleColumnWidths.get(left);\n const topRowHeight = visibleRowHeights.get(top);\n const leftOffsetPercent =\n leftColumnWidth > 0 ? leftOffset / leftColumnWidth : 0;\n const topOffsetPercent = topRowHeight > 0 ? topOffset / topRowHeight : 0;\n const scrollX =\n lastLeft > 0\n ? ((left + leftOffsetPercent) / lastLeft) * (barWidth - handleWidth)\n : 0;\n const scrollY =\n lastTop > 0\n ? ((top + topOffsetPercent) / lastTop) * (barHeight - handleHeight)\n : 0;\n\n // Now add the floating sections\n let floatingRows = [];\n if (floatingTopRowCount > 0 || floatingBottomRowCount > 0) {\n floatingRows = [\n ...Array(floatingTopRowCount).keys(),\n ...[...Array(floatingBottomRowCount).keys()].map(i => rowCount - i - 1),\n ];\n visibleRowHeights = new Map([\n ...visibleRowHeights,\n ...this.getFloatingRowHeights(state),\n ]);\n visibleRowYs = new Map([\n ...visibleRowYs,\n ...this.getFloatingRowYs(\n state,\n visibleRowHeights,\n Math.floor(height - gridY - horizontalBarHeight)\n ),\n ]);\n }\n\n let floatingColumns = [];\n if (floatingLeftColumnCount > 0 || floatingRightColumnCount > 0) {\n floatingColumns = [\n ...Array(floatingLeftColumnCount).keys(),\n ...[...Array(floatingRightColumnCount).keys()].map(\n i => columnCount - i - 1\n ),\n ];\n visibleColumnWidths = new Map([\n ...visibleColumnWidths,\n ...this.getFloatingColumnWidths(state),\n ]);\n visibleColumnXs = new Map([\n ...visibleColumnXs,\n ...this.getFloatingColumnXs(\n state,\n visibleColumnWidths,\n Math.floor(width - gridX - verticalBarWidth)\n ),\n ]);\n }\n\n const allRows = visibleRows.concat(floatingRows);\n const allColumns = visibleColumns.concat(floatingColumns);\n const modelRows = this.getModelRows(allRows, state);\n const modelColumns = this.getModelColumns(allColumns, state);\n\n const visibleRowTreeBoxes = this.getVisibleRowTreeBoxes(\n visibleRowHeights,\n modelRows,\n state\n );\n\n // Calculate the visible viewport based on scroll position and floating sections\n const topVisible = this.getTopVisible(\n state,\n visibleRowYs,\n visibleRowHeights,\n visibleRows,\n gridY\n );\n const leftVisible = this.getLeftVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n );\n const bottomVisible =\n lastTop > 0\n ? this.getBottomVisible(\n state,\n visibleRowYs,\n visibleRowHeights,\n visibleRows,\n gridY\n )\n : bottom;\n const rightVisible =\n lastLeft > 0\n ? this.getRightVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n )\n : right;\n\n const floatingTopHeight = this.getFloatingTopHeight(\n state,\n visibleRowHeights\n );\n const floatingLeftWidth = this.getFloatingLeftWidth(\n state,\n visibleColumnWidths\n );\n const floatingRightWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n\n const {\n fontWidths,\n userColumnWidths,\n userRowHeights,\n calculatedRowHeights,\n calculatedColumnWidths,\n } = this;\n\n return {\n // Row/Column metrics from model\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n rowCount,\n columnWidth,\n columnCount,\n columnHeaderHeight,\n\n // Floating row and column counts\n floatingTopRowCount,\n floatingBottomRowCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n\n // The grid offset from the top left\n gridX,\n gridY,\n\n // Index of non-hidden row/columns\n firstRow,\n firstColumn,\n\n // The amount of padding for tree (if applicable)\n treePaddingX,\n treePaddingY,\n\n // What viewport is currently visible, limited by data size\n left,\n top,\n bottom,\n right,\n topOffset,\n leftOffset,\n\n // Bottom and right that are fully visible, not overlapped by scroll bars or anything\n topVisible,\n leftVisible,\n bottomVisible,\n rightVisible,\n\n // Bottom and right of the viewport, not limited by data size\n bottomViewport,\n rightViewport,\n\n // Canvas width/height\n width,\n height,\n\n // Max x/y coordinate of the grid (does not include headers)\n maxX,\n maxY,\n\n // Last valid column/row that can be the left/top of the grid\n lastLeft,\n lastTop,\n\n // Scroll bar metrics\n barHeight,\n barWidth,\n handleHeight,\n handleWidth,\n hasHorizontalBar,\n hasVerticalBar,\n verticalBarWidth,\n horizontalBarHeight,\n\n // The vertical x/y scroll amount\n scrollX,\n scrollY,\n\n // Array of visible rows/columns, by grid index\n visibleRows,\n visibleColumns,\n\n // Array of floating rows/columns, by grid index\n floatingRows,\n floatingColumns,\n\n // Array of all rows/columns, visible and floating, by grid index\n allRows,\n allColumns,\n\n // Map of the height/width of visible rows/columns\n visibleRowHeights,\n visibleColumnWidths,\n\n // Floating metrics\n floatingTopHeight,\n floatingBottomHeight,\n floatingLeftWidth,\n floatingRightWidth,\n\n // Map of the X/Y coordinates of the rows/columns, from the top left of the grid\n visibleRowYs,\n visibleColumnXs,\n\n // The boxes user can click on for expanding/collapsing tree rows\n visibleRowTreeBoxes,\n\n // Mapping from visible row indexes to the model row/columns they pull from\n modelRows,\n modelColumns,\n\n // Map of the width of the fonts\n fontWidths,\n\n // Map of user set column/row width/height\n userColumnWidths,\n userRowHeights,\n\n // Map of calculated row/column height/width\n calculatedRowHeights,\n calculatedColumnWidths,\n };\n }\n\n getGridX(state) {\n const { theme } = state;\n const { rowHeaderWidth } = theme;\n\n return rowHeaderWidth;\n }\n\n getGridY(state) {\n const { theme } = state;\n const { columnHeaderHeight } = theme;\n\n return columnHeaderHeight;\n }\n\n getVisibleHeight(\n state,\n visibleRowHeights = this.getFloatingRowHeights(state)\n ) {\n const { height, theme } = state;\n const { scrollBarSize } = theme;\n const gridY = this.getGridY(state);\n const floatingBottomHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n const floatingTopHeight = this.getFloatingTopHeight(\n state,\n visibleRowHeights\n );\n\n return (\n height - floatingBottomHeight - floatingTopHeight - gridY - scrollBarSize\n );\n }\n\n getVisibleWidth(\n state,\n visibleColumnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { width, theme } = state;\n const { scrollBarSize, rowFooterWidth } = theme;\n const gridX = this.getGridX(state);\n const floatingRightWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n const floatingLeftWidth = this.getFloatingLeftWidth(\n state,\n visibleColumnWidths\n );\n\n return (\n width -\n floatingLeftWidth -\n floatingRightWidth -\n gridX -\n scrollBarSize -\n rowFooterWidth\n );\n }\n\n getFirstIndex(itemSizes, getModelIndex, state) {\n // We only need to check at the very most the number of items the user has hidden + 1\n const max = itemSizes.size + 1;\n for (let i = 0; i < max; i += 1) {\n const modelIndex = getModelIndex(i, state);\n if (itemSizes.get(modelIndex) !== 0) {\n return i;\n }\n }\n return 0;\n }\n\n /** Get the first column index that isn't hidden */\n getFirstColumn(state) {\n return this.getFirstIndex(\n this.userColumnWidths,\n this.getModelColumn.bind(this),\n state\n );\n }\n\n /** Get the first row index that isn't hidden */\n getFirstRow(state) {\n return this.getFirstIndex(\n this.userRowHeights,\n this.getModelRow.bind(this),\n state\n );\n }\n\n /**\n * Get the last column that can be the left most column (eg. scrolled to the right)\n * If no right column is provided, then the last column is used.\n */\n getLastLeft(state, right = null, visibleWidth = this.getVisibleWidth(state)) {\n const { model } = state;\n const { columnCount } = model;\n\n let lastLeft = columnCount - 1;\n if (right != null) {\n lastLeft = right;\n }\n let x = 0;\n while (lastLeft >= 0) {\n const columnWidth = this.getVisibleColumnWidth(lastLeft, state);\n x += columnWidth;\n\n if (x >= visibleWidth) {\n return Math.min(lastLeft + 1, columnCount - 1);\n }\n\n lastLeft -= 1;\n }\n\n return 0;\n }\n\n /**\n * The last row that can be the top row (eg. scrolled to the bottom)\n * If no bottom row is provided, then the last row that is not floating is used\n */\n getLastTop(\n state,\n bottom = null,\n visibleHeight = this.getVisibleHeight(state)\n ) {\n const { model } = state;\n const { rowCount, floatingBottomRowCount } = model;\n\n let lastTop = Math.max(0, rowCount - floatingBottomRowCount - 1);\n if (bottom != null) {\n lastTop = bottom;\n }\n let y = 0;\n while (lastTop > 0) {\n const rowHeight = this.getVisibleRowHeight(lastTop, state);\n y += rowHeight;\n\n if (y >= visibleHeight) {\n return Math.min(lastTop + 1, rowCount - 1);\n }\n\n lastTop -= 1;\n }\n\n return 0;\n }\n\n getTopForTopVisible(state, topVisible) {\n const floatingTopHeight = this.getFloatingTopHeight(state);\n let top = topVisible;\n let y = 0;\n while (top > 0 && y < floatingTopHeight) {\n top -= 1;\n y += this.getVisibleRowHeight(top, state);\n }\n return top;\n }\n\n getTopForBottomVisible(state, bottomVisible) {\n const { height } = state;\n const gridY = this.getGridY(state);\n const floatingBottomHeight = this.getFloatingBottomHeight(state);\n const availableHeight = height - gridY - floatingBottomHeight;\n return this.getLastTop(state, bottomVisible, availableHeight);\n }\n\n getLeftForLeftVisible(state, leftVisible) {\n const floatingLeftWidth = this.getFloatingLeftWidth(state);\n let left = leftVisible;\n let x = 0;\n while (left > 0 && x < floatingLeftWidth) {\n left -= 1;\n x += this.getVisibleColumnWidth(left, state);\n }\n return left;\n }\n\n getLeftForRightVisible(state, rightVisible) {\n const { width } = state;\n const gridX = this.getGridX(state);\n const floatingRightWidth = this.getFloatingRightWidth(state);\n const availableWidth = width - gridX - floatingRightWidth;\n return this.getLastLeft(state, rightVisible, availableWidth);\n }\n\n getFloatingRowHeights(state) {\n const { model } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n\n const rowHeights = new Map();\n for (let i = 0; i < floatingTopRowCount && i < rowCount; i += 1) {\n rowHeights.set(i, this.getVisibleRowHeight(i, state));\n }\n\n for (\n let i = 0;\n i < floatingBottomRowCount && rowCount - i - 1 >= 0;\n i += 1\n ) {\n const row = rowCount - i - 1;\n rowHeights.set(row, this.getVisibleRowHeight(row, state));\n }\n\n return rowHeights;\n }\n\n getVisibleRowHeights(state) {\n const { top, topOffset, height, model } = state;\n\n let y = 0;\n let row = top;\n const rowHeights = new Map();\n const { rowCount } = model;\n while (y < height + topOffset && row < rowCount) {\n const rowHeight = this.getVisibleRowHeight(row, state);\n rowHeights.set(row, rowHeight);\n y += rowHeight;\n row += 1;\n }\n\n return rowHeights;\n }\n\n getFloatingColumnWidths(\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { model } = state;\n const {\n columnCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n const columnWidths = new Map();\n for (let i = 0; i < floatingLeftColumnCount && i < columnCount; i += 1) {\n columnWidths.set(\n i,\n this.getVisibleColumnWidth(i, state, firstColumn, treePaddingX)\n );\n }\n\n for (\n let i = 0;\n i < floatingRightColumnCount && columnCount - i - 1 >= 0;\n i += 1\n ) {\n const column = columnCount - i - 1;\n columnWidths.set(\n column,\n this.getVisibleColumnWidth(column, state, firstColumn, treePaddingX)\n );\n }\n\n return columnWidths;\n }\n\n getVisibleColumnWidths(\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { left, leftOffset, width, model } = state;\n\n let x = 0;\n let column = left;\n const columnWidths = new Map();\n const { columnCount } = model;\n while (x < width + leftOffset && column < columnCount) {\n const columnWidth = this.getVisibleColumnWidth(\n column,\n state,\n firstColumn,\n treePaddingX\n );\n columnWidths.set(column, columnWidth);\n x += columnWidth;\n column += 1;\n }\n\n return columnWidths;\n }\n\n getFloatingColumnXs(state, columnWidthMap, maxX) {\n const { model } = state;\n const {\n columnCount,\n floatingLeftColumnCount,\n floatingRightColumnCount,\n } = model;\n\n return GridMetricCalculator.getFloatingCoordinates(\n floatingLeftColumnCount,\n floatingRightColumnCount,\n columnCount,\n maxX,\n columnWidthMap\n );\n }\n\n getVisibleColumnXs(visibleColumnWidths, visibleColumns, leftOffset) {\n const visibleColumnXs = new Map();\n let x = -leftOffset;\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = visibleColumnWidths.get(column);\n visibleColumnXs.set(column, x);\n x += columnWidth;\n }\n\n return visibleColumnXs;\n }\n\n getFloatingRowYs(state, rowHeightMap, maxY) {\n const { model } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n\n return GridMetricCalculator.getFloatingCoordinates(\n floatingTopRowCount,\n floatingBottomRowCount,\n rowCount,\n maxY,\n rowHeightMap\n );\n }\n\n getVisibleRowYs(visibleRowHeights, visibleRows, topOffset) {\n const visibleRowYs = new Map();\n let y = -topOffset;\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n const rowHeight = visibleRowHeights.get(row);\n visibleRowYs.set(row, y);\n y += rowHeight;\n }\n\n return visibleRowYs;\n }\n\n /** Calculates the tree box click areas that are visible. In relation to the columnX/rowY */\n getVisibleRowTreeBoxes(visibleRowHeights, modelRows, state) {\n const visibleRowTreeBoxes = new Map();\n const { model, theme } = state;\n const { treeDepthIndent, treeHorizontalPadding } = theme;\n\n if (model.hasExpandableRows) {\n visibleRowHeights.forEach((rowHeight, row) => {\n const modelRow = modelRows.get(row);\n if (model.isRowExpandable(modelRow)) {\n const depth = model.depthForRow(modelRow);\n const x1 = depth * treeDepthIndent + treeHorizontalPadding;\n const x2 = (depth + 1) * treeDepthIndent + treeHorizontalPadding;\n const y1 = 0;\n const y2 = rowHeight;\n visibleRowTreeBoxes.set(row, [x1, y1, x2, y2]);\n }\n });\n }\n\n return visibleRowTreeBoxes;\n }\n\n getFloatingLeftWidth(\n state,\n columnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { model } = state;\n const { floatingLeftColumnCount } = model;\n let floatingWidth = 0;\n for (let i = 0; i < floatingLeftColumnCount; i += 1) {\n floatingWidth += columnWidths.get(i) ?? 0;\n }\n return floatingWidth;\n }\n\n getFloatingRightWidth(\n state,\n columnWidths = this.getFloatingColumnWidths(state)\n ) {\n const { model } = state;\n const { floatingRightColumnCount, columnCount } = model;\n let floatingWidth = 0;\n for (let i = 0; i < floatingRightColumnCount; i += 1) {\n floatingWidth += columnWidths.get(columnCount - i - 1) ?? 0;\n }\n\n return floatingWidth;\n }\n\n getFloatingTopHeight(state, rowHeights = this.getFloatingRowHeights(state)) {\n const { model } = state;\n const { floatingTopRowCount } = model;\n let floatingHeight = 0;\n for (let i = 0; i < floatingTopRowCount; i += 1) {\n floatingHeight += rowHeights.get(i) ?? 0;\n }\n return floatingHeight;\n }\n\n getFloatingBottomHeight(\n state,\n rowHeights = this.getFloatingRowHeights(state)\n ) {\n const { model } = state;\n const { floatingBottomRowCount, rowCount } = model;\n let floatingHeight = 0;\n for (let i = 0; i < floatingBottomRowCount; i += 1) {\n floatingHeight += rowHeights.get(rowCount - i - 1) ?? 0;\n }\n return floatingHeight;\n }\n\n getTopVisible(state, visibleRowYs, visibleRowHeights, visibleRows) {\n const floatingHeight = this.getFloatingTopHeight(state, visibleRowHeights);\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n if (visibleRowYs.get(row) >= floatingHeight) {\n return row;\n }\n }\n return 0;\n }\n\n getLeftVisible(state, visibleColumnXs, visibleColumnWidths, visibleColumns) {\n const floatingWidth = this.getFloatingLeftWidth(state, visibleColumnWidths);\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n if (visibleColumnXs.get(column) >= floatingWidth) {\n return column;\n }\n }\n return 0;\n }\n\n getBottomVisible(state, visibleRowYs, visibleRowHeights, visibleRows, gridY) {\n const { height, theme } = state;\n const { scrollBarSize } = theme;\n const floatingHeight = this.getFloatingBottomHeight(\n state,\n visibleRowHeights\n );\n const visibleHeight = height - gridY - scrollBarSize - floatingHeight;\n for (let i = visibleRows.length - 1; i >= 0; i -= 1) {\n const row = visibleRows[i];\n const rowY = visibleRowYs.get(row);\n const rowHeight = visibleRowHeights.get(row);\n if (rowY + rowHeight <= visibleHeight) {\n return row;\n }\n }\n\n return 0;\n }\n\n getRightVisible(\n state,\n visibleColumnXs,\n visibleColumnWidths,\n visibleColumns,\n gridX\n ) {\n const { width, theme } = state;\n const { scrollBarSize } = theme;\n const floatingWidth = this.getFloatingRightWidth(\n state,\n visibleColumnWidths\n );\n const visibleWidth = width - gridX - scrollBarSize - floatingWidth;\n for (let i = visibleColumns.length - 1; i >= 0; i -= 1) {\n const column = visibleColumns[i];\n const columnX = visibleColumnXs.get(column);\n const columnWidth = visibleColumnWidths.get(column);\n if (columnX + columnWidth <= visibleWidth) {\n return column;\n }\n }\n\n return 0;\n }\n\n getBottomViewport(state, visibleRows, visibleRowYs, visibleRowHeights) {\n const { height, theme } = state;\n const { rowHeight } = theme;\n\n return this.getLastIndexViewport(\n visibleRows,\n visibleRowYs,\n visibleRowHeights,\n height,\n rowHeight\n );\n }\n\n getRightViewport(\n state,\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths\n ) {\n const { width, theme } = state;\n const { columnWidth } = theme;\n\n return this.getLastIndexViewport(\n visibleColumns,\n visibleColumnXs,\n visibleColumnWidths,\n width,\n columnWidth\n );\n }\n\n getLastIndexViewport(items, itemXs, itemSizes, maxSize, defaultItemSize) {\n let lastIndex = 0;\n let dataSize = 0;\n if (items.length > 0) {\n lastIndex = items[items.length - 1];\n dataSize = itemXs.get(lastIndex) + itemSizes.get(lastIndex);\n }\n\n if (dataSize < maxSize) {\n lastIndex += Math.ceil((maxSize - dataSize) / defaultItemSize);\n }\n\n return lastIndex;\n }\n\n getVisibleItemSize(modelIndex, userSizes, calculateSize) {\n if (userSizes.has(modelIndex)) {\n return userSizes.get(modelIndex);\n }\n return calculateSize();\n }\n\n getVisibleRowHeight(row, state) {\n const modelRow = this.getModelRow(row, state);\n\n return this.getVisibleItemSize(modelRow, this.userRowHeights, () =>\n this.calculateRowHeight(row, modelRow, state)\n );\n }\n\n getVisibleColumnWidth(\n column,\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const modelColumn = this.getModelColumn(column, state);\n\n return this.getVisibleItemSize(modelColumn, this.userColumnWidths, () =>\n this.calculateColumnWidth(\n column,\n modelColumn,\n state,\n firstColumn,\n treePaddingX\n )\n );\n }\n\n getModelRows(visibleRows, state) {\n const modelRows = new Map();\n for (let i = 0; i < visibleRows.length; i += 1) {\n const visibleRow = visibleRows[i];\n const modelRow = this.getModelRow(visibleRow, state);\n modelRows.set(visibleRow, modelRow);\n }\n return modelRows;\n }\n\n getModelRow(visibleRow, state) {\n if (this.modelRows.has(visibleRow)) {\n return this.modelRows.get(visibleRow);\n }\n const { movedRows } = state;\n const modelRow = GridUtils.getModelIndex(visibleRow, movedRows);\n this.modelRows.set(visibleRow, modelRow);\n return modelRow;\n }\n\n getModelColumns(visibleColumns, state) {\n const modelColumns = new Map();\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const visibleColumn = visibleColumns[i];\n const modelColumn = this.getModelColumn(visibleColumn, state);\n modelColumns.set(visibleColumn, modelColumn);\n }\n return modelColumns;\n }\n\n getModelColumn(visibleColumn, state) {\n if (this.modelColumns.has(visibleColumn)) {\n return this.modelColumns.get(visibleColumn);\n }\n const { movedColumns } = state;\n const modelColumn = GridUtils.getModelIndex(visibleColumn, movedColumns);\n this.modelColumns.set(visibleColumn, modelColumn);\n return modelColumn;\n }\n\n calculateRowHeight(row, modelRow, state) {\n const { theme } = state;\n const { autoSizeRows, rowHeight } = theme;\n if (!autoSizeRows) {\n return rowHeight;\n }\n\n const cachedValue = this.calculatedRowHeights.get(modelRow);\n if (cachedValue != null) {\n return cachedValue;\n }\n\n // Not sure how to accurately get the height of text. For now just return the theme height.\n this.calculatedRowHeights.set(modelRow, Math.ceil(rowHeight));\n GridMetricCalculator.trimMap(this.calculatedRowHeights);\n return rowHeight;\n }\n\n /** Calculates the column width based on the provided column model index */\n calculateColumnWidth(\n column,\n modelColumn,\n state,\n firstColumn = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ) {\n const { theme } = state;\n const { autoSizeColumns, minColumnWidth } = theme;\n if (!autoSizeColumns) {\n const { columnWidth } = theme;\n return columnWidth;\n }\n\n const headerWidth = this.calculateColumnHeaderWidth(modelColumn, state);\n const dataWidth = this.calculateColumnDataWidth(modelColumn, state);\n const cachedValue = this.calculatedColumnWidths.get(modelColumn);\n let columnWidth = Math.ceil(Math.max(headerWidth, dataWidth));\n columnWidth = Math.max(minColumnWidth, columnWidth);\n if (cachedValue != null && cachedValue > columnWidth) {\n columnWidth = cachedValue;\n } else {\n this.calculatedColumnWidths.set(modelColumn, columnWidth);\n GridMetricCalculator.trimMap(this.calculatedColumnWidths);\n }\n\n if (column === firstColumn) {\n columnWidth += treePaddingX;\n }\n\n return columnWidth;\n }\n\n calculateColumnHeaderWidth(modelColumn, state) {\n const { model, theme } = state;\n const { headerFont, headerHorizontalPadding } = theme;\n\n const headerText = model.textForColumnHeader(modelColumn);\n if (headerText) {\n const headerFontWidth = this.getWidthForFont(headerFont, state);\n return headerText.length * headerFontWidth + headerHorizontalPadding * 2;\n }\n\n return headerHorizontalPadding * 2;\n }\n\n calculateColumnDataWidth(modelColumn, state) {\n const { top, height, width, model, theme } = state;\n const { floatingTopRowCount, floatingBottomRowCount, rowCount } = model;\n const {\n font,\n cellHorizontalPadding,\n rowHeight,\n rowHeaderWidth,\n rowFooterWidth,\n scrollBarSize,\n } = theme;\n\n let columnWidth = 0;\n\n const fontWidth = this.getWidthForFont(font, state);\n const rowsPerPage = height / rowHeight;\n const bottom = Math.ceil(top + rowsPerPage);\n GridUtils.iterateAllItems(\n top,\n bottom,\n floatingTopRowCount,\n floatingBottomRowCount,\n rowCount,\n row => {\n const modelRow = this.getModelRow(row, state);\n const text = model.textForCell(modelColumn, modelRow);\n if (text) {\n const cellPadding = cellHorizontalPadding * 2;\n columnWidth = Math.max(\n columnWidth,\n text.length * fontWidth + cellPadding\n );\n }\n }\n );\n\n columnWidth = Math.max(\n Math.min(\n columnWidth,\n (width - rowHeaderWidth - scrollBarSize - rowFooterWidth) *\n GridMetricCalculator.MAX_COLUMN_WIDTH\n ),\n cellHorizontalPadding * 2\n );\n\n return columnWidth;\n }\n\n calculateTreePaddingX(state) {\n const { top, height, model, theme } = state;\n const { rowHeight, treeDepthIndent } = theme;\n if (!model.hasExpandableRows) {\n return 0;\n }\n let treePadding = 0;\n\n const rowsPerPage = height / rowHeight;\n const bottom = Math.ceil(top + rowsPerPage);\n for (let row = top; row <= bottom; row += 1) {\n const modelRow = this.getModelRow(row, state);\n const depth = model.depthForRow(modelRow);\n treePadding = Math.max(treePadding, treeDepthIndent * (depth + 1));\n }\n\n return treePadding;\n }\n\n /** Get the width of the provided font. Exploits the fact that we're using tabular figures so every character is same width */\n getWidthForFont(font, state) {\n if (this.fontWidths.has(font)) {\n return this.fontWidths.get(font);\n }\n const { context } = state;\n context.font = font;\n const textMetrics = context.measureText('8');\n const { width } = textMetrics;\n\n // context.font changes the string a little bit, eg. '10px Arial, sans serif' => '10px Arial, \"sans serif\"'\n // Rather than require checking with the correct font def (theme, or context font), just key it to both\n this.fontWidths.set(font, width);\n this.fontWidths.set(context.font, width);\n\n return width;\n }\n\n /**\n * Sets the width for the specified column\n * @param {Number} column The column model index to set\n * @param {Number} size The size to set it to, or null to reset the column size\n */\n setColumnWidth(column, size) {\n const userColumnWidths = new Map(this.userColumnWidths);\n if (size != null) {\n userColumnWidths.set(column, Math.ceil(size));\n GridMetricCalculator.trimMap(userColumnWidths);\n } else {\n userColumnWidths.delete(column);\n }\n this.userColumnWidths = userColumnWidths;\n }\n\n /**\n * Resets the column width for the specified column to the calculated width\n * @param {Number} column The column model index to reset\n */\n resetColumnWidth(column) {\n this.setColumnWidth(column, null);\n this.calculatedColumnWidths.delete(column);\n }\n\n /**\n * Sets the width for the specified row\n * @param {Number} row The row model index to set\n * @param {Number} size The size to set it to, or null to reset the row size\n */\n setRowHeight(row, size) {\n const userRowHeights = new Map(this.userRowHeights);\n if (size != null) {\n userRowHeights.set(row, Math.ceil(size));\n GridMetricCalculator.trimMap(userRowHeights);\n } else {\n userRowHeights.delete(row);\n }\n this.userRowHeights = userRowHeights;\n }\n\n resetRowHeight(row) {\n this.setRowHeight(row, null);\n this.calculatedRowHeights.delete(row);\n }\n}\n\nexport default GridMetricCalculator;\n"],"file":"GridMetricCalculator.js"}
package/dist/GridUtils.js CHANGED
@@ -1,4 +1,4 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
2
 
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
4
 
@@ -1,4 +1,4 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
2
 
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
4
 
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/classnames/index.d.ts","../../../node_modules/memoize-one/dist/memoize-one.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.clamp/index.d.ts","../src/GridRange.js","../src/GridUtils.js","../src/GridMetricCalculator.js","../../../node_modules/event-target-shim/index.d.ts","../src/GridModel.js","../src/GridMouseHandler.js","../src/GridTheme.js","../../../node_modules/@types/memoizee/index.d.ts","../src/memoizeClear.js","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../src/GridColorUtils.js","../src/GridRenderer.js","../src/mouse-handlers/GridSelectionMouseHandler.js","../src/mouse-handlers/GridColumnMoveMouseHandler.js","../src/mouse-handlers/GridSeparatorMouseHandler.js","../src/mouse-handlers/GridColumnSeparatorMouseHandler.js","../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.js","../src/mouse-handlers/GridRowMoveMouseHandler.js","../src/mouse-handlers/GridRowSeparatorMouseHandler.js","../src/mouse-handlers/GridRowTreeMouseHandler.js","../src/mouse-handlers/GridScrollBarCornerMouseHandler.js","../src/mouse-handlers/GridVerticalScrollBarMouseHandler.js","../src/mouse-handlers/EditMouseHandler.ts","../src/mouse-handlers/index.js","../src/key-handlers/SelectionKeyHandler.ts","../src/key-handlers/TreeKeyHandler.ts","../src/key-handlers/EditKeyHandler.ts","../src/key-handlers/PasteKeyHandler.ts","../src/key-handlers/index.ts","../src/CellInputField.tsx","../src/errors/PasteError.ts","../src/Grid.jsx","../src/KeyHandler.ts","../src/GridTestUtils.js","../src/MockGridModel.js","../src/MockTreeGridModel.js","../src/errors/index.ts","../src/index.ts","../src/MockGridData.js","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/jquery/JQueryStatic.d.ts","../../../node_modules/@types/jquery/JQuery.d.ts","../../../node_modules/@types/jquery/misc.d.ts","../../../node_modules/@types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/@types/jquery/index.d.ts","../../../node_modules/popper.js/index.d.ts","../../../node_modules/@types/bootstrap/index.d.ts","../../../node_modules/@types/braces/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/deep-equal/index.d.ts","../../../node_modules/@types/enzyme/index.d.ts","../../../node_modules/@types/enzyme-adapter-react-16/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/glob-base/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/is-function/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jszip/index.d.ts","../../../node_modules/@types/lodash.debounce/index.d.ts","../../../node_modules/@types/lodash.flatten/index.d.ts","../../../node_modules/@types/lodash.throttle/index.d.ts","../../../node_modules/@types/markdown-to-jsx/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/micromatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/@types/overlayscrollbars/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/pouchdb-find/index.d.ts","../../../node_modules/@types/pouchdb-core/index.d.ts","../../../node_modules/@types/pouchdb-adapter-http/index.d.ts","../../../node_modules/@types/pouchdb-adapter-idb/index.d.ts","../../../node_modules/@types/pouchdb-adapter-websql/index.d.ts","../../../node_modules/@types/pouchdb-mapreduce/index.d.ts","../../../node_modules/@types/pouchdb-replication/index.d.ts","../../../node_modules/@types/pouchdb-browser/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pretty-hrtime/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/reach__router/index.d.ts","../../../node_modules/@types/react-beautiful-dnd/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@types/react-redux/index.d.ts","../../../node_modules/@types/react-syntax-highlighter/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/react-transition-group/Transition.d.ts","../../../node_modules/@types/react-transition-group/CSSTransition.d.ts","../../../node_modules/@types/react-transition-group/TransitionGroup.d.ts","../../../node_modules/@types/react-transition-group/SwitchTransition.d.ts","../../../node_modules/@types/react-transition-group/config.d.ts","../../../node_modules/@types/react-transition-group/index.d.ts","../../../node_modules/@types/react-virtualized-auto-sizer/index.d.ts","../../../node_modules/@types/react-window/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/shortid/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/stylelint/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/Source.d.ts","../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts","../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts","../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts","../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts","../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-env/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"a8fe23ae87c3e9d2877032cafeb290f2ebe0c51e216d175a0408b10915ebe9f0","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"38943ef508ccbc71691ff6c14f30e0468a85a4ec22c9e0a4eea2c9ba8ca19352","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","d153cbce75b7e1621eda0a4148748f44edd71ff44cc5351bac1c7787da4d5b05","63ea76eab54e08ce38ada84ddff0b080d6c2e360165071af684b43844b15bda7","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"6109487f86bc33b14eebb35cbc878b591328e19657d92bc6c61b667f7f9594c8","d0ce72d18e557153f456b369dab2dabd7e31b9e99f62cdcdc11f041860864c7a","498563aaf987cbc34c421964549079d1f519598c6fc7a5758ede74136b997850","00a3bff69796dc9722ee782e1dfef9354bd7e9c31e17a3d6e397e00ff2c83b2f","63633f5796c4cf53210ce75f02e5d6e81b88012f5c8832af32c35d0a8b75cdde","458f9c204c44797c38ba489fe082d24f8ce28a2a70595ef82992373059ac3103","09cc4fb9f7624db16daa3e610f8a6eff5beea4b287272535e752f5fd69f74ea0","ce779d208300a90f335606ff25909eb717c5cd28d02907b1ffb49dd9f3f288d0","34ef06f1d5e0ae95afb816e93c40f04f93641c11ad06e54b6fbe9335c3238c03","5123528aeb0576ef34360832e201f0caf83af67644d3bb3d2e96aa36dc4cc97b","f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","88377538a6777f0c4dea4861e8b323c5a223e62ada1503ae51451d4c4c70f8b1","18f8a42b6e0f5b1314474e21be1f27807e97bde5e3ac215a119942042bf30a83","172db9a93f0a41f6c68947acdfbba7ca7f0eb70aaa31ebd4dd2c5f83e360fb8f","f58abd89e3da831c3b905f6877299a623a8e7071a3768a7fec148777ccb5bcb9","9dcdb1ef2dede98d87c8980aedd3e0e2a42ae7eef01245d4717450d4bff56298","440f0d5894b449022031113f83fc2ac1d552ed0b0732ef760170e31f09207540","ba2923a90038affc6f39f6f5a50472ddec0ca78324fc50fe87f1a0c91a00ea2b","9ea4a47d2a1d976d7c53299650b23a5988081f4fc0949bd4386b8b5af6a53f31","ff4aee68e268c63fd4a36f8d29e0f103964bfbe20fc4e1f04d831f253183dc02","bd7f9dfbb7adacd70c12caf05a2fa90adf690381f3b3ebce6299483c43f00f75","0b1fe8eb40632d279094b9cb7b27f47b3af7f2d632f6227012cc489d7b6c3a71","13abfc7e2931809dc51dca23ebcea1496051b8697edaed76503d5ebf82ea4036","008105fc4751fa742f3d02bbf7bf865a9f48b0274536009d66c4cbeee14d4933","fe5aaa4c53f61c26c254efaf485d4bec210cb61ed0a3e3b01432d481405ec8b8","ef43118614d9fcec044d452537695e981dd3a5512c3328ec8ca17da8401dd4b5","f39f2b2cb24bb0b248dd0947099fa6bb6a474c6464e25db1519ab659b070f4bf","701db35fa9997ea25d06d6060955d5edf98edb154d9786260808b5dd1c634184","7554a8bb6c0329d2e3bffd5c1572487780a480e51c3106c508f094746e0d9332","d52c9ea682a643ac2057adcf53952af1baa777b9160486acd1f404cb36861ce7","d0313ffab599c75ea1e1dff8efb918a48337a00f19b03fc27846c0c536b5e040","813287608c65909272878a79d738d98e7158abff5b0876863b15c6078e4cbcb4","4e1801f54a06010a66267213cc97b91becf325e45489dc3e728f37b28339783e","d8995444db5bac697682c3296259b7af6dc0a198468271470d1fdfd5e342c376","f0061ce85c917286d15877f304b7c3e66f5b9a6b5f425a2e3849f5d62dae6a14","06d0e51e23b5834f8e8cf7a9cb3407f99b819c634ab4f8dae2fb9f00c79fe01c","2b48f279f901471a41845dc0bf90862839c02e755c9fdd29108e801c6de9fa56","930e5e690d72666276c5bd68141f1a8a5fbcb9ba41db2df2e4861db2e52a8649","a505d0a2b69e279f58faf36288094ca76dd6110add3831f49f05f0b9fc8c61b8","b83bdbf0d3c0aea50e713e36720d7fa2943d69209fc729a3becc86a2c7c78447","c13e280d244dc0829d954089e1d0446455efdb72fb4bdc2e3f0561ffbc66c905","8dfed5c91ad36e69e6da6b7e49be929d4e19666db2b651aa839c485170a2902c","6da9e714516d081abaa435946d77c8d74dba888530412dc71601e83d2c8a512e","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","71c56bdaa82d7ce75a72d3c06c04fe10becec09bd9c4ef21776a2a055d3f428e",{"version":"2a19c7dd007f71b9db87dba915e20d894dbdac8aa8fab5d1c3083a61f2316a5c","affectsGlobalScope":true},{"version":"f3832e609ad73d8001ef05659bea2b8b03ea96026623e814834ff128f5e0f99b","affectsGlobalScope":true},{"version":"a4832e26b82049fc2774c96ca6e1c17b2c204246570a62fdbe7e8ee8af2cd4d4","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","d0b93cf4a086095121a40a8a878f81c72783fc819ad055225a36ef829c6f41d4","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587",{"version":"24ff7ac33bdb941a8cd04408a31ba15fafab9684f751e7e88234813b89712c19","affectsGlobalScope":true},"40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281",{"version":"3e432cdf56538889e5742d388cdf03d670bfb17f4547dbbb1daf90701ec790d5","affectsGlobalScope":true},"85d545d430795d54a8b2896f67f9aeb7bf19fd74a1469ae0627311eb72f0dfa2","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","55cb77e6ff3d95a68568446f53d3f1dc8fca753575d7c60471a865685f08dcc3","3d68ecf05475492f041c88395372c3a01b30351619bebcd38287ab185be7f7e4",{"version":"36c956a3a6dc279f1e6b77aa4b97b7b229b7d828102573ef5002de456ff5e1d9","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","6e8b894365ab993dbb55c58542598d1548fdda072c974f98b89c218891e2ba09","ddd6169dff8e5263397a9399ba7ba92521d3959f8f9dcdc27f24403dc7b751ba","508e1e25ca40ea6cde332d3232c826fcd82f456f45ae535d817754684f048f9e",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"8f8f6ee2a0c94077f79439f51640a625ac7e2f5dd6866bd3b5a41705c836adfc","affectsGlobalScope":true},"dda27180d5ff550ace8378f5df0f7a26e616f0c4e310c77e94329e2355f9c255","839421b494b57cd2bc0074e914130277051850eba6def6c25870056e6652640b","12a01de318341fefb7be11f22eb4bf28478a5f137b1b4546c509156e9c158198","88587b5c94b0c4f5d78026e4beeb93383b3933c860d9840b55d6bf47d7b632bb","5aa2a9a778a055cd668ea419ea80ba6e195210eb37d47707a1a58886aa4d80f0","9e8947666e44137405fd378f3a8a0515a492e967e552406c02b991c98c78fc61","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","9e6a556cf660a94faa51f5bce6ed009b9e02373546a4c67925da909f36c039d0","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","a39a4c527b7a2dc7a2661b711a534c10c76852c5ad6ae320767d3f7d2621b67d","1bb5c9857b2ee32c199dd85bc0f4c0299112485d6e5dc91428eabfdee0dbd68c",{"version":"61dd09b57a0a5cf1486c3ceb3a18ad23babfe602c323035ce3d01544c5e3e0b6","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","662661bbf9ccd869f3bca82d34234b2abdc95c657e2187c35352d42dddb24c2d","5caa645cc390a0a8d5a031072b6b4e49218c17017cd80a63bd2557b19be13c5f","4c4334eb5d8fae83416a361d787b55a5743916aed8af812a909898bc7333e709","352104835f5c468c7d8a277f2c8c02fac239a37cd2293181fe421faa153878d3","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","a4aa075328fe61190b8547e74fae18179591a67fedb2ad274c63044a00716743","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","40c6ed5dc58e1c6afa7dcd23b1697bf290cc5b1170c63d0a4dd12f52aa39291c","71d6da3b0150ecdcd16c08b3b546fe4cc7f53df642eccfeb03c813ee788fae0c","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","c5ec3b97d9db756c689cd11f4a11eaa9e6077b2768e3e9b54ff727a93c03a909","bdb07038733b2d74a75ba9c381dcb92774cd6f161ee125bfa921eae7d883ccc9","ad93e960a3a07dff7394bf0c8a558006a9ff2d0725ab28fc33dec227d4cb251e",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c14e9e86f18189c7d32b5dd03b4cf3f40bed68f0509dec06d75d41b82c065fe2","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","d555cd63a3fc837840db192596273fdf52fb28092b0a33bec98e89a0334b3a4c","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7",{"version":"42c1b00421aa4d5f03b85a2639c1573d32bd82533f34423bbf1f5fb2b0ddc4d8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","2e345cb6511f4c4c60c274df6626c94f3182939034f06cdf414bfbccc584f822","b1b1adc57093310531ddf3f78b21bda16c30f7319088b0981449476a6616cff3","b6167e00019a8db27428651c58358d8cfac239107f25744e608816ed04361df7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","e300bf65972ac08167a72787e19d1b43c285c5424707194d0ba64422f6b02c77","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","70b34c8420d6226ed565d55f47fe04912d0ca0ad128825c5a06e018a3498db32","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","abc2748988e07e7e754b43cfcfadca4d45f3449eb4c0be503f13630a3f15f22b","7044c407773c0900946b7a02f3a0e7e5e79af8b0a32b14aeb419b7beedfb3fcd","96b729b46007058fceb10567283275a023415f724af78e91cab3ac7073c19635","620a033e8ff8ffc3d280c3d78981d8a929d0a8c14574a3b87413d99d7f02fadd","9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5","9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76","1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","fda7ad096a1619fbae01b3d869cc82e29116f22be50133ac8fb08cee21279acd","9751247ee3bbcf1c63592f0f4dafb44559680b2b3e5736b7f0578c6a737d74c8","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26",{"version":"2d2482647045d334fcfce6eefa3340db2800cb2d0814e7b58d4f3b53c274d8ec","affectsGlobalScope":true},{"version":"216033f81a7bbc9e0725f6a38f60b6acdce6381e1f0652efc0705a2e6a6d5a70","affectsGlobalScope":true},{"version":"838524a3cc660f7bbb104ffa15febad659d1ef1633dac47340bfbfcbbbffdb08","affectsGlobalScope":true},{"version":"50a03e74fae4542ecfb326b34517ec2e058aee15bcb60af5b2e41c5e2db0d079","affectsGlobalScope":true},{"version":"d252bde46b7594f8f90a45d59181b08134ee8c4919ebb2ba7088ba26056bf621","affectsGlobalScope":true},{"version":"e7a62a242d0948ba6687f0442bb26668444114bc64ca629511676e3ffec77e3f","affectsGlobalScope":true},{"version":"1abdfe21f6b99b864965f9dc5073c49f0c0f3d5e8e1fe498fb94bd0a479d3afe","affectsGlobalScope":true},"4d737cdd77685ed65bd61d375375cae446fb0f46f711bbb3ef3f81a350212569","65455ea1b00bae7bd26d3c8c2401eb3d10401c09c55192d6f3b8b2275eda20c2","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","94a274c882504de552300fc5d6be141820041e9e2c530064ea10a0b76e2f905f","163be962fa11ca0e3bc9afd1188701e16f5db0d84f904be3a5327c04bf14c1dc","c45d6f4d3a20be54e46237608f537a8d85397f87b9c3318d68ed925c2f1d0b51",{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},"4370c91e46f6992a89e3979c50434cf932088e1b5ae6e3a5214d778634dea768",{"version":"cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8","affectsGlobalScope":true},"ef6cede608fc396d0ad86d0240c40989a080c6a4c5b2ac5c84072c7e0ff2942e","30688eab034d1aa3bbe4d8f2c7f462ddaec9f30f1a38a306a4728a9a06a58b11","e03334588c63840b7054accd0b90f29c5890db6a6555ac0869a78a23297f1396","c3052485f32a96bfde75a2976c1238995522584ba464f04ff16a8a40af5e50d1","c220410b8e956fa157ce4e5e6ac871f0f433aa120c334d906ff1f5e2c7369e95","960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","ed3b711f533ddb3a5451f4c4bb0df3a0b95e9d0433b3b7834644dd1718d06d31","23255560340f60336ff79daf50b3b6432ec0f32f7dd19638d3a2406826a15d49","f51c2abd01bb55990a6c5758c8ec34ea7802952c40c30c3941c75eea15539842","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","30783d97bd0231ae2c4b9320043d61442a8177e81c7df826a5536b95fdd63280","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","e32dad799d088c53cbe1da736e34cad03027d56dd2fc77d484a67100278bc4bd","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","cd6a7c1c2a6461c6868601ca2144a41f8ee6d4a85d4b4cf1deb651e6c2ebc9e5",{"version":"3a1e422f919c70fca66e94dc641ad8d9732b3d2533ac047b8a9aaca9eea3aa10","affectsGlobalScope":true},"f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","09c4b2e2d3070239d563fc690f0cc5db04a2d9b66a23e61aef8b5274e3e9910c"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"target":4},"fileIdsList":[[110],[110,111,112,113,114],[110,112],[121,122],[170],[77],[78,79],[78],[172],[175],[50,171],[177,178,179,180],[181],[136,137,170,182],[137,170],[186],[50],[191],[192],[198,200],[116,117,118,119,120],[66],[54,56,57,58,59,60,61,62,63,64,65,66],[54,55,57,58,59,60,61,62,63,64,65,66],[55,56,57,58,59,60,61,62,63,64,65,66],[54,55,56,58,59,60,61,62,63,64,65,66],[54,55,56,57,59,60,61,62,63,64,65,66],[54,55,56,57,58,60,61,62,63,64,65,66],[54,55,56,57,58,59,61,62,63,64,65,66],[54,55,56,57,58,59,60,62,63,64,65,66],[54,55,56,57,58,59,60,61,63,64,65,66],[54,55,56,57,58,59,60,61,62,64,65,66],[54,55,56,57,58,59,60,61,62,63,65,66],[54,55,56,57,58,59,60,61,62,63,64,66],[54,55,56,57,58,59,60,61,62,63,64,65],[124],[139,159,170,211,212],[139,153,170],[167,168],[136,137,144,153],[128,136,144],[160],[132,137,145],[153],[134,136,144],[136],[136,138,153,159],[137],[144,153,159],[136,137,139,144,153,156,159],[139,156,159],[169],[159],[134,136,153],[126],[158],[151,160,162],[144],[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],[150],[136,138,153,159,162],[220],[220,221,222,223,224,225],[173,219],[219,220],[50,188,234],[50,236],[50,238],[238,239,240,241,242],[46,47,48,49],[252],[251],[170,258,259,260,261,262,263,264,265,266,267,268],[257,258,267],[258,267],[249,257,258,267],[258],[132,257,267],[257,258,259,260,261,262,263,264,265,266,268],[132,170,251,254,255,256,269],[272],[194,195],[194,195,196,197],[199],[48,50,51,52,68,69],[48,50,51,52,53,67,68,69,70,72,73,74,82,94,99,100,101,103],[51,80],[51,69],[51,71],[51],[51,69,76,81],[51,68],[51,102],[51,68,72],[51,76,105],[51,101],[51,68,69,70,72,73,74,82,94,99,102,103,104,105,106,107],[51,68,69,102,103],[51,69,102,103],[51,67,68,69,102,103],[51,68,102,103],[51,95,96,97,98],[51,75],[51,68,73,102],[51,69,73],[51,69,85],[51,73],[51,83,84,86,87,88,89,90,91,92,93]],"referencedMap":[[112,1],[115,2],[111,1],[113,3],[114,1],[123,4],[171,5],[78,6],[80,7],[79,8],[173,9],[176,10],[175,11],[181,12],[178,13],[183,14],[185,15],[187,16],[188,17],[192,18],[193,19],[201,20],[121,21],[203,5],[67,22],[204,22],[205,22],[206,22],[55,23],[56,24],[54,25],[57,26],[58,27],[59,28],[60,29],[61,30],[62,31],[63,32],[64,33],[65,34],[66,35],[207,17],[208,16],[209,36],[213,37],[211,38],[169,39],[128,40],[129,41],[130,42],[131,43],[132,44],[133,45],[135,46],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[170,52],[142,46],[143,53],[144,54],[147,55],[148,56],[151,46],[152,57],[153,46],[156,58],[167,59],[158,58],[159,60],[161,44],[163,61],[164,44],[215,46],[221,62],[222,62],[223,62],[226,63],[220,64],[219,62],[224,62],[225,65],[231,17],[232,17],[233,17],[235,66],[236,67],[237,17],[239,68],[241,17],[238,17],[240,68],[243,69],[244,17],[245,17],[50,70],[51,17],[246,5],[253,71],[255,72],[269,73],[268,74],[259,75],[260,76],[261,76],[262,75],[263,75],[264,75],[265,77],[258,78],[266,74],[267,79],[270,80],[273,81],[196,82],[198,83],[197,82],[252,72],[200,84],[100,85],[102,86],[81,87],[70,88],[72,89],[73,90],[68,90],[82,91],[104,92],[74,90],[69,92],[103,93],[109,90],[105,94],[106,95],[101,90],[107,96],[108,97],[97,98],[98,99],[95,100],[96,101],[99,102],[76,103],[93,104],[84,105],[86,106],[87,107],[88,105],[89,106],[90,107],[91,107],[83,105],[85,107],[92,107],[94,108]],"exportedModulesMap":[[112,1],[115,2],[111,1],[113,3],[114,1],[123,4],[171,5],[78,6],[80,7],[79,8],[173,9],[176,10],[175,11],[181,12],[178,13],[183,14],[185,15],[187,16],[188,17],[192,18],[193,19],[201,20],[121,21],[203,5],[67,22],[204,22],[205,22],[206,22],[55,23],[56,24],[54,25],[57,26],[58,27],[59,28],[60,29],[61,30],[62,31],[63,32],[64,33],[65,34],[66,35],[207,17],[208,16],[209,36],[213,37],[211,38],[169,39],[128,40],[129,41],[130,42],[131,43],[132,44],[133,45],[135,46],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[170,52],[142,46],[143,53],[144,54],[147,55],[148,56],[151,46],[152,57],[153,46],[156,58],[167,59],[158,58],[159,60],[161,44],[163,61],[164,44],[215,46],[221,62],[222,62],[223,62],[226,63],[220,64],[219,62],[224,62],[225,65],[231,17],[232,17],[233,17],[235,66],[236,67],[237,17],[239,68],[241,17],[238,17],[240,68],[243,69],[244,17],[245,17],[50,70],[51,17],[246,5],[253,71],[255,72],[269,73],[268,74],[259,75],[260,76],[261,76],[262,75],[263,75],[264,75],[265,77],[258,78],[266,74],[267,79],[270,80],[273,81],[196,82],[198,83],[197,82],[252,72],[200,84],[100,85],[102,86],[81,87],[70,88],[72,89],[73,90],[68,90],[82,91],[104,92],[74,90],[69,92],[103,93],[109,90],[105,94],[106,95],[101,90],[107,96],[108,97],[97,98],[98,99],[95,100],[96,101],[99,102],[76,103],[93,104],[84,105],[86,106],[87,107],[88,105],[89,106],[90,107],[91,107],[83,105],[85,107],[92,107],[94,108]],"semanticDiagnosticsPerFile":[112,110,115,111,113,114,123,124,171,78,80,79,77,173,174,176,175,177,181,178,180,184,183,185,187,188,189,190,191,192,193,201,117,116,121,119,118,179,202,203,67,204,205,206,55,56,54,57,58,59,60,61,62,63,64,65,66,207,208,75,209,182,210,172,212,213,211,168,126,169,127,128,129,130,131,132,133,134,135,136,137,138,125,165,139,140,141,170,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,167,158,159,160,161,162,166,163,164,214,215,216,217,218,221,222,223,226,220,219,224,225,227,228,48,229,230,231,232,233,235,236,237,239,241,238,240,242,243,244,245,46,50,51,246,247,49,248,120,249,250,253,254,255,186,271,269,268,259,260,261,262,263,264,265,258,266,267,257,270,272,273,256,52,47,71,194,196,198,197,195,53,122,252,200,199,234,251,10,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,42,43,44,1,9,45,100,102,81,70,72,73,68,82,104,74,69,103,109,105,106,101,107,108,97,98,95,96,99,76,93,84,86,87,88,89,90,91,83,85,92,94]},"version":"4.3.2"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/classnames/index.d.ts","../../../node_modules/memoize-one/dist/memoize-one.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.clamp/index.d.ts","../src/GridRange.js","../src/GridUtils.js","../src/GridMetricCalculator.js","../../../node_modules/event-target-shim/index.d.ts","../src/GridModel.js","../src/GridMouseHandler.js","../src/GridTheme.js","../../../node_modules/@types/memoizee/index.d.ts","../src/memoizeClear.js","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../src/GridColorUtils.js","../src/GridRenderer.js","../src/mouse-handlers/GridSelectionMouseHandler.js","../src/mouse-handlers/GridColumnMoveMouseHandler.js","../src/mouse-handlers/GridSeparatorMouseHandler.js","../src/mouse-handlers/GridColumnSeparatorMouseHandler.js","../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.js","../src/mouse-handlers/GridRowMoveMouseHandler.js","../src/mouse-handlers/GridRowSeparatorMouseHandler.js","../src/mouse-handlers/GridRowTreeMouseHandler.js","../src/mouse-handlers/GridScrollBarCornerMouseHandler.js","../src/mouse-handlers/GridVerticalScrollBarMouseHandler.js","../src/mouse-handlers/EditMouseHandler.ts","../src/mouse-handlers/index.js","../src/key-handlers/SelectionKeyHandler.ts","../src/key-handlers/TreeKeyHandler.ts","../src/key-handlers/EditKeyHandler.ts","../src/key-handlers/PasteKeyHandler.ts","../src/key-handlers/index.ts","../src/CellInputField.tsx","../src/errors/PasteError.ts","../src/Grid.jsx","../src/KeyHandler.ts","../src/GridTestUtils.js","../src/MockGridModel.js","../src/MockTreeGridModel.js","../src/errors/index.ts","../src/index.ts","../src/MockGridData.js","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/jquery/JQueryStatic.d.ts","../../../node_modules/@types/jquery/JQuery.d.ts","../../../node_modules/@types/jquery/misc.d.ts","../../../node_modules/@types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/@types/jquery/index.d.ts","../../../node_modules/popper.js/index.d.ts","../../../node_modules/@types/bootstrap/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/deep-equal/index.d.ts","../../../node_modules/@types/enzyme/index.d.ts","../../../node_modules/@types/enzyme-adapter-react-16/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/is-function/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jszip/index.d.ts","../../../node_modules/@types/lodash.debounce/index.d.ts","../../../node_modules/@types/lodash.flatten/index.d.ts","../../../node_modules/@types/lodash.throttle/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/@types/overlayscrollbars/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/pouchdb-find/index.d.ts","../../../node_modules/@types/pouchdb-core/index.d.ts","../../../node_modules/@types/pouchdb-adapter-http/index.d.ts","../../../node_modules/@types/pouchdb-adapter-idb/index.d.ts","../../../node_modules/@types/pouchdb-adapter-websql/index.d.ts","../../../node_modules/@types/pouchdb-mapreduce/index.d.ts","../../../node_modules/@types/pouchdb-replication/index.d.ts","../../../node_modules/@types/pouchdb-browser/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pretty-hrtime/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/react-beautiful-dnd/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@types/react-redux/index.d.ts","../../../node_modules/@types/react-syntax-highlighter/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/react-transition-group/Transition.d.ts","../../../node_modules/@types/react-transition-group/CSSTransition.d.ts","../../../node_modules/@types/react-transition-group/TransitionGroup.d.ts","../../../node_modules/@types/react-transition-group/SwitchTransition.d.ts","../../../node_modules/@types/react-transition-group/config.d.ts","../../../node_modules/@types/react-transition-group/index.d.ts","../../../node_modules/@types/react-virtualized-auto-sizer/index.d.ts","../../../node_modules/@types/react-window/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/shortid/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/stylelint/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/Source.d.ts","../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts","../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts","../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts","../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts","../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-env/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"a8fe23ae87c3e9d2877032cafeb290f2ebe0c51e216d175a0408b10915ebe9f0","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"38943ef508ccbc71691ff6c14f30e0468a85a4ec22c9e0a4eea2c9ba8ca19352","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","d153cbce75b7e1621eda0a4148748f44edd71ff44cc5351bac1c7787da4d5b05","63ea76eab54e08ce38ada84ddff0b080d6c2e360165071af684b43844b15bda7","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"6109487f86bc33b14eebb35cbc878b591328e19657d92bc6c61b667f7f9594c8","d0ce72d18e557153f456b369dab2dabd7e31b9e99f62cdcdc11f041860864c7a","498563aaf987cbc34c421964549079d1f519598c6fc7a5758ede74136b997850","093235cef17d1320e5443d6dcd269f8c56333f6c14334f752aec8aa0b86d7a0a","63633f5796c4cf53210ce75f02e5d6e81b88012f5c8832af32c35d0a8b75cdde","458f9c204c44797c38ba489fe082d24f8ce28a2a70595ef82992373059ac3103","09cc4fb9f7624db16daa3e610f8a6eff5beea4b287272535e752f5fd69f74ea0","ce779d208300a90f335606ff25909eb717c5cd28d02907b1ffb49dd9f3f288d0","34ef06f1d5e0ae95afb816e93c40f04f93641c11ad06e54b6fbe9335c3238c03","5123528aeb0576ef34360832e201f0caf83af67644d3bb3d2e96aa36dc4cc97b","f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","88377538a6777f0c4dea4861e8b323c5a223e62ada1503ae51451d4c4c70f8b1","18f8a42b6e0f5b1314474e21be1f27807e97bde5e3ac215a119942042bf30a83","172db9a93f0a41f6c68947acdfbba7ca7f0eb70aaa31ebd4dd2c5f83e360fb8f","f58abd89e3da831c3b905f6877299a623a8e7071a3768a7fec148777ccb5bcb9","9dcdb1ef2dede98d87c8980aedd3e0e2a42ae7eef01245d4717450d4bff56298","440f0d5894b449022031113f83fc2ac1d552ed0b0732ef760170e31f09207540","ba2923a90038affc6f39f6f5a50472ddec0ca78324fc50fe87f1a0c91a00ea2b","9ea4a47d2a1d976d7c53299650b23a5988081f4fc0949bd4386b8b5af6a53f31","ff4aee68e268c63fd4a36f8d29e0f103964bfbe20fc4e1f04d831f253183dc02","bd7f9dfbb7adacd70c12caf05a2fa90adf690381f3b3ebce6299483c43f00f75","0b1fe8eb40632d279094b9cb7b27f47b3af7f2d632f6227012cc489d7b6c3a71","13abfc7e2931809dc51dca23ebcea1496051b8697edaed76503d5ebf82ea4036","008105fc4751fa742f3d02bbf7bf865a9f48b0274536009d66c4cbeee14d4933","fe5aaa4c53f61c26c254efaf485d4bec210cb61ed0a3e3b01432d481405ec8b8","ef43118614d9fcec044d452537695e981dd3a5512c3328ec8ca17da8401dd4b5","f39f2b2cb24bb0b248dd0947099fa6bb6a474c6464e25db1519ab659b070f4bf","701db35fa9997ea25d06d6060955d5edf98edb154d9786260808b5dd1c634184","7554a8bb6c0329d2e3bffd5c1572487780a480e51c3106c508f094746e0d9332","d52c9ea682a643ac2057adcf53952af1baa777b9160486acd1f404cb36861ce7","d0313ffab599c75ea1e1dff8efb918a48337a00f19b03fc27846c0c536b5e040","813287608c65909272878a79d738d98e7158abff5b0876863b15c6078e4cbcb4","4e1801f54a06010a66267213cc97b91becf325e45489dc3e728f37b28339783e","d8995444db5bac697682c3296259b7af6dc0a198468271470d1fdfd5e342c376","f0061ce85c917286d15877f304b7c3e66f5b9a6b5f425a2e3849f5d62dae6a14","06d0e51e23b5834f8e8cf7a9cb3407f99b819c634ab4f8dae2fb9f00c79fe01c","2b48f279f901471a41845dc0bf90862839c02e755c9fdd29108e801c6de9fa56","930e5e690d72666276c5bd68141f1a8a5fbcb9ba41db2df2e4861db2e52a8649","a505d0a2b69e279f58faf36288094ca76dd6110add3831f49f05f0b9fc8c61b8","b83bdbf0d3c0aea50e713e36720d7fa2943d69209fc729a3becc86a2c7c78447","c13e280d244dc0829d954089e1d0446455efdb72fb4bdc2e3f0561ffbc66c905","8dfed5c91ad36e69e6da6b7e49be929d4e19666db2b651aa839c485170a2902c","6da9e714516d081abaa435946d77c8d74dba888530412dc71601e83d2c8a512e","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","71c56bdaa82d7ce75a72d3c06c04fe10becec09bd9c4ef21776a2a055d3f428e",{"version":"a139b5f761e657cda95b3a6f938ce7102878b5b39edbb743894d39388d83cc7b","affectsGlobalScope":true},{"version":"f3832e609ad73d8001ef05659bea2b8b03ea96026623e814834ff128f5e0f99b","affectsGlobalScope":true},{"version":"a4832e26b82049fc2774c96ca6e1c17b2c204246570a62fdbe7e8ee8af2cd4d4","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","d0b93cf4a086095121a40a8a878f81c72783fc819ad055225a36ef829c6f41d4","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587",{"version":"24ff7ac33bdb941a8cd04408a31ba15fafab9684f751e7e88234813b89712c19","affectsGlobalScope":true},{"version":"3e432cdf56538889e5742d388cdf03d670bfb17f4547dbbb1daf90701ec790d5","affectsGlobalScope":true},"85d545d430795d54a8b2896f67f9aeb7bf19fd74a1469ae0627311eb72f0dfa2","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","55cb77e6ff3d95a68568446f53d3f1dc8fca753575d7c60471a865685f08dcc3","3d68ecf05475492f041c88395372c3a01b30351619bebcd38287ab185be7f7e4",{"version":"36c956a3a6dc279f1e6b77aa4b97b7b229b7d828102573ef5002de456ff5e1d9","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","6e8b894365ab993dbb55c58542598d1548fdda072c974f98b89c218891e2ba09","ddd6169dff8e5263397a9399ba7ba92521d3959f8f9dcdc27f24403dc7b751ba","508e1e25ca40ea6cde332d3232c826fcd82f456f45ae535d817754684f048f9e",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"8f8f6ee2a0c94077f79439f51640a625ac7e2f5dd6866bd3b5a41705c836adfc","affectsGlobalScope":true},"dda27180d5ff550ace8378f5df0f7a26e616f0c4e310c77e94329e2355f9c255","839421b494b57cd2bc0074e914130277051850eba6def6c25870056e6652640b","12a01de318341fefb7be11f22eb4bf28478a5f137b1b4546c509156e9c158198","88587b5c94b0c4f5d78026e4beeb93383b3933c860d9840b55d6bf47d7b632bb","5aa2a9a778a055cd668ea419ea80ba6e195210eb37d47707a1a58886aa4d80f0","9e8947666e44137405fd378f3a8a0515a492e967e552406c02b991c98c78fc61","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","9e6a556cf660a94faa51f5bce6ed009b9e02373546a4c67925da909f36c039d0","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","a39a4c527b7a2dc7a2661b711a534c10c76852c5ad6ae320767d3f7d2621b67d","1bb5c9857b2ee32c199dd85bc0f4c0299112485d6e5dc91428eabfdee0dbd68c",{"version":"61dd09b57a0a5cf1486c3ceb3a18ad23babfe602c323035ce3d01544c5e3e0b6","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","662661bbf9ccd869f3bca82d34234b2abdc95c657e2187c35352d42dddb24c2d","5caa645cc390a0a8d5a031072b6b4e49218c17017cd80a63bd2557b19be13c5f","4c4334eb5d8fae83416a361d787b55a5743916aed8af812a909898bc7333e709","352104835f5c468c7d8a277f2c8c02fac239a37cd2293181fe421faa153878d3","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","a4aa075328fe61190b8547e74fae18179591a67fedb2ad274c63044a00716743","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","40c6ed5dc58e1c6afa7dcd23b1697bf290cc5b1170c63d0a4dd12f52aa39291c","71d6da3b0150ecdcd16c08b3b546fe4cc7f53df642eccfeb03c813ee788fae0c","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","c5ec3b97d9db756c689cd11f4a11eaa9e6077b2768e3e9b54ff727a93c03a909","bdb07038733b2d74a75ba9c381dcb92774cd6f161ee125bfa921eae7d883ccc9","ad93e960a3a07dff7394bf0c8a558006a9ff2d0725ab28fc33dec227d4cb251e",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c14e9e86f18189c7d32b5dd03b4cf3f40bed68f0509dec06d75d41b82c065fe2","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","d555cd63a3fc837840db192596273fdf52fb28092b0a33bec98e89a0334b3a4c","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7",{"version":"42c1b00421aa4d5f03b85a2639c1573d32bd82533f34423bbf1f5fb2b0ddc4d8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","2e345cb6511f4c4c60c274df6626c94f3182939034f06cdf414bfbccc584f822","b1b1adc57093310531ddf3f78b21bda16c30f7319088b0981449476a6616cff3","b6167e00019a8db27428651c58358d8cfac239107f25744e608816ed04361df7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","e300bf65972ac08167a72787e19d1b43c285c5424707194d0ba64422f6b02c77","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","70b34c8420d6226ed565d55f47fe04912d0ca0ad128825c5a06e018a3498db32","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","abc2748988e07e7e754b43cfcfadca4d45f3449eb4c0be503f13630a3f15f22b","7044c407773c0900946b7a02f3a0e7e5e79af8b0a32b14aeb419b7beedfb3fcd","96b729b46007058fceb10567283275a023415f724af78e91cab3ac7073c19635","620a033e8ff8ffc3d280c3d78981d8a929d0a8c14574a3b87413d99d7f02fadd","9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","fda7ad096a1619fbae01b3d869cc82e29116f22be50133ac8fb08cee21279acd","9751247ee3bbcf1c63592f0f4dafb44559680b2b3e5736b7f0578c6a737d74c8","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26",{"version":"2d2482647045d334fcfce6eefa3340db2800cb2d0814e7b58d4f3b53c274d8ec","affectsGlobalScope":true},{"version":"f1e1d121f108eb57d576df44fc40e01448e0fc7fec64493b07aa852471b6a59d","affectsGlobalScope":true},{"version":"838524a3cc660f7bbb104ffa15febad659d1ef1633dac47340bfbfcbbbffdb08","affectsGlobalScope":true},{"version":"50a03e74fae4542ecfb326b34517ec2e058aee15bcb60af5b2e41c5e2db0d079","affectsGlobalScope":true},{"version":"d252bde46b7594f8f90a45d59181b08134ee8c4919ebb2ba7088ba26056bf621","affectsGlobalScope":true},{"version":"c892c9c7905dd7435264ca83ff0f3ac7f39a0937ee728acdce4b476ece7d6fd9","affectsGlobalScope":true},{"version":"1abdfe21f6b99b864965f9dc5073c49f0c0f3d5e8e1fe498fb94bd0a479d3afe","affectsGlobalScope":true},"4d737cdd77685ed65bd61d375375cae446fb0f46f711bbb3ef3f81a350212569","65455ea1b00bae7bd26d3c8c2401eb3d10401c09c55192d6f3b8b2275eda20c2","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","163be962fa11ca0e3bc9afd1188701e16f5db0d84f904be3a5327c04bf14c1dc","c45d6f4d3a20be54e46237608f537a8d85397f87b9c3318d68ed925c2f1d0b51",{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},"4370c91e46f6992a89e3979c50434cf932088e1b5ae6e3a5214d778634dea768",{"version":"cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8","affectsGlobalScope":true},"ef6cede608fc396d0ad86d0240c40989a080c6a4c5b2ac5c84072c7e0ff2942e","30688eab034d1aa3bbe4d8f2c7f462ddaec9f30f1a38a306a4728a9a06a58b11","e03334588c63840b7054accd0b90f29c5890db6a6555ac0869a78a23297f1396","c3052485f32a96bfde75a2976c1238995522584ba464f04ff16a8a40af5e50d1","c220410b8e956fa157ce4e5e6ac871f0f433aa120c334d906ff1f5e2c7369e95","960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","ed3b711f533ddb3a5451f4c4bb0df3a0b95e9d0433b3b7834644dd1718d06d31","23255560340f60336ff79daf50b3b6432ec0f32f7dd19638d3a2406826a15d49","f51c2abd01bb55990a6c5758c8ec34ea7802952c40c30c3941c75eea15539842","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","30783d97bd0231ae2c4b9320043d61442a8177e81c7df826a5536b95fdd63280","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","e32dad799d088c53cbe1da736e34cad03027d56dd2fc77d484a67100278bc4bd","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd",{"version":"3a1e422f919c70fca66e94dc641ad8d9732b3d2533ac047b8a9aaca9eea3aa10","affectsGlobalScope":true},"f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","09c4b2e2d3070239d563fc690f0cc5db04a2d9b66a23e61aef8b5274e3e9910c"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"target":4},"fileIdsList":[[110],[110,111,112,113,114],[110,112],[121,122],[169],[77],[78,79],[78],[171],[174],[50,170],[176,177,178,179],[180],[135,136,169,181],[136,169],[184],[50],[189],[190],[196,198],[116,117,118,119,120],[66],[54,56,57,58,59,60,61,62,63,64,65,66],[54,55,57,58,59,60,61,62,63,64,65,66],[55,56,57,58,59,60,61,62,63,64,65,66],[54,55,56,58,59,60,61,62,63,64,65,66],[54,55,56,57,59,60,61,62,63,64,65,66],[54,55,56,57,58,60,61,62,63,64,65,66],[54,55,56,57,58,59,61,62,63,64,65,66],[54,55,56,57,58,59,60,62,63,64,65,66],[54,55,56,57,58,59,60,61,63,64,65,66],[54,55,56,57,58,59,60,61,62,64,65,66],[54,55,56,57,58,59,60,61,62,63,65,66],[54,55,56,57,58,59,60,61,62,63,64,66],[54,55,56,57,58,59,60,61,62,63,64,65],[138,158,169,207,208],[138,152,169],[166,167],[135,136,143,152],[127,135,143],[159],[131,136,144],[152],[133,135,143],[135],[135,137,152,158],[136],[143,152,158],[135,136,138,143,152,155,158],[138,155,158],[168],[158],[133,135,152],[125],[157],[150,159,161],[143],[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165],[149],[135,137,152,158,161],[216],[216,217,218,219,220,221],[172,215],[215,216],[50,186,229],[50,231],[50,233],[233,234,235,236,237],[46,47,48,49],[247],[246],[169,253,254,255,256,257,258,259,260,261,262,263],[252,253,262],[253,262],[244,252,253,262],[253],[131,252,262],[252,253,254,255,256,257,258,259,260,261,263],[131,169,246,249,250,251,264],[267],[192,193],[192,193,194,195],[197],[48,50,51,52,68,69],[48,50,51,52,53,67,68,69,70,72,73,74,82,94,99,100,101,103],[51,80],[51,69],[51,71],[51],[51,69,76,81],[51,68],[51,102],[51,68,72],[51,76,105],[51,101],[51,68,69,70,72,73,74,82,94,99,102,103,104,105,106,107],[51,68,69,102,103],[51,69,102,103],[51,67,68,69,102,103],[51,68,102,103],[51,95,96,97,98],[51,75],[51,68,73,102],[51,69,73],[51,69,85],[51,73],[51,83,84,86,87,88,89,90,91,92,93]],"referencedMap":[[112,1],[115,2],[111,1],[113,3],[114,1],[123,4],[170,5],[78,6],[80,7],[79,8],[172,9],[175,10],[174,11],[180,12],[177,13],[182,14],[183,15],[185,16],[186,17],[190,18],[191,19],[199,20],[121,21],[201,5],[67,22],[202,22],[203,22],[204,22],[55,23],[56,24],[54,25],[57,26],[58,27],[59,28],[60,29],[61,30],[62,31],[63,32],[64,33],[65,34],[66,35],[205,16],[209,36],[207,37],[168,38],[127,39],[128,40],[129,41],[130,42],[131,43],[132,44],[134,45],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[169,51],[141,45],[142,52],[143,53],[146,54],[147,55],[150,45],[151,56],[152,45],[155,57],[166,58],[157,57],[158,59],[160,43],[162,60],[163,43],[211,45],[217,61],[218,61],[219,61],[222,62],[216,63],[215,61],[220,61],[221,64],[227,17],[228,17],[230,65],[231,66],[232,17],[234,67],[236,17],[233,17],[235,67],[238,68],[239,17],[240,17],[50,69],[51,17],[241,5],[248,70],[250,71],[264,72],[263,73],[254,74],[255,75],[256,75],[257,74],[258,74],[259,74],[260,76],[253,77],[261,73],[262,78],[265,79],[268,80],[194,81],[196,82],[195,81],[247,71],[198,83],[100,84],[102,85],[81,86],[70,87],[72,88],[73,89],[68,89],[82,90],[104,91],[74,89],[69,91],[103,92],[109,89],[105,93],[106,94],[101,89],[107,95],[108,96],[97,97],[98,98],[95,99],[96,100],[99,101],[76,102],[93,103],[84,104],[86,105],[87,106],[88,104],[89,105],[90,106],[91,106],[83,104],[85,106],[92,106],[94,107]],"exportedModulesMap":[[112,1],[115,2],[111,1],[113,3],[114,1],[123,4],[170,5],[78,6],[80,7],[79,8],[172,9],[175,10],[174,11],[180,12],[177,13],[182,14],[183,15],[185,16],[186,17],[190,18],[191,19],[199,20],[121,21],[201,5],[67,22],[202,22],[203,22],[204,22],[55,23],[56,24],[54,25],[57,26],[58,27],[59,28],[60,29],[61,30],[62,31],[63,32],[64,33],[65,34],[66,35],[205,16],[209,36],[207,37],[168,38],[127,39],[128,40],[129,41],[130,42],[131,43],[132,44],[134,45],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[169,51],[141,45],[142,52],[143,53],[146,54],[147,55],[150,45],[151,56],[152,45],[155,57],[166,58],[157,57],[158,59],[160,43],[162,60],[163,43],[211,45],[217,61],[218,61],[219,61],[222,62],[216,63],[215,61],[220,61],[221,64],[227,17],[228,17],[230,65],[231,66],[232,17],[234,67],[236,17],[233,17],[235,67],[238,68],[239,17],[240,17],[50,69],[51,17],[241,5],[248,70],[250,71],[264,72],[263,73],[254,74],[255,75],[256,75],[257,74],[258,74],[259,74],[260,76],[253,77],[261,73],[262,78],[265,79],[268,80],[194,81],[196,82],[195,81],[247,71],[198,83],[100,84],[102,85],[81,86],[70,87],[72,88],[73,89],[68,89],[82,90],[104,91],[74,89],[69,91],[103,92],[109,89],[105,93],[106,94],[101,89],[107,95],[108,96],[97,97],[98,98],[95,99],[96,100],[99,101],[76,102],[93,103],[84,104],[86,105],[87,106],[88,104],[89,105],[90,106],[91,106],[83,104],[85,106],[92,106],[94,107]],"semanticDiagnosticsPerFile":[112,110,115,111,113,114,123,170,78,80,79,77,172,173,175,174,176,180,177,179,182,183,185,186,187,188,189,190,191,199,117,116,121,119,118,178,200,201,67,202,203,204,55,56,54,57,58,59,60,61,62,63,64,65,66,205,75,181,206,171,208,209,207,167,125,168,126,127,128,129,130,131,132,133,134,135,136,137,124,164,138,139,140,169,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,166,157,158,159,160,161,165,162,163,210,211,212,213,214,217,218,219,222,216,215,220,221,223,224,48,225,226,227,228,230,231,232,234,236,233,235,237,238,239,240,46,50,51,241,242,49,243,120,244,245,248,249,250,184,266,264,263,254,255,256,257,258,259,260,253,261,262,252,265,267,268,251,52,47,71,192,194,196,195,193,53,122,247,198,197,229,246,10,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,42,43,44,1,9,45,100,102,81,70,72,73,68,82,104,74,69,103,109,105,106,101,107,108,97,98,95,96,99,76,93,84,86,87,88,89,90,91,83,85,92,94]},"version":"4.3.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "0.6.3-beta.0+568aeac",
3
+ "version": "0.7.1-alpha.0+7ef9aa6",
4
4
  "description": "Deephaven React grid component",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -37,8 +37,8 @@
37
37
  "react": "^16.0.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@babel/cli": "^7.14.8",
41
- "@deephaven/tsconfig": "^0.6.3-beta.0+568aeac",
40
+ "@babel/cli": "^7.16.0",
41
+ "@deephaven/tsconfig": "^0.7.1-alpha.0+7ef9aa6",
42
42
  "@types/lodash.clamp": "^4.0.6",
43
43
  "@types/prop-types": "^15.7.3",
44
44
  "@types/react": "^16.14.8",
@@ -65,5 +65,5 @@
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  },
68
- "gitHead": "568aeac8ff945be1645d16b3bb3c862cbae1bc62"
68
+ "gitHead": "7ef9aa6469bcef8459ab8ab908ebd8383d2d1d45"
69
69
  }