@oliasoft-open-source/charts-library 5.0.8 → 5.1.0-beta-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.
Files changed (32) hide show
  1. package/dist/assets/{Color-YHDXOIA2-B_-Et0_1.js → Color-YHDXOIA2-D9Cia5uO.js} +1 -1
  2. package/dist/assets/{DocsRenderer-CFRXHY34-CBX5RMGQ.js → DocsRenderer-CFRXHY34-RPivBaWZ.js} +3 -3
  3. package/dist/assets/{bar-chart.stories-BtoqoUxl.js → bar-chart.stories-DD1doofU.js} +1 -1
  4. package/dist/assets/{entry-preview-DWlzoP88.js → entry-preview-DrryAtE6.js} +1 -1
  5. package/dist/assets/{get-draggableData-DpL-PCw1.js → get-draggableData-BDTcKxjB.js} +1 -1
  6. package/dist/assets/{iframe-CwbFIHzR.js → iframe-CCbgehcE.js} +2 -2
  7. package/dist/assets/{legend-DU0eJsZy.js → legend-Of-Day88.js} +1 -1
  8. package/dist/assets/{legend-context-BD2-S1C1.js → legend-context-OK1TDQFW.js} +12 -12
  9. package/dist/assets/line-chart-BmREaqH4.js +1 -0
  10. package/dist/assets/{line-chart.stories-DI9XRm8n.js → line-chart.stories-6YX4JB6B.js} +73 -69
  11. package/dist/assets/line-chart.test-case.stories-BgFMDS-i.js +428 -0
  12. package/dist/assets/{pie-chart.stories-DkA8tvR7.js → pie-chart.stories-D5_SOX3x.js} +1 -1
  13. package/dist/assets/{preview-tfNj4tfS.js → preview-CFlSBN9G.js} +1 -1
  14. package/dist/assets/{preview-Dn7dWRX3.js → preview-SqXleN6T.js} +2 -2
  15. package/dist/assets/{scatter-chart.stories-H8K5l3_j.js → scatter-chart.stories-_rMLva_h.js} +1 -1
  16. package/dist/common/common.interface.d.ts +3 -0
  17. package/dist/common/helpers/get-chart-annotation.d.ts +1 -0
  18. package/dist/common/plugins/ellipsis-annotation-plugin/ellipsis-annotation-plugin.d.ts +5 -0
  19. package/dist/iframe.html +1 -1
  20. package/dist/index.js.js +80 -32
  21. package/dist/index.js.js.map +1 -1
  22. package/dist/index.json +1 -1
  23. package/dist/line-chart/utils/get-axes-data-from-metasets.d.ts +1 -1
  24. package/dist/project.json +1 -1
  25. package/dist/src/components/common/common.interface.d.ts +3 -0
  26. package/dist/src/components/common/helpers/get-chart-annotation.d.ts +1 -0
  27. package/dist/src/components/common/plugins/ellipsis-annotation-plugin/ellipsis-annotation-plugin.d.ts +5 -0
  28. package/dist/src/components/line-chart/utils/get-axes-data-from-metasets.d.ts +1 -1
  29. package/dist/src/components/line-chart/utils/get-line-chart-data-labels.d.ts +3 -0
  30. package/package.json +1 -1
  31. package/dist/assets/line-chart-BzkMGnyJ.js +0 -1
  32. package/dist/assets/line-chart.test-case.stories-DNfY92DJ.js +0 -430
package/dist/index.js.js CHANGED
@@ -22774,6 +22774,61 @@ const isNilOrEmpty = (value) => {
22774
22774
  return false;
22775
22775
  };
22776
22776
  const isEmptyString = (value) => value === "";
