@oliasoft-open-source/charts-library 4.8.1-beta-2 → 4.8.2

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/index.js CHANGED
@@ -26256,6 +26256,7 @@ const useChartPlugins = ({ options, resetZoom: resetZoom2 }) => {
26256
26256
  ];
26257
26257
  }, [handleDoubleClick]);
26258
26258
  };
26259
+ const RANGE_GAP = 1;
26259
26260
  const useToggleCustomLegendVisibility = (memoState, memoOptions) => {
26260
26261
  var _a2, _b2;
26261
26262
  useEffect(() => {
@@ -26297,10 +26298,15 @@ const useUpdateAxesRanges = ({
26297
26298
  if (range && isRangeValid(range)) {
26298
26299
  const newAxes = Object.entries(range).map(([key, { min, max }]) => {
26299
26300
  const { min: minFromData = 0, max: maxFromData = 0 } = getAxisRangeByType(chartRef, key, annotationsData) ?? {};
26301
+ let finalMin = min ?? minFromData;
26302
+ let finalMax = max ?? maxFromData;
26303
+ if (finalMin === finalMax) {
26304
+ finalMax += RANGE_GAP;
26305
+ }
26300
26306
  return {
26301
26307
  id: key,
26302
- min: min ?? minFromData,
26303
- max: max ?? maxFromData
26308
+ min: finalMin,
26309
+ max: finalMax
26304
26310
  };
26305
26311
  });
26306
26312
  const mergedAxes = [...prevAxes.current ?? []].map((axis) => {
@@ -26320,22 +26326,23 @@ const useUpdateAxesRanges = ({
26320
26326
  const useSaveInitialAxesRanges = (chartRef, dispatch, generatedDatasets) => {
26321
26327
  var _a2;
26322
26328
  const prevDatasets = useRef(null);
26323
- const getDatasetsHash = (datasets) => {
26329
+ const getDatasetsSignature = (datasets) => {
26324
26330
  if (!datasets.length) return "";
26325
- const datasetHashes = datasets.map((dataset) => {
26331
+ const datasetSignatures = datasets.map((dataset) => {
26326
26332
  const data = dataset.data ?? [];
26327
26333
  if (!data.length) return "empty";
26328
26334
  const firstDataPoint = data.at(0);
26329
26335
  const lastDataPoint = data.at(-1);
26330
- return `${firstDataPoint}-${lastDataPoint}`;
26336
+ const lengthChecksum = data.length;
26337
+ return firstDataPoint && lastDataPoint ? `${firstDataPoint.x},${firstDataPoint.y}-${lastDataPoint.x},${lastDataPoint.y}-${lengthChecksum}` : "invalid";
26331
26338
  });
26332
- return `${datasets.length}-${datasetHashes.join("|")}`;
26339
+ return `${datasets.length}-${datasetSignatures.join("|")}`;
26333
26340
  };
26334
26341
  useEffect(() => {
26335
26342
  var _a3;
26336
26343
  if ((_a3 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _a3.scales) {
26337
- const prevHash = prevDatasets.current ? getDatasetsHash(prevDatasets.current) : "";
26338
- const currentHash = getDatasetsHash(generatedDatasets);
26344
+ const prevHash = prevDatasets.current ? getDatasetsSignature(prevDatasets.current) : "";
26345
+ const currentHash = getDatasetsSignature(generatedDatasets);
26339
26346
  if (prevHash !== currentHash) {
26340
26347
  const scales = chartRef.current.scales;
26341
26348
  const initialAxesRanges = Object.entries(scales).map(