@automattic/charts 0.58.0 → 1.0.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.
- package/CHANGELOG.md +25 -0
- package/README.md +7 -54
- package/dist/index.cjs +9606 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +20 -25
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1612 -33
- package/dist/index.d.ts +1612 -33
- package/dist/index.js +9640 -56
- package/dist/index.js.map +1 -1
- package/package.json +8 -125
- package/src/charts/bar-chart/bar-chart.module.scss +0 -5
- package/src/charts/bar-chart/bar-chart.tsx +131 -137
- package/src/charts/leaderboard-chart/leaderboard-chart.tsx +23 -40
- package/src/charts/line-chart/line-chart.module.scss +0 -5
- package/src/charts/line-chart/line-chart.tsx +190 -183
- package/src/charts/line-chart/private/line-chart-annotations-overlay.tsx +1 -2
- package/src/charts/pie-chart/pie-chart.module.scss +2 -10
- package/src/charts/pie-chart/pie-chart.tsx +198 -199
- package/src/charts/pie-chart/test/composition-api.test.tsx +3 -3
- package/src/charts/pie-chart/test/pie-chart.test.tsx +42 -35
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +2 -8
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx +155 -155
- package/src/charts/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +25 -25
- package/src/charts/private/chart-layout/chart-layout.module.scss +7 -0
- package/src/charts/private/chart-layout/chart-layout.tsx +106 -0
- package/src/charts/private/chart-layout/index.ts +2 -0
- package/src/charts/private/chart-layout/test/chart-layout.test.tsx +167 -0
- package/src/charts/private/single-chart-context/single-chart-context.tsx +2 -2
- package/src/charts/private/svg-empty-state/index.ts +1 -0
- package/src/charts/private/svg-empty-state/svg-empty-state.module.scss +7 -0
- package/src/charts/private/svg-empty-state/svg-empty-state.tsx +40 -0
- package/src/components/legend/hooks/test/use-chart-legend-items.test.tsx +12 -8
- package/src/components/legend/hooks/use-chart-legend-items.ts +12 -13
- package/src/components/legend/legend.tsx +33 -8
- package/src/components/legend/test/legend.test.tsx +93 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-data-with-percentages.ts +24 -0
- package/src/hooks/use-interactive-legend-data.ts +18 -15
- package/src/index.ts +65 -2
- package/src/providers/chart-context/global-charts-provider.tsx +7 -1
- package/src/providers/chart-context/hooks/use-chart-registration.ts +2 -1
- package/src/providers/chart-context/types.ts +2 -2
- package/src/types.ts +27 -7
- package/src/utils/test/resolve-css-var.test.ts +2 -0
- package/dist/base-tooltip-DOq93wjU.d.cts +0 -38
- package/dist/base-tooltip-DOq93wjU.d.ts +0 -38
- package/dist/charts/bar-chart/index.cjs +0 -17
- package/dist/charts/bar-chart/index.cjs.map +0 -1
- package/dist/charts/bar-chart/index.css +0 -141
- package/dist/charts/bar-chart/index.css.map +0 -1
- package/dist/charts/bar-chart/index.d.cts +0 -36
- package/dist/charts/bar-chart/index.d.ts +0 -36
- package/dist/charts/bar-chart/index.js +0 -17
- package/dist/charts/bar-chart/index.js.map +0 -1
- package/dist/charts/bar-list-chart/index.cjs +0 -18
- package/dist/charts/bar-list-chart/index.cjs.map +0 -1
- package/dist/charts/bar-list-chart/index.css +0 -141
- package/dist/charts/bar-list-chart/index.css.map +0 -1
- package/dist/charts/bar-list-chart/index.d.cts +0 -92
- package/dist/charts/bar-list-chart/index.d.ts +0 -92
- package/dist/charts/bar-list-chart/index.js +0 -18
- package/dist/charts/bar-list-chart/index.js.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.cjs +0 -11
- package/dist/charts/conversion-funnel-chart/index.cjs.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.css +0 -157
- package/dist/charts/conversion-funnel-chart/index.css.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.d.cts +0 -97
- package/dist/charts/conversion-funnel-chart/index.d.ts +0 -97
- package/dist/charts/conversion-funnel-chart/index.js +0 -11
- package/dist/charts/conversion-funnel-chart/index.js.map +0 -1
- package/dist/charts/geo-chart/index.cjs +0 -13
- package/dist/charts/geo-chart/index.cjs.map +0 -1
- package/dist/charts/geo-chart/index.css +0 -23
- package/dist/charts/geo-chart/index.css.map +0 -1
- package/dist/charts/geo-chart/index.d.cts +0 -67
- package/dist/charts/geo-chart/index.d.ts +0 -67
- package/dist/charts/geo-chart/index.js +0 -13
- package/dist/charts/geo-chart/index.js.map +0 -1
- package/dist/charts/leaderboard-chart/index.cjs +0 -21
- package/dist/charts/leaderboard-chart/index.cjs.map +0 -1
- package/dist/charts/leaderboard-chart/index.css +0 -160
- package/dist/charts/leaderboard-chart/index.css.map +0 -1
- package/dist/charts/leaderboard-chart/index.d.cts +0 -46
- package/dist/charts/leaderboard-chart/index.d.ts +0 -46
- package/dist/charts/leaderboard-chart/index.js +0 -21
- package/dist/charts/leaderboard-chart/index.js.map +0 -1
- package/dist/charts/line-chart/index.cjs +0 -17
- package/dist/charts/line-chart/index.cjs.map +0 -1
- package/dist/charts/line-chart/index.css +0 -213
- package/dist/charts/line-chart/index.css.map +0 -1
- package/dist/charts/line-chart/index.d.cts +0 -98
- package/dist/charts/line-chart/index.d.ts +0 -98
- package/dist/charts/line-chart/index.js +0 -17
- package/dist/charts/line-chart/index.js.map +0 -1
- package/dist/charts/pie-chart/index.cjs +0 -19
- package/dist/charts/pie-chart/index.cjs.map +0 -1
- package/dist/charts/pie-chart/index.css +0 -131
- package/dist/charts/pie-chart/index.css.map +0 -1
- package/dist/charts/pie-chart/index.d.cts +0 -91
- package/dist/charts/pie-chart/index.d.ts +0 -91
- package/dist/charts/pie-chart/index.js +0 -19
- package/dist/charts/pie-chart/index.js.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.cjs +0 -18
- package/dist/charts/pie-semi-circle-chart/index.cjs.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.css +0 -132
- package/dist/charts/pie-semi-circle-chart/index.css.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.d.cts +0 -88
- package/dist/charts/pie-semi-circle-chart/index.d.ts +0 -88
- package/dist/charts/pie-semi-circle-chart/index.js +0 -18
- package/dist/charts/pie-semi-circle-chart/index.js.map +0 -1
- package/dist/charts/sparkline/index.cjs +0 -18
- package/dist/charts/sparkline/index.cjs.map +0 -1
- package/dist/charts/sparkline/index.css +0 -230
- package/dist/charts/sparkline/index.css.map +0 -1
- package/dist/charts/sparkline/index.d.cts +0 -113
- package/dist/charts/sparkline/index.d.ts +0 -113
- package/dist/charts/sparkline/index.js +0 -18
- package/dist/charts/sparkline/index.js.map +0 -1
- package/dist/chunk-2A34OA5O.cjs +0 -51
- package/dist/chunk-2A34OA5O.cjs.map +0 -1
- package/dist/chunk-2I67QUIV.js +0 -895
- package/dist/chunk-2I67QUIV.js.map +0 -1
- package/dist/chunk-2ICEEQOC.js +0 -1071
- package/dist/chunk-2ICEEQOC.js.map +0 -1
- package/dist/chunk-4B7BL2DD.js +0 -120
- package/dist/chunk-4B7BL2DD.js.map +0 -1
- package/dist/chunk-4OXMTKAL.js +0 -401
- package/dist/chunk-4OXMTKAL.js.map +0 -1
- package/dist/chunk-ASLARV7L.cjs +0 -81
- package/dist/chunk-ASLARV7L.cjs.map +0 -1
- package/dist/chunk-B6NLZFRW.js +0 -617
- package/dist/chunk-B6NLZFRW.js.map +0 -1
- package/dist/chunk-BBAUQOW6.cjs +0 -120
- package/dist/chunk-BBAUQOW6.cjs.map +0 -1
- package/dist/chunk-BPYKWMI7.js +0 -194
- package/dist/chunk-BPYKWMI7.js.map +0 -1
- package/dist/chunk-CMMHCTBX.cjs +0 -373
- package/dist/chunk-CMMHCTBX.cjs.map +0 -1
- package/dist/chunk-CPPXJATQ.cjs +0 -1071
- package/dist/chunk-CPPXJATQ.cjs.map +0 -1
- package/dist/chunk-DKU775VC.js +0 -219
- package/dist/chunk-DKU775VC.js.map +0 -1
- package/dist/chunk-GRA7Y2ZG.cjs +0 -401
- package/dist/chunk-GRA7Y2ZG.cjs.map +0 -1
- package/dist/chunk-I2276W3I.cjs +0 -66
- package/dist/chunk-I2276W3I.cjs.map +0 -1
- package/dist/chunk-JJIMABHT.js +0 -351
- package/dist/chunk-JJIMABHT.js.map +0 -1
- package/dist/chunk-KJHWXOCZ.js +0 -421
- package/dist/chunk-KJHWXOCZ.js.map +0 -1
- package/dist/chunk-KRWGSOJ2.js +0 -91
- package/dist/chunk-KRWGSOJ2.js.map +0 -1
- package/dist/chunk-KXRWNFQJ.js +0 -51
- package/dist/chunk-KXRWNFQJ.js.map +0 -1
- package/dist/chunk-LTFH7SEG.js +0 -373
- package/dist/chunk-LTFH7SEG.js.map +0 -1
- package/dist/chunk-MUNOKLLE.js +0 -165
- package/dist/chunk-MUNOKLLE.js.map +0 -1
- package/dist/chunk-MXGLYWVP.cjs +0 -351
- package/dist/chunk-MXGLYWVP.cjs.map +0 -1
- package/dist/chunk-OP6PHB2U.js +0 -81
- package/dist/chunk-OP6PHB2U.js.map +0 -1
- package/dist/chunk-OYC34VTO.cjs +0 -3957
- package/dist/chunk-OYC34VTO.cjs.map +0 -1
- package/dist/chunk-PQL5I3F6.cjs +0 -421
- package/dist/chunk-PQL5I3F6.cjs.map +0 -1
- package/dist/chunk-REZTQ4PH.cjs +0 -488
- package/dist/chunk-REZTQ4PH.cjs.map +0 -1
- package/dist/chunk-TZRUHQOH.cjs +0 -91
- package/dist/chunk-TZRUHQOH.cjs.map +0 -1
- package/dist/chunk-UTYVIOWZ.js +0 -3957
- package/dist/chunk-UTYVIOWZ.js.map +0 -1
- package/dist/chunk-W2LDIX26.cjs +0 -165
- package/dist/chunk-W2LDIX26.cjs.map +0 -1
- package/dist/chunk-WSG64BVN.cjs +0 -219
- package/dist/chunk-WSG64BVN.cjs.map +0 -1
- package/dist/chunk-WTQYGUNF.js +0 -400
- package/dist/chunk-WTQYGUNF.js.map +0 -1
- package/dist/chunk-WYK7EL5R.cjs +0 -895
- package/dist/chunk-WYK7EL5R.cjs.map +0 -1
- package/dist/chunk-XC4KHJYX.cjs +0 -617
- package/dist/chunk-XC4KHJYX.cjs.map +0 -1
- package/dist/chunk-XVBH5XHE.cjs +0 -400
- package/dist/chunk-XVBH5XHE.cjs.map +0 -1
- package/dist/chunk-XWYZIFZW.js +0 -66
- package/dist/chunk-XWYZIFZW.js.map +0 -1
- package/dist/chunk-Y3NNQMAX.cjs +0 -194
- package/dist/chunk-Y3NNQMAX.cjs.map +0 -1
- package/dist/chunk-YAFQVVDI.js +0 -488
- package/dist/chunk-YAFQVVDI.js.map +0 -1
- package/dist/components/legend/index.cjs +0 -12
- package/dist/components/legend/index.cjs.map +0 -1
- package/dist/components/legend/index.css +0 -91
- package/dist/components/legend/index.css.map +0 -1
- package/dist/components/legend/index.d.cts +0 -37
- package/dist/components/legend/index.d.ts +0 -37
- package/dist/components/legend/index.js +0 -12
- package/dist/components/legend/index.js.map +0 -1
- package/dist/components/tooltip/index.cjs +0 -12
- package/dist/components/tooltip/index.cjs.map +0 -1
- package/dist/components/tooltip/index.css +0 -13
- package/dist/components/tooltip/index.css.map +0 -1
- package/dist/components/tooltip/index.d.cts +0 -71
- package/dist/components/tooltip/index.d.ts +0 -71
- package/dist/components/tooltip/index.js +0 -12
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/trend-indicator/index.cjs +0 -8
- package/dist/components/trend-indicator/index.cjs.map +0 -1
- package/dist/components/trend-indicator/index.css +0 -27
- package/dist/components/trend-indicator/index.css.map +0 -1
- package/dist/components/trend-indicator/index.d.cts +0 -44
- package/dist/components/trend-indicator/index.d.ts +0 -44
- package/dist/components/trend-indicator/index.js +0 -8
- package/dist/components/trend-indicator/index.js.map +0 -1
- package/dist/format-metric-value-MXm5DtQ_.d.cts +0 -24
- package/dist/format-metric-value-MXm5DtQ_.d.ts +0 -24
- package/dist/hooks/index.cjs +0 -29
- package/dist/hooks/index.cjs.map +0 -1
- package/dist/hooks/index.css +0 -9
- package/dist/hooks/index.css.map +0 -1
- package/dist/hooks/index.d.cts +0 -264
- package/dist/hooks/index.d.ts +0 -264
- package/dist/hooks/index.js +0 -29
- package/dist/hooks/index.js.map +0 -1
- package/dist/leaderboard-chart-BSbg0ufV.d.cts +0 -79
- package/dist/leaderboard-chart-odEYxxEC.d.ts +0 -79
- package/dist/legend-DFkosEvC.d.cts +0 -9
- package/dist/legend-DLswHhOk.d.ts +0 -9
- package/dist/providers/index.cjs +0 -21
- package/dist/providers/index.cjs.map +0 -1
- package/dist/providers/index.css +0 -9
- package/dist/providers/index.css.map +0 -1
- package/dist/providers/index.d.cts +0 -28
- package/dist/providers/index.d.ts +0 -28
- package/dist/providers/index.js +0 -21
- package/dist/providers/index.js.map +0 -1
- package/dist/themes-D0qc5JaW.d.cts +0 -67
- package/dist/themes-itO4Ht5g.d.ts +0 -67
- package/dist/types-B5f6XQ7Q.d.cts +0 -19
- package/dist/types-BsHooDbM.d.ts +0 -19
- package/dist/types-BuSrRM4p.d.ts +0 -49
- package/dist/types-ChOUI9-N.d.cts +0 -545
- package/dist/types-ChOUI9-N.d.ts +0 -545
- package/dist/types-Dfw9VOKI.d.cts +0 -49
- package/dist/utils/index.cjs +0 -44
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.cts +0 -226
- package/dist/utils/index.d.ts +0 -226
- package/dist/utils/index.js +0 -44
- package/dist/utils/index.js.map +0 -1
- package/dist/with-responsive-CNfhzAUu.d.cts +0 -18
- package/dist/with-responsive-CNfhzAUu.d.ts +0 -18
package/dist/chunk-CMMHCTBX.cjs
DELETED
|
@@ -1,373 +0,0 @@
|
|
|
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(); } }
|
|
2
|
-
|
|
3
|
-
var _chunk2A34OA5Ocjs = require('./chunk-2A34OA5O.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkTZRUHQOHcjs = require('./chunk-TZRUHQOH.cjs');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _chunkXVBH5XHEcjs = require('./chunk-XVBH5XHE.cjs');
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var _chunkY3NNQMAXcjs = require('./chunk-Y3NNQMAX.cjs');
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var _chunkREZTQ4PHcjs = require('./chunk-REZTQ4PH.cjs');
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var _chunkASLARV7Lcjs = require('./chunk-ASLARV7L.cjs');
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var _chunkWYK7EL5Rcjs = require('./chunk-WYK7EL5R.cjs');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var _chunkMXGLYWVPcjs = require('./chunk-MXGLYWVP.cjs');
|
|
37
|
-
|
|
38
|
-
// src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx
|
|
39
|
-
var _group = require('@visx/group');
|
|
40
|
-
var _shape = require('@visx/shape');
|
|
41
|
-
var _text = require('@visx/text');
|
|
42
|
-
var _tooltip = require('@visx/tooltip');
|
|
43
|
-
var _i18n = require('@wordpress/i18n');
|
|
44
|
-
var _clsx = require('clsx'); var _clsx2 = _interopRequireDefault(_clsx);
|
|
45
|
-
var _react = require('react');
|
|
46
|
-
|
|
47
|
-
// src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss
|
|
48
|
-
var pie_semi_circle_chart_module_default = {
|
|
49
|
-
"pie-semi-circle-chart--responsive": "a8ccharts-V0wiEb",
|
|
50
|
-
"pie-semi-circle-chart__svg-wrapper": "a8ccharts-hGowej",
|
|
51
|
-
"pie-semi-circle-chart": "a8ccharts-8tyaQj",
|
|
52
|
-
"label": "a8ccharts-EKZS3j",
|
|
53
|
-
"note": "a8ccharts-v85A8-"
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx
|
|
57
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
58
|
-
var renderDefaultPieSemiCircleTooltip = ({
|
|
59
|
-
tooltipData
|
|
60
|
-
}) => {
|
|
61
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3NNQMAXcjs.BaseTooltip, {
|
|
62
|
-
data: tooltipData,
|
|
63
|
-
top: 0,
|
|
64
|
-
left: 0,
|
|
65
|
-
renderContainer: false
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
var PAD_ANGLE = 0.03;
|
|
69
|
-
var DEFAULT_WIDTH = 400;
|
|
70
|
-
var validateData = (data) => {
|
|
71
|
-
if (!data.length) {
|
|
72
|
-
return {
|
|
73
|
-
isValid: false,
|
|
74
|
-
message: "No data available"
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
const hasNegativeValues = data.some((item) => item.percentage < 0 || item.value < 0);
|
|
78
|
-
if (hasNegativeValues) {
|
|
79
|
-
return {
|
|
80
|
-
isValid: false,
|
|
81
|
-
message: "Invalid data: Negative values are not allowed"
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
const totalPercentage = data.reduce((sum, item) => sum + item.percentage, 0);
|
|
85
|
-
if (totalPercentage <= 0) {
|
|
86
|
-
return {
|
|
87
|
-
isValid: false,
|
|
88
|
-
message: "Invalid percentage total: Must be greater than 0"
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
isValid: true,
|
|
93
|
-
message: ""
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
var PieSemiCircleChartInternal = ({
|
|
97
|
-
data,
|
|
98
|
-
chartId: providedChartId,
|
|
99
|
-
width: propWidth,
|
|
100
|
-
height: propHeight,
|
|
101
|
-
thickness = 0.4,
|
|
102
|
-
clockwise = true,
|
|
103
|
-
withTooltips = false,
|
|
104
|
-
showLegend = false,
|
|
105
|
-
legend = {},
|
|
106
|
-
legendValueDisplay = "percentage",
|
|
107
|
-
label,
|
|
108
|
-
animation,
|
|
109
|
-
note,
|
|
110
|
-
className,
|
|
111
|
-
children,
|
|
112
|
-
tooltipOffsetX = 0,
|
|
113
|
-
tooltipOffsetY = -15,
|
|
114
|
-
renderTooltip = renderDefaultPieSemiCircleTooltip,
|
|
115
|
-
gap = "md"
|
|
116
|
-
}) => {
|
|
117
|
-
const legendInteractive = _nullishCoalesce(legend.interactive, () => ( false));
|
|
118
|
-
const legendPosition = _nullishCoalesce(legend.position, () => ( "bottom"));
|
|
119
|
-
const chartId = _chunkWYK7EL5Rcjs.useChartId.call(void 0, providedChartId);
|
|
120
|
-
const [svgWrapperRef, svgWrapperWidth, svgWrapperHeight] = _chunkWYK7EL5Rcjs.useElementSize.call(void 0, );
|
|
121
|
-
const {
|
|
122
|
-
tooltipOpen,
|
|
123
|
-
tooltipLeft,
|
|
124
|
-
tooltipTop,
|
|
125
|
-
tooltipData,
|
|
126
|
-
hideTooltip,
|
|
127
|
-
showTooltip
|
|
128
|
-
} = _tooltip.useTooltip.call(void 0, );
|
|
129
|
-
const {
|
|
130
|
-
containerRef,
|
|
131
|
-
TooltipInPortal,
|
|
132
|
-
containerBounds
|
|
133
|
-
} = _tooltip.useTooltipInPortal.call(void 0, {
|
|
134
|
-
detectBounds: true,
|
|
135
|
-
scroll: true,
|
|
136
|
-
debounce: 0
|
|
137
|
-
});
|
|
138
|
-
const handleMouseMove = _react.useCallback.call(void 0, (event, arc) => {
|
|
139
|
-
if (containerBounds.width === 0 || containerBounds.height === 0) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
showTooltip({
|
|
143
|
-
tooltipData: arc.data,
|
|
144
|
-
tooltipLeft: event.clientX - containerBounds.left + tooltipOffsetX,
|
|
145
|
-
tooltipTop: event.clientY - containerBounds.top + tooltipOffsetY
|
|
146
|
-
});
|
|
147
|
-
}, [containerBounds.width, containerBounds.height, containerBounds.left, containerBounds.top, showTooltip, tooltipOffsetX, tooltipOffsetY]);
|
|
148
|
-
const handleMouseLeave = _react.useCallback.call(void 0, () => {
|
|
149
|
-
hideTooltip();
|
|
150
|
-
}, [hideTooltip]);
|
|
151
|
-
const handleArcMouseMove = _react.useCallback.call(void 0, (arc) => (event) => {
|
|
152
|
-
handleMouseMove(event, arc);
|
|
153
|
-
}, [handleMouseMove]);
|
|
154
|
-
const {
|
|
155
|
-
isValid,
|
|
156
|
-
message
|
|
157
|
-
} = validateData(data);
|
|
158
|
-
const {
|
|
159
|
-
getElementStyles,
|
|
160
|
-
isSeriesVisible
|
|
161
|
-
} = _chunkWYK7EL5Rcjs.useGlobalChartsContext.call(void 0, );
|
|
162
|
-
const {
|
|
163
|
-
visibleData,
|
|
164
|
-
allSegmentsHidden,
|
|
165
|
-
legendData
|
|
166
|
-
} = _chunkWYK7EL5Rcjs.useInteractiveLegendData.call(void 0, {
|
|
167
|
-
data,
|
|
168
|
-
chartId,
|
|
169
|
-
legendInteractive,
|
|
170
|
-
isSeriesVisible
|
|
171
|
-
});
|
|
172
|
-
const accessors = _react.useMemo.call(void 0, () => ({
|
|
173
|
-
value: (d) => d.value,
|
|
174
|
-
sort: (a, b) => b.value - a.value,
|
|
175
|
-
fill: (d) => getElementStyles({
|
|
176
|
-
data: d,
|
|
177
|
-
index: d.index
|
|
178
|
-
}).color
|
|
179
|
-
}), [getElementStyles]);
|
|
180
|
-
const legendOptions = _react.useMemo.call(void 0, () => ({
|
|
181
|
-
showValues: true,
|
|
182
|
-
legendValueDisplay
|
|
183
|
-
}), [legendValueDisplay]);
|
|
184
|
-
const legendItems = _chunkXVBH5XHEcjs.useChartLegendItems.call(void 0, legendData, legendOptions);
|
|
185
|
-
const {
|
|
186
|
-
svgChildren,
|
|
187
|
-
htmlChildren,
|
|
188
|
-
legendChildren,
|
|
189
|
-
otherChildren
|
|
190
|
-
} = _chunkTZRUHQOHcjs.useChartChildren.call(void 0, children, "PieSemiCircleChart");
|
|
191
|
-
const chartMetadata = _react.useMemo.call(void 0, () => ({
|
|
192
|
-
thickness,
|
|
193
|
-
clockwise
|
|
194
|
-
}), [thickness, clockwise]);
|
|
195
|
-
_chunkWYK7EL5Rcjs.useChartRegistration.call(void 0, {
|
|
196
|
-
chartId,
|
|
197
|
-
legendItems,
|
|
198
|
-
chartType: "pie-semi-circle",
|
|
199
|
-
isDataValid: isValid,
|
|
200
|
-
metadata: chartMetadata
|
|
201
|
-
});
|
|
202
|
-
const prefersReducedMotion = _chunkWYK7EL5Rcjs.usePrefersReducedMotion.call(void 0, );
|
|
203
|
-
const effectiveWidth = propWidth || DEFAULT_WIDTH;
|
|
204
|
-
if (!isValid) {
|
|
205
|
-
const errorWidth = propHeight ? Math.min(propWidth || propHeight * 2, propHeight * 2) : effectiveWidth;
|
|
206
|
-
const errorHeight = errorWidth / 2;
|
|
207
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
|
|
208
|
-
className: pie_semi_circle_chart_module_default["pie-semi-circle-chart"],
|
|
209
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", {
|
|
210
|
-
width: errorWidth,
|
|
211
|
-
height: errorHeight,
|
|
212
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "text", {
|
|
213
|
-
x: "50%",
|
|
214
|
-
y: "50%",
|
|
215
|
-
textAnchor: "middle",
|
|
216
|
-
className: pie_semi_circle_chart_module_default.error,
|
|
217
|
-
children: message
|
|
218
|
-
})
|
|
219
|
-
})
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
const availableWidth = svgWrapperWidth > 0 ? svgWrapperWidth : effectiveWidth;
|
|
223
|
-
const availableHeight = svgWrapperHeight > 0 ? svgWrapperHeight : propHeight || effectiveWidth / 2;
|
|
224
|
-
const width = Math.min(availableWidth, availableHeight * 2);
|
|
225
|
-
const height = width / 2;
|
|
226
|
-
const radius = height;
|
|
227
|
-
const innerRadius = radius * (1 - thickness);
|
|
228
|
-
const dataWithIndex = visibleData.map((d) => {
|
|
229
|
-
const originalIndex = data.findIndex((item) => item.label === d.label);
|
|
230
|
-
return {
|
|
231
|
-
...d,
|
|
232
|
-
index: originalIndex >= 0 ? originalIndex : 0
|
|
233
|
-
};
|
|
234
|
-
});
|
|
235
|
-
const startAngle = clockwise ? -Math.PI / 2 : Math.PI / 2;
|
|
236
|
-
const endAngle = clockwise ? Math.PI / 2 : -Math.PI / 2;
|
|
237
|
-
const legendElement = showLegend && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVBH5XHEcjs.Legend, {
|
|
238
|
-
orientation: _nullishCoalesce(legend.orientation, () => ( "horizontal")),
|
|
239
|
-
position: legendPosition,
|
|
240
|
-
alignment: _nullishCoalesce(legend.alignment, () => ( "center")),
|
|
241
|
-
labelStyles: legend.labelStyles,
|
|
242
|
-
itemClassName: legend.itemClassName,
|
|
243
|
-
itemStyles: legend.itemStyles,
|
|
244
|
-
shapeStyles: legend.shapeStyles,
|
|
245
|
-
shape: _nullishCoalesce(legend.shape, () => ( "circle")),
|
|
246
|
-
chartId,
|
|
247
|
-
interactive: legendInteractive
|
|
248
|
-
});
|
|
249
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVBH5XHEcjs.SingleChartContext.Provider, {
|
|
250
|
-
value: {
|
|
251
|
-
chartId,
|
|
252
|
-
chartWidth: width,
|
|
253
|
-
chartHeight: height
|
|
254
|
-
},
|
|
255
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkREZTQ4PHcjs.Stack, {
|
|
256
|
-
ref: containerRef,
|
|
257
|
-
direction: "column",
|
|
258
|
-
gap,
|
|
259
|
-
className: _clsx2.default.call(void 0, "pie-semi-circle-chart", pie_semi_circle_chart_module_default["pie-semi-circle-chart"], {
|
|
260
|
-
[pie_semi_circle_chart_module_default["pie-semi-circle-chart--responsive"]]: !propWidth && !propHeight
|
|
261
|
-
}, className),
|
|
262
|
-
style: {
|
|
263
|
-
width: propWidth || void 0,
|
|
264
|
-
height: propHeight || void 0
|
|
265
|
-
},
|
|
266
|
-
children: [legendPosition === "top" && legendElement, _chunkTZRUHQOHcjs.renderLegendSlot.call(void 0, legendChildren, "top"), /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
|
|
267
|
-
ref: svgWrapperRef,
|
|
268
|
-
className: pie_semi_circle_chart_module_default["pie-semi-circle-chart__svg-wrapper"],
|
|
269
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", {
|
|
270
|
-
width,
|
|
271
|
-
height,
|
|
272
|
-
viewBox: `0 0 ${width} ${height}`,
|
|
273
|
-
children: [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "defs", {
|
|
274
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2A34OA5Ocjs.radial_wipe_animation_default, {
|
|
275
|
-
id: `radial-wipe-${chartId}`,
|
|
276
|
-
radius,
|
|
277
|
-
innerRadius,
|
|
278
|
-
startAngle: "-180deg",
|
|
279
|
-
wipePercentage: 50
|
|
280
|
-
})
|
|
281
|
-
}), /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _group.Group, {
|
|
282
|
-
top: height,
|
|
283
|
-
left: width / 2,
|
|
284
|
-
mask: animation && !prefersReducedMotion ? `url(#radial-wipe-${chartId})` : null,
|
|
285
|
-
children: allSegmentsHidden ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "text", {
|
|
286
|
-
textAnchor: "middle",
|
|
287
|
-
y: -radius / 2,
|
|
288
|
-
fill: "#ccc",
|
|
289
|
-
fontSize: "14",
|
|
290
|
-
fontFamily: "-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif",
|
|
291
|
-
children: _i18n.__.call(void 0, "All segments are hidden. Click legend items to show data.", "jetpack-charts")
|
|
292
|
-
}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, {
|
|
293
|
-
children: [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _shape.Pie, {
|
|
294
|
-
data: dataWithIndex,
|
|
295
|
-
pieValue: accessors.value,
|
|
296
|
-
outerRadius: radius,
|
|
297
|
-
innerRadius,
|
|
298
|
-
cornerRadius: 3,
|
|
299
|
-
padAngle: PAD_ANGLE,
|
|
300
|
-
startAngle,
|
|
301
|
-
endAngle,
|
|
302
|
-
pieSort: accessors.sort,
|
|
303
|
-
children: (pie) => {
|
|
304
|
-
return pie.arcs.map((arc) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", {
|
|
305
|
-
onMouseMove: withTooltips ? handleArcMouseMove(arc) : void 0,
|
|
306
|
-
onMouseLeave: withTooltips ? handleMouseLeave : void 0,
|
|
307
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", {
|
|
308
|
-
d: pie.path(arc) || "",
|
|
309
|
-
fill: accessors.fill(arc.data)
|
|
310
|
-
})
|
|
311
|
-
}, arc.data.label));
|
|
312
|
-
}
|
|
313
|
-
}), /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _group.Group, {
|
|
314
|
-
children: [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _text.Text, {
|
|
315
|
-
textAnchor: "middle",
|
|
316
|
-
verticalAnchor: "start",
|
|
317
|
-
y: -40,
|
|
318
|
-
className: pie_semi_circle_chart_module_default.label,
|
|
319
|
-
children: label
|
|
320
|
-
}), /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _text.Text, {
|
|
321
|
-
textAnchor: "middle",
|
|
322
|
-
verticalAnchor: "start",
|
|
323
|
-
y: -20,
|
|
324
|
-
className: pie_semi_circle_chart_module_default.note,
|
|
325
|
-
children: note
|
|
326
|
-
})]
|
|
327
|
-
}), !allSegmentsHidden && svgChildren]
|
|
328
|
-
})
|
|
329
|
-
})]
|
|
330
|
-
})
|
|
331
|
-
}), legendPosition === "bottom" && legendElement, _chunkTZRUHQOHcjs.renderLegendSlot.call(void 0, legendChildren, "bottom"), withTooltips && tooltipOpen && tooltipData && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipInPortal, {
|
|
332
|
-
top: tooltipTop || 0,
|
|
333
|
-
left: tooltipLeft || 0,
|
|
334
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
|
|
335
|
-
role: "tooltip",
|
|
336
|
-
children: renderTooltip({
|
|
337
|
-
tooltipData
|
|
338
|
-
})
|
|
339
|
-
})
|
|
340
|
-
}), htmlChildren, otherChildren]
|
|
341
|
-
})
|
|
342
|
-
});
|
|
343
|
-
};
|
|
344
|
-
var PieSemiCircleChartWithProvider = (props) => {
|
|
345
|
-
const existingContext = _react.useContext.call(void 0, _chunkWYK7EL5Rcjs.GlobalChartsContext);
|
|
346
|
-
if (existingContext) {
|
|
347
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PieSemiCircleChartInternal, {
|
|
348
|
-
...props
|
|
349
|
-
});
|
|
350
|
-
}
|
|
351
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYK7EL5Rcjs.GlobalChartsProvider, {
|
|
352
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PieSemiCircleChartInternal, {
|
|
353
|
-
...props
|
|
354
|
-
})
|
|
355
|
-
});
|
|
356
|
-
};
|
|
357
|
-
PieSemiCircleChartWithProvider.displayName = "PieSemiCircleChart";
|
|
358
|
-
var PieSemiCircleChart = _chunkMXGLYWVPcjs.attachSubComponents.call(void 0, PieSemiCircleChartWithProvider, {
|
|
359
|
-
Legend: _chunkXVBH5XHEcjs.Legend,
|
|
360
|
-
SVG: _chunkTZRUHQOHcjs.ChartSVG,
|
|
361
|
-
HTML: _chunkTZRUHQOHcjs.ChartHTML
|
|
362
|
-
});
|
|
363
|
-
var PieSemiCircleChartResponsive = _chunkMXGLYWVPcjs.attachSubComponents.call(void 0, _chunkASLARV7Lcjs.withResponsive.call(void 0, PieSemiCircleChartWithProvider), {
|
|
364
|
-
Legend: _chunkXVBH5XHEcjs.Legend,
|
|
365
|
-
SVG: _chunkTZRUHQOHcjs.ChartSVG,
|
|
366
|
-
HTML: _chunkTZRUHQOHcjs.ChartHTML
|
|
367
|
-
});
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
exports.PieSemiCircleChart = PieSemiCircleChart; exports.PieSemiCircleChartResponsive = PieSemiCircleChartResponsive;
|
|
373
|
-
//# sourceMappingURL=chunk-CMMHCTBX.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-CMMHCTBX.cjs","../src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx","../src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss"],"names":[],"mappings":"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","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-CMMHCTBX.cjs","sourcesContent":[null,"import { Group } from '@visx/group';\nimport { Pie } from '@visx/shape';\nimport { Text } from '@visx/text';\nimport { useTooltip, useTooltipInPortal } from '@visx/tooltip';\nimport { __ } from '@wordpress/i18n';\nimport { Stack } from '@wordpress/ui';\nimport clsx from 'clsx';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { Legend, useChartLegendItems } from '../../components/legend';\nimport { BaseTooltip } from '../../components/tooltip';\nimport { useElementSize, useInteractiveLegendData, usePrefersReducedMotion } from '../../hooks';\nimport { GlobalChartsProvider, useChartId, useChartRegistration, useGlobalChartsContext, GlobalChartsContext } from '../../providers';\nimport { attachSubComponents } from '../../utils';\nimport { ChartSVG, ChartHTML, useChartChildren, renderLegendSlot } from '../private/chart-composition';\nimport { RadialWipeAnimation } from '../private/radial-wipe-animation';\nimport { SingleChartContext } from '../private/single-chart-context';\nimport { withResponsive } from '../private/with-responsive';\nimport styles from './pie-semi-circle-chart.module.scss';\n\n/**\n * Parameters passed to the renderTooltip function for semi-circle charts.\n */\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * Default tooltip renderer for semi-circle pie charts.\n * Renders a BaseTooltip with the hovered segment's data.\n *\n * @param {PieSemiCircleChartRenderTooltipParams} params - The tooltip parameters containing the hovered data point\n * @return {ReactNode} The rendered tooltip content\n */\nconst renderDefaultPieSemiCircleTooltip = ({\n tooltipData\n}) => {\n return /*#__PURE__*/_jsx(BaseTooltip, {\n data: tooltipData,\n top: 0,\n left: 0,\n renderContainer: false\n });\n};\nconst PAD_ANGLE = 0.03; // Padding between segments\nconst DEFAULT_WIDTH = 400;\n\n// Base props type with optional responsive properties\n\n// Composition API types\n\n/**\n * Validates the semi-circle pie chart data\n * @param data - The data to validate\n * @return Object containing validation result and error message\n */\nconst validateData = data => {\n if (!data.length) {\n return {\n isValid: false,\n message: 'No data available'\n };\n }\n\n // Check for negative values\n const hasNegativeValues = data.some(item => item.percentage < 0 || item.value < 0);\n if (hasNegativeValues) {\n return {\n isValid: false,\n message: 'Invalid data: Negative values are not allowed'\n };\n }\n\n // Validate total percentage is greater than 0\n const totalPercentage = data.reduce((sum, item) => sum + item.percentage, 0);\n if (totalPercentage <= 0) {\n return {\n isValid: false,\n message: 'Invalid percentage total: Must be greater than 0'\n };\n }\n return {\n isValid: true,\n message: ''\n };\n};\nconst PieSemiCircleChartInternal = ({\n data,\n chartId: providedChartId,\n width: propWidth,\n height: propHeight,\n thickness = 0.4,\n clockwise = true,\n withTooltips = false,\n showLegend = false,\n legend = {},\n legendValueDisplay = 'percentage',\n label,\n animation,\n note,\n className,\n children,\n tooltipOffsetX = 0,\n tooltipOffsetY = -15,\n renderTooltip = renderDefaultPieSemiCircleTooltip,\n gap = 'md'\n}) => {\n const legendInteractive = legend.interactive ?? false;\n const legendPosition = legend.position ?? 'bottom';\n const chartId = useChartId(providedChartId);\n // Measure the SVG wrapper to calculate constrained dimensions\n const [svgWrapperRef, svgWrapperWidth, svgWrapperHeight] = useElementSize();\n const {\n tooltipOpen,\n tooltipLeft,\n tooltipTop,\n tooltipData,\n hideTooltip,\n showTooltip\n } = useTooltip();\n\n // Set up portal tooltip for better z-index handling\n // We get containerBounds to cancel out stale offsets in the position calculation\n const {\n containerRef,\n TooltipInPortal,\n containerBounds\n } = useTooltipInPortal({\n detectBounds: true,\n scroll: true,\n debounce: 0\n });\n const handleMouseMove = useCallback((event, arc) => {\n // Don't show tooltip until container bounds are measured\n if (containerBounds.width === 0 || containerBounds.height === 0) {\n return;\n }\n\n // Use clientX/Y and subtract containerBounds to cancel out any stale offset.\n // TooltipInPortal calculates: tooltipLeft + containerBounds.left + scrollX\n // By passing (clientX - containerBounds.left), we get:\n // (clientX - containerBounds.left) + containerBounds.left + scrollX = clientX + scrollX\n // This gives correct page coordinates regardless of stale bounds.\n showTooltip({\n tooltipData: arc.data,\n tooltipLeft: event.clientX - containerBounds.left + tooltipOffsetX,\n tooltipTop: event.clientY - containerBounds.top + tooltipOffsetY\n });\n }, [containerBounds.width, containerBounds.height, containerBounds.left, containerBounds.top, showTooltip, tooltipOffsetX, tooltipOffsetY]);\n const handleMouseLeave = useCallback(() => {\n hideTooltip();\n }, [hideTooltip]);\n const handleArcMouseMove = useCallback(arc => event => {\n handleMouseMove(event, arc);\n }, [handleMouseMove]);\n\n // Validate data first to get validation result\n const {\n isValid,\n message\n } = validateData(data);\n const {\n getElementStyles,\n isSeriesVisible\n } = useGlobalChartsContext();\n\n // Filter and recalculate data for interactive legends\n const {\n visibleData,\n allSegmentsHidden,\n legendData\n } = useInteractiveLegendData({\n data,\n chartId,\n legendInteractive,\n isSeriesVisible\n });\n\n // Define accessors with useMemo to avoid changing dependencies\n const accessors = useMemo(() => ({\n value: d => d.value,\n sort: (a, b) => b.value - a.value,\n fill: d => getElementStyles({\n data: d,\n index: d.index\n }).color\n }), [getElementStyles]);\n\n // Memoize legend options to prevent unnecessary re-calculations\n const legendOptions = useMemo(() => ({\n showValues: true,\n legendValueDisplay\n }), [legendValueDisplay]);\n\n // Create legend items using legendData (has recalculated percentages for visible items)\n const legendItems = useChartLegendItems(legendData, legendOptions);\n\n // Process children to extract compound components\n const {\n svgChildren,\n htmlChildren,\n legendChildren,\n otherChildren\n } = useChartChildren(children, 'PieSemiCircleChart');\n\n // Memoize metadata to prevent unnecessary re-registration\n const chartMetadata = useMemo(() => ({\n thickness,\n clockwise\n }), [thickness, clockwise]);\n\n // Register chart with context only if data is valid\n useChartRegistration({\n chartId,\n legendItems,\n chartType: 'pie-semi-circle',\n isDataValid: isValid,\n metadata: chartMetadata\n });\n const prefersReducedMotion = usePrefersReducedMotion();\n const effectiveWidth = propWidth || DEFAULT_WIDTH;\n if (!isValid) {\n const errorWidth = propHeight ? Math.min(propWidth || propHeight * 2, propHeight * 2) : effectiveWidth;\n const errorHeight = errorWidth / 2;\n return /*#__PURE__*/_jsx(\"div\", {\n className: styles['pie-semi-circle-chart'],\n children: /*#__PURE__*/_jsx(\"svg\", {\n width: errorWidth,\n height: errorHeight,\n children: /*#__PURE__*/_jsx(\"text\", {\n x: \"50%\",\n y: \"50%\",\n textAnchor: \"middle\",\n className: styles.error,\n children: message\n })\n })\n });\n }\n\n // Calculate chart dimensions maintaining the 2:1 width-to-height ratio.\n // Use measured SVG wrapper dimensions to respect height constraints, falling back\n // to explicit props during initial render before measurement is available.\n const availableWidth = svgWrapperWidth > 0 ? svgWrapperWidth : effectiveWidth;\n const availableHeight = svgWrapperHeight > 0 ? svgWrapperHeight : propHeight || effectiveWidth / 2;\n // Constrain width so that height (= width / 2) never exceeds the available height\n const width = Math.min(availableWidth, availableHeight * 2);\n const height = width / 2;\n const radius = height; // For a semi-circle, radius equals the SVG height\n const innerRadius = radius * (1 - thickness);\n\n // Map data with index for color assignment\n // When interactive, we need to find the original index to maintain consistent colors\n const dataWithIndex = visibleData.map(d => {\n const originalIndex = data.findIndex(item => item.label === d.label);\n return {\n ...d,\n index: originalIndex >= 0 ? originalIndex : 0\n };\n });\n\n // Configure pie angles based on clockwise direction\n const startAngle = clockwise ? -Math.PI / 2 : Math.PI / 2;\n const endAngle = clockwise ? Math.PI / 2 : -Math.PI / 2;\n const legendElement = showLegend && /*#__PURE__*/_jsx(Legend, {\n orientation: legend.orientation ?? 'horizontal',\n position: legendPosition,\n alignment: legend.alignment ?? 'center',\n labelStyles: legend.labelStyles,\n itemClassName: legend.itemClassName,\n itemStyles: legend.itemStyles,\n shapeStyles: legend.shapeStyles,\n shape: legend.shape ?? 'circle',\n chartId: chartId,\n interactive: legendInteractive\n });\n return /*#__PURE__*/_jsx(SingleChartContext.Provider, {\n value: {\n chartId,\n chartWidth: width,\n chartHeight: height\n },\n children: /*#__PURE__*/_jsxs(Stack, {\n ref: containerRef,\n direction: \"column\",\n gap: gap,\n className: clsx('pie-semi-circle-chart', styles['pie-semi-circle-chart'], {\n [styles['pie-semi-circle-chart--responsive']]: !propWidth && !propHeight\n }, className),\n style: {\n width: propWidth || undefined,\n height: propHeight || undefined\n },\n children: [legendPosition === 'top' && legendElement, renderLegendSlot(legendChildren, 'top'), /*#__PURE__*/_jsx(\"div\", {\n ref: svgWrapperRef,\n className: styles['pie-semi-circle-chart__svg-wrapper'],\n children: /*#__PURE__*/_jsxs(\"svg\", {\n width: width,\n height: height,\n viewBox: `0 0 ${width} ${height}`,\n children: [/*#__PURE__*/_jsx(\"defs\", {\n children: /*#__PURE__*/_jsx(RadialWipeAnimation, {\n id: `radial-wipe-${chartId}`,\n radius: radius,\n innerRadius: innerRadius,\n startAngle: \"-180deg\",\n wipePercentage: 50\n })\n }), /*#__PURE__*/_jsx(Group, {\n top: height,\n left: width / 2,\n mask: animation && !prefersReducedMotion ? `url(#radial-wipe-${chartId})` : null,\n children: allSegmentsHidden ? /*#__PURE__*/_jsx(\"text\", {\n textAnchor: \"middle\",\n y: -radius / 2,\n fill: \"#ccc\",\n fontSize: \"14\",\n fontFamily: \"-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif\",\n children: __('All segments are hidden. Click legend items to show data.', 'jetpack-charts')\n }) : /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(Pie, {\n data: dataWithIndex,\n pieValue: accessors.value,\n outerRadius: radius,\n innerRadius: innerRadius,\n cornerRadius: 3,\n padAngle: PAD_ANGLE,\n startAngle: startAngle,\n endAngle: endAngle,\n pieSort: accessors.sort,\n children: pie => {\n return pie.arcs.map(arc => /*#__PURE__*/_jsx(\"g\", {\n onMouseMove: withTooltips ? handleArcMouseMove(arc) : undefined,\n onMouseLeave: withTooltips ? handleMouseLeave : undefined,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: pie.path(arc) || '',\n fill: accessors.fill(arc.data)\n })\n }, arc.data.label));\n }\n }), /*#__PURE__*/_jsxs(Group, {\n children: [/*#__PURE__*/_jsx(Text, {\n textAnchor: \"middle\",\n verticalAnchor: \"start\",\n y: -40 // Position above the chart with space for note\n ,\n className: styles.label,\n children: label\n }), /*#__PURE__*/_jsx(Text, {\n textAnchor: \"middle\",\n verticalAnchor: \"start\",\n y: -20 // Position between label and chart\n ,\n className: styles.note,\n children: note\n })]\n }), !allSegmentsHidden && svgChildren]\n })\n })]\n })\n }), legendPosition === 'bottom' && legendElement, renderLegendSlot(legendChildren, 'bottom'), withTooltips && tooltipOpen && tooltipData && /*#__PURE__*/_jsx(TooltipInPortal, {\n top: tooltipTop || 0,\n left: tooltipLeft || 0,\n children: /*#__PURE__*/_jsx(\"div\", {\n role: \"tooltip\",\n children: renderTooltip({\n tooltipData\n })\n })\n }), htmlChildren, otherChildren]\n })\n });\n};\nconst PieSemiCircleChartWithProvider = props => {\n const existingContext = useContext(GlobalChartsContext);\n\n // If we're already in a GlobalChartsProvider context, don't create a new one\n if (existingContext) {\n return /*#__PURE__*/_jsx(PieSemiCircleChartInternal, {\n ...props\n });\n }\n\n // Otherwise, create our own GlobalChartsProvider\n return /*#__PURE__*/_jsx(GlobalChartsProvider, {\n children: /*#__PURE__*/_jsx(PieSemiCircleChartInternal, {\n ...props\n })\n });\n};\nPieSemiCircleChartWithProvider.displayName = 'PieSemiCircleChart';\n\n// Create PieSemiCircleChart with composition API\nconst PieSemiCircleChart = attachSubComponents(PieSemiCircleChartWithProvider, {\n Legend: Legend,\n SVG: ChartSVG,\n HTML: ChartHTML\n});\n\n// Create responsive PieSemiCircleChart with composition API\nconst PieSemiCircleChartResponsive = attachSubComponents(withResponsive(PieSemiCircleChartWithProvider), {\n Legend: Legend,\n SVG: ChartSVG,\n HTML: ChartHTML\n});\nexport { PieSemiCircleChartResponsive as default, PieSemiCircleChart as PieSemiCircleChartUnresponsive };","import 'css-chunk:src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss';export default {\n \"pie-semi-circle-chart--responsive\": \"a8ccharts-V0wiEb\",\n \"pie-semi-circle-chart__svg-wrapper\": \"a8ccharts-hGowej\",\n \"pie-semi-circle-chart\": \"a8ccharts-8tyaQj\",\n \"label\": \"a8ccharts-EKZS3j\",\n \"note\": \"a8ccharts-v85A8-\"\n};"]}
|