@automattic/charts 0.53.0 → 0.53.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 (122) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/charts/bar-chart/index.cjs +5 -5
  3. package/dist/charts/bar-chart/index.d.cts +1 -1
  4. package/dist/charts/bar-chart/index.d.ts +1 -1
  5. package/dist/charts/bar-chart/index.js +4 -4
  6. package/dist/charts/bar-list-chart/index.cjs +6 -6
  7. package/dist/charts/bar-list-chart/index.d.cts +1 -1
  8. package/dist/charts/bar-list-chart/index.d.ts +1 -1
  9. package/dist/charts/bar-list-chart/index.js +5 -5
  10. package/dist/charts/conversion-funnel-chart/index.cjs +4 -4
  11. package/dist/charts/conversion-funnel-chart/index.d.cts +1 -1
  12. package/dist/charts/conversion-funnel-chart/index.d.ts +1 -1
  13. package/dist/charts/conversion-funnel-chart/index.js +3 -3
  14. package/dist/charts/geo-chart/index.cjs +13 -0
  15. package/dist/charts/geo-chart/index.cjs.map +1 -0
  16. package/dist/charts/geo-chart/index.css +8 -0
  17. package/dist/charts/geo-chart/index.css.map +1 -0
  18. package/dist/charts/geo-chart/index.d.cts +62 -0
  19. package/dist/charts/geo-chart/index.d.ts +62 -0
  20. package/dist/charts/geo-chart/index.js +13 -0
  21. package/dist/charts/geo-chart/index.js.map +1 -0
  22. package/dist/charts/leaderboard-chart/index.cjs +5 -5
  23. package/dist/charts/leaderboard-chart/index.d.cts +2 -2
  24. package/dist/charts/leaderboard-chart/index.d.ts +2 -2
  25. package/dist/charts/leaderboard-chart/index.js +4 -4
  26. package/dist/charts/line-chart/index.cjs +5 -5
  27. package/dist/charts/line-chart/index.d.cts +1 -1
  28. package/dist/charts/line-chart/index.d.ts +1 -1
  29. package/dist/charts/line-chart/index.js +4 -4
  30. package/dist/charts/pie-chart/index.cjs +6 -6
  31. package/dist/charts/pie-chart/index.d.cts +1 -1
  32. package/dist/charts/pie-chart/index.d.ts +1 -1
  33. package/dist/charts/pie-chart/index.js +5 -5
  34. package/dist/charts/pie-semi-circle-chart/index.cjs +6 -6
  35. package/dist/charts/pie-semi-circle-chart/index.d.cts +1 -1
  36. package/dist/charts/pie-semi-circle-chart/index.d.ts +1 -1
  37. package/dist/charts/pie-semi-circle-chart/index.js +5 -5
  38. package/dist/{chunk-ERGEUE7R.cjs → chunk-4KEE36W3.cjs} +19 -19
  39. package/dist/chunk-4KEE36W3.cjs.map +1 -0
  40. package/dist/{chunk-4RYV2TII.js → chunk-6RKPV3UP.js} +10 -10
  41. package/dist/{chunk-VER6S543.js → chunk-ALDWCNLH.js} +3 -3
  42. package/dist/chunk-CLSMJQCO.cjs +121 -0
  43. package/dist/chunk-CLSMJQCO.cjs.map +1 -0
  44. package/dist/{chunk-2FRTJVQ3.js → chunk-DCZ47KPZ.js} +6 -6
  45. package/dist/chunk-DCZ47KPZ.js.map +1 -0
  46. package/dist/{chunk-GWNXOI4M.cjs → chunk-DDV5726Q.cjs} +25 -25
  47. package/dist/{chunk-GWNXOI4M.cjs.map → chunk-DDV5726Q.cjs.map} +1 -1
  48. package/dist/{chunk-O2BJMTIS.js → chunk-DYMJWNYM.js} +2 -2
  49. package/dist/{chunk-A7X3CNEO.cjs → chunk-FVWTBK44.cjs} +6 -6
  50. package/dist/{chunk-A7X3CNEO.cjs.map → chunk-FVWTBK44.cjs.map} +1 -1
  51. package/dist/{chunk-ZN7KVU4R.cjs → chunk-GX4XTD6V.cjs} +76 -76
  52. package/dist/{chunk-ZN7KVU4R.cjs.map → chunk-GX4XTD6V.cjs.map} +1 -1
  53. package/dist/{chunk-VTMJWCCW.js → chunk-H6XRINJE.js} +10 -10
  54. package/dist/{chunk-CQPKK55N.js → chunk-HPJ5XSZM.js} +60 -60
  55. package/dist/{chunk-CQPKK55N.js.map → chunk-HPJ5XSZM.js.map} +1 -1
  56. package/dist/{chunk-6QCSXXDY.cjs → chunk-JWMWOBAX.cjs} +23 -23
  57. package/dist/{chunk-6QCSXXDY.cjs.map → chunk-JWMWOBAX.cjs.map} +1 -1
  58. package/dist/{chunk-DY7IVYWP.js → chunk-KBORJZKC.js} +8 -8
  59. package/dist/{chunk-W4ZYJ74Q.js → chunk-KORG7ITC.js} +3 -3
  60. package/dist/{chunk-AHUSYMYS.cjs → chunk-LNLHCZ6F.cjs} +28 -28
  61. package/dist/{chunk-AHUSYMYS.cjs.map → chunk-LNLHCZ6F.cjs.map} +1 -1
  62. package/dist/chunk-RDJ5PKC5.js +121 -0
  63. package/dist/chunk-RDJ5PKC5.js.map +1 -0
  64. package/dist/{chunk-P3QEXFTA.js → chunk-TE63Y5PX.js} +9 -1
  65. package/dist/chunk-TE63Y5PX.js.map +1 -0
  66. package/dist/{chunk-O23EGQ3H.cjs → chunk-UWAZGLHG.cjs} +22 -22
  67. package/dist/{chunk-O23EGQ3H.cjs.map → chunk-UWAZGLHG.cjs.map} +1 -1
  68. package/dist/{chunk-W3H42XRV.cjs → chunk-WKN6C4ZE.cjs} +10 -10
  69. package/dist/{chunk-W3H42XRV.cjs.map → chunk-WKN6C4ZE.cjs.map} +1 -1
  70. package/dist/{chunk-RHQIACQT.js → chunk-Z34VYZGR.js} +9 -9
  71. package/dist/{chunk-NYZFVI2P.cjs → chunk-ZPJHWKEK.cjs} +9 -9
  72. package/dist/{chunk-NYZFVI2P.cjs.map → chunk-ZPJHWKEK.cjs.map} +1 -1
  73. package/dist/{chunk-DAKYGZG6.cjs → chunk-ZVGEDXDP.cjs} +10 -2
  74. package/dist/chunk-ZVGEDXDP.cjs.map +1 -0
  75. package/dist/components/legend/index.cjs +4 -4
  76. package/dist/components/legend/index.d.cts +1 -1
  77. package/dist/components/legend/index.d.ts +1 -1
  78. package/dist/components/legend/index.js +3 -3
  79. package/dist/components/tooltip/index.d.cts +1 -1
  80. package/dist/components/tooltip/index.d.ts +1 -1
  81. package/dist/hooks/index.cjs +3 -3
  82. package/dist/hooks/index.d.cts +1 -1
  83. package/dist/hooks/index.d.ts +1 -1
  84. package/dist/hooks/index.js +2 -2
  85. package/dist/index.cjs +26 -126
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +15 -55
  88. package/dist/index.d.ts +15 -55
  89. package/dist/index.js +38 -138
  90. package/dist/index.js.map +1 -1
  91. package/dist/{leaderboard-chart-3dKYMfoP.d.cts → leaderboard-chart-CN80sJmQ.d.cts} +1 -1
  92. package/dist/{leaderboard-chart-BqH8BLiG.d.ts → leaderboard-chart-DPi2ueOg.d.ts} +1 -1
  93. package/dist/providers/index.cjs +3 -3
  94. package/dist/providers/index.d.cts +2 -2
  95. package/dist/providers/index.d.ts +2 -2
  96. package/dist/providers/index.js +2 -2
  97. package/dist/{themes-ChB_VjWt.d.ts → themes-AriuFXQ2.d.ts} +2 -2
  98. package/dist/{themes-DijSDhqQ.d.cts → themes-Dzg0wE3B.d.cts} +2 -2
  99. package/dist/{types-sQ20gAeB.d.cts → types-D1lTxRyg.d.cts} +1 -1
  100. package/dist/{types-sQ20gAeB.d.ts → types-D1lTxRyg.d.ts} +1 -1
  101. package/dist/utils/index.cjs +4 -2
  102. package/dist/utils/index.cjs.map +1 -1
  103. package/dist/utils/index.d.cts +11 -2
  104. package/dist/utils/index.d.ts +11 -2
  105. package/dist/utils/index.js +3 -1
  106. package/package.json +31 -23
  107. package/src/charts/conversion-funnel-chart/conversion-funnel-chart.tsx +2 -5
  108. package/src/charts/sparkline/sparkline.tsx +2 -0
  109. package/src/charts/sparkline/types.ts +8 -0
  110. package/src/utils/color-utils.ts +19 -0
  111. package/src/utils/test/color-utils.test.ts +232 -0
  112. package/dist/chunk-2FRTJVQ3.js.map +0 -1
  113. package/dist/chunk-DAKYGZG6.cjs.map +0 -1
  114. package/dist/chunk-ERGEUE7R.cjs.map +0 -1
  115. package/dist/chunk-P3QEXFTA.js.map +0 -1
  116. /package/dist/{chunk-4RYV2TII.js.map → chunk-6RKPV3UP.js.map} +0 -0
  117. /package/dist/{chunk-VER6S543.js.map → chunk-ALDWCNLH.js.map} +0 -0
  118. /package/dist/{chunk-O2BJMTIS.js.map → chunk-DYMJWNYM.js.map} +0 -0
  119. /package/dist/{chunk-VTMJWCCW.js.map → chunk-H6XRINJE.js.map} +0 -0
  120. /package/dist/{chunk-DY7IVYWP.js.map → chunk-KBORJZKC.js.map} +0 -0
  121. /package/dist/{chunk-W4ZYJ74Q.js.map → chunk-KORG7ITC.js.map} +0 -0
  122. /package/dist/{chunk-RHQIACQT.js.map → chunk-Z34VYZGR.js.map} +0 -0
