@deephaven/grid 1.7.1 → 1.7.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/CellInputField.d.ts +0 -27
  2. package/dist/CellInputField.d.ts.map +1 -1
  3. package/dist/CellInputField.js +7 -31
  4. package/dist/CellInputField.js.map +1 -1
  5. package/dist/CellRenderer.js.map +1 -1
  6. package/dist/ColumnHeaderGroup.js.map +1 -1
  7. package/dist/DataBarCellRenderer.js +3 -5
  8. package/dist/DataBarCellRenderer.js.map +1 -1
  9. package/dist/DataBarGridModel.js.map +1 -1
  10. package/dist/DeletableGridModel.js.map +1 -1
  11. package/dist/EditableGridModel.js.map +1 -1
  12. package/dist/EventHandlerResult.js.map +1 -1
  13. package/dist/ExpandableColumnGridModel.js.map +1 -1
  14. package/dist/ExpandableGridModel.js.map +1 -1
  15. package/dist/Grid.d.ts +2 -0
  16. package/dist/Grid.d.ts.map +1 -1
  17. package/dist/Grid.js +28 -27
  18. package/dist/Grid.js.map +1 -1
  19. package/dist/GridAxisRange.js.map +1 -1
  20. package/dist/GridColorUtils.js.map +1 -1
  21. package/dist/GridMetricCalculator.js +20 -21
  22. package/dist/GridMetricCalculator.js.map +1 -1
  23. package/dist/GridMetrics.js.map +1 -1
  24. package/dist/GridModel.js.map +1 -1
  25. package/dist/GridMouseHandler.js +1 -3
  26. package/dist/GridMouseHandler.js.map +1 -1
  27. package/dist/GridRange.js +8 -9
  28. package/dist/GridRange.js.map +1 -1
  29. package/dist/GridRenderer.js +11 -12
  30. package/dist/GridRenderer.js.map +1 -1
  31. package/dist/GridRendererTypes.js.map +1 -1
  32. package/dist/GridTestUtils.js.map +1 -1
  33. package/dist/GridTheme.js.map +1 -1
  34. package/dist/GridUtils.d.ts +1 -2
  35. package/dist/GridUtils.d.ts.map +1 -1
  36. package/dist/GridUtils.js +2 -3
  37. package/dist/GridUtils.js.map +1 -1
  38. package/dist/KeyHandler.js +1 -3
  39. package/dist/KeyHandler.js.map +1 -1
  40. package/dist/MockDataBarGridModel.js +1 -2
  41. package/dist/MockDataBarGridModel.js.map +1 -1
  42. package/dist/MockGridData.js.map +1 -1
  43. package/dist/MockGridModel.js.map +1 -1
  44. package/dist/MockTreeGridModel.js +6 -8
  45. package/dist/MockTreeGridModel.js.map +1 -1
  46. package/dist/StaticDataGridModel.js.map +1 -1
  47. package/dist/TextCellRenderer.js +3 -5
  48. package/dist/TextCellRenderer.js.map +1 -1
  49. package/dist/ThemeContext.js.map +1 -1
  50. package/dist/TokenBoxCellRenderer.js.map +1 -1
  51. package/dist/ViewportDataGridModel.js +2 -2
  52. package/dist/ViewportDataGridModel.js.map +1 -1
  53. package/dist/errors/AssertionError.js.map +1 -1
  54. package/dist/errors/PasteError.js.map +1 -1
  55. package/dist/errors/assertIsDefined.js.map +1 -1
  56. package/dist/errors/index.js.map +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  59. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  60. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  61. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  62. package/dist/key-handlers/index.js.map +1 -1
  63. package/dist/memoizeClear.js.map +1 -1
  64. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  65. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  66. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  67. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +1 -3
  68. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  69. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  70. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  71. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  72. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  73. package/dist/mouse-handlers/GridSelectionMouseHandler.js +1 -3
  74. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  75. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +5 -5
  76. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  77. package/dist/mouse-handlers/GridTokenMouseHandler.js +2 -1
  78. package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
  79. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +1 -3
  80. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  81. package/dist/mouse-handlers/index.js.map +1 -1
  82. package/package.json +4 -5
