@gemx-dev/heatmap-react 3.5.92-dev.22 → 3.5.92-dev.23
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.
package/dist/esm/index.js
CHANGED
|
@@ -6103,19 +6103,24 @@ class ScrollBucketRenderer {
|
|
|
6103
6103
|
if (canvas.width <= 0 || canvas.height <= 0)
|
|
6104
6104
|
return;
|
|
6105
6105
|
const buckets = this.mapToBuckets(data);
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
const
|
|
6109
|
-
if (maxPercent <= 0)
|
|
6110
|
-
return;
|
|
6106
|
+
const maxPercent = buckets.length > 0 ? Math.max(...buckets.map((b) => b.percent)) : 0;
|
|
6107
|
+
// Coldest hue (240 = blue) used as the baseline for buckets with no data
|
|
6108
|
+
const coldColor = 'hsla(240, 100%, 50%, 0.6)';
|
|
6111
6109
|
const gradient = context.createLinearGradient(0, 0, 0, canvas.height);
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6110
|
+
if (buckets.length === 0 || maxPercent <= 0) {
|
|
6111
|
+
// No data — fill entire canvas with the coldest color
|
|
6112
|
+
gradient.addColorStop(0, coldColor);
|
|
6113
|
+
gradient.addColorStop(1, coldColor);
|
|
6114
|
+
}
|
|
6115
|
+
else {
|
|
6116
|
+
for (const bucket of buckets) {
|
|
6117
|
+
const stopMid = (bucket.startY + bucket.endY) / 2 / 100;
|
|
6118
|
+
// Same hue direction as HeatmapHelper.scroll() (MaxHue = 240):
|
|
6119
|
+
// high percent → hue 0 (red/hot), low percent → hue 240 (blue/cold)
|
|
6120
|
+
const hue = (1 - bucket.percent / maxPercent) * 240;
|
|
6121
|
+
const color = `hsla(${Math.round(hue)}, 100%, 50%, 0.6)`;
|
|
6122
|
+
gradient.addColorStop(stopMid, color);
|
|
6123
|
+
}
|
|
6119
6124
|
}
|
|
6120
6125
|
context.fillStyle = gradient;
|
|
6121
6126
|
context.fillRect(0, 0, canvas.width, canvas.height);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -6103,19 +6103,24 @@ class ScrollBucketRenderer {
|
|
|
6103
6103
|
if (canvas.width <= 0 || canvas.height <= 0)
|
|
6104
6104
|
return;
|
|
6105
6105
|
const buckets = this.mapToBuckets(data);
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
const
|
|
6109
|
-
if (maxPercent <= 0)
|
|
6110
|
-
return;
|
|
6106
|
+
const maxPercent = buckets.length > 0 ? Math.max(...buckets.map((b) => b.percent)) : 0;
|
|
6107
|
+
// Coldest hue (240 = blue) used as the baseline for buckets with no data
|
|
6108
|
+
const coldColor = 'hsla(240, 100%, 50%, 0.6)';
|
|
6111
6109
|
const gradient = context.createLinearGradient(0, 0, 0, canvas.height);
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6110
|
+
if (buckets.length === 0 || maxPercent <= 0) {
|
|
6111
|
+
// No data — fill entire canvas with the coldest color
|
|
6112
|
+
gradient.addColorStop(0, coldColor);
|
|
6113
|
+
gradient.addColorStop(1, coldColor);
|
|
6114
|
+
}
|
|
6115
|
+
else {
|
|
6116
|
+
for (const bucket of buckets) {
|
|
6117
|
+
const stopMid = (bucket.startY + bucket.endY) / 2 / 100;
|
|
6118
|
+
// Same hue direction as HeatmapHelper.scroll() (MaxHue = 240):
|
|
6119
|
+
// high percent → hue 0 (red/hot), low percent → hue 240 (blue/cold)
|
|
6120
|
+
const hue = (1 - bucket.percent / maxPercent) * 240;
|
|
6121
|
+
const color = `hsla(${Math.round(hue)}, 100%, 50%, 0.6)`;
|
|
6122
|
+
gradient.addColorStop(stopMid, color);
|
|
6123
|
+
}
|
|
6119
6124
|
}
|
|
6120
6125
|
context.fillStyle = gradient;
|
|
6121
6126
|
context.fillRect(0, 0, canvas.width, canvas.height);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollBucketRenderer.d.ts","sourceRoot":"","sources":["../../../../src/libs/visualizer/renderers/ScrollBucketRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,aAAa,CAA8C;gBAEvD,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,wBAAwB,CAG9B;IAEF,OAAO,CAAC,wBAAwB,CAS9B;IAEF,KAAK,QAAO,IAAI,CAEd;IAEF,KAAK,QAAO,IAAI,CAGd;IAEF;;;;;OAKG;IACH,YAAY,GAAU,MAAM,iBAAiB,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ7D;IAEF,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"ScrollBucketRenderer.d.ts","sourceRoot":"","sources":["../../../../src/libs/visualizer/renderers/ScrollBucketRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,aAAa,CAA8C;gBAEvD,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,wBAAwB,CAG9B;IAEF,OAAO,CAAC,wBAAwB,CAS9B;IAEF,KAAK,QAAO,IAAI,CAEd;IAEF,KAAK,QAAO,IAAI,CAGd;IAEF;;;;;OAKG;IACH,YAAY,GAAU,MAAM,iBAAiB,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ7D;IAEF,OAAO,CAAC,IAAI,CA4CV;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CA0BlB;CACH"}
|