@kubit-ui-web/react-charts 1.8.0 → 1.10.0

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 (142) hide show
  1. package/dist/cjs/charts/barChart/barChart.type.d.ts +11 -0
  2. package/dist/cjs/charts/barChart/barChart.type.d.ts.map +1 -1
  3. package/dist/cjs/charts/barChart/barChartStructure.d.ts.map +1 -1
  4. package/dist/cjs/charts/barChart/barChartStructure.js +21 -12
  5. package/dist/cjs/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  6. package/dist/cjs/charts/barChart/fragments/barChartPath.js +2 -2
  7. package/dist/cjs/charts/lineChart/lineChart.type.d.ts +3 -0
  8. package/dist/cjs/charts/lineChart/lineChart.type.d.ts.map +1 -1
  9. package/dist/cjs/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  10. package/dist/cjs/charts/lineChart/lineChartStructure.js +10 -27
  11. package/dist/cjs/charts/pieChart/pieChart.type.d.ts +3 -0
  12. package/dist/cjs/charts/pieChart/pieChart.type.d.ts.map +1 -1
  13. package/dist/cjs/charts/pieChart/pieChartStructure.d.ts.map +1 -1
  14. package/dist/cjs/charts/pieChart/pieChartStructure.js +14 -13
  15. package/dist/cjs/components/bar/bar.d.ts.map +1 -1
  16. package/dist/cjs/components/bar/bar.js +6 -3
  17. package/dist/cjs/components/bar/bar.type.d.ts +9 -0
  18. package/dist/cjs/components/bar/bar.type.d.ts.map +1 -1
  19. package/dist/cjs/components/path/path.d.ts.map +1 -1
  20. package/dist/cjs/components/path/path.js +24 -11
  21. package/dist/cjs/components/path/path.types.d.ts +9 -0
  22. package/dist/cjs/components/path/path.types.d.ts.map +1 -1
  23. package/dist/cjs/components/zoomArea/hooks/index.d.ts +0 -1
  24. package/dist/cjs/components/zoomArea/hooks/index.d.ts.map +1 -1
  25. package/dist/cjs/components/zoomArea/hooks/index.js +0 -1
  26. package/dist/cjs/components/zoomArea/zoomArea.js +1 -1
  27. package/dist/cjs/hooks/index.d.ts +2 -0
  28. package/dist/cjs/hooks/index.d.ts.map +1 -1
  29. package/dist/cjs/hooks/index.js +2 -0
  30. package/dist/cjs/hooks/useId/index.d.ts +2 -0
  31. package/dist/cjs/hooks/useId/index.d.ts.map +1 -0
  32. package/dist/cjs/hooks/useId/index.js +1 -0
  33. package/dist/cjs/hooks/useId/useId.d.ts +2 -0
  34. package/dist/cjs/hooks/useId/useId.d.ts.map +1 -0
  35. package/dist/cjs/hooks/useId/useId.js +13 -0
  36. package/dist/cjs/hooks/useResponsiveCanvas/index.d.ts +2 -0
  37. package/dist/cjs/hooks/useResponsiveCanvas/index.d.ts.map +1 -0
  38. package/dist/cjs/hooks/useResponsiveCanvas/index.js +1 -0
  39. package/dist/{types/components/zoomArea/hooks → cjs/hooks/useResponsiveCanvas}/useResponsiveCanvas.d.ts +3 -1
  40. package/dist/cjs/hooks/useResponsiveCanvas/useResponsiveCanvas.d.ts.map +1 -0
  41. package/dist/{esm/components/zoomArea/hooks → cjs/hooks/useResponsiveCanvas}/useResponsiveCanvas.js +5 -4
  42. package/dist/cjs/types/focusConfig.type.d.ts +13 -7
  43. package/dist/cjs/types/focusConfig.type.d.ts.map +1 -1
  44. package/dist/cjs/types/focusConfig.type.js +3 -3
  45. package/dist/cjs/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts +20 -0
  46. package/dist/cjs/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts.map +1 -0
  47. package/dist/cjs/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.js +27 -0
  48. package/dist/cjs/utils/adaptLegacyFocusConfig/index.d.ts +2 -0
  49. package/dist/cjs/utils/adaptLegacyFocusConfig/index.d.ts.map +1 -0
  50. package/dist/cjs/utils/adaptLegacyFocusConfig/index.js +1 -0
  51. package/dist/esm/charts/barChart/barChart.type.d.ts +11 -0
  52. package/dist/esm/charts/barChart/barChart.type.d.ts.map +1 -1
  53. package/dist/esm/charts/barChart/barChartStructure.d.ts.map +1 -1
  54. package/dist/esm/charts/barChart/barChartStructure.js +21 -12
  55. package/dist/esm/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  56. package/dist/esm/charts/barChart/fragments/barChartPath.js +2 -2
  57. package/dist/esm/charts/lineChart/lineChart.type.d.ts +3 -0
  58. package/dist/esm/charts/lineChart/lineChart.type.d.ts.map +1 -1
  59. package/dist/esm/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  60. package/dist/esm/charts/lineChart/lineChartStructure.js +10 -27
  61. package/dist/esm/charts/pieChart/pieChart.type.d.ts +3 -0
  62. package/dist/esm/charts/pieChart/pieChart.type.d.ts.map +1 -1
  63. package/dist/esm/charts/pieChart/pieChartStructure.d.ts.map +1 -1
  64. package/dist/esm/charts/pieChart/pieChartStructure.js +14 -13
  65. package/dist/esm/components/bar/bar.d.ts.map +1 -1
  66. package/dist/esm/components/bar/bar.js +6 -3
  67. package/dist/esm/components/bar/bar.type.d.ts +9 -0
  68. package/dist/esm/components/bar/bar.type.d.ts.map +1 -1
  69. package/dist/esm/components/path/path.d.ts.map +1 -1
  70. package/dist/esm/components/path/path.js +24 -11
  71. package/dist/esm/components/path/path.types.d.ts +9 -0
  72. package/dist/esm/components/path/path.types.d.ts.map +1 -1
  73. package/dist/esm/components/zoomArea/hooks/index.d.ts +0 -1
  74. package/dist/esm/components/zoomArea/hooks/index.d.ts.map +1 -1
  75. package/dist/esm/components/zoomArea/hooks/index.js +0 -1
  76. package/dist/esm/components/zoomArea/zoomArea.js +1 -1
  77. package/dist/esm/hooks/index.d.ts +2 -0
  78. package/dist/esm/hooks/index.d.ts.map +1 -1
  79. package/dist/esm/hooks/index.js +2 -0
  80. package/dist/esm/hooks/useId/index.d.ts +2 -0
  81. package/dist/esm/hooks/useId/index.d.ts.map +1 -0
  82. package/dist/esm/hooks/useId/index.js +1 -0
  83. package/dist/esm/hooks/useId/useId.d.ts +2 -0
  84. package/dist/esm/hooks/useId/useId.d.ts.map +1 -0
  85. package/dist/esm/hooks/useId/useId.js +13 -0
  86. package/dist/esm/hooks/useResponsiveCanvas/index.d.ts +2 -0
  87. package/dist/esm/hooks/useResponsiveCanvas/index.d.ts.map +1 -0
  88. package/dist/esm/hooks/useResponsiveCanvas/index.js +1 -0
  89. package/dist/esm/{components/zoomArea/hooks → hooks/useResponsiveCanvas}/useResponsiveCanvas.d.ts +3 -1
  90. package/dist/esm/hooks/useResponsiveCanvas/useResponsiveCanvas.d.ts.map +1 -0
  91. package/dist/{cjs/components/zoomArea/hooks → esm/hooks/useResponsiveCanvas}/useResponsiveCanvas.js +5 -4
  92. package/dist/esm/types/focusConfig.type.d.ts +13 -7
  93. package/dist/esm/types/focusConfig.type.d.ts.map +1 -1
  94. package/dist/esm/types/focusConfig.type.js +3 -3
  95. package/dist/esm/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts +20 -0
  96. package/dist/esm/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts.map +1 -0
  97. package/dist/esm/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.js +27 -0
  98. package/dist/esm/utils/adaptLegacyFocusConfig/index.d.ts +2 -0
  99. package/dist/esm/utils/adaptLegacyFocusConfig/index.d.ts.map +1 -0
  100. package/dist/esm/utils/adaptLegacyFocusConfig/index.js +1 -0
  101. package/dist/kubit-ui-web-react-charts.cjs.js +1 -1
  102. package/dist/kubit-ui-web-react-charts.es.js +1 -1
  103. package/dist/kubit-ui-web-react-charts.umd.js +1 -1
  104. package/dist/react-charts.css +1 -1
  105. package/dist/types/charts/barChart/barChart.type.d.ts +11 -0
  106. package/dist/types/charts/barChart/barChart.type.d.ts.map +1 -1
  107. package/dist/types/charts/barChart/barChartStructure.d.ts.map +1 -1
  108. package/dist/types/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  109. package/dist/types/charts/lineChart/lineChart.type.d.ts +3 -0
  110. package/dist/types/charts/lineChart/lineChart.type.d.ts.map +1 -1
  111. package/dist/types/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  112. package/dist/types/charts/pieChart/pieChart.type.d.ts +3 -0
  113. package/dist/types/charts/pieChart/pieChart.type.d.ts.map +1 -1
  114. package/dist/types/charts/pieChart/pieChartStructure.d.ts.map +1 -1
  115. package/dist/types/components/bar/bar.d.ts.map +1 -1
  116. package/dist/types/components/bar/bar.type.d.ts +9 -0
  117. package/dist/types/components/bar/bar.type.d.ts.map +1 -1
  118. package/dist/types/components/path/path.d.ts.map +1 -1
  119. package/dist/types/components/path/path.types.d.ts +9 -0
  120. package/dist/types/components/path/path.types.d.ts.map +1 -1
  121. package/dist/types/components/zoomArea/hooks/index.d.ts +0 -1
  122. package/dist/types/components/zoomArea/hooks/index.d.ts.map +1 -1
  123. package/dist/types/hooks/index.d.ts +2 -0
  124. package/dist/types/hooks/index.d.ts.map +1 -1
  125. package/dist/types/hooks/useId/index.d.ts +2 -0
  126. package/dist/types/hooks/useId/index.d.ts.map +1 -0
  127. package/dist/types/hooks/useId/useId.d.ts +2 -0
  128. package/dist/types/hooks/useId/useId.d.ts.map +1 -0
  129. package/dist/types/hooks/useResponsiveCanvas/index.d.ts +2 -0
  130. package/dist/types/hooks/useResponsiveCanvas/index.d.ts.map +1 -0
  131. package/dist/{cjs/components/zoomArea/hooks → types/hooks/useResponsiveCanvas}/useResponsiveCanvas.d.ts +3 -1
  132. package/dist/types/hooks/useResponsiveCanvas/useResponsiveCanvas.d.ts.map +1 -0
  133. package/dist/types/types/focusConfig.type.d.ts +13 -7
  134. package/dist/types/types/focusConfig.type.d.ts.map +1 -1
  135. package/dist/types/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts +20 -0
  136. package/dist/types/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.d.ts.map +1 -0
  137. package/dist/types/utils/adaptLegacyFocusConfig/index.d.ts +2 -0
  138. package/dist/types/utils/adaptLegacyFocusConfig/index.d.ts.map +1 -0
  139. package/package.json +1 -1
  140. package/dist/cjs/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +0 -1
  141. package/dist/esm/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +0 -1
  142. package/dist/types/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +0 -1
@@ -0,0 +1,13 @@
1
+ import { useState } from 'react';
2
+ const DEFAULT_PREFIX = '$component$';
3
+ const uniqueId = {};
4
+ const generateUniqueId = (prefix) => {
5
+ if (!uniqueId[prefix]) {
6
+ uniqueId[prefix] = 0;
7
+ }
8
+ return uniqueId[prefix]++;
9
+ };
10
+ export const useId = (prefix) => {
11
+ const [id] = useState(() => generateUniqueId(prefix || DEFAULT_PREFIX));
12
+ return `${prefix}${id}`;
13
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useResponsiveCanvas';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useResponsiveCanvas/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './useResponsiveCanvas';
@@ -1,4 +1,4 @@
1
- import { CanvasConfig } from '../../../types/canvas.type';
1
+ import type { CanvasConfig } from '../../types/canvas.type';
2
2
  /**
3
3
  * Universal responsive canvas hook for chart components.
4
4
  *
@@ -56,6 +56,8 @@ interface UseResponsiveCanvasReturn {
56
56
  };
57
57
  /** SVG viewBox string */
58
58
  viewBox: string;
59
+ /** Parsed extra space in pixels (optional) */
60
+ parsedCanvasExtraSpace?: number;
59
61
  }
60
62
  export declare const useResponsiveCanvas: ({ canvasConfig, dataTestId, extraSpace, height, width, }: UseResponsiveCanvasParams) => UseResponsiveCanvasReturn;
61
63
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResponsiveCanvas.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useResponsiveCanvas/useResponsiveCanvas.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,UAAU,yBAAyB;IACjC,yCAAyC;IACzC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,mBAAmB,GAAI,0DAMjC,yBAAyB,KAAG,yBA+F9B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { useEffect, useMemo, useState } from 'react';
2
- import { buildViewBox } from '../../../components/svgContainer/utils/buildViewBox/buildViewBox';
3
- import { getCanvasDimensions } from '../../../utils/getCanvasDimensions/getCanvasDimensions';
4
- import { parseStringToNumberPx } from '../../../utils/parseStringToNumberPx.ts/parseStringToNumberPx';
5
- import { isBrowser, safeQuerySelector } from '../../../utils/ssr/ssr';
2
+ import { buildViewBox } from '../../components/svgContainer/utils/buildViewBox/buildViewBox';
3
+ import { getCanvasDimensions } from '../../utils/getCanvasDimensions/getCanvasDimensions';
4
+ import { parseStringToNumberPx } from '../../utils/parseStringToNumberPx.ts/parseStringToNumberPx';
5
+ import { isBrowser, safeQuerySelector } from '../../utils/ssr/ssr';
6
6
  export const useResponsiveCanvas = ({ canvasConfig, dataTestId, extraSpace = 0, height, width, }) => {
7
7
  // State for parsed/calculated dimensions
8
8
  const [parsedCanvas, setParsedCanvas] = useState({
@@ -70,6 +70,7 @@ export const useResponsiveCanvas = ({ canvasConfig, dataTestId, extraSpace = 0,
70
70
  }, [parsedCanvas.width, parsedCanvas.height, parsedCanvasExtraSpace]);
71
71
  return {
72
72
  parsedCanvas,
73
+ parsedCanvasExtraSpace,
73
74
  viewBox,
74
75
  };
75
76
  };
@@ -1,11 +1,15 @@
1
1
  /**
2
2
  * Configuration for the focus effect.
3
3
  *
4
+ * **Important**: All numeric values (stroke widths and gap) are relative to the SVG viewBox coordinate system,
5
+ * not pixel values. This means the same values may appear different in size depending on the chart's viewBox dimensions.
6
+ * For example, a value of 2 in a chart with viewBox 200x200 will appear larger than the same value in a chart with viewBox 100x80.
7
+ *
4
8
  * - `outlineColor` - Color of the outer outline when focused. Defaults to #0078D7.
5
- * - `outlineStrokeWidth` - Stroke width of the outer outline. Defaults to 2.
9
+ * - `outlineStrokeWidth` - Stroke width of the outer outline (viewBox-relative). Defaults to 2.
6
10
  * - `innerColor` - Color of the inner outline when focused. Defaults to #FFFFFF.
7
- * - `innerStrokeWidth` - Stroke width of the inner outline. Defaults to 2.
8
- * - `gap` - Gap between the element and the focus rings. Defaults to 0.
11
+ * - `innerStrokeWidth` - Stroke width of the inner outline (viewBox-relative). Defaults to 2.
12
+ * - `gap` - Gap between the element and the focus rings (viewBox-relative). Defaults to 0.
9
13
  * Note: Only applies when variant is 'bounding-box'. Ignored in 'adaptive' mode.
10
14
  * - `variant` - Focus ring rendering mode. Defaults to 'adaptive'.
11
15
  * - 'adaptive': Ring follows the exact shape of the element (circle → circular ring, path → path ring)
@@ -13,10 +17,12 @@
13
17
  */
14
18
  export interface FocusConfig {
15
19
  outlineColor?: string;
20
+ /** Stroke width in viewBox coordinate units (not pixels) */
16
21
  outlineStrokeWidth?: number;
17
22
  innerColor?: string;
23
+ /** Stroke width in viewBox coordinate units (not pixels) */
18
24
  innerStrokeWidth?: number;
19
- /** Only applicable when variant is 'bounding-box' */
25
+ /** Gap in viewBox coordinate units (not pixels). Only applicable when variant is 'bounding-box' */
20
26
  gap?: number;
21
27
  variant?: 'adaptive' | 'bounding-box';
22
28
  }
@@ -25,11 +31,11 @@ export declare const FOCUS_DEFAULT: {
25
31
  readonly FOCUS_COLOR: "#0078D4";
26
32
  /** Focus ring inner border */
27
33
  readonly FOCUS_INNER: "#ffffff";
28
- /** Focus ring inner stroke width */
34
+ /** Focus ring inner stroke width (viewBox-relative units) */
29
35
  readonly INNER_FOCUS_STROKE_WIDTH: 2;
30
- /** Focus ring outer stroke width */
36
+ /** Focus ring outer stroke width (viewBox-relative units) */
31
37
  readonly OUTER_FOCUS_STROKE_WIDTH: 2;
32
- /** Gap between element and outlines (only applies in bounding-box variant) */
38
+ /** Gap between element and outlines in viewBox-relative units (only applies in bounding-box variant) */
33
39
  readonly OUTLINES_GAP: 0;
34
40
  /** Focus ring rendering variant */
35
41
  readonly VARIANT: "adaptive";
@@ -1 +1 @@
1
- {"version":3,"file":"focusConfig.type.d.ts","sourceRoot":"","sources":["../../../src/types/focusConfig.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;CACvC;AAED,eAAO,MAAM,aAAa;IACxB,uBAAuB;;IAEvB,8BAA8B;;IAE9B,oCAAoC;;IAEpC,oCAAoC;;IAEpC,8EAA8E;;IAE9E,mCAAmC;;CAE3B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,KAAG,QAAQ,CAAC,WAAW,CAO7E,CAAC"}
1
+ {"version":3,"file":"focusConfig.type.d.ts","sourceRoot":"","sources":["../../../src/types/focusConfig.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;CACvC;AAED,eAAO,MAAM,aAAa;IACxB,uBAAuB;;IAEvB,8BAA8B;;IAE9B,6DAA6D;;IAE7D,6DAA6D;;IAE7D,wGAAwG;;IAExG,mCAAmC;;CAE3B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,KAAG,QAAQ,CAAC,WAAW,CAO7E,CAAC"}
@@ -3,11 +3,11 @@ export const FOCUS_DEFAULT = {
3
3
  FOCUS_COLOR: '#0078D4',
4
4
  /** Focus ring inner border */
5
5
  FOCUS_INNER: '#ffffff',
6
- /** Focus ring inner stroke width */
6
+ /** Focus ring inner stroke width (viewBox-relative units) */
7
7
  INNER_FOCUS_STROKE_WIDTH: 2,
8
- /** Focus ring outer stroke width */
8
+ /** Focus ring outer stroke width (viewBox-relative units) */
9
9
  OUTER_FOCUS_STROKE_WIDTH: 2,
10
- /** Gap between element and outlines (only applies in bounding-box variant) */
10
+ /** Gap between element and outlines in viewBox-relative units (only applies in bounding-box variant) */
11
11
  OUTLINES_GAP: 0,
12
12
  /** Focus ring rendering variant */
13
13
  VARIANT: 'adaptive',
@@ -0,0 +1,20 @@
1
+ import type { StyleProps } from '../../components/path/path.types';
2
+ import type { FocusConfig } from '../../types/focusConfig.type';
3
+ /**
4
+ * Adapts legacy StyleProps focusConfig to the new FocusConfig format.
5
+ *
6
+ * Only maps properties that have semantic equivalence:
7
+ * - `stroke` → `outlineColor` (color of the focus ring outline)
8
+ * - `strokeWidth` → `outlineStrokeWidth` and `innerStrokeWidth` (width of both focus rings)
9
+ *
10
+ * Other StyleProps properties (fill, fillOpacity, strokeDasharray, etc.) are ignored
11
+ * as they don't have meaningful equivalents in the new FocusRing component.
12
+ *
13
+ * @deprecated This adapter exists for backward compatibility only.
14
+ * It will be removed in the next major version along with the legacy focusConfig prop.
15
+ *
16
+ * @param legacy - Legacy focusConfig using StyleProps interface
17
+ * @returns FocusConfig compatible object, or undefined if no legacy config provided
18
+ */
19
+ export declare const adaptLegacyFocusConfig: (legacy?: StyleProps) => FocusConfig | undefined;
20
+ //# sourceMappingURL=adaptLegacyFocusConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptLegacyFocusConfig.d.ts","sourceRoot":"","sources":["../../../../src/utils/adaptLegacyFocusConfig/adaptLegacyFocusConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,UAAU,KAAG,WAAW,GAAG,SAU1E,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Adapts legacy StyleProps focusConfig to the new FocusConfig format.
3
+ *
4
+ * Only maps properties that have semantic equivalence:
5
+ * - `stroke` → `outlineColor` (color of the focus ring outline)
6
+ * - `strokeWidth` → `outlineStrokeWidth` and `innerStrokeWidth` (width of both focus rings)
7
+ *
8
+ * Other StyleProps properties (fill, fillOpacity, strokeDasharray, etc.) are ignored
9
+ * as they don't have meaningful equivalents in the new FocusRing component.
10
+ *
11
+ * @deprecated This adapter exists for backward compatibility only.
12
+ * It will be removed in the next major version along with the legacy focusConfig prop.
13
+ *
14
+ * @param legacy - Legacy focusConfig using StyleProps interface
15
+ * @returns FocusConfig compatible object, or undefined if no legacy config provided
16
+ */
17
+ export const adaptLegacyFocusConfig = (legacy) => {
18
+ if (!legacy) {
19
+ return undefined;
20
+ }
21
+ const strokeWidth = legacy.strokeWidth ? Number(legacy.strokeWidth) : undefined;
22
+ return {
23
+ innerStrokeWidth: strokeWidth,
24
+ outlineColor: legacy.stroke,
25
+ outlineStrokeWidth: strokeWidth,
26
+ };
27
+ };
@@ -0,0 +1,2 @@
1
+ export { adaptLegacyFocusConfig } from './adaptLegacyFocusConfig';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/adaptLegacyFocusConfig/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ export { adaptLegacyFocusConfig } from './adaptLegacyFocusConfig';
@@ -62,6 +62,9 @@ export interface BarChartProps {
62
62
  height?: string | number;
63
63
  data: BarChartIDataPoint[];
64
64
  pKey: string;
65
+ /**
66
+ * @deprecated Use `width` and `height` props instead to define chart dimensions.
67
+ */
65
68
  canvasConfig?: CanvasConfig;
66
69
  dataTestId?: string;
67
70
  caption?: string;
@@ -123,6 +126,14 @@ export interface BarChartPathProps {
123
126
  dataIdx: number;
124
127
  startRounded?: number;
125
128
  endRounded?: number;
129
+ /**
130
+ * @deprecated In the next major version, this prop will use a more restrictive interface
131
+ * based on FocusConfig type. Other StyleProps fields are currently ignored.
132
+ */
133
+ focusConfig?: StyleProps;
134
+ tabIndex?: number;
135
+ onFocus?: (event: React.FocusEvent<SVGPathElement>) => void;
136
+ onBlur?: (event: React.FocusEvent<SVGPathElement>) => void;
126
137
  }
127
138
  export {};
128
139
  //# sourceMappingURL=barChart.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChart.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"barChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChart.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"barChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChartStructure.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoGrD,CAAC"}
1
+ {"version":3,"file":"barChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChartStructure.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8GrD,CAAC"}
@@ -1,25 +1,27 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Children, useMemo } from 'react';
3
3
  import { SvgContainer } from '../../components/svgContainer/svgContainer';
4
- import { buildViewBox } from '../../components/svgContainer/utils/buildViewBox/buildViewBox';
4
+ import { useId } from '../../hooks/useId/useId';
5
+ import { useResponsiveCanvas } from '../../hooks/useResponsiveCanvas/useResponsiveCanvas';
5
6
  import { DefaultCanvasConfig } from '../../types/canvas.type';
6
7
  import { createErrorAccumulator } from '../../utils/createErrorAccumulator';
7
8
  import { getDataFingerprint } from '../../utils/getDataFingerprint/getDataFingerprint';
8
- import { parseStringToNumberPx } from '../../utils/parseStringToNumberPx.ts/parseStringToNumberPx';
9
9
  import { BarChartContext } from './context/barChartContext';
10
10
  import { buildBarContextValue } from './context/buildBarContextValues';
11
11
  import { BarChartXAxis } from './fragments/barChartXAxis';
12
12
  import { BarChartYAxis } from './fragments/barChartYAxis';
13
13
  import { countBarChildren } from './utils/countBarChildren';
14
- export const BarChartStructure = ({ canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId, gapBetweenBars = 0, height = '100%', onErrors, orientation, pKey, role, tabIndex, width = '100%', ...props }) => {
15
- // Extracts and sets default values for canvas configuration
16
- const { extraSpace: canvasExtraSpace, height: canvasHeight, width: canvasWidth } = canvasConfig;
17
- const parsedCanvasWidth = parseStringToNumberPx(canvasWidth);
18
- const parsedCanvasHeight = parseStringToNumberPx(canvasHeight);
19
- const parsedCanvasExtraSpace = canvasExtraSpace
20
- ? parseStringToNumberPx(canvasExtraSpace)
21
- : undefined;
22
- const viewBox = buildViewBox(parsedCanvasWidth, parsedCanvasHeight, parsedCanvasExtraSpace);
14
+ export const BarChartStructure = ({ canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId: dataTestIdProp = 'bar-chart', gapBetweenBars = 0, height = '100%', onErrors, orientation, pKey, role, tabIndex, width = '100%', ...props }) => {
15
+ const dataTestId = useId(dataTestIdProp);
16
+ // Use the responsive canvas hook for dimension management
17
+ const { parsedCanvas, parsedCanvasExtraSpace, viewBox } = useResponsiveCanvas({
18
+ canvasConfig,
19
+ dataTestId,
20
+ height,
21
+ width,
22
+ });
23
+ const parsedCanvasWidth = parsedCanvas.width;
24
+ const parsedCanvasHeight = parsedCanvas.height;
23
25
  // count how many of bar children exists
24
26
  const barChildrenCount = countBarChildren(children);
25
27
  const secureGap = gapBetweenBars * 2;
@@ -55,7 +57,14 @@ export const BarChartStructure = ({ canvasConfig = DefaultCanvasConfig, caption,
55
57
  pKey,
56
58
  viewBox,
57
59
  });
58
- }, [canvasHeight, canvasWidth, dataFingerprint, pKey, orientation, errorAccumulator.addError]);
60
+ }, [
61
+ parsedCanvasHeight,
62
+ parsedCanvasWidth,
63
+ dataFingerprint,
64
+ pKey,
65
+ orientation,
66
+ errorAccumulator.addError,
67
+ ]);
59
68
  return (_jsx(SvgContainer, { caption: caption, className: classNames, dataTestId: dataTestId, height: height, role: role, tabIndex: tabIndex, viewBox: viewBox, width: width, ...props, children: _jsx(BarChartContext.Provider, { value: {
60
69
  ...contextValue,
61
70
  barChildrenCount,
@@ -1 +1 @@
1
- {"version":3,"file":"barChartPath.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartPath.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuFpD,CAAC"}
1
+ {"version":3,"file":"barChartPath.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartPath.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+FpD,CAAC"}
@@ -11,7 +11,7 @@ import { BarChartContext } from '../context/barChartContext';
11
11
  * @param key Key to extract values from
12
12
  * @returns Array of values for the given key
13
13
  */
14
- export const BarChartPath = ({ barConfig, dataIdx, dataKey, order, ...props }) => {
14
+ export const BarChartPath = ({ barConfig, dataIdx, dataKey, focusConfig, onBlur, onFocus, order, tabIndex, ...props }) => {
15
15
  const { addError, xAxisCoordinates, yAxisCoordinates, ...context } = useContext(BarChartContext);
16
16
  const { coordinates: xACoord, tickValues: xTickValues } = xAxisCoordinates;
17
17
  const { coordinates: yACoord, tickValues: yTickValues } = yAxisCoordinates;
@@ -67,5 +67,5 @@ export const BarChartPath = ({ barConfig, dataIdx, dataKey, order, ...props }) =
67
67
  y1: yPoint,
68
68
  y2: yPoint,
69
69
  };
70
- return (_jsx(Bar, { barConfig: barConfig, currentBars: context.barChildrenCount, dataKey: dataKey, extraSpacing: context.gapBetweenBars, order: order, orientation: context.orientation, xData: xData, xKey: xKey, yData: yData, yKey: yKey, ...points, ...props }));
70
+ return (_jsx(Bar, { barConfig: barConfig, currentBars: context.barChildrenCount, dataKey: dataKey, extraSpacing: context.gapBetweenBars, focusConfig: focusConfig, order: order, orientation: context.orientation, tabIndex: tabIndex, xData: xData, xKey: xKey, yData: yData, yKey: yKey, onBlur: onBlur, onFocus: onFocus, ...points, ...props }));
71
71
  };
@@ -66,6 +66,9 @@ export interface LineChartProps {
66
66
  height?: string | number;
67
67
  data: IDataPoint[];
68
68
  xKey: string;
69
+ /**
70
+ * @deprecated Use `width` and `height` props instead to define chart dimensions.
71
+ */
69
72
  canvasConfig?: CanvasConfig;
70
73
  dataTestId?: string;
71
74
  caption?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lineChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/lineChart/lineChart.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lineChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/lineChart/lineChart.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lineChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/lineChart/lineChartStructure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAmD,MAAM,OAAO,CAAC;AAiB3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,cAAc,CAoJjD,CAAC"}
1
+ {"version":3,"file":"lineChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/lineChart/lineChartStructure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAmD,MAAM,OAAO,CAAC;AAe3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,cAAc,CA8HjD,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Children, useEffect, useMemo, useState } from 'react';
3
3
  import { SvgContainer } from '../../components/svgContainer/svgContainer';
4
- import { buildViewBox } from '../../components/svgContainer/utils/buildViewBox/buildViewBox';
4
+ import { useId } from '../../hooks/useId/useId';
5
+ import { useResponsiveCanvas } from '../../hooks/useResponsiveCanvas/useResponsiveCanvas';
5
6
  import { DefaultCanvasConfig } from '../../types/canvas.type';
6
7
  import { createErrorAccumulator } from '../../utils/createErrorAccumulator';
7
- import { getCanvasDimensions } from '../../utils/getCanvasDimensions/getCanvasDimensions';
8
8
  import { getChildrenAttr } from '../../utils/getChildrenAttr/getChildrenAttr';
9
9
  import { getDataFingerprint } from '../../utils/getDataFingerprint/getDataFingerprint';
10
- import { parseStringToNumberPx } from '../../utils/parseStringToNumberPx.ts/parseStringToNumberPx';
11
10
  import { buildLineContextValue } from './context/buildLineContextValue';
12
11
  import { LineChartContext } from './context/lineChartContext';
13
12
  import { LineChartXAxis } from './fragments/lineChartXAxis';
@@ -42,17 +41,16 @@ import { useHover } from './hook/useHover';
42
41
  *
43
42
  * @returns The rendered LineChart component.
44
43
  */
45
- export const LineChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId = 'line-chart', getPathArea, height = '100%', onErrors, role, tabIndex, width = '100%', xKey, ...props }) => {
46
- const { extraSpace: canvasExtraSpace, height: canvasHeight, width: canvasWidth } = canvasConfig;
44
+ export const LineChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId: dataTestIdProp = 'line-chart', getPathArea, height = '100%', onErrors, role, tabIndex, width = '100%', xKey, ...props }) => {
45
+ const dataTestId = useId(dataTestIdProp);
47
46
  const [childrenYKeys, setChildrenYKey] = useState('');
48
- const [parsedCanvas, setParsedCanvas] = useState({
49
- height: 0,
50
- width: 0,
47
+ // Use the responsive canvas hook for dimension management
48
+ const { parsedCanvas, parsedCanvasExtraSpace, viewBox } = useResponsiveCanvas({
49
+ canvasConfig,
50
+ dataTestId,
51
+ height,
52
+ width,
51
53
  });
52
- const parsedCanvasExtraSpace = canvasExtraSpace
53
- ? parseStringToNumberPx(canvasExtraSpace)
54
- : undefined;
55
- const viewBox = buildViewBox(parsedCanvas.width, parsedCanvas.height, parsedCanvasExtraSpace);
56
54
  // Set the default axis for the chart
57
55
  const defaultAxis = [
58
56
  _jsx(LineChartXAxis, {}, "default-x-axis"),
@@ -95,21 +93,6 @@ export const LineChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = Defau
95
93
  canvasHeight: parsedCanvas.height,
96
94
  canvasWidth: parsedCanvas.width,
97
95
  });
98
- useEffect(() => {
99
- const svgElement = document.querySelector('[data-kbt-svg]');
100
- if (!svgElement) {
101
- return;
102
- }
103
- const { parsedCanvasHeight, parsedCanvasWidth } = getCanvasDimensions({
104
- canvasHeight,
105
- canvasWidth,
106
- svgElement,
107
- });
108
- setParsedCanvas({
109
- height: parsedCanvasHeight,
110
- width: parsedCanvasWidth,
111
- });
112
- }, [canvasWidth, canvasHeight]);
113
96
  useEffect(() => {
114
97
  getPathArea?.({
115
98
  x1: contextValue.xAxisCoordinates.coordinates.x1,
@@ -16,6 +16,9 @@ export interface PieChartProps {
16
16
  ariaLabel?: string;
17
17
  ariaHidden?: boolean;
18
18
  caption?: string;
19
+ /**
20
+ * @deprecated Use `width` and `height` props instead to define chart dimensions.
21
+ */
19
22
  canvasConfig?: CanvasConfig;
20
23
  dataTestId?: string;
21
24
  width?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pieChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/pieChart/pieChart.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pieChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/pieChart/pieChart.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pieChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/pieChart/pieChartStructure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAY5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,aAAa,CA8E/C,CAAC"}
1
+ {"version":3,"file":"pieChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/pieChart/pieChartStructure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAY5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAgF/C,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
3
  import { SvgContainer } from '../../components/svgContainer/svgContainer';
4
- import { buildViewBox } from '../../components/svgContainer/utils/buildViewBox/buildViewBox';
4
+ import { useId } from '../../hooks/useId/useId';
5
+ import { useResponsiveCanvas } from '../../hooks/useResponsiveCanvas/useResponsiveCanvas';
5
6
  import { DefaultCanvasConfig } from '../../types/canvas.type';
6
7
  import { createErrorAccumulator } from '../../utils/createErrorAccumulator';
7
8
  import { getDataFingerprint } from '../../utils/getDataFingerprint/getDataFingerprint';
8
- import { parseStringToNumberPx } from '../../utils/parseStringToNumberPx.ts/parseStringToNumberPx';
9
9
  import { buildPieContextValue } from './context/buildPieContextValue';
10
10
  import { PieChartContext } from './context/pieChartContext';
11
11
  /**
@@ -38,16 +38,17 @@ import { PieChartContext } from './context/pieChartContext';
38
38
  * @param {ChartData[]} props.data - The data for the pie chart.
39
39
  * @returns {ReactElement} The rendered pie chart component.
40
40
  */
41
- export const PieChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId = 'pie-chart', halfChart, height = '100%', onErrors, radius = '50%', role, tabIndex, width = '100%', ...props }) => {
42
- // Destructure the canvas configuration to obtain width, height, and extra space.
43
- const { extraSpace: canvasExtraSpace, height: canvasHeight, width: canvasWidth } = canvasConfig;
44
- const parsedCanvasWidth = parseStringToNumberPx(canvasWidth);
45
- const parsedCanvasHeight = parseStringToNumberPx(canvasHeight);
46
- const parsedCanvasExtraSpace = canvasExtraSpace
47
- ? parseStringToNumberPx(canvasExtraSpace)
48
- : undefined;
49
- // Build the viewBox string based on canvas dimensions and extra space.
50
- const viewBox = buildViewBox(parsedCanvasWidth, parsedCanvasHeight, parsedCanvasExtraSpace);
41
+ export const PieChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = DefaultCanvasConfig, caption, children, classNames, data, dataTestId: dataTestIdProp = 'pie-chart', halfChart, height = '100%', onErrors, radius = '50%', role, tabIndex, width = '100%', ...props }) => {
42
+ const dataTestId = useId(dataTestIdProp);
43
+ // Use the responsive canvas hook for dimension management
44
+ const { parsedCanvas, viewBox } = useResponsiveCanvas({
45
+ canvasConfig,
46
+ dataTestId,
47
+ height,
48
+ width,
49
+ });
50
+ const parsedCanvasWidth = parsedCanvas.width;
51
+ const parsedCanvasHeight = parsedCanvas.height;
51
52
  const errorAccumulator = useMemo(() => createErrorAccumulator(onErrors), [onErrors]);
52
53
  // Create a fingerprint of the data to avoid unnecessary contextValue updates
53
54
  const dataFingerprint = getDataFingerprint(data);
@@ -63,7 +64,7 @@ export const PieChartStructure = ({ ariaHidden, ariaLabel, canvasConfig = Defaul
63
64
  children,
64
65
  halfChart,
65
66
  });
66
- }, [canvasHeight, canvasWidth, halfChart, dataFingerprint, errorAccumulator]);
67
+ }, [parsedCanvasHeight, parsedCanvasWidth, halfChart, dataFingerprint, errorAccumulator]);
67
68
  return (_jsx(SvgContainer, { ariaHidden: ariaHidden, ariaLabel: ariaLabel, caption: caption, className: classNames, dataTestId: dataTestId, height: height, radius: radius, role: role, tabIndex: tabIndex, viewBox: viewBox, width: width, ...props, children: _jsx(PieChartContext.Provider, { value: {
68
69
  ...contextValue,
69
70
  canvasHeight: parsedCanvasHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"bar.d.ts","sourceRoot":"","sources":["../../../../src/components/bar/bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAgB,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAiE5B,CAAC"}
1
+ {"version":3,"file":"bar.d.ts","sourceRoot":"","sources":["../../../../src/components/bar/bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAgB,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CA4E5B,CAAC"}
@@ -3,7 +3,10 @@ import { Path } from '../path/path';
3
3
  import { buildAriaLabel } from './utils/accessibility';
4
4
  import { buildD } from './utils/buildD';
5
5
  import { getSegments } from './utils/getSegments';
6
- export const Bar = ({ barConfig, currentBars, endRounded, extraSpacing = 0, order = 1, orientation, startRounded, x1, x2, y1, y2,
6
+ export const Bar = ({ barConfig, currentBars, endRounded, extraSpacing = 0, focusConfig = {
7
+ stroke: '#0078D4',
8
+ strokeWidth: 0.2,
9
+ }, onBlur, onFocus, order = 1, orientation, startRounded, tabIndex = 0, x1, x2, y1, y2,
7
10
  // Allow to build a11y aria-labels with templates
8
11
  dataKey, xKey, yKey, xData, yData, }) => {
9
12
  const { barWidth, singleConfig } = barConfig;
@@ -33,9 +36,9 @@ dataKey, xKey, yKey, xData, yData, }) => {
33
36
  yData,
34
37
  coverage: singleProps.coverage,
35
38
  index,
36
- }), d: d, fill: color, hoverConfig: {
39
+ }), d: d, fill: color, focusConfig: focusConfig, hoverConfig: {
37
40
  stroke: 'transparent',
38
41
  strokeWidth: '0',
39
- }, stroke: "transparent", ...singleProps }, `${index.toString()}`));
42
+ }, stroke: "transparent", tabIndex: tabIndex, onBlur: onBlur, onFocus: onFocus, ...singleProps }, `${index.toString()}`));
40
43
  }) }));
41
44
  };
@@ -1,4 +1,5 @@
1
1
  import type { AriaAttributes, HTMLAttributes } from 'react';
2
+ import type { StyleProps } from '../../components/path/path.types';
2
3
  export declare const BarOrientation: {
3
4
  readonly HORIZONTAL: "HORIZONTAL";
4
5
  readonly VERTICAL: "VERTICAL";
@@ -31,6 +32,14 @@ export interface BarProps {
31
32
  y2: number;
32
33
  startRounded?: number;
33
34
  endRounded?: number;
35
+ /**
36
+ * @deprecated In the next major version, this prop will use a more restrictive interface
37
+ * based on FocusConfig type. Other StyleProps fields are currently ignored.
38
+ */
39
+ focusConfig?: StyleProps;
40
+ tabIndex?: number;
41
+ onFocus?: (event: React.FocusEvent<SVGPathElement>) => void;
42
+ onBlur?: (event: React.FocusEvent<SVGPathElement>) => void;
34
43
  dataKey?: string;
35
44
  xKey?: string;
36
45
  yKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"bar.type.d.ts","sourceRoot":"","sources":["../../../../src/components/bar/bar.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5D,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,cAAc;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"bar.type.d.ts","sourceRoot":"","sources":["../../../../src/components/bar/bar.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,cAAc;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAE3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/components/path/path.tsx"],"names":[],"mappings":"AAiBA,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA4M9C,eAAO,MAAM,IAAI,+FAA4B,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/components/path/path.tsx"],"names":[],"mappings":"AAoBA,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAkO9C,eAAO,MAAM,IAAI,+FAA4B,CAAC"}