@gemx-dev/heatmap-react 3.5.92-dev.21 → 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/hooks/viz-canvas/useScrollmap.d.ts.map +1 -1
- package/dist/esm/index.js +23 -13
- package/dist/esm/index.mjs +23 -13
- package/dist/esm/libs/visualizer/renderers/ScrollBucketRenderer.d.ts.map +1 -1
- package/dist/umd/hooks/viz-canvas/useScrollmap.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/libs/visualizer/renderers/ScrollBucketRenderer.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;
|
|
1
|
+
{"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;CAuDxB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -3569,9 +3569,14 @@ const useScrollmap = () => {
|
|
|
3569
3569
|
}
|
|
3570
3570
|
}, [vizRef, scrollmap, isDomLoaded]);
|
|
3571
3571
|
const start = useCallback(() => {
|
|
3572
|
-
vizRef?.clearmap?.();
|
|
3573
3572
|
if (!vizRef || !scrollmap || scrollmap.length === 0 || !isDomLoaded)
|
|
3574
3573
|
return;
|
|
3574
|
+
try {
|
|
3575
|
+
vizRef?.clearmap?.();
|
|
3576
|
+
}
|
|
3577
|
+
catch (error) {
|
|
3578
|
+
console.error(`🚀 🐥 ~ useScrollmap ~ start:`, error);
|
|
3579
|
+
}
|
|
3575
3580
|
switch (scrollType) {
|
|
3576
3581
|
case EScrollType.Attention:
|
|
3577
3582
|
case EScrollType.Revenue: {
|
|
@@ -6098,19 +6103,24 @@ class ScrollBucketRenderer {
|
|
|
6098
6103
|
if (canvas.width <= 0 || canvas.height <= 0)
|
|
6099
6104
|
return;
|
|
6100
6105
|
const buckets = this.mapToBuckets(data);
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
const
|
|
6104
|
-
if (maxPercent <= 0)
|
|
6105
|
-
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)';
|
|
6106
6109
|
const gradient = context.createLinearGradient(0, 0, 0, canvas.height);
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
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
|
+
}
|
|
6114
6124
|
}
|
|
6115
6125
|
context.fillStyle = gradient;
|
|
6116
6126
|
context.fillRect(0, 0, canvas.width, canvas.height);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -3569,9 +3569,14 @@ const useScrollmap = () => {
|
|
|
3569
3569
|
}
|
|
3570
3570
|
}, [vizRef, scrollmap, isDomLoaded]);
|
|
3571
3571
|
const start = useCallback(() => {
|
|
3572
|
-
vizRef?.clearmap?.();
|
|
3573
3572
|
if (!vizRef || !scrollmap || scrollmap.length === 0 || !isDomLoaded)
|
|
3574
3573
|
return;
|
|
3574
|
+
try {
|
|
3575
|
+
vizRef?.clearmap?.();
|
|
3576
|
+
}
|
|
3577
|
+
catch (error) {
|
|
3578
|
+
console.error(`🚀 🐥 ~ useScrollmap ~ start:`, error);
|
|
3579
|
+
}
|
|
3575
3580
|
switch (scrollType) {
|
|
3576
3581
|
case EScrollType.Attention:
|
|
3577
3582
|
case EScrollType.Revenue: {
|
|
@@ -6098,19 +6103,24 @@ class ScrollBucketRenderer {
|
|
|
6098
6103
|
if (canvas.width <= 0 || canvas.height <= 0)
|
|
6099
6104
|
return;
|
|
6100
6105
|
const buckets = this.mapToBuckets(data);
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
const
|
|
6104
|
-
if (maxPercent <= 0)
|
|
6105
|
-
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)';
|
|
6106
6109
|
const gradient = context.createLinearGradient(0, 0, 0, canvas.height);
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
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
|
+
}
|
|
6114
6124
|
}
|
|
6115
6125
|
context.fillStyle = gradient;
|
|
6116
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;
|
|
1
|
+
{"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;CAuDxB,CAAC"}
|