@razorpay/blade 12.63.0 → 12.65.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/build/lib/native/components/Badge/Badge.js +1 -1
- package/build/lib/native/components/Badge/Badge.js.map +1 -1
- package/build/lib/native/components/Badge/badgeTokens.js +1 -1
- package/build/lib/native/components/Badge/badgeTokens.js.map +1 -1
- package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponentsContext.js +6 -0
- package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponentsContext.js.map +1 -0
- package/build/lib/native/components/Charts/CommonChartComponents/tokens.js +4 -0
- package/build/lib/native/components/Charts/CommonChartComponents/tokens.js.map +1 -0
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/native/components/QuickFilters/QuickFilter.js +1 -1
- package/build/lib/native/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/native/components/Radio/Radio.js +1 -1
- package/build/lib/native/components/Radio/Radio.js.map +1 -1
- package/build/lib/native/components/Table/TableContext.js +1 -1
- package/build/lib/native/components/Table/TableContext.js.map +1 -1
- package/build/lib/native/components/Table/tokens.js +1 -1
- package/build/lib/native/components/Table/tokens.js.map +1 -1
- package/build/lib/native/components/index.js +2 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/colors.js +1 -1
- package/build/lib/native/tokens/global/colors.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/native/tokens/theme/theme.js.map +1 -1
- package/build/lib/web/development/components/Badge/Badge.js +4 -0
- package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/development/components/Badge/badgeTokens.js +4 -0
- package/build/lib/web/development/components/Badge/badgeTokens.js.map +1 -1
- package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js +140 -38
- package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/BarChart/BarChart.web.js +121 -57
- package/build/lib/web/development/components/Charts/BarChart/BarChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js +145 -92
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponentsContext.js +15 -0
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponentsContext.js.map +1 -0
- package/build/lib/web/development/components/Charts/CommonChartComponents/index.js +2 -0
- package/build/lib/web/development/components/Charts/CommonChartComponents/index.js.map +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js +2 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js.map +1 -1
- package/build/lib/web/development/components/Charts/DonutChart/DonutChart.web.js +202 -69
- package/build/lib/web/development/components/Charts/DonutChart/DonutChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js +84 -32
- package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/utils/assignDataColorMapping/assignDataColorMapping.js +33 -0
- package/build/lib/web/development/components/Charts/utils/assignDataColorMapping/assignDataColorMapping.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/assignDataColorMapping/index.js +2 -0
- package/build/lib/web/development/components/Charts/utils/assignDataColorMapping/index.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/getHighestColorInRange.js +53 -0
- package/build/lib/web/development/components/Charts/utils/getHighestColorInRange.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/index.js +5 -0
- package/build/lib/web/development/components/Charts/utils/index.js.map +1 -1
- package/build/lib/web/development/components/Charts/utils/isSequentialColor.js +35 -0
- package/build/lib/web/development/components/Charts/utils/isSequentialColor.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/sanitizeString/index.js +2 -0
- package/build/lib/web/development/components/Charts/utils/sanitizeString/index.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/sanitizeString/sanitizeString.js +30 -0
- package/build/lib/web/development/components/Charts/utils/sanitizeString/sanitizeString.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/tokens.js +7 -0
- package/build/lib/web/development/components/Charts/utils/tokens.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/useColorTheme.js +32 -11
- package/build/lib/web/development/components/Charts/utils/useColorTheme.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js +3 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +8 -9
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/FilterChip/tokens.js +1 -1
- package/build/lib/web/development/components/FilterChip/tokens.js.map +1 -1
- package/build/lib/web/development/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +2 -0
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +11 -0
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +1 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/development/components/ListView/ListViewFilters.web.js +13 -102
- package/build/lib/web/development/components/ListView/ListViewFilters.web.js.map +1 -1
- package/build/lib/web/development/components/QuickFilters/QuickFilter.js +2 -1
- package/build/lib/web/development/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +4 -2
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +3 -1
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableBody.web.js +2 -1
- package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableContext.js +2 -1
- package/build/lib/web/development/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/development/components/Table/TableFooter.web.js +2 -1
- package/build/lib/web/development/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableHeader.web.js +78 -68
- package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +5 -2
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableToolbar.web.js +15 -13
- package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/development/components/Table/tokens.js +11 -8
- package/build/lib/web/development/components/Table/tokens.js.map +1 -1
- package/build/lib/web/development/components/index.js +2 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/tokens/global/colors.js +48 -48
- package/build/lib/web/development/tokens/global/colors.js.map +1 -1
- package/build/lib/web/development/tokens/global/size.js +2 -0
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/tokens/theme/bladeTheme.js +139 -111
- package/build/lib/web/development/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/development/tokens/theme/theme.js.map +1 -1
- package/build/lib/web/production/components/Badge/Badge.js +4 -0
- package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/production/components/Badge/badgeTokens.js +4 -0
- package/build/lib/web/production/components/Badge/badgeTokens.js.map +1 -1
- package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js +140 -38
- package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/BarChart/BarChart.web.js +121 -57
- package/build/lib/web/production/components/Charts/BarChart/BarChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js +145 -92
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponentsContext.js +15 -0
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponentsContext.js.map +1 -0
- package/build/lib/web/production/components/Charts/CommonChartComponents/index.js +2 -0
- package/build/lib/web/production/components/Charts/CommonChartComponents/index.js.map +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js +2 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js.map +1 -1
- package/build/lib/web/production/components/Charts/DonutChart/DonutChart.web.js +202 -69
- package/build/lib/web/production/components/Charts/DonutChart/DonutChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js +84 -32
- package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/utils/assignDataColorMapping/assignDataColorMapping.js +33 -0
- package/build/lib/web/production/components/Charts/utils/assignDataColorMapping/assignDataColorMapping.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/assignDataColorMapping/index.js +2 -0
- package/build/lib/web/production/components/Charts/utils/assignDataColorMapping/index.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/getHighestColorInRange.js +53 -0
- package/build/lib/web/production/components/Charts/utils/getHighestColorInRange.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/index.js +5 -0
- package/build/lib/web/production/components/Charts/utils/index.js.map +1 -1
- package/build/lib/web/production/components/Charts/utils/isSequentialColor.js +35 -0
- package/build/lib/web/production/components/Charts/utils/isSequentialColor.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/sanitizeString/index.js +2 -0
- package/build/lib/web/production/components/Charts/utils/sanitizeString/index.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/sanitizeString/sanitizeString.js +30 -0
- package/build/lib/web/production/components/Charts/utils/sanitizeString/sanitizeString.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/tokens.js +7 -0
- package/build/lib/web/production/components/Charts/utils/tokens.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/useColorTheme.js +32 -11
- package/build/lib/web/production/components/Charts/utils/useColorTheme.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js +3 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +8 -9
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/FilterChip/tokens.js +1 -1
- package/build/lib/web/production/components/FilterChip/tokens.js.map +1 -1
- package/build/lib/web/production/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +2 -0
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +11 -0
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +1 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/production/components/ListView/ListViewFilters.web.js +13 -102
- package/build/lib/web/production/components/ListView/ListViewFilters.web.js.map +1 -1
- package/build/lib/web/production/components/QuickFilters/QuickFilter.js +2 -1
- package/build/lib/web/production/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +4 -2
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +3 -1
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableBody.web.js +2 -1
- package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableContext.js +2 -1
- package/build/lib/web/production/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/production/components/Table/TableFooter.web.js +2 -1
- package/build/lib/web/production/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableHeader.web.js +78 -68
- package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +5 -2
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableToolbar.web.js +15 -13
- package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/production/components/Table/tokens.js +11 -8
- package/build/lib/web/production/components/Table/tokens.js.map +1 -1
- package/build/lib/web/production/components/index.js +2 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/tokens/global/colors.js +48 -48
- package/build/lib/web/production/tokens/global/colors.js.map +1 -1
- package/build/lib/web/production/tokens/global/size.js +2 -0
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/tokens/theme/bladeTheme.js +139 -111
- package/build/lib/web/production/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/production/tokens/theme/theme.js.map +1 -1
- package/build/types/components/index.d.ts +109 -23
- package/build/types/components/index.native.d.ts +106 -20
- package/build/types/tokens/index.d.ts +8 -6
- package/build/types/tokens/index.native.d.ts +8 -6
- package/build/types/utils/index.d.ts +29 -6
- package/build/types/utils/index.native.d.ts +29 -6
- package/package.json +1 -1
|
@@ -4,10 +4,11 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
|
|
6
6
|
import _extends from '@babel/runtime/helpers/extends';
|
|
7
|
-
import {
|
|
7
|
+
import { useMemo, isValidElement, useState, useRef, useEffect, createElement } from 'react';
|
|
8
8
|
import { Cell, ResponsiveContainer, PieChart, Label, Pie } from 'recharts';
|
|
9
9
|
import '../utils/index.js';
|
|
10
10
|
import { componentId as componentId$1 } from '../CommonChartComponents/tokens.js';
|
|
11
|
+
import '../CommonChartComponents/index.js';
|
|
11
12
|
import { componentId, LABEL_FONT_STYLES, LABEL_DISTANCE_FROM_CENTER, RADIUS_MAPPING, START_AND_END_ANGLES } from './tokens.js';
|
|
12
13
|
import '../../BladeProvider/index.js';
|
|
13
14
|
import '../../Box/BaseBox/index.js';
|
|
@@ -16,14 +17,18 @@ import getIn from '../../../utils/lodashButBetter/get.js';
|
|
|
16
17
|
import '../../../utils/makeAnalyticsAttribute/index.js';
|
|
17
18
|
import '../../../utils/assignWithoutSideEffects/index.js';
|
|
18
19
|
import '../../../utils/isValidAllowedChildren/index.js';
|
|
19
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
20
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
20
21
|
import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
21
22
|
import useTheme from '../../BladeProvider/useTheme.js';
|
|
22
23
|
import { getComponentId } from '../../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
24
|
+
import useChartsColorTheme from '../utils/useColorTheme.js';
|
|
25
|
+
import { sanitizeString } from '../utils/sanitizeString/sanitizeString.js';
|
|
26
|
+
import { assignDataColorMapping } from '../utils/assignDataColorMapping/assignDataColorMapping.js';
|
|
27
|
+
import { CommonChartComponentsContext } from '../CommonChartComponents/CommonChartComponentsContext.js';
|
|
23
28
|
import { BaseBox } from '../../Box/BaseBox/BaseBox.web.js';
|
|
24
29
|
import { metaAttribute } from '../../../utils/metaAttribute/metaAttribute.web.js';
|
|
25
30
|
import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
26
|
-
import
|
|
31
|
+
import { getHighestColorInRange } from '../utils/getHighestColorInRange.js';
|
|
27
32
|
|
|
28
33
|
var _excluded = ["children", "content", "testID"],
|
|
29
34
|
_excluded2 = ["cx", "cy", "radius", "dataKey", "nameKey", "children", "data", "colorTheme", "type"];
|
|
@@ -49,6 +54,23 @@ var ChartDonutWrapper = function ChartDonutWrapper(_ref2) {
|
|
|
49
54
|
restProps = _objectWithoutProperties(_ref2, _excluded);
|
|
50
55
|
var _useTheme = useTheme(),
|
|
51
56
|
theme = _useTheme.theme;
|
|
57
|
+
var colorTheme = useMemo(function () {
|
|
58
|
+
if (Array.isArray(children)) {
|
|
59
|
+
var _donutChild$props;
|
|
60
|
+
var donutChild = children.find(function (child) {
|
|
61
|
+
return getComponentId(child) === componentId.chartDonut;
|
|
62
|
+
});
|
|
63
|
+
if (!donutChild || ! /*#__PURE__*/isValidElement(donutChild)) {
|
|
64
|
+
return 'categorical';
|
|
65
|
+
}
|
|
66
|
+
return (donutChild === null || donutChild === void 0 || (_donutChild$props = donutChild.props) === null || _donutChild$props === void 0 ? void 0 : _donutChild$props.colorTheme) || 'categorical';
|
|
67
|
+
}
|
|
68
|
+
return 'categorical';
|
|
69
|
+
}, [children]);
|
|
70
|
+
var themeColors = useChartsColorTheme({
|
|
71
|
+
colorTheme: colorTheme,
|
|
72
|
+
chartName: 'donut'
|
|
73
|
+
});
|
|
52
74
|
var _useState = useState(0),
|
|
53
75
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
76
|
legendHeight = _useState2[0],
|
|
@@ -87,14 +109,14 @@ var ChartDonutWrapper = function ChartDonutWrapper(_ref2) {
|
|
|
87
109
|
}, []);
|
|
88
110
|
var pieChartRadius = useMemo(function () {
|
|
89
111
|
if (Array.isArray(children)) {
|
|
90
|
-
var _donutChild$
|
|
112
|
+
var _donutChild$props2;
|
|
91
113
|
var donutChild = children.find(function (child) {
|
|
92
114
|
return getComponentId(child) === componentId.chartDonut;
|
|
93
115
|
});
|
|
94
116
|
if (!donutChild || ! /*#__PURE__*/isValidElement(donutChild)) {
|
|
95
117
|
return 'medium';
|
|
96
118
|
}
|
|
97
|
-
return (donutChild === null || donutChild === void 0 || (_donutChild$
|
|
119
|
+
return (donutChild === null || donutChild === void 0 || (_donutChild$props2 = donutChild.props) === null || _donutChild$props2 === void 0 ? void 0 : _donutChild$props2.radius) || 'medium';
|
|
98
120
|
}
|
|
99
121
|
return 'medium';
|
|
100
122
|
}, [children]);
|
|
@@ -124,50 +146,98 @@ var ChartDonutWrapper = function ChartDonutWrapper(_ref2) {
|
|
|
124
146
|
}
|
|
125
147
|
return 'right';
|
|
126
148
|
}, [children]);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
149
|
+
/**
|
|
150
|
+
* We need to check child of ChartDonutWrapper. if they have any custom color we store that.
|
|
151
|
+
* We need these mapping because colors of tooltip & legend is determine based on this
|
|
152
|
+
* recharts do provide a color but it is hex code and we need blade color token .
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
var dataColorMapping = useMemo(function () {
|
|
156
|
+
var dataColorMapping = {};
|
|
157
|
+
if (Array.isArray(children)) {
|
|
158
|
+
children.forEach(function (child) {
|
|
159
|
+
if (getComponentId(child) === componentId.chartDonut) {
|
|
160
|
+
var data = child.props.data;
|
|
161
|
+
// Donut Chart can also have <Cell/> which will come under donutChildren.
|
|
162
|
+
var donutChildren = child.props.children;
|
|
163
|
+
if (Array.isArray(donutChildren)) {
|
|
164
|
+
donutChildren.forEach(function (child, index) {
|
|
165
|
+
var _data$index;
|
|
166
|
+
if (getComponentId(child) === componentId.cell && (_data$index = data[index]) !== null && _data$index !== void 0 && _data$index.name) {
|
|
167
|
+
var _child$props, _child$props2;
|
|
168
|
+
// assign colors to the dataColorMapping, if no color is assigned we assign color in `assignDataColorMapping`
|
|
169
|
+
|
|
170
|
+
dataColorMapping[sanitizeString(data[index].name)] = {
|
|
171
|
+
colorToken: (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.color,
|
|
172
|
+
isCustomColor: Boolean((_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.color)
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
} else {
|
|
177
|
+
// if we don't have cell as child component then we can we directly assign theme colors
|
|
178
|
+
data.forEach(function (item, index) {
|
|
179
|
+
dataColorMapping[sanitizeString(item.name)] = {
|
|
180
|
+
colorToken: themeColors[index],
|
|
181
|
+
isCustomColor: false
|
|
182
|
+
};
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
assignDataColorMapping(dataColorMapping, themeColors);
|
|
189
|
+
return dataColorMapping;
|
|
190
|
+
}, [children, themeColors]);
|
|
191
|
+
return /*#__PURE__*/jsx(CommonChartComponentsContext.Provider, {
|
|
192
|
+
value: {
|
|
193
|
+
chartName: 'donut',
|
|
194
|
+
dataColorMapping: dataColorMapping
|
|
195
|
+
},
|
|
196
|
+
children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
197
|
+
ref: chartRef
|
|
198
|
+
}, metaAttribute({
|
|
199
|
+
name: 'donut-chart',
|
|
200
|
+
testID: testID
|
|
201
|
+
})), makeAnalyticsAttribute(restProps)), {}, {
|
|
138
202
|
width: "100%",
|
|
139
|
-
height: "100%"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
203
|
+
height: "100%"
|
|
204
|
+
}, restProps), {}, {
|
|
205
|
+
position: /*#__PURE__*/isValidElement(content) ? 'relative' : undefined,
|
|
206
|
+
children: [/*#__PURE__*/jsx(ResponsiveContainer, {
|
|
207
|
+
width: "100%",
|
|
208
|
+
height: "100%",
|
|
209
|
+
children: /*#__PURE__*/jsxs(PieChart, {
|
|
210
|
+
children: [children, isLabelPresentInContent && /*#__PURE__*/jsx(Label, {
|
|
211
|
+
position: "center",
|
|
212
|
+
fill: theme.colors.surface.text.gray.muted,
|
|
213
|
+
fontSize: theme.typography.fonts.size[LABEL_FONT_STYLES[pieChartRadius].fontSize.label],
|
|
214
|
+
fontFamily: theme.typography.fonts.family.text,
|
|
215
|
+
fontWeight: theme.typography.fonts.weight.medium,
|
|
216
|
+
letterSpacing: theme.typography.letterSpacings[100],
|
|
217
|
+
dy: isValuePresentInContent ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withText : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal,
|
|
218
|
+
children: content === null || content === void 0 ? void 0 : content.label
|
|
219
|
+
}), isValuePresentInContent && /*#__PURE__*/jsx(Label, {
|
|
220
|
+
position: "center",
|
|
221
|
+
fill: theme.colors.surface.text.gray.normal,
|
|
222
|
+
fontSize: theme.typography.fonts.size[LABEL_FONT_STYLES[pieChartRadius].fontSize.text],
|
|
223
|
+
fontFamily: theme.typography.fonts.family.heading,
|
|
224
|
+
fontWeight: theme.typography.fonts.weight.bold,
|
|
225
|
+
letterSpacing: theme.typography.letterSpacings[100],
|
|
226
|
+
dy: isLabelPresentInContent ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withLabel : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal,
|
|
227
|
+
children: content === null || content === void 0 ? void 0 : content.value
|
|
228
|
+
})]
|
|
229
|
+
})
|
|
230
|
+
}), /*#__PURE__*/isValidElement(content) && /*#__PURE__*/jsx(BaseBox, {
|
|
231
|
+
position: "absolute",
|
|
232
|
+
top: "50%",
|
|
233
|
+
left: "50%",
|
|
234
|
+
transform: getTranslate(legendLayout, legendAlignment, legendWidth, legendHeight),
|
|
235
|
+
zIndex: 10,
|
|
236
|
+
textAlign: "center",
|
|
237
|
+
children: content
|
|
238
|
+
})]
|
|
239
|
+
}))
|
|
240
|
+
});
|
|
171
241
|
};
|
|
172
242
|
var _ChartDonut = function _ChartDonut(_ref3) {
|
|
173
243
|
var _ref3$cx = _ref3.cx,
|
|
@@ -187,7 +257,8 @@ var _ChartDonut = function _ChartDonut(_ref3) {
|
|
|
187
257
|
rest = _objectWithoutProperties(_ref3, _excluded2);
|
|
188
258
|
var radiusConfig = RADIUS_MAPPING[radius];
|
|
189
259
|
var themeColors = useChartsColorTheme({
|
|
190
|
-
colorTheme: colorTheme
|
|
260
|
+
colorTheme: colorTheme,
|
|
261
|
+
chartName: 'donut'
|
|
191
262
|
});
|
|
192
263
|
var _useState5 = useState(null),
|
|
193
264
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
@@ -212,11 +283,12 @@ var _ChartDonut = function _ChartDonut(_ref3) {
|
|
|
212
283
|
So we have placeholder component ChartDonutCell. which we replaced by RechartsCell internally so dev can see hover effects
|
|
213
284
|
working out of box.
|
|
214
285
|
*/
|
|
215
|
-
var fill = getIn(theme.colors, child.props.color
|
|
286
|
+
var fill = getIn(theme.colors, child.props.color || themeColors[index]);
|
|
216
287
|
return /*#__PURE__*/createElement(Cell, _objectSpread(_objectSpread({}, child.props), {}, {
|
|
217
288
|
fill: fill,
|
|
218
289
|
key: index,
|
|
219
|
-
opacity: getCellOpacity(hoveredIndex, index)
|
|
290
|
+
opacity: getCellOpacity(hoveredIndex, index),
|
|
291
|
+
strokeWidth: 0
|
|
220
292
|
}));
|
|
221
293
|
} else {
|
|
222
294
|
return child;
|
|
@@ -225,28 +297,89 @@ var _ChartDonut = function _ChartDonut(_ref3) {
|
|
|
225
297
|
}
|
|
226
298
|
return data === null || data === void 0 ? void 0 : data.map(function (_, index) {
|
|
227
299
|
return /*#__PURE__*/jsx(Cell, {
|
|
228
|
-
fill: themeColors[index],
|
|
229
|
-
opacity: getCellOpacity(hoveredIndex, index)
|
|
300
|
+
fill: getIn(theme.colors, themeColors[index]),
|
|
301
|
+
opacity: getCellOpacity(hoveredIndex, index),
|
|
302
|
+
strokeWidth: 0
|
|
230
303
|
}, index);
|
|
231
304
|
});
|
|
232
305
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
233
306
|
}, [children, data, colorTheme, hoveredIndex, themeColors]);
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
307
|
+
var modifiedExternalDonutChildren = useMemo(function () {
|
|
308
|
+
if (Array.isArray(children)) {
|
|
309
|
+
return children.map(function (child, index) {
|
|
310
|
+
if (getComponentId(child) === componentId.cell) {
|
|
311
|
+
/*
|
|
312
|
+
Why we are not using React.cloneElement ? just use ChartDonutCell no?
|
|
313
|
+
cell can never be custom component in recharts. (as of v3.1.2)
|
|
314
|
+
(https://github.com/recharts/recharts/issues/2788)
|
|
315
|
+
https://github.com/recharts/recharts/discussions/5474
|
|
316
|
+
So we have placeholder component ChartDonutCell. which we replaced by RechartsCell internally so dev can see hover effects
|
|
317
|
+
working out of box.
|
|
318
|
+
*/
|
|
319
|
+
|
|
320
|
+
var fill = getIn(theme.colors, getHighestColorInRange({
|
|
321
|
+
colorToken: child.props.color || themeColors[index],
|
|
322
|
+
followIntensityMapping: Boolean(child.props.color)
|
|
323
|
+
}));
|
|
324
|
+
return /*#__PURE__*/createElement(Cell, _objectSpread(_objectSpread({}, child.props), {}, {
|
|
325
|
+
key: "stroke-".concat(index),
|
|
326
|
+
fill: "transparent",
|
|
327
|
+
stroke: fill // Different stroke color for each cell
|
|
328
|
+
,
|
|
329
|
+
strokeWidth: 0.75,
|
|
330
|
+
strokeOpacity: getCellOpacity(hoveredIndex, index)
|
|
331
|
+
}));
|
|
332
|
+
} else {
|
|
333
|
+
return child;
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
return data === null || data === void 0 ? void 0 : data.map(function (_, index) {
|
|
338
|
+
return /*#__PURE__*/jsx(Cell, {
|
|
339
|
+
fill: "transparent",
|
|
340
|
+
stroke: getIn(theme.colors, getHighestColorInRange({
|
|
341
|
+
colorToken: themeColors[index]
|
|
342
|
+
})) // Different stroke color for each cell
|
|
343
|
+
,
|
|
344
|
+
strokeWidth: 0.75,
|
|
345
|
+
strokeOpacity: getCellOpacity(hoveredIndex, index)
|
|
346
|
+
}, "stroke-".concat(index));
|
|
347
|
+
});
|
|
348
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
349
|
+
}, [children, data, colorTheme, hoveredIndex, themeColors]);
|
|
350
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
351
|
+
children: [/*#__PURE__*/jsx(Pie, _objectSpread(_objectSpread({}, rest), {}, {
|
|
352
|
+
cx: cx,
|
|
353
|
+
cy: cy,
|
|
354
|
+
outerRadius: radiusConfig.outerRadius,
|
|
355
|
+
innerRadius: radiusConfig.innerRadius,
|
|
356
|
+
data: data,
|
|
357
|
+
startAngle: START_AND_END_ANGLES[type].startAngle,
|
|
358
|
+
endAngle: START_AND_END_ANGLES[type].endAngle,
|
|
359
|
+
onMouseEnter: function onMouseEnter(data, index) {
|
|
360
|
+
setHoveredIndex(index);
|
|
361
|
+
},
|
|
362
|
+
onMouseLeave: function onMouseLeave() {
|
|
363
|
+
setHoveredIndex(null);
|
|
364
|
+
},
|
|
365
|
+
paddingAngle: 1.5,
|
|
366
|
+
children: modifiedChildren
|
|
367
|
+
})), /*#__PURE__*/jsx(Pie, {
|
|
368
|
+
cx: cx,
|
|
369
|
+
cy: cy,
|
|
370
|
+
outerRadius: radiusConfig.outerRadius,
|
|
371
|
+
innerRadius: radiusConfig.outerRadius - 0.75 // 1.5px thick stroke
|
|
372
|
+
,
|
|
373
|
+
data: data,
|
|
374
|
+
startAngle: START_AND_END_ANGLES[type].startAngle,
|
|
375
|
+
endAngle: START_AND_END_ANGLES[type].endAngle,
|
|
376
|
+
fill: "transparent",
|
|
377
|
+
legendType: "none",
|
|
378
|
+
tooltipType: "none",
|
|
379
|
+
paddingAngle: 1.5,
|
|
380
|
+
children: modifiedExternalDonutChildren
|
|
381
|
+
})]
|
|
382
|
+
});
|
|
250
383
|
};
|
|
251
384
|
var ChartDonut = /*#__PURE__*/assignWithoutSideEffects(_ChartDonut, {
|
|
252
385
|
componentId: componentId.chartDonut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonutChart.web.js","sources":["../../../../../../../src/components/Charts/DonutChart/DonutChart.web.tsx"],"sourcesContent":["import React, { isValidElement, useMemo, useState, useRef, useEffect } from 'react';\nimport {\n PieChart as RechartsPieChart,\n Pie as RechartsPie,\n Cell as RechartsCell,\n ResponsiveContainer as RechartsResponsiveContainer,\n Label,\n} from 'recharts';\nimport { useChartsColorTheme } from '../utils';\nimport { componentId as commonChartComponentId } from '../CommonChartComponents/tokens';\nimport type {\n ChartDonutWrapperProps,\n ChartDonutCellProps,\n ChartDonutProps,\n ChartRadius,\n} from './types';\nimport {\n RADIUS_MAPPING,\n START_AND_END_ANGLES,\n componentId,\n LABEL_DISTANCE_FROM_CENTER,\n LABEL_FONT_STYLES,\n} from './tokens';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\n// Cell component\nconst _Cell: React.FC<ChartDonutCellProps> = ({ ...rest }) => {\n return <RechartsCell {...rest} />;\n};\n\nconst ChartDonutCell = assignWithoutSideEffects(_Cell, {\n componentId: componentId.cell,\n});\n\nconst getTranslate = (\n legendLayout: 'horizontal' | 'vertical',\n legendAlignment: 'left' | 'right',\n legendWidth: number,\n legendHeight: number,\n): string => {\n if (legendLayout === 'vertical') {\n return `translate(calc(-50% + ${\n legendAlignment === 'right' ? -legendWidth / 2 : legendWidth / 2\n }px) , calc(-50%))`;\n }\n return `translate(-50%, calc(-50% - ${legendHeight / 2}px))`;\n};\n\nconst ChartDonutWrapper: React.FC<ChartDonutWrapperProps & TestID & DataAnalyticsAttribute> = ({\n children,\n content,\n testID,\n ...restProps\n}) => {\n const { theme } = useTheme();\n const [legendHeight, setLegendHeight] = useState(0);\n const [legendWidth, setLegendWidth] = useState(0);\n const chartRef = useRef<HTMLDivElement>(null);\n const isValuePresentInContent = content && typeof content === 'object' && 'value' in content;\n const isLabelPresentInContent = content && typeof content === 'object' && 'label' in content;\n useEffect(() => {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'childList') {\n const legendWrapper = chartRef.current?.querySelector('.recharts-legend-wrapper');\n if (legendWrapper) {\n const height = legendWrapper.getBoundingClientRect().height;\n const width = legendWrapper.getBoundingClientRect().width;\n setLegendHeight(height);\n setLegendWidth(width);\n }\n }\n });\n });\n\n if (chartRef.current) {\n observer.observe(chartRef.current, { childList: true, subtree: true });\n }\n\n return () => observer.disconnect();\n }, []);\n\n const pieChartRadius: ChartRadius = useMemo(() => {\n if (Array.isArray(children)) {\n const donutChild = children.find((child) => getComponentId(child) === componentId.chartDonut);\n if (!donutChild || !isValidElement(donutChild)) {\n return 'medium';\n }\n return donutChild?.props?.radius || 'medium';\n }\n return 'medium';\n }, [children]);\n\n const legendLayout = useMemo(() => {\n if (Array.isArray(children)) {\n const legendChild = children.find(\n (child) => getComponentId(child) === commonChartComponentId.chartLegend,\n );\n if (!legendChild || !isValidElement(legendChild)) {\n return 'horizontal';\n }\n return legendChild?.props?.layout || 'horizontal';\n }\n return 'horizontal';\n }, [children]);\n\n const legendAlignment = useMemo(() => {\n if (Array.isArray(children)) {\n const legendChild = children.find(\n (child) => getComponentId(child) === commonChartComponentId.chartLegend,\n );\n if (!legendChild || !isValidElement(legendChild)) {\n return 'right';\n }\n return legendChild?.props?.align || 'right';\n }\n return 'right';\n }, [children]);\n\n return (\n <BaseBox\n ref={chartRef}\n {...metaAttribute({ name: 'donut-chart', testID })}\n {...makeAnalyticsAttribute(restProps)}\n width=\"100%\"\n height=\"100%\"\n {...restProps}\n position={isValidElement(content) ? 'relative' : undefined}\n >\n <RechartsResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsPieChart>\n {children}\n {isLabelPresentInContent && (\n <Label\n position=\"center\"\n fill={theme.colors.surface.text.gray.muted}\n fontSize={\n theme.typography.fonts.size[\n LABEL_FONT_STYLES[pieChartRadius].fontSize\n .label as keyof typeof theme.typography.fonts.size\n ]\n }\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.medium}\n letterSpacing={theme.typography.letterSpacings[100]}\n dy={\n isValuePresentInContent\n ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withText\n : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal\n }\n >\n {content?.label}\n </Label>\n )}\n {isValuePresentInContent && (\n <Label\n position=\"center\"\n fill={theme.colors.surface.text.gray.normal}\n fontSize={\n theme.typography.fonts.size[\n LABEL_FONT_STYLES[pieChartRadius].fontSize\n .text as keyof typeof theme.typography.fonts.size\n ]\n }\n fontFamily={theme.typography.fonts.family.heading}\n fontWeight={theme.typography.fonts.weight.bold}\n letterSpacing={theme.typography.letterSpacings[100]}\n dy={\n isLabelPresentInContent\n ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withLabel\n : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal\n }\n >\n {content?.value}\n </Label>\n )}\n </RechartsPieChart>\n </RechartsResponsiveContainer>\n\n {isValidElement(content) && (\n <BaseBox\n position=\"absolute\"\n top=\"50%\"\n left=\"50%\"\n transform={getTranslate(legendLayout, legendAlignment, legendWidth, legendHeight)}\n zIndex={10}\n textAlign=\"center\"\n >\n {content}\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst _ChartDonut: React.FC<ChartDonutProps> = ({\n cx = '50%',\n cy = '50%',\n radius = 'medium',\n dataKey,\n nameKey,\n children,\n data,\n colorTheme = 'categorical',\n type = 'circle',\n ...rest\n}) => {\n const radiusConfig = RADIUS_MAPPING[radius];\n const themeColors = useChartsColorTheme({ colorTheme });\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n const { theme } = useTheme();\n\n const getCellOpacity = (hoveredIndex: number | null, currentIndex: number): number => {\n if (hoveredIndex === null) return 1;\n if (hoveredIndex === currentIndex) return 1;\n return 0.2;\n };\n\n const modifiedChildren = useMemo(() => {\n if (Array.isArray(children)) {\n return children.map((child, index) => {\n if (getComponentId(child) === componentId.cell) {\n /* \n Why we are not using React.cloneElement ? just use ChartDonutCell no?\n cell can never be custom component in recharts. (as of v3.1.2)\n (https://github.com/recharts/recharts/issues/2788)\n https://github.com/recharts/recharts/discussions/5474\n\n So we have placeholder component ChartDonutCell. which we replaced by RechartsCell internally so dev can see hover effects\n working out of box. \n */\n const fill = getIn(theme.colors, child.props.color) || themeColors[index];\n return (\n <RechartsCell\n {...child.props}\n fill={fill}\n key={index}\n opacity={getCellOpacity(hoveredIndex, index)}\n />\n );\n } else {\n return child;\n }\n });\n }\n return data?.map((_, index) => (\n <RechartsCell\n fill={themeColors[index]}\n key={index}\n opacity={getCellOpacity(hoveredIndex, index)}\n />\n ));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, data, colorTheme, hoveredIndex, themeColors]);\n\n return (\n <RechartsPie\n {...rest}\n cx={cx}\n cy={cy}\n outerRadius={radiusConfig.outerRadius}\n innerRadius={radiusConfig.innerRadius}\n data={data}\n startAngle={START_AND_END_ANGLES[type].startAngle}\n endAngle={START_AND_END_ANGLES[type].endAngle}\n onMouseEnter={(data, index) => {\n setHoveredIndex(index);\n }}\n onMouseLeave={() => {\n setHoveredIndex(null);\n }}\n >\n {modifiedChildren}\n </RechartsPie>\n );\n};\n\nconst ChartDonut = assignWithoutSideEffects(_ChartDonut, {\n componentId: componentId.chartDonut,\n});\n\nexport { ChartDonut, ChartDonutWrapper, ChartDonutCell };\n"],"names":["_Cell","_ref","rest","_extends","_objectDestructuringEmpty","_jsx","RechartsCell","_objectSpread","ChartDonutCell","assignWithoutSideEffects","componentId","cell","getTranslate","legendLayout","legendAlignment","legendWidth","legendHeight","concat","ChartDonutWrapper","_ref2","children","content","testID","restProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useState","useState","_useState2","_slicedToArray","setLegendHeight","_useState3","_useState4","setLegendWidth","chartRef","useRef","isValuePresentInContent","_typeof","isLabelPresentInContent","useEffect","observer","MutationObserver","mutations","forEach","mutation","type","_chartRef$current","legendWrapper","current","querySelector","height","getBoundingClientRect","width","observe","childList","subtree","disconnect","pieChartRadius","useMemo","Array","isArray","_donutChild$props","donutChild","find","child","getComponentId","chartDonut","isValidElement","props","radius","_legendChild$props","legendChild","commonChartComponentId","chartLegend","layout","_legendChild$props2","align","_jsxs","BaseBox","ref","metaAttribute","name","makeAnalyticsAttribute","position","undefined","RechartsResponsiveContainer","RechartsPieChart","Label","fill","colors","surface","text","gray","muted","fontSize","typography","fonts","size","LABEL_FONT_STYLES","label","fontFamily","family","fontWeight","weight","medium","letterSpacing","letterSpacings","dy","LABEL_DISTANCE_FROM_CENTER","withText","normal","heading","bold","withLabel","value","top","left","transform","zIndex","textAlign","_ChartDonut","_ref3","_ref3$cx","cx","_ref3$cy","cy","_ref3$radius","dataKey","nameKey","data","_ref3$colorTheme","colorTheme","_ref3$type","_excluded2","radiusConfig","RADIUS_MAPPING","themeColors","useChartsColorTheme","_useState5","_useState6","hoveredIndex","setHoveredIndex","_useTheme2","getCellOpacity","currentIndex","modifiedChildren","map","index","getIn","color","_createElement","key","opacity","_","RechartsPie","outerRadius","innerRadius","startAngle","START_AND_END_ANGLES","endAngle","onMouseEnter","onMouseLeave","ChartDonut"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DonutChart.web.js","sources":["../../../../../../../src/components/Charts/DonutChart/DonutChart.web.tsx"],"sourcesContent":["import React, { isValidElement, useMemo, useState, useRef, useEffect } from 'react';\nimport {\n PieChart as RechartsPieChart,\n Pie as RechartsPie,\n Cell as RechartsCell,\n ResponsiveContainer as RechartsResponsiveContainer,\n Label,\n} from 'recharts';\nimport {\n useChartsColorTheme,\n getHighestColorInRange,\n sanitizeString,\n assignDataColorMapping,\n} from '../utils';\nimport { componentId as commonChartComponentId } from '../CommonChartComponents/tokens';\nimport { CommonChartComponentsContext } from '../CommonChartComponents';\nimport type { DataColorMapping } from '../CommonChartComponents/types';\nimport type {\n ChartDonutWrapperProps,\n ChartDonutCellProps,\n ChartDonutProps,\n ChartRadius,\n} from './types';\nimport {\n RADIUS_MAPPING,\n START_AND_END_ANGLES,\n componentId,\n LABEL_DISTANCE_FROM_CENTER,\n LABEL_FONT_STYLES,\n} from './tokens';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\n// Cell component\nconst _Cell: React.FC<ChartDonutCellProps> = ({ ...rest }) => {\n return <RechartsCell {...rest} />;\n};\n\nconst ChartDonutCell = assignWithoutSideEffects(_Cell, {\n componentId: componentId.cell,\n});\n\nconst getTranslate = (\n legendLayout: 'horizontal' | 'vertical',\n legendAlignment: 'left' | 'right',\n legendWidth: number,\n legendHeight: number,\n): string => {\n if (legendLayout === 'vertical') {\n return `translate(calc(-50% + ${\n legendAlignment === 'right' ? -legendWidth / 2 : legendWidth / 2\n }px) , calc(-50%))`;\n }\n return `translate(-50%, calc(-50% - ${legendHeight / 2}px))`;\n};\n\nconst ChartDonutWrapper: React.FC<ChartDonutWrapperProps & TestID & DataAnalyticsAttribute> = ({\n children,\n content,\n testID,\n ...restProps\n}) => {\n const { theme } = useTheme();\n const colorTheme = useMemo(() => {\n if (Array.isArray(children)) {\n const donutChild = children.find((child) => getComponentId(child) === componentId.chartDonut);\n if (!donutChild || !isValidElement(donutChild)) {\n return 'categorical';\n }\n return donutChild?.props?.colorTheme || 'categorical';\n }\n return 'categorical';\n }, [children]);\n\n const themeColors = useChartsColorTheme({\n colorTheme,\n chartName: 'donut',\n });\n const [legendHeight, setLegendHeight] = useState(0);\n const [legendWidth, setLegendWidth] = useState(0);\n const chartRef = useRef<HTMLDivElement>(null);\n const isValuePresentInContent = content && typeof content === 'object' && 'value' in content;\n const isLabelPresentInContent = content && typeof content === 'object' && 'label' in content;\n\n useEffect(() => {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'childList') {\n const legendWrapper = chartRef.current?.querySelector('.recharts-legend-wrapper');\n if (legendWrapper) {\n const height = legendWrapper.getBoundingClientRect().height;\n const width = legendWrapper.getBoundingClientRect().width;\n setLegendHeight(height);\n setLegendWidth(width);\n }\n }\n });\n });\n\n if (chartRef.current) {\n observer.observe(chartRef.current, { childList: true, subtree: true });\n }\n\n return () => observer.disconnect();\n }, []);\n\n const pieChartRadius: ChartRadius = useMemo(() => {\n if (Array.isArray(children)) {\n const donutChild = children.find((child) => getComponentId(child) === componentId.chartDonut);\n if (!donutChild || !isValidElement(donutChild)) {\n return 'medium';\n }\n return donutChild?.props?.radius || 'medium';\n }\n return 'medium';\n }, [children]);\n\n const legendLayout = useMemo(() => {\n if (Array.isArray(children)) {\n const legendChild = children.find(\n (child) => getComponentId(child) === commonChartComponentId.chartLegend,\n );\n if (!legendChild || !isValidElement(legendChild)) {\n return 'horizontal';\n }\n return legendChild?.props?.layout || 'horizontal';\n }\n return 'horizontal';\n }, [children]);\n\n const legendAlignment = useMemo(() => {\n if (Array.isArray(children)) {\n const legendChild = children.find(\n (child) => getComponentId(child) === commonChartComponentId.chartLegend,\n );\n if (!legendChild || !isValidElement(legendChild)) {\n return 'right';\n }\n return legendChild?.props?.align || 'right';\n }\n return 'right';\n }, [children]);\n /**\n * We need to check child of ChartDonutWrapper. if they have any custom color we store that.\n * We need these mapping because colors of tooltip & legend is determine based on this\n * recharts do provide a color but it is hex code and we need blade color token .\n */\n\n const dataColorMapping = useMemo(() => {\n const dataColorMapping: DataColorMapping = {};\n if (Array.isArray(children)) {\n children.forEach((child) => {\n if (getComponentId(child) === componentId.chartDonut) {\n const data = (child as React.ReactElement<ChartDonutProps>).props.data;\n // Donut Chart can also have <Cell/> which will come under donutChildren.\n const donutChildren = (child as React.ReactElement<ChartDonutProps>).props.children;\n if (Array.isArray(donutChildren)) {\n donutChildren.forEach((child, index) => {\n if (getComponentId(child) === componentId.cell && data[index]?.name) {\n // assign colors to the dataColorMapping, if no color is assigned we assign color in `assignDataColorMapping`\n\n dataColorMapping[sanitizeString(data[index].name as string)] = {\n colorToken: child.props?.color,\n isCustomColor: Boolean(child.props?.color),\n };\n }\n });\n } else {\n // if we don't have cell as child component then we can we directly assign theme colors\n data.forEach((item, index) => {\n dataColorMapping[sanitizeString(item.name as string)] = {\n colorToken: themeColors[index],\n isCustomColor: false,\n };\n });\n }\n }\n });\n }\n assignDataColorMapping(dataColorMapping, themeColors);\n\n return dataColorMapping;\n }, [children, themeColors]);\n\n return (\n <CommonChartComponentsContext.Provider value={{ chartName: 'donut', dataColorMapping }}>\n <BaseBox\n ref={chartRef}\n {...metaAttribute({ name: 'donut-chart', testID })}\n {...makeAnalyticsAttribute(restProps)}\n width=\"100%\"\n height=\"100%\"\n {...restProps}\n position={isValidElement(content) ? 'relative' : undefined}\n >\n <RechartsResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsPieChart>\n {children}\n {isLabelPresentInContent && (\n <Label\n position=\"center\"\n fill={theme.colors.surface.text.gray.muted}\n fontSize={\n theme.typography.fonts.size[\n LABEL_FONT_STYLES[pieChartRadius].fontSize\n .label as keyof typeof theme.typography.fonts.size\n ]\n }\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.medium}\n letterSpacing={theme.typography.letterSpacings[100]}\n dy={\n isValuePresentInContent\n ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withText\n : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal\n }\n >\n {content?.label}\n </Label>\n )}\n {isValuePresentInContent && (\n <Label\n position=\"center\"\n fill={theme.colors.surface.text.gray.normal}\n fontSize={\n theme.typography.fonts.size[\n LABEL_FONT_STYLES[pieChartRadius].fontSize\n .text as keyof typeof theme.typography.fonts.size\n ]\n }\n fontFamily={theme.typography.fonts.family.heading}\n fontWeight={theme.typography.fonts.weight.bold}\n letterSpacing={theme.typography.letterSpacings[100]}\n dy={\n isLabelPresentInContent\n ? LABEL_DISTANCE_FROM_CENTER[pieChartRadius].withLabel\n : LABEL_DISTANCE_FROM_CENTER[pieChartRadius].normal\n }\n >\n {content?.value}\n </Label>\n )}\n </RechartsPieChart>\n </RechartsResponsiveContainer>\n\n {isValidElement(content) && (\n <BaseBox\n position=\"absolute\"\n top=\"50%\"\n left=\"50%\"\n transform={getTranslate(legendLayout, legendAlignment, legendWidth, legendHeight)}\n zIndex={10}\n textAlign=\"center\"\n >\n {content}\n </BaseBox>\n )}\n </BaseBox>\n </CommonChartComponentsContext.Provider>\n );\n};\n\nconst _ChartDonut: React.FC<ChartDonutProps> = ({\n cx = '50%',\n cy = '50%',\n radius = 'medium',\n dataKey,\n nameKey,\n children,\n data,\n colorTheme = 'categorical',\n type = 'circle',\n ...rest\n}) => {\n const radiusConfig = RADIUS_MAPPING[radius];\n const themeColors = useChartsColorTheme({\n colorTheme,\n chartName: 'donut',\n });\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n const { theme } = useTheme();\n\n const getCellOpacity = (hoveredIndex: number | null, currentIndex: number): number => {\n if (hoveredIndex === null) return 1;\n if (hoveredIndex === currentIndex) return 1;\n return 0.2;\n };\n\n const modifiedChildren = useMemo(() => {\n if (Array.isArray(children)) {\n return children.map((child, index) => {\n if (getComponentId(child) === componentId.cell) {\n /* \n Why we are not using React.cloneElement ? just use ChartDonutCell no?\n cell can never be custom component in recharts. (as of v3.1.2)\n (https://github.com/recharts/recharts/issues/2788)\n https://github.com/recharts/recharts/discussions/5474\n\n So we have placeholder component ChartDonutCell. which we replaced by RechartsCell internally so dev can see hover effects\n working out of box. \n */\n const fill = getIn(theme.colors, child.props.color || themeColors[index]);\n return (\n <RechartsCell\n {...child.props}\n fill={fill}\n key={index}\n opacity={getCellOpacity(hoveredIndex, index)}\n strokeWidth={0}\n />\n );\n } else {\n return child;\n }\n });\n }\n return data?.map((_, index) => (\n <RechartsCell\n fill={getIn(theme.colors, themeColors[index])}\n key={index}\n opacity={getCellOpacity(hoveredIndex, index)}\n strokeWidth={0}\n />\n ));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, data, colorTheme, hoveredIndex, themeColors]);\n\n const modifiedExternalDonutChildren = useMemo(() => {\n if (Array.isArray(children)) {\n return children.map((child, index) => {\n if (getComponentId(child) === componentId.cell) {\n /* \n Why we are not using React.cloneElement ? just use ChartDonutCell no?\n cell can never be custom component in recharts. (as of v3.1.2)\n (https://github.com/recharts/recharts/issues/2788)\n https://github.com/recharts/recharts/discussions/5474\n\n So we have placeholder component ChartDonutCell. which we replaced by RechartsCell internally so dev can see hover effects\n working out of box. \n */\n\n const fill = getIn(\n theme.colors,\n getHighestColorInRange({\n colorToken: child.props.color || themeColors[index],\n followIntensityMapping: Boolean(child.props.color),\n }),\n );\n return (\n <RechartsCell\n {...child.props}\n key={`stroke-${index}`}\n fill=\"transparent\"\n stroke={fill} // Different stroke color for each cell\n strokeWidth={0.75}\n strokeOpacity={getCellOpacity(hoveredIndex, index)}\n />\n );\n } else {\n return child;\n }\n });\n }\n return data?.map((_, index) => (\n <RechartsCell\n key={`stroke-${index}`}\n fill=\"transparent\"\n stroke={getIn(\n theme.colors,\n getHighestColorInRange({\n colorToken: themeColors[index],\n }),\n )} // Different stroke color for each cell\n strokeWidth={0.75}\n strokeOpacity={getCellOpacity(hoveredIndex, index)}\n />\n ));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, data, colorTheme, hoveredIndex, themeColors]);\n\n return (\n <>\n <RechartsPie\n {...rest}\n cx={cx}\n cy={cy}\n outerRadius={radiusConfig.outerRadius}\n innerRadius={radiusConfig.innerRadius}\n data={data}\n startAngle={START_AND_END_ANGLES[type].startAngle}\n endAngle={START_AND_END_ANGLES[type].endAngle}\n onMouseEnter={(data, index) => {\n setHoveredIndex(index);\n }}\n onMouseLeave={() => {\n setHoveredIndex(null);\n }}\n paddingAngle={1.5}\n >\n {modifiedChildren}\n </RechartsPie>\n <RechartsPie\n cx={cx}\n cy={cy}\n outerRadius={radiusConfig.outerRadius}\n innerRadius={radiusConfig.outerRadius - 0.75} // 1.5px thick stroke\n data={data}\n startAngle={START_AND_END_ANGLES[type].startAngle}\n endAngle={START_AND_END_ANGLES[type].endAngle}\n fill=\"transparent\"\n legendType=\"none\"\n tooltipType=\"none\"\n paddingAngle={1.5}\n >\n {modifiedExternalDonutChildren}\n </RechartsPie>\n </>\n );\n};\n\nconst ChartDonut = assignWithoutSideEffects(_ChartDonut, {\n componentId: componentId.chartDonut,\n});\n\nexport { ChartDonut, ChartDonutWrapper, ChartDonutCell };\n"],"names":["_Cell","_ref","rest","_extends","_objectDestructuringEmpty","_jsx","RechartsCell","_objectSpread","ChartDonutCell","assignWithoutSideEffects","componentId","cell","getTranslate","legendLayout","legendAlignment","legendWidth","legendHeight","concat","ChartDonutWrapper","_ref2","children","content","testID","restProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","colorTheme","useMemo","Array","isArray","_donutChild$props","donutChild","find","child","getComponentId","chartDonut","isValidElement","props","themeColors","useChartsColorTheme","chartName","_useState","useState","_useState2","_slicedToArray","setLegendHeight","_useState3","_useState4","setLegendWidth","chartRef","useRef","isValuePresentInContent","_typeof","isLabelPresentInContent","useEffect","observer","MutationObserver","mutations","forEach","mutation","type","_chartRef$current","legendWrapper","current","querySelector","height","getBoundingClientRect","width","observe","childList","subtree","disconnect","pieChartRadius","_donutChild$props2","radius","_legendChild$props","legendChild","commonChartComponentId","chartLegend","layout","_legendChild$props2","align","dataColorMapping","data","donutChildren","index","_data$index","name","_child$props","_child$props2","sanitizeString","colorToken","color","isCustomColor","Boolean","item","assignDataColorMapping","CommonChartComponentsContext","Provider","value","_jsxs","BaseBox","ref","metaAttribute","makeAnalyticsAttribute","position","undefined","RechartsResponsiveContainer","RechartsPieChart","Label","fill","colors","surface","text","gray","muted","fontSize","typography","fonts","size","LABEL_FONT_STYLES","label","fontFamily","family","fontWeight","weight","medium","letterSpacing","letterSpacings","dy","LABEL_DISTANCE_FROM_CENTER","withText","normal","heading","bold","withLabel","top","left","transform","zIndex","textAlign","_ChartDonut","_ref3","_ref3$cx","cx","_ref3$cy","cy","_ref3$radius","dataKey","nameKey","_ref3$colorTheme","_ref3$type","_excluded2","radiusConfig","RADIUS_MAPPING","_useState5","_useState6","hoveredIndex","setHoveredIndex","_useTheme2","getCellOpacity","currentIndex","modifiedChildren","map","getIn","_createElement","key","opacity","strokeWidth","_","modifiedExternalDonutChildren","getHighestColorInRange","followIntensityMapping","stroke","strokeOpacity","_Fragment","RechartsPie","outerRadius","innerRadius","startAngle","START_AND_END_ANGLES","endAngle","onMouseEnter","onMouseLeave","paddingAngle","legendType","tooltipType","ChartDonut"],"mappings":"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"}
|