@deephaven/grid 0.49.2-theme-plugins.45 → 0.50.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":"DataBarCellRenderer.d.ts","sourceRoot":"","sources":["../src/DataBarCellRenderer.ts"],"names":[],"mappings":";AAEA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAuB,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,UAAU,oBAAoB;IAC5B,kHAAkH;IAClH,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,cAAM,mBAAoB,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,eAAe,CACb,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,IAAI;IAkQP,uBAAuB,CACrB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,oBAAoB;IA2OvB,YAAY,CACV,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,KAAK,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI;IAqBP,gBAAgB,CACd,OAAO,EAAE,wBAAwB,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI;IAKP;;OAEG;IACH,6BAA6B,aAEhB,wBAAwB,eACpB,SAAS,YAAY,EAAE,uCAE7B,SAAS,UACR,UAAU,KACjB,MAAM,iDALE,wBAAwB,eACpB,SAAS,YAAY,EAAE,uCAE7B,SAAS,UACR,UAAU,KACjB,MAAM,EAYT;CACH;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DataBarCellRenderer.d.ts","sourceRoot":"","sources":["../src/DataBarCellRenderer.ts"],"names":[],"mappings":";AAEA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAuB,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,UAAU,oBAAoB;IAC5B,kHAAkH;IAClH,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,cAAM,mBAAoB,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,eAAe,CACb,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,IAAI;IAkQP,uBAAuB,CACrB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,oBAAoB;IAwOvB,YAAY,CACV,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,KAAK,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI;IAqBP,gBAAgB,CACd,OAAO,EAAE,wBAAwB,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI;IAKP;;OAEG;IACH,6BAA6B,aAEhB,wBAAwB,eACpB,SAAS,YAAY,EAAE,uCAE7B,SAAS,UACR,UAAU,KACjB,MAAM,iDALE,wBAAwB,eACpB,SAAS,YAAY,EAAE,uCAE7B,SAAS,UACR,UAAU,KACjB,MAAM,EAYT;CACH;AAED,eAAe,mBAAmB,CAAC"}
@@ -69,7 +69,7 @@ class DataBarCellRenderer extends CellRenderer {
69
69
  markers,
70
70
  direction,
71
71
  value
72
- } = model.dataBarOptionsForCell(modelColumn, modelRow);
72
+ } = model.dataBarOptionsForCell(modelColumn, modelRow, theme);
73
73
  var hasGradient = Array.isArray(dataBarColor);
74
74
  if (columnMin == null || columnMax == null) {
75
75
  return;
@@ -239,7 +239,7 @@ class DataBarCellRenderer extends CellRenderer {
239
239
  markers,
240
240
  direction,
241
241
  value
242
- } = model.dataBarOptionsForCell(modelColumn, modelRow);
242
+ } = model.dataBarOptionsForCell(modelColumn, modelRow, theme);
243
243
  var longestValueWidth = this.getCachedWidestValueForColumn(context, visibleRows, modelRows, model, modelColumn);
244
244
  var leftPadding = 2;
245
245
  var rightPadding = valuePlacement === 'beside' && textAlign === 'right' ? 2 : 1;