@@ -1 +1 @@
1
- {"version":3,"file":"GridAxisRange.js","names":["isAxisRange","range","Array","isArray","length","assertAxisRange","Error","concat","isBoundedAxisRange","assertBoundedAxisRange"],"sources":["../src/GridAxisRange.ts"],"sourcesContent":["import type { GridRangeIndex } from './GridRange';\nimport type { VisibleIndex } from './GridMetrics';\n\nexport type Range<T> = [start: T, end: T];\n\nexport type AxisRange = Range<GridRangeIndex>;\nexport type BoundedAxisRange = Range<VisibleIndex>;\n\nexport function isAxisRange(range: unknown): range is AxisRange {\n return (\n Array.isArray(range) &&\n range.length === 2 &&\n (range[0] === null || typeof range[0] === 'number') &&\n (range[1] === null || typeof range[1] === 'number')\n );\n}\n\nexport function assertAxisRange(range: unknown): asserts range is AxisRange {\n if (!isAxisRange(range)) {\n throw new Error(`Expected axis range. Received: ${range}`);\n }\n}\n\nexport function isBoundedAxisRange(range: unknown): range is BoundedAxisRange {\n return isAxisRange(range) && range[0] != null && range[1] != null;\n}\n\nexport function assertBoundedAxisRange(\n range: unknown\n): asserts range is BoundedAxisRange {\n if (!isBoundedAxisRange(range)) {\n throw new Error(`Expected bounded axis range. Received: ${range}`);\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,WAAWA,CAACC,KAAc,EAAsB;EAC9D,OACEC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IACpBA,KAAK,CAACG,MAAM,KAAK,CAAC,KACjBH,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAClDA,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAEvD;AAEA,OAAO,SAASI,eAAeA,CAACJ,KAAc,EAA8B;EAC1E,IAAI,CAACD,WAAW,CAACC,KAAK,CAAC,EAAE;IACvB,MAAM,IAAIK,KAAK,mCAAAC,MAAA,CAAmCN,KAAK,CAAE,CAAC;EAC5D;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAACP,KAAc,EAA6B;EAC5E,OAAOD,WAAW,CAACC,KAAK,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;AACnE;AAEA,OAAO,SAASQ,sBAAsBA,CACpCR,KAAc,EACqB;EACnC,IAAI,CAACO,kBAAkB,CAACP,KAAK,CAAC,EAAE;IAC9B,MAAM,IAAIK,KAAK,2CAAAC,MAAA,CAA2CN,KAAK,CAAE,CAAC;EACpE;AACF"}
1
+ {"version":3,"file":"GridAxisRange.js","names":["isAxisRange","range","Array","isArray","length","assertAxisRange","Error","concat","isBoundedAxisRange","assertBoundedAxisRange"],"sources":["../src/GridAxisRange.ts"],"sourcesContent":["import type { GridRangeIndex } from './GridRange';\nimport type { VisibleIndex } from './GridMetrics';\n\nexport type Range<T> = [start: T, end: T];\n\nexport type AxisRange = Range<GridRangeIndex>;\nexport type BoundedAxisRange = Range<VisibleIndex>;\n\nexport function isAxisRange(range: unknown): range is AxisRange {\n return (\n Array.isArray(range) &&\n range.length === 2 &&\n (range[0] === null || typeof range[0] === 'number') &&\n (range[1] === null || typeof range[1] === 'number')\n );\n}\n\nexport function assertAxisRange(range: unknown): asserts range is AxisRange {\n if (!isAxisRange(range)) {\n throw new Error(`Expected axis range. Received: ${range}`);\n }\n}\n\nexport function isBoundedAxisRange(range: unknown): range is BoundedAxisRange {\n return isAxisRange(range) && range[0] != null && range[1] != null;\n}\n\nexport function assertBoundedAxisRange(\n range: unknown\n): asserts range is BoundedAxisRange {\n if (!isBoundedAxisRange(range)) {\n throw new Error(`Expected bounded axis range. Received: ${range}`);\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,WAAWA,CAACC,KAAc,EAAsB;EAC9D,OACEC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IACpBA,KAAK,CAACG,MAAM,KAAK,CAAC,KACjBH,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAClDA,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAEvD;AAEA,OAAO,SAASI,eAAeA,CAACJ,KAAc,EAA8B;EAC1E,IAAI,CAACD,WAAW,CAACC,KAAK,CAAC,EAAE;IACvB,MAAM,IAAIK,KAAK,mCAAAC,MAAA,CAAmCN,KAAK,CAAE,CAAC;EAC5D;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAACP,KAAc,EAA6B;EAC5E,OAAOD,WAAW,CAACC,KAAK,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;AACnE;AAEA,OAAO,SAASQ,sBAAsBA,CACpCR,KAAc,EACqB;EACnC,IAAI,CAACO,kBAAkB,CAACP,KAAK,CAAC,EAAE;IAC9B,MAAM,IAAIK,KAAK,2CAAAC,MAAA,CAA2CN,KAAK,CAAE,CAAC;EACpE;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GridColorUtils.js","names":["convert","clamp","darkenForDepth","color","depth","maxDepth","arguments","length","undefined","lab","hex","raw","modifier","Math","max","concat","colorWithAlpha","alpha","r","g","b","rgb","linearSRGBToOklab","l","m","s","l2","cbrt","m2","s2","L","a","OklabToLinearSRGB","hexToRgb","_hex$replace$substrin","_hex$replace$substrin2","rgbArray","replace","substring","match","map","x","parseInt","rgbToHex","round","toString","join","lerpColor","color1","color2","factor","L1","a1","b1","L2","a2","b2"],"sources":["../src/GridColorUtils.ts"],"sourcesContent":["import convert from 'color-convert';\nimport { type HEX } from 'color-convert/conversions';\nimport clamp from 'lodash.clamp';\nimport { type GridColor } from './GridTheme';\n\nexport type RGB = { r: number; g: number; b: number };\nexport type Oklab = { L: number; a: number; b: number };\n\n/**\n * Darken the provided colour\n * @param color Color in hex format to convert (with #)\n * @param depth Depth to convert the color to\n * @param maxDepth Maximum depth. Defaults to 6\n * @returns Darkened colour in hex format\n */\nexport function darkenForDepth(\n color: HEX,\n depth: number,\n maxDepth = 6\n): GridColor {\n const lab = convert.hex.lab.raw(color);\n\n // determined via a trial an error approach to getting\n // something that works for both light and dark\n const modifier = lab[0] < 50 ? 17 : 10;\n\n lab[0] = Math.max(lab[0] - (modifier / maxDepth) * depth, 0);\n return `#${convert.lab.hex(lab)}`;\n}\n\n/**\n * Convert a hex colour to an rgba with specified alpha\n * @param color Color in hex format to convert (with #)\n * @param alpha Alpha to apply to the color\n * @returns Color with the newly applied alpha in rgba format\n */\nexport function colorWithAlpha(color: HEX, alpha: number): GridColor {\n const [r, g, b] = convert.hex.rgb(color);\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n\n/**\n * Converts a color in RGB to Oklab\n * Formula provided here: https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab\n * @param color An RGB color\n * @returns The color but respresented as an Oklab color\n */\nconst linearSRGBToOklab = (color: RGB): Oklab => {\n const { r, g, b } = color;\n\n const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b;\n const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b;\n const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b;\n\n const l2 = Math.cbrt(l);\n const m2 = Math.cbrt(m);\n const s2 = Math.cbrt(s);\n\n return {\n L: 0.2104542553 * l2 + 0.793617785 * m2 - 0.0040720468 * s2,\n a: 1.9779984951 * l2 - 2.428592205 * m2 + 0.4505937099 * s2,\n b: 0.0259040371 * l2 + 0.7827717662 * m2 - 0.808675766 * s2,\n };\n};\n\n/**\n * Converts an Oklab color to RGB\n * Formula provided here: https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab\n * @param color An Oklab color\n * @returns The given color but represented as a RGB color\n */\nconst OklabToLinearSRGB = (color: Oklab): RGB => {\n const { L, a, b } = color;\n\n const l2 = L + 0.3963377774 * a + 0.2158037573 * b;\n const m2 = L - 0.1055613458 * a - 0.0638541728 * b;\n const s2 = L - 0.0894841775 * a - 1.291485548 * b;\n\n const l = l2 * l2 * l2;\n const m = m2 * m2 * m2;\n const s = s2 * s2 * s2;\n\n return {\n r: clamp(+4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, 0, 255),\n g: clamp(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, 0, 255),\n b: clamp(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s, 0, 255),\n };\n};\n\n/**\n * Converts a hex color to RGB\n * Algorithm from https://stackoverflow.com/a/39077686/20005358\n * @param hex A hex color\n * @returns The RGB representation of the given color\n */\nconst hexToRgb = (hex: string): RGB => {\n const rgbArray = hex\n .replace(\n /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,\n (m: string, r: string, g: string, b: string) =>\n `#${r}${r}${g}${g}${b}${b}`\n )\n .substring(1)\n .match(/.{2}/g)\n ?.map((x: string) => parseInt(x, 16)) ?? [0, 0, 0];\n\n return { r: rgbArray[0], g: rgbArray[1], b: rgbArray[2] };\n};\n\n/**\n * Converts a RGB color to hex\n * Algorithm from https://stackoverflow.com/a/39077686/20005358\n * @param color A RGB color\n * @returns The hexcode of the given color\n */\nconst rgbToHex = (color: RGB): string => {\n const r = Math.round(color.r);\n const g = Math.round(color.g);\n const b = Math.round(color.b);\n\n return `#${[r, g, b]\n .map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('')}`;\n};\n\n/**\n * Calculates a color given an interpolation factor between two given colors\n * @param color1 Color on one end\n * @param color2 Color on other end\n * @param factor The interpolation factor (0 to 1, 0 will be color1 while 1 will be color2)\n * @returns The color determined by the interpolation factor between the two colors\n */\nconst lerpColor = (color1: Oklab, color2: Oklab, factor: number): Oklab => {\n const { L: L1, a: a1, b: b1 } = color1;\n const { L: L2, a: a2, b: b2 } = color2;\n\n const L = L1 + (L2 - L1) * factor;\n const a = a1 + (a2 - a1) * factor;\n const b = b1 + (b2 - b1) * factor;\n\n return { L, a, b };\n};\n\nexport default {\n colorWithAlpha,\n darkenForDepth,\n linearSRGBToOklab,\n OklabToLinearSRGB,\n hexToRgb,\n rgbToHex,\n lerpColor,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"GridColorUtils.js","names":["convert","clamp","darkenForDepth","color","depth","maxDepth","arguments","length","undefined","lab","hex","raw","modifier","Math","max","concat","colorWithAlpha","alpha","r","g","b","rgb","linearSRGBToOklab","l","m","s","l2","cbrt","m2","s2","L","a","OklabToLinearSRGB","hexToRgb","_hex$replace$substrin","_hex$replace$substrin2","rgbArray","replace","substring","match","map","x","parseInt","rgbToHex","round","toString","join","lerpColor","color1","color2","factor","L1","a1","b1","L2","a2","b2"],"sources":["../src/GridColorUtils.ts"],"sourcesContent":["import convert from 'color-convert';\nimport { type HEX } from 'color-convert/conversions';\nimport clamp from 'lodash.clamp';\nimport { type GridColor } from './GridTheme';\n\nexport type RGB = { r: number; g: number; b: number };\nexport type Oklab = { L: number; a: number; b: number };\n\n/**\n * Darken the provided colour\n * @param color Color in hex format to convert (with #)\n * @param depth Depth to convert the color to\n * @param maxDepth Maximum depth. Defaults to 6\n * @returns Darkened colour in hex format\n */\nexport function darkenForDepth(\n color: HEX,\n depth: number,\n maxDepth = 6\n): GridColor {\n const lab = convert.hex.lab.raw(color);\n\n // determined via a trial an error approach to getting\n // something that works for both light and dark\n const modifier = lab[0] < 50 ? 17 : 10;\n\n lab[0] = Math.max(lab[0] - (modifier / maxDepth) * depth, 0);\n return `#${convert.lab.hex(lab)}`;\n}\n\n/**\n * Convert a hex colour to an rgba with specified alpha\n * @param color Color in hex format to convert (with #)\n * @param alpha Alpha to apply to the color\n * @returns Color with the newly applied alpha in rgba format\n */\nexport function colorWithAlpha(color: HEX, alpha: number): GridColor {\n const [r, g, b] = convert.hex.rgb(color);\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n\n/**\n * Converts a color in RGB to Oklab\n * Formula provided here: https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab\n * @param color An RGB color\n * @returns The color but respresented as an Oklab color\n */\nconst linearSRGBToOklab = (color: RGB): Oklab => {\n const { r, g, b } = color;\n\n const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b;\n const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b;\n const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b;\n\n const l2 = Math.cbrt(l);\n const m2 = Math.cbrt(m);\n const s2 = Math.cbrt(s);\n\n return {\n L: 0.2104542553 * l2 + 0.793617785 * m2 - 0.0040720468 * s2,\n a: 1.9779984951 * l2 - 2.428592205 * m2 + 0.4505937099 * s2,\n b: 0.0259040371 * l2 + 0.7827717662 * m2 - 0.808675766 * s2,\n };\n};\n\n/**\n * Converts an Oklab color to RGB\n * Formula provided here: https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab\n * @param color An Oklab color\n * @returns The given color but represented as a RGB color\n */\nconst OklabToLinearSRGB = (color: Oklab): RGB => {\n const { L, a, b } = color;\n\n const l2 = L + 0.3963377774 * a + 0.2158037573 * b;\n const m2 = L - 0.1055613458 * a - 0.0638541728 * b;\n const s2 = L - 0.0894841775 * a - 1.291485548 * b;\n\n const l = l2 * l2 * l2;\n const m = m2 * m2 * m2;\n const s = s2 * s2 * s2;\n\n return {\n r: clamp(+4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, 0, 255),\n g: clamp(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, 0, 255),\n b: clamp(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s, 0, 255),\n };\n};\n\n/**\n * Converts a hex color to RGB\n * Algorithm from https://stackoverflow.com/a/39077686/20005358\n * @param hex A hex color\n * @returns The RGB representation of the given color\n */\nconst hexToRgb = (hex: string): RGB => {\n const rgbArray = hex\n .replace(\n /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,\n (m: string, r: string, g: string, b: string) =>\n `#${r}${r}${g}${g}${b}${b}`\n )\n .substring(1)\n .match(/.{2}/g)\n ?.map((x: string) => parseInt(x, 16)) ?? [0, 0, 0];\n\n return { r: rgbArray[0], g: rgbArray[1], b: rgbArray[2] };\n};\n\n/**\n * Converts a RGB color to hex\n * Algorithm from https://stackoverflow.com/a/39077686/20005358\n * @param color A RGB color\n * @returns The hexcode of the given color\n */\nconst rgbToHex = (color: RGB): string => {\n const r = Math.round(color.r);\n const g = Math.round(color.g);\n const b = Math.round(color.b);\n\n return `#${[r, g, b]\n .map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('')}`;\n};\n\n/**\n * Calculates a color given an interpolation factor between two given colors\n * @param color1 Color on one end\n * @param color2 Color on other end\n * @param factor The interpolation factor (0 to 1, 0 will be color1 while 1 will be color2)\n * @returns The color determined by the interpolation factor between the two colors\n */\nconst lerpColor = (color1: Oklab, color2: Oklab, factor: number): Oklab => {\n const { L: L1, a: a1, b: b1 } = color1;\n const { L: L2, a: a2, b: b2 } = color2;\n\n const L = L1 + (L2 - L1) * factor;\n const a = a1 + (a2 - a1) * factor;\n const b = b1 + (b2 - b1) * factor;\n\n return { L, a, b };\n};\n\nexport default {\n colorWithAlpha,\n darkenForDepth,\n linearSRGBToOklab,\n OklabToLinearSRGB,\n hexToRgb,\n rgbToHex,\n lerpColor,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ import { isExpandableGridModel } from "./ExpandableGridModel.js";
8
8
  export { getOrThrow } from '@deephaven/utils';
9
9
  /* eslint class-methods-use-this: "off" */
10
10
  /* eslint react/destructuring-assignment: "off" */
11
+
11
12
  /**
12
13
  * Trim the provided map in place. Trims oldest inserted items down to the target size if the cache size is exceeded.
13
14
  * Instead of trimming one item on every tick, we trim half the items so there isn't a cache clear on every new item.
@@ -56,27 +57,6 @@ export function getFloatingCoordinates(startCount, endCount, totalCount, max, si
56
57
  * Override this class and override the individual methods to provide additional functionality.
57
58
  */
58
59
  export class GridMetricCalculator {
59
- /** The size of the caches this calculator stores */
60
-
61
- /** The maximum column width as a percentage of the full grid */
62
-
63
- /** The initial row heights if any overrides from the default calculated values */
64
- // Readonly so it should be safe to make public
65
- /** The initial column widths if any overrides from the default calculated values */
66
- // Readonly so it should be safe to make public
67
- /** User set column widths */
68
- /** User set row heights */
69
- /** Calculated column widths based on cell contents and caching largest value */
70
- /** Calculated row heights based on cell contents and caching largest value */
71
- /** Calculated column widths based on cell contents */
72
- /** Calculated row heights based on cell contents */
73
- /** Cache of fonts to estimated width of the smallest char */
74
- /** Cache of fonts to estimated width of the largest char */
75
- /** Cache of fonts to width of all chars */
76
- /** Map from visible index to model index for rows (e.g. reversing movedRows operations) */
77
- /** Map from visible index to model index for columns (e.g. reversing movedColumns operations) */
78
- /** List of moved row operations. Need to track the previous value so we know if modelRows needs to be cleared. */
79
- /** List of moved column operations. Need to track the previous value so we know if modelColumns needs to be cleared. */
80
60
  constructor() {
81
61
  var {
82
62
  userColumnWidths = new Map(),
@@ -95,20 +75,37 @@ export class GridMetricCalculator {
95
75
  initialRowHeights = new Map(),
96
76
  initialColumnWidths = new Map()
97
77
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
+ /** The initial row heights if any overrides from the default calculated values */
98
79
  _defineProperty(this, "initialRowHeights", void 0);
80
+ // Readonly so it should be safe to make public
81
+ /** The initial column widths if any overrides from the default calculated values */
99
82
  _defineProperty(this, "initialColumnWidths", void 0);
83
+ // Readonly so it should be safe to make public
84
+ /** User set column widths */
100
85
  _defineProperty(this, "userColumnWidths", void 0);
86
+ /** User set row heights */
101
87
  _defineProperty(this, "userRowHeights", void 0);
88
+ /** Calculated column widths based on cell contents and caching largest value */
102
89
  _defineProperty(this, "calculatedColumnWidths", void 0);
90
+ /** Calculated row heights based on cell contents and caching largest value */
103
91
  _defineProperty(this, "calculatedRowHeights", void 0);
92
+ /** Calculated column widths based on cell contents */
104
93
  _defineProperty(this, "contentColumnWidths", void 0);
94
+ /** Calculated row heights based on cell contents */
105
95
  _defineProperty(this, "contentRowHeights", void 0);
96
+ /** Cache of fonts to estimated width of the smallest char */
106
97
  _defineProperty(this, "fontWidthsLower", void 0);
98
+ /** Cache of fonts to estimated width of the largest char */
107
99
  _defineProperty(this, "fontWidthsUpper", void 0);
100
+ /** Cache of fonts to width of all chars */
108
101
  _defineProperty(this, "allCharWidths", void 0);
102
+ /** Map from visible index to model index for rows (e.g. reversing movedRows operations) */
109
103
  _defineProperty(this, "modelRows", void 0);
104
+ /** Map from visible index to model index for columns (e.g. reversing movedColumns operations) */
110
105
  _defineProperty(this, "modelColumns", void 0);
106
+ /** List of moved row operations. Need to track the previous value so we know if modelRows needs to be cleared. */
111
107
  _defineProperty(this, "movedRows", void 0);
108
+ /** List of moved column operations. Need to track the previous value so we know if modelColumns needs to be cleared. */
112
109
  _defineProperty(this, "movedColumns", void 0);
113
110
  this.userColumnWidths = userColumnWidths;
114
111
  this.userRowHeights = userRowHeights;
@@ -1628,7 +1625,9 @@ export class GridMetricCalculator {
1628
1625
  this.calculatedRowHeights = new Map();
1629
1626
  }
1630
1627
  }
1628
+ /** The size of the caches this calculator stores */
1631
1629
  _defineProperty(GridMetricCalculator, "CACHE_SIZE", 10000);
1630
+ /** The maximum column width as a percentage of the full grid */
1632
1631
  _defineProperty(GridMetricCalculator, "MAX_COLUMN_WIDTH", 0.8);
1633
1632
  export default GridMetricCalculator;
1634
1633
  //# sourceMappingURL=GridMetricCalculator.js.map