22777
+ const ellipsisAnnotationPlugin = {
22778
+ id: "ellipsisAnnotationPlugin",
22779
+ afterDatasetsDraw(chart2) {
22780
+ var _a2, _b2;
22781
+ const ctx = chart2 == null ? void 0 : chart2.ctx;
22782
+ const xScale = (_a2 = chart2 == null ? void 0 : chart2.scales) == null ? void 0 : _a2.x;
22783
+ const yScale = (_b2 = chart2 == null ? void 0 : chart2.scales) == null ? void 0 : _b2.y;
22784
+ ctx.save();
22785
+ const chartArea = chart2 == null ? void 0 : chart2.chartArea;
22786
+ if (chartArea) {
22787
+ ctx.beginPath();
22788
+ ctx.rect(
22789
+ chartArea.left,
22790
+ chartArea.top,
22791
+ chartArea.right - chartArea.left,
22792
+ chartArea.bottom - chartArea.top
22793
+ );
22794
+ ctx.clip();
22795
+ }
22796
+ chart2.data.datasets.forEach((dataset) => {
22797
+ const customDataset = dataset;
22798
+ customDataset.data.forEach((item) => {
22799
+ const { ellipsePoints } = item;
22800
+ if (!ellipsePoints) return;
22801
+ const [p1, p2] = ellipsePoints.major;
22802
+ const [p3, p4] = ellipsePoints.minor;
22803
+ const centerX = (p1.x + p2.x + p3.x + p4.x) / 4;
22804
+ const centerY = (p1.y + p2.y + p3.y + p4.y) / 4;
22805
+ const dx = p2.x - p1.x;
22806
+ const dy = p2.y - p1.y;
22807
+ const angle = Math.atan2(
22808
+ yScale.getPixelForValue(centerY + dy / 2) - yScale.getPixelForValue(centerY - dy / 2),
22809
+ xScale.getPixelForValue(centerX + dx / 2) - xScale.getPixelForValue(centerX - dx / 2)
22810
+ );
22811
+ const radiusX = Math.hypot(
22812
+ xScale.getPixelForValue(p1.x) - xScale.getPixelForValue(p2.x),
22813
+ yScale.getPixelForValue(p1.y) - yScale.getPixelForValue(p2.y)
22814
+ ) / 2;
22815
+ const radiusY = Math.hypot(
22816
+ xScale.getPixelForValue(p3.x) - xScale.getPixelForValue(p4.x),
22817
+ yScale.getPixelForValue(p3.y) - yScale.getPixelForValue(p4.y)
22818
+ ) / 2;
22819
+ const cx2 = xScale.getPixelForValue(centerX);
22820
+ const cy = yScale.getPixelForValue(centerY);
22821
+ ctx.save();
22822
+ ctx.beginPath();
22823
+ ctx.ellipse(cx2, cy, radiusX, radiusY, angle, 0, 2 * Math.PI);
22824
+ ctx.strokeStyle = customDataset.borderColor || DEFAULT_COLOR;
22825
+ ctx.lineWidth = customDataset.borderWidth || 1;
22826
+ ctx.stroke();
22827
+ ctx.restore();
22828
+ });
22829
+ });
22830
+ }
22831
+ };
22777
22832
  const chart$3 = "_chart_e3qdd_1";
22778
22833
  const canvas$2 = "_canvas_e3qdd_11";
22779
22834
  const fixedHeight$3 = "_fixedHeight_e3qdd_20";
@@ -25313,8 +25368,8 @@ const estimateDataSeriesHaveCloseValues = (generatedDatasets) => {
25313
25368
  }