@@ -279,10 +279,10 @@ class DataBarCellRenderer extends CellRenderer {
279
279
  var dataBarX = value >= 0 ? zeroPosition : zeroPosition - Math.abs(value) / totalValueRange * maxWidth;
280
280
  var markerXs = markers.map(marker => {
281
281
  var {
282
- column: markerColumn
282
+ value: markerValue
283
283
  } = marker;
284
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
285
- return markerValue >= 0 ? zeroPosition + Math.abs(markerValue) / totalValueRange * maxWidth : zeroPosition - Math.abs(markerValue) / totalValueRange * maxWidth;
284
+ var offset = Math.abs(markerValue) / totalValueRange * maxWidth;
285
+ return markerValue >= 0 ? zeroPosition + offset : zeroPosition - offset;
286
286
  });
287
287
  var leftmostPosition = valuePlacement === 'beside' && textAlign === 'left' ? cellHorizontalPadding + longestValueWidth + leftPadding : leftPadding;
288
288
  var rightmostPosition = valuePlacement === 'beside' && textAlign === 'right' ? columnWidth - cellHorizontalPadding - longestValueWidth - rightPadding : rightPadding;
@@ -293,9 +293,8 @@ class DataBarCellRenderer extends CellRenderer {
293
293
  dataBarX = value >= 0 ? zeroPosition - value / totalValueRange * maxWidth : zeroPosition;
294
294
  markerXs = markers.map(marker => {
295
295
  var {
296
- column: markerColumn
296
+ value: markerValue
297
297
  } = marker;
298
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
299
298
  return markerValue >= 0 ? zeroPosition - Math.abs(markerValue) / totalValueRange * maxWidth : zeroPosition + Math.abs(markerValue) / totalValueRange * maxWidth;
300
299
  });
301
300
  }
@@ -306,9 +305,8 @@ class DataBarCellRenderer extends CellRenderer {
306
305
  dataBarX = value >= 0 ? zeroPosition : zeroPosition - Math.abs(value) / columnLongest * (maxWidth / 2);
307
306
  markerXs = markers.map(marker => {
308
307
  var {
309
- column: markerColumn
308
+ value: markerValue
310
309
  } = marker;
311
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
312
310
  return markerValue >= 0 ? zeroPosition + Math.abs(markerValue) / columnLongest * (maxWidth / 2) : zeroPosition - Math.abs(markerValue) / columnLongest * (maxWidth / 2);
313
311
  });
314
312
  } else if (direction === 'RTL') {
@@ -316,9 +314,8 @@ class DataBarCellRenderer extends CellRenderer {
316
314
  dataBarX = value <= 0 ? zeroPosition : zeroPosition - Math.abs(value) / columnLongest * (maxWidth / 2);
317
315
  markerXs = markers.map(marker => {
318
316
  var {
319
- column: markerColumn
317
+ value: markerValue
320
318
  } = marker;
321
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
322
319
  return markerValue <= 0 ? zeroPosition + Math.abs(markerValue) / columnLongest * (maxWidth / 2) : zeroPosition - Math.abs(markerValue) / columnLongest * (maxWidth / 2);
323
320
  });
324
321
  }
@@ -329,9 +326,8 @@ class DataBarCellRenderer extends CellRenderer {
329
326
  dataBarX = zeroPosition;
330
327
  markerXs = markers.map(marker => {
331
328
  var {
332
- column: markerColumn
329
+ value: markerValue
333
330
  } = marker;
334
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
335
331
  return zeroPosition + Math.abs(markerValue) / columnLongest * maxWidth;
336
332
  });
337
333
  } else if (direction === 'RTL') {
@@ -340,9 +336,8 @@ class DataBarCellRenderer extends CellRenderer {
340
336
  dataBarX = zeroPosition - Math.abs(value) / columnLongest * maxWidth;
341
337
  markerXs = markers.map(marker => {
342
338
  var {
343
- column: markerColumn
339
+ value: markerValue
344
340
  } = marker;
345
- var markerValue = Number(model.textForCell(markerColumn, modelRow));
346
341
  return zeroPosition - Math.abs(markerValue) / columnLongest * maxWidth;
347
342
  });
348
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataBarCellRenderer.js","names":["getOrThrow","CellRenderer","isExpandableGridModel","isDataBarGridModel","GridColorUtils","GridUtils","memoizeClear","DEFAULT_FONT_WIDTH","DataBarCellRenderer","context","visibleRows","modelRows","model","column","widestValue","i","length","row","modelRow","text","textForCell","Math","max","measureText","width","drawCellContent","state","metrics","theme","modelColumns","allRowHeights","allRowYs","firstColumn","fontWidths","isFirstColumn","rowHeight","modelColumn","rowY","textAlign","textAlignForCell","x","textX","textWidth","getTextRenderMetrics","fontWidth","get","font","truncationChar","truncationCharForCell","truncatedText","getCachedTruncatedString","columnMin","columnMax","axis","color","dataBarColor","valuePlacement","opacity","markers","direction","value","dataBarOptionsForCell","hasGradient","Array","isArray","maxWidth","dataBarX","y","dataBarY","zeroPosition","leftmostPosition","markerXs","totalValueRange","dataBarWidth","getDataBarRenderMetrics","heightOfDigits","undefined","actualBoundingBoxAscent","actualBoundingBoxDescent","save","fillStyle","textBaseline","fillText","dataBarColorsOklab","map","linearSRGBToOklab","hexToRgb","beginPath","roundRect","clip","totalGradientWidth","round","abs","partGradientWidth","gradientX","leftColor","rightColor","drawGradient","restore","globalAlpha","fill","forEach","markerX","index","fillRect","shouldRenderDashedLine","strokeStyle","zeroLineColor","setLineDash","moveTo","lineTo","stroke","hasExpandableRows","drawCellRowTreeMarker","Error","allColumnXs","allColumnWidths","cellHorizontalPadding","treeDepthIndent","treeHorizontalPadding","columnWidth","treeIndent","depthForRow","longestValueWidth","getCachedWidestValueForColumn","leftPadding","rightPadding","columnLongest","marker","markerColumn","markerValue","Number","rightmostPosition","height","currentColor","currentX","drawGradientPart","rgbToHex","OklabToLinearSRGB","lerpColor"],"sources":["../src/DataBarCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { getOrThrow } from '@deephaven/utils';\nimport CellRenderer from './CellRenderer';\nimport { isExpandableGridModel } from './ExpandableGridModel';\nimport { isDataBarGridModel } from './DataBarGridModel';\nimport { ModelIndex, VisibleIndex, VisibleToModelMap } from './GridMetrics';\nimport GridColorUtils, { Oklab } from './GridColorUtils';\nimport GridUtils from './GridUtils';\nimport memoizeClear from './memoizeClear';\nimport { DEFAULT_FONT_WIDTH, GridRenderState } from './GridRendererTypes';\nimport GridModel from './GridModel';\n\ninterface DataBarRenderMetrics {\n /** The total width the entire bar from the min to max value can take up (rightmostPosition - leftmostPosition) */\n maxWidth: number;\n /** The x coordinate of the bar (the left) */\n x: number;\n /** The y coordinate of the bar (the top) */\n y: number;\n /** The position of the zero line */\n zeroPosition: number;\n /** The position of the leftmost point */\n leftmostPosition: number;\n /** The position of the rightmost point */\n rightmostPosition: number;\n /** The range of values (e.g. max of 100 and min of -50 means range of 150) */\n totalValueRange: number;\n /** The width of the databar */\n dataBarWidth: number;\n /** The x coordinates of the markers (the left) */\n markerXs: number[];\n}\nclass DataBarCellRenderer extends CellRenderer {\n private heightOfDigits?: number;\n\n drawCellContent(\n context: CanvasRenderingContext2D,\n state: GridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): void {\n const { metrics, model, theme } = state;\n if (!isDataBarGridModel(model)) {\n return;\n }\n const {\n modelColumns,\n modelRows,\n allRowHeights,\n allRowYs,\n firstColumn,\n fontWidths,\n } = metrics;\n\n const isFirstColumn = column === firstColumn;\n const rowHeight = getOrThrow(allRowHeights, row);\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = getOrThrow(modelColumns, column);\n const rowY = getOrThrow(allRowYs, row);\n const textAlign = model.textAlignForCell(modelColumn, modelRow);\n const text = model.textForCell(modelColumn, modelRow);\n const { x: textX, width: textWidth } = GridUtils.getTextRenderMetrics(\n state,\n column,\n row\n );\n\n const fontWidth = fontWidths?.get(context.font) ?? DEFAULT_FONT_WIDTH;\n const truncationChar = model.truncationCharForCell(modelColumn, modelRow);\n const truncatedText = this.getCachedTruncatedString(\n context,\n text,\n textWidth,\n fontWidth,\n truncationChar\n );\n\n const {\n columnMin,\n columnMax,\n axis,\n color: dataBarColor,\n valuePlacement,\n opacity,\n markers,\n direction,\n value,\n } = model.dataBarOptionsForCell(modelColumn, modelRow);\n\n const hasGradient = Array.isArray(dataBarColor);\n if (columnMin == null || columnMax == null) {\n return;\n }\n\n const {\n maxWidth,\n x: dataBarX,\n y: dataBarY,\n zeroPosition,\n leftmostPosition,\n markerXs,\n totalValueRange,\n dataBarWidth,\n } = this.getDataBarRenderMetrics(context, state, column, row);\n\n if (this.heightOfDigits === undefined) {\n const { actualBoundingBoxAscent, actualBoundingBoxDescent } =\n context.measureText('1234567890');\n this.heightOfDigits = actualBoundingBoxAscent + actualBoundingBoxDescent;\n }\n\n context.save();\n context.textAlign = textAlign;\n if (hasGradient) {\n const color =\n value >= 0 ? dataBarColor[dataBarColor.length - 1] : dataBarColor[0];\n context.fillStyle = color;\n } else {\n context.fillStyle = dataBarColor;\n }\n context.textBaseline = 'top';\n context.font = theme.font;\n\n if (valuePlacement !== 'hide') {\n context.fillText(\n truncatedText,\n textX,\n rowY + (rowHeight - this.heightOfDigits) / 2\n );\n }\n\n // Draw bar\n if (hasGradient) {\n // Draw gradient bar\n\n const dataBarColorsOklab: Oklab[] = dataBarColor.map(color =>\n GridColorUtils.linearSRGBToOklab(GridColorUtils.hexToRgb(color))\n );\n\n context.save();\n\n context.beginPath();\n\n context.roundRect(dataBarX, dataBarY, dataBarWidth, rowHeight - 2, 1);\n context.clip();\n\n if (value < 0) {\n if (direction === 'LTR') {\n const totalGradientWidth = Math.round(\n (Math.abs(columnMin) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(leftmostPosition);\n for (let i = 0; i < dataBarColor.length - 1; i += 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i + 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight\n );\n\n gradientX += partGradientWidth;\n }\n } else if (direction === 'RTL') {\n const totalGradientWidth = Math.round(\n maxWidth - (Math.abs(columnMax) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(zeroPosition);\n for (let i = dataBarColor.length - 1; i > 0; i -= 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i - 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight\n );\n\n gradientX += partGradientWidth;\n }\n }\n } else if (direction === 'LTR') {\n // Value is greater than or equal to 0\n const totalGradientWidth =\n Math.round(\n maxWidth - (Math.abs(columnMin) / totalValueRange) * maxWidth\n ) - 1;\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(zeroPosition);\n\n for (let i = 0; i < dataBarColor.length - 1; i += 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i + 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight - 2\n );\n\n gradientX += partGradientWidth;\n }\n } else if (direction === 'RTL') {\n // Value is greater than or equal to 0\n const totalGradientWidth = Math.round(\n (Math.abs(columnMax) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(leftmostPosition);\n\n for (let i = dataBarColor.length - 1; i > 0; i -= 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i - 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight - 2\n );\n\n gradientX += partGradientWidth;\n }\n }\n\n // restore clip\n context.restore();\n } else {\n // Draw normal bar\n context.save();\n\n context.globalAlpha = opacity;\n context.beginPath();\n context.roundRect(dataBarX, dataBarY, dataBarWidth, rowHeight - 2, 1);\n context.fill();\n\n context.restore();\n }\n\n // Draw markers\n if (maxWidth > 0) {\n markerXs.forEach((markerX, index) => {\n context.fillStyle = markers[index].color;\n context.fillRect(markerX, dataBarY, 1, rowHeight - 2);\n });\n }\n\n const shouldRenderDashedLine = !(\n axis === 'directional' &&\n ((valuePlacement === 'beside' &&\n textAlign === 'right' &&\n direction === 'LTR') ||\n (valuePlacement === 'beside' &&\n textAlign === 'left' &&\n direction === 'RTL') ||\n valuePlacement !== 'beside')\n );\n\n // Draw dashed line\n if (shouldRenderDashedLine) {\n context.strokeStyle = theme.zeroLineColor;\n context.beginPath();\n context.setLineDash([2, 1]);\n context.moveTo(zeroPosition, rowY);\n context.lineTo(zeroPosition, rowY + rowHeight);\n context.stroke();\n }\n\n context.restore();\n\n // Draw tree marker\n if (\n isFirstColumn &&\n isExpandableGridModel(model) &&\n model.hasExpandableRows\n ) {\n this.drawCellRowTreeMarker(context, state, row);\n }\n }\n\n getDataBarRenderMetrics(\n context: CanvasRenderingContext2D,\n state: GridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): DataBarRenderMetrics {\n const { metrics, model, theme } = state;\n if (!isDataBarGridModel(model)) {\n throw new Error('Grid model is not a data bar grid model');\n }\n const {\n firstColumn,\n allColumnXs,\n allColumnWidths,\n allRowYs,\n modelColumns,\n modelRows,\n visibleRows,\n } = metrics;\n const { cellHorizontalPadding, treeDepthIndent, treeHorizontalPadding } =\n theme;\n\n const modelColumn = getOrThrow(modelColumns, column);\n const modelRow = getOrThrow(modelRows, row);\n const x = getOrThrow(allColumnXs, column);\n const y = getOrThrow(allRowYs, row);\n const columnWidth = getOrThrow(allColumnWidths, column);\n const isFirstColumn = column === firstColumn;\n let treeIndent = 0;\n if (\n isExpandableGridModel(model) &&\n model.hasExpandableRows &&\n isFirstColumn\n ) {\n treeIndent =\n treeDepthIndent * (model.depthForRow(row) + 1) + treeHorizontalPadding;\n }\n\n const textAlign = model.textAlignForCell(modelColumn, modelRow);\n const {\n columnMin,\n columnMax,\n axis,\n valuePlacement,\n markers,\n direction,\n value,\n } = model.dataBarOptionsForCell(modelColumn, modelRow);\n const longestValueWidth = this.getCachedWidestValueForColumn(\n context,\n visibleRows,\n modelRows,\n model,\n modelColumn\n );\n\n const leftPadding = 2;\n const rightPadding =\n valuePlacement === 'beside' && textAlign === 'right' ? 2 : 1;\n\n // The value of the total range (e.g. max - column)\n let totalValueRange = columnMax - columnMin;\n // If min and max are both positive or min and max are equal, the max length is columnMax\n if ((columnMax >= 0 && columnMin >= 0) || columnMin === columnMax) {\n totalValueRange = columnMax;\n } else if (columnMax <= 0 && columnMin <= 0) {\n // If min and max are both negative, the max length is the absolute value of columnMin\n totalValueRange = Math.abs(columnMin);\n }\n\n let maxWidth = columnWidth - treeIndent - rightPadding - leftPadding;\n if (valuePlacement === 'beside') {\n maxWidth = maxWidth - cellHorizontalPadding - longestValueWidth;\n }\n\n if (maxWidth < 0) {\n maxWidth = 0;\n }\n\n const columnLongest = Math.max(Math.abs(columnMin), Math.abs(columnMax));\n // If axis is proportional, totalValueRange is proportional to maxWidth\n let dataBarWidth = (Math.abs(value) / totalValueRange) * maxWidth;\n\n if (maxWidth === 0) {\n dataBarWidth = 0;\n } else if (axis === 'middle') {\n // The longest bar is proportional to half of the maxWidth\n dataBarWidth = (Math.abs(value) / columnLongest) * (maxWidth / 2);\n } else if (axis === 'directional') {\n // The longest bar is proportional to the maxWidth\n dataBarWidth = (Math.abs(value) / columnLongest) * maxWidth;\n }\n\n // Default: proportional, beside, LTR, right text align\n // All positions are assuming the left side is 0 and the right side is maxWidth\n let zeroPosition =\n columnMin >= 0 ? 0 : (Math.abs(columnMin) / totalValueRange) * maxWidth;\n let dataBarX =\n value >= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / totalValueRange) * maxWidth;\n let markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return markerValue >= 0\n ? zeroPosition + (Math.abs(markerValue) / totalValueRange) * maxWidth\n : zeroPosition - (Math.abs(markerValue) / totalValueRange) * maxWidth;\n });\n let leftmostPosition =\n valuePlacement === 'beside' && textAlign === 'left'\n ? cellHorizontalPadding + longestValueWidth + leftPadding\n : leftPadding;\n let rightmostPosition =\n valuePlacement === 'beside' && textAlign === 'right'\n ? columnWidth - cellHorizontalPadding - longestValueWidth - rightPadding\n : rightPadding;\n\n // Proportional, RTL\n if (direction === 'RTL') {\n zeroPosition =\n columnMin >= 0\n ? columnWidth\n : columnWidth - (Math.abs(columnMin) / totalValueRange) * maxWidth;\n dataBarX =\n value >= 0\n ? zeroPosition - (value / totalValueRange) * maxWidth\n : zeroPosition;\n markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return markerValue >= 0\n ? zeroPosition - (Math.abs(markerValue) / totalValueRange) * maxWidth\n : zeroPosition + (Math.abs(markerValue) / totalValueRange) * maxWidth;\n });\n }\n\n if (axis === 'middle') {\n zeroPosition = maxWidth / 2;\n if (direction === 'LTR') {\n // Middle, LTR\n dataBarX =\n value >= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / columnLongest) * (maxWidth / 2);\n markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return markerValue >= 0\n ? zeroPosition +\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2)\n : zeroPosition -\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2);\n });\n } else if (direction === 'RTL') {\n // Middle, RTL\n dataBarX =\n value <= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / columnLongest) * (maxWidth / 2);\n markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return markerValue <= 0\n ? zeroPosition +\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2)\n : zeroPosition -\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2);\n });\n }\n } else if (axis === 'directional') {\n if (direction === 'LTR') {\n // Directional, LTR\n zeroPosition = 0;\n dataBarX = zeroPosition;\n markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return (\n zeroPosition + (Math.abs(markerValue) / columnLongest) * maxWidth\n );\n });\n } else if (direction === 'RTL') {\n // Directional, RTL\n zeroPosition = columnWidth;\n dataBarX = zeroPosition - (Math.abs(value) / columnLongest) * maxWidth;\n markerXs = markers.map(marker => {\n const { column: markerColumn } = marker;\n const markerValue = Number(model.textForCell(markerColumn, modelRow));\n return (\n zeroPosition - (Math.abs(markerValue) / columnLongest) * maxWidth\n );\n });\n }\n }\n\n // Offset all values by the actual x value and padding\n if (direction === 'LTR') {\n zeroPosition += x + leftPadding + treeIndent;\n dataBarX += x + leftPadding + treeIndent;\n markerXs = markerXs.map(\n markerX => markerX + x + leftPadding + treeIndent\n );\n\n if (valuePlacement === 'beside' && textAlign === 'left') {\n zeroPosition += longestValueWidth + cellHorizontalPadding;\n dataBarX += longestValueWidth + cellHorizontalPadding;\n markerXs = markerXs.map(\n markerX => markerX + longestValueWidth + cellHorizontalPadding\n );\n }\n } else if (direction === 'RTL') {\n zeroPosition = zeroPosition + x - rightPadding;\n dataBarX = dataBarX + x - rightPadding;\n markerXs = markerXs.map(markerX => markerX + x - rightPadding);\n\n if (valuePlacement === 'beside' && textAlign === 'right') {\n zeroPosition = zeroPosition - cellHorizontalPadding - longestValueWidth;\n dataBarX = dataBarX - cellHorizontalPadding - longestValueWidth;\n markerXs = markerXs.map(\n markerX => markerX - cellHorizontalPadding - longestValueWidth\n );\n }\n }\n\n leftmostPosition += x + treeIndent;\n rightmostPosition += x;\n\n return {\n maxWidth,\n x: dataBarX,\n y: y + 1.5,\n zeroPosition,\n leftmostPosition,\n rightmostPosition,\n totalValueRange,\n dataBarWidth,\n markerXs,\n };\n }\n\n drawGradient(\n context: CanvasRenderingContext2D,\n leftColor: Oklab,\n rightColor: Oklab,\n x: number,\n y: number,\n width: number,\n height: number\n ): void {\n let currentColor = leftColor;\n // Increase by 0.5 because half-pixel will render weird on different zooms\n for (let currentX = x; currentX <= x + width; currentX += 0.5) {\n this.drawGradientPart(\n context,\n currentX,\n y,\n 1,\n height,\n GridColorUtils.rgbToHex(GridColorUtils.OklabToLinearSRGB(currentColor))\n );\n\n currentColor = GridColorUtils.lerpColor(\n leftColor,\n rightColor,\n (currentX - x) / width\n );\n }\n }\n\n drawGradientPart(\n context: CanvasRenderingContext2D,\n x: number,\n y: number,\n width: number,\n height: number,\n color: string\n ): void {\n context.fillStyle = color;\n context.fillRect(x, y, width, height);\n }\n\n /**\n * Returns the width of the widest value in pixels\n */\n getCachedWidestValueForColumn = memoizeClear(\n (\n context: CanvasRenderingContext2D,\n visibleRows: readonly VisibleIndex[],\n modelRows: VisibleToModelMap,\n model: GridModel,\n column: ModelIndex\n ): number => {\n let widestValue = 0;\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n const modelRow = getOrThrow(modelRows, row);\n const text = model.textForCell(column, modelRow);\n widestValue = Math.max(widestValue, context.measureText(text).width);\n }\n\n return widestValue;\n },\n { max: 1000 }\n );\n}\n\nexport default DataBarCellRenderer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataBarCellRenderer.js","names":["getOrThrow","CellRenderer","isExpandableGridModel","isDataBarGridModel","GridColorUtils","GridUtils","memoizeClear","DEFAULT_FONT_WIDTH","DataBarCellRenderer","context","visibleRows","modelRows","model","column","widestValue","i","length","row","modelRow","text","textForCell","Math","max","measureText","width","drawCellContent","state","metrics","theme","modelColumns","allRowHeights","allRowYs","firstColumn","fontWidths","isFirstColumn","rowHeight","modelColumn","rowY","textAlign","textAlignForCell","x","textX","textWidth","getTextRenderMetrics","fontWidth","get","font","truncationChar","truncationCharForCell","truncatedText","getCachedTruncatedString","columnMin","columnMax","axis","color","dataBarColor","valuePlacement","opacity","markers","direction","value","dataBarOptionsForCell","hasGradient","Array","isArray","maxWidth","dataBarX","y","dataBarY","zeroPosition","leftmostPosition","markerXs","totalValueRange","dataBarWidth","getDataBarRenderMetrics","heightOfDigits","undefined","actualBoundingBoxAscent","actualBoundingBoxDescent","save","fillStyle","textBaseline","fillText","dataBarColorsOklab","map","linearSRGBToOklab","hexToRgb","beginPath","roundRect","clip","totalGradientWidth","round","abs","partGradientWidth","gradientX","leftColor","rightColor","drawGradient","restore","globalAlpha","fill","forEach","markerX","index","fillRect","shouldRenderDashedLine","strokeStyle","zeroLineColor","setLineDash","moveTo","lineTo","stroke","hasExpandableRows","drawCellRowTreeMarker","Error","allColumnXs","allColumnWidths","cellHorizontalPadding","treeDepthIndent","treeHorizontalPadding","columnWidth","treeIndent","depthForRow","longestValueWidth","getCachedWidestValueForColumn","leftPadding","rightPadding","columnLongest","marker","markerValue","offset","rightmostPosition","height","currentColor","currentX","drawGradientPart","rgbToHex","OklabToLinearSRGB","lerpColor"],"sources":["../src/DataBarCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { getOrThrow } from '@deephaven/utils';\nimport CellRenderer from './CellRenderer';\nimport { isExpandableGridModel } from './ExpandableGridModel';\nimport { isDataBarGridModel } from './DataBarGridModel';\nimport { ModelIndex, VisibleIndex, VisibleToModelMap } from './GridMetrics';\nimport GridColorUtils, { Oklab } from './GridColorUtils';\nimport GridUtils from './GridUtils';\nimport memoizeClear from './memoizeClear';\nimport { DEFAULT_FONT_WIDTH, GridRenderState } from './GridRendererTypes';\nimport GridModel from './GridModel';\n\ninterface DataBarRenderMetrics {\n /** The total width the entire bar from the min to max value can take up (rightmostPosition - leftmostPosition) */\n maxWidth: number;\n /** The x coordinate of the bar (the left) */\n x: number;\n /** The y coordinate of the bar (the top) */\n y: number;\n /** The position of the zero line */\n zeroPosition: number;\n /** The position of the leftmost point */\n leftmostPosition: number;\n /** The position of the rightmost point */\n rightmostPosition: number;\n /** The range of values (e.g. max of 100 and min of -50 means range of 150) */\n totalValueRange: number;\n /** The width of the databar */\n dataBarWidth: number;\n /** The x coordinates of the markers (the left) */\n markerXs: number[];\n}\nclass DataBarCellRenderer extends CellRenderer {\n private heightOfDigits?: number;\n\n drawCellContent(\n context: CanvasRenderingContext2D,\n state: GridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): void {\n const { metrics, model, theme } = state;\n if (!isDataBarGridModel(model)) {\n return;\n }\n const {\n modelColumns,\n modelRows,\n allRowHeights,\n allRowYs,\n firstColumn,\n fontWidths,\n } = metrics;\n\n const isFirstColumn = column === firstColumn;\n const rowHeight = getOrThrow(allRowHeights, row);\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = getOrThrow(modelColumns, column);\n const rowY = getOrThrow(allRowYs, row);\n const textAlign = model.textAlignForCell(modelColumn, modelRow);\n const text = model.textForCell(modelColumn, modelRow);\n const { x: textX, width: textWidth } = GridUtils.getTextRenderMetrics(\n state,\n column,\n row\n );\n\n const fontWidth = fontWidths?.get(context.font) ?? DEFAULT_FONT_WIDTH;\n const truncationChar = model.truncationCharForCell(modelColumn, modelRow);\n const truncatedText = this.getCachedTruncatedString(\n context,\n text,\n textWidth,\n fontWidth,\n truncationChar\n );\n\n const {\n columnMin,\n columnMax,\n axis,\n color: dataBarColor,\n valuePlacement,\n opacity,\n markers,\n direction,\n value,\n } = model.dataBarOptionsForCell(modelColumn, modelRow, theme);\n\n const hasGradient = Array.isArray(dataBarColor);\n if (columnMin == null || columnMax == null) {\n return;\n }\n\n const {\n maxWidth,\n x: dataBarX,\n y: dataBarY,\n zeroPosition,\n leftmostPosition,\n markerXs,\n totalValueRange,\n dataBarWidth,\n } = this.getDataBarRenderMetrics(context, state, column, row);\n\n if (this.heightOfDigits === undefined) {\n const { actualBoundingBoxAscent, actualBoundingBoxDescent } =\n context.measureText('1234567890');\n this.heightOfDigits = actualBoundingBoxAscent + actualBoundingBoxDescent;\n }\n\n context.save();\n context.textAlign = textAlign;\n if (hasGradient) {\n const color =\n value >= 0 ? dataBarColor[dataBarColor.length - 1] : dataBarColor[0];\n context.fillStyle = color;\n } else {\n context.fillStyle = dataBarColor;\n }\n context.textBaseline = 'top';\n context.font = theme.font;\n\n if (valuePlacement !== 'hide') {\n context.fillText(\n truncatedText,\n textX,\n rowY + (rowHeight - this.heightOfDigits) / 2\n );\n }\n\n // Draw bar\n if (hasGradient) {\n // Draw gradient bar\n\n const dataBarColorsOklab: Oklab[] = dataBarColor.map(color =>\n GridColorUtils.linearSRGBToOklab(GridColorUtils.hexToRgb(color))\n );\n\n context.save();\n\n context.beginPath();\n\n context.roundRect(dataBarX, dataBarY, dataBarWidth, rowHeight - 2, 1);\n context.clip();\n\n if (value < 0) {\n if (direction === 'LTR') {\n const totalGradientWidth = Math.round(\n (Math.abs(columnMin) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(leftmostPosition);\n for (let i = 0; i < dataBarColor.length - 1; i += 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i + 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight\n );\n\n gradientX += partGradientWidth;\n }\n } else if (direction === 'RTL') {\n const totalGradientWidth = Math.round(\n maxWidth - (Math.abs(columnMax) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(zeroPosition);\n for (let i = dataBarColor.length - 1; i > 0; i -= 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i - 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight\n );\n\n gradientX += partGradientWidth;\n }\n }\n } else if (direction === 'LTR') {\n // Value is greater than or equal to 0\n const totalGradientWidth =\n Math.round(\n maxWidth - (Math.abs(columnMin) / totalValueRange) * maxWidth\n ) - 1;\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(zeroPosition);\n\n for (let i = 0; i < dataBarColor.length - 1; i += 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i + 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight - 2\n );\n\n gradientX += partGradientWidth;\n }\n } else if (direction === 'RTL') {\n // Value is greater than or equal to 0\n const totalGradientWidth = Math.round(\n (Math.abs(columnMax) / totalValueRange) * maxWidth\n );\n const partGradientWidth =\n totalGradientWidth / (dataBarColor.length - 1);\n let gradientX = Math.round(leftmostPosition);\n\n for (let i = dataBarColor.length - 1; i > 0; i -= 1) {\n const leftColor = dataBarColorsOklab[i];\n const rightColor = dataBarColorsOklab[i - 1];\n this.drawGradient(\n context,\n leftColor,\n rightColor,\n gradientX,\n rowY + 1,\n partGradientWidth,\n rowHeight - 2\n );\n\n gradientX += partGradientWidth;\n }\n }\n\n // restore clip\n context.restore();\n } else {\n // Draw normal bar\n context.save();\n\n context.globalAlpha = opacity;\n context.beginPath();\n context.roundRect(dataBarX, dataBarY, dataBarWidth, rowHeight - 2, 1);\n context.fill();\n\n context.restore();\n }\n\n // Draw markers\n if (maxWidth > 0) {\n markerXs.forEach((markerX, index) => {\n context.fillStyle = markers[index].color;\n context.fillRect(markerX, dataBarY, 1, rowHeight - 2);\n });\n }\n\n const shouldRenderDashedLine = !(\n axis === 'directional' &&\n ((valuePlacement === 'beside' &&\n textAlign === 'right' &&\n direction === 'LTR') ||\n (valuePlacement === 'beside' &&\n textAlign === 'left' &&\n direction === 'RTL') ||\n valuePlacement !== 'beside')\n );\n\n // Draw dashed line\n if (shouldRenderDashedLine) {\n context.strokeStyle = theme.zeroLineColor;\n context.beginPath();\n context.setLineDash([2, 1]);\n context.moveTo(zeroPosition, rowY);\n context.lineTo(zeroPosition, rowY + rowHeight);\n context.stroke();\n }\n\n context.restore();\n\n // Draw tree marker\n if (\n isFirstColumn &&\n isExpandableGridModel(model) &&\n model.hasExpandableRows\n ) {\n this.drawCellRowTreeMarker(context, state, row);\n }\n }\n\n getDataBarRenderMetrics(\n context: CanvasRenderingContext2D,\n state: GridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): DataBarRenderMetrics {\n const { metrics, model, theme } = state;\n if (!isDataBarGridModel(model)) {\n throw new Error('Grid model is not a data bar grid model');\n }\n const {\n firstColumn,\n allColumnXs,\n allColumnWidths,\n allRowYs,\n modelColumns,\n modelRows,\n visibleRows,\n } = metrics;\n const { cellHorizontalPadding, treeDepthIndent, treeHorizontalPadding } =\n theme;\n\n const modelColumn = getOrThrow(modelColumns, column);\n const modelRow = getOrThrow(modelRows, row);\n const x = getOrThrow(allColumnXs, column);\n const y = getOrThrow(allRowYs, row);\n const columnWidth = getOrThrow(allColumnWidths, column);\n const isFirstColumn = column === firstColumn;\n let treeIndent = 0;\n if (\n isExpandableGridModel(model) &&\n model.hasExpandableRows &&\n isFirstColumn\n ) {\n treeIndent =\n treeDepthIndent * (model.depthForRow(row) + 1) + treeHorizontalPadding;\n }\n\n const textAlign = model.textAlignForCell(modelColumn, modelRow);\n const {\n columnMin,\n columnMax,\n axis,\n valuePlacement,\n markers,\n direction,\n value,\n } = model.dataBarOptionsForCell(modelColumn, modelRow, theme);\n const longestValueWidth = this.getCachedWidestValueForColumn(\n context,\n visibleRows,\n modelRows,\n model,\n modelColumn\n );\n\n const leftPadding = 2;\n const rightPadding =\n valuePlacement === 'beside' && textAlign === 'right' ? 2 : 1;\n\n // The value of the total range (e.g. max - column)\n let totalValueRange = columnMax - columnMin;\n // If min and max are both positive or min and max are equal, the max length is columnMax\n if ((columnMax >= 0 && columnMin >= 0) || columnMin === columnMax) {\n totalValueRange = columnMax;\n } else if (columnMax <= 0 && columnMin <= 0) {\n // If min and max are both negative, the max length is the absolute value of columnMin\n totalValueRange = Math.abs(columnMin);\n }\n\n let maxWidth = columnWidth - treeIndent - rightPadding - leftPadding;\n if (valuePlacement === 'beside') {\n maxWidth = maxWidth - cellHorizontalPadding - longestValueWidth;\n }\n\n if (maxWidth < 0) {\n maxWidth = 0;\n }\n\n const columnLongest = Math.max(Math.abs(columnMin), Math.abs(columnMax));\n // If axis is proportional, totalValueRange is proportional to maxWidth\n let dataBarWidth = (Math.abs(value) / totalValueRange) * maxWidth;\n\n if (maxWidth === 0) {\n dataBarWidth = 0;\n } else if (axis === 'middle') {\n // The longest bar is proportional to half of the maxWidth\n dataBarWidth = (Math.abs(value) / columnLongest) * (maxWidth / 2);\n } else if (axis === 'directional') {\n // The longest bar is proportional to the maxWidth\n dataBarWidth = (Math.abs(value) / columnLongest) * maxWidth;\n }\n\n // Default: proportional, beside, LTR, right text align\n // All positions are assuming the left side is 0 and the right side is maxWidth\n let zeroPosition =\n columnMin >= 0 ? 0 : (Math.abs(columnMin) / totalValueRange) * maxWidth;\n let dataBarX =\n value >= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / totalValueRange) * maxWidth;\n let markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n const offset = (Math.abs(markerValue) / totalValueRange) * maxWidth;\n return markerValue >= 0 ? zeroPosition + offset : zeroPosition - offset;\n });\n let leftmostPosition =\n valuePlacement === 'beside' && textAlign === 'left'\n ? cellHorizontalPadding + longestValueWidth + leftPadding\n : leftPadding;\n let rightmostPosition =\n valuePlacement === 'beside' && textAlign === 'right'\n ? columnWidth - cellHorizontalPadding - longestValueWidth - rightPadding\n : rightPadding;\n\n // Proportional, RTL\n if (direction === 'RTL') {\n zeroPosition =\n columnMin >= 0\n ? columnWidth\n : columnWidth - (Math.abs(columnMin) / totalValueRange) * maxWidth;\n dataBarX =\n value >= 0\n ? zeroPosition - (value / totalValueRange) * maxWidth\n : zeroPosition;\n markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n return markerValue >= 0\n ? zeroPosition - (Math.abs(markerValue) / totalValueRange) * maxWidth\n : zeroPosition + (Math.abs(markerValue) / totalValueRange) * maxWidth;\n });\n }\n\n if (axis === 'middle') {\n zeroPosition = maxWidth / 2;\n if (direction === 'LTR') {\n // Middle, LTR\n dataBarX =\n value >= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / columnLongest) * (maxWidth / 2);\n markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n\n return markerValue >= 0\n ? zeroPosition +\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2)\n : zeroPosition -\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2);\n });\n } else if (direction === 'RTL') {\n // Middle, RTL\n dataBarX =\n value <= 0\n ? zeroPosition\n : zeroPosition - (Math.abs(value) / columnLongest) * (maxWidth / 2);\n markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n\n return markerValue <= 0\n ? zeroPosition +\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2)\n : zeroPosition -\n (Math.abs(markerValue) / columnLongest) * (maxWidth / 2);\n });\n }\n } else if (axis === 'directional') {\n if (direction === 'LTR') {\n // Directional, LTR\n zeroPosition = 0;\n dataBarX = zeroPosition;\n markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n\n return (\n zeroPosition + (Math.abs(markerValue) / columnLongest) * maxWidth\n );\n });\n } else if (direction === 'RTL') {\n // Directional, RTL\n zeroPosition = columnWidth;\n dataBarX = zeroPosition - (Math.abs(value) / columnLongest) * maxWidth;\n markerXs = markers.map(marker => {\n const { value: markerValue } = marker;\n\n return (\n zeroPosition - (Math.abs(markerValue) / columnLongest) * maxWidth\n );\n });\n }\n }\n\n // Offset all values by the actual x value and padding\n if (direction === 'LTR') {\n zeroPosition += x + leftPadding + treeIndent;\n dataBarX += x + leftPadding + treeIndent;\n markerXs = markerXs.map(\n markerX => markerX + x + leftPadding + treeIndent\n );\n\n if (valuePlacement === 'beside' && textAlign === 'left') {\n zeroPosition += longestValueWidth + cellHorizontalPadding;\n dataBarX += longestValueWidth + cellHorizontalPadding;\n markerXs = markerXs.map(\n markerX => markerX + longestValueWidth + cellHorizontalPadding\n );\n }\n } else if (direction === 'RTL') {\n zeroPosition = zeroPosition + x - rightPadding;\n dataBarX = dataBarX + x - rightPadding;\n markerXs = markerXs.map(markerX => markerX + x - rightPadding);\n\n if (valuePlacement === 'beside' && textAlign === 'right') {\n zeroPosition = zeroPosition - cellHorizontalPadding - longestValueWidth;\n dataBarX = dataBarX - cellHorizontalPadding - longestValueWidth;\n markerXs = markerXs.map(\n markerX => markerX - cellHorizontalPadding - longestValueWidth\n );\n }\n }\n\n leftmostPosition += x + treeIndent;\n rightmostPosition += x;\n\n return {\n maxWidth,\n x: dataBarX,\n y: y + 1.5,\n zeroPosition,\n leftmostPosition,\n rightmostPosition,\n totalValueRange,\n dataBarWidth,\n markerXs,\n };\n }\n\n drawGradient(\n context: CanvasRenderingContext2D,\n leftColor: Oklab,\n rightColor: Oklab,\n x: number,\n y: number,\n width: number,\n height: number\n ): void {\n let currentColor = leftColor;\n // Increase by 0.5 because half-pixel will render weird on different zooms\n for (let currentX = x; currentX <= x + width; currentX += 0.5) {\n this.drawGradientPart(\n context,\n currentX,\n y,\n 1,\n height,\n GridColorUtils.rgbToHex(GridColorUtils.OklabToLinearSRGB(currentColor))\n );\n\n currentColor = GridColorUtils.lerpColor(\n leftColor,\n rightColor,\n (currentX - x) / width\n );\n }\n }\n\n drawGradientPart(\n context: CanvasRenderingContext2D,\n x: number,\n y: number,\n width: number,\n height: number,\n color: string\n ): void {\n context.fillStyle = color;\n context.fillRect(x, y, width, height);\n }\n\n /**\n * Returns the width of the widest value in pixels\n */\n getCachedWidestValueForColumn = memoizeClear(\n (\n context: CanvasRenderingContext2D,\n visibleRows: readonly VisibleIndex[],\n modelRows: VisibleToModelMap,\n model: GridModel,\n column: ModelIndex\n ): number => {\n let widestValue = 0;\n for (let i = 0; i < visibleRows.length; i += 1) {\n const row = visibleRows[i];\n const modelRow = getOrThrow(modelRows, row);\n const text = model.textForCell(column, modelRow);\n widestValue = Math.max(widestValue, context.measureText(text).width);\n }\n\n return widestValue;\n },\n { max: 1000 }\n );\n}\n\nexport default DataBarCellRenderer;\n"],"mappings":";;;AAAA;AACA,SAASA,UAAU,QAAQ,kBAAkB;AAAC,OACvCC,YAAY;AAAA,SACVC,qBAAqB;AAAA,SACrBC,kBAAkB;AAAA,OAEpBC,cAAc;AAAA,OACdC,SAAS;AAAA,OACTC,YAAY;AAAA,SACVC,kBAAkB;AAuB3B,MAAMC,mBAAmB,SAASP,YAAY,CAAC;EAAA;IAAA;IAAA;IAAA,uDAmiBbK,YAAY,CAC1C,CACEG,OAAiC,EACjCC,WAAoC,EACpCC,SAA4B,EAC5BC,KAAgB,EAChBC,MAAkB,KACP;MACX,IAAIC,WAAW,GAAG,CAAC;MACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,WAAW,CAACM,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;QAC9C,IAAME,GAAG,GAAGP,WAAW,CAACK,CAAC,CAAC;QAC1B,IAAMG,QAAQ,GAAGlB,UAAU,CAACW,SAAS,EAAEM,GAAG,CAAC;QAC3C,IAAME,IAAI,GAAGP,KAAK,CAACQ,WAAW,CAACP,MAAM,EAAEK,QAAQ,CAAC;QAChDJ,WAAW,GAAGO,IAAI,CAACC,GAAG,CAACR,WAAW,EAAEL,OAAO,CAACc,WAAW,CAACJ,IAAI,CAAC,CAACK,KAAK,CAAC;MACtE;MAEA,OAAOV,WAAW;IACpB,CAAC,EACD;MAAEQ,GAAG,EAAE;IAAK,CAAC,CACd;EAAA;EAnjBDG,eAAe,CACbhB,OAAiC,EACjCiB,KAAsB,EACtBb,MAAoB,EACpBI,GAAiB,EACX;IAAA;IACN,IAAM;MAAEU,OAAO;MAAEf,KAAK;MAAEgB;IAAM,CAAC,GAAGF,KAAK;IACvC,IAAI,CAACvB,kBAAkB,CAACS,KAAK,CAAC,EAAE;MAC9B;IACF;IACA,IAAM;MACJiB,YAAY;MACZlB,SAAS;MACTmB,aAAa;MACbC,QAAQ;MACRC,WAAW;MACXC;IACF,CAAC,GAAGN,OAAO;IAEX,IAAMO,aAAa,GAAGrB,MAAM,KAAKmB,WAAW;IAC5C,IAAMG,SAAS,GAAGnC,UAAU,CAAC8B,aAAa,EAAEb,GAAG,CAAC;IAChD,IAAMC,QAAQ,GAAGlB,UAAU,CAACW,SAAS,EAAEM,GAAG,CAAC;IAC3C,IAAMmB,WAAW,GAAGpC,UAAU,CAAC6B,YAAY,EAAEhB,MAAM,CAAC;IACpD,IAAMwB,IAAI,GAAGrC,UAAU,CAAC+B,QAAQ,EAAEd,GAAG,CAAC;IACtC,IAAMqB,SAAS,GAAG1B,KAAK,CAAC2B,gBAAgB,CAACH,WAAW,EAAElB,QAAQ,CAAC;IAC/D,IAAMC,IAAI,GAAGP,KAAK,CAACQ,WAAW,CAACgB,WAAW,EAAElB,QAAQ,CAAC;IACrD,IAAM;MAAEsB,CAAC,EAAEC,KAAK;MAAEjB,KAAK,EAAEkB;IAAU,CAAC,GAAGrC,SAAS,CAACsC,oBAAoB,CACnEjB,KAAK,EACLb,MAAM,EACNI,GAAG,CACJ;IAED,IAAM2B,SAAS,sBAAGX,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEY,GAAG,CAACpC,OAAO,CAACqC,IAAI,CAAC,6DAAIvC,kBAAkB;IACrE,IAAMwC,cAAc,GAAGnC,KAAK,CAACoC,qBAAqB,CAACZ,WAAW,EAAElB,QAAQ,CAAC;IACzE,IAAM+B,aAAa,GAAG,IAAI,CAACC,wBAAwB,CACjDzC,OAAO,EACPU,IAAI,EACJuB,SAAS,EACTE,SAAS,EACTG,cAAc,CACf;IAED,IAAM;MACJI,SAAS;MACTC,SAAS;MACTC,IAAI;MACJC,KAAK,EAAEC,YAAY;MACnBC,cAAc;MACdC,OAAO;MACPC,OAAO;MACPC,SAAS;MACTC;IACF,CAAC,GAAGhD,KAAK,CAACiD,qBAAqB,CAACzB,WAAW,EAAElB,QAAQ,EAAEU,KAAK,CAAC;IAE7D,IAAMkC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACT,YAAY,CAAC;IAC/C,IAAIJ,SAAS,IAAI,IAAI,IAAIC,SAAS,IAAI,IAAI,EAAE;MAC1C;IACF;IAEA,IAAM;MACJa,QAAQ;MACRzB,CAAC,EAAE0B,QAAQ;MACXC,CAAC,EAAEC,QAAQ;MACXC,YAAY;MACZC,gBAAgB;MAChBC,QAAQ;MACRC,eAAe;MACfC;IACF,CAAC,GAAG,IAAI,CAACC,uBAAuB,CAACjE,OAAO,EAAEiB,KAAK,EAAEb,MAAM,EAAEI,GAAG,CAAC;IAE7D,IAAI,IAAI,CAAC0D,cAAc,KAAKC,SAAS,EAAE;MACrC,IAAM;QAAEC,uBAAuB;QAAEC;MAAyB,CAAC,GACzDrE,OAAO,CAACc,WAAW,CAAC,YAAY,CAAC;MACnC,IAAI,CAACoD,cAAc,GAAGE,uBAAuB,GAAGC,wBAAwB;IAC1E;IAEArE,OAAO,CAACsE,IAAI,EAAE;IACdtE,OAAO,CAAC6B,SAAS,GAAGA,SAAS;IAC7B,IAAIwB,WAAW,EAAE;MACf,IAAMR,KAAK,GACTM,KAAK,IAAI,CAAC,GAAGL,YAAY,CAACA,YAAY,CAACvC,MAAM,GAAG,CAAC,CAAC,GAAGuC,YAAY,CAAC,CAAC,CAAC;MACtE9C,OAAO,CAACuE,SAAS,GAAG1B,KAAK;IAC3B,CAAC,MAAM;MACL7C,OAAO,CAACuE,SAAS,GAAGzB,YAAY;IAClC;IACA9C,OAAO,CAACwE,YAAY,GAAG,KAAK;IAC5BxE,OAAO,CAACqC,IAAI,GAAGlB,KAAK,CAACkB,IAAI;IAEzB,IAAIU,cAAc,KAAK,MAAM,EAAE;MAC7B/C,OAAO,CAACyE,QAAQ,CACdjC,aAAa,EACbR,KAAK,EACLJ,IAAI,GAAG,CAACF,SAAS,GAAG,IAAI,CAACwC,cAAc,IAAI,CAAC,CAC7C;IACH;;IAEA;IACA,IAAIb,WAAW,EAAE;MACf;;MAEA,IAAMqB,kBAA2B,GAAG5B,YAAY,CAAC6B,GAAG,CAAC9B,KAAK,IACxDlD,cAAc,CAACiF,iBAAiB,CAACjF,cAAc,CAACkF,QAAQ,CAAChC,KAAK,CAAC,CAAC,CACjE;MAED7C,OAAO,CAACsE,IAAI,EAAE;MAEdtE,OAAO,CAAC8E,SAAS,EAAE;MAEnB9E,OAAO,CAAC+E,SAAS,CAACtB,QAAQ,EAAEE,QAAQ,EAAEK,YAAY,EAAEtC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;MACrE1B,OAAO,CAACgF,IAAI,EAAE;MAEd,IAAI7B,KAAK,GAAG,CAAC,EAAE;QACb,IAAID,SAAS,KAAK,KAAK,EAAE;UACvB,IAAM+B,kBAAkB,GAAGrE,IAAI,CAACsE,KAAK,CAClCtE,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC,GAAGqB,eAAe,GAAIP,QAAQ,CACnD;UACD,IAAM4B,iBAAiB,GACrBH,kBAAkB,IAAInC,YAAY,CAACvC,MAAM,GAAG,CAAC,CAAC;UAChD,IAAI8E,SAAS,GAAGzE,IAAI,CAACsE,KAAK,CAACrB,gBAAgB,CAAC;UAC5C,KAAK,IAAIvD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwC,YAAY,CAACvC,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAE;YACnD,IAAMgF,SAAS,GAAGZ,kBAAkB,CAACpE,CAAC,CAAC;YACvC,IAAMiF,UAAU,GAAGb,kBAAkB,CAACpE,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAACkF,YAAY,CACfxF,OAAO,EACPsF,SAAS,EACTC,UAAU,EACVF,SAAS,EACTzD,IAAI,GAAG,CAAC,EACRwD,iBAAiB,EACjB1D,SAAS,CACV;YAED2D,SAAS,IAAID,iBAAiB;UAChC;QACF,CAAC,MAAM,IAAIlC,SAAS,KAAK,KAAK,EAAE;UAC9B,IAAM+B,mBAAkB,GAAGrE,IAAI,CAACsE,KAAK,CACnC1B,QAAQ,GAAI5C,IAAI,CAACuE,GAAG,CAACxC,SAAS,CAAC,GAAGoB,eAAe,GAAIP,QAAQ,CAC9D;UACD,IAAM4B,kBAAiB,GACrBH,mBAAkB,IAAInC,YAAY,CAACvC,MAAM,GAAG,CAAC,CAAC;UAChD,IAAI8E,UAAS,GAAGzE,IAAI,CAACsE,KAAK,CAACtB,YAAY,CAAC;UACxC,KAAK,IAAItD,EAAC,GAAGwC,YAAY,CAACvC,MAAM,GAAG,CAAC,EAAED,EAAC,GAAG,CAAC,EAAEA,EAAC,IAAI,CAAC,EAAE;YACnD,IAAMgF,UAAS,GAAGZ,kBAAkB,CAACpE,EAAC,CAAC;YACvC,IAAMiF,WAAU,GAAGb,kBAAkB,CAACpE,EAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAACkF,YAAY,CACfxF,OAAO,EACPsF,UAAS,EACTC,WAAU,EACVF,UAAS,EACTzD,IAAI,GAAG,CAAC,EACRwD,kBAAiB,EACjB1D,SAAS,CACV;YAED2D,UAAS,IAAID,kBAAiB;UAChC;QACF;MACF,CAAC,MAAM,IAAIlC,SAAS,KAAK,KAAK,EAAE;QAC9B;QACA,IAAM+B,oBAAkB,GACtBrE,IAAI,CAACsE,KAAK,CACR1B,QAAQ,GAAI5C,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC,GAAGqB,eAAe,GAAIP,QAAQ,CAC9D,GAAG,CAAC;QACP,IAAM4B,mBAAiB,GACrBH,oBAAkB,IAAInC,YAAY,CAACvC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAI8E,WAAS,GAAGzE,IAAI,CAACsE,KAAK,CAACtB,YAAY,CAAC;QAExC,KAAK,IAAItD,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGwC,YAAY,CAACvC,MAAM,GAAG,CAAC,EAAED,GAAC,IAAI,CAAC,EAAE;UACnD,IAAMgF,WAAS,GAAGZ,kBAAkB,CAACpE,GAAC,CAAC;UACvC,IAAMiF,YAAU,GAAGb,kBAAkB,CAACpE,GAAC,GAAG,CAAC,CAAC;UAC5C,IAAI,CAACkF,YAAY,CACfxF,OAAO,EACPsF,WAAS,EACTC,YAAU,EACVF,WAAS,EACTzD,IAAI,GAAG,CAAC,EACRwD,mBAAiB,EACjB1D,SAAS,GAAG,CAAC,CACd;UAED2D,WAAS,IAAID,mBAAiB;QAChC;MACF,CAAC,MAAM,IAAIlC,SAAS,KAAK,KAAK,EAAE;QAC9B;QACA,IAAM+B,oBAAkB,GAAGrE,IAAI,CAACsE,KAAK,CAClCtE,IAAI,CAACuE,GAAG,CAACxC,SAAS,CAAC,GAAGoB,eAAe,GAAIP,QAAQ,CACnD;QACD,IAAM4B,mBAAiB,GACrBH,oBAAkB,IAAInC,YAAY,CAACvC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAI8E,WAAS,GAAGzE,IAAI,CAACsE,KAAK,CAACrB,gBAAgB,CAAC;QAE5C,KAAK,IAAIvD,GAAC,GAAGwC,YAAY,CAACvC,MAAM,GAAG,CAAC,EAAED,GAAC,GAAG,CAAC,EAAEA,GAAC,IAAI,CAAC,EAAE;UACnD,IAAMgF,WAAS,GAAGZ,kBAAkB,CAACpE,GAAC,CAAC;UACvC,IAAMiF,YAAU,GAAGb,kBAAkB,CAACpE,GAAC,GAAG,CAAC,CAAC;UAC5C,IAAI,CAACkF,YAAY,CACfxF,OAAO,EACPsF,WAAS,EACTC,YAAU,EACVF,WAAS,EACTzD,IAAI,GAAG,CAAC,EACRwD,mBAAiB,EACjB1D,SAAS,GAAG,CAAC,CACd;UAED2D,WAAS,IAAID,mBAAiB;QAChC;MACF;;MAEA;MACApF,OAAO,CAACyF,OAAO,EAAE;IACnB,CAAC,MAAM;MACL;MACAzF,OAAO,CAACsE,IAAI,EAAE;MAEdtE,OAAO,CAAC0F,WAAW,GAAG1C,OAAO;MAC7BhD,OAAO,CAAC8E,SAAS,EAAE;MACnB9E,OAAO,CAAC+E,SAAS,CAACtB,QAAQ,EAAEE,QAAQ,EAAEK,YAAY,EAAEtC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;MACrE1B,OAAO,CAAC2F,IAAI,EAAE;MAEd3F,OAAO,CAACyF,OAAO,EAAE;IACnB;;IAEA;IACA,IAAIjC,QAAQ,GAAG,CAAC,EAAE;MAChBM,QAAQ,CAAC8B,OAAO,CAAC,CAACC,OAAO,EAAEC,KAAK,KAAK;QACnC9F,OAAO,CAACuE,SAAS,GAAGtB,OAAO,CAAC6C,KAAK,CAAC,CAACjD,KAAK;QACxC7C,OAAO,CAAC+F,QAAQ,CAACF,OAAO,EAAElC,QAAQ,EAAE,CAAC,EAAEjC,SAAS,GAAG,CAAC,CAAC;MACvD,CAAC,CAAC;IACJ;IAEA,IAAMsE,sBAAsB,GAAG,EAC7BpD,IAAI,KAAK,aAAa,KACpBG,cAAc,KAAK,QAAQ,IAC3BlB,SAAS,KAAK,OAAO,IACrBqB,SAAS,KAAK,KAAK,IAClBH,cAAc,KAAK,QAAQ,IAC1BlB,SAAS,KAAK,MAAM,IACpBqB,SAAS,KAAK,KAAM,IACtBH,cAAc,KAAK,QAAQ,CAAC,CAC/B;;IAED;IACA,IAAIiD,sBAAsB,EAAE;MAC1BhG,OAAO,CAACiG,WAAW,GAAG9E,KAAK,CAAC+E,aAAa;MACzClG,OAAO,CAAC8E,SAAS,EAAE;MACnB9E,OAAO,CAACmG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MAC3BnG,OAAO,CAACoG,MAAM,CAACxC,YAAY,EAAEhC,IAAI,CAAC;MAClC5B,OAAO,CAACqG,MAAM,CAACzC,YAAY,EAAEhC,IAAI,GAAGF,SAAS,CAAC;MAC9C1B,OAAO,CAACsG,MAAM,EAAE;IAClB;IAEAtG,OAAO,CAACyF,OAAO,EAAE;;IAEjB;IACA,IACEhE,aAAa,IACbhC,qBAAqB,CAACU,KAAK,CAAC,IAC5BA,KAAK,CAACoG,iBAAiB,EACvB;MACA,IAAI,CAACC,qBAAqB,CAACxG,OAAO,EAAEiB,KAAK,EAAET,GAAG,CAAC;IACjD;EACF;EAEAyD,uBAAuB,CACrBjE,OAAiC,EACjCiB,KAAsB,EACtBb,MAAoB,EACpBI,GAAiB,EACK;IACtB,IAAM;MAAEU,OAAO;MAAEf,KAAK;MAAEgB;IAAM,CAAC,GAAGF,KAAK;IACvC,IAAI,CAACvB,kBAAkB,CAACS,KAAK,CAAC,EAAE;MAC9B,MAAM,IAAIsG,KAAK,CAAC,yCAAyC,CAAC;IAC5D;IACA,IAAM;MACJlF,WAAW;MACXmF,WAAW;MACXC,eAAe;MACfrF,QAAQ;MACRF,YAAY;MACZlB,SAAS;MACTD;IACF,CAAC,GAAGiB,OAAO;IACX,IAAM;MAAE0F,qBAAqB;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GACrE3F,KAAK;IAEP,IAAMQ,WAAW,GAAGpC,UAAU,CAAC6B,YAAY,EAAEhB,MAAM,CAAC;IACpD,IAAMK,QAAQ,GAAGlB,UAAU,CAACW,SAAS,EAAEM,GAAG,CAAC;IAC3C,IAAMuB,CAAC,GAAGxC,UAAU,CAACmH,WAAW,EAAEtG,MAAM,CAAC;IACzC,IAAMsD,CAAC,GAAGnE,UAAU,CAAC+B,QAAQ,EAAEd,GAAG,CAAC;IACnC,IAAMuG,WAAW,GAAGxH,UAAU,CAACoH,eAAe,EAAEvG,MAAM,CAAC;IACvD,IAAMqB,aAAa,GAAGrB,MAAM,KAAKmB,WAAW;IAC5C,IAAIyF,UAAU,GAAG,CAAC;IAClB,IACEvH,qBAAqB,CAACU,KAAK,CAAC,IAC5BA,KAAK,CAACoG,iBAAiB,IACvB9E,aAAa,EACb;MACAuF,UAAU,GACRH,eAAe,IAAI1G,KAAK,CAAC8G,WAAW,CAACzG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGsG,qBAAqB;IAC1E;IAEA,IAAMjF,SAAS,GAAG1B,KAAK,CAAC2B,gBAAgB,CAACH,WAAW,EAAElB,QAAQ,CAAC;IAC/D,IAAM;MACJiC,SAAS;MACTC,SAAS;MACTC,IAAI;MACJG,cAAc;MACdE,OAAO;MACPC,SAAS;MACTC;IACF,CAAC,GAAGhD,KAAK,CAACiD,qBAAqB,CAACzB,WAAW,EAAElB,QAAQ,EAAEU,KAAK,CAAC;IAC7D,IAAM+F,iBAAiB,GAAG,IAAI,CAACC,6BAA6B,CAC1DnH,OAAO,EACPC,WAAW,EACXC,SAAS,EACTC,KAAK,EACLwB,WAAW,CACZ;IAED,IAAMyF,WAAW,GAAG,CAAC;IACrB,IAAMC,YAAY,GAChBtE,cAAc,KAAK,QAAQ,IAAIlB,SAAS,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC;;IAE9D;IACA,IAAIkC,eAAe,GAAGpB,SAAS,GAAGD,SAAS;IAC3C;IACA,IAAKC,SAAS,IAAI,CAAC,IAAID,SAAS,IAAI,CAAC,IAAKA,SAAS,KAAKC,SAAS,EAAE;MACjEoB,eAAe,GAAGpB,SAAS;IAC7B,CAAC,MAAM,IAAIA,SAAS,IAAI,CAAC,IAAID,SAAS,IAAI,CAAC,EAAE;MAC3C;MACAqB,eAAe,GAAGnD,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC;IACvC;IAEA,IAAIc,QAAQ,GAAGuD,WAAW,GAAGC,UAAU,GAAGK,YAAY,GAAGD,WAAW;IACpE,IAAIrE,cAAc,KAAK,QAAQ,EAAE;MAC/BS,QAAQ,GAAGA,QAAQ,GAAGoD,qBAAqB,GAAGM,iBAAiB;IACjE;IAEA,IAAI1D,QAAQ,GAAG,CAAC,EAAE;MAChBA,QAAQ,GAAG,CAAC;IACd;IAEA,IAAM8D,aAAa,GAAG1G,IAAI,CAACC,GAAG,CAACD,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC,EAAE9B,IAAI,CAACuE,GAAG,CAACxC,SAAS,CAAC,CAAC;IACxE;IACA,IAAIqB,YAAY,GAAIpD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGY,eAAe,GAAIP,QAAQ;IAEjE,IAAIA,QAAQ,KAAK,CAAC,EAAE;MAClBQ,YAAY,GAAG,CAAC;IAClB,CAAC,MAAM,IAAIpB,IAAI,KAAK,QAAQ,EAAE;MAC5B;MACAoB,YAAY,GAAIpD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGmE,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC;IACnE,CAAC,MAAM,IAAIZ,IAAI,KAAK,aAAa,EAAE;MACjC;MACAoB,YAAY,GAAIpD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGmE,aAAa,GAAI9D,QAAQ;IAC7D;;IAEA;IACA;IACA,IAAII,YAAY,GACdlB,SAAS,IAAI,CAAC,GAAG,CAAC,GAAI9B,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC,GAAGqB,eAAe,GAAIP,QAAQ;IACzE,IAAIC,QAAQ,GACVN,KAAK,IAAI,CAAC,GACNS,YAAY,GACZA,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGY,eAAe,GAAIP,QAAQ;IACnE,IAAIM,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;MACnC,IAAM;QAAEpE,KAAK,EAAEqE;MAAY,CAAC,GAAGD,MAAM;MACrC,IAAME,MAAM,GAAI7G,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGzD,eAAe,GAAIP,QAAQ;MACnE,OAAOgE,WAAW,IAAI,CAAC,GAAG5D,YAAY,GAAG6D,MAAM,GAAG7D,YAAY,GAAG6D,MAAM;IACzE,CAAC,CAAC;IACF,IAAI5D,gBAAgB,GAClBd,cAAc,KAAK,QAAQ,IAAIlB,SAAS,KAAK,MAAM,GAC/C+E,qBAAqB,GAAGM,iBAAiB,GAAGE,WAAW,GACvDA,WAAW;IACjB,IAAIM,iBAAiB,GACnB3E,cAAc,KAAK,QAAQ,IAAIlB,SAAS,KAAK,OAAO,GAChDkF,WAAW,GAAGH,qBAAqB,GAAGM,iBAAiB,GAAGG,YAAY,GACtEA,YAAY;;IAElB;IACA,IAAInE,SAAS,KAAK,KAAK,EAAE;MACvBU,YAAY,GACVlB,SAAS,IAAI,CAAC,GACVqE,WAAW,GACXA,WAAW,GAAInG,IAAI,CAACuE,GAAG,CAACzC,SAAS,CAAC,GAAGqB,eAAe,GAAIP,QAAQ;MACtEC,QAAQ,GACNN,KAAK,IAAI,CAAC,GACNS,YAAY,GAAIT,KAAK,GAAGY,eAAe,GAAIP,QAAQ,GACnDI,YAAY;MAClBE,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;QAC/B,IAAM;UAAEpE,KAAK,EAAEqE;QAAY,CAAC,GAAGD,MAAM;QACrC,OAAOC,WAAW,IAAI,CAAC,GACnB5D,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGzD,eAAe,GAAIP,QAAQ,GACnEI,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGzD,eAAe,GAAIP,QAAQ;MACzE,CAAC,CAAC;IACJ;IAEA,IAAIZ,IAAI,KAAK,QAAQ,EAAE;MACrBgB,YAAY,GAAGJ,QAAQ,GAAG,CAAC;MAC3B,IAAIN,SAAS,KAAK,KAAK,EAAE;QACvB;QACAO,QAAQ,GACNN,KAAK,IAAI,CAAC,GACNS,YAAY,GACZA,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGmE,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC;QACvEM,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;UAC/B,IAAM;YAAEpE,KAAK,EAAEqE;UAAY,CAAC,GAAGD,MAAM;UAErC,OAAOC,WAAW,IAAI,CAAC,GACnB5D,YAAY,GACThD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC,GAC1DI,YAAY,GACThD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC;MACJ,CAAC,MAAM,IAAIN,SAAS,KAAK,KAAK,EAAE;QAC9B;QACAO,QAAQ,GACNN,KAAK,IAAI,CAAC,GACNS,YAAY,GACZA,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGmE,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC;QACvEM,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;UAC/B,IAAM;YAAEpE,KAAK,EAAEqE;UAAY,CAAC,GAAGD,MAAM;UAErC,OAAOC,WAAW,IAAI,CAAC,GACnB5D,YAAY,GACThD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC,GAC1DI,YAAY,GACThD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,IAAK9D,QAAQ,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC;MACJ;IACF,CAAC,MAAM,IAAIZ,IAAI,KAAK,aAAa,EAAE;MACjC,IAAIM,SAAS,KAAK,KAAK,EAAE;QACvB;QACAU,YAAY,GAAG,CAAC;QAChBH,QAAQ,GAAGG,YAAY;QACvBE,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;UAC/B,IAAM;YAAEpE,KAAK,EAAEqE;UAAY,CAAC,GAAGD,MAAM;UAErC,OACE3D,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,GAAI9D,QAAQ;QAErE,CAAC,CAAC;MACJ,CAAC,MAAM,IAAIN,SAAS,KAAK,KAAK,EAAE;QAC9B;QACAU,YAAY,GAAGmD,WAAW;QAC1BtD,QAAQ,GAAGG,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAAChC,KAAK,CAAC,GAAGmE,aAAa,GAAI9D,QAAQ;QACtEM,QAAQ,GAAGb,OAAO,CAAC0B,GAAG,CAAC4C,MAAM,IAAI;UAC/B,IAAM;YAAEpE,KAAK,EAAEqE;UAAY,CAAC,GAAGD,MAAM;UAErC,OACE3D,YAAY,GAAIhD,IAAI,CAACuE,GAAG,CAACqC,WAAW,CAAC,GAAGF,aAAa,GAAI9D,QAAQ;QAErE,CAAC,CAAC;MACJ;IACF;;IAEA;IACA,IAAIN,SAAS,KAAK,KAAK,EAAE;MACvBU,YAAY,IAAI7B,CAAC,GAAGqF,WAAW,GAAGJ,UAAU;MAC5CvD,QAAQ,IAAI1B,CAAC,GAAGqF,WAAW,GAAGJ,UAAU;MACxClD,QAAQ,GAAGA,QAAQ,CAACa,GAAG,CACrBkB,OAAO,IAAIA,OAAO,GAAG9D,CAAC,GAAGqF,WAAW,GAAGJ,UAAU,CAClD;MAED,IAAIjE,cAAc,KAAK,QAAQ,IAAIlB,SAAS,KAAK,MAAM,EAAE;QACvD+B,YAAY,IAAIsD,iBAAiB,GAAGN,qBAAqB;QACzDnD,QAAQ,IAAIyD,iBAAiB,GAAGN,qBAAqB;QACrD9C,QAAQ,GAAGA,QAAQ,CAACa,GAAG,CACrBkB,OAAO,IAAIA,OAAO,GAAGqB,iBAAiB,GAAGN,qBAAqB,CAC/D;MACH;IACF,CAAC,MAAM,IAAI1D,SAAS,KAAK,KAAK,EAAE;MAC9BU,YAAY,GAAGA,YAAY,GAAG7B,CAAC,GAAGsF,YAAY;MAC9C5D,QAAQ,GAAGA,QAAQ,GAAG1B,CAAC,GAAGsF,YAAY;MACtCvD,QAAQ,GAAGA,QAAQ,CAACa,GAAG,CAACkB,OAAO,IAAIA,OAAO,GAAG9D,CAAC,GAAGsF,YAAY,CAAC;MAE9D,IAAItE,cAAc,KAAK,QAAQ,IAAIlB,SAAS,KAAK,OAAO,EAAE;QACxD+B,YAAY,GAAGA,YAAY,GAAGgD,qBAAqB,GAAGM,iBAAiB;QACvEzD,QAAQ,GAAGA,QAAQ,GAAGmD,qBAAqB,GAAGM,iBAAiB;QAC/DpD,QAAQ,GAAGA,QAAQ,CAACa,GAAG,CACrBkB,OAAO,IAAIA,OAAO,GAAGe,qBAAqB,GAAGM,iBAAiB,CAC/D;MACH;IACF;IAEArD,gBAAgB,IAAI9B,CAAC,GAAGiF,UAAU;IAClCU,iBAAiB,IAAI3F,CAAC;IAEtB,OAAO;MACLyB,QAAQ;MACRzB,CAAC,EAAE0B,QAAQ;MACXC,CAAC,EAAEA,CAAC,GAAG,GAAG;MACVE,YAAY;MACZC,gBAAgB;MAChB6D,iBAAiB;MACjB3D,eAAe;MACfC,YAAY;MACZF;IACF,CAAC;EACH;EAEA0B,YAAY,CACVxF,OAAiC,EACjCsF,SAAgB,EAChBC,UAAiB,EACjBxD,CAAS,EACT2B,CAAS,EACT3C,KAAa,EACb4G,MAAc,EACR;IACN,IAAIC,YAAY,GAAGtC,SAAS;IAC5B;IACA,KAAK,IAAIuC,QAAQ,GAAG9F,CAAC,EAAE8F,QAAQ,IAAI9F,CAAC,GAAGhB,KAAK,EAAE8G,QAAQ,IAAI,GAAG,EAAE;MAC7D,IAAI,CAACC,gBAAgB,CACnB9H,OAAO,EACP6H,QAAQ,EACRnE,CAAC,EACD,CAAC,EACDiE,MAAM,EACNhI,cAAc,CAACoI,QAAQ,CAACpI,cAAc,CAACqI,iBAAiB,CAACJ,YAAY,CAAC,CAAC,CACxE;MAEDA,YAAY,GAAGjI,cAAc,CAACsI,SAAS,CACrC3C,SAAS,EACTC,UAAU,EACV,CAACsC,QAAQ,GAAG9F,CAAC,IAAIhB,KAAK,CACvB;IACH;EACF;EAEA+G,gBAAgB,CACd9H,OAAiC,EACjC+B,CAAS,EACT2B,CAAS,EACT3C,KAAa,EACb4G,MAAc,EACd9E,KAAa,EACP;IACN7C,OAAO,CAACuE,SAAS,GAAG1B,KAAK;IACzB7C,OAAO,CAAC+F,QAAQ,CAAChE,CAAC,EAAE2B,CAAC,EAAE3C,KAAK,EAAE4G,MAAM,CAAC;EACvC;;EAEA;AACF;AACA;AAqBA;;AAEA,eAAe5H,mBAAmB"}
@@ -1,8 +1,9 @@
1
+ import { GridThemeType } from '.';
1
2
  import { ModelIndex } from './GridMetrics';
2
3
  import GridModel from './GridModel';
3
4
  import { GridColor } from './GridTheme';
4
5
  export type Marker = {
5
- column: ModelIndex;
6
+ value: number;
6
7
  color: string;
7
8
  };
8
9
  export type AxisOption = 'proportional' | 'middle' | 'directional';
@@ -42,6 +43,6 @@ export interface DataBarOptions {
42
43
  }
43
44
  export declare function isDataBarGridModel(model: GridModel): model is DataBarGridModel;
44
45
  export interface DataBarGridModel extends GridModel {
45
- dataBarOptionsForCell(column: ModelIndex, row: ModelIndex): DataBarOptions;
46
+ dataBarOptionsForCell(column: ModelIndex, row: ModelIndex, theme: GridThemeType): DataBarOptions;
46
47
  }
47
48
  //# sourceMappingURL=DataBarGridModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataBarGridModel.d.ts","sourceRoot":"","sources":["../src/DataBarGridModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;AAC5C,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;AAChE,sEAAsE;AACtE,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AACtE,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACjD,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC5D,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAChE,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClD,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,gBAAgB,CAE3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,CAAC;CAC5E"}
1
+ {"version":3,"file":"DataBarGridModel.d.ts","sourceRoot":"","sources":["../src/DataBarGridModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;AAC5C,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;AAChE,sEAAsE;AACtE,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AACtE,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACjD,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC5D,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAChE,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClD,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,gBAAgB,CAE3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,qBAAqB,CACnB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,aAAa,GACnB,cAAc,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataBarGridModel.js","names":["isDataBarGridModel","model","dataBarOptionsForCell","undefined"],"sources":["../src/DataBarGridModel.ts"],"sourcesContent":["import { ModelIndex } from './GridMetrics';\nimport GridModel from './GridModel';\nimport { GridColor } from './GridTheme';\n\nexport type Marker = { column: ModelIndex; color: string };\nexport type AxisOption = 'proportional' | 'middle' | 'directional';\nexport type ValuePlacementOption = 'beside' | 'overlap' | 'hide';\nexport type DirectionOption = 'LTR' | 'RTL';\n/** Map from ModelIndex to the axis option of the column */\nexport type ColumnAxisMap = Map<ModelIndex, AxisOption>;\n/** Map from ModelIndex to a color or an array of colors\n * If given an array, then the bar will be a gradient\n * The colors should be given left to right (e.g. it should be like ['yellow', 'green'] for positive color and ['red', 'yellow'] for negative color)\n */\nexport type ColorMap = Map<ModelIndex, GridColor | GridColor[]>;\n/** Map from ModelIndex to the value placement option of the column */\nexport type ValuePlacementMap = Map<ModelIndex, ValuePlacementOption>;\n/** Map from ModelIndex to the opacity of the column */\nexport type OpacityMap = Map<ModelIndex, number>;\n/** Map from ModelIndex to the direction of the column */\nexport type DirectionMap = Map<ModelIndex, DirectionOption>;\n/** Map from ModelIndex to the text alignment of the column */\nexport type TextAlignmentMap = Map<ModelIndex, CanvasTextAlign>;\n/** Map from column to the columns its markers are from */\nexport type MarkerMap = Map<ModelIndex, Marker[]>;\n/** Map from column to whether the bar has a gradient */\nexport type GradientMap = Map<ModelIndex, boolean>;\n// Map from ModelIndex to the minimum number in the column\nexport type MinMap = Map<ModelIndex, number>;\n// Map from ModelIndex to the maximum number in the column\nexport type MaxMap = Map<ModelIndex, number>;\n\nexport interface DataBarOptions {\n columnMin: number;\n columnMax: number;\n axis: AxisOption;\n color: GridColor | GridColor[];\n valuePlacement: ValuePlacementOption;\n opacity: number;\n markers: Marker[];\n direction: DirectionOption;\n value: number;\n}\n\nexport function isDataBarGridModel(\n model: GridModel\n): model is DataBarGridModel {\n return (model as DataBarGridModel)?.dataBarOptionsForCell !== undefined;\n}\n\nexport interface DataBarGridModel extends GridModel {\n dataBarOptionsForCell(column: ModelIndex, row: ModelIndex): DataBarOptions;\n}\n"],"mappings":"AAQA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAeA,OAAO,SAASA,kBAAkB,CAChCC,KAAgB,EACW;EAC3B,OAAO,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAuBC,qBAAqB,MAAKC,SAAS;AACzE"}
1
+ {"version":3,"file":"DataBarGridModel.js","names":["isDataBarGridModel","model","dataBarOptionsForCell","undefined"],"sources":["../src/DataBarGridModel.ts"],"sourcesContent":["import { GridThemeType } from '.';\nimport { ModelIndex } from './GridMetrics';\nimport GridModel from './GridModel';\nimport { GridColor } from './GridTheme';\n\nexport type Marker = { value: number; color: string };\nexport type AxisOption = 'proportional' | 'middle' | 'directional';\nexport type ValuePlacementOption = 'beside' | 'overlap' | 'hide';\nexport type DirectionOption = 'LTR' | 'RTL';\n/** Map from ModelIndex to the axis option of the column */\nexport type ColumnAxisMap = Map<ModelIndex, AxisOption>;\n/** Map from ModelIndex to a color or an array of colors\n * If given an array, then the bar will be a gradient\n * The colors should be given left to right (e.g. it should be like ['yellow', 'green'] for positive color and ['red', 'yellow'] for negative color)\n */\nexport type ColorMap = Map<ModelIndex, GridColor | GridColor[]>;\n/** Map from ModelIndex to the value placement option of the column */\nexport type ValuePlacementMap = Map<ModelIndex, ValuePlacementOption>;\n/** Map from ModelIndex to the opacity of the column */\nexport type OpacityMap = Map<ModelIndex, number>;\n/** Map from ModelIndex to the direction of the column */\nexport type DirectionMap = Map<ModelIndex, DirectionOption>;\n/** Map from ModelIndex to the text alignment of the column */\nexport type TextAlignmentMap = Map<ModelIndex, CanvasTextAlign>;\n/** Map from column to the columns its markers are from */\nexport type MarkerMap = Map<ModelIndex, Marker[]>;\n/** Map from column to whether the bar has a gradient */\nexport type GradientMap = Map<ModelIndex, boolean>;\n// Map from ModelIndex to the minimum number in the column\nexport type MinMap = Map<ModelIndex, number>;\n// Map from ModelIndex to the maximum number in the column\nexport type MaxMap = Map<ModelIndex, number>;\n\nexport interface DataBarOptions {\n columnMin: number;\n columnMax: number;\n axis: AxisOption;\n color: GridColor | GridColor[];\n valuePlacement: ValuePlacementOption;\n opacity: number;\n markers: Marker[];\n direction: DirectionOption;\n value: number;\n}\n\nexport function isDataBarGridModel(\n model: GridModel\n): model is DataBarGridModel {\n return (model as DataBarGridModel)?.dataBarOptionsForCell !== undefined;\n}\n\nexport interface DataBarGridModel extends GridModel {\n dataBarOptionsForCell(\n column: ModelIndex,\n row: ModelIndex,\n theme: GridThemeType\n ): DataBarOptions;\n}\n"],"mappings":"AASA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAeA,OAAO,SAASA,kBAAkB,CAChCC,KAAgB,EACW;EAC3B,OAAO,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAuBC,qBAAqB,MAAKC,SAAS;AACzE"}
package/dist/Grid.d.ts CHANGED
@@ -182,6 +182,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
182
182
  zeroLineColor: string;
183
183
  positiveBarColor: string;
184
184
  negativeBarColor: string;
185
+ markerBarColor: string;
185
186
  dataBarHorizontalPadding: number;
186
187
  };
187
188
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAiB,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvE,OAAO,oBAAoB,EAAE,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,gBAAgB,EAAE,EACvB,cAAc,EACd,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAkB,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAkB,EAAE,SAAS,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAWL,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAS7D,OAAO,WAAW,EAAE,EAClB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,eAAe,CAAC;AAUvB,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,eAAe,EACf,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAU7B,MAAM,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,YAAY,GAAG;IAEjD,aAAa,CAAC,EAAE,gCAAgC,CAAC;IAIjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAGxC,KAAK,EAAE,SAAS,CAAC;IAGjB,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAG5C,YAAY,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAGrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAG7B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;IAG5D,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IACzE,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IAGnE,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IAGlE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAI/C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAGxC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAIxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAEtB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAGnB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IAGjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAIjC,uBAAuB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAC;IAG3C,6BAA6B,EAAE,OAAO,CAAC;IACvC,2BAA2B,EAAE,OAAO,CAAC;IAGrC,UAAU,EAAE,OAAO,CAAC;IAGpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAGpC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,eAAe,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IAKxC,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,kBAAkB,EAAE,SAAS,SAAS,EAAE,CAAC;IAGzC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAItB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,cAAM,IAAK,SAAQ,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC;IACpD,MAAM,CAAC,WAAW,wCAAgB;IAElC,MAAM,CAAC,YAAY;;;;;;;;;;uBAUJ,IAAI;kCACO,IAAI;gDACY,SAAS,aAAa,EAAE,KAAG,IAAI;oCAE7C,IAAI;kCACN,IAAI;iCACL,IAAI;iCACF,WAAW,KAAG,IAAI;gCACnB,KAAK,KAAG,IAAI;;;MAUpC;IAIF,MAAM,CAAC,aAAa,SAAW;IAE/B,MAAM,CAAC,WAAW,SAAQ;IAE1B,MAAM,CAAC,QAAQ,iBAEG,QAAQ,aAAa,CAAC,aACzB,QAAQ,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMnC;IAEF;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM;IAmB1D;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAM/D,QAAQ,EAAE,YAAY,CAAC;IAEvB,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEjC,aAAa,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAG/C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAEhC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAE5B,WAAW,EAAE,eAAe,CAAC;IAM7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,SAAS,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAEhD,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAEnC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAI/B,KAAK,EAAE,SAAS;IAiI5B,iBAAiB,IAAI,IAAI;IAwBzB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAwEpE,oBAAoB,IAAI,IAAI;IAsB5B,QAAQ,IAAI,aAAa;IAKzB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS;IASvD,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS;IAM3D,cAAc,CAAC,KAAK,sBAAa,GAAG,eAAe;IAwCnD,oBAAoB,gBAAyB,SAAS,UAAU,EAAE,kBAEhE;IAEF,cAAc,IAAI,SAAS,UAAU,EAAE;IAKvC,sBAAsB,kBACJ,SAAS,gBAAgB,EAAE,KAAG,SAAS,gBAAgB,EAAE,CAIzE;IAEF,gBAAgB,IAAI,SAAS,gBAAgB,EAAE;IAK/C;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,YAAY,GAAG,UAAU;IAQrD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU;IAQ/C;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,iBAAiB,UAAQ,GAAG,IAAI;IAoBrE;;OAEG;IACH,cAAc,IAAI,IAAI;IAQtB;;OAEG;IACH,aAAa,IAAI,IAAI;IAWrB;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IA+BzD,WAAW,IAAI,IAAI;IASnB,mBAAmB,IAAI,IAAI;IAY3B,YAAY,IAAI,IAAI;IAoBpB,OAAO,CAAC,iBAAiB;IAqBzB,kBAAkB,IAAI,IAAI;IAY1B;;OAEG;IACH,iBAAiB,IAAI,IAAI;IA+BzB,aAAa,CAAC,KAAK,sBAAa,GAAG,WAAW;IAW9C;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAUhD;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAmB5B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAK3B,6CAA6C;IAC7C,kBAAkB,IAAI,IAAI;IAS1B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAWjE;;;;;;OAMG;IACH,aAAa,CACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,cAAc,EACnB,eAAe,UAAQ,EACvB,qBAAqB,UAAQ,GAC5B,IAAI;IAsFP;;;;;OAKG;IACH,eAAe,IAAI,IAAI;IA2EvB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA4BrC;;OAEG;IACH,SAAS,IAAI,IAAI;IAiBjB;;;;;OAKG;IACH,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,OAAO,GACvB,IAAI;IAkBP;;;OAGG;IACH,qBAAqB,CAAC,SAAS,sBAAqC,GAAG,IAAI;IA6C3E;;;;;;;OAOG;IACH,oBAAoB,CAClB,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,cAAc,EACnB,eAAe,UAAQ,EACvB,gBAAgB,UAAO,EACvB,qBAAqB,UAAQ,GAC5B,IAAI;IAYP;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAgCjE;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW,UAAQ,GAAG,IAAI;IAmBtE;;;;;;;;OAQG;IACH,YAAY,CACV,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,WAAW,UAAQ,EACnB,cAAc,CAAC,EAAE,6BAA6B,EAC9C,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAqBP;;;;;;OAMG;IACH,cAAc,CACZ,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO;IAWV;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0F3D;;;;;;OAMG;IACH,eAAe,CACb,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO;IAaV;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAcpE;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;IAoB5D,iBAAiB,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAYrD,oBAAoB,IAAI,IAAI;IAQ5B,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAU7C,aAAa,IAAI,IAAI;IAOrB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAgB1C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAchD;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAc7C;;;;;;OAMG;IACH,mBAAmB,CACjB,YAAY,EAAE,4BAA4B,EAC1C,KAAK,EAAE,cAAc,EACrB,iBAAiB,UAAO,EACxB,mBAAmB,UAAQ,GAC1B,IAAI;IAiCP,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAa9C,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAIhD,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAI9C,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAK/C,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAOxC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAetC,YAAY,IAAI,IAAI;IAepB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAuLpC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAK5B;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBzC;;;;OAIG;IACH,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,EACE,SAAoC,EACpC,SAAiB,GAClB,GAAE;QAAE,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACtE,IAAI;IA6BP,gBAAgB,IAAI,SAAS;IA8D7B;;;OAGG;IACH,iBAAiB,IAAI,eAAe;IAwDpC,MAAM,IAAI,SAAS;CAyBpB;AAED,eAAe,IAAI,CAAC"}
@@ -83,6 +83,7 @@ export type GridTheme = {
83
83
  zeroLineColor: GridColor;
84
84
  positiveBarColor: GridColor;
85
85
  negativeBarColor: GridColor;
86
+ markerBarColor: GridColor;
86
87
  dataBarHorizontalPadding: number;
87
88
  };
88
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GridTheme.d.ts","sourceRoot":"","sources":["../src/GridTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridTheme.d.ts","sourceRoot":"","sources":["../src/GridTheme.ts"],"names":[],"mappings":"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"}
package/dist/GridTheme.js CHANGED
@@ -94,6 +94,7 @@ var defaultTheme = Object.freeze({
94
94
  zeroLineColor: '#888888',
95
95
  positiveBarColor: '#00ff00',
96
96
  negativeBarColor: '#ff0000',
97
+ markerBarColor: '#ffffff',
97
98
  dataBarHorizontalPadding: 90
98
99
  });
99
100
  export default defaultTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"GridTheme.js","names":["defaultTheme","Object","freeze","allowColumnResize","allowRowResize","autoSelectRow","autoSelectColumn","autoSizeColumns","autoSizeRows","backgroundColor","black","white","cellHorizontalPadding","headerHorizontalPadding","font","gridColumnColor","gridRowColor","headerBackgroundColor","headerSeparatorColor","headerSeparatorHoverColor","headerSeparatorHandleSize","headerHiddenSeparatorSize","headerHiddenSeparatorHoverColor","headerColor","headerFont","columnHoverBackgroundColor","selectedColumnHoverBackgroundColor","rowBackgroundColors","rowHoverBackgroundColor","selectedRowHoverBackgroundColor","minScrollHandleSize","scrollBarBackgroundColor","scrollBarHoverBackgroundColor","scrollBarCasingColor","scrollBarCornerColor","scrollBarColor","scrollBarHoverColor","scrollBarActiveColor","scrollBarSize","scrollBarHoverSize","scrollBarCasingWidth","scrollSnapToColumn","scrollSnapToRow","selectionColor","selectionOutlineColor","selectionOutlineCasingColor","scrollBarSelectionTick","scrollBarSelectionTickColor","scrollBarActiveSelectionTickColor","shadowBlur","shadowColor","textColor","hyperlinkColor","maxDepth","treeDepthIndent","treeHorizontalPadding","treeLineColor","treeMarkerColor","treeMarkerHoverColor","rowHeight","columnWidth","minRowHeight","minColumnWidth","columnHeaderHeight","rowHeaderWidth","rowFooterWidth","headerResizeSnapThreshold","headerResizeHiddenSnapThreshold","allowColumnReorder","allowRowReorder","reorderOffset","floatingGridColumnColor","floatingGridRowColor","floatingRowBackgroundColors","floatingDividerOuterColor","floatingDividerInnerColor","zeroLineColor","positiveBarColor","negativeBarColor","dataBarHorizontalPadding"],"sources":["../src/GridTheme.ts"],"sourcesContent":["/** A color parsed as CSS color value, eg. '#FF0000' */\nexport type GridColor = string;\n\n/** A nullable color, eg. pass `null` to skip drawing this item */\nexport type NullableGridColor = GridColor | null;\n\n/** One or more colors parsed as CSS color value separated by space, eg. '#FF0000 #00FF00' */\nexport type GridColorWay = string;\n\n/** A font parsed as CSS font value */\nexport type GridFont = string;\n\nexport type GridTheme = {\n // Allow column/row resizing\n allowColumnResize: boolean;\n allowRowResize: boolean;\n\n // Select the full row/column upon selection\n autoSelectRow: boolean;\n autoSelectColumn: boolean;\n\n // Automatically size rows/columns to fit contents\n autoSizeColumns: boolean;\n autoSizeRows: boolean;\n\n // The background color for the whole grid\n backgroundColor: GridColor;\n\n // Color to draw text\n textColor: GridColor;\n hyperlinkColor: GridColor;\n\n // Black and white to use if needed\n black: GridColor;\n white: GridColor;\n\n // Amount of padding within a cell and header\n cellHorizontalPadding: number;\n headerHorizontalPadding: number;\n\n // The font to use in the grid\n font: GridFont;\n\n // Colors to draw grid lines between columns and rows\n gridColumnColor: NullableGridColor;\n gridRowColor: NullableGridColor;\n\n // Colors for drawing the column and row headers\n headerBackgroundColor: GridColor;\n headerSeparatorColor: GridColor;\n headerSeparatorHoverColor: GridColor;\n headerSeparatorHandleSize: number;\n headerHiddenSeparatorSize: number;\n headerHiddenSeparatorHoverColor: GridColor;\n headerColor: GridColor;\n headerFont: GridFont;\n\n // Background color to highlight entire column/row if set\n columnHoverBackgroundColor: NullableGridColor;\n selectedColumnHoverBackgroundColor: NullableGridColor;\n rowHoverBackgroundColor: NullableGridColor;\n selectedRowHoverBackgroundColor: NullableGridColor;\n\n // Background colors to draw for each row, cycling through each value (eg. alternating stripes)\n rowBackgroundColors: GridColorWay;\n\n // Scroll bar look and sizing\n minScrollHandleSize: number;\n scrollBarBackgroundColor: GridColor;\n scrollBarHoverBackgroundColor: GridColor;\n scrollBarCasingColor: GridColor;\n scrollBarCornerColor: GridColor;\n scrollBarColor: GridColor;\n scrollBarHoverColor: GridColor;\n scrollBarActiveColor: GridColor;\n scrollBarSize: number;\n scrollBarHoverSize: number;\n scrollBarCasingWidth: number;\n scrollSnapToColumn: boolean;\n scrollSnapToRow: boolean;\n\n scrollBarSelectionTick: boolean;\n scrollBarSelectionTickColor: NullableGridColor;\n scrollBarActiveSelectionTickColor: NullableGridColor;\n\n // Look of the current selection\n selectionColor: GridColor;\n selectionOutlineColor: GridColor;\n selectionOutlineCasingColor: GridColor;\n\n // Shadows to draw when representing a hierarchy, eg. when one row is a higher \"depth\" than the row above it\n shadowBlur: number;\n shadowColor: GridColor;\n maxDepth: number; // max depth of the shadowing\n\n // Other tree table metrics\n treeDepthIndent: number;\n treeHorizontalPadding: number;\n treeLineColor: GridColor;\n treeMarkerColor: GridColor;\n treeMarkerHoverColor: GridColor;\n\n // Default row height/column width\n rowHeight: number;\n columnWidth: number;\n minRowHeight: number;\n minColumnWidth: number;\n\n // Default row/column header/footers width/height\n columnHeaderHeight: number;\n rowHeaderWidth: number;\n rowFooterWidth: number;\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: number;\n headerResizeHiddenSnapThreshold: number;\n\n // Allow moving/reordering columns/rows\n allowColumnReorder: boolean;\n allowRowReorder: boolean;\n\n // The number of pixels to offset a column/row while it is being dragged to move\n reorderOffset: number;\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: NullableGridColor;\n floatingGridRowColor: NullableGridColor;\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: GridColorWay;\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: GridColor;\n floatingDividerInnerColor: GridColor;\n\n zeroLineColor: GridColor;\n positiveBarColor: GridColor;\n negativeBarColor: GridColor;\n\n dataBarHorizontalPadding: number;\n};\n\n/**\n * Default theme for a Grid.\n */\nconst defaultTheme: GridTheme = Object.freeze({\n allowColumnResize: true,\n allowRowResize: true,\n autoSelectRow: false, // Select the full row upon selection\n autoSelectColumn: false, // Select the full column upon selection\n autoSizeColumns: true, // Automatically size the columns to fit content\n autoSizeRows: true,\n backgroundColor: '#000000',\n black: '#000000',\n white: '#ffffff',\n cellHorizontalPadding: 5,\n headerHorizontalPadding: 5,\n font: '12px Arial, sans serif',\n gridColumnColor: '#8f8f8f66',\n gridRowColor: '#8f8f8f66',\n headerBackgroundColor: '#222222',\n headerSeparatorColor: '#000000',\n headerSeparatorHoverColor: '#888888',\n headerSeparatorHandleSize: 5,\n headerHiddenSeparatorSize: 5,\n headerHiddenSeparatorHoverColor: '#8888FF',\n headerColor: '#d5d5d5',\n headerFont: '10px Arial, sans serif',\n columnHoverBackgroundColor: '#444444',\n selectedColumnHoverBackgroundColor: '#494949',\n rowBackgroundColors: '#333333 #222222',\n rowHoverBackgroundColor: '#444444',\n selectedRowHoverBackgroundColor: '#494949',\n minScrollHandleSize: 50,\n scrollBarBackgroundColor: '#111111',\n scrollBarHoverBackgroundColor: '#333333',\n scrollBarCasingColor: '#000000',\n scrollBarCornerColor: '#000000',\n scrollBarColor: '#555555',\n scrollBarHoverColor: '#888888',\n scrollBarActiveColor: '#AAAAAA',\n scrollBarSize: 12,\n scrollBarHoverSize: 16,\n scrollBarCasingWidth: 1,\n scrollSnapToColumn: false,\n scrollSnapToRow: false,\n selectionColor: '#4286f433',\n selectionOutlineColor: '#4286f4',\n selectionOutlineCasingColor: '#222222',\n scrollBarSelectionTick: true,\n scrollBarSelectionTickColor: '#4286f433',\n scrollBarActiveSelectionTickColor: '#4286f480',\n shadowBlur: 8,\n shadowColor: '#000000',\n textColor: '#ffffff',\n hyperlinkColor: '#4878ea',\n maxDepth: 6,\n treeDepthIndent: 10,\n treeHorizontalPadding: 5,\n treeLineColor: '#888888',\n treeMarkerColor: '#cccccc',\n treeMarkerHoverColor: '#ffffff',\n\n rowHeight: 20,\n columnWidth: 100,\n minRowHeight: 20,\n minColumnWidth: 55,\n columnHeaderHeight: 20,\n rowHeaderWidth: 30,\n rowFooterWidth: 0,\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: 10,\n headerResizeHiddenSnapThreshold: 8,\n\n allowColumnReorder: true,\n allowRowReorder: true,\n reorderOffset: 2,\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: '#8f8f8f66',\n floatingGridRowColor: '#8f8f8f66',\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: '#393939 #292929',\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: '#000000',\n floatingDividerInnerColor: '#cccccc',\n\n // Databar\n zeroLineColor: '#888888',\n positiveBarColor: '#00ff00',\n negativeBarColor: '#ff0000',\n\n dataBarHorizontalPadding: 90,\n});\n\nexport default defaultTheme;\n"],"mappings":"AAAA;;AAGA;;AAGA;;AAGA;;AAqIA;AACA;AACA;AACA,IAAMA,YAAuB,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC5CC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,KAAK;EAAE;EACtBC,gBAAgB,EAAE,KAAK;EAAE;EACzBC,eAAe,EAAE,IAAI;EAAE;EACvBC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,qBAAqB,EAAE,CAAC;EACxBC,uBAAuB,EAAE,CAAC;EAC1BC,IAAI,EAAE,wBAAwB;EAC9BC,eAAe,EAAE,WAAW;EAC5BC,YAAY,EAAE,WAAW;EACzBC,qBAAqB,EAAE,SAAS;EAChCC,oBAAoB,EAAE,SAAS;EAC/BC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,CAAC;EAC5BC,yBAAyB,EAAE,CAAC;EAC5BC,+BAA+B,EAAE,SAAS;EAC1CC,WAAW,EAAE,SAAS;EACtBC,UAAU,EAAE,wBAAwB;EACpCC,0BAA0B,EAAE,SAAS;EACrCC,kCAAkC,EAAE,SAAS;EAC7CC,mBAAmB,EAAE,iBAAiB;EACtCC,uBAAuB,EAAE,SAAS;EAClCC,+BAA+B,EAAE,SAAS;EAC1CC,mBAAmB,EAAE,EAAE;EACvBC,wBAAwB,EAAE,SAAS;EACnCC,6BAA6B,EAAE,SAAS;EACxCC,oBAAoB,EAAE,SAAS;EAC/BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,SAAS;EACzBC,mBAAmB,EAAE,SAAS;EAC9BC,oBAAoB,EAAE,SAAS;EAC/BC,aAAa,EAAE,EAAE;EACjBC,kBAAkB,EAAE,EAAE;EACtBC,oBAAoB,EAAE,CAAC;EACvBC,kBAAkB,EAAE,KAAK;EACzBC,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAChCC,2BAA2B,EAAE,SAAS;EACtCC,sBAAsB,EAAE,IAAI;EAC5BC,2BAA2B,EAAE,WAAW;EACxCC,iCAAiC,EAAE,WAAW;EAC9CC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,cAAc,EAAE,SAAS;EACzBC,QAAQ,EAAE,CAAC;EACXC,eAAe,EAAE,EAAE;EACnBC,qBAAqB,EAAE,CAAC;EACxBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAC1BC,oBAAoB,EAAE,SAAS;EAE/BC,SAAS,EAAE,EAAE;EACbC,WAAW,EAAE,GAAG;EAChBC,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,cAAc,EAAE,EAAE;EAClBC,cAAc,EAAE,CAAC;EAEjB;EACAC,yBAAyB,EAAE,EAAE;EAC7BC,+BAA+B,EAAE,CAAC;EAElCC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,CAAC;EAEhB;EACAC,uBAAuB,EAAE,WAAW;EACpCC,oBAAoB,EAAE,WAAW;EAEjC;EACAC,2BAA2B,EAAE,iBAAiB;EAE9C;EACAC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,SAAS;EAEpC;EACAC,aAAa,EAAE,SAAS;EACxBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAE3BC,wBAAwB,EAAE;AAC5B,CAAC,CAAC;AAEF,eAAe/E,YAAY"}
1
+ {"version":3,"file":"GridTheme.js","names":["defaultTheme","Object","freeze","allowColumnResize","allowRowResize","autoSelectRow","autoSelectColumn","autoSizeColumns","autoSizeRows","backgroundColor","black","white","cellHorizontalPadding","headerHorizontalPadding","font","gridColumnColor","gridRowColor","headerBackgroundColor","headerSeparatorColor","headerSeparatorHoverColor","headerSeparatorHandleSize","headerHiddenSeparatorSize","headerHiddenSeparatorHoverColor","headerColor","headerFont","columnHoverBackgroundColor","selectedColumnHoverBackgroundColor","rowBackgroundColors","rowHoverBackgroundColor","selectedRowHoverBackgroundColor","minScrollHandleSize","scrollBarBackgroundColor","scrollBarHoverBackgroundColor","scrollBarCasingColor","scrollBarCornerColor","scrollBarColor","scrollBarHoverColor","scrollBarActiveColor","scrollBarSize","scrollBarHoverSize","scrollBarCasingWidth","scrollSnapToColumn","scrollSnapToRow","selectionColor","selectionOutlineColor","selectionOutlineCasingColor","scrollBarSelectionTick","scrollBarSelectionTickColor","scrollBarActiveSelectionTickColor","shadowBlur","shadowColor","textColor","hyperlinkColor","maxDepth","treeDepthIndent","treeHorizontalPadding","treeLineColor","treeMarkerColor","treeMarkerHoverColor","rowHeight","columnWidth","minRowHeight","minColumnWidth","columnHeaderHeight","rowHeaderWidth","rowFooterWidth","headerResizeSnapThreshold","headerResizeHiddenSnapThreshold","allowColumnReorder","allowRowReorder","reorderOffset","floatingGridColumnColor","floatingGridRowColor","floatingRowBackgroundColors","floatingDividerOuterColor","floatingDividerInnerColor","zeroLineColor","positiveBarColor","negativeBarColor","markerBarColor","dataBarHorizontalPadding"],"sources":["../src/GridTheme.ts"],"sourcesContent":["/** A color parsed as CSS color value, eg. '#FF0000' */\nexport type GridColor = string;\n\n/** A nullable color, eg. pass `null` to skip drawing this item */\nexport type NullableGridColor = GridColor | null;\n\n/** One or more colors parsed as CSS color value separated by space, eg. '#FF0000 #00FF00' */\nexport type GridColorWay = string;\n\n/** A font parsed as CSS font value */\nexport type GridFont = string;\n\nexport type GridTheme = {\n // Allow column/row resizing\n allowColumnResize: boolean;\n allowRowResize: boolean;\n\n // Select the full row/column upon selection\n autoSelectRow: boolean;\n autoSelectColumn: boolean;\n\n // Automatically size rows/columns to fit contents\n autoSizeColumns: boolean;\n autoSizeRows: boolean;\n\n // The background color for the whole grid\n backgroundColor: GridColor;\n\n // Color to draw text\n textColor: GridColor;\n hyperlinkColor: GridColor;\n\n // Black and white to use if needed\n black: GridColor;\n white: GridColor;\n\n // Amount of padding within a cell and header\n cellHorizontalPadding: number;\n headerHorizontalPadding: number;\n\n // The font to use in the grid\n font: GridFont;\n\n // Colors to draw grid lines between columns and rows\n gridColumnColor: NullableGridColor;\n gridRowColor: NullableGridColor;\n\n // Colors for drawing the column and row headers\n headerBackgroundColor: GridColor;\n headerSeparatorColor: GridColor;\n headerSeparatorHoverColor: GridColor;\n headerSeparatorHandleSize: number;\n headerHiddenSeparatorSize: number;\n headerHiddenSeparatorHoverColor: GridColor;\n headerColor: GridColor;\n headerFont: GridFont;\n\n // Background color to highlight entire column/row if set\n columnHoverBackgroundColor: NullableGridColor;\n selectedColumnHoverBackgroundColor: NullableGridColor;\n rowHoverBackgroundColor: NullableGridColor;\n selectedRowHoverBackgroundColor: NullableGridColor;\n\n // Background colors to draw for each row, cycling through each value (eg. alternating stripes)\n rowBackgroundColors: GridColorWay;\n\n // Scroll bar look and sizing\n minScrollHandleSize: number;\n scrollBarBackgroundColor: GridColor;\n scrollBarHoverBackgroundColor: GridColor;\n scrollBarCasingColor: GridColor;\n scrollBarCornerColor: GridColor;\n scrollBarColor: GridColor;\n scrollBarHoverColor: GridColor;\n scrollBarActiveColor: GridColor;\n scrollBarSize: number;\n scrollBarHoverSize: number;\n scrollBarCasingWidth: number;\n scrollSnapToColumn: boolean;\n scrollSnapToRow: boolean;\n\n scrollBarSelectionTick: boolean;\n scrollBarSelectionTickColor: NullableGridColor;\n scrollBarActiveSelectionTickColor: NullableGridColor;\n\n // Look of the current selection\n selectionColor: GridColor;\n selectionOutlineColor: GridColor;\n selectionOutlineCasingColor: GridColor;\n\n // Shadows to draw when representing a hierarchy, eg. when one row is a higher \"depth\" than the row above it\n shadowBlur: number;\n shadowColor: GridColor;\n maxDepth: number; // max depth of the shadowing\n\n // Other tree table metrics\n treeDepthIndent: number;\n treeHorizontalPadding: number;\n treeLineColor: GridColor;\n treeMarkerColor: GridColor;\n treeMarkerHoverColor: GridColor;\n\n // Default row height/column width\n rowHeight: number;\n columnWidth: number;\n minRowHeight: number;\n minColumnWidth: number;\n\n // Default row/column header/footers width/height\n columnHeaderHeight: number;\n rowHeaderWidth: number;\n rowFooterWidth: number;\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: number;\n headerResizeHiddenSnapThreshold: number;\n\n // Allow moving/reordering columns/rows\n allowColumnReorder: boolean;\n allowRowReorder: boolean;\n\n // The number of pixels to offset a column/row while it is being dragged to move\n reorderOffset: number;\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: NullableGridColor;\n floatingGridRowColor: NullableGridColor;\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: GridColorWay;\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: GridColor;\n floatingDividerInnerColor: GridColor;\n\n zeroLineColor: GridColor;\n positiveBarColor: GridColor;\n negativeBarColor: GridColor;\n markerBarColor: GridColor;\n\n dataBarHorizontalPadding: number;\n};\n\n/**\n * Default theme for a Grid.\n */\nconst defaultTheme: GridTheme = Object.freeze({\n allowColumnResize: true,\n allowRowResize: true,\n autoSelectRow: false, // Select the full row upon selection\n autoSelectColumn: false, // Select the full column upon selection\n autoSizeColumns: true, // Automatically size the columns to fit content\n autoSizeRows: true,\n backgroundColor: '#000000',\n black: '#000000',\n white: '#ffffff',\n cellHorizontalPadding: 5,\n headerHorizontalPadding: 5,\n font: '12px Arial, sans serif',\n gridColumnColor: '#8f8f8f66',\n gridRowColor: '#8f8f8f66',\n headerBackgroundColor: '#222222',\n headerSeparatorColor: '#000000',\n headerSeparatorHoverColor: '#888888',\n headerSeparatorHandleSize: 5,\n headerHiddenSeparatorSize: 5,\n headerHiddenSeparatorHoverColor: '#8888FF',\n headerColor: '#d5d5d5',\n headerFont: '10px Arial, sans serif',\n columnHoverBackgroundColor: '#444444',\n selectedColumnHoverBackgroundColor: '#494949',\n rowBackgroundColors: '#333333 #222222',\n rowHoverBackgroundColor: '#444444',\n selectedRowHoverBackgroundColor: '#494949',\n minScrollHandleSize: 50,\n scrollBarBackgroundColor: '#111111',\n scrollBarHoverBackgroundColor: '#333333',\n scrollBarCasingColor: '#000000',\n scrollBarCornerColor: '#000000',\n scrollBarColor: '#555555',\n scrollBarHoverColor: '#888888',\n scrollBarActiveColor: '#AAAAAA',\n scrollBarSize: 12,\n scrollBarHoverSize: 16,\n scrollBarCasingWidth: 1,\n scrollSnapToColumn: false,\n scrollSnapToRow: false,\n selectionColor: '#4286f433',\n selectionOutlineColor: '#4286f4',\n selectionOutlineCasingColor: '#222222',\n scrollBarSelectionTick: true,\n scrollBarSelectionTickColor: '#4286f433',\n scrollBarActiveSelectionTickColor: '#4286f480',\n shadowBlur: 8,\n shadowColor: '#000000',\n textColor: '#ffffff',\n hyperlinkColor: '#4878ea',\n maxDepth: 6,\n treeDepthIndent: 10,\n treeHorizontalPadding: 5,\n treeLineColor: '#888888',\n treeMarkerColor: '#cccccc',\n treeMarkerHoverColor: '#ffffff',\n\n rowHeight: 20,\n columnWidth: 100,\n minRowHeight: 20,\n minColumnWidth: 55,\n columnHeaderHeight: 20,\n rowHeaderWidth: 30,\n rowFooterWidth: 0,\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: 10,\n headerResizeHiddenSnapThreshold: 8,\n\n allowColumnReorder: true,\n allowRowReorder: true,\n reorderOffset: 2,\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: '#8f8f8f66',\n floatingGridRowColor: '#8f8f8f66',\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: '#393939 #292929',\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: '#000000',\n floatingDividerInnerColor: '#cccccc',\n\n // Databar\n zeroLineColor: '#888888',\n positiveBarColor: '#00ff00',\n negativeBarColor: '#ff0000',\n markerBarColor: '#ffffff',\n\n dataBarHorizontalPadding: 90,\n});\n\nexport default defaultTheme;\n"],"mappings":"AAAA;;AAGA;;AAGA;;AAGA;;AAsIA;AACA;AACA;AACA,IAAMA,YAAuB,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC5CC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,KAAK;EAAE;EACtBC,gBAAgB,EAAE,KAAK;EAAE;EACzBC,eAAe,EAAE,IAAI;EAAE;EACvBC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,qBAAqB,EAAE,CAAC;EACxBC,uBAAuB,EAAE,CAAC;EAC1BC,IAAI,EAAE,wBAAwB;EAC9BC,eAAe,EAAE,WAAW;EAC5BC,YAAY,EAAE,WAAW;EACzBC,qBAAqB,EAAE,SAAS;EAChCC,oBAAoB,EAAE,SAAS;EAC/BC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,CAAC;EAC5BC,yBAAyB,EAAE,CAAC;EAC5BC,+BAA+B,EAAE,SAAS;EAC1CC,WAAW,EAAE,SAAS;EACtBC,UAAU,EAAE,wBAAwB;EACpCC,0BAA0B,EAAE,SAAS;EACrCC,kCAAkC,EAAE,SAAS;EAC7CC,mBAAmB,EAAE,iBAAiB;EACtCC,uBAAuB,EAAE,SAAS;EAClCC,+BAA+B,EAAE,SAAS;EAC1CC,mBAAmB,EAAE,EAAE;EACvBC,wBAAwB,EAAE,SAAS;EACnCC,6BAA6B,EAAE,SAAS;EACxCC,oBAAoB,EAAE,SAAS;EAC/BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,SAAS;EACzBC,mBAAmB,EAAE,SAAS;EAC9BC,oBAAoB,EAAE,SAAS;EAC/BC,aAAa,EAAE,EAAE;EACjBC,kBAAkB,EAAE,EAAE;EACtBC,oBAAoB,EAAE,CAAC;EACvBC,kBAAkB,EAAE,KAAK;EACzBC,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAChCC,2BAA2B,EAAE,SAAS;EACtCC,sBAAsB,EAAE,IAAI;EAC5BC,2BAA2B,EAAE,WAAW;EACxCC,iCAAiC,EAAE,WAAW;EAC9CC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,cAAc,EAAE,SAAS;EACzBC,QAAQ,EAAE,CAAC;EACXC,eAAe,EAAE,EAAE;EACnBC,qBAAqB,EAAE,CAAC;EACxBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAC1BC,oBAAoB,EAAE,SAAS;EAE/BC,SAAS,EAAE,EAAE;EACbC,WAAW,EAAE,GAAG;EAChBC,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,cAAc,EAAE,EAAE;EAClBC,cAAc,EAAE,CAAC;EAEjB;EACAC,yBAAyB,EAAE,EAAE;EAC7BC,+BAA+B,EAAE,CAAC;EAElCC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,CAAC;EAEhB;EACAC,uBAAuB,EAAE,WAAW;EACpCC,oBAAoB,EAAE,WAAW;EAEjC;EACAC,2BAA2B,EAAE,iBAAiB;EAE9C;EACAC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,SAAS;EAEpC;EACAC,aAAa,EAAE,SAAS;EACxBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAC3BC,cAAc,EAAE,SAAS;EAEzBC,wBAAwB,EAAE;AAC5B,CAAC,CAAC;AAEF,eAAehF,YAAY"}
package/dist/index.d.ts CHANGED
@@ -31,4 +31,5 @@ export { default as TextCellRenderer } from './TextCellRenderer';
31
31
  export { default as DataBarCellRenderer } from './DataBarCellRenderer';
32
32
  export * from './TokenBoxCellRenderer';
33
33
  export * from './GridRendererTypes';
34
+ export * from './DataBarGridModel';
34
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -29,4 +29,5 @@ export { default as TextCellRenderer } from "./TextCellRenderer.js";
29
29
  export { default as DataBarCellRenderer } from "./DataBarCellRenderer.js";
30
30
  export * from "./TokenBoxCellRenderer.js";
31
31
  export * from "./GridRendererTypes.js";
32
+ export * from "./DataBarGridModel.js";
32
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Grid","GridModel","GridTestUtils","GridTheme","KeyHandler","MockGridModel","MockTreeGridModel","memoizeClear","StaticDataGridModel","ViewportDataGridModel","MockDataBarGridModel","ThemeContext","TextCellRenderer","DataBarCellRenderer"],"sources":["../src/index.ts"],"sourcesContent":["export * from './ColumnHeaderGroup';\nexport * from './EditableGridModel';\nexport * from './ExpandableGridModel';\nexport { default as Grid } from './Grid';\nexport * from './Grid';\nexport * from './GridMetricCalculator';\nexport * from './GridMetrics';\nexport { default as GridModel } from './GridModel';\nexport * from './GridMouseHandler';\nexport * from './GridRange';\nexport * from './GridAxisRange';\nexport * from './GridRenderer';\nexport { default as GridTestUtils } from './GridTestUtils';\nexport { default as GridTheme } from './GridTheme';\nexport type { GridTheme as GridThemeType } from './GridTheme';\nexport * from './GridUtils';\nexport { default as KeyHandler } from './KeyHandler';\nexport { default as MockGridModel } from './MockGridModel';\nexport { default as MockTreeGridModel } from './MockTreeGridModel';\nexport { default as memoizeClear } from './memoizeClear';\nexport { default as StaticDataGridModel } from './StaticDataGridModel';\nexport { default as ViewportDataGridModel } from './ViewportDataGridModel';\nexport { default as MockDataBarGridModel } from './MockDataBarGridModel';\nexport * from './key-handlers';\nexport * from './mouse-handlers';\nexport * from './errors';\nexport * from './EventHandlerResult';\nexport { default as ThemeContext } from './ThemeContext';\nexport type { default as CellRenderer, CellRenderType } from './CellRenderer';\nexport { default as TextCellRenderer } from './TextCellRenderer';\nexport { default as DataBarCellRenderer } from './DataBarCellRenderer';\nexport * from './TokenBoxCellRenderer';\nexport * from './GridRendererTypes';\n"],"mappings":";;;SAGSA,OAAO,IAAIC,IAAI;AAAA;AAAA;AAAA;AAAA,SAIfD,OAAO,IAAIE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,SAKpBF,OAAO,IAAIG,aAAa;AAAA,SACxBH,OAAO,IAAII,SAAS;AAAA;AAAA,SAGpBJ,OAAO,IAAIK,UAAU;AAAA,SACrBL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,iBAAiB;AAAA,SAC5BP,OAAO,IAAIQ,YAAY;AAAA,SACvBR,OAAO,IAAIS,mBAAmB;AAAA,SAC9BT,OAAO,IAAIU,qBAAqB;AAAA,SAChCV,OAAO,IAAIW,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,SAK/BX,OAAO,IAAIY,YAAY;AAAA,SAEvBZ,OAAO,IAAIa,gBAAgB;AAAA,SAC3Bb,OAAO,IAAIc,mBAAmB;AAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["default","Grid","GridModel","GridTestUtils","GridTheme","KeyHandler","MockGridModel","MockTreeGridModel","memoizeClear","StaticDataGridModel","ViewportDataGridModel","MockDataBarGridModel","ThemeContext","TextCellRenderer","DataBarCellRenderer"],"sources":["../src/index.ts"],"sourcesContent":["export * from './ColumnHeaderGroup';\nexport * from './EditableGridModel';\nexport * from './ExpandableGridModel';\nexport { default as Grid } from './Grid';\nexport * from './Grid';\nexport * from './GridMetricCalculator';\nexport * from './GridMetrics';\nexport { default as GridModel } from './GridModel';\nexport * from './GridMouseHandler';\nexport * from './GridRange';\nexport * from './GridAxisRange';\nexport * from './GridRenderer';\nexport { default as GridTestUtils } from './GridTestUtils';\nexport { default as GridTheme } from './GridTheme';\nexport type { GridTheme as GridThemeType } from './GridTheme';\nexport * from './GridUtils';\nexport { default as KeyHandler } from './KeyHandler';\nexport { default as MockGridModel } from './MockGridModel';\nexport { default as MockTreeGridModel } from './MockTreeGridModel';\nexport { default as memoizeClear } from './memoizeClear';\nexport { default as StaticDataGridModel } from './StaticDataGridModel';\nexport { default as ViewportDataGridModel } from './ViewportDataGridModel';\nexport { default as MockDataBarGridModel } from './MockDataBarGridModel';\nexport * from './key-handlers';\nexport * from './mouse-handlers';\nexport * from './errors';\nexport * from './EventHandlerResult';\nexport { default as ThemeContext } from './ThemeContext';\nexport type { default as CellRenderer, CellRenderType } from './CellRenderer';\nexport { default as TextCellRenderer } from './TextCellRenderer';\nexport { default as DataBarCellRenderer } from './DataBarCellRenderer';\nexport * from './TokenBoxCellRenderer';\nexport * from './GridRendererTypes';\nexport * from './DataBarGridModel';\n"],"mappings":";;;SAGSA,OAAO,IAAIC,IAAI;AAAA;AAAA;AAAA;AAAA,SAIfD,OAAO,IAAIE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,SAKpBF,OAAO,IAAIG,aAAa;AAAA,SACxBH,OAAO,IAAII,SAAS;AAAA;AAAA,SAGpBJ,OAAO,IAAIK,UAAU;AAAA,SACrBL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,iBAAiB;AAAA,SAC5BP,OAAO,IAAIQ,YAAY;AAAA,SACvBR,OAAO,IAAIS,mBAAmB;AAAA,SAC9BT,OAAO,IAAIU,qBAAqB;AAAA,SAChCV,OAAO,IAAIW,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,SAK/BX,OAAO,IAAIY,YAAY;AAAA,SAEvBZ,OAAO,IAAIa,gBAAgB;AAAA,SAC3Bb,OAAO,IAAIc,mBAAmB;AAAA;AAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "0.49.2-theme-plugins.45+2d9d2fa7",
3
+ "version": "0.50.1-beta.0+cf1b3687",
4
4
  "description": "Deephaven React grid component",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,7 +31,7 @@
31
31
  "*.css"
32
32
  ],
33
33
  "dependencies": {
34
- "@deephaven/utils": "^0.49.2-theme-plugins.45+2d9d2fa7",
34
+ "@deephaven/utils": "^0.50.1-beta.0+cf1b3687",
35
35
  "classnames": "^2.3.1",
36
36
  "color-convert": "^2.0.1",
37
37
  "event-target-shim": "^6.0.2",
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "2d9d2fa7116f00b55aec65ed41db7042e2a87e17"
47
+ "gitHead": "cf1b368742a7700b08a8d2eda43671856913c9c7"
48
48
  }