@deephaven/grid 0.57.2-beta.1 → 0.58.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"GridColorUtils.d.ts","sourceRoot":"","sources":["../src/GridColorUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,GAAG,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,SAAI,GACX,SAAS,CAIX;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAGnE;;;;;;;;;;AA2GD,wBAQE"}
1
+ {"version":3,"file":"GridColorUtils.d.ts","sourceRoot":"","sources":["../src/GridColorUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,GAAG,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,SAAI,GACX,SAAS,CASX;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAGnE;;;;;;;;;;AA2GD,wBAQE"}
@@ -10,7 +10,11 @@ import clamp from 'lodash.clamp';
10
10
  export function darkenForDepth(color, depth) {
11
11
  var maxDepth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 6;
12
12
  var lab = convert.hex.lab.raw(color);
13
- lab[0] = Math.max(lab[0] - lab[0] / maxDepth * depth, 0);
13
+
14
+ // determined via a trial an error approach to getting
15
+ // something that works for both light and dark
16
+ var modifier = lab[0] < 50 ? 17 : 10;
17
+ lab[0] = Math.max(lab[0] - modifier / maxDepth * depth, 0);
14
18
  return "#".concat(convert.lab.hex(lab));
15
19
  }
16
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"GridColorUtils.js","names":["convert","clamp","darkenForDepth","color","depth","maxDepth","arguments","length","undefined","lab","hex","raw","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 { HEX } from 'color-convert/conversions';\nimport clamp from 'lodash.clamp';\nimport { 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 lab[0] = Math.max(lab[0] - (lab[0] / 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 { HEX } from 'color-convert/conversions';\nimport clamp from 'lodash.clamp';\nimport { 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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"}
@@ -445,7 +445,8 @@ export class GridRenderer {
445
445
  var {
446
446
  maxDepth,
447
447
  shadowBlur,
448
- shadowColor
448
+ shadowColor,
449
+ shadowAlpha
449
450
  } = theme;
450
451
  var colorSets = this.getCachedBackgroundColors(rowBackgroundColors, maxDepth);
451
452
  var {
@@ -494,7 +495,7 @@ export class GridRenderer {
494
495
  });
495
496
  if (topShadowRows.length > 0) {
496
497
  context.save();
497
- var startColor = this.getCachedColorWithAlpha(shadowColor, 0.15);
498
+ var startColor = this.getCachedColorWithAlpha(shadowColor, shadowAlpha);
498
499
  var endColor = this.getCachedColorWithAlpha(shadowColor, 0);
499
500
  var gradient = context.createLinearGradient(0, 0, 0, shadowBlur);
500
501
  gradient.addColorStop(0, startColor);
@@ -513,7 +514,7 @@ export class GridRenderer {
513
514
  if (bottomShadowRows.length > 0) {
514
515
  context.save();
515
516
  var _startColor = this.getCachedColorWithAlpha(shadowColor, 0);
516
- var _endColor = this.getCachedColorWithAlpha(shadowColor, 0.15);
517
+ var _endColor = this.getCachedColorWithAlpha(shadowColor, shadowAlpha);
517
518
  var _gradient = context.createLinearGradient(0, 0, 0, shadowBlur);
518
519
  _gradient.addColorStop(0, _startColor);
519
520
  _gradient.addColorStop(1, _endColor);