@fluentui/react-charts 9.2.2 → 9.2.4
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 +74 -2
- package/dist/index.d.ts +187 -15
- package/lib/components/AreaChart/AreaChart.js +7 -4
- package/lib/components/AreaChart/AreaChart.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.js +4 -3
- package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +5 -16
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ChartTable/ChartTable.js +90 -6
- package/lib/components/ChartTable/ChartTable.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.js +83 -38
- package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +19 -3
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +8 -23
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
- package/lib/components/DeclarativeChart/DeclarativeChart.js +214 -107
- package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +25 -1
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +1618 -259
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js +8 -3
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -2
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.js +8 -3
- package/lib/components/DonutChart/DonutChart.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.js +21 -4
- package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +8 -4
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
- package/lib/components/FunnelChart/FunnelChart.js +4 -2
- package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
- package/lib/components/FunnelChart/funnelGeometry.js.map +1 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.js +2 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js +2 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.js +1 -2
- package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +31 -10
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +6 -18
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +6 -22
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.js +175 -114
- package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +7 -3
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -2
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +26 -6
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +2 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
- package/lib/components/LineChart/LineChart.js +349 -176
- package/lib/components/LineChart/LineChart.js.map +1 -1
- package/lib/components/LineChart/LineChart.types.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.js +28 -8
- package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js +9 -14
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +12 -25
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +2 -12
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.js +139 -81
- package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js +29 -8
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +10 -15
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js +28 -5
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +10 -7
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +7 -20
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +159 -47
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +9 -7
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +6 -20
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
- package/lib/types/DataPoint.js +3 -1
- package/lib/types/DataPoint.js.map +1 -1
- package/lib/utilities/Common.styles.js +47 -0
- package/lib/utilities/Common.styles.js.map +1 -0
- package/lib/utilities/Common.styles.raw.js +47 -0
- package/lib/utilities/Common.styles.raw.js.map +1 -0
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib/utilities/image-export-utils.js.map +1 -1
- package/lib/utilities/index.js +1 -0
- package/lib/utilities/index.js.map +1 -1
- package/lib/utilities/scatterpolar-utils.js +52 -0
- package/lib/utilities/scatterpolar-utils.js.map +1 -0
- package/lib/utilities/utilities.js +324 -147
- package/lib/utilities/utilities.js.map +1 -1
- package/lib/utilities/vbc-utils.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.js +6 -3
- package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +2 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +4 -15
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ChartTable/ChartTable.js +90 -6
- package/lib-commonjs/components/ChartTable/ChartTable.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js +83 -37
- package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +17 -2
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +6 -22
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +212 -107
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +31 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +1652 -260
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +12 -3
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -2
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.js +7 -2
- package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +32 -4
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +8 -4
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/FunnelChart.js +4 -2
- package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/funnelGeometry.js.map +1 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js +2 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js +2 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.js +1 -2
- package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +30 -9
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +4 -20
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +5 -21
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +174 -113
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +10 -3
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -2
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +25 -5
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +2 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.js +347 -175
- package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +35 -5
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +7 -13
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +23 -33
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +1 -12
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js +137 -79
- package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +39 -6
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +9 -14
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +27 -4
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +7 -4
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +5 -18
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +158 -46
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +7 -4
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +5 -19
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/types/DataPoint.js +3 -1
- package/lib-commonjs/types/DataPoint.js.map +1 -1
- package/lib-commonjs/utilities/Common.styles.js +71 -0
- package/lib-commonjs/utilities/Common.styles.js.map +1 -0
- package/lib-commonjs/utilities/Common.styles.raw.js +71 -0
- package/lib-commonjs/utilities/Common.styles.raw.js.map +1 -0
- package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
- package/lib-commonjs/utilities/index.js +1 -0
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/lib-commonjs/utilities/scatterpolar-utils.js +67 -0
- package/lib-commonjs/utilities/scatterpolar-utils.js.map +1 -0
- package/lib-commonjs/utilities/utilities.js +337 -137
- package/lib-commonjs/utilities/utilities.js.map +1 -1
- package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __styles, mergeClasses } from '@griffel/react';
|
|
2
2
|
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
|
3
3
|
import { HighContrastSelector } from '../../utilities/index';
|
|
4
|
+
import { getTooltipStyle } from '../../utilities/index';
|
|
4
5
|
export const sankeyChartClassNames = {
|
|
5
6
|
root: 'fui-sc__root',
|
|
6
7
|
nodes: 'fui-sc__nodes',
|
|
@@ -40,31 +41,21 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
40
41
|
Bg96gwp: "f1i3iumi",
|
|
41
42
|
mc9l5x: "f22iagw",
|
|
42
43
|
Beiy3e4: "f1vx9l62",
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
B0ocmuz: "f1t756mo",
|
|
44
|
+
z8tnut: "f17mpqex",
|
|
45
|
+
z189sj: ["f1vdfbxk", "f1f5gg8d"],
|
|
46
|
+
Byoj8tv: "fdvome7",
|
|
47
|
+
uwmqm3: ["f1f5gg8d", "f1vdfbxk"],
|
|
48
48
|
qhf8xq: "f1euv43f",
|
|
49
49
|
fsow6f: "f17mccla",
|
|
50
|
-
Bhzewxz: "
|
|
51
|
-
|
|
52
|
-
B2eet1l: 0,
|
|
53
|
-
De3pzq: 0,
|
|
54
|
-
Bcmaq0h: 0,
|
|
55
|
-
gk0gix: 0,
|
|
56
|
-
B20660r: 0,
|
|
57
|
-
B8a6bjv: 0,
|
|
58
|
-
Bpptf2m: 0,
|
|
59
|
-
e5kdtc: 0,
|
|
60
|
-
Bkjc3bi: 0,
|
|
61
|
-
ayd6f0: "fcm7iae",
|
|
50
|
+
Bhzewxz: "fr6rvge",
|
|
51
|
+
De3pzq: "fxugw4r",
|
|
62
52
|
Beyfa6y: 0,
|
|
63
53
|
Bbmb7ep: 0,
|
|
64
54
|
Btl43ni: 0,
|
|
65
55
|
B7oj6ja: 0,
|
|
66
|
-
Dimara: "
|
|
67
|
-
Bkecrkj: "f1aehjj5"
|
|
56
|
+
Dimara: "fq9zq91",
|
|
57
|
+
Bkecrkj: "f1aehjj5",
|
|
58
|
+
sj55zd: "f19n0e5"
|
|
68
59
|
},
|
|
69
60
|
nodeTextContainer: {
|
|
70
61
|
B3gqxw3: "fk6oafs",
|
|
@@ -84,13 +75,9 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
84
75
|
}, {
|
|
85
76
|
d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".fly5x3f{width:100%;}", ".f1l02sjl{height:100%;}", ".f1vx9l62{flex-direction:column;}", [".f1a3p1vp{overflow:hidden;}", {
|
|
86
77
|
p: -1
|
|
87
|
-
}], ".f5q6cfr{fill:var(--colorNeutralBackground1);}", ".fu2q8de{stroke-width:3px;}", ".f1yc5x8p{fill:#F5F5F5;}",
|
|
78
|
+
}], ".f5q6cfr{fill:var(--colorNeutralBackground1);}", ".fu2q8de{stroke-width:3px;}", ".f1yc5x8p{fill:#F5F5F5;}", ".f17mpqex{padding-top:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".fdvome7{padding-bottom:var(--spacingHorizontalS);}", ".f1euv43f{position:absolute;}", ".f17mccla{text-align:center;}", ".fr6rvge{top:var(--spacingVerticalNone);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", [".fq9zq91{border-radius:var(--borderRadiusSmall);}", {
|
|
88
79
|
p: -1
|
|
89
|
-
}], ".
|
|
90
|
-
p: -2
|
|
91
|
-
}], [".fl4tsp0{border-radius:2px;}", {
|
|
92
|
-
p: -1
|
|
93
|
-
}], ".f1aehjj5{pointer-events:none;}", ".fvjh0tl{margin-top:4px;}", ".ff9s3yw{margin-left:8px;}", ".f1phki43{margin-right:8px;}", ".fd1gkq{margin-bottom:4px;}", [".f1enuhaj{overflow:auto;}", {
|
|
80
|
+
}], ".f1aehjj5{pointer-events:none;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fvjh0tl{margin-top:4px;}", ".ff9s3yw{margin-left:8px;}", ".f1phki43{margin-right:8px;}", ".fd1gkq{margin-bottom:4px;}", [".f1enuhaj{overflow:auto;}", {
|
|
94
81
|
p: -1
|
|
95
82
|
}], ".ftgm304{display:block;}"],
|
|
96
83
|
m: [["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.f14egcv9{fill:Canvas;}}", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__styles","mergeClasses","tokens","typographyStyles","HighContrastSelector","sankeyChartClassNames","root","nodes","links","nodeTextContainer","toolTip","chartWrapper","chart","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","a9b677","Bqenvij","Beiy3e4","B68tc82","Bmxbyg5","Bpg54ce","Bkfmm31","Be5yapy","a6j6cd","
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","tokens","typographyStyles","HighContrastSelector","getTooltipStyle","sankeyChartClassNames","root","nodes","links","nodeTextContainer","toolTip","chartWrapper","chart","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","a9b677","Bqenvij","Beiy3e4","B68tc82","Bmxbyg5","Bpg54ce","Bkfmm31","Be5yapy","a6j6cd","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","De3pzq","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","sj55zd","B3gqxw3","B6of3ja","Frg6f3","jrapky","t21cq0","d","p","m","useSankeyChartStyles","props","_props_styles","_props_reflowProps","_props_styles1","_props_styles2","baseStyles","styles","reflowProps","mode"],"sources":["useSankeyChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\nimport { getTooltipStyle } from '../../utilities/index';\nexport const sankeyChartClassNames = {\n root: 'fui-sc__root',\n nodes: 'fui-sc__nodes',\n links: 'fui-sc__links',\n nodeTextContainer: 'fui-sc__nodeTextContainer',\n toolTip: 'fui-sc__toolTip',\n chartWrapper: 'fui-sc__chartWrapper',\n chart: 'fui-sc__chart'\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden'\n },\n links: {\n fill: tokens.colorNeutralBackground1,\n strokeWidth: '3px',\n [HighContrastSelector]: {\n fill: 'Canvas'\n }\n },\n nodes: {\n fill: '#F5F5F5',\n [HighContrastSelector]: {\n fill: 'Canvas'\n }\n },\n toolTip: getTooltipStyle(),\n nodeTextContainer: {\n '& text': {\n [HighContrastSelector]: {\n fill: 'CanvasText'\n }\n },\n marginTop: '4px',\n marginLeft: '8px',\n marginBottom: '4px',\n marginRight: '8px'\n },\n chartWrapper: {\n overflow: 'auto'\n },\n chart: {\n display: 'block'\n }\n});\nexport const useSankeyChartStyles = (props)=>{\n var _props_styles, _props_reflowProps, _props_styles1, _props_styles2;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(sankeyChartClassNames.root, baseStyles.root, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n nodes: mergeClasses(sankeyChartClassNames.nodes, baseStyles.nodes /*, props.styles?.nodes*/ ),\n links: mergeClasses(sankeyChartClassNames.links, baseStyles.links /*, props.styles?.links*/ ),\n nodeTextContainer: mergeClasses(sankeyChartClassNames.nodeTextContainer, baseStyles.nodeTextContainer /*, props.styles?.nodeTextContainer*/ ),\n toolTip: mergeClasses(sankeyChartClassNames.toolTip, baseStyles.toolTip /*, props.styles?.toolTip*/ ),\n chartWrapper: mergeClasses(sankeyChartClassNames.chartWrapper, ((_props_reflowProps = props.reflowProps) === null || _props_reflowProps === void 0 ? void 0 : _props_reflowProps.mode) === 'min-width' ? baseStyles.chartWrapper : '', (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chartWrapper),\n chart: mergeClasses(sankeyChartClassNames.chart, baseStyles.chart, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.chart)\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { makeStyles, mergeClasses } from '@griffel/react';
|
|
2
2
|
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
|
3
3
|
import { HighContrastSelector } from '../../utilities/index';
|
|
4
|
+
import { getTooltipStyle } from '../../utilities/index';
|
|
4
5
|
export const sankeyChartClassNames = {
|
|
5
6
|
root: 'fui-sc__root',
|
|
6
7
|
nodes: 'fui-sc__nodes',
|
|
@@ -32,18 +33,7 @@ const useStyles = makeStyles({
|
|
|
32
33
|
fill: 'Canvas'
|
|
33
34
|
}
|
|
34
35
|
},
|
|
35
|
-
toolTip:
|
|
36
|
-
...typographyStyles.body1,
|
|
37
|
-
display: 'flex',
|
|
38
|
-
flexDirection: 'column',
|
|
39
|
-
padding: '8px',
|
|
40
|
-
position: 'absolute',
|
|
41
|
-
textAlign: 'center',
|
|
42
|
-
top: '0px',
|
|
43
|
-
background: tokens.colorNeutralBackground1,
|
|
44
|
-
borderRadius: '2px',
|
|
45
|
-
pointerEvents: 'none'
|
|
46
|
-
},
|
|
36
|
+
toolTip: getTooltipStyle(),
|
|
47
37
|
nodeTextContainer: {
|
|
48
38
|
'& text': {
|
|
49
39
|
[HighContrastSelector]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/SankeyChart/useSankeyChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { SankeyChartProps, SankeyChartStyles } from './SankeyChart.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\n\nexport const sankeyChartClassNames: SlotClassNames<SankeyChartStyles> = {\n root: 'fui-sc__root',\n nodes: 'fui-sc__nodes',\n links: 'fui-sc__links',\n nodeTextContainer: 'fui-sc__nodeTextContainer',\n toolTip: 'fui-sc__toolTip',\n chartWrapper: 'fui-sc__chartWrapper',\n chart: 'fui-sc__chart',\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n links: {\n fill: tokens.colorNeutralBackground1,\n strokeWidth: '3px',\n [HighContrastSelector]: {\n fill: 'Canvas',\n },\n },\n nodes: {\n fill: '#F5F5F5',\n [HighContrastSelector]: {\n fill: 'Canvas',\n },\n },\n toolTip:
|
|
1
|
+
{"version":3,"sources":["../src/components/SankeyChart/useSankeyChartStyles.styles.ts"],"sourcesContent":["import { GriffelStyle, makeStyles, mergeClasses } from '@griffel/react';\nimport type { SankeyChartProps, SankeyChartStyles } from './SankeyChart.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\nimport { getTooltipStyle } from '../../utilities/index';\n\nexport const sankeyChartClassNames: SlotClassNames<SankeyChartStyles> = {\n root: 'fui-sc__root',\n nodes: 'fui-sc__nodes',\n links: 'fui-sc__links',\n nodeTextContainer: 'fui-sc__nodeTextContainer',\n toolTip: 'fui-sc__toolTip',\n chartWrapper: 'fui-sc__chartWrapper',\n chart: 'fui-sc__chart',\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n links: {\n fill: tokens.colorNeutralBackground1,\n strokeWidth: '3px',\n [HighContrastSelector]: {\n fill: 'Canvas',\n },\n },\n nodes: {\n fill: '#F5F5F5',\n [HighContrastSelector]: {\n fill: 'Canvas',\n },\n },\n toolTip: getTooltipStyle() as GriffelStyle,\n nodeTextContainer: {\n '& text': {\n [HighContrastSelector]: {\n fill: 'CanvasText',\n },\n },\n\n marginTop: '4px',\n marginLeft: '8px',\n marginBottom: '4px',\n marginRight: '8px',\n },\n chartWrapper: {\n overflow: 'auto',\n },\n chart: {\n display: 'block',\n },\n});\n\nexport const useSankeyChartStyles = (props: SankeyChartProps): SankeyChartStyles => {\n const baseStyles = useStyles();\n\n return {\n root: mergeClasses(sankeyChartClassNames.root, baseStyles.root, props.styles?.root),\n nodes: mergeClasses(sankeyChartClassNames.nodes, baseStyles.nodes /*, props.styles?.nodes*/),\n links: mergeClasses(sankeyChartClassNames.links, baseStyles.links /*, props.styles?.links*/),\n nodeTextContainer: mergeClasses(\n sankeyChartClassNames.nodeTextContainer,\n baseStyles.nodeTextContainer /*, props.styles?.nodeTextContainer*/,\n ),\n toolTip: mergeClasses(sankeyChartClassNames.toolTip, baseStyles.toolTip /*, props.styles?.toolTip*/),\n chartWrapper: mergeClasses(\n sankeyChartClassNames.chartWrapper,\n props.reflowProps?.mode === 'min-width' ? baseStyles.chartWrapper : '',\n props.styles?.chartWrapper,\n ),\n chart: mergeClasses(sankeyChartClassNames.chart, baseStyles.chart, props.styles?.chart),\n };\n};\n"],"names":["makeStyles","mergeClasses","tokens","typographyStyles","HighContrastSelector","getTooltipStyle","sankeyChartClassNames","root","nodes","links","nodeTextContainer","toolTip","chartWrapper","chart","useStyles","body1","display","width","height","flexDirection","overflow","fill","colorNeutralBackground1","strokeWidth","marginTop","marginLeft","marginBottom","marginRight","useSankeyChartStyles","props","baseStyles","styles","reflowProps","mode"],"mappings":"AAAA,SAAuBA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAGxE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AACjE,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,eAAe,QAAQ,wBAAwB;AAExD,OAAO,MAAMC,wBAA2D;IACtEC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,mBAAmB;IACnBC,SAAS;IACTC,cAAc;IACdC,OAAO;AACT,EAAE;AACF,MAAMC,YAAYd,WAAW;IAC3BO,MAAM;QACJ,GAAGJ,iBAAiBY,KAAK;QACzBC,SAAS;QACTC,OAAO;QACPC,QAAQ;QACRC,eAAe;QACfC,UAAU;IACZ;IACAX,OAAO;QACLY,MAAMnB,OAAOoB,uBAAuB;QACpCC,aAAa;QACb,CAACnB,qBAAqB,EAAE;YACtBiB,MAAM;QACR;IACF;IACAb,OAAO;QACLa,MAAM;QACN,CAACjB,qBAAqB,EAAE;YACtBiB,MAAM;QACR;IACF;IACAV,SAASN;IACTK,mBAAmB;QACjB,UAAU;YACR,CAACN,qBAAqB,EAAE;gBACtBiB,MAAM;YACR;QACF;QAEAG,WAAW;QACXC,YAAY;QACZC,cAAc;QACdC,aAAa;IACf;IACAf,cAAc;QACZQ,UAAU;IACZ;IACAP,OAAO;QACLG,SAAS;IACX;AACF;AAEA,OAAO,MAAMY,uBAAuB,CAACC;QAI+BA,eAU9DA,oBACAA,gBAEiEA;IAhBrE,MAAMC,aAAahB;IAEnB,OAAO;QACLP,MAAMN,aAAaK,sBAAsBC,IAAI,EAAEuB,WAAWvB,IAAI,GAAEsB,gBAAAA,MAAME,MAAM,cAAZF,oCAAAA,cAActB,IAAI;QAClFC,OAAOP,aAAaK,sBAAsBE,KAAK,EAAEsB,WAAWtB,KAAK,CAAC,uBAAuB;QACzFC,OAAOR,aAAaK,sBAAsBG,KAAK,EAAEqB,WAAWrB,KAAK,CAAC,uBAAuB;QACzFC,mBAAmBT,aACjBK,sBAAsBI,iBAAiB,EACvCoB,WAAWpB,iBAAiB,CAAC,mCAAmC;QAElEC,SAASV,aAAaK,sBAAsBK,OAAO,EAAEmB,WAAWnB,OAAO,CAAC,yBAAyB;QACjGC,cAAcX,aACZK,sBAAsBM,YAAY,EAClCiB,EAAAA,qBAAAA,MAAMG,WAAW,cAAjBH,yCAAAA,mBAAmBI,IAAI,MAAK,cAAcH,WAAWlB,YAAY,GAAG,KACpEiB,iBAAAA,MAAME,MAAM,cAAZF,qCAAAA,eAAcjB,YAAY;QAE5BC,OAAOZ,aAAaK,sBAAsBO,KAAK,EAAEiB,WAAWjB,KAAK,GAAEgB,iBAAAA,MAAME,MAAM,cAAZF,qCAAAA,eAAchB,KAAK;IACxF;AACF,EAAE"}
|
|
@@ -2,13 +2,14 @@ import * as React from 'react';
|
|
|
2
2
|
import { useScatterChartStyles } from './useScatterChartStyles.styles';
|
|
3
3
|
import { select as d3Select } from 'd3-selection';
|
|
4
4
|
import { Legends } from '../Legends/index';
|
|
5
|
-
import { max as d3Max
|
|
5
|
+
import { max as d3Max } from 'd3-array';
|
|
6
6
|
import { useId } from '@fluentui/react-utilities';
|
|
7
|
-
import { areArraysEqual, createNumericYAxis, createStringYAxis,
|
|
7
|
+
import { areArraysEqual, createNumericYAxis, createStringYAxis, getDomainPaddingForMarkers, domainRangeOfXStringAxis, find, findNumericMinMaxOfY, YAxisType, useRtl, isTextMode, isScatterPolarSeries, isPlottable, getRangeForScatterMarkerSize, domainRangeOfDateForAreaLineScatterVerticalBarCharts, domainRangeOfNumericForAreaLineScatterCharts, sortAxisCategories } from '../../utilities/index';
|
|
8
8
|
import { CartesianChart } from '../../index';
|
|
9
9
|
import { tokens } from '@fluentui/react-theme';
|
|
10
10
|
import { calloutData, ChartTypes, XAxisTypes, tooltipOfAxislabels, getTypeOfAxis, getNextColor, getColorFromToken, formatDate } from '../../utilities/index';
|
|
11
11
|
import { toImage } from '../../utilities/image-export-utils';
|
|
12
|
+
import { renderScatterPolarCategoryLabels } from '../../utilities/scatterpolar-utils';
|
|
12
13
|
// Create a ScatterChart variant which uses these default styles and this styled subcomponent.
|
|
13
14
|
/**
|
|
14
15
|
* ScatterChart component
|
|
@@ -21,7 +22,7 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
21
22
|
const _tooltipId = useId('ScatterChartTooltipId_');
|
|
22
23
|
const _firstRenderOptimization = true;
|
|
23
24
|
const _emptyChartId = useId('_ScatterChart_empty');
|
|
24
|
-
let _points = _injectIndexPropertyInScatterChartData(props.data.
|
|
25
|
+
let _points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);
|
|
25
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
27
|
let _calloutPoints = calloutData(_points) || [];
|
|
27
28
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -54,6 +55,8 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
54
55
|
const [isPopoverOpen, setPopoverOpen] = React.useState(false);
|
|
55
56
|
const [selectedLegends, setSelectedLegends] = React.useState(((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends) || []);
|
|
56
57
|
const prevSelectedLegendsRef = React.useRef(undefined);
|
|
58
|
+
const _isTextMode = React.useRef(false);
|
|
59
|
+
const _isScatterPolarRef = React.useRef(false);
|
|
57
60
|
React.useEffect(()=>{
|
|
58
61
|
var _props_legendProps, _props_legendProps1;
|
|
59
62
|
if (prevSelectedLegendsRef.current && !areArraysEqual(prevSelectedLegendsRef.current, (_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends)) {
|
|
@@ -75,15 +78,17 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
75
78
|
}
|
|
76
79
|
};
|
|
77
80
|
}, []);
|
|
78
|
-
const _xAxisType = props.data.
|
|
81
|
+
const _xAxisType = props.data.scatterChartData && props.data.scatterChartData.length > 0 && props.data.scatterChartData[0].data && props.data.scatterChartData[0].data.length > 0 ? getTypeOfAxis(props.data.scatterChartData[0].data[0].x, true) : XAxisTypes.StringAxis;
|
|
82
|
+
// Detect y axis type (numeric or string)
|
|
83
|
+
const _yAxisType = props.data.scatterChartData && props.data.scatterChartData.length > 0 && props.data.scatterChartData[0].data && props.data.scatterChartData[0].data.length > 0 ? typeof props.data.scatterChartData[0].data[0].y === 'string' ? YAxisType.StringAxis : YAxisType.NumericAxis : YAxisType.NumericAxis;
|
|
79
84
|
const pointsRef = React.useRef([]);
|
|
80
85
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
86
|
const calloutPointsRef = React.useRef([]);
|
|
82
87
|
React.useEffect(()=>{
|
|
83
88
|
/** note that height and width are not used to resize or set as dimesions of the chart,
|
|
84
89
|
* fitParentContainer is responisble for setting the height and width or resizing of the svg/chart
|
|
85
|
-
*/ if (_points !== _injectIndexPropertyInScatterChartData(props.data.
|
|
86
|
-
pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.
|
|
90
|
+
*/ if (_points !== _injectIndexPropertyInScatterChartData(props.data.scatterChartData) || props.data !== _points) {
|
|
91
|
+
pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);
|
|
87
92
|
calloutPointsRef.current = calloutData(pointsRef.current);
|
|
88
93
|
}
|
|
89
94
|
}, [
|
|
@@ -124,19 +129,18 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
124
129
|
function _getNumericMinMaxOfY(points, yAxisType) {
|
|
125
130
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
126
131
|
const { startValue, endValue } = findNumericMinMaxOfY(points, yAxisType);
|
|
127
|
-
|
|
128
|
-
yPadding = (endValue - startValue) * 0.1;
|
|
132
|
+
const yPadding = getDomainPaddingForMarkers(startValue, endValue, props.yScaleType);
|
|
129
133
|
return {
|
|
130
|
-
startValue: startValue - yPadding,
|
|
131
|
-
endValue: endValue + yPadding
|
|
134
|
+
startValue: startValue - yPadding.start,
|
|
135
|
+
endValue: endValue + yPadding.end
|
|
132
136
|
};
|
|
133
137
|
}
|
|
134
138
|
function _getDomainNRangeValues(points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
|
|
135
139
|
let domainNRangeValue;
|
|
136
140
|
if (xAxisType === XAxisTypes.NumericAxis) {
|
|
137
|
-
domainNRangeValue =
|
|
141
|
+
domainNRangeValue = domainRangeOfNumericForAreaLineScatterCharts(points, margins, width, isRTL, props.xScaleType, true);
|
|
138
142
|
} else if (xAxisType === XAxisTypes.DateAxis) {
|
|
139
|
-
domainNRangeValue =
|
|
143
|
+
domainNRangeValue = domainRangeOfDateForAreaLineScatterVerticalBarCharts(points, margins, width, isRTL, tickValues, chartType);
|
|
140
144
|
} else {
|
|
141
145
|
domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);
|
|
142
146
|
}
|
|
@@ -148,6 +152,8 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
148
152
|
function _initializeScatterChartData(xScale, yScale, containerHeight, containerWidth, xElement) {
|
|
149
153
|
_xAxisScale = xScale;
|
|
150
154
|
_yAxisScale = yScale;
|
|
155
|
+
_isTextMode.current = isTextMode(_points);
|
|
156
|
+
_isScatterPolarRef.current = isScatterPolarSeries(_points);
|
|
151
157
|
renderSeries = _createPlot(xElement, containerHeight);
|
|
152
158
|
}
|
|
153
159
|
function _onHoverCardHide() {
|
|
@@ -157,21 +163,30 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
157
163
|
function _createLegends(data) {
|
|
158
164
|
const { legendProps } = props;
|
|
159
165
|
const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);
|
|
160
|
-
const
|
|
161
|
-
|
|
166
|
+
const mapLegendToPoints = {};
|
|
167
|
+
data.forEach((point)=>{
|
|
168
|
+
if (point.legend) {
|
|
169
|
+
if (!mapLegendToPoints[point.legend]) {
|
|
170
|
+
mapLegendToPoints[point.legend] = [];
|
|
171
|
+
}
|
|
172
|
+
mapLegendToPoints[point.legend].push(point);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
const legendDataItems = Object.entries(mapLegendToPoints).map(([legendTitle, points])=>{
|
|
176
|
+
const representativePoint = points[0];
|
|
162
177
|
// mapping data to the format Legends component needs
|
|
163
178
|
const legend = {
|
|
164
|
-
title:
|
|
165
|
-
color,
|
|
179
|
+
title: legendTitle,
|
|
180
|
+
color: representativePoint.color,
|
|
166
181
|
onMouseOutAction: ()=>{
|
|
167
182
|
setActiveLegend('');
|
|
168
183
|
},
|
|
169
184
|
hoverAction: ()=>{
|
|
170
185
|
_handleChartMouseLeave();
|
|
171
|
-
setActiveLegend(
|
|
186
|
+
setActiveLegend(legendTitle);
|
|
172
187
|
},
|
|
173
|
-
...
|
|
174
|
-
shape:
|
|
188
|
+
...representativePoint.legendShape && {
|
|
189
|
+
shape: representativePoint.legendShape
|
|
175
190
|
}
|
|
176
191
|
};
|
|
177
192
|
return legend;
|
|
@@ -191,6 +206,43 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
191
206
|
legendRef: _legendsRef
|
|
192
207
|
});
|
|
193
208
|
}
|
|
209
|
+
function _getOrderedYAxisLabels() {
|
|
210
|
+
const shouldOrderYAxisLabelsByCategoryOrder = _yAxisType === YAxisType.StringAxis && props.yAxisCategoryOrder !== 'default';
|
|
211
|
+
if (!shouldOrderYAxisLabelsByCategoryOrder) {
|
|
212
|
+
// Collect all unique string y values from all data points in all series, in reverse order
|
|
213
|
+
const yLabelsSet = new Set();
|
|
214
|
+
for(let i = _points.length - 1; i >= 0; i--){
|
|
215
|
+
const point = _points[i];
|
|
216
|
+
if (point.data && Array.isArray(point.data)) {
|
|
217
|
+
for (const d of point.data){
|
|
218
|
+
if (typeof d.y === 'string') {
|
|
219
|
+
yLabelsSet.add(d.y);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return Array.from(yLabelsSet);
|
|
225
|
+
}
|
|
226
|
+
return sortAxisCategories(_mapCategoryToValues(), props.yAxisCategoryOrder);
|
|
227
|
+
}
|
|
228
|
+
function _mapCategoryToValues() {
|
|
229
|
+
const categoryToValues = {};
|
|
230
|
+
_points.forEach((point)=>{
|
|
231
|
+
if (point.data && Array.isArray(point.data)) {
|
|
232
|
+
point.data.forEach((d)=>{
|
|
233
|
+
if (typeof d.y === 'string') {
|
|
234
|
+
if (!categoryToValues[d.y]) {
|
|
235
|
+
categoryToValues[d.y] = [];
|
|
236
|
+
}
|
|
237
|
+
if (typeof d.x === 'number') {
|
|
238
|
+
categoryToValues[d.y].push(d.x);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
return categoryToValues;
|
|
245
|
+
}
|
|
194
246
|
function _onLegendSelectionChange(legendsSelected, event, currentLegend) {
|
|
195
247
|
var _props_legendProps, _props_legendProps1;
|
|
196
248
|
if ((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.canSelectMultipleLegends) {
|
|
@@ -214,85 +266,81 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
214
266
|
if (isSelectedLegend) {
|
|
215
267
|
_points = selectedLegendPoints;
|
|
216
268
|
} else {
|
|
217
|
-
_points = _injectIndexPropertyInScatterChartData(props.data.
|
|
269
|
+
_points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);
|
|
218
270
|
}
|
|
219
|
-
const yMax = d3Max(points, (point)=>{
|
|
220
|
-
return d3Max(point.data, (item)=>item.y);
|
|
221
|
-
});
|
|
222
|
-
const yMin = d3Min(points, (point)=>{
|
|
223
|
-
return d3Min(point.data, (item)=>item.y);
|
|
224
|
-
});
|
|
225
|
-
const yPadding = (yMax - yMin) * 0.1;
|
|
226
|
-
const yPaddingRange = Math.abs(_yAxisScale(yMin + yPadding) - _yAxisScale(yMin));
|
|
227
|
-
let maxMarkerRange = 40;
|
|
228
|
-
let xPaddingRange = 0;
|
|
229
271
|
if (_xAxisType === XAxisTypes.StringAxis) {
|
|
230
272
|
_xBandwidth = _xAxisScale.bandwidth() / 2;
|
|
231
|
-
xPaddingRange = _xBandwidth;
|
|
232
|
-
} else if (_xAxisType === XAxisTypes.DateAxis) {
|
|
233
|
-
const xMin = d3Min(points, (point)=>{
|
|
234
|
-
return d3Min(point.data, (item)=>item.x);
|
|
235
|
-
});
|
|
236
|
-
const xMax = d3Max(points, (point)=>{
|
|
237
|
-
return d3Max(point.data, (item)=>{
|
|
238
|
-
return item.x;
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
const xPadding = (xMax.getTime() - xMin.getTime()) * 0.1;
|
|
242
|
-
xPaddingRange = Math.abs(_xAxisScale(new Date(xMin.getTime() + xPadding)) - _xAxisScale(xMin));
|
|
243
|
-
} else {
|
|
244
|
-
const xMin = d3Min(points, (point)=>{
|
|
245
|
-
return d3Min(point.data, (item)=>item.x);
|
|
246
|
-
});
|
|
247
|
-
const xMax = d3Max(points, (point)=>{
|
|
248
|
-
return d3Max(point.data, (item)=>{
|
|
249
|
-
return item.x;
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
const xPadding = (xMax - xMin) * 0.1;
|
|
253
|
-
xPaddingRange = Math.abs(_xAxisScale(xMin + xPadding) - _xAxisScale(xMin));
|
|
254
273
|
}
|
|
255
|
-
maxMarkerRange = Math.min(maxMarkerRange, Math.min(xPaddingRange, yPaddingRange));
|
|
256
274
|
const maxMarkerSize = d3Max(_points, (point)=>{
|
|
257
275
|
return d3Max(point.data, (item)=>{
|
|
258
276
|
return item.markerSize;
|
|
259
277
|
});
|
|
260
278
|
});
|
|
279
|
+
const extraMaxPixels = _xAxisType !== XAxisTypes.StringAxis && _yAxisType !== YAxisType.StringAxis ? getRangeForScatterMarkerSize({
|
|
280
|
+
data: _points,
|
|
281
|
+
xScale: _xAxisScale,
|
|
282
|
+
yScalePrimary: _yAxisScale,
|
|
283
|
+
xScaleType: props.xScaleType,
|
|
284
|
+
yScaleType: props.yScaleType
|
|
285
|
+
}) : 0;
|
|
261
286
|
for(let i = _points.length - 1; i >= 0; i--){
|
|
262
287
|
const pointsForSeries = [];
|
|
263
288
|
const legendVal = _points[i].legend;
|
|
264
289
|
const seriesColor = _points[i].color;
|
|
265
290
|
const verticaLineHeight = containerHeight - margins.bottom + 6;
|
|
266
291
|
for(let j = 0; j < _points[i].data.length; j++){
|
|
292
|
+
var _points_i, _points_i_data_j;
|
|
293
|
+
const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points === null || _points === void 0 ? void 0 : (_points_i = _points[i]) === null || _points_i === void 0 ? void 0 : _points_i.data[j];
|
|
294
|
+
const xPoint = _xAxisScale === null || _xAxisScale === void 0 ? void 0 : _xAxisScale(x);
|
|
295
|
+
// Use string y axis scale if needed
|
|
296
|
+
const yPoint = _yAxisType === YAxisType.StringAxis ? (_yAxisScale === null || _yAxisScale === void 0 ? void 0 : _yAxisScale(y)) + ((_yAxisScale === null || _yAxisScale === void 0 ? void 0 : _yAxisScale.bandwidth) ? _yAxisScale.bandwidth() / 2 : 0) : _yAxisScale === null || _yAxisScale === void 0 ? void 0 : _yAxisScale(y);
|
|
297
|
+
if (!isPlottable(xPoint, yPoint)) {
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
267
300
|
const seriesId = `${_seriesId}_${i}_${j}`;
|
|
268
301
|
const circleId = `${_circleId}_${i}_${j}`;
|
|
269
|
-
const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j];
|
|
270
|
-
let circleRadius = 3.5;
|
|
271
302
|
const pointMarkerSize = _points[i].data[j].markerSize;
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
303
|
+
const minPixel = 4;
|
|
304
|
+
const maxPixel = 16;
|
|
305
|
+
const circleRadius = pointMarkerSize && maxMarkerSize !== 0 ? _xAxisType !== XAxisTypes.StringAxis ? pointMarkerSize * extraMaxPixels / maxMarkerSize : minPixel + (pointMarkerSize - minPixel) / (maxMarkerSize - minPixel) * (maxPixel - minPixel) : activePoint === circleId ? 6 : 4;
|
|
275
306
|
const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
|
|
276
307
|
const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
308
|
+
const text = _points === null || _points === void 0 ? void 0 : (_points_i_data_j = _points[i].data[j]) === null || _points_i_data_j === void 0 ? void 0 : _points_i_data_j.text;
|
|
309
|
+
if (!_isTextMode.current) {
|
|
310
|
+
pointsForSeries.push(/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("circle", {
|
|
311
|
+
id: circleId,
|
|
312
|
+
key: circleId,
|
|
313
|
+
r: Math.max(circleRadius, 4),
|
|
314
|
+
cx: xPoint + _xBandwidth,
|
|
315
|
+
cy: yPoint,
|
|
316
|
+
"data-is-focusable": isLegendSelected,
|
|
317
|
+
onMouseOver: (event)=>_handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event),
|
|
318
|
+
onMouseMove: (event)=>_handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event),
|
|
319
|
+
onMouseOut: _handleMouseOut,
|
|
320
|
+
onFocus: (event)=>_handleFocus(event, seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
|
|
321
|
+
onBlur: _handleMouseOut,
|
|
322
|
+
..._getClickHandler(_points[i].data[j].onDataPointClick),
|
|
323
|
+
opacity: isLegendSelected && !currentPointHidden ? 1 : 0.1,
|
|
324
|
+
fill: _getPointFill(seriesColor, circleId, j, false),
|
|
325
|
+
stroke: seriesColor,
|
|
326
|
+
role: "img",
|
|
327
|
+
"aria-label": _getAriaLabel(i, j),
|
|
328
|
+
tabIndex: isLegendSelected ? 0 : undefined
|
|
329
|
+
}), ",", text && /*#__PURE__*/ React.createElement("text", {
|
|
330
|
+
key: `${circleId}-label`,
|
|
331
|
+
x: xPoint + _xBandwidth,
|
|
332
|
+
y: yPoint + Math.max(circleRadius + 12, 16),
|
|
333
|
+
className: classes.markerLabel
|
|
334
|
+
}, text)));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (_isScatterPolarRef.current) {
|
|
338
|
+
var _points_i1;
|
|
339
|
+
pointsForSeries.push(...renderScatterPolarCategoryLabels({
|
|
340
|
+
xAxisScale: _xAxisScale,
|
|
341
|
+
yAxisScale: _yAxisScale,
|
|
342
|
+
className: classes.markerLabel || '',
|
|
343
|
+
lineOptions: _points === null || _points === void 0 ? void 0 : (_points_i1 = _points[i]) === null || _points_i1 === void 0 ? void 0 : _points_i1.lineOptions
|
|
296
344
|
}));
|
|
297
345
|
}
|
|
298
346
|
series.push(/*#__PURE__*/ React.createElement("g", {
|
|
@@ -418,10 +466,10 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
418
466
|
return ((_point_callOutAccessibilityData = point.callOutAccessibilityData) === null || _point_callOutAccessibilityData === void 0 ? void 0 : _point_callOutAccessibilityData.ariaLabel) || `${xValue}. ${legend}, ${yValue}.`;
|
|
419
467
|
}
|
|
420
468
|
function _isChartEmpty() {
|
|
421
|
-
return !(props.data && props.data.
|
|
469
|
+
return !(props.data && props.data.scatterChartData && props.data.scatterChartData.length > 0 && props.data.scatterChartData.filter((item)=>item.data.length).length > 0);
|
|
422
470
|
}
|
|
423
471
|
const { legendProps, tickValues, tickFormat } = props;
|
|
424
|
-
_points = _injectIndexPropertyInScatterChartData(props.data.
|
|
472
|
+
_points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);
|
|
425
473
|
let points = _points;
|
|
426
474
|
if (legendProps && !!legendProps.canSelectMultipleLegends) {
|
|
427
475
|
points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;
|
|
@@ -431,7 +479,7 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
431
479
|
// reduce computation cost by only creating legendBars
|
|
432
480
|
// if when hideLegend is false.
|
|
433
481
|
// NOTE: they are rendered only when hideLegend is false in CartesianChart.
|
|
434
|
-
if (!props.hideLegend) {
|
|
482
|
+
if (!props.hideLegend && !_isTextMode.current) {
|
|
435
483
|
legendBars = _createLegends(_points); // ToDo: Memoize legends to improve performance.
|
|
436
484
|
}
|
|
437
485
|
var _props_culture;
|
|
@@ -456,6 +504,8 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
456
504
|
_xAxisLabels = [
|
|
457
505
|
...new Set(xAxisLabels)
|
|
458
506
|
];
|
|
507
|
+
// Compute unique y axis labels for string y axis
|
|
508
|
+
const _yAxisLabels = _getOrderedYAxisLabels();
|
|
459
509
|
return !_isChartEmpty() ? /*#__PURE__*/ React.createElement(CartesianChart, {
|
|
460
510
|
...props,
|
|
461
511
|
chartTitle: props.data.chartTitle,
|
|
@@ -467,6 +517,10 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
467
517
|
getmargins: _getMargins,
|
|
468
518
|
getGraphData: _initializeScatterChartData,
|
|
469
519
|
xAxisType: _xAxisType,
|
|
520
|
+
yAxisType: _yAxisType,
|
|
521
|
+
..._yAxisType === YAxisType.StringAxis ? {
|
|
522
|
+
stringDatasetForYAxisDomain: _yAxisLabels
|
|
523
|
+
} : {},
|
|
470
524
|
getMinMaxOfYAxis: _getNumericMinMaxOfY,
|
|
471
525
|
getDomainNRangeValues: _getDomainNRangeValues,
|
|
472
526
|
createYAxis: createNumericYAxis,
|
|
@@ -475,6 +529,10 @@ import { toImage } from '../../utilities/image-export-utils';
|
|
|
475
529
|
enableFirstRenderOptimization: _firstRenderOptimization,
|
|
476
530
|
datasetForXAxisDomain: _xAxisLabels,
|
|
477
531
|
componentRef: cartesianChartRef,
|
|
532
|
+
..._isScatterPolarRef.current ? {
|
|
533
|
+
yMaxValue: 1,
|
|
534
|
+
yMinValue: -1
|
|
535
|
+
} : {},
|
|
478
536
|
/* eslint-disable react/jsx-no-bind */ // eslint-disable-next-line react/no-children-prop
|
|
479
537
|
children: (props)=>{
|
|
480
538
|
_xAxisScale = props.xScale;
|