@@ -6,20 +6,20 @@ var _chunk7OZEQ5HEcjs = require('./chunk-7OZEQ5HE.cjs');
6
6
  var _chunkOTZT3MC2cjs = require('./chunk-OTZT3MC2.cjs');
7
7
 
8
8
 
9
- var _chunk7HROSZRScjs = require('./chunk-7HROSZRS.cjs');
10
9
 
11
10
 
11
+ var _chunkHIWNB5PKcjs = require('./chunk-HIWNB5PK.cjs');
12
12
 
13
13
 
14
- var _chunkHIWNB5PKcjs = require('./chunk-HIWNB5PK.cjs');
15
14
 
16
15
 
17
- var _chunkMUUSZ7J5cjs = require('./chunk-MUUSZ7J5.cjs');
16
+ var _chunkZPJHWKEKcjs = require('./chunk-ZPJHWKEK.cjs');
18
17
 
19
18
 
19
+ var _chunk7HROSZRScjs = require('./chunk-7HROSZRS.cjs');
20
20
 
21
21
 
22
- var _chunkNYZFVI2Pcjs = require('./chunk-NYZFVI2P.cjs');
22
+ var _chunkMUUSZ7J5cjs = require('./chunk-MUUSZ7J5.cjs');
23
23
 
24
24
 
25
25
 
@@ -30,10 +30,10 @@ var _chunkNYZFVI2Pcjs = require('./chunk-NYZFVI2P.cjs');
30
30
 
31
31
 
32
32
 
33
- var _chunkW3H42XRVcjs = require('./chunk-W3H42XRV.cjs');
33
+ var _chunkWKN6C4ZEcjs = require('./chunk-WKN6C4ZE.cjs');
34
34
 
35
35
 
36
- var _chunkDAKYGZG6cjs = require('./chunk-DAKYGZG6.cjs');
36
+ var _chunkZVGEDXDPcjs = require('./chunk-ZVGEDXDP.cjs');
37
37
 
38
38
  // src/charts/pie-chart/pie-chart.tsx
39
39
  var _event = require('@visx/event');