25314
25369
  const axesFirstLast = generatedDatasets == null ? void 0 : generatedDatasets.reduce((acc, dataset) => {
25315
25370
  var _a3, _b2, _c2, _d2;
25316
- const xAxisId = (dataset == null ? void 0 : dataset.xAxisID) ?? "x";
25317
- const yAxisId = (dataset == null ? void 0 : dataset.yAxisID) ?? "y";
25371
+ const xAxisId = (dataset == null ? void 0 : dataset.xAxisID) ?? "defaultX";
25372
+ const yAxisId = (dataset == null ? void 0 : dataset.yAxisID) ?? "defaultY";
25318
25373
  const data = (dataset == null ? void 0 : dataset.data) ?? [];
25319
25374
  if (data && (data == null ? void 0 : data.length)) {
25320
25375
  const { x: xFirstCurrent, y: yFirstCurrent } = (data == null ? void 0 : data[0]) ?? {};
@@ -25393,24 +25448,18 @@ const getSuggestedAxisRange = ({
25393
25448
  max: round$2(maxAxisValue, DECIMAL_POINT_TOLERANCE)
25394
25449
  };
25395
25450
  };
25396
- const getAxesDataFromMetasets = (generatedDatasets, scalesKeys, annotationsData) => {
25397
- if (!Array.isArray(generatedDatasets) || !Array.isArray(scalesKeys)) {
25398
- return {};
25399
- }
25400
- const annotations = getAnnotationsData(annotationsData);
25401
- return scalesKeys.reduce((acc, axisKey) => {
25402
- const axisType = getAxisTypeFromKey(axisKey);
25403
- const datasetValues = generatedDatasets.filter((dataset) => {
25404
- const axisId = dataset[`${axisType}AxisID`] ?? axisType;
25405
- return axisId === axisKey;
25406
- }).flatMap((dataset) => {
25407
- const data = (dataset == null ? void 0 : dataset.data) ?? [];
25408
- return data.map((point) => point[axisType]);
25409
- });
25410
- const annotationValues = (annotations == null ? void 0 : annotations[axisKey]) ?? [];
25411
- acc[axisKey] = [.../* @__PURE__ */ new Set([...datasetValues, ...annotationValues])];
25412
- return acc;
25413
- }, {});
25451
+ const getAxesDataFromMetasets = (chartRef, scalesKeys, annotationsData) => {
25452
+ var _a2;
25453
+ if (!chartRef || !scalesKeys) return {};
25454
+ const metasets = ((_a2 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _a2.getSortedVisibleDatasetMetas()) ?? [];
25455
+ const annotData = getAnnotationsData(annotationsData);
25456
+ return metasets && (scalesKeys == null ? void 0 : scalesKeys.reduce((acc, key) => {
25457
+ const data = metasets.filter((dataset) => Object.values(dataset).includes(key)).flatMap((dataset) => dataset._parsed).map((parsedData) => parsedData[getAxisTypeFromKey(key)]).concat((annotData == null ? void 0 : annotData[key]) ?? []);
25458
+ return {
25459
+ ...acc,
25460
+ [key]: [...new Set(data)]
25461
+ };
25462
+ }, {}));
25414
25463
  };
25415
25464
  const shouldCalculate = (min, max) => !isNil(min) || !isNil(max);
25416
25465
  const autoScale = (options, state, generatedDatasets, chartRef) => {
@@ -25425,7 +25474,7 @@ const autoScale = (options, state, generatedDatasets, chartRef) => {
25425
25474
  }
25426
25475
  const scalesKeys = Object.keys(scales) ?? [];
25427
25476
  const data = getAxesDataFromMetasets(
25428
- generatedDatasets,
25477
+ chartRef,
25429
25478
  scalesKeys,
25430
25479
  annotationsData
25431
25480
  );
@@ -25493,15 +25542,8 @@ const getLineChartDataLabels = (options) => {
25493
25542
  align: getPosition(),
25494
25543
  formatter: (_2, context) => {
25495
25544
  var _a2, _b2;
25496
- const dataPoint = (_b2 = (_a2 = context == null ? void 0 : context.dataset) == null ? void 0 : _a2.data) == null ? void 0 : _b2[context.dataIndex];
25497
- if (!dataPoint || dataPoint.label == null) return "";
25498
- if (typeof dataPoint.label === "string") {
25499
- return dataPoint.label;
25500
- }
25501
- if (Array.isArray(dataPoint.label)) {
25502
- return dataPoint.label.map(String);
25503
- }
25504
- return String(dataPoint.label);
25545
+ const dataPoint = (_b2 = (_a2 = context == null ? void 0 : context.dataset) == null ? void 0 : _a2.data) == null ? void 0 : _b2[context == null ? void 0 : context.dataIndex];
25546
+ return dataPoint && typeof (dataPoint == null ? void 0 : dataPoint.label) === "string" ? dataPoint == null ? void 0 : dataPoint.label : "";
25505
25547
  }
25506
25548
  } : { display: false };
25507
25549
  };
@@ -25761,7 +25803,12 @@ const generateAnnotations = (annotationsData) => {
25761
25803
  [AnnotationType.BOX]: color2,
25762
25804
  [AnnotationType.ELLIPSE]: TRANSPARENT
25763
25805
  }[type] || TRANSPARENT;
25764
- const borderWidth = type === AnnotationType.LINE ? BORDER_WIDTH.INITIAL : 0;
25806
+ const borderWidth = {
25807
+ [AnnotationType.LINE]: BORDER_WIDTH.INITIAL,
25808
+ [AnnotationType.BOX]: BORDER_WIDTH.ZERO,
25809
+ [AnnotationType.POINT]: BORDER_WIDTH.ZERO,
25810
+ [AnnotationType.ELLIPSE]: (ann == null ? void 0 : ann.borderWidth) ?? 0
25811
+ }[type] ?? 0;
25765
25812
  const borderDash = type === AnnotationType.LINE ? ANNOTATION_DASH : void 0;
25766
25813
  const defLabel = {
25767
25814
  content: ann == null ? void 0 : ann.label,
@@ -27271,7 +27318,8 @@ Chart$2.register(
27271
27318
  plugin,
27272
27319
  annotation,
27273
27320
  chartAreaTextPlugin,
27274
- annotationDraggerPlugin
27321
+ annotationDraggerPlugin,
27322
+ ellipsisAnnotationPlugin
27275
27323
  );
27276
27324
  const LineChart = (props) => {
27277
27325
  var _a2, _b2;