@oliasoft-open-source/charts-library 5.0.0-beta-2 → 5.0.0-beta-3

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 (221) hide show
  1. package/dist/bar-chart/bar-chart-const.d.ts +2 -0
  2. package/dist/bar-chart/bar-chart-default-props.d.ts +2 -0
  3. package/dist/bar-chart/bar-chart.d.ts +3 -0
  4. package/dist/bar-chart/bar-chart.interface.d.ts +96 -0
  5. package/dist/bar-chart/utils/get-bar-chart-data-labels.d.ts +10 -0
  6. package/dist/bar-chart/utils/get-bar-chart-scales.d.ts +3 -0
  7. package/dist/bar-chart/utils/get-bar-chart-tooltips.d.ts +6 -0
  8. package/dist/bar-chart/utils/use-bar-chart-config.d.ts +13 -0
  9. package/dist/bar-chart/utils/use-bar-chart-options.d.ts +55 -0
  10. package/dist/common/common.interface.d.ts +206 -0
  11. package/dist/common/controls-portal.d.ts +7 -0
  12. package/dist/common/enums.d.ts +10 -0
  13. package/dist/common/helpers/chart-border-plugin.d.ts +16 -0
  14. package/dist/common/helpers/chart-consts.d.ts +39 -0
  15. package/dist/common/helpers/chart-utils.d.ts +84 -0
  16. package/dist/common/helpers/container.d.ts +18 -0
  17. package/dist/common/helpers/custom-format-number.d.ts +1 -0
  18. package/dist/common/helpers/download-pgn.d.ts +4 -0
  19. package/dist/common/helpers/enums.d.ts +80 -0
  20. package/dist/common/helpers/get-chart-annotation.d.ts +90 -0
  21. package/dist/common/helpers/get-custom-legend-plugin-example.d.ts +8 -0
  22. package/dist/common/helpers/get-draggableData.d.ts +18 -0
  23. package/dist/common/helpers/range/estimate-data-series-have-close-values.d.ts +8 -0
  24. package/dist/common/helpers/range/range.d.ts +33 -0
  25. package/dist/common/helpers/text.d.ts +1 -0
  26. package/dist/common/helpers/to-annotation.d.ts +4 -0
  27. package/dist/common/hooks/use-generated-labels.d.ts +4 -0
  28. package/dist/common/hooks/use-legend-state.d.ts +28 -0
  29. package/dist/common/hooks/use-legend.d.ts +4 -0
  30. package/dist/common/hooks/use-reset.d.ts +3 -0
  31. package/dist/common/legend-component/legend-dropzone.d.ts +3 -0
  32. package/dist/common/legend-component/legend-interface.d.ts +48 -0
  33. package/dist/common/legend-component/legend-item/LegendItemLine.d.ts +5 -0
  34. package/dist/common/legend-component/legend-item/legend-item.d.ts +3 -0
  35. package/dist/common/legend-component/legend-panel.d.ts +3 -0
  36. package/dist/common/legend-component/legend.d.ts +3 -0
  37. package/dist/common/legend-component/state/legend-action-types.d.ts +2 -0
  38. package/dist/common/legend-component/state/legend-context.d.ts +12 -0
  39. package/dist/common/legend-component/state/legend-state-reducer.d.ts +26 -0
  40. package/dist/common/legend-component/utils/create-style-object.d.ts +27 -0
  41. package/dist/common/legend-component/utils/get-generated-labels.d.ts +2 -0
  42. package/dist/common/plugins/annotation-dragger-plugin/annotation-dragger-plugin.d.ts +15 -0
  43. package/dist/common/plugins/annotation-dragger-plugin/enums.d.ts +20 -0
  44. package/dist/common/plugins/annotation-dragger-plugin/event-helpers.d.ts +6 -0
  45. package/dist/common/plugins/annotation-dragger-plugin/helpers.d.ts +53 -0
  46. package/dist/common/plugins/annotation-dragger-plugin/point-annotation-label.d.ts +5 -0
  47. package/dist/common/plugins/gradient-background-plugin/enums.d.ts +10 -0
  48. package/dist/common/plugins/gradient-background-plugin/gradient-background-plugin.d.ts +2 -0
  49. package/dist/index.d.ts +1 -8
  50. package/dist/line-chart/constants/default-translations.d.ts +25 -0
  51. package/dist/line-chart/constants/line-chart-consts.d.ts +13 -0
  52. package/dist/line-chart/controls/axes-options/action-types.d.ts +5 -0
  53. package/dist/line-chart/controls/axes-options/axes-options-form-state.d.ts +23 -0
  54. package/dist/line-chart/controls/axes-options/axes-options-interfaces.d.ts +54 -0
  55. package/dist/line-chart/controls/axes-options/axes-options.d.ts +6 -0
  56. package/dist/line-chart/controls/controls-interfaces.d.ts +20 -0
  57. package/dist/line-chart/controls/controls.d.ts +6 -0
  58. package/dist/line-chart/controls/drag-options-interfaces.d.ts +14 -0
  59. package/dist/line-chart/controls/drag-options.d.ts +23 -0
  60. package/dist/line-chart/controls/line-options.d.ts +19 -0
  61. package/dist/line-chart/hooks/use-chart-functions.d.ts +32 -0
  62. package/dist/line-chart/hooks/use-chart-options.d.ts +16 -0
  63. package/dist/line-chart/hooks/use-chart-plugins.d.ts +7 -0
  64. package/dist/line-chart/hooks/use-chart-state.d.ts +17 -0
  65. package/dist/line-chart/hooks/use-toggle-handler.d.ts +12 -0
  66. package/dist/line-chart/initialize/config.d.ts +12 -0
  67. package/dist/line-chart/initialize/initialize-line-chart.d.ts +12 -0
  68. package/dist/line-chart/line-chart-get-default-props.d.ts +2 -0
  69. package/dist/line-chart/line-chart.d.ts +3 -0
  70. package/dist/line-chart/line-chart.interface.d.ts +146 -0
  71. package/dist/line-chart/plugins/chart-area-text-plugin.d.ts +17 -0
  72. package/dist/line-chart/plugins/line-chart.minor-gridlines-plugin.d.ts +8 -0
  73. package/dist/line-chart/plugins/plugin-constants.d.ts +11 -0
  74. package/dist/line-chart/plugins/plugins.interface.d.ts +9 -0
  75. package/dist/line-chart/state/action-types.d.ts +12 -0
  76. package/dist/line-chart/state/initial-state.d.ts +14 -0
  77. package/dist/line-chart/state/line-chart-reducer.d.ts +2 -0
  78. package/dist/line-chart/state/manage-state-in-local-storage.d.ts +15 -0
  79. package/dist/line-chart/state/state.interfaces.d.ts +34 -0
  80. package/dist/line-chart/utils/axis-formatting/axis-formatting.d.ts +2 -0
  81. package/dist/line-chart/utils/axis-scales/axis-scales.d.ts +11 -0
  82. package/dist/line-chart/utils/check-custom-option/check-custom-option.d.ts +12 -0
  83. package/dist/line-chart/utils/datalabels-alignment/datalabels-alignment.interface.d.ts +20 -0
  84. package/dist/line-chart/utils/datalabels-alignment/get-alignment-condition.d.ts +8 -0
  85. package/dist/line-chart/utils/datalabels-alignment/get-alignment-data.d.ts +11 -0
  86. package/dist/line-chart/utils/datalabels-alignment/get-datalabels-position.d.ts +6 -0
  87. package/dist/line-chart/utils/enums.d.ts +4 -0
  88. package/dist/line-chart/utils/generate-line-chart-datasets.d.ts +8 -0
  89. package/dist/line-chart/utils/get-annotations-data.d.ts +1 -0
  90. package/dist/line-chart/utils/get-axes-data-from-metasets.d.ts +1 -0
  91. package/dist/line-chart/utils/get-axes-ranges-from-chart.d.ts +9 -0
  92. package/dist/line-chart/utils/get-axis-range-by-type.d.ts +10 -0
  93. package/dist/line-chart/utils/get-generated-labels.d.ts +2 -0
  94. package/dist/line-chart/utils/get-line-chart-data-labels.d.ts +19 -0
  95. package/dist/line-chart/utils/get-line-chart-scales.d.ts +4 -0
  96. package/dist/line-chart/utils/get-line-chart-tooltips.d.ts +20 -0
  97. package/dist/line-chart/utils/line-chart-utils.d.ts +32 -0
  98. package/dist/line-chart/utils/translations/get-translations.d.ts +8 -0
  99. package/dist/pie-chart/pie-chart-defalut-props.interface.d.ts +50 -0
  100. package/dist/pie-chart/pie-chart-get-default-props.d.ts +3 -0
  101. package/dist/pie-chart/pie-chart.d.ts +3 -0
  102. package/dist/pie-chart/pie-chart.interface.d.ts +70 -0
  103. package/dist/pie-chart/use-pie-chart-config.d.ts +41 -0
  104. package/dist/project.json +1 -1
  105. package/dist/scatter-chart/hooks/use-scatter-chart-config.d.ts +113 -0
  106. package/dist/scatter-chart/scatter-chart-default-props.interface.d.ts +71 -0
  107. package/dist/scatter-chart/scatter-chart-get-default-props.d.ts +3 -0
  108. package/dist/scatter-chart/scatter-chart.d.ts +3 -0
  109. package/dist/scatter-chart/scatter-chart.interface.d.ts +81 -0
  110. package/dist/scatter-chart/utils/get-scales-config.d.ts +49 -0
  111. package/dist/scatter-chart/utils/get-tooltip-config.d.ts +21 -0
  112. package/dist/src/components/bar-chart/bar-chart-const.d.ts +2 -0
  113. package/dist/src/components/bar-chart/bar-chart-default-props.d.ts +2 -0
  114. package/dist/src/components/bar-chart/bar-chart.d.ts +3 -0
  115. package/dist/src/components/bar-chart/bar-chart.interface.d.ts +96 -0
  116. package/dist/src/components/bar-chart/utils/get-bar-chart-data-labels.d.ts +10 -0
  117. package/dist/src/components/bar-chart/utils/get-bar-chart-scales.d.ts +3 -0
  118. package/dist/src/components/bar-chart/utils/get-bar-chart-tooltips.d.ts +6 -0
  119. package/dist/src/components/bar-chart/utils/use-bar-chart-config.d.ts +13 -0
  120. package/dist/src/components/bar-chart/utils/use-bar-chart-options.d.ts +55 -0
  121. package/dist/src/components/common/common.interface.d.ts +206 -0
  122. package/dist/src/components/common/controls-portal.d.ts +7 -0
  123. package/dist/src/components/common/enums.d.ts +10 -0
  124. package/dist/src/components/common/helpers/chart-border-plugin.d.ts +16 -0
  125. package/dist/src/components/common/helpers/chart-consts.d.ts +39 -0
  126. package/dist/src/components/common/helpers/chart-utils.d.ts +84 -0
  127. package/dist/src/components/common/helpers/container.d.ts +18 -0
  128. package/dist/src/components/common/helpers/custom-format-number.d.ts +1 -0
  129. package/dist/src/components/common/helpers/download-pgn.d.ts +4 -0
  130. package/dist/src/components/common/helpers/enums.d.ts +80 -0
  131. package/dist/src/components/common/helpers/get-chart-annotation.d.ts +90 -0
  132. package/dist/src/components/common/helpers/get-custom-legend-plugin-example.d.ts +8 -0
  133. package/dist/src/components/common/helpers/get-draggableData.d.ts +18 -0
  134. package/dist/src/components/common/helpers/range/estimate-data-series-have-close-values.d.ts +8 -0
  135. package/dist/src/components/common/helpers/range/range.d.ts +33 -0
  136. package/dist/src/components/common/helpers/text.d.ts +1 -0
  137. package/dist/src/components/common/helpers/to-annotation.d.ts +4 -0
  138. package/dist/src/components/common/hooks/use-generated-labels.d.ts +4 -0
  139. package/dist/src/components/common/hooks/use-legend-state.d.ts +28 -0
  140. package/dist/src/components/common/hooks/use-legend.d.ts +4 -0
  141. package/dist/src/components/common/hooks/use-reset.d.ts +3 -0
  142. package/dist/src/components/common/legend-component/legend-dropzone.d.ts +3 -0
  143. package/dist/src/components/common/legend-component/legend-interface.d.ts +48 -0
  144. package/dist/src/components/common/legend-component/legend-item/LegendItemLine.d.ts +5 -0
  145. package/dist/src/components/common/legend-component/legend-item/legend-item.d.ts +3 -0
  146. package/dist/src/components/common/legend-component/legend-panel.d.ts +3 -0
  147. package/dist/src/components/common/legend-component/legend.d.ts +3 -0
  148. package/dist/src/components/common/legend-component/state/legend-action-types.d.ts +2 -0
  149. package/dist/src/components/common/legend-component/state/legend-context.d.ts +12 -0
  150. package/dist/src/components/common/legend-component/state/legend-state-reducer.d.ts +26 -0
  151. package/dist/src/components/common/legend-component/utils/create-style-object.d.ts +27 -0
  152. package/dist/src/components/common/legend-component/utils/get-generated-labels.d.ts +2 -0
  153. package/dist/src/components/common/plugins/annotation-dragger-plugin/annotation-dragger-plugin.d.ts +15 -0
  154. package/dist/src/components/common/plugins/annotation-dragger-plugin/enums.d.ts +20 -0
  155. package/dist/src/components/common/plugins/annotation-dragger-plugin/event-helpers.d.ts +6 -0
  156. package/dist/src/components/common/plugins/annotation-dragger-plugin/helpers.d.ts +53 -0
  157. package/dist/src/components/common/plugins/annotation-dragger-plugin/point-annotation-label.d.ts +5 -0
  158. package/dist/src/components/common/plugins/gradient-background-plugin/enums.d.ts +10 -0
  159. package/dist/src/components/common/plugins/gradient-background-plugin/gradient-background-plugin.d.ts +2 -0
  160. package/dist/src/components/line-chart/constants/default-translations.d.ts +25 -0
  161. package/dist/src/components/line-chart/constants/line-chart-consts.d.ts +13 -0
  162. package/dist/src/components/line-chart/controls/axes-options/action-types.d.ts +5 -0
  163. package/dist/src/components/line-chart/controls/axes-options/axes-options-form-state.d.ts +23 -0
  164. package/dist/src/components/line-chart/controls/axes-options/axes-options-interfaces.d.ts +54 -0
  165. package/dist/src/components/line-chart/controls/axes-options/axes-options.d.ts +6 -0
  166. package/dist/src/components/line-chart/controls/controls-interfaces.d.ts +20 -0
  167. package/dist/src/components/line-chart/controls/controls.d.ts +6 -0
  168. package/dist/src/components/line-chart/controls/drag-options-interfaces.d.ts +14 -0
  169. package/dist/src/components/line-chart/controls/drag-options.d.ts +23 -0
  170. package/dist/src/components/line-chart/controls/line-options.d.ts +19 -0
  171. package/dist/src/components/line-chart/hooks/use-chart-functions.d.ts +32 -0
  172. package/dist/src/components/line-chart/hooks/use-chart-options.d.ts +16 -0
  173. package/dist/src/components/line-chart/hooks/use-chart-plugins.d.ts +7 -0
  174. package/dist/src/components/line-chart/hooks/use-chart-state.d.ts +17 -0
  175. package/dist/src/components/line-chart/hooks/use-toggle-handler.d.ts +12 -0
  176. package/dist/src/components/line-chart/initialize/config.d.ts +12 -0
  177. package/dist/src/components/line-chart/initialize/initialize-line-chart.d.ts +12 -0
  178. package/dist/src/components/line-chart/line-chart-get-default-props.d.ts +2 -0
  179. package/dist/src/components/line-chart/line-chart.d.ts +3 -0
  180. package/dist/src/components/line-chart/line-chart.interface.d.ts +146 -0
  181. package/dist/src/components/line-chart/plugins/chart-area-text-plugin.d.ts +17 -0
  182. package/dist/src/components/line-chart/plugins/line-chart.minor-gridlines-plugin.d.ts +8 -0
  183. package/dist/src/components/line-chart/plugins/plugin-constants.d.ts +11 -0
  184. package/dist/src/components/line-chart/plugins/plugins.interface.d.ts +9 -0
  185. package/dist/src/components/line-chart/state/action-types.d.ts +12 -0
  186. package/dist/src/components/line-chart/state/initial-state.d.ts +14 -0
  187. package/dist/src/components/line-chart/state/line-chart-reducer.d.ts +2 -0
  188. package/dist/src/components/line-chart/state/manage-state-in-local-storage.d.ts +15 -0
  189. package/dist/src/components/line-chart/state/state.interfaces.d.ts +34 -0
  190. package/dist/src/components/line-chart/utils/axis-formatting/axis-formatting.d.ts +2 -0
  191. package/dist/src/components/line-chart/utils/axis-scales/axis-scales.d.ts +11 -0
  192. package/dist/src/components/line-chart/utils/check-custom-option/check-custom-option.d.ts +12 -0
  193. package/dist/src/components/line-chart/utils/datalabels-alignment/datalabels-alignment.interface.d.ts +20 -0
  194. package/dist/src/components/line-chart/utils/datalabels-alignment/get-alignment-condition.d.ts +8 -0
  195. package/dist/src/components/line-chart/utils/datalabels-alignment/get-alignment-data.d.ts +11 -0
  196. package/dist/src/components/line-chart/utils/datalabels-alignment/get-datalabels-position.d.ts +6 -0
  197. package/dist/src/components/line-chart/utils/enums.d.ts +4 -0
  198. package/dist/src/components/line-chart/utils/generate-line-chart-datasets.d.ts +8 -0
  199. package/dist/src/components/line-chart/utils/get-annotations-data.d.ts +1 -0
  200. package/dist/src/components/line-chart/utils/get-axes-data-from-metasets.d.ts +1 -0
  201. package/dist/src/components/line-chart/utils/get-axes-ranges-from-chart.d.ts +9 -0
  202. package/dist/src/components/line-chart/utils/get-axis-range-by-type.d.ts +10 -0
  203. package/dist/src/components/line-chart/utils/get-generated-labels.d.ts +2 -0
  204. package/dist/src/components/line-chart/utils/get-line-chart-data-labels.d.ts +19 -0
  205. package/dist/src/components/line-chart/utils/get-line-chart-scales.d.ts +4 -0
  206. package/dist/src/components/line-chart/utils/get-line-chart-tooltips.d.ts +20 -0
  207. package/dist/src/components/line-chart/utils/line-chart-utils.d.ts +32 -0
  208. package/dist/src/components/line-chart/utils/translations/get-translations.d.ts +8 -0
  209. package/dist/src/components/pie-chart/pie-chart-defalut-props.interface.d.ts +50 -0
  210. package/dist/src/components/pie-chart/pie-chart-get-default-props.d.ts +3 -0
  211. package/dist/src/components/pie-chart/pie-chart.d.ts +3 -0
  212. package/dist/src/components/pie-chart/pie-chart.interface.d.ts +70 -0
  213. package/dist/src/components/pie-chart/use-pie-chart-config.d.ts +41 -0
  214. package/dist/src/components/scatter-chart/hooks/use-scatter-chart-config.d.ts +113 -0
  215. package/dist/src/components/scatter-chart/scatter-chart-default-props.interface.d.ts +71 -0
  216. package/dist/src/components/scatter-chart/scatter-chart-get-default-props.d.ts +3 -0
  217. package/dist/src/components/scatter-chart/scatter-chart.d.ts +3 -0
  218. package/dist/src/components/scatter-chart/scatter-chart.interface.d.ts +81 -0
  219. package/dist/src/components/scatter-chart/utils/get-scales-config.d.ts +49 -0
  220. package/dist/src/components/scatter-chart/utils/get-tooltip-config.d.ts +21 -0
  221. package/package.json +3 -2
@@ -0,0 +1,20 @@
1
+ import { TooltipItem } from 'chart.js';
2
+ import { ChartHoverMode } from '../../common/helpers/enums';
3
+ import { ILineChartOptions } from '../line-chart.interface';
4
+ export declare const getUnitsFromLabel: (label: string) => string;
5
+ declare const getLineChartToolTips: (options: ILineChartOptions) => {
6
+ enabled: boolean;
7
+ mode: ChartHoverMode;
8
+ intersect: boolean;
9
+ padding: number;
10
+ usePointStyle: boolean;
11
+ boxWidth: number;
12
+ boxHeight: number;
13
+ boxPadding: number;
14
+ callbacks: {
15
+ title: (tooltipItem: TooltipItem<any>[]) => string;
16
+ label: (tooltipItem: TooltipItem<any>) => string;
17
+ afterLabel: (tooltipItem: Record<string, any>) => string;
18
+ };
19
+ };
20
+ export default getLineChartToolTips;
@@ -0,0 +1,32 @@
1
+ import { ILineRange } from '../line-chart.interface';
2
+ import { TPrimitive } from '../../common/common.interface';
3
+ export declare const toNum: (value: string | number) => any;
4
+ export declare const isLessThanMax: (value: string | number, max: string | number) => boolean;
5
+ export declare const isGreaterThanMin: (value: string | number, min: string | number) => boolean;
6
+ /**
7
+ *
8
+ * @param {'x'|'y'} axisType
9
+ * @param {number} [index] - axis index; optional, 0 by default
10
+ * @param {boolean} [hasMultiAxes] - optional, false by default
11
+ * @return {string} - e.g. x if chart has singular axes; x, x2 - in case of multiple axes
12
+ */
13
+ export declare const generateAxisId: (axisType: string, index?: number, hasMultiAxes?: boolean) => string;
14
+ /**
15
+ Get axis type from a key string.
16
+ @param {string} string - The key string to extract from.
17
+ @returns {string} e.g. x1 => x
18
+ */
19
+ export declare const getAxisTypeFromKey: (string: string) => string;
20
+ /**
21
+ * Generates a key based on an array of values. The key changes
22
+ * if any of the values in the array change.
23
+ */
24
+ export declare const generateKey: (values: Array<any>) => string;
25
+ /**
26
+ * Checks if a value is a primitive value (which includes strings, numbers, booleans, and null).
27
+ */
28
+ export declare const isPrimitiveValue: (value: TPrimitive) => value is string | number | boolean | null;
29
+ /**
30
+ * Validates a range object to ensure none of its properties are null, undefined, or empty strings.
31
+ */
32
+ export declare const isRangeValid: (r?: ILineRange) => boolean;
@@ -0,0 +1,8 @@
1
+ import { defaultTranslations } from '../../constants/default-translations';
2
+ /**
3
+ * Merges custom getTranslations with the default getTranslations.
4
+ * If a custom translation is provided for a key, it will override the default one.
5
+ * @param {object} translations - Custom getTranslations.
6
+ * @returns {object} - The resulting getTranslations object, containing both default and custom getTranslations.
7
+ */
8
+ export declare const getTranslations: (translations?: Partial<Record<keyof typeof defaultTranslations, string>>) => {};
@@ -0,0 +1,50 @@
1
+ import { ChartEvent } from 'chart.js';
2
+ import { ICommonTooltip } from '../common/common.interface';
3
+ import { IPieChartDataset, IPieOptions } from './pie-chart.interface';
4
+ import { AlignOptions, Position } from '../common/helpers/enums';
5
+ export interface IDefaultChartStyling {
6
+ width?: number | string;
7
+ height?: number | string;
8
+ maintainAspectRatio: boolean;
9
+ staticChartHeight: boolean;
10
+ performanceMode: boolean;
11
+ }
12
+ interface IDefaultPieGraph {
13
+ showDataLabels: boolean;
14
+ stacked: boolean;
15
+ cutout: number | string;
16
+ }
17
+ interface IDefaultPieLegend {
18
+ display: boolean;
19
+ useDataset: boolean;
20
+ position: Position;
21
+ align: AlignOptions;
22
+ }
23
+ interface IDefaultChartOptions {
24
+ enableZoom: boolean;
25
+ enablePan: boolean;
26
+ }
27
+ interface IDefaultInteractions {
28
+ onLegendClick?: (text: string, hidden: boolean) => void;
29
+ onHover?: (event?: ChartEvent, datasetIndex?: number, index?: number, generatedDataset?: IPieChartDataset[]) => void;
30
+ onUnhover?: (event?: ChartEvent, datasetIndex?: number, index?: number, generatedDataset?: IPieChartDataset[]) => void;
31
+ }
32
+ interface IDefaultChartData {
33
+ labels: string[];
34
+ datasets: IPieChartDataset[];
35
+ }
36
+ interface IDefaultPieOptions extends IPieOptions {
37
+ title: string | string[];
38
+ chartStyling: IDefaultChartStyling;
39
+ tooltip: ICommonTooltip;
40
+ graph: IDefaultPieGraph;
41
+ legend: IDefaultPieLegend;
42
+ chartOptions: IDefaultChartOptions;
43
+ interactions: IDefaultInteractions;
44
+ }
45
+ export interface IPieChartDefaultProps {
46
+ testId: string | null;
47
+ data: IDefaultChartData;
48
+ options: IDefaultPieOptions;
49
+ }
50
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IPieChartProps } from './pie-chart.interface';
2
+ import { IPieChartDefaultProps } from './pie-chart-defalut-props.interface';
3
+ export declare const getDefaultProps: (props: IPieChartProps) => IPieChartDefaultProps;
@@ -0,0 +1,3 @@
1
+ import { IPieChartProps } from './pie-chart.interface';
2
+ declare const PieChartWithLegend: (props: IPieChartProps) => import("react/jsx-runtime").JSX.Element;
3
+ export { PieChartWithLegend as PieChart };
@@ -0,0 +1,70 @@
1
+ import { ICommonData, ICommonDataset, ICommonDataValue, ICommonLegend, ICommonOptions } from '../common/common.interface';
2
+ export interface IPieLegend extends ICommonLegend {
3
+ useDataset?: boolean;
4
+ }
5
+ export interface IPieGraph {
6
+ showDataLabels?: boolean;
7
+ stacked?: boolean;
8
+ cutout?: number | string;
9
+ }
10
+ export interface IPieOptions extends ICommonOptions {
11
+ graph?: IPieGraph;
12
+ legend?: IPieLegend;
13
+ }
14
+ export interface IPieDataValue extends ICommonDataValue {
15
+ label: string;
16
+ borderWidth: string | number;
17
+ value: number;
18
+ backgroundColor?: string | string[];
19
+ borderColor?: string;
20
+ labels: string[];
21
+ }
22
+ export interface IPieChartDataset extends ICommonDataset {
23
+ data: IPieDataValue[];
24
+ hideLegend?: boolean;
25
+ }
26
+ export interface IPieData {
27
+ labels?: string[];
28
+ datasets?: IPieChartDataset[];
29
+ xUnit?: string;
30
+ yUnit?: string;
31
+ }
32
+ export interface IPieChartData extends ICommonData {
33
+ data: IPieData;
34
+ options: IPieOptions;
35
+ }
36
+ export interface IPieChartProps {
37
+ chart: IPieChartData;
38
+ testId?: string | null;
39
+ }
40
+ export interface IPieGeneratedLabel {
41
+ text: string;
42
+ fillStyle: string;
43
+ strokeStyle: string;
44
+ index: number;
45
+ }
46
+ export interface IPieLegendItemFilter {
47
+ index: number;
48
+ datasetIndex: number;
49
+ hidden: boolean;
50
+ }
51
+ export interface IPiesDataLabelsOptions {
52
+ display?: 'auto' | boolean;
53
+ align?: 'center';
54
+ anchor?: 'center';
55
+ formatter?: (_value: any, context: any) => any;
56
+ }
57
+ export interface IGeneratedPieChartDataset {
58
+ label: string;
59
+ backgroundColor: string[];
60
+ borderColor: string;
61
+ borderWidth: number;
62
+ borderDash: number[];
63
+ annotationType?: string;
64
+ data: IPieDataValue[];
65
+ hideLegend?: boolean;
66
+ displayGroup?: string | number;
67
+ isAnnotation?: boolean;
68
+ annotationIndex?: number;
69
+ }
70
+ export type TGeneratedPieChartDatasets = IGeneratedPieChartDataset[];
@@ -0,0 +1,41 @@
1
+ import { ActiveElement, Chart, Chart as ChartJS, ChartEvent, LegendItem, Plugin, TooltipItem } from 'chart.js';
2
+ import { IPieDataValue, IPiesDataLabelsOptions } from './pie-chart.interface';
3
+ import { IPieChartDefaultProps } from './pie-chart-defalut-props.interface';
4
+ import { UnusedParameter } from '../common/common.interface';
5
+ interface ILegendPlugin extends Plugin {
6
+ chart?: Chart;
7
+ }
8
+ export declare const usePieChartConfig: (chart: IPieChartDefaultProps) => {
9
+ generatedDatasets: {
10
+ borderWidth: number;
11
+ borderColor: string;
12
+ backgroundColor: string | string[];
13
+ data: IPieDataValue[];
14
+ hideLegend?: boolean;
15
+ label?: string;
16
+ }[];
17
+ getTitle: () => {
18
+ display: boolean;
19
+ text: string | string[];
20
+ } | {
21
+ display?: undefined;
22
+ text?: undefined;
23
+ };
24
+ legendClick: (_: UnusedParameter, legendItem?: LegendItem, legend?: ILegendPlugin) => void;
25
+ onClick: (_evt: ChartEvent, _elements: ActiveElement[], chartInstance: ChartJS) => void;
26
+ onHover: (evt: ChartEvent, hoveredItems: ActiveElement[]) => void;
27
+ getDatalabels: () => IPiesDataLabelsOptions;
28
+ getLegend: () => object;
29
+ getToolTips: () => {
30
+ callbacks: {
31
+ title: (tooltipItem: TooltipItem<any>[]) => string;
32
+ label: (tooltipItem: TooltipItem<any>) => string;
33
+ };
34
+ padding: number;
35
+ boxWidth: number;
36
+ boxHeight: number;
37
+ boxPadding: number;
38
+ usePointStyle: boolean;
39
+ };
40
+ };
41
+ export {};
@@ -0,0 +1,113 @@
1
+ import { ActiveElement, AnimationSpec, Chart, ChartEvent } from 'chart.js';
2
+ import { IScatterChartDefaultProps } from '../scatter-chart-default-props.interface';
3
+ import { MutableRefObject } from 'react';
4
+ import { ICommonHoveredItems } from '../../common/common.interface';
5
+ import { TGeneratedScatterChartDatasets } from '../scatter-chart.interface';
6
+ export declare const useScatterChartConfig: (chart: IScatterChartDefaultProps, chartRef: MutableRefObject<Chart | null>) => {
7
+ generatedDatasets: TGeneratedScatterChartDatasets;
8
+ scatterOptions: {
9
+ interactions: {
10
+ onLegendClick: (_: import('../../common/common.interface').UnusedParameter, legendItem: import('chart.js').LegendItem) => void;
11
+ onHover: (evt: ChartEvent, hoveredItems: ICommonHoveredItems[]) => void;
12
+ };
13
+ scales: {
14
+ x: {
15
+ type: "linear";
16
+ position: any;
17
+ beginAtZero: boolean;
18
+ reverse: boolean;
19
+ suggestedMax: number | undefined;
20
+ suggestedMin: number | undefined;
21
+ min: number | undefined;
22
+ max: number | undefined;
23
+ title: {
24
+ display: boolean;
25
+ text: string | undefined;
26
+ padding: number;
27
+ };
28
+ ticks: {
29
+ includeBounds: boolean;
30
+ font: {
31
+ size: number;
32
+ };
33
+ stepSize: number | undefined;
34
+ };
35
+ grid: {};
36
+ };
37
+ y: {
38
+ type: "linear";
39
+ position: any;
40
+ beginAtZero: boolean;
41
+ reverse: boolean;
42
+ suggestedMax: number | undefined;
43
+ suggestedMin: number | undefined;
44
+ min: number | undefined;
45
+ max: number | undefined;
46
+ title: {
47
+ display: boolean;
48
+ text: string | undefined;
49
+ padding: number;
50
+ };
51
+ ticks: {
52
+ includeBounds: boolean;
53
+ font: {
54
+ size: number;
55
+ };
56
+ stepSize: number | undefined;
57
+ };
58
+ grid: {};
59
+ };
60
+ };
61
+ animation: Partial<AnimationSpec<"scatter">>;
62
+ plugins: {
63
+ legend: {
64
+ display: boolean;
65
+ events: never[];
66
+ position: any;
67
+ align: "center" | "start" | "end";
68
+ labels: {
69
+ boxHeight: number;
70
+ boxWidth: number | undefined;
71
+ usePointStyle: boolean | undefined;
72
+ };
73
+ onClick: (_: import('../../common/common.interface').UnusedParameter, legendItem: import('chart.js').LegendItem) => void;
74
+ };
75
+ customLegendPlugin: {
76
+ htmlLegend: any;
77
+ };
78
+ title: {
79
+ display: boolean;
80
+ text: string | string[] | undefined;
81
+ } | {
82
+ display?: undefined;
83
+ text?: undefined;
84
+ };
85
+ annotation: {
86
+ annotations: {};
87
+ };
88
+ chartAreaBorder: {
89
+ borderColor: string;
90
+ };
91
+ datalabels: {
92
+ display: boolean;
93
+ };
94
+ tooltip: {
95
+ enabled: boolean;
96
+ callbacks: {
97
+ title: (tooltipItems: import('chart.js').TooltipItem<"scatter">[]) => string | undefined;
98
+ label: (tooltipItems: import('../utils/get-tooltip-config').IScatterTooltipItem) => string;
99
+ };
100
+ backgroundColor: string;
101
+ displayColors: boolean;
102
+ padding: number;
103
+ };
104
+ };
105
+ width?: number | string;
106
+ height?: number | string;
107
+ maintainAspectRatio: boolean;
108
+ staticChartHeight: boolean;
109
+ performanceMode: boolean;
110
+ onClick: (_evt: ChartEvent, _elements: ActiveElement[], chartInstance: Chart) => void;
111
+ onHover: (evt: ChartEvent, hoveredItems: ICommonHoveredItems[]) => void;
112
+ };
113
+ };
@@ -0,0 +1,71 @@
1
+ import { ChartEvent } from 'chart.js';
2
+ import { ICommonAdditionalAxesOptions, ICommonAnnotations, ICommonCustomLegend, ICommonLegend } from '../common/common.interface';
3
+ import { ChartDirection } from '../common/enums';
4
+ import { IScatterAxes, IScatterChartDataset } from './scatter-chart.interface';
5
+ export interface IDefaultChartStyling {
6
+ width?: number | string;
7
+ height?: number | string;
8
+ maintainAspectRatio: boolean;
9
+ staticChartHeight: boolean;
10
+ performanceMode: boolean;
11
+ }
12
+ interface IDefaultTooltip {
13
+ enabled: boolean;
14
+ tooltips: boolean;
15
+ showLabelsInTooltips: boolean;
16
+ backgroundColor: string;
17
+ displayColors: boolean;
18
+ scientificNotation: boolean;
19
+ }
20
+ interface IDefaultScatterGraph {
21
+ showMinorGridlines: boolean;
22
+ showDataLabels: boolean;
23
+ }
24
+ export interface IDefaultScatterLegend extends ICommonLegend {
25
+ customLegend?: ICommonCustomLegend<any>;
26
+ }
27
+ interface IDefaultChartOptions {
28
+ enableZoom: boolean;
29
+ enablePan: boolean;
30
+ }
31
+ export interface IDefaultInteractions {
32
+ onLegendClick?: (text: string, hidden: boolean) => void;
33
+ onHover?: (event?: ChartEvent, datasetIndex?: number, index?: number, generatedDataset?: IScatterChartDataset[]) => void;
34
+ onUnhover?: (event?: ChartEvent, datasetIndex?: number, index?: number, generatedDataset?: any[]) => void;
35
+ onAnimationComplete?: () => void;
36
+ }
37
+ interface IDefaultChartData {
38
+ labels: string[];
39
+ datasets: IScatterChartDataset[];
40
+ }
41
+ export interface IDefaultScatterOptions {
42
+ title: string | string[];
43
+ chartStyling: IDefaultChartStyling;
44
+ tooltip: IDefaultTooltip;
45
+ graph: IDefaultScatterGraph;
46
+ axes: IScatterAxes;
47
+ additionalAxesOptions: ICommonAdditionalAxesOptions;
48
+ legend: IDefaultScatterLegend;
49
+ chartOptions: IDefaultChartOptions;
50
+ interactions: IDefaultInteractions;
51
+ annotations?: ICommonAnnotations;
52
+ direction: ChartDirection;
53
+ }
54
+ export interface IScatterChartDefaultProps {
55
+ testId: string | null;
56
+ data: IDefaultChartData;
57
+ options: {
58
+ title: string | string[];
59
+ chartStyling: IDefaultChartStyling;
60
+ tooltip: IDefaultTooltip;
61
+ graph: IDefaultScatterGraph;
62
+ axes: IScatterAxes;
63
+ additionalAxesOptions: ICommonAdditionalAxesOptions;
64
+ legend: IDefaultScatterLegend;
65
+ chartOptions: IDefaultChartOptions;
66
+ interactions: IDefaultInteractions;
67
+ annotations?: ICommonAnnotations;
68
+ direction: ChartDirection;
69
+ };
70
+ }
71
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IScatterChartDefaultProps } from './scatter-chart-default-props.interface';
2
+ import { IScatterChartProps } from './scatter-chart.interface';
3
+ export declare const getDefaultProps: (props: IScatterChartProps) => IScatterChartDefaultProps;
@@ -0,0 +1,3 @@
1
+ import { IScatterChartProps } from './scatter-chart.interface';
2
+ declare const ScatterChartWithLegend: (props: IScatterChartProps) => import("react/jsx-runtime").JSX.Element;
3
+ export { ScatterChartWithLegend as ScatterChart };
@@ -0,0 +1,81 @@
1
+ import { ChartDirection } from '../common/enums.ts';
2
+ import { ICommonAdditionalAxesOptions, ICommonAxis, ICommonData, ICommonDataset, ICommonDataValue, ICommonLegend, ICommonOptions } from '../common/common.interface';
3
+ export interface IScatterLegend extends ICommonLegend {
4
+ useDataset?: boolean;
5
+ }
6
+ export interface IScatterGraph {
7
+ showMinorGridlines?: boolean;
8
+ showDataLabels?: boolean;
9
+ }
10
+ export interface IScatterTooltip {
11
+ enabled?: boolean;
12
+ tooltips?: boolean;
13
+ showLabelsInTooltips: boolean;
14
+ backgroundColor?: string;
15
+ displayColors?: boolean;
16
+ scientificNotation?: boolean;
17
+ }
18
+ export interface IScatterAxes {
19
+ x: ICommonAxis<'top' | 'bottom'>[];
20
+ y: ICommonAxis<'left' | 'right'>[];
21
+ [key: string]: ICommonAxis[];
22
+ }
23
+ export interface IScatterOptions extends ICommonOptions {
24
+ graph?: IScatterGraph;
25
+ legend?: IScatterLegend;
26
+ axes?: IScatterAxes;
27
+ additionalAxesOptions?: ICommonAdditionalAxesOptions;
28
+ direction: ChartDirection;
29
+ }
30
+ export interface IScatterDataValue extends ICommonDataValue {
31
+ label?: string;
32
+ }
33
+ export interface IScatterChartDataset extends ICommonDataset {
34
+ data: IScatterDataValue[];
35
+ hideLegend?: boolean;
36
+ }
37
+ export interface IScatterData {
38
+ labels?: string[];
39
+ datasets?: IScatterChartDataset[];
40
+ xUnit?: string;
41
+ yUnit?: string;
42
+ }
43
+ export interface IScatterChartData extends ICommonData {
44
+ data: IScatterData;
45
+ options: IScatterOptions;
46
+ }
47
+ export interface IScatterChartProps {
48
+ chart: IScatterChartData;
49
+ testId?: string | null;
50
+ }
51
+ export interface IScatterGeneratedLabel {
52
+ text: string;
53
+ fillStyle: string;
54
+ strokeStyle: string;
55
+ index: number;
56
+ }
57
+ export interface IScatterLegendItemFilter {
58
+ index: number;
59
+ datasetIndex: number;
60
+ hidden: boolean;
61
+ }
62
+ export interface IScatterDataLabelsOptions {
63
+ display?: 'auto' | boolean;
64
+ align?: 'center';
65
+ anchor?: 'center';
66
+ formatter?: (_value: any, context: any) => any;
67
+ }
68
+ export interface IGeneratedScatterChartDataset {
69
+ label: string;
70
+ backgroundColor: string[];
71
+ borderColor: string;
72
+ borderWidth: number;
73
+ borderDash: number[];
74
+ annotationType?: string;
75
+ data: IScatterDataValue[];
76
+ hideLegend?: boolean;
77
+ displayGroup?: string | number;
78
+ isAnnotation?: boolean;
79
+ annotationIndex?: number;
80
+ }
81
+ export type TGeneratedScatterChartDatasets = IGeneratedScatterChartDataset[];
@@ -0,0 +1,49 @@
1
+ import { IDefaultScatterOptions } from '../scatter-chart-default-props.interface';
2
+ export declare const getScatterChartScales: (options: IDefaultScatterOptions) => {
3
+ x: {
4
+ type: "linear";
5
+ position: any;
6
+ beginAtZero: boolean;
7
+ reverse: boolean;
8
+ suggestedMax: number | undefined;
9
+ suggestedMin: number | undefined;
10
+ min: number | undefined;
11
+ max: number | undefined;
12
+ title: {
13
+ display: boolean;
14
+ text: string | undefined;
15
+ padding: number;
16
+ };
17
+ ticks: {
18
+ includeBounds: boolean;
19
+ font: {
20
+ size: number;
21
+ };
22
+ stepSize: number | undefined;
23
+ };
24
+ grid: {};
25
+ };
26
+ y: {
27
+ type: "linear";
28
+ position: any;
29
+ beginAtZero: boolean;
30
+ reverse: boolean;
31
+ suggestedMax: number | undefined;
32
+ suggestedMin: number | undefined;
33
+ min: number | undefined;
34
+ max: number | undefined;
35
+ title: {
36
+ display: boolean;
37
+ text: string | undefined;
38
+ padding: number;
39
+ };
40
+ ticks: {
41
+ includeBounds: boolean;
42
+ font: {
43
+ size: number;
44
+ };
45
+ stepSize: number | undefined;
46
+ };
47
+ grid: {};
48
+ };
49
+ };
@@ -0,0 +1,21 @@
1
+ import { TooltipItem } from 'chart.js';
2
+ import { IDefaultScatterOptions } from '../scatter-chart-default-props.interface';
3
+ interface IRawData {
4
+ x: number;
5
+ y: number;
6
+ label?: string;
7
+ }
8
+ export interface IScatterTooltipItem extends TooltipItem<'scatter'> {
9
+ raw: IRawData;
10
+ }
11
+ export declare const getTooltipsConfig: (options: IDefaultScatterOptions) => {
12
+ enabled: boolean;
13
+ callbacks: {
14
+ title: (tooltipItems: TooltipItem<"scatter">[]) => string | undefined;
15
+ label: (tooltipItems: IScatterTooltipItem) => string;
16
+ };
17
+ backgroundColor: string;
18
+ displayColors: boolean;
19
+ padding: number;
20
+ };
21
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oliasoft-open-source/charts-library",
3
- "version": "5.0.0-beta-2",
3
+ "version": "5.0.0-beta-3",
4
4
  "description": "React Chart Library (based on Chart.js and react-chart-js-2)",
5
5
  "homepage": "https://gitlab.com/oliasoft-open-source/charts-library",
6
6
  "resolutions": {
@@ -23,7 +23,7 @@
23
23
  "dist/**/*"
24
24
  ],
25
25
  "scripts": {
26
- "build:package": "vite build --config vite.config.ts",
26
+ "build:package": "tsc && vite build --config vite.config.ts",
27
27
  "build": "yarn build:package && storybook build --quiet --output-dir ./public",
28
28
  "dev:storybook": "storybook dev -p 6006",
29
29
  "lint:check": "eslint .",
@@ -70,6 +70,7 @@
70
70
  "@storybook/react-vite": "^8.6.7",
71
71
  "@storybook/testing-library": "^0.2.2",
72
72
  "@types/lodash": "^4.17.16",
73
+ "@types/node": "^22.13.10",
73
74
  "@types/react": "^18.2.24",
74
75
  "@typescript-eslint/parser": "^8.26.1",
75
76
  "@vitejs/plugin-react-swc": "^3.8.0",