@@ -92,9 +92,9 @@ var PieChartInternal = ({
92
92
  tooltipOffsetX = 0,
93
93
  tooltipOffsetY = -15
94
94
  }) => {
95
- const providerTheme = _chunkW3H42XRVcjs.useGlobalChartsTheme.call(void 0, );
96
- const chartId = _chunkW3H42XRVcjs.useChartId.call(void 0, providedChartId);
97
- const [legendRef, legendHeight] = _chunkW3H42XRVcjs.useElementHeight.call(void 0, );
95
+ const providerTheme = _chunkWKN6C4ZEcjs.useGlobalChartsTheme.call(void 0, );
96
+ const chartId = _chunkWKN6C4ZEcjs.useChartId.call(void 0, providedChartId);
97
+ const [legendRef, legendHeight] = _chunkWKN6C4ZEcjs.useElementHeight.call(void 0, );
98
98
  const { tooltipOpen, tooltipLeft, tooltipTop, tooltipData, hideTooltip, showTooltip } = _tooltip.useTooltip.call(void 0, );
99
99
  const { containerRef, TooltipInPortal } = _tooltip.useTooltipInPortal.call(void 0, {
100
100
  detectBounds: true,
@@ -107,8 +107,8 @@ var PieChartInternal = ({
107
107
  }
108
108
  hideTooltip();
109
109
  }, [withTooltips, hideTooltip]);
110
- const { getElementStyles, isSeriesVisible } = _chunkW3H42XRVcjs.useGlobalChartsContext.call(void 0, );
111
- const { visibleData, allSegmentsHidden, legendData } = _chunkW3H42XRVcjs.useInteractiveLegendData.call(void 0, {
110
+ const { getElementStyles, isSeriesVisible } = _chunkWKN6C4ZEcjs.useGlobalChartsContext.call(void 0, );
111
+ const { visibleData, allSegmentsHidden, legendData } = _chunkWKN6C4ZEcjs.useInteractiveLegendData.call(void 0, {
112
112
  data,
113
113
  chartId,
114
114
  legendInteractive,
@@ -118,7 +118,7 @@ var PieChartInternal = ({
118
118
  () => ({ showValues: true, legendValueDisplay }),
119
119
  [legendValueDisplay]
120
120
  );
121
- const legendItems = _chunkNYZFVI2Pcjs.useChartLegendItems.call(void 0, legendData, legendOptions);
121
+ const legendItems = _chunkZPJHWKEKcjs.useChartLegendItems.call(void 0, legendData, legendOptions);
122
122
  const { isValid, message } = validateData(data);
123
123
  const { svgChildren, htmlChildren, otherChildren } = _chunkHIWNB5PKcjs.useChartChildren.call(void 0, children, "PieChart");
124
124
  const chartMetadata = _react.useMemo.call(void 0,
@@ -129,14 +129,14 @@ var PieChartInternal = ({
129
129
  }),
130
130
  [thickness, gapScale, cornerScale]
131
131
  );
132
- _chunkW3H42XRVcjs.useChartRegistration.call(void 0, {
132
+ _chunkWKN6C4ZEcjs.useChartRegistration.call(void 0, {
133
133
  chartId,
134
134
  legendItems,
135
135
  chartType: "pie",
136
136
  isDataValid: isValid,
137
137
  metadata: chartMetadata
138
138
  });
139
- const prefersReducedMotion = _chunkW3H42XRVcjs.usePrefersReducedMotion.call(void 0, );
139
+ const prefersReducedMotion = _chunkWKN6C4ZEcjs.usePrefersReducedMotion.call(void 0, );
140
140
  if (!isValid) {
141
141
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _clsx2.default.call(void 0, "pie-chart", pie_chart_module_default["pie-chart"], className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: pie_chart_module_default["error-message"], children: message }) });
142
142
  }
@@ -165,7 +165,7 @@ var PieChartInternal = ({
165
165
  }
166
166
  };
167
167
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
168
- _chunkNYZFVI2Pcjs.SingleChartContext.Provider,
168
+ _chunkZPJHWKEKcjs.SingleChartContext.Provider,
169
169
  {
170
170
  value: {
171
171
  chartId,
@@ -304,7 +304,7 @@ var PieChartInternal = ({
304
304
  }
305
305
  ),
306
306
  showLegend && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
307
- _chunkNYZFVI2Pcjs.Legend,
307
+ _chunkZPJHWKEKcjs.Legend,
308
308
  {
309
309
  orientation: legendOrientation,
310
310
  position: legendPosition,
@@ -329,22 +329,22 @@ var PieChartInternal = ({
329
329
  );
330
330
  };
331
331
  var PieChartWithProvider = (props) => {
332
- const existingContext = _react.useContext.call(void 0, _chunkW3H42XRVcjs.GlobalChartsContext);
332
+ const existingContext = _react.useContext.call(void 0, _chunkWKN6C4ZEcjs.GlobalChartsContext);
333
333
  if (existingContext) {
334
334
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PieChartInternal, { ...props });
335
335
  }
336
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkW3H42XRVcjs.GlobalChartsProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PieChartInternal, { ...props }) });
336
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWKN6C4ZEcjs.GlobalChartsProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PieChartInternal, { ...props }) });
337
337
  };
338
338
  PieChartWithProvider.displayName = "PieChart";
339
- var PieChart = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0, PieChartWithProvider, {
340
- Legend: _chunkNYZFVI2Pcjs.Legend,
339
+ var PieChart = _chunkZVGEDXDPcjs.attachSubComponents.call(void 0, PieChartWithProvider, {
340
+ Legend: _chunkZPJHWKEKcjs.Legend,
341
341
  SVG: _chunkHIWNB5PKcjs.ChartSVG,
342
342
  HTML: _chunkHIWNB5PKcjs.ChartHTML
343
343
  });
344
- var PieChartResponsive = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0,
344
+ var PieChartResponsive = _chunkZVGEDXDPcjs.attachSubComponents.call(void 0,
345
345
  _chunkMUUSZ7J5cjs.withResponsive.call(void 0, PieChartWithProvider),
346
346
  {
347
- Legend: _chunkNYZFVI2Pcjs.Legend,
347
+ Legend: _chunkZPJHWKEKcjs.Legend,
348
348
  SVG: _chunkHIWNB5PKcjs.ChartSVG,
349
349
  HTML: _chunkHIWNB5PKcjs.ChartHTML
350
350
  }
@@ -354,4 +354,4 @@ var PieChartResponsive = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0,
354
354
 
355
355
 
356
356
  exports.PieChart = PieChart; exports.PieChartResponsive = PieChartResponsive;
357
- //# sourceMappingURL=chunk-6QCSXXDY.cjs.map
357
+ //# sourceMappingURL=chunk-JWMWOBAX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-6QCSXXDY.cjs","../src/charts/pie-chart/pie-chart.tsx","../src/charts/pie-chart/pie-chart.module.scss"],"names":[],"mappings":"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","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-6QCSXXDY.cjs","sourcesContent":[null,"import { localPoint } from '@visx/event';\nimport { Group } from '@visx/group';\nimport { Pie } from '@visx/shape';\nimport { useTooltip, useTooltipInPortal } from '@visx/tooltip';\nimport { __ } from '@wordpress/i18n';\nimport clsx from 'clsx';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { Legend, useChartLegendItems } from '../../components/legend';\nimport { BaseTooltip } from '../../components/tooltip';\nimport { useElementHeight, useInteractiveLegendData, usePrefersReducedMotion } from '../../hooks';\nimport {\n\tGlobalChartsProvider,\n\tuseChartId,\n\tuseChartRegistration,\n\tuseGlobalChartsContext,\n\tuseGlobalChartsTheme,\n\tGlobalChartsContext,\n} from '../../providers';\nimport { attachSubComponents } from '../../utils';\nimport { getStringWidth } from '../../visx/text';\nimport { ChartSVG, ChartHTML, useChartChildren } from '../private/chart-composition';\nimport { RadialWipeAnimation } from '../private/radial-wipe-animation/';\nimport { SingleChartContext } from '../private/single-chart-context';\nimport { withResponsive, ResponsiveConfig } from '../private/with-responsive';\nimport styles from './pie-chart.module.scss';\nimport type { LegendValueDisplay } from '../../components/legend';\nimport type { BaseChartProps, DataPointPercentage, Optional } from '../../types';\nimport type { ChartComponentWithComposition } from '../private/chart-composition';\nimport type { SVGProps, MouseEvent, ReactNode, FC } from 'react';\n\nexport interface PieChartProps extends BaseChartProps< DataPointPercentage[] > {\n\t/**\n\t * Inner radius in pixels. If > 0, creates a donut chart. Defaults to 0.\n\t */\n\tinnerRadius?: number;\n\n\t/**\n\t * Add padding to the chart\n\t */\n\tpadding?: number;\n\n\t/**\n\t * Thickness of the pie chart.\n\t * A value between 0 and 1, where 0 means no thickness\n\t * and 1 means the maximum thickness.\n\t */\n\tthickness?: number;\n\n\t/**\n\t * Scale of the gap between groups in the pie chart\n\t * A value between 0 and 1, where 0 means no gap.\n\t */\n\tgapScale?: number;\n\n\t/**\n\t * Scale of the corner radius for the pie chart segments.\n\t * A value between 0 and 1, where 0 means no corner radius.\n\t */\n\tcornerScale?: number;\n\n\t/**\n\t * Whether to show labels on pie segments. Defaults to true.\n\t */\n\tshowLabels?: boolean;\n\n\t/**\n\t * What type of value to display in the legend when showValues is true.\n\t * - 'percentage': Shows percentage values (e.g., \"23%\") [default]\n\t * - 'value': Shows raw numeric values (e.g., \"30000\")\n\t * - 'valueDisplay': Shows formatted values (e.g., \"30K\")\n\t * - 'none': Shows no values, only labels\n\t */\n\tlegendValueDisplay?: LegendValueDisplay;\n\n\t/**\n\t * Enable interactive legend items that can toggle segment visibility.\n\t * Requires chartId and GlobalChartsProvider.\n\t * When segments are hidden, percentages are recalculated so visible segments total 100%.\n\t */\n\tlegendInteractive?: boolean;\n\n\t/**\n\t * Use the children prop to render additional elements on the chart.\n\t */\n\tchildren?: ReactNode;\n\n\t/**\n\t * Horizontal offset for tooltip positioning in pixels (default: 0)\n\t */\n\ttooltipOffsetX?: number;\n\n\t/**\n\t * Vertical offset for tooltip positioning in pixels (default: -15)\n\t */\n\ttooltipOffsetY?: number;\n}\n\n// Base props type with optional responsive properties\ntype PieChartBaseProps = Optional< PieChartProps, 'size' >;\n\n// Composition API types\ntype PieChartComponent = ChartComponentWithComposition< PieChartBaseProps >;\ntype PieChartResponsiveComponent = ChartComponentWithComposition<\n\tPieChartBaseProps & ResponsiveConfig\n>;\n\n/**\n * Validates the pie chart data\n * @param data - The data to validate\n * @return Object containing validation result and error message\n */\nconst validateData = ( data: DataPointPercentage[] ) => {\n\tif ( ! data.length ) {\n\t\treturn { isValid: false, message: 'No data available' };\n\t}\n\n\t// Check for negative values\n\tconst hasNegativeValues = data.some( item => item.percentage < 0 || item.value < 0 );\n\tif ( hasNegativeValues ) {\n\t\treturn { isValid: false, message: 'Invalid data: Negative values are not allowed' };\n\t}\n\n\t// Validate total percentage\n\tconst totalPercentage = data.reduce( ( sum, item ) => sum + item.percentage, 0 );\n\tif ( Math.abs( totalPercentage - 100 ) > 0.01 ) {\n\t\t// Using small epsilon for floating point comparison\n\t\treturn { isValid: false, message: 'Invalid percentage total: Must equal 100' };\n\t}\n\n\treturn { isValid: true, message: '' };\n};\n\n/**\n * Renders a pie or donut chart using the provided data.\n *\n * @param {PieChartProps} props - Component props\n * @return {JSX.Element} The rendered chart component\n */\nconst PieChartInternal = ( {\n\tdata,\n\tchartId: providedChartId,\n\twithTooltips = false,\n\tclassName,\n\tshowLegend = false,\n\tlegendOrientation = 'horizontal',\n\tlegendPosition = 'bottom',\n\tlegendAlignment = 'center',\n\tlegendMaxWidth,\n\tlegendTextOverflow = 'wrap',\n\tlegendItemClassName,\n\tlegendShape = 'circle',\n\tsize,\n\tanimation,\n\tthickness = 1,\n\tpadding = 0,\n\tgapScale = 0,\n\tcornerScale = 0,\n\tshowLabels = true,\n\tlegendValueDisplay = 'percentage',\n\tlegendInteractive = false,\n\tchildren = null,\n\ttooltipOffsetX = 0,\n\ttooltipOffsetY = -15,\n}: PieChartProps ) => {\n\tconst providerTheme = useGlobalChartsTheme();\n\tconst chartId = useChartId( providedChartId );\n\tconst [ legendRef, legendHeight ] = useElementHeight< HTMLDivElement >();\n\tconst { tooltipOpen, tooltipLeft, tooltipTop, tooltipData, hideTooltip, showTooltip } =\n\t\tuseTooltip< DataPointPercentage >();\n\n\t// Set up portal tooltip for better z-index handling\n\tconst { containerRef, TooltipInPortal } = useTooltipInPortal( {\n\t\tdetectBounds: true,\n\t\tscroll: true,\n\t\tdebounce: 0,\n\t} );\n\n\tconst onMouseLeave = useCallback( () => {\n\t\tif ( ! withTooltips ) {\n\t\t\treturn;\n\t\t}\n\t\thideTooltip();\n\t}, [ withTooltips, hideTooltip ] );\n\n\tconst { getElementStyles, isSeriesVisible } = useGlobalChartsContext();\n\n\t// Filter and recalculate data for interactive legends\n\tconst { visibleData, allSegmentsHidden, legendData } = useInteractiveLegendData( {\n\t\tdata,\n\t\tchartId,\n\t\tlegendInteractive,\n\t\tisSeriesVisible,\n\t} );\n\n\t// Memoize legend options to prevent unnecessary re-calculations\n\tconst legendOptions = useMemo(\n\t\t() => ( { showValues: true, legendValueDisplay } ),\n\t\t[ legendValueDisplay ]\n\t);\n\n\t// Create legend items using legendData (has recalculated percentages for visible items)\n\tconst legendItems = useChartLegendItems( legendData, legendOptions );\n\n\tconst { isValid, message } = validateData( data );\n\n\t// Process children to extract compound components\n\tconst { svgChildren, htmlChildren, otherChildren } = useChartChildren( children, 'PieChart' );\n\n\t// Memoize metadata to prevent unnecessary re-registration\n\tconst chartMetadata = useMemo(\n\t\t() => ( {\n\t\t\tthickness,\n\t\t\tgapScale,\n\t\t\tcornerScale,\n\t\t} ),\n\t\t[ thickness, gapScale, cornerScale ]\n\t);\n\n\t// Register chart with context only if data is valid\n\tuseChartRegistration( {\n\t\tchartId,\n\t\tlegendItems,\n\t\tchartType: 'pie',\n\t\tisDataValid: isValid,\n\t\tmetadata: chartMetadata,\n\t} );\n\n\tconst prefersReducedMotion = usePrefersReducedMotion();\n\n\tif ( ! isValid ) {\n\t\treturn (\n\t\t\t<div className={ clsx( 'pie-chart', styles[ 'pie-chart' ], className ) }>\n\t\t\t\t<div className={ styles[ 'error-message' ] }>{ message }</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst width = size;\n\tconst height = size;\n\tconst adjustedHeight = showLegend && legendPosition === 'top' ? height - legendHeight : height;\n\n\t// Calculate radius based on width/height\n\tconst radius = Math.min( width, adjustedHeight ) / 2;\n\n\t// Center the chart in the available space\n\tconst centerX = width / 2;\n\tconst centerY = adjustedHeight / 2;\n\n\t// Calculate the angle between each (use original data length for consistent spacing)\n\tconst padAngle = gapScale * ( ( 2 * Math.PI ) / data.length );\n\n\tconst outerRadius = radius - padding;\n\tconst innerRadius = thickness === 0 ? 0 : outerRadius * ( 1 - thickness );\n\n\tconst maxCornerRadius = ( outerRadius - innerRadius ) / 2;\n\tconst cornerRadius = cornerScale ? Math.min( cornerScale * outerRadius, maxCornerRadius ) : 0;\n\n\t// Map the data to include index for color assignment\n\t// When interactive, we need to find the original index to maintain consistent colors\n\tconst dataWithIndex = visibleData.map( d => {\n\t\tconst originalIndex = data.findIndex( item => item.label === d.label );\n\t\treturn {\n\t\t\t...d,\n\t\t\tindex: originalIndex >= 0 ? originalIndex : 0,\n\t\t};\n\t} );\n\n\tconst accessors = {\n\t\tvalue: ( d: DataPointPercentage ) => d.value,\n\t\tfill: ( d: DataPointPercentage & { index: number } ) => {\n\t\t\treturn getElementStyles( { data: d, index: d.index } ).color;\n\t\t},\n\t};\n\n\treturn (\n\t\t<SingleChartContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tchartId,\n\t\t\t\tchartWidth: width,\n\t\t\t\tchartHeight: adjustedHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<div\n\t\t\t\tref={ containerRef }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'pie-chart',\n\t\t\t\t\tstyles[ 'pie-chart' ],\n\t\t\t\t\t{ [ styles[ 'pie-chart--legend-top' ] ]: showLegend && legendPosition === 'top' },\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\tviewBox={ `0 0 ${ width } ${ adjustedHeight }` }\n\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ adjustedHeight }\n\t\t\t\t>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<RadialWipeAnimation\n\t\t\t\t\t\t\tid={ `radial-wipe-${ chartId }` }\n\t\t\t\t\t\t\tradius={ outerRadius }\n\t\t\t\t\t\t\tinnerRadius={ innerRadius }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</defs>\n\n\t\t\t\t\t<Group\n\t\t\t\t\t\ttop={ centerY }\n\t\t\t\t\t\tleft={ centerX }\n\t\t\t\t\t\tmask={ animation && ! prefersReducedMotion ? `url(#radial-wipe-${ chartId })` : null }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ allSegmentsHidden ? (\n\t\t\t\t\t\t\t<text\n\t\t\t\t\t\t\t\ttextAnchor=\"middle\"\n\t\t\t\t\t\t\t\tdy=\".33em\"\n\t\t\t\t\t\t\t\tfill={ providerTheme.gridColor || '#ccc' }\n\t\t\t\t\t\t\t\tfontSize=\"14\"\n\t\t\t\t\t\t\t\tfontFamily=\"-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'All segments are hidden. Click legend items to show data.',\n\t\t\t\t\t\t\t\t\t'jetpack-charts'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Pie< DataPointPercentage & { index: number } >\n\t\t\t\t\t\t\t\tdata={ dataWithIndex }\n\t\t\t\t\t\t\t\tpieValue={ accessors.value }\n\t\t\t\t\t\t\t\touterRadius={ outerRadius }\n\t\t\t\t\t\t\t\tinnerRadius={ innerRadius }\n\t\t\t\t\t\t\t\tpadAngle={ padAngle }\n\t\t\t\t\t\t\t\tcornerRadius={ cornerRadius }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ pie => {\n\t\t\t\t\t\t\t\t\treturn pie.arcs.map( ( arc, index ) => {\n\t\t\t\t\t\t\t\t\t\tconst [ centroidX, centroidY ] = pie.path.centroid( arc );\n\t\t\t\t\t\t\t\t\t\tconst hasSpaceForLabel = arc.endAngle - arc.startAngle >= 0.25;\n\t\t\t\t\t\t\t\t\t\tconst handleMouseMove = ( event: MouseEvent< SVGElement > ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( ! withTooltips ) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Get coordinates relative to the current target element\n\t\t\t\t\t\t\t\t\t\t\tconst coords = localPoint( event );\n\t\t\t\t\t\t\t\t\t\t\tif ( coords ) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Account for legend offset when legend is on top\n\t\t\t\t\t\t\t\t\t\t\t\tconst legendOffset =\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowLegend && legendPosition === 'top' ? legendHeight : 0;\n\t\t\t\t\t\t\t\t\t\t\t\tshowTooltip( {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipData: arc.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipLeft: coords.x + tooltipOffsetX,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipTop: coords.y + legendOffset + tooltipOffsetY,\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tconst pathProps: SVGProps< SVGPathElement > & { 'data-testid'?: string } = {\n\t\t\t\t\t\t\t\t\t\t\td: pie.path( arc ) || '',\n\t\t\t\t\t\t\t\t\t\t\tfill: accessors.fill( arc.data ),\n\t\t\t\t\t\t\t\t\t\t\t'data-testid': 'pie-segment',\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tconst groupProps: SVGProps< SVGGElement > = {};\n\t\t\t\t\t\t\t\t\t\tif ( withTooltips ) {\n\t\t\t\t\t\t\t\t\t\t\tgroupProps.onMouseMove = handleMouseMove;\n\t\t\t\t\t\t\t\t\t\t\tgroupProps.onMouseLeave = onMouseLeave;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Estimate text width more accurately for background sizing\n\t\t\t\t\t\t\t\t\t\tconst fontSize = 12;\n\t\t\t\t\t\t\t\t\t\tconst estimatedTextWidth = getStringWidth( arc.data.label, { fontSize } );\n\t\t\t\t\t\t\t\t\t\tconst labelPadding = 6;\n\t\t\t\t\t\t\t\t\t\tconst backgroundWidth = estimatedTextWidth + labelPadding * 2;\n\t\t\t\t\t\t\t\t\t\tconst backgroundHeight = fontSize + labelPadding * 2;\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<g key={ `arc-${ index }` } { ...groupProps }>\n\t\t\t\t\t\t\t\t\t\t\t\t<path { ...pathProps } />\n\t\t\t\t\t\t\t\t\t\t\t\t{ showLabels && hasSpaceForLabel && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ providerTheme.labelBackgroundColor && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx={ centroidX - backgroundWidth / 2 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty={ centroidY - backgroundHeight / 2 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth={ backgroundWidth }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight={ backgroundHeight }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfill={ providerTheme.labelBackgroundColor }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trx={ 4 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\try={ 4 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<text\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx={ centroidX }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty={ centroidY }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdy=\".33em\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfill={ providerTheme.labelTextColor || '#333' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize={ fontSize }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAnchor=\"middle\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ arc.data.label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t</Pie>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ /* Render SVG children (like Group, Text) inside the SVG */ }\n\t\t\t\t\t\t{ ! allSegmentsHidden && svgChildren }\n\t\t\t\t\t</Group>\n\t\t\t\t</svg>\n\n\t\t\t\t{ showLegend && (\n\t\t\t\t\t<Legend\n\t\t\t\t\t\torientation={ legendOrientation }\n\t\t\t\t\t\tposition={ legendPosition }\n\t\t\t\t\t\talignment={ legendAlignment }\n\t\t\t\t\t\tmaxWidth={ legendMaxWidth }\n\t\t\t\t\t\ttextOverflow={ legendTextOverflow }\n\t\t\t\t\t\tlegendItemClassName={ legendItemClassName }\n\t\t\t\t\t\tclassName={ styles[ 'pie-chart-legend' ] }\n\t\t\t\t\t\tshape={ legendShape }\n\t\t\t\t\t\tref={ legendRef }\n\t\t\t\t\t\tchartId={ chartId }\n\t\t\t\t\t\tinteractive={ legendInteractive }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ withTooltips && tooltipOpen && tooltipData && (\n\t\t\t\t\t<TooltipInPortal top={ tooltipTop || 0 } left={ tooltipLeft || 0 }>\n\t\t\t\t\t\t<div role=\"tooltip\">\n\t\t\t\t\t\t\t<BaseTooltip data={ tooltipData } top={ 0 } left={ 0 } renderContainer={ false } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TooltipInPortal>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Render HTML component children from PieChart.HTML */ }\n\t\t\t\t{ htmlChildren }\n\n\t\t\t\t{ /* Render other React children for backward compatibility */ }\n\t\t\t\t{ otherChildren }\n\t\t\t</div>\n\t\t</SingleChartContext.Provider>\n\t);\n};\n\nconst PieChartWithProvider: FC< PieChartProps > = props => {\n\tconst existingContext = useContext( GlobalChartsContext );\n\n\t// If we're already in a GlobalChartsProvider context, don't create a new one\n\tif ( existingContext ) {\n\t\treturn <PieChartInternal { ...props } />;\n\t}\n\n\t// Otherwise, create our own GlobalChartsProvider\n\treturn (\n\t\t<GlobalChartsProvider>\n\t\t\t<PieChartInternal { ...props } />\n\t\t</GlobalChartsProvider>\n\t);\n};\n\nPieChartWithProvider.displayName = 'PieChart';\n\n// Create PieChart with composition API\nconst PieChart = attachSubComponents( PieChartWithProvider, {\n\tLegend: Legend,\n\tSVG: ChartSVG,\n\tHTML: ChartHTML,\n} ) as PieChartComponent;\n\n// Create responsive PieChart with composition API\nconst PieChartResponsive = attachSubComponents(\n\twithResponsive< PieChartProps >( PieChartWithProvider ),\n\t{\n\t\tLegend: Legend,\n\t\tSVG: ChartSVG,\n\t\tHTML: ChartHTML,\n\t}\n) as PieChartResponsiveComponent;\n\nexport { PieChartResponsive as default, PieChart as PieChartUnresponsive };\n","import 'css-chunk:src/charts/pie-chart/pie-chart.module.scss';export default {\n \"pie-chart\": \"a8ccharts-C-n-Gu\",\n \"pie-chart--legend-top\": \"a8ccharts-Mu0uxl\"\n};"]}
1
+ {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-JWMWOBAX.cjs","../src/charts/pie-chart/pie-chart.tsx","../src/charts/pie-chart/pie-chart.module.scss"],"names":[],"mappings":"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","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-JWMWOBAX.cjs","sourcesContent":[null,"import { localPoint } from '@visx/event';\nimport { Group } from '@visx/group';\nimport { Pie } from '@visx/shape';\nimport { useTooltip, useTooltipInPortal } from '@visx/tooltip';\nimport { __ } from '@wordpress/i18n';\nimport clsx from 'clsx';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { Legend, useChartLegendItems } from '../../components/legend';\nimport { BaseTooltip } from '../../components/tooltip';\nimport { useElementHeight, useInteractiveLegendData, usePrefersReducedMotion } from '../../hooks';\nimport {\n\tGlobalChartsProvider,\n\tuseChartId,\n\tuseChartRegistration,\n\tuseGlobalChartsContext,\n\tuseGlobalChartsTheme,\n\tGlobalChartsContext,\n} from '../../providers';\nimport { attachSubComponents } from '../../utils';\nimport { getStringWidth } from '../../visx/text';\nimport { ChartSVG, ChartHTML, useChartChildren } from '../private/chart-composition';\nimport { RadialWipeAnimation } from '../private/radial-wipe-animation/';\nimport { SingleChartContext } from '../private/single-chart-context';\nimport { withResponsive, ResponsiveConfig } from '../private/with-responsive';\nimport styles from './pie-chart.module.scss';\nimport type { LegendValueDisplay } from '../../components/legend';\nimport type { BaseChartProps, DataPointPercentage, Optional } from '../../types';\nimport type { ChartComponentWithComposition } from '../private/chart-composition';\nimport type { SVGProps, MouseEvent, ReactNode, FC } from 'react';\n\nexport interface PieChartProps extends BaseChartProps< DataPointPercentage[] > {\n\t/**\n\t * Inner radius in pixels. If > 0, creates a donut chart. Defaults to 0.\n\t */\n\tinnerRadius?: number;\n\n\t/**\n\t * Add padding to the chart\n\t */\n\tpadding?: number;\n\n\t/**\n\t * Thickness of the pie chart.\n\t * A value between 0 and 1, where 0 means no thickness\n\t * and 1 means the maximum thickness.\n\t */\n\tthickness?: number;\n\n\t/**\n\t * Scale of the gap between groups in the pie chart\n\t * A value between 0 and 1, where 0 means no gap.\n\t */\n\tgapScale?: number;\n\n\t/**\n\t * Scale of the corner radius for the pie chart segments.\n\t * A value between 0 and 1, where 0 means no corner radius.\n\t */\n\tcornerScale?: number;\n\n\t/**\n\t * Whether to show labels on pie segments. Defaults to true.\n\t */\n\tshowLabels?: boolean;\n\n\t/**\n\t * What type of value to display in the legend when showValues is true.\n\t * - 'percentage': Shows percentage values (e.g., \"23%\") [default]\n\t * - 'value': Shows raw numeric values (e.g., \"30000\")\n\t * - 'valueDisplay': Shows formatted values (e.g., \"30K\")\n\t * - 'none': Shows no values, only labels\n\t */\n\tlegendValueDisplay?: LegendValueDisplay;\n\n\t/**\n\t * Enable interactive legend items that can toggle segment visibility.\n\t * Requires chartId and GlobalChartsProvider.\n\t * When segments are hidden, percentages are recalculated so visible segments total 100%.\n\t */\n\tlegendInteractive?: boolean;\n\n\t/**\n\t * Use the children prop to render additional elements on the chart.\n\t */\n\tchildren?: ReactNode;\n\n\t/**\n\t * Horizontal offset for tooltip positioning in pixels (default: 0)\n\t */\n\ttooltipOffsetX?: number;\n\n\t/**\n\t * Vertical offset for tooltip positioning in pixels (default: -15)\n\t */\n\ttooltipOffsetY?: number;\n}\n\n// Base props type with optional responsive properties\ntype PieChartBaseProps = Optional< PieChartProps, 'size' >;\n\n// Composition API types\ntype PieChartComponent = ChartComponentWithComposition< PieChartBaseProps >;\ntype PieChartResponsiveComponent = ChartComponentWithComposition<\n\tPieChartBaseProps & ResponsiveConfig\n>;\n\n/**\n * Validates the pie chart data\n * @param data - The data to validate\n * @return Object containing validation result and error message\n */\nconst validateData = ( data: DataPointPercentage[] ) => {\n\tif ( ! data.length ) {\n\t\treturn { isValid: false, message: 'No data available' };\n\t}\n\n\t// Check for negative values\n\tconst hasNegativeValues = data.some( item => item.percentage < 0 || item.value < 0 );\n\tif ( hasNegativeValues ) {\n\t\treturn { isValid: false, message: 'Invalid data: Negative values are not allowed' };\n\t}\n\n\t// Validate total percentage\n\tconst totalPercentage = data.reduce( ( sum, item ) => sum + item.percentage, 0 );\n\tif ( Math.abs( totalPercentage - 100 ) > 0.01 ) {\n\t\t// Using small epsilon for floating point comparison\n\t\treturn { isValid: false, message: 'Invalid percentage total: Must equal 100' };\n\t}\n\n\treturn { isValid: true, message: '' };\n};\n\n/**\n * Renders a pie or donut chart using the provided data.\n *\n * @param {PieChartProps} props - Component props\n * @return {JSX.Element} The rendered chart component\n */\nconst PieChartInternal = ( {\n\tdata,\n\tchartId: providedChartId,\n\twithTooltips = false,\n\tclassName,\n\tshowLegend = false,\n\tlegendOrientation = 'horizontal',\n\tlegendPosition = 'bottom',\n\tlegendAlignment = 'center',\n\tlegendMaxWidth,\n\tlegendTextOverflow = 'wrap',\n\tlegendItemClassName,\n\tlegendShape = 'circle',\n\tsize,\n\tanimation,\n\tthickness = 1,\n\tpadding = 0,\n\tgapScale = 0,\n\tcornerScale = 0,\n\tshowLabels = true,\n\tlegendValueDisplay = 'percentage',\n\tlegendInteractive = false,\n\tchildren = null,\n\ttooltipOffsetX = 0,\n\ttooltipOffsetY = -15,\n}: PieChartProps ) => {\n\tconst providerTheme = useGlobalChartsTheme();\n\tconst chartId = useChartId( providedChartId );\n\tconst [ legendRef, legendHeight ] = useElementHeight< HTMLDivElement >();\n\tconst { tooltipOpen, tooltipLeft, tooltipTop, tooltipData, hideTooltip, showTooltip } =\n\t\tuseTooltip< DataPointPercentage >();\n\n\t// Set up portal tooltip for better z-index handling\n\tconst { containerRef, TooltipInPortal } = useTooltipInPortal( {\n\t\tdetectBounds: true,\n\t\tscroll: true,\n\t\tdebounce: 0,\n\t} );\n\n\tconst onMouseLeave = useCallback( () => {\n\t\tif ( ! withTooltips ) {\n\t\t\treturn;\n\t\t}\n\t\thideTooltip();\n\t}, [ withTooltips, hideTooltip ] );\n\n\tconst { getElementStyles, isSeriesVisible } = useGlobalChartsContext();\n\n\t// Filter and recalculate data for interactive legends\n\tconst { visibleData, allSegmentsHidden, legendData } = useInteractiveLegendData( {\n\t\tdata,\n\t\tchartId,\n\t\tlegendInteractive,\n\t\tisSeriesVisible,\n\t} );\n\n\t// Memoize legend options to prevent unnecessary re-calculations\n\tconst legendOptions = useMemo(\n\t\t() => ( { showValues: true, legendValueDisplay } ),\n\t\t[ legendValueDisplay ]\n\t);\n\n\t// Create legend items using legendData (has recalculated percentages for visible items)\n\tconst legendItems = useChartLegendItems( legendData, legendOptions );\n\n\tconst { isValid, message } = validateData( data );\n\n\t// Process children to extract compound components\n\tconst { svgChildren, htmlChildren, otherChildren } = useChartChildren( children, 'PieChart' );\n\n\t// Memoize metadata to prevent unnecessary re-registration\n\tconst chartMetadata = useMemo(\n\t\t() => ( {\n\t\t\tthickness,\n\t\t\tgapScale,\n\t\t\tcornerScale,\n\t\t} ),\n\t\t[ thickness, gapScale, cornerScale ]\n\t);\n\n\t// Register chart with context only if data is valid\n\tuseChartRegistration( {\n\t\tchartId,\n\t\tlegendItems,\n\t\tchartType: 'pie',\n\t\tisDataValid: isValid,\n\t\tmetadata: chartMetadata,\n\t} );\n\n\tconst prefersReducedMotion = usePrefersReducedMotion();\n\n\tif ( ! isValid ) {\n\t\treturn (\n\t\t\t<div className={ clsx( 'pie-chart', styles[ 'pie-chart' ], className ) }>\n\t\t\t\t<div className={ styles[ 'error-message' ] }>{ message }</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst width = size;\n\tconst height = size;\n\tconst adjustedHeight = showLegend && legendPosition === 'top' ? height - legendHeight : height;\n\n\t// Calculate radius based on width/height\n\tconst radius = Math.min( width, adjustedHeight ) / 2;\n\n\t// Center the chart in the available space\n\tconst centerX = width / 2;\n\tconst centerY = adjustedHeight / 2;\n\n\t// Calculate the angle between each (use original data length for consistent spacing)\n\tconst padAngle = gapScale * ( ( 2 * Math.PI ) / data.length );\n\n\tconst outerRadius = radius - padding;\n\tconst innerRadius = thickness === 0 ? 0 : outerRadius * ( 1 - thickness );\n\n\tconst maxCornerRadius = ( outerRadius - innerRadius ) / 2;\n\tconst cornerRadius = cornerScale ? Math.min( cornerScale * outerRadius, maxCornerRadius ) : 0;\n\n\t// Map the data to include index for color assignment\n\t// When interactive, we need to find the original index to maintain consistent colors\n\tconst dataWithIndex = visibleData.map( d => {\n\t\tconst originalIndex = data.findIndex( item => item.label === d.label );\n\t\treturn {\n\t\t\t...d,\n\t\t\tindex: originalIndex >= 0 ? originalIndex : 0,\n\t\t};\n\t} );\n\n\tconst accessors = {\n\t\tvalue: ( d: DataPointPercentage ) => d.value,\n\t\tfill: ( d: DataPointPercentage & { index: number } ) => {\n\t\t\treturn getElementStyles( { data: d, index: d.index } ).color;\n\t\t},\n\t};\n\n\treturn (\n\t\t<SingleChartContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tchartId,\n\t\t\t\tchartWidth: width,\n\t\t\t\tchartHeight: adjustedHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<div\n\t\t\t\tref={ containerRef }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'pie-chart',\n\t\t\t\t\tstyles[ 'pie-chart' ],\n\t\t\t\t\t{ [ styles[ 'pie-chart--legend-top' ] ]: showLegend && legendPosition === 'top' },\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\tviewBox={ `0 0 ${ width } ${ adjustedHeight }` }\n\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ adjustedHeight }\n\t\t\t\t>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<RadialWipeAnimation\n\t\t\t\t\t\t\tid={ `radial-wipe-${ chartId }` }\n\t\t\t\t\t\t\tradius={ outerRadius }\n\t\t\t\t\t\t\tinnerRadius={ innerRadius }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</defs>\n\n\t\t\t\t\t<Group\n\t\t\t\t\t\ttop={ centerY }\n\t\t\t\t\t\tleft={ centerX }\n\t\t\t\t\t\tmask={ animation && ! prefersReducedMotion ? `url(#radial-wipe-${ chartId })` : null }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ allSegmentsHidden ? (\n\t\t\t\t\t\t\t<text\n\t\t\t\t\t\t\t\ttextAnchor=\"middle\"\n\t\t\t\t\t\t\t\tdy=\".33em\"\n\t\t\t\t\t\t\t\tfill={ providerTheme.gridColor || '#ccc' }\n\t\t\t\t\t\t\t\tfontSize=\"14\"\n\t\t\t\t\t\t\t\tfontFamily=\"-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'All segments are hidden. Click legend items to show data.',\n\t\t\t\t\t\t\t\t\t'jetpack-charts'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Pie< DataPointPercentage & { index: number } >\n\t\t\t\t\t\t\t\tdata={ dataWithIndex }\n\t\t\t\t\t\t\t\tpieValue={ accessors.value }\n\t\t\t\t\t\t\t\touterRadius={ outerRadius }\n\t\t\t\t\t\t\t\tinnerRadius={ innerRadius }\n\t\t\t\t\t\t\t\tpadAngle={ padAngle }\n\t\t\t\t\t\t\t\tcornerRadius={ cornerRadius }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ pie => {\n\t\t\t\t\t\t\t\t\treturn pie.arcs.map( ( arc, index ) => {\n\t\t\t\t\t\t\t\t\t\tconst [ centroidX, centroidY ] = pie.path.centroid( arc );\n\t\t\t\t\t\t\t\t\t\tconst hasSpaceForLabel = arc.endAngle - arc.startAngle >= 0.25;\n\t\t\t\t\t\t\t\t\t\tconst handleMouseMove = ( event: MouseEvent< SVGElement > ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( ! withTooltips ) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Get coordinates relative to the current target element\n\t\t\t\t\t\t\t\t\t\t\tconst coords = localPoint( event );\n\t\t\t\t\t\t\t\t\t\t\tif ( coords ) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Account for legend offset when legend is on top\n\t\t\t\t\t\t\t\t\t\t\t\tconst legendOffset =\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowLegend && legendPosition === 'top' ? legendHeight : 0;\n\t\t\t\t\t\t\t\t\t\t\t\tshowTooltip( {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipData: arc.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipLeft: coords.x + tooltipOffsetX,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltipTop: coords.y + legendOffset + tooltipOffsetY,\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tconst pathProps: SVGProps< SVGPathElement > & { 'data-testid'?: string } = {\n\t\t\t\t\t\t\t\t\t\t\td: pie.path( arc ) || '',\n\t\t\t\t\t\t\t\t\t\t\tfill: accessors.fill( arc.data ),\n\t\t\t\t\t\t\t\t\t\t\t'data-testid': 'pie-segment',\n\t\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t\tconst groupProps: SVGProps< SVGGElement > = {};\n\t\t\t\t\t\t\t\t\t\tif ( withTooltips ) {\n\t\t\t\t\t\t\t\t\t\t\tgroupProps.onMouseMove = handleMouseMove;\n\t\t\t\t\t\t\t\t\t\t\tgroupProps.onMouseLeave = onMouseLeave;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Estimate text width more accurately for background sizing\n\t\t\t\t\t\t\t\t\t\tconst fontSize = 12;\n\t\t\t\t\t\t\t\t\t\tconst estimatedTextWidth = getStringWidth( arc.data.label, { fontSize } );\n\t\t\t\t\t\t\t\t\t\tconst labelPadding = 6;\n\t\t\t\t\t\t\t\t\t\tconst backgroundWidth = estimatedTextWidth + labelPadding * 2;\n\t\t\t\t\t\t\t\t\t\tconst backgroundHeight = fontSize + labelPadding * 2;\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<g key={ `arc-${ index }` } { ...groupProps }>\n\t\t\t\t\t\t\t\t\t\t\t\t<path { ...pathProps } />\n\t\t\t\t\t\t\t\t\t\t\t\t{ showLabels && hasSpaceForLabel && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ providerTheme.labelBackgroundColor && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<rect\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx={ centroidX - backgroundWidth / 2 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty={ centroidY - backgroundHeight / 2 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth={ backgroundWidth }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight={ backgroundHeight }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfill={ providerTheme.labelBackgroundColor }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trx={ 4 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\try={ 4 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<text\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx={ centroidX }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty={ centroidY }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdy=\".33em\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfill={ providerTheme.labelTextColor || '#333' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize={ fontSize }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAnchor=\"middle\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ arc.data.label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t</Pie>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ /* Render SVG children (like Group, Text) inside the SVG */ }\n\t\t\t\t\t\t{ ! allSegmentsHidden && svgChildren }\n\t\t\t\t\t</Group>\n\t\t\t\t</svg>\n\n\t\t\t\t{ showLegend && (\n\t\t\t\t\t<Legend\n\t\t\t\t\t\torientation={ legendOrientation }\n\t\t\t\t\t\tposition={ legendPosition }\n\t\t\t\t\t\talignment={ legendAlignment }\n\t\t\t\t\t\tmaxWidth={ legendMaxWidth }\n\t\t\t\t\t\ttextOverflow={ legendTextOverflow }\n\t\t\t\t\t\tlegendItemClassName={ legendItemClassName }\n\t\t\t\t\t\tclassName={ styles[ 'pie-chart-legend' ] }\n\t\t\t\t\t\tshape={ legendShape }\n\t\t\t\t\t\tref={ legendRef }\n\t\t\t\t\t\tchartId={ chartId }\n\t\t\t\t\t\tinteractive={ legendInteractive }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ withTooltips && tooltipOpen && tooltipData && (\n\t\t\t\t\t<TooltipInPortal top={ tooltipTop || 0 } left={ tooltipLeft || 0 }>\n\t\t\t\t\t\t<div role=\"tooltip\">\n\t\t\t\t\t\t\t<BaseTooltip data={ tooltipData } top={ 0 } left={ 0 } renderContainer={ false } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TooltipInPortal>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Render HTML component children from PieChart.HTML */ }\n\t\t\t\t{ htmlChildren }\n\n\t\t\t\t{ /* Render other React children for backward compatibility */ }\n\t\t\t\t{ otherChildren }\n\t\t\t</div>\n\t\t</SingleChartContext.Provider>\n\t);\n};\n\nconst PieChartWithProvider: FC< PieChartProps > = props => {\n\tconst existingContext = useContext( GlobalChartsContext );\n\n\t// If we're already in a GlobalChartsProvider context, don't create a new one\n\tif ( existingContext ) {\n\t\treturn <PieChartInternal { ...props } />;\n\t}\n\n\t// Otherwise, create our own GlobalChartsProvider\n\treturn (\n\t\t<GlobalChartsProvider>\n\t\t\t<PieChartInternal { ...props } />\n\t\t</GlobalChartsProvider>\n\t);\n};\n\nPieChartWithProvider.displayName = 'PieChart';\n\n// Create PieChart with composition API\nconst PieChart = attachSubComponents( PieChartWithProvider, {\n\tLegend: Legend,\n\tSVG: ChartSVG,\n\tHTML: ChartHTML,\n} ) as PieChartComponent;\n\n// Create responsive PieChart with composition API\nconst PieChartResponsive = attachSubComponents(\n\twithResponsive< PieChartProps >( PieChartWithProvider ),\n\t{\n\t\tLegend: Legend,\n\t\tSVG: ChartSVG,\n\t\tHTML: ChartHTML,\n\t}\n) as PieChartResponsiveComponent;\n\nexport { PieChartResponsive as default, PieChart as PieChartUnresponsive };\n","import 'css-chunk:src/charts/pie-chart/pie-chart.module.scss';export default {\n \"pie-chart\": \"a8ccharts-C-n-Gu\",\n \"pie-chart--legend-top\": \"a8ccharts-Mu0uxl\"\n};"]}
@@ -1,3 +1,8 @@
1
+ import {
2
+ Legend,
3
+ SingleChartContext,
4
+ useChartLegendItems
5
+ } from "./chunk-ALDWCNLH.js";
1
6
  import {
2
7
  AccessibleTooltip,
3
8
  useKeyboardNavigation
@@ -5,11 +10,6 @@ import {
5
10
  import {
6
11
  withResponsive
7
12
  } from "./chunk-NONODB3K.js";
8
- import {
9
- Legend,
10
- SingleChartContext,
11
- useChartLegendItems
12
- } from "./chunk-VER6S543.js";
13
13
  import {
14
14
  GlobalChartsContext,
15
15
  GlobalChartsProvider,
@@ -23,10 +23,10 @@ import {
23
23
  usePrefersReducedMotion,
24
24
  useXYChartTheme,
25
25
  useZeroValueDisplay
26
- } from "./chunk-O2BJMTIS.js";
26
+ } from "./chunk-DYMJWNYM.js";
27
27
  import {
28
28
  attachSubComponents
29
- } from "./chunk-P3QEXFTA.js";
29
+ } from "./chunk-TE63Y5PX.js";
30
30
 
31
31
  // src/charts/bar-chart/bar-chart.tsx
32
32
  import { formatNumber } from "@automattic/number-formatters";
@@ -505,4 +505,4 @@ export {
505
505
  BarChart,
506
506
  BarChartResponsive
507
507
  };
508
- //# sourceMappingURL=chunk-DY7IVYWP.js.map
508
+ //# sourceMappingURL=chunk-KBORJZKC.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  BarChartResponsive
3
- } from "./chunk-DY7IVYWP.js";
3
+ } from "./chunk-KBORJZKC.js";
4
4
  import {
5
5
  withResponsive
6
6
  } from "./chunk-NONODB3K.js";
7
7
  import {
8
8
  GlobalChartsContext,
9
9
  GlobalChartsProvider
10
- } from "./chunk-O2BJMTIS.js";
10
+ } from "./chunk-DYMJWNYM.js";
11
11
 
12
12
  // src/charts/bar-list-chart/bar-list-chart.tsx
13
13
  import { formatNumberCompact } from "@automattic/number-formatters";
@@ -193,4 +193,4 @@ export {
193
193
  BarListChart,
194
194
  BarListChartResponsive
195
195
  };
196
- //# sourceMappingURL=chunk-W4ZYJ74Q.js.map
196
+ //# sourceMappingURL=chunk-KORG7ITC.js.map
@@ -1,16 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunk7HROSZRScjs = require('./chunk-7HROSZRS.cjs');
5
4
 
6
5
 
7
- var _chunkMUUSZ7J5cjs = require('./chunk-MUUSZ7J5.cjs');
6
+ var _chunkZPJHWKEKcjs = require('./chunk-ZPJHWKEK.cjs');
8
7
 
9
8
 
10
9
 
10
+ var _chunk7HROSZRScjs = require('./chunk-7HROSZRS.cjs');
11
11
 
12
12
 
13
- var _chunkNYZFVI2Pcjs = require('./chunk-NYZFVI2P.cjs');
13
+ var _chunkMUUSZ7J5cjs = require('./chunk-MUUSZ7J5.cjs');
14
14
 
15
15
 
16
16
 
@@ -23,11 +23,11 @@ var _chunkNYZFVI2Pcjs = require('./chunk-NYZFVI2P.cjs');
23
23
 
24
24
 
25
25
 
26
- var _chunkW3H42XRVcjs = require('./chunk-W3H42XRV.cjs');
26
+ var _chunkWKN6C4ZEcjs = require('./chunk-WKN6C4ZE.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkDAKYGZG6cjs = require('./chunk-DAKYGZG6.cjs');
30
+ var _chunkZVGEDXDPcjs = require('./chunk-ZVGEDXDP.cjs');
31
31
 
32
32
  // src/charts/line-chart/line-chart.tsx
33
33
  var _numberformatters = require('@automattic/number-formatters');
@@ -101,7 +101,7 @@ var LineChartAnnotationLabelWithPopover = ({
101
101
  const buttonRef = _react.useRef.call(void 0, null);
102
102
  const popoverRef = _react.useRef.call(void 0, null);
103
103
  const [isPositioned, setIsPositioned] = _react.useState.call(void 0, false);
104
- const isBrowserSafari = _chunkDAKYGZG6cjs.isSafari.call(void 0, );
104
+ const isBrowserSafari = _chunkZVGEDXDPcjs.isSafari.call(void 0, );
105
105
  _react.useEffect.call(void 0, () => {
106
106
  const button = buttonRef.current;
107
107
  const popover = popoverRef.current;
@@ -180,7 +180,7 @@ var line_chart_annotation_label_popover_default = LineChartAnnotationLabelWithPo
180
180
 
181
181
 
182
182
  var LineChartAnnotationsOverlay = ({ children }) => {
183
- const { chartRef, chartWidth, chartHeight } = _chunkNYZFVI2Pcjs.useSingleChartContext.call(void 0, );
183
+ const { chartRef, chartWidth, chartHeight } = _chunkZPJHWKEKcjs.useSingleChartContext.call(void 0, );
184
184
  const [scales, setScales] = _react.useState.call(void 0, null);
185
185
  const [scalesStable, setScalesStable] = _react.useState.call(void 0, false);
186
186
  const createScaleSignature = _react.useCallback.call(void 0, (scaleData) => {
@@ -359,7 +359,7 @@ var LineChartAnnotation = ({
359
359
  renderLabel,
360
360
  renderLabelPopover
361
361
  }) => {
362
- const providerTheme = _chunkW3H42XRVcjs.useGlobalChartsTheme.call(void 0, );
362
+ const providerTheme = _chunkWKN6C4ZEcjs.useGlobalChartsTheme.call(void 0, );
363
363
  const { xScale, yScale } = _react.useContext.call(void 0, _xychart.DataContext) || {};
364
364
  const labelRef = _react.useRef.call(void 0, null);
365
365
  const [height, setHeight] = _react.useState.call(void 0, null);
@@ -424,7 +424,7 @@ var LineChartAnnotation = ({
424
424
  const getSafariHTMLLabelPosition = () => {
425
425
  const labelWidth = POPOVER_BUTTON_SIZE;
426
426
  const labelHeight = POPOVER_BUTTON_SIZE;
427
- return _chunkDAKYGZG6cjs.isSafari.call(void 0, ) ? {
427
+ return _chunkZVGEDXDPcjs.isSafari.call(void 0, ) ? {
428
428
  transform: `translate(${x + (dx || 0) + (typeof labelPosition.x === "number" ? labelPosition.x - x : 0) - labelWidth}px, ${y + (dy || 0) + (typeof labelPosition.y === "number" ? labelPosition.y - y : 0) - labelHeight}px)`,
429
429
  width: labelWidth,
430
430
  height: labelHeight
@@ -695,10 +695,10 @@ var LineChartInternal = _react.forwardRef.call(void 0,
695
695
  children,
696
696
  gridVisibility
697
697
  }, ref) => {
698
- const providerTheme = _chunkW3H42XRVcjs.useGlobalChartsTheme.call(void 0, );
699
- const theme = _chunkW3H42XRVcjs.useXYChartTheme.call(void 0, data);
700
- const chartId = _chunkW3H42XRVcjs.useChartId.call(void 0, providedChartId);
701
- const [legendRef, legendHeight] = _chunkW3H42XRVcjs.useElementHeight.call(void 0, );
698
+ const providerTheme = _chunkWKN6C4ZEcjs.useGlobalChartsTheme.call(void 0, );
699
+ const theme = _chunkWKN6C4ZEcjs.useXYChartTheme.call(void 0, data);
700
+ const chartId = _chunkWKN6C4ZEcjs.useChartId.call(void 0, providedChartId);
701
+ const [legendRef, legendHeight] = _chunkWKN6C4ZEcjs.useElementHeight.call(void 0, );
702
702
  const chartRef = _react.useRef.call(void 0, null);
703
703
  const [selectedIndex, setSelectedIndex] = _react.useState.call(void 0, void 0);
704
704
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -711,8 +711,8 @@ var LineChartInternal = _react.forwardRef.call(void 0,
711
711
  }),
712
712
  [internalChartRef]
713
713
  );
714
- const dataSorted = _chunkW3H42XRVcjs.useChartDataTransform.call(void 0, data);
715
- const { getElementStyles, isSeriesVisible } = _chunkW3H42XRVcjs.useGlobalChartsContext.call(void 0, );
714
+ const dataSorted = _chunkWKN6C4ZEcjs.useChartDataTransform.call(void 0, data);
715
+ const { getElementStyles, isSeriesVisible } = _chunkWKN6C4ZEcjs.useGlobalChartsContext.call(void 0, );
716
716
  const seriesWithVisibility = _react.useMemo.call(void 0, () => {
717
717
  if (!chartId || !legendInteractive) {
718
718
  return dataSorted.map((series, index) => ({ series, index, isVisible: true }));
@@ -779,7 +779,7 @@ var LineChartInternal = _react.forwardRef.call(void 0,
779
779
  return themeGlyph ? themeGlyph(propsWithResolvedColor) : renderGlyph(propsWithResolvedColor);
780
780
  };
781
781
  }, [dataSorted, renderGlyph, getElementStyles]);
782
- const defaultMargin = _chunkW3H42XRVcjs.useChartMargin.call(void 0, height, chartOptions, dataSorted, theme);
782
+ const defaultMargin = _chunkWKN6C4ZEcjs.useChartMargin.call(void 0, height, chartOptions, dataSorted, theme);
783
783
  const error = validateData(dataSorted);
784
784
  const isDataValid = !error;
785
785
  const legendOptions = _react.useMemo.call(void 0,
@@ -790,7 +790,7 @@ var LineChartInternal = _react.forwardRef.call(void 0,
790
790
  }),
791
791
  [withLegendGlyph, _optionalChain([glyphStyle, 'optionalAccess', _67 => _67.radius]), renderGlyph]
792
792
  );
793
- const legendItems = _chunkNYZFVI2Pcjs.useChartLegendItems.call(void 0, dataSorted, legendOptions, legendShape);
793
+ const legendItems = _chunkZPJHWKEKcjs.useChartLegendItems.call(void 0, dataSorted, legendOptions, legendShape);
794
794
  const chartMetadata = _react.useMemo.call(void 0,
795
795
  () => ({
796
796
  withGradientFill,
@@ -802,14 +802,14 @@ var LineChartInternal = _react.forwardRef.call(void 0,
802
802
  }),
803
803
  [withGradientFill, smoothing, curveType, withStartGlyphs, withEndGlyphs, withLegendGlyph]
804
804
  );
805
- _chunkW3H42XRVcjs.useChartRegistration.call(void 0, {
805
+ _chunkWKN6C4ZEcjs.useChartRegistration.call(void 0, {
806
806
  chartId,
807
807
  legendItems,
808
808
  chartType: "line",
809
809
  isDataValid,
810
810
  metadata: chartMetadata
811
811
  });
812
- const prefersReducedMotion = _chunkW3H42XRVcjs.usePrefersReducedMotion.call(void 0, );
812
+ const prefersReducedMotion = _chunkWKN6C4ZEcjs.usePrefersReducedMotion.call(void 0, );
813
813
  const accessors = {
814
814
  xAccessor: (d) => _optionalChain([d, 'optionalAccess', _68 => _68.date]),
815
815
  yAccessor: (d) => _optionalChain([d, 'optionalAccess', _69 => _69.value])
@@ -818,7 +818,7 @@ var LineChartInternal = _react.forwardRef.call(void 0,
818
818
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _clsx2.default.call(void 0, "line-chart", line_chart_module_default["line-chart"]), children: error });
819
819
  }
820
820
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
821
- _chunkNYZFVI2Pcjs.SingleChartContext.Provider,
821
+ _chunkZPJHWKEKcjs.SingleChartContext.Provider,
822
822
  {
823
823
  value: {
824
824
  chartId,
@@ -996,7 +996,7 @@ var LineChartInternal = _react.forwardRef.call(void 0,
996
996
  }
997
997
  ),
998
998
  showLegend && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
999
- _chunkNYZFVI2Pcjs.Legend,
999
+ _chunkZPJHWKEKcjs.Legend,
1000
1000
  {
1001
1001
  orientation: legendOrientation,
1002
1002
  alignment: legendAlignment,
@@ -1020,22 +1020,22 @@ var LineChartInternal = _react.forwardRef.call(void 0,
1020
1020
  }
1021
1021
  );
1022
1022
  var LineChartWithProvider = _react.forwardRef.call(void 0, (props, ref) => {
1023
- const existingContext = _react.useContext.call(void 0, _chunkW3H42XRVcjs.GlobalChartsContext);
1023
+ const existingContext = _react.useContext.call(void 0, _chunkWKN6C4ZEcjs.GlobalChartsContext);
1024
1024
  if (existingContext) {
1025
1025
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LineChartInternal, { ...props, ref });
1026
1026
  }
1027
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkW3H42XRVcjs.GlobalChartsProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LineChartInternal, { ...props, ref }) });
1027
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWKN6C4ZEcjs.GlobalChartsProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LineChartInternal, { ...props, ref }) });
1028
1028
  });
1029
1029
  LineChartWithProvider.displayName = "LineChart";
1030
- var LineChart = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0, LineChartWithProvider, {
1031
- Legend: _chunkNYZFVI2Pcjs.Legend,
1030
+ var LineChart = _chunkZVGEDXDPcjs.attachSubComponents.call(void 0, LineChartWithProvider, {
1031
+ Legend: _chunkZPJHWKEKcjs.Legend,
1032
1032
  AnnotationsOverlay: line_chart_annotations_overlay_default,
1033
1033
  Annotation: line_chart_annotation_default
1034
1034
  });
1035
- var LineChartResponsive = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0,
1035
+ var LineChartResponsive = _chunkZVGEDXDPcjs.attachSubComponents.call(void 0,
1036
1036
  _chunkMUUSZ7J5cjs.withResponsive.call(void 0, LineChartWithProvider),
1037
1037
  {
1038
- Legend: _chunkNYZFVI2Pcjs.Legend,
1038
+ Legend: _chunkZPJHWKEKcjs.Legend,
1039
1039
  AnnotationsOverlay: line_chart_annotations_overlay_default,
1040
1040
  Annotation: line_chart_annotation_default
1041
1041
  }
@@ -1045,4 +1045,4 @@ var LineChartResponsive = _chunkDAKYGZG6cjs.attachSubComponents.call(void 0,
1045
1045
 
1046
1046
 
1047
1047
  exports.LineChart = LineChart; exports.LineChartResponsive = LineChartResponsive;
1048
- //# sourceMappingURL=chunk-AHUSYMYS.cjs.map
1048
+ //# sourceMappingURL=chunk-LNLHCZ6F.cjs.map