@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.
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;CAmDxB,CAAC"}
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
- if (buckets.length === 0)
6102
- return;
6103
- const maxPercent = Math.max(...buckets.map((b) => b.percent));
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
- for (const bucket of buckets) {
6108
- const stopMid = (bucket.startY + bucket.endY) / 2 / 100;
6109
- // Same hue direction as HeatmapHelper.scroll() (MaxHue = 240):
6110
- // high percent → hue 0 (red/hot), low percent → hue 240 (blue/cold)
6111
- const hue = (1 - bucket.percent / maxPercent) * 240;
6112
- const color = `hsla(${Math.round(hue)}, 100%, 50%, 0.6)`;
6113
- gradient.addColorStop(stopMid, color);
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);
@@ -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
- if (buckets.length === 0)
6102
- return;
6103
- const maxPercent = Math.max(...buckets.map((b) => b.percent));
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
- for (const bucket of buckets) {
6108
- const stopMid = (bucket.startY + bucket.endY) / 2 / 100;
6109
- // Same hue direction as HeatmapHelper.scroll() (MaxHue = 240):
6110
- // high percent → hue 0 (red/hot), low percent → hue 240 (blue/cold)
6111
- const hue = (1 - bucket.percent / maxPercent) * 240;
6112
- const color = `hsla(${Math.round(hue)}, 100%, 50%, 0.6)`;
6113
- gradient.addColorStop(stopMid, color);
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,CAuCV;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CA0BlB;CACH"}
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;;CAmDxB,CAAC"}
1
+ {"version":3,"file":"useScrollmap.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-canvas/useScrollmap.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;CAuDxB,CAAC"}