@fluentui/react-charts 9.0.3 → 9.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/index.d.ts +4 -36
  3. package/lib/components/AreaChart/useAreaChartStyles.styles.js +0 -9
  4. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  5. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  6. package/lib/components/CommonComponents/ChartPopover.js +2 -2
  7. package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
  8. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +7 -123
  9. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  10. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +11 -22
  11. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  12. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +2 -2
  13. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  14. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +2 -6
  15. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  16. package/lib/components/GaugeChart/GaugeChart.js +1 -1
  17. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  18. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +13 -9
  19. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  20. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +0 -9
  21. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  22. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +0 -9
  23. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  24. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +2 -9
  25. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  26. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +0 -9
  27. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  28. package/lib/components/Legends/useLegendsStyles.styles.js +2 -3
  29. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  30. package/lib/components/LineChart/useLineChartStyles.styles.js +1 -10
  31. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  32. package/lib/components/SankeyChart/SankeyChart.js +3 -2
  33. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  34. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  35. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +1 -10
  36. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  37. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +3 -11
  38. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  39. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +1 -1
  40. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  41. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +3 -11
  42. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  43. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +0 -9
  44. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  45. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  46. package/lib-commonjs/components/CommonComponents/ChartPopover.js +2 -2
  47. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -1
  48. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +8 -198
  49. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  50. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +12 -37
  51. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  52. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +1 -1
  53. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  54. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +3 -10
  55. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  56. package/lib-commonjs/components/GaugeChart/GaugeChart.js +1 -1
  57. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  58. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +14 -8
  59. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  60. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +0 -9
  61. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  62. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +0 -9
  63. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  64. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +2 -16
  65. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  66. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +0 -9
  67. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  68. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +2 -2
  69. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
  70. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +1 -10
  71. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  72. package/lib-commonjs/components/SankeyChart/SankeyChart.js +3 -2
  73. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  74. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  75. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +1 -10
  76. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  77. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +4 -11
  78. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  79. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +1 -1
  80. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  81. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +4 -11
  82. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  83. package/package.json +7 -7
@@ -1,5 +1,4 @@
1
1
  import { __styles, mergeClasses, shorthands } from '@griffel/react';
2
- import { HighContrastSelectorBlack, HighContrastSelector } from '../../utilities/index';
3
2
  import { tokens, typographyStyles } from '@fluentui/react-theme';
4
3
  /**
5
4
  * @internal
@@ -58,16 +57,17 @@ const useStyles = /*#__PURE__*/__styles({
58
57
  Be2twd7: "fy9rknc",
59
58
  Bhrd7zp: "figsok6",
60
59
  Bg96gwp: "fwrc4pm",
61
- B6of3ja: "f7jvbu2"
60
+ B6of3ja: "f7jvbu2",
61
+ Bvjb7m6: "fdgv6k0"
62
62
  },
63
63
  calloutBlockContainerNonCartesian: {
64
64
  Be2twd7: "fojgt09",
65
65
  Bg96gwp: "f82itaf",
66
- bo4z9n: "fg7a56h"
66
+ Bvjb7m6: "fdgv6k0"
67
67
  },
68
68
  calloutBlockContainertoDrawShapefalse: {
69
- bo4z9n: "fg7a56h",
70
- uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
69
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"],
70
+ Bvjb7m6: "fdgv6k0"
71
71
  },
72
72
  calloutBlockContainertoDrawShapetrue: {
73
73
  mc9l5x: "fwk3njj"
@@ -81,10 +81,10 @@ const useStyles = /*#__PURE__*/__styles({
81
81
  Bhrd7zp: "figsok6",
82
82
  Bg96gwp: "fwrc4pm",
83
83
  sj55zd: "fkfq4zb",
84
- B1cpy0k: "fig6os7"
84
+ Bvjb7m6: "fhv2zbx"
85
85
  },
86
86
  calloutContentY: {
87
- B1cpy0k: "fig6os7"
87
+ Bvjb7m6: "fhv2zbx"
88
88
  },
89
89
  calloutContentYCartesian: {
90
90
  Bahqtrf: "fk6fouc",
@@ -129,25 +129,14 @@ const useStyles = /*#__PURE__*/__styles({
129
129
  Bg96gwp: "fcpl73t"
130
130
  },
131
131
  calloutInfoContainer: {
132
- uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
132
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"],
133
+ Bvjb7m6: "fdgv6k0"
133
134
  },
134
- calloutContainer: {
135
- a6j6cd: "f1j86lqe",
136
- B93v9kj: "f15mrrko"
137
- }
135
+ calloutContainer: {}
138
136
  }, {
139
137
  d: [".f1bxpd7w{display:contents;}", [".f1a3p1vp{overflow:hidden;}", {
140
138
  p: -1
141
- }], ".f1dvrhzg{padding-top:11px 16px 10px 16px;}", ".fjnv7mu{padding-right:11px 16px 10px 16px;}", ".fae8789{padding-left:11px 16px 10px 16px;}", ".f1av7aef{padding-bottom:11px 16px 10px 16px;}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fronft5{background-blend-mode:normal,luminosity;}", ".f22iagw{display:flex;}", ".f1063pyq{flex-direction:row;}", ".f1869bpl{justify-content:space-between;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".fp25eh{opacity:0.8;}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".f7jvbu2{margin-top:13px;}", ".fojgt09{font-size:var(--fontSizeHero700);}", ".f82itaf{line-height:22px;}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".fwk3njj{display:inline-grid;}", ".f1vcna3q{margin-right:var(--spacingHorizontalS);}", ".foyynoy{margin-left:var(--spacingHorizontalS);}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".flh3ekv{font-weight:var(--fontWeightBold);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fcen8rp{line-height:var(--lineHeightHero700);}", ".f1gaxbfw{margin-top:var(--spacingVerticalMNudge);}", ".f1ngh7ph{padding-top:var(--spacingVerticalMNudge);}", ".f1pgliyk{border-top-width:1px solid var(--colorNeutralStroke2);}", ".f13mqy1h{font-size:var(--fontSizeBase100);}", ".fcpl73t{line-height:var(--lineHeightBase100);}", ".f1t5qyk5{margin-left:var(--spacingHorizontalSNudge);}", ".f1ikr372{margin-right:var(--spacingHorizontalSNudge);}", ".f19n0e5{color:var(--colorNeutralForeground1);}"],
142
- m: [["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.fg7a56h selectors{forced-color-adjust:none;}}", {
143
- m: "screen and (-ms-high-contrast: active), screen and (forced-colors: active)"
144
- }], ["@media screen and (-ms-high-contrast: white-on-black),screen and (forced-colors: active) and (prefers-color-scheme: dark){.fig6os7 selectors{color:rgb(255, 255, 255);}}", {
145
- m: "screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark)"
146
- }], ["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.f1j86lqe{fill:WindowText;}}", {
147
- m: "screen and (-ms-high-contrast: active), screen and (forced-colors: active)"
148
- }], ["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.f15mrrko{forced-color-adjust:none;}}", {
149
- m: "screen and (-ms-high-contrast: active), screen and (forced-colors: active)"
150
- }]]
139
+ }], ".f1dvrhzg{padding-top:11px 16px 10px 16px;}", ".fjnv7mu{padding-right:11px 16px 10px 16px;}", ".fae8789{padding-left:11px 16px 10px 16px;}", ".f1av7aef{padding-bottom:11px 16px 10px 16px;}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fronft5{background-blend-mode:normal,luminosity;}", ".f22iagw{display:flex;}", ".f1063pyq{flex-direction:row;}", ".f1869bpl{justify-content:space-between;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".fp25eh{opacity:0.8;}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".f7jvbu2{margin-top:13px;}", ".fdgv6k0{forced-color-adjust:none;}", ".fojgt09{font-size:var(--fontSizeHero700);}", ".f82itaf{line-height:22px;}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".fwk3njj{display:inline-grid;}", ".f1vcna3q{margin-right:var(--spacingHorizontalS);}", ".foyynoy{margin-left:var(--spacingHorizontalS);}", ".fhv2zbx{forced-color-adjust:auto;}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".flh3ekv{font-weight:var(--fontWeightBold);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fcen8rp{line-height:var(--lineHeightHero700);}", ".f1gaxbfw{margin-top:var(--spacingVerticalMNudge);}", ".f1ngh7ph{padding-top:var(--spacingVerticalMNudge);}", ".f1pgliyk{border-top-width:1px solid var(--colorNeutralStroke2);}", ".f13mqy1h{font-size:var(--fontSizeBase100);}", ".fcpl73t{line-height:var(--lineHeightBase100);}", ".f1t5qyk5{margin-left:var(--spacingHorizontalSNudge);}", ".f1ikr372{margin-right:var(--spacingHorizontalSNudge);}", ".f19n0e5{color:var(--colorNeutralForeground1);}"]
151
140
  });
152
141
  /**
153
142
  * Apply styling to the Carousel slots based on the state
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","HighContrastSelectorBlack","HighContrastSelector","tokens","typographyStyles","popoverClassNames","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","calloutBlockContainertoDrawShapefalse","calloutBlockContainertoDrawShapetrue","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","ratio","numerator","denominator","calloutInfoContainer","calloutContainer","useStyles","mc9l5x","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Beiy3e4","Brf1p80","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","abs64n","sj55zd","calloutBlockContainerCartesian","B6of3ja","calloutBlockContainerNonCartesian","bo4z9n","t21cq0","calloutLegendText","B1cpy0k","calloutContentYCartesian","calloutContentYNonCartesian","B4j52fo","Frg6f3","a6j6cd","B93v9kj","d","p","m","usePopoverStyles_unstable","props","isCartesian","baseStyles"],"sources":["useChartPopoverStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { HighContrastSelectorBlack, HighContrastSelector } from '../../utilities/index';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n/**\n * @internal\n */ export const popoverClassNames = {\n calloutContentRoot: 'fui-cart__calloutContentRoot',\n calloutDateTimeContainer: 'fui-cart__calloutDateTimeContainer',\n calloutContentX: 'fui-cart__calloutContentX',\n calloutBlockContainer: 'fui-cart__calloutBlockContainer',\n calloutBlockContainertoDrawShapefalse: 'fui-cart__calloutBlockContainertoDrawShapefalse',\n calloutBlockContainertoDrawShapetrue: 'fui-cart__calloutBlockContainertoDrawShapetrue',\n shapeStyles: 'fui-cart__shapeStyles',\n calloutlegendText: 'fui-cart__calloutlegendText',\n calloutContentY: 'fui-cart__calloutContentY',\n descriptionMessage: 'fui-cart__descriptionMessage',\n ratio: 'fui-cart__ratio',\n numerator: 'fui-cart__numerator',\n denominator: 'fui-cart__denominator',\n calloutInfoContainer: 'fui-cart__calloutInfoContainer',\n calloutContainer: 'fui-cart__calloutContainer'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n calloutContentRoot: {\n display: 'contents',\n overflow: 'hidden',\n ...shorthands.padding('11px 16px 10px 16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n opacity: '0.8',\n color: tokens.colorNeutralForeground2\n },\n calloutBlockContainer: {\n color: tokens.colorNeutralForeground2\n },\n calloutBlockContainerCartesian: {\n ...typographyStyles.caption1,\n marginTop: '13px'\n },\n calloutBlockContainerNonCartesian: {\n fontSize: tokens.fontSizeHero700,\n lineHeight: '22px',\n '& selectors': {\n [HighContrastSelector]: {\n forcedColorAdjust: 'none'\n }\n }\n },\n calloutBlockContainertoDrawShapefalse: {\n '& selectors': {\n [HighContrastSelector]: {\n forcedColorAdjust: 'none'\n }\n },\n paddingLeft: tokens.spacingHorizontalS\n },\n calloutBlockContainertoDrawShapetrue: {\n display: 'inline-grid'\n },\n shapeStyles: {\n marginRight: tokens.spacingHorizontalS\n },\n calloutLegendText: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground2,\n '& selectors': {\n [HighContrastSelectorBlack]: {\n color: 'rgb(255, 255, 255)'\n }\n }\n },\n calloutContentY: {\n '& selectors': {\n [HighContrastSelectorBlack]: {\n color: 'rgb(255, 255, 255)'\n }\n }\n },\n calloutContentYCartesian: {\n ...typographyStyles.subtitle2Stronger\n },\n calloutContentYNonCartesian: {\n ...typographyStyles.title2\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground2,\n marginTop: tokens.spacingVerticalMNudge,\n paddingTop: tokens.spacingVerticalMNudge,\n ...shorthands.borderTop(`1px solid ${tokens.colorNeutralStroke2}`)\n },\n ratio: {\n ...typographyStyles.caption2,\n marginLeft: tokens.spacingHorizontalSNudge,\n color: tokens.colorNeutralForeground1\n },\n numerator: {\n ...typographyStyles.caption2Strong\n },\n denominator: {\n ...typographyStyles.caption2Strong\n },\n calloutInfoContainer: {\n paddingLeft: tokens.spacingHorizontalS\n },\n calloutContainer: {\n [HighContrastSelector]: {\n fill: 'WindowText',\n forcedColorAdjust: 'none'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const usePopoverStyles_unstable = (props)=>{\n const { isCartesian } = props;\n const baseStyles = useStyles();\n return {\n calloutContentRoot: mergeClasses(popoverClassNames.calloutContentRoot, baseStyles.calloutContentRoot /*props.styles?. calloutContentRoot*/ ),\n calloutDateTimeContainer: mergeClasses(popoverClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer /*props.styles?.calloutDateTimeContainer*/ ),\n calloutContentX: mergeClasses(popoverClassNames.calloutContentX, baseStyles.calloutContentX /*props.styles?.calloutContentX*/ ),\n calloutBlockContainer: mergeClasses(popoverClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer /*props.styles?.calloutBlockContainerCartesian*/ , isCartesian ? baseStyles.calloutBlockContainerCartesian : baseStyles.calloutBlockContainerNonCartesian),\n calloutBlockContainertoDrawShapefalse: mergeClasses(popoverClassNames.calloutBlockContainertoDrawShapefalse, baseStyles.calloutBlockContainertoDrawShapefalse /*props.styles?.calloutBlockContainertoDrawShapefalse*/ ),\n calloutBlockContainertoDrawShapetrue: mergeClasses(popoverClassNames.calloutBlockContainertoDrawShapetrue, baseStyles.calloutBlockContainertoDrawShapetrue /*props.styles?.calloutBlockContainertoDrawShapetrue*/ ),\n shapeStyles: mergeClasses(popoverClassNames.shapeStyles, baseStyles.shapeStyles /*props.styles?.shapeStyles*/ ),\n calloutlegendText: mergeClasses(popoverClassNames.calloutlegendText, baseStyles.calloutLegendText /*props.styles?.calloutlegendText*/ ),\n calloutContentY: mergeClasses(popoverClassNames.calloutContentY, baseStyles.calloutContentY /*props.styles?.calloutContentYNonCartesian*/ , isCartesian ? baseStyles.calloutContentYCartesian : baseStyles.calloutContentYNonCartesian),\n descriptionMessage: mergeClasses(popoverClassNames.descriptionMessage, baseStyles.descriptionMessage /*props.styles?. descriptionMessage*/ ),\n ratio: mergeClasses(popoverClassNames.ratio, baseStyles.ratio /*props.styles?.ratio*/ ),\n numerator: mergeClasses(popoverClassNames.numerator, baseStyles.numerator /*props.styles?.numerator*/ ),\n denominator: mergeClasses(popoverClassNames.denominator, baseStyles.denominator /*props.styles?.denominator*/ ),\n calloutInfoContainer: mergeClasses(popoverClassNames.calloutInfoContainer, baseStyles.calloutInfoContainer),\n calloutContainer: mergeClasses(popoverClassNames.calloutContainer, baseStyles.calloutContainer)\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","popoverClassNames","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","calloutBlockContainertoDrawShapefalse","calloutBlockContainertoDrawShapetrue","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","ratio","numerator","denominator","calloutInfoContainer","calloutContainer","useStyles","mc9l5x","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Beiy3e4","Brf1p80","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","abs64n","sj55zd","calloutBlockContainerCartesian","B6of3ja","Bvjb7m6","calloutBlockContainerNonCartesian","t21cq0","calloutLegendText","calloutContentYCartesian","calloutContentYNonCartesian","B4j52fo","Frg6f3","d","p","usePopoverStyles_unstable","props","isCartesian","baseStyles"],"sources":["useChartPopoverStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n/**\n * @internal\n */ export const popoverClassNames = {\n calloutContentRoot: 'fui-cart__calloutContentRoot',\n calloutDateTimeContainer: 'fui-cart__calloutDateTimeContainer',\n calloutContentX: 'fui-cart__calloutContentX',\n calloutBlockContainer: 'fui-cart__calloutBlockContainer',\n calloutBlockContainertoDrawShapefalse: 'fui-cart__calloutBlockContainertoDrawShapefalse',\n calloutBlockContainertoDrawShapetrue: 'fui-cart__calloutBlockContainertoDrawShapetrue',\n shapeStyles: 'fui-cart__shapeStyles',\n calloutlegendText: 'fui-cart__calloutlegendText',\n calloutContentY: 'fui-cart__calloutContentY',\n descriptionMessage: 'fui-cart__descriptionMessage',\n ratio: 'fui-cart__ratio',\n numerator: 'fui-cart__numerator',\n denominator: 'fui-cart__denominator',\n calloutInfoContainer: 'fui-cart__calloutInfoContainer',\n calloutContainer: 'fui-cart__calloutContainer'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n calloutContentRoot: {\n display: 'contents',\n overflow: 'hidden',\n ...shorthands.padding('11px 16px 10px 16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n opacity: '0.8',\n color: tokens.colorNeutralForeground2\n },\n calloutBlockContainer: {\n color: tokens.colorNeutralForeground2\n },\n calloutBlockContainerCartesian: {\n ...typographyStyles.caption1,\n marginTop: '13px',\n forcedColorAdjust: 'none'\n },\n calloutBlockContainerNonCartesian: {\n fontSize: tokens.fontSizeHero700,\n lineHeight: '22px',\n forcedColorAdjust: 'none'\n },\n calloutBlockContainertoDrawShapefalse: {\n paddingLeft: tokens.spacingHorizontalS,\n forcedColorAdjust: 'none'\n },\n calloutBlockContainertoDrawShapetrue: {\n display: 'inline-grid'\n },\n shapeStyles: {\n marginRight: tokens.spacingHorizontalS\n },\n calloutLegendText: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground2,\n forcedColorAdjust: 'auto'\n },\n calloutContentY: {\n forcedColorAdjust: 'auto'\n },\n calloutContentYCartesian: {\n ...typographyStyles.subtitle2Stronger\n },\n calloutContentYNonCartesian: {\n ...typographyStyles.title2\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground2,\n marginTop: tokens.spacingVerticalMNudge,\n paddingTop: tokens.spacingVerticalMNudge,\n ...shorthands.borderTop(`1px solid ${tokens.colorNeutralStroke2}`)\n },\n ratio: {\n ...typographyStyles.caption2,\n marginLeft: tokens.spacingHorizontalSNudge,\n color: tokens.colorNeutralForeground1\n },\n numerator: {\n ...typographyStyles.caption2Strong\n },\n denominator: {\n ...typographyStyles.caption2Strong\n },\n calloutInfoContainer: {\n paddingLeft: tokens.spacingHorizontalS,\n forcedColorAdjust: 'none'\n },\n calloutContainer: {}\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const usePopoverStyles_unstable = (props)=>{\n const { isCartesian } = props;\n const baseStyles = useStyles();\n return {\n calloutContentRoot: mergeClasses(popoverClassNames.calloutContentRoot, baseStyles.calloutContentRoot /*props.styles?. calloutContentRoot*/ ),\n calloutDateTimeContainer: mergeClasses(popoverClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer /*props.styles?.calloutDateTimeContainer*/ ),\n calloutContentX: mergeClasses(popoverClassNames.calloutContentX, baseStyles.calloutContentX /*props.styles?.calloutContentX*/ ),\n calloutBlockContainer: mergeClasses(popoverClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer /*props.styles?.calloutBlockContainerCartesian*/ , isCartesian ? baseStyles.calloutBlockContainerCartesian : baseStyles.calloutBlockContainerNonCartesian),\n calloutBlockContainertoDrawShapefalse: mergeClasses(popoverClassNames.calloutBlockContainertoDrawShapefalse, baseStyles.calloutBlockContainertoDrawShapefalse /*props.styles?.calloutBlockContainertoDrawShapefalse*/ ),\n calloutBlockContainertoDrawShapetrue: mergeClasses(popoverClassNames.calloutBlockContainertoDrawShapetrue, baseStyles.calloutBlockContainertoDrawShapetrue /*props.styles?.calloutBlockContainertoDrawShapetrue*/ ),\n shapeStyles: mergeClasses(popoverClassNames.shapeStyles, baseStyles.shapeStyles /*props.styles?.shapeStyles*/ ),\n calloutlegendText: mergeClasses(popoverClassNames.calloutlegendText, baseStyles.calloutLegendText /*props.styles?.calloutlegendText*/ ),\n calloutContentY: mergeClasses(popoverClassNames.calloutContentY, baseStyles.calloutContentY /*props.styles?.calloutContentYNonCartesian*/ , isCartesian ? baseStyles.calloutContentYCartesian : baseStyles.calloutContentYNonCartesian),\n descriptionMessage: mergeClasses(popoverClassNames.descriptionMessage, baseStyles.descriptionMessage /*props.styles?. descriptionMessage*/ ),\n ratio: mergeClasses(popoverClassNames.ratio, baseStyles.ratio /*props.styles?.ratio*/ ),\n numerator: mergeClasses(popoverClassNames.numerator, baseStyles.numerator /*props.styles?.numerator*/ ),\n denominator: mergeClasses(popoverClassNames.denominator, baseStyles.denominator /*props.styles?.denominator*/ ),\n calloutInfoContainer: mergeClasses(popoverClassNames.calloutInfoContainer, baseStyles.calloutInfoContainer),\n calloutContainer: mergeClasses(popoverClassNames.calloutContainer, baseStyles.calloutContainer)\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import { bin as d3Bin, extent as d3Extent, sum as d3Sum, min as d3Min, max as d3
3
3
  import { scaleLinear as d3ScaleLinear } from 'd3-scale';
4
4
  import { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';
5
5
  import { findNumericMinMaxOfY } from '../../utilities/utilities';
6
- import { isArrayOfType, isArrayOrTypedArray, isDate, isDateArray, isNumberArray, isLineData } from '@fluentui/chart-utilities';
6
+ import { isArrayOfType, isArrayOrTypedArray, isDate, isDateArray, isNumberArray } from '@fluentui/chart-utilities';
7
7
  import { timeParse } from 'd3-time-format';
8
8
  import { curveCardinal as d3CurveCardinal } from 'd3-shape';
9
9
  const dashOptions = {
@@ -196,7 +196,7 @@ export const transformPlotlyJsonToVSBCProps = (input, colorMap, isDarkTheme, fal
196
196
  data: yVal,
197
197
  color
198
198
  });
199
- } else if (series.type === 'scatter' || isLineData(series) || !!fallbackVSBC) {
199
+ } else if (series.type === 'scatter' || !!fallbackVSBC) {
200
200
  const color = getColor(legend, colorMap, isDarkTheme);
201
201
  const lineOptions = getLineOptions(series.line);
202
202
  mapXToDataPoints[x].lineData.push({
@@ -1 +1 @@
1
- {"version":3,"sources":["PlotlySchemaAdapter.ts"],"sourcesContent":["/* eslint-disable one-var */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\nimport {\n bin as d3Bin,\n extent as d3Extent,\n sum as d3Sum,\n min as d3Min,\n max as d3Max,\n range as d3Range,\n Bin,\n} from 'd3-array';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { DonutChartProps } from '../DonutChart/index';\nimport {\n ChartDataPoint,\n ChartProps,\n HorizontalBarChartWithAxisDataPoint,\n LineChartPoints,\n VerticalStackedChartProps,\n HeatMapChartData,\n HeatMapChartDataPoint,\n GroupedVerticalBarChartData,\n VerticalBarChartDataPoint,\n SankeyChartData,\n LineChartLineOptions,\n} from '../../types/DataPoint';\nimport { SankeyChartProps } from '../SankeyChart/index';\nimport { VerticalStackedBarChartProps } from '../VerticalStackedBarChart/index';\nimport { HorizontalBarChartWithAxisProps } from '../HorizontalBarChartWithAxis/index';\nimport { LineChartProps } from '../LineChart/index';\nimport { AreaChartProps } from '../AreaChart/index';\nimport { HeatMapChartProps } from '../HeatMapChart/index';\nimport { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';\nimport { GaugeChartProps, GaugeChartSegment } from '../GaugeChart/index';\nimport { GroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChartProps } from '../VerticalBarChart/index';\nimport { findNumericMinMaxOfY } from '../../utilities/utilities';\nimport type {\n Datum,\n Layout,\n PlotlySchema,\n PieData,\n PlotData,\n SankeyData,\n ScatterLine,\n TypedArray,\n} from '@fluentui/chart-utilities';\nimport {\n isArrayOfType,\n isArrayOrTypedArray,\n isDate,\n isDateArray,\n isNumberArray,\n isLineData,\n} from '@fluentui/chart-utilities';\nimport { timeParse } from 'd3-time-format';\nimport { curveCardinal as d3CurveCardinal } from 'd3-shape';\n\ninterface SecondaryYAxisValues {\n secondaryYAxistitle?: string;\n secondaryYScaleOptions?: { yMinValue?: number; yMaxValue?: number };\n}\n\nconst dashOptions = {\n dot: {\n strokeDasharray: '1, 5',\n strokeLinecap: 'round',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dash: {\n strokeDasharray: '5, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdash: {\n strokeDasharray: '10, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dashdot: {\n strokeDasharray: '5, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdashdot: {\n strokeDasharray: '10, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n solid: {\n strokeDasharray: '0',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n} as const;\n\nconst isMonth = (possiblyMonthValue: any): boolean => {\n const parseFullMonth = timeParse('%B');\n const parseShortMonth = timeParse('%b');\n return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;\n};\n\nexport const isMonthArray = (data: Datum[] | Datum[][] | TypedArray): boolean => {\n return isArrayOfType(data, isMonth);\n};\n\nconst getLegend = (series: Partial<PlotData>, index: number): string => {\n return series.name || `Series ${index + 1}`;\n};\n\nfunction getTitles(layout: Partial<Layout> | undefined) {\n const titles = {\n chartTitle: typeof layout?.title === 'string' ? layout.title : layout?.title?.text ?? '',\n xAxisTitle: typeof layout?.xaxis?.title === 'string' ? layout?.xaxis?.title : layout?.xaxis?.title?.text ?? '',\n yAxisTitle: typeof layout?.yaxis?.title === 'string' ? layout?.yaxis?.title : layout?.yaxis?.title?.text ?? '',\n };\n return titles;\n}\n\nexport const correctYearMonth = (xValues: Datum[] | Datum[][] | TypedArray): any[] => {\n const presentYear = new Date().getFullYear();\n if (xValues.length > 0 && Array.isArray(xValues[0])) {\n throw new Error('updateXValues:: 2D array not supported');\n }\n const dates = (xValues as Datum[]).map(possiblyMonthValue => {\n const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;\n return isDate(parsedDate) ? new Date(parsedDate) : null;\n });\n for (let i = dates.length - 1; i > 0; i--) {\n const currentMonth = dates[i]!.getMonth();\n const previousMonth = dates[i - 1]!.getMonth();\n const currentYear = dates[i]!.getFullYear();\n const previousYear = dates[i - 1]!.getFullYear();\n if (previousMonth >= currentMonth) {\n dates[i - 1]!.setFullYear(dates[i]!.getFullYear() - 1);\n } else if (previousYear > currentYear) {\n dates[i - 1]!.setFullYear(currentYear);\n }\n }\n xValues = (xValues as Datum[]).map((month, index) => {\n return `${month} 01, ${dates[index]!.getFullYear()}`;\n });\n return xValues;\n};\n\nexport const getColor = (\n legendLabel: string,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): string => {\n if (!colorMap.current.has(legendLabel)) {\n const nextColor = getNextColor(colorMap.current.size + 1, 0, isDarkTheme);\n colorMap.current.set(legendLabel, nextColor);\n return nextColor;\n }\n\n return colorMap.current.get(legendLabel) as string;\n};\n\nconst getSecondaryYAxisValues = (series: PlotData, layout: Partial<Layout> | undefined) => {\n const secondaryYAxisValues: SecondaryYAxisValues = {};\n if (layout && layout.yaxis2 && series.yaxis === 'y2') {\n secondaryYAxisValues.secondaryYAxistitle =\n typeof layout.yaxis2.title === 'string'\n ? layout.yaxis2.title\n : typeof layout.yaxis2.title?.text === 'string'\n ? layout.yaxis2.title.text\n : '';\n if (layout.yaxis2.range) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: layout.yaxis2.range[0],\n yMaxValue: layout.yaxis2.range[1],\n };\n } else {\n const yValues = series.y as number[];\n if (yValues) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: Math.min(...yValues),\n yMaxValue: Math.max(...yValues),\n };\n }\n }\n }\n secondaryYAxisValues.secondaryYAxistitle =\n secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;\n secondaryYAxisValues.secondaryYScaleOptions =\n secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0\n ? secondaryYAxisValues.secondaryYScaleOptions\n : undefined;\n return secondaryYAxisValues;\n};\n\nexport const transformPlotlyJsonToDonutProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): DonutChartProps => {\n const firstData = input.data[0] as PieData;\n\n const mapLegendToDataPoint: Record<string, ChartDataPoint> = {};\n firstData.labels?.forEach((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n //ToDo how to handle string data?\n const value = typeof firstData.values?.[index] === 'number' ? (firstData.values[index] as number) : 1;\n\n if (!mapLegendToDataPoint[label]) {\n mapLegendToDataPoint[label] = {\n legend: label,\n data: value,\n color,\n };\n } else {\n mapLegendToDataPoint[label].data! += value;\n }\n });\n\n const width: number = input.layout?.width ?? 440;\n const height: number = input.layout?.height ?? 220;\n const hideLabels: boolean = firstData.textinfo\n ? !['value', 'percent', 'label+percent'].includes(firstData.textinfo)\n : false;\n const donutMarginHorizontal: number = hideLabels ? 0 : 80;\n const donutMarginVertical: number = 40 + (hideLabels ? 0 : 40);\n const innerRadius: number = firstData.hole\n ? firstData.hole * (Math.min(width - donutMarginHorizontal, height - donutMarginVertical) / 2)\n : 0;\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n chartData: Object.values(mapLegendToDataPoint),\n },\n hideLegend: input.layout?.showlegend === false ? true : false,\n width: input.layout?.width,\n height,\n innerRadius,\n hideLabels,\n showLabelsInPercent: firstData.textinfo ? ['percent', 'label+percent'].includes(firstData.textinfo) : true,\n };\n};\n\nexport const transformPlotlyJsonToVSBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n fallbackVSBC?: boolean,\n): VerticalStackedBarChartProps => {\n const mapXToDataPoints: { [key: string]: VerticalStackedChartProps } = {};\n let yMaxValue = 0;\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { xAxisPoint: x, chartData: [], lineData: [] };\n }\n const legend: string = getLegend(series, index1);\n const yVal: number = (series.y?.[index2] as number) ?? 0;\n if (series.type === 'bar') {\n const color = getColor(legend, colorMap, isDarkTheme);\n mapXToDataPoints[x].chartData.push({\n legend,\n data: yVal,\n color,\n });\n } else if (series.type === 'scatter' || isLineData(series) || !!fallbackVSBC) {\n const color = getColor(legend, colorMap, isDarkTheme);\n const lineOptions = getLineOptions(series.line);\n mapXToDataPoints[x].lineData!.push({\n legend,\n y: yVal,\n color,\n ...(lineOptions ? { lineOptions } : {}),\n });\n }\n\n yMaxValue = Math.max(yMaxValue, yVal);\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n yMaxValue,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToGVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GroupedVerticalBarChartProps => {\n const mapXToDataPoints: Record<string, GroupedVerticalBarChartData> = {};\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { name: x.toString(), series: [] };\n }\n if (series.type === 'bar') {\n const legend: string = getLegend(series, index1);\n const color = getColor(legend, colorMap, isDarkTheme);\n\n mapXToDataPoints[x].series.push({\n key: legend,\n data: (series.y?.[index2] as number) ?? 0,\n xAxisCalloutData: x as string,\n color,\n legend,\n });\n }\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): VerticalBarChartProps => {\n const vbcData: VerticalBarChartDataPoint[] = [];\n\n input.data.forEach((series: Partial<PlotData>, seriesIdx: number) => {\n if (!series.x) {\n return;\n }\n\n const isXString = isStringArray(series.x);\n const xBins = createBins(series.x, series.xbins?.start, series.xbins?.end, series.xbins?.size);\n const yBins: number[][] = xBins.map(() => []);\n let total = 0;\n\n series.x.forEach((xVal, index) => {\n const binIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n if (binIdx !== -1) {\n yBins[binIdx].push((series.y?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const y = yBins.map(bin => {\n const yVal = calculateHistFunc(series.histfunc, bin);\n total += yVal;\n return yVal;\n });\n\n xBins.forEach((bin, index) => {\n const legend: string = getLegend(series, seriesIdx);\n const color: string = getColor(legend, colorMap, isDarkTheme);\n const yVal = calculateHistNorm(\n series.histnorm,\n y[index],\n total,\n isXString ? bin.length : getBinSize(bin as Bin<number, number>),\n );\n\n vbcData.push({\n x: isXString ? bin.join(', ') : getBinCenter(bin as Bin<number, number>),\n y: yVal,\n legend,\n color,\n ...(isXString\n ? {}\n : { xAxisCalloutData: `[${(bin as Bin<number, number>).x0} - ${(bin as Bin<number, number>).x1})` }),\n });\n });\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: vbcData,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToScatterChartProps = (\n input: PlotlySchema,\n isAreaChart: boolean,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): LineChartProps | AreaChartProps => {\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n let mode: string = 'tonexty';\n const chartData: LineChartPoints[] = input.data.map((series: PlotData, index: number) => {\n const xValues = series.x as Datum[];\n const isString = typeof xValues[0] === 'string';\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const legend: string = getLegend(series, index);\n const lineColor = getColor(legend, colorMap, isDarkTheme);\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';\n const lineOptions = getLineOptions(series.line);\n\n return {\n legend,\n data: xValues.map((x, i: number) => ({\n x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,\n y: series.y[i],\n ...(Array.isArray(series.marker?.size)\n ? { markerSize: series.marker.size[i] }\n : typeof series.marker?.size === 'number'\n ? { markerSize: series.marker.size }\n : {}),\n })),\n color: lineColor,\n ...(lineOptions ? { lineOptions } : {}),\n } as LineChartPoints;\n });\n\n const yMinMaxValues = findNumericMinMaxOfY(chartData);\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n const chartProps: ChartProps = {\n chartTitle,\n lineChartData: chartData,\n };\n\n if (isAreaChart) {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n mode,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n } as AreaChartProps;\n } else {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n roundedTicks: true,\n yMinValue: yMinMaxValues.startValue,\n yMaxValue: yMinMaxValues.endValue,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n enableReflow: false,\n } as LineChartProps;\n }\n};\n\nexport const transformPlotlyJsonToHorizontalBarWithAxisProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): HorizontalBarChartWithAxisProps => {\n const chartData: HorizontalBarChartWithAxisDataPoint[] = input.data\n .map((series: PlotData, index: number) => {\n return (series.y as Datum[]).map((yValue: string, i: number) => {\n const color = getColor(yValue, colorMap, isDarkTheme);\n return {\n x: series.x[i],\n y: yValue,\n legend: yValue,\n color,\n } as HorizontalBarChartWithAxisDataPoint;\n });\n })\n .flat()\n //reversing the order to invert the Y bars order as required by plotly.\n .reverse();\n\n const chartHeight: number = input.layout?.height ?? 450;\n const margin: number = input.layout?.margin?.l ?? 0;\n const padding: number = input.layout?.margin?.pad ?? 0;\n const availableHeight: number = chartHeight - margin - padding;\n const numberOfBars = (input.data[0] as PlotData).y.length;\n const scalingFactor = 0.01;\n const gapFactor = 1 / (1 + scalingFactor * numberOfBars);\n const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: chartData,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle:\n typeof input.layout?.yaxis2?.title === 'string'\n ? input.layout?.yaxis2?.title\n : input.layout?.yaxis2?.title?.text || '',\n barHeight,\n showYAxisLables: true,\n height: chartHeight,\n width: input.layout?.width,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): HeatMapChartProps => {\n const firstData = input.data[0] as Partial<PlotData>;\n const heatmapDataPoints: HeatMapChartDataPoint[] = [];\n let zMin = Number.POSITIVE_INFINITY;\n let zMax = Number.NEGATIVE_INFINITY;\n\n if (firstData.type === 'histogram2d') {\n const isXString = isStringArray(firstData.x);\n const isYString = isStringArray(firstData.y);\n const xBins = createBins(firstData.x, firstData.xbins?.start, firstData.xbins?.end, firstData.xbins?.size);\n const yBins = createBins(firstData.y, firstData.ybins?.start, firstData.ybins?.end, firstData.ybins?.size);\n const zBins: number[][][] = yBins.map(() => xBins.map(() => []));\n let total = 0;\n\n firstData.x?.forEach((xVal, index) => {\n const xBinIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n const yBinIdx = findBinIndex(yBins, firstData.y?.[index] as string | number | null | undefined, isYString);\n\n if (xBinIdx !== -1 && yBinIdx !== -1) {\n zBins[yBinIdx][xBinIdx].push((firstData.z?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const z = zBins.map(row => {\n return row.map(bin => {\n const zVal = calculateHistFunc(firstData.histfunc, bin);\n total += zVal;\n return zVal;\n });\n });\n\n xBins.forEach((xBin, xIdx) => {\n yBins.forEach((yBin, yIdx) => {\n const zVal = calculateHistNorm(\n firstData.histnorm,\n z[yIdx][xIdx],\n total,\n isXString ? xBin.length : getBinSize(xBin as Bin<number, number>),\n isYString ? yBin.length : getBinSize(yBin as Bin<number, number>),\n );\n\n heatmapDataPoints.push({\n x: isXString ? xBin.join(', ') : getBinCenter(xBin as Bin<number, number>),\n y: isYString ? yBin.join(', ') : getBinCenter(yBin as Bin<number, number>),\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n } else {\n (firstData.x as Datum[])?.forEach((xVal, xIdx: number) => {\n firstData.y?.forEach((yVal: any, yIdx: number) => {\n const zVal = (firstData.z as number[][])?.[yIdx]?.[xIdx];\n\n heatmapDataPoints.push({\n x: input.layout?.xaxis?.type === 'date' ? (xVal as Date) : xVal ?? 0,\n y: input.layout?.yaxis?.type === 'date' ? (yVal as Date) : yVal,\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n }\n\n const heatmapData: HeatMapChartData = {\n legend: firstData.name ?? '',\n data: heatmapDataPoints,\n value: 0,\n };\n\n // Initialize domain and range to default values\n const defaultDomain = [zMin, (zMax + zMin) / 2, zMax];\n const defaultRange = [\n getColorFromToken(DataVizPalette.color1),\n getColorFromToken(DataVizPalette.color2),\n getColorFromToken(DataVizPalette.color3),\n ];\n const domainValuesForColorScale: number[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[0] * (zMax - zMin) + zMin)\n : defaultDomain;\n\n const rangeValuesForColorScale: string[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[1])\n : defaultRange;\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: [heatmapData],\n domainValuesForColorScale,\n rangeValuesForColorScale,\n hideLegend: true,\n showYAxisLables: true,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n sortOrder: 'none',\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToSankeyProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): SankeyChartProps => {\n const { link, node } = input.data[0] as SankeyData;\n const validLinks = (link?.value ?? [])\n .map((val: number, index: number) => ({\n value: val,\n source: link?.source![index],\n target: link?.target![index],\n }))\n // eslint-disable-next-line @typescript-eslint/no-shadow\n // Filter out negative nodes, unequal nodes and self-references (circular links)\n .filter(x => x.source >= 0 && x.target >= 0 && x.source !== x.target);\n\n const sankeyChartData = {\n nodes: node.label?.map((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n\n return {\n nodeId: index,\n name: label,\n color,\n };\n }),\n links: validLinks.map((validLink: any, index: number) => {\n return {\n ...validLink,\n };\n }),\n } as SankeyChartData;\n\n // const styles: SankeyChartProps['styles'] = {\n // root: {\n // ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n SankeyChartData: sankeyChartData,\n },\n width: input.layout?.width,\n height: input.layout?.height ?? 468,\n // TODO\n // styles,\n enableReflow: true,\n };\n};\n\nexport const transformPlotlyJsonToGaugeProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GaugeChartProps => {\n const firstData = input.data[0] as PlotData;\n\n const segments = firstData.gauge?.steps?.length\n ? firstData.gauge.steps.map((step: any, index: number): GaugeChartSegment => {\n const legend = step.name || `Segment ${index + 1}`;\n const color = getColor(legend, colorMap, isDarkTheme);\n return {\n legend,\n size: step.range?.[1] - step.range?.[0],\n color,\n };\n })\n : [\n {\n legend: 'Current',\n size: firstData.value ?? 0 - (firstData.gauge?.axis?.range?.[0] ?? 0),\n color: getColor('Current', colorMap, isDarkTheme),\n },\n {\n legend: 'Target',\n size: (firstData.gauge?.axis?.range?.[1] ?? 100) - (firstData.value ?? 0),\n color: DataVizPalette.disabled,\n },\n ];\n\n let sublabel: string | undefined;\n // let sublabelColor: string | undefined;\n if (firstData.delta?.reference) {\n const diff = firstData.value - firstData.delta.reference;\n if (diff >= 0) {\n sublabel = `\\u25B2 ${diff}`;\n // const color = getColorFromToken(DataVizPalette.success, isDarkTheme);\n // sublabelColor = color;\n } else {\n sublabel = `\\u25BC ${Math.abs(diff)}`;\n // const color = getColorFromToken(DataVizPalette.error, isDarkTheme);\n // sublabelColor = color;\n }\n }\n\n // const styles: GaugeChartProps['styles'] = {\n // sublabel: {\n // fill: sublabelColor,\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n segments,\n chartValue: firstData.value ?? 0,\n chartTitle,\n sublabel,\n // range values can be null\n minValue: typeof firstData.gauge?.axis?.range?.[0] === 'number' ? firstData.gauge?.axis?.range?.[0] : undefined,\n maxValue: typeof firstData.gauge?.axis?.range?.[1] === 'number' ? firstData.gauge?.axis?.range?.[1] : undefined,\n chartValueFormat: () => firstData.value?.toString() ?? '',\n // FIXME\n // width: input.layout?.width,\n // height: input.layout?.height ?? 220,\n // TODO\n // styles,\n variant: firstData.gauge?.steps?.length ? 'multiple-segments' : 'single-segment',\n };\n};\n\nfunction isPlainObject(obj: any) {\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj).hasOwnProperty('hasOwnProperty')\n );\n}\n\nvar arrayAttributes: any[] = [];\nvar stack: any[] = [];\nvar isArrayStack: any[] = [];\nvar baseContainer: any, baseAttrName: any;\n/**\n * Interate iteratively through the trace object and find all the array attributes.\n * 1 trace record = 1 series of data\n * @param trace\n */\nexport function findArrayAttributes(trace: any) {\n // Init basecontainer and baseAttrName\n crawlIntoTrace(baseContainer, 0, '');\n}\n\nfunction crawlIntoTrace(container: any, i: number, astrPartial: any) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if (i === stack.length - 1) {\n if (isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if (isArrayStack[i]) {\n if (Array.isArray(item)) {\n for (var j = 0; j < item.length; j++) {\n if (isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if (isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n}\n\nfunction getLineOptions(line: Partial<ScatterLine> | undefined): LineChartLineOptions | undefined {\n if (!line) {\n return;\n }\n\n let lineOptions: LineChartLineOptions = {};\n if (line.dash) {\n lineOptions = { ...lineOptions, ...dashOptions[line.dash] };\n }\n\n switch (line.shape) {\n case 'spline':\n const smoothing = typeof line.smoothing === 'number' ? line.smoothing : 1;\n lineOptions.curve = d3CurveCardinal.tension(1 - smoothing / 1.3);\n break;\n case 'hv':\n lineOptions.curve = 'stepAfter';\n break;\n case 'vh':\n lineOptions.curve = 'stepBefore';\n break;\n case 'hvh':\n lineOptions.curve = 'step';\n break;\n default:\n lineOptions.curve = 'linear';\n }\n\n return Object.keys(lineOptions).length > 0 ? lineOptions : undefined;\n}\n\nconst isStringArray = (arr: any) => {\n return isArrayOfType(arr, (value: any) => typeof value === 'string');\n};\n\n// TODO: Use binary search to find the appropriate bin for numeric value.\nconst findBinIndex = (\n bins: string[][] | Bin<number, number>[],\n value: string | number | null | undefined,\n isString: boolean,\n) => {\n if (typeof value === 'undefined' || value === null) {\n return -1;\n }\n\n return isString\n ? (bins as string[][]).findIndex(bin => bin.includes(value as string))\n : (bins as Bin<number, number>[]).findIndex(bin => (value as number) >= bin.x0! && (value as number) < bin.x1!);\n};\n\nconst getBinSize = (bin: Bin<number, number>) => {\n return bin.x1! - bin.x0!;\n};\n\nconst getBinCenter = (bin: Bin<number, number>) => {\n return (bin.x1! + bin.x0!) / 2;\n};\n\n// TODO: Add support for date axes\nconst createBins = (\n data: TypedArray | Datum[] | Datum[][] | undefined,\n binStart?: number | string,\n binEnd?: number | string,\n binSize?: number | string,\n) => {\n if (!data || data.length === 0) {\n return [];\n }\n\n if (isStringArray(data)) {\n const categories = Array.from(new Set(data as string[]));\n const start = typeof binStart === 'number' ? Math.ceil(binStart) : 0;\n const stop = typeof binEnd === 'number' ? Math.floor(binEnd) + 1 : categories.length;\n const step = typeof binSize === 'number' ? binSize : 1;\n\n return d3Range(start, stop, step).map(i => categories.slice(i, i + step));\n }\n\n const scale = d3ScaleLinear()\n .domain(d3Extent<number>(data as number[]) as [number, number])\n .nice();\n let [minVal, maxVal] = scale.domain();\n\n minVal = typeof binStart === 'number' ? binStart : minVal;\n maxVal = typeof binEnd === 'number' ? binEnd : maxVal;\n\n const binGenerator = d3Bin().domain([minVal, maxVal]);\n\n if (typeof binSize === 'number') {\n const thresholds: number[] = [];\n let th = minVal;\n const tolerance = 1 / Math.pow(10, binSize.toString().split('.')[1]?.length ?? 0);\n\n while (maxVal + binSize - th > tolerance) {\n thresholds.push(th);\n th += binSize;\n }\n\n minVal = thresholds[0];\n maxVal = thresholds[thresholds.length - 1];\n binGenerator.domain([minVal, maxVal]).thresholds(thresholds);\n }\n\n // NOTE: The last bin generated by d3Bin often has identical x0 and x1 values (both inclusive) and\n // can be ignored if the highest value is already included in the previous bin.\n return binGenerator(data as number[]);\n};\n\nconst calculateHistFunc = (histfunc: PlotData['histfunc'] | undefined, bin: number[]) => {\n switch (histfunc) {\n case 'sum':\n return d3Sum(bin);\n case 'avg':\n return bin.length === 0 ? 0 : d3Sum(bin) / bin.length;\n case 'min':\n return d3Min(bin) ?? 0;\n case 'max':\n return d3Max(bin) ?? 0;\n default:\n return bin.length;\n }\n};\n\nconst calculateHistNorm = (\n histnorm: PlotData['histnorm'] | undefined,\n value: number,\n total: number,\n dx: number,\n dy: number = 1,\n) => {\n switch (histnorm) {\n case 'percent':\n return total === 0 ? 0 : (value / total) * 100;\n case 'probability':\n return total === 0 ? 0 : value / total;\n case 'density':\n return dx * dy === 0 ? 0 : value / (dx * dy);\n case 'probability density':\n return total * dx * dy === 0 ? 0 : value / (total * dx * dy);\n default:\n return value;\n }\n};\n"],"names":["React","bin","d3Bin","extent","d3Extent","sum","d3Sum","min","d3Min","max","d3Max","range","d3Range","scaleLinear","d3ScaleLinear","DataVizPalette","getColorFromToken","getNextColor","findNumericMinMaxOfY","isArrayOfType","isArrayOrTypedArray","isDate","isDateArray","isNumberArray","isLineData","timeParse","curveCardinal","d3CurveCardinal","dashOptions","dot","strokeDasharray","strokeLinecap","strokeWidth","lineBorderWidth","dash","longdash","dashdot","longdashdot","solid","isMonth","possiblyMonthValue","parseFullMonth","parseShortMonth","isMonthArray","data","getLegend","series","index","name","getTitles","layout","titles","chartTitle","title","text","xAxisTitle","xaxis","yAxisTitle","yaxis","correctYearMonth","xValues","presentYear","Date","getFullYear","length","Array","isArray","Error","dates","map","parsedDate","i","currentMonth","getMonth","previousMonth","currentYear","previousYear","setFullYear","month","getColor","legendLabel","colorMap","isDarkTheme","current","has","nextColor","size","set","get","getSecondaryYAxisValues","secondaryYAxisValues","yaxis2","secondaryYAxistitle","secondaryYScaleOptions","yMinValue","yMaxValue","yValues","y","Math","undefined","Object","keys","transformPlotlyJsonToDonutProps","input","firstData","mapLegendToDataPoint","labels","forEach","label","color","value","values","legend","width","height","hideLabels","textinfo","includes","donutMarginHorizontal","donutMarginVertical","innerRadius","hole","chartData","hideLegend","showlegend","showLabelsInPercent","transformPlotlyJsonToVSBCProps","fallbackVSBC","mapXToDataPoints","index1","x","index2","xAxisPoint","lineData","yVal","type","push","lineOptions","getLineOptions","line","barWidth","mode","hideTickOverlap","transformPlotlyJsonToGVBCProps","toString","key","xAxisCalloutData","transformPlotlyJsonToVBCProps","vbcData","seriesIdx","isXString","isStringArray","xBins","createBins","xbins","start","end","yBins","total","xVal","binIdx","findBinIndex","calculateHistFunc","histfunc","calculateHistNorm","histnorm","getBinSize","join","getBinCenter","x0","x1","transformPlotlyJsonToScatterChartProps","isAreaChart","isString","isXDate","isXNumber","lineColor","fill","parseFloat","marker","markerSize","yMinMaxValues","chartProps","lineChartData","supportNegativeData","roundedTicks","startValue","endValue","enableReflow","transformPlotlyJsonToHorizontalBarWithAxisProps","yValue","flat","reverse","chartHeight","margin","l","padding","pad","availableHeight","numberOfBars","scalingFactor","gapFactor","barHeight","showYAxisLables","transformPlotlyJsonToHeatmapProps","heatmapDataPoints","zMin","Number","POSITIVE_INFINITY","zMax","NEGATIVE_INFINITY","isYString","ybins","zBins","xBinIdx","yBinIdx","z","row","zVal","xBin","xIdx","yBin","yIdx","rectText","heatmapData","defaultDomain","defaultRange","color1","color2","color3","domainValuesForColorScale","colorscale","arr","rangeValuesForColorScale","sortOrder","transformPlotlyJsonToSankeyProps","node","link","validLinks","val","source","target","filter","sankeyChartData","nodes","nodeId","links","validLink","SankeyChartData","transformPlotlyJsonToGaugeProps","segments","gauge","steps","step","axis","disabled","sublabel","delta","reference","diff","abs","chartValue","minValue","maxValue","chartValueFormat","variant","isPlainObject","obj","prototype","call","getPrototypeOf","hasOwnProperty","arrayAttributes","stack","isArrayStack","baseContainer","baseAttrName","findArrayAttributes","trace","crawlIntoTrace","container","astrPartial","item","newAstrPartial","j","shape","smoothing","curve","tension","bins","findIndex","binStart","binEnd","binSize","categories","from","Set","ceil","stop","floor","slice","scale","domain","nice","minVal","maxVal","binGenerator","thresholds","th","tolerance","pow","split","dx","dy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["PlotlySchemaAdapter.ts"],"sourcesContent":["/* eslint-disable one-var */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\nimport {\n bin as d3Bin,\n extent as d3Extent,\n sum as d3Sum,\n min as d3Min,\n max as d3Max,\n range as d3Range,\n Bin,\n} from 'd3-array';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { DonutChartProps } from '../DonutChart/index';\nimport {\n ChartDataPoint,\n ChartProps,\n HorizontalBarChartWithAxisDataPoint,\n LineChartPoints,\n VerticalStackedChartProps,\n HeatMapChartData,\n HeatMapChartDataPoint,\n GroupedVerticalBarChartData,\n VerticalBarChartDataPoint,\n SankeyChartData,\n LineChartLineOptions,\n} from '../../types/DataPoint';\nimport { SankeyChartProps } from '../SankeyChart/index';\nimport { VerticalStackedBarChartProps } from '../VerticalStackedBarChart/index';\nimport { HorizontalBarChartWithAxisProps } from '../HorizontalBarChartWithAxis/index';\nimport { LineChartProps } from '../LineChart/index';\nimport { AreaChartProps } from '../AreaChart/index';\nimport { HeatMapChartProps } from '../HeatMapChart/index';\nimport { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';\nimport { GaugeChartProps, GaugeChartSegment } from '../GaugeChart/index';\nimport { GroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChartProps } from '../VerticalBarChart/index';\nimport { findNumericMinMaxOfY } from '../../utilities/utilities';\nimport type {\n Datum,\n Layout,\n PlotlySchema,\n PieData,\n PlotData,\n SankeyData,\n ScatterLine,\n TypedArray,\n} from '@fluentui/chart-utilities';\nimport { isArrayOfType, isArrayOrTypedArray, isDate, isDateArray, isNumberArray } from '@fluentui/chart-utilities';\nimport { timeParse } from 'd3-time-format';\nimport { curveCardinal as d3CurveCardinal } from 'd3-shape';\n\ninterface SecondaryYAxisValues {\n secondaryYAxistitle?: string;\n secondaryYScaleOptions?: { yMinValue?: number; yMaxValue?: number };\n}\n\nconst dashOptions = {\n dot: {\n strokeDasharray: '1, 5',\n strokeLinecap: 'round',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dash: {\n strokeDasharray: '5, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdash: {\n strokeDasharray: '10, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dashdot: {\n strokeDasharray: '5, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdashdot: {\n strokeDasharray: '10, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n solid: {\n strokeDasharray: '0',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n} as const;\n\nconst isMonth = (possiblyMonthValue: any): boolean => {\n const parseFullMonth = timeParse('%B');\n const parseShortMonth = timeParse('%b');\n return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;\n};\n\nexport const isMonthArray = (data: Datum[] | Datum[][] | TypedArray): boolean => {\n return isArrayOfType(data, isMonth);\n};\n\nconst getLegend = (series: Partial<PlotData>, index: number): string => {\n return series.name || `Series ${index + 1}`;\n};\n\nfunction getTitles(layout: Partial<Layout> | undefined) {\n const titles = {\n chartTitle: typeof layout?.title === 'string' ? layout.title : layout?.title?.text ?? '',\n xAxisTitle: typeof layout?.xaxis?.title === 'string' ? layout?.xaxis?.title : layout?.xaxis?.title?.text ?? '',\n yAxisTitle: typeof layout?.yaxis?.title === 'string' ? layout?.yaxis?.title : layout?.yaxis?.title?.text ?? '',\n };\n return titles;\n}\n\nexport const correctYearMonth = (xValues: Datum[] | Datum[][] | TypedArray): any[] => {\n const presentYear = new Date().getFullYear();\n if (xValues.length > 0 && Array.isArray(xValues[0])) {\n throw new Error('updateXValues:: 2D array not supported');\n }\n const dates = (xValues as Datum[]).map(possiblyMonthValue => {\n const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;\n return isDate(parsedDate) ? new Date(parsedDate) : null;\n });\n for (let i = dates.length - 1; i > 0; i--) {\n const currentMonth = dates[i]!.getMonth();\n const previousMonth = dates[i - 1]!.getMonth();\n const currentYear = dates[i]!.getFullYear();\n const previousYear = dates[i - 1]!.getFullYear();\n if (previousMonth >= currentMonth) {\n dates[i - 1]!.setFullYear(dates[i]!.getFullYear() - 1);\n } else if (previousYear > currentYear) {\n dates[i - 1]!.setFullYear(currentYear);\n }\n }\n xValues = (xValues as Datum[]).map((month, index) => {\n return `${month} 01, ${dates[index]!.getFullYear()}`;\n });\n return xValues;\n};\n\nexport const getColor = (\n legendLabel: string,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): string => {\n if (!colorMap.current.has(legendLabel)) {\n const nextColor = getNextColor(colorMap.current.size + 1, 0, isDarkTheme);\n colorMap.current.set(legendLabel, nextColor);\n return nextColor;\n }\n\n return colorMap.current.get(legendLabel) as string;\n};\n\nconst getSecondaryYAxisValues = (series: PlotData, layout: Partial<Layout> | undefined) => {\n const secondaryYAxisValues: SecondaryYAxisValues = {};\n if (layout && layout.yaxis2 && series.yaxis === 'y2') {\n secondaryYAxisValues.secondaryYAxistitle =\n typeof layout.yaxis2.title === 'string'\n ? layout.yaxis2.title\n : typeof layout.yaxis2.title?.text === 'string'\n ? layout.yaxis2.title.text\n : '';\n if (layout.yaxis2.range) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: layout.yaxis2.range[0],\n yMaxValue: layout.yaxis2.range[1],\n };\n } else {\n const yValues = series.y as number[];\n if (yValues) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: Math.min(...yValues),\n yMaxValue: Math.max(...yValues),\n };\n }\n }\n }\n secondaryYAxisValues.secondaryYAxistitle =\n secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;\n secondaryYAxisValues.secondaryYScaleOptions =\n secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0\n ? secondaryYAxisValues.secondaryYScaleOptions\n : undefined;\n return secondaryYAxisValues;\n};\n\nexport const transformPlotlyJsonToDonutProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): DonutChartProps => {\n const firstData = input.data[0] as PieData;\n\n const mapLegendToDataPoint: Record<string, ChartDataPoint> = {};\n firstData.labels?.forEach((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n //ToDo how to handle string data?\n const value = typeof firstData.values?.[index] === 'number' ? (firstData.values[index] as number) : 1;\n\n if (!mapLegendToDataPoint[label]) {\n mapLegendToDataPoint[label] = {\n legend: label,\n data: value,\n color,\n };\n } else {\n mapLegendToDataPoint[label].data! += value;\n }\n });\n\n const width: number = input.layout?.width ?? 440;\n const height: number = input.layout?.height ?? 220;\n const hideLabels: boolean = firstData.textinfo\n ? !['value', 'percent', 'label+percent'].includes(firstData.textinfo)\n : false;\n const donutMarginHorizontal: number = hideLabels ? 0 : 80;\n const donutMarginVertical: number = 40 + (hideLabels ? 0 : 40);\n const innerRadius: number = firstData.hole\n ? firstData.hole * (Math.min(width - donutMarginHorizontal, height - donutMarginVertical) / 2)\n : 0;\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n chartData: Object.values(mapLegendToDataPoint),\n },\n hideLegend: input.layout?.showlegend === false ? true : false,\n width: input.layout?.width,\n height,\n innerRadius,\n hideLabels,\n showLabelsInPercent: firstData.textinfo ? ['percent', 'label+percent'].includes(firstData.textinfo) : true,\n };\n};\n\nexport const transformPlotlyJsonToVSBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n fallbackVSBC?: boolean,\n): VerticalStackedBarChartProps => {\n const mapXToDataPoints: { [key: string]: VerticalStackedChartProps } = {};\n let yMaxValue = 0;\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { xAxisPoint: x, chartData: [], lineData: [] };\n }\n const legend: string = getLegend(series, index1);\n const yVal: number = (series.y?.[index2] as number) ?? 0;\n if (series.type === 'bar') {\n const color = getColor(legend, colorMap, isDarkTheme);\n mapXToDataPoints[x].chartData.push({\n legend,\n data: yVal,\n color,\n });\n } else if (series.type === 'scatter' || !!fallbackVSBC) {\n const color = getColor(legend, colorMap, isDarkTheme);\n const lineOptions = getLineOptions(series.line);\n mapXToDataPoints[x].lineData!.push({\n legend,\n y: yVal,\n color,\n ...(lineOptions ? { lineOptions } : {}),\n });\n }\n\n yMaxValue = Math.max(yMaxValue, yVal);\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n yMaxValue,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToGVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GroupedVerticalBarChartProps => {\n const mapXToDataPoints: Record<string, GroupedVerticalBarChartData> = {};\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { name: x.toString(), series: [] };\n }\n if (series.type === 'bar') {\n const legend: string = getLegend(series, index1);\n const color = getColor(legend, colorMap, isDarkTheme);\n\n mapXToDataPoints[x].series.push({\n key: legend,\n data: (series.y?.[index2] as number) ?? 0,\n xAxisCalloutData: x as string,\n color,\n legend,\n });\n }\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): VerticalBarChartProps => {\n const vbcData: VerticalBarChartDataPoint[] = [];\n\n input.data.forEach((series: Partial<PlotData>, seriesIdx: number) => {\n if (!series.x) {\n return;\n }\n\n const isXString = isStringArray(series.x);\n const xBins = createBins(series.x, series.xbins?.start, series.xbins?.end, series.xbins?.size);\n const yBins: number[][] = xBins.map(() => []);\n let total = 0;\n\n series.x.forEach((xVal, index) => {\n const binIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n if (binIdx !== -1) {\n yBins[binIdx].push((series.y?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const y = yBins.map(bin => {\n const yVal = calculateHistFunc(series.histfunc, bin);\n total += yVal;\n return yVal;\n });\n\n xBins.forEach((bin, index) => {\n const legend: string = getLegend(series, seriesIdx);\n const color: string = getColor(legend, colorMap, isDarkTheme);\n const yVal = calculateHistNorm(\n series.histnorm,\n y[index],\n total,\n isXString ? bin.length : getBinSize(bin as Bin<number, number>),\n );\n\n vbcData.push({\n x: isXString ? bin.join(', ') : getBinCenter(bin as Bin<number, number>),\n y: yVal,\n legend,\n color,\n ...(isXString\n ? {}\n : { xAxisCalloutData: `[${(bin as Bin<number, number>).x0} - ${(bin as Bin<number, number>).x1})` }),\n });\n });\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: vbcData,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToScatterChartProps = (\n input: PlotlySchema,\n isAreaChart: boolean,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): LineChartProps | AreaChartProps => {\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n let mode: string = 'tonexty';\n const chartData: LineChartPoints[] = input.data.map((series: PlotData, index: number) => {\n const xValues = series.x as Datum[];\n const isString = typeof xValues[0] === 'string';\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const legend: string = getLegend(series, index);\n const lineColor = getColor(legend, colorMap, isDarkTheme);\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';\n const lineOptions = getLineOptions(series.line);\n\n return {\n legend,\n data: xValues.map((x, i: number) => ({\n x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,\n y: series.y[i],\n ...(Array.isArray(series.marker?.size)\n ? { markerSize: series.marker.size[i] }\n : typeof series.marker?.size === 'number'\n ? { markerSize: series.marker.size }\n : {}),\n })),\n color: lineColor,\n ...(lineOptions ? { lineOptions } : {}),\n } as LineChartPoints;\n });\n\n const yMinMaxValues = findNumericMinMaxOfY(chartData);\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n const chartProps: ChartProps = {\n chartTitle,\n lineChartData: chartData,\n };\n\n if (isAreaChart) {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n mode,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n } as AreaChartProps;\n } else {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n roundedTicks: true,\n yMinValue: yMinMaxValues.startValue,\n yMaxValue: yMinMaxValues.endValue,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n enableReflow: false,\n } as LineChartProps;\n }\n};\n\nexport const transformPlotlyJsonToHorizontalBarWithAxisProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): HorizontalBarChartWithAxisProps => {\n const chartData: HorizontalBarChartWithAxisDataPoint[] = input.data\n .map((series: PlotData, index: number) => {\n return (series.y as Datum[]).map((yValue: string, i: number) => {\n const color = getColor(yValue, colorMap, isDarkTheme);\n return {\n x: series.x[i],\n y: yValue,\n legend: yValue,\n color,\n } as HorizontalBarChartWithAxisDataPoint;\n });\n })\n .flat()\n //reversing the order to invert the Y bars order as required by plotly.\n .reverse();\n\n const chartHeight: number = input.layout?.height ?? 450;\n const margin: number = input.layout?.margin?.l ?? 0;\n const padding: number = input.layout?.margin?.pad ?? 0;\n const availableHeight: number = chartHeight - margin - padding;\n const numberOfBars = (input.data[0] as PlotData).y.length;\n const scalingFactor = 0.01;\n const gapFactor = 1 / (1 + scalingFactor * numberOfBars);\n const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: chartData,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle:\n typeof input.layout?.yaxis2?.title === 'string'\n ? input.layout?.yaxis2?.title\n : input.layout?.yaxis2?.title?.text || '',\n barHeight,\n showYAxisLables: true,\n height: chartHeight,\n width: input.layout?.width,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): HeatMapChartProps => {\n const firstData = input.data[0] as Partial<PlotData>;\n const heatmapDataPoints: HeatMapChartDataPoint[] = [];\n let zMin = Number.POSITIVE_INFINITY;\n let zMax = Number.NEGATIVE_INFINITY;\n\n if (firstData.type === 'histogram2d') {\n const isXString = isStringArray(firstData.x);\n const isYString = isStringArray(firstData.y);\n const xBins = createBins(firstData.x, firstData.xbins?.start, firstData.xbins?.end, firstData.xbins?.size);\n const yBins = createBins(firstData.y, firstData.ybins?.start, firstData.ybins?.end, firstData.ybins?.size);\n const zBins: number[][][] = yBins.map(() => xBins.map(() => []));\n let total = 0;\n\n firstData.x?.forEach((xVal, index) => {\n const xBinIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n const yBinIdx = findBinIndex(yBins, firstData.y?.[index] as string | number | null | undefined, isYString);\n\n if (xBinIdx !== -1 && yBinIdx !== -1) {\n zBins[yBinIdx][xBinIdx].push((firstData.z?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const z = zBins.map(row => {\n return row.map(bin => {\n const zVal = calculateHistFunc(firstData.histfunc, bin);\n total += zVal;\n return zVal;\n });\n });\n\n xBins.forEach((xBin, xIdx) => {\n yBins.forEach((yBin, yIdx) => {\n const zVal = calculateHistNorm(\n firstData.histnorm,\n z[yIdx][xIdx],\n total,\n isXString ? xBin.length : getBinSize(xBin as Bin<number, number>),\n isYString ? yBin.length : getBinSize(yBin as Bin<number, number>),\n );\n\n heatmapDataPoints.push({\n x: isXString ? xBin.join(', ') : getBinCenter(xBin as Bin<number, number>),\n y: isYString ? yBin.join(', ') : getBinCenter(yBin as Bin<number, number>),\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n } else {\n (firstData.x as Datum[])?.forEach((xVal, xIdx: number) => {\n firstData.y?.forEach((yVal: any, yIdx: number) => {\n const zVal = (firstData.z as number[][])?.[yIdx]?.[xIdx];\n\n heatmapDataPoints.push({\n x: input.layout?.xaxis?.type === 'date' ? (xVal as Date) : xVal ?? 0,\n y: input.layout?.yaxis?.type === 'date' ? (yVal as Date) : yVal,\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n }\n\n const heatmapData: HeatMapChartData = {\n legend: firstData.name ?? '',\n data: heatmapDataPoints,\n value: 0,\n };\n\n // Initialize domain and range to default values\n const defaultDomain = [zMin, (zMax + zMin) / 2, zMax];\n const defaultRange = [\n getColorFromToken(DataVizPalette.color1),\n getColorFromToken(DataVizPalette.color2),\n getColorFromToken(DataVizPalette.color3),\n ];\n const domainValuesForColorScale: number[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[0] * (zMax - zMin) + zMin)\n : defaultDomain;\n\n const rangeValuesForColorScale: string[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[1])\n : defaultRange;\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: [heatmapData],\n domainValuesForColorScale,\n rangeValuesForColorScale,\n hideLegend: true,\n showYAxisLables: true,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n sortOrder: 'none',\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToSankeyProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): SankeyChartProps => {\n const { link, node } = input.data[0] as SankeyData;\n const validLinks = (link?.value ?? [])\n .map((val: number, index: number) => ({\n value: val,\n source: link?.source![index],\n target: link?.target![index],\n }))\n // eslint-disable-next-line @typescript-eslint/no-shadow\n // Filter out negative nodes, unequal nodes and self-references (circular links)\n .filter(x => x.source >= 0 && x.target >= 0 && x.source !== x.target);\n\n const sankeyChartData = {\n nodes: node.label?.map((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n\n return {\n nodeId: index,\n name: label,\n color,\n };\n }),\n links: validLinks.map((validLink: any, index: number) => {\n return {\n ...validLink,\n };\n }),\n } as SankeyChartData;\n\n // const styles: SankeyChartProps['styles'] = {\n // root: {\n // ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n SankeyChartData: sankeyChartData,\n },\n width: input.layout?.width,\n height: input.layout?.height ?? 468,\n // TODO\n // styles,\n enableReflow: true,\n };\n};\n\nexport const transformPlotlyJsonToGaugeProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GaugeChartProps => {\n const firstData = input.data[0] as PlotData;\n\n const segments = firstData.gauge?.steps?.length\n ? firstData.gauge.steps.map((step: any, index: number): GaugeChartSegment => {\n const legend = step.name || `Segment ${index + 1}`;\n const color = getColor(legend, colorMap, isDarkTheme);\n return {\n legend,\n size: step.range?.[1] - step.range?.[0],\n color,\n };\n })\n : [\n {\n legend: 'Current',\n size: firstData.value ?? 0 - (firstData.gauge?.axis?.range?.[0] ?? 0),\n color: getColor('Current', colorMap, isDarkTheme),\n },\n {\n legend: 'Target',\n size: (firstData.gauge?.axis?.range?.[1] ?? 100) - (firstData.value ?? 0),\n color: DataVizPalette.disabled,\n },\n ];\n\n let sublabel: string | undefined;\n // let sublabelColor: string | undefined;\n if (firstData.delta?.reference) {\n const diff = firstData.value - firstData.delta.reference;\n if (diff >= 0) {\n sublabel = `\\u25B2 ${diff}`;\n // const color = getColorFromToken(DataVizPalette.success, isDarkTheme);\n // sublabelColor = color;\n } else {\n sublabel = `\\u25BC ${Math.abs(diff)}`;\n // const color = getColorFromToken(DataVizPalette.error, isDarkTheme);\n // sublabelColor = color;\n }\n }\n\n // const styles: GaugeChartProps['styles'] = {\n // sublabel: {\n // fill: sublabelColor,\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n segments,\n chartValue: firstData.value ?? 0,\n chartTitle,\n sublabel,\n // range values can be null\n minValue: typeof firstData.gauge?.axis?.range?.[0] === 'number' ? firstData.gauge?.axis?.range?.[0] : undefined,\n maxValue: typeof firstData.gauge?.axis?.range?.[1] === 'number' ? firstData.gauge?.axis?.range?.[1] : undefined,\n chartValueFormat: () => firstData.value?.toString() ?? '',\n // FIXME\n // width: input.layout?.width,\n // height: input.layout?.height ?? 220,\n // TODO\n // styles,\n variant: firstData.gauge?.steps?.length ? 'multiple-segments' : 'single-segment',\n };\n};\n\nfunction isPlainObject(obj: any) {\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj).hasOwnProperty('hasOwnProperty')\n );\n}\n\nvar arrayAttributes: any[] = [];\nvar stack: any[] = [];\nvar isArrayStack: any[] = [];\nvar baseContainer: any, baseAttrName: any;\n/**\n * Interate iteratively through the trace object and find all the array attributes.\n * 1 trace record = 1 series of data\n * @param trace\n */\nexport function findArrayAttributes(trace: any) {\n // Init basecontainer and baseAttrName\n crawlIntoTrace(baseContainer, 0, '');\n}\n\nfunction crawlIntoTrace(container: any, i: number, astrPartial: any) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if (i === stack.length - 1) {\n if (isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if (isArrayStack[i]) {\n if (Array.isArray(item)) {\n for (var j = 0; j < item.length; j++) {\n if (isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if (isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n}\n\nfunction getLineOptions(line: Partial<ScatterLine> | undefined): LineChartLineOptions | undefined {\n if (!line) {\n return;\n }\n\n let lineOptions: LineChartLineOptions = {};\n if (line.dash) {\n lineOptions = { ...lineOptions, ...dashOptions[line.dash] };\n }\n\n switch (line.shape) {\n case 'spline':\n const smoothing = typeof line.smoothing === 'number' ? line.smoothing : 1;\n lineOptions.curve = d3CurveCardinal.tension(1 - smoothing / 1.3);\n break;\n case 'hv':\n lineOptions.curve = 'stepAfter';\n break;\n case 'vh':\n lineOptions.curve = 'stepBefore';\n break;\n case 'hvh':\n lineOptions.curve = 'step';\n break;\n default:\n lineOptions.curve = 'linear';\n }\n\n return Object.keys(lineOptions).length > 0 ? lineOptions : undefined;\n}\n\nconst isStringArray = (arr: any) => {\n return isArrayOfType(arr, (value: any) => typeof value === 'string');\n};\n\n// TODO: Use binary search to find the appropriate bin for numeric value.\nconst findBinIndex = (\n bins: string[][] | Bin<number, number>[],\n value: string | number | null | undefined,\n isString: boolean,\n) => {\n if (typeof value === 'undefined' || value === null) {\n return -1;\n }\n\n return isString\n ? (bins as string[][]).findIndex(bin => bin.includes(value as string))\n : (bins as Bin<number, number>[]).findIndex(bin => (value as number) >= bin.x0! && (value as number) < bin.x1!);\n};\n\nconst getBinSize = (bin: Bin<number, number>) => {\n return bin.x1! - bin.x0!;\n};\n\nconst getBinCenter = (bin: Bin<number, number>) => {\n return (bin.x1! + bin.x0!) / 2;\n};\n\n// TODO: Add support for date axes\nconst createBins = (\n data: TypedArray | Datum[] | Datum[][] | undefined,\n binStart?: number | string,\n binEnd?: number | string,\n binSize?: number | string,\n) => {\n if (!data || data.length === 0) {\n return [];\n }\n\n if (isStringArray(data)) {\n const categories = Array.from(new Set(data as string[]));\n const start = typeof binStart === 'number' ? Math.ceil(binStart) : 0;\n const stop = typeof binEnd === 'number' ? Math.floor(binEnd) + 1 : categories.length;\n const step = typeof binSize === 'number' ? binSize : 1;\n\n return d3Range(start, stop, step).map(i => categories.slice(i, i + step));\n }\n\n const scale = d3ScaleLinear()\n .domain(d3Extent<number>(data as number[]) as [number, number])\n .nice();\n let [minVal, maxVal] = scale.domain();\n\n minVal = typeof binStart === 'number' ? binStart : minVal;\n maxVal = typeof binEnd === 'number' ? binEnd : maxVal;\n\n const binGenerator = d3Bin().domain([minVal, maxVal]);\n\n if (typeof binSize === 'number') {\n const thresholds: number[] = [];\n let th = minVal;\n const tolerance = 1 / Math.pow(10, binSize.toString().split('.')[1]?.length ?? 0);\n\n while (maxVal + binSize - th > tolerance) {\n thresholds.push(th);\n th += binSize;\n }\n\n minVal = thresholds[0];\n maxVal = thresholds[thresholds.length - 1];\n binGenerator.domain([minVal, maxVal]).thresholds(thresholds);\n }\n\n // NOTE: The last bin generated by d3Bin often has identical x0 and x1 values (both inclusive) and\n // can be ignored if the highest value is already included in the previous bin.\n return binGenerator(data as number[]);\n};\n\nconst calculateHistFunc = (histfunc: PlotData['histfunc'] | undefined, bin: number[]) => {\n switch (histfunc) {\n case 'sum':\n return d3Sum(bin);\n case 'avg':\n return bin.length === 0 ? 0 : d3Sum(bin) / bin.length;\n case 'min':\n return d3Min(bin) ?? 0;\n case 'max':\n return d3Max(bin) ?? 0;\n default:\n return bin.length;\n }\n};\n\nconst calculateHistNorm = (\n histnorm: PlotData['histnorm'] | undefined,\n value: number,\n total: number,\n dx: number,\n dy: number = 1,\n) => {\n switch (histnorm) {\n case 'percent':\n return total === 0 ? 0 : (value / total) * 100;\n case 'probability':\n return total === 0 ? 0 : value / total;\n case 'density':\n return dx * dy === 0 ? 0 : value / (dx * dy);\n case 'probability density':\n return total * dx * dy === 0 ? 0 : value / (total * dx * dy);\n default:\n return value;\n }\n};\n"],"names":["React","bin","d3Bin","extent","d3Extent","sum","d3Sum","min","d3Min","max","d3Max","range","d3Range","scaleLinear","d3ScaleLinear","DataVizPalette","getColorFromToken","getNextColor","findNumericMinMaxOfY","isArrayOfType","isArrayOrTypedArray","isDate","isDateArray","isNumberArray","timeParse","curveCardinal","d3CurveCardinal","dashOptions","dot","strokeDasharray","strokeLinecap","strokeWidth","lineBorderWidth","dash","longdash","dashdot","longdashdot","solid","isMonth","possiblyMonthValue","parseFullMonth","parseShortMonth","isMonthArray","data","getLegend","series","index","name","getTitles","layout","titles","chartTitle","title","text","xAxisTitle","xaxis","yAxisTitle","yaxis","correctYearMonth","xValues","presentYear","Date","getFullYear","length","Array","isArray","Error","dates","map","parsedDate","i","currentMonth","getMonth","previousMonth","currentYear","previousYear","setFullYear","month","getColor","legendLabel","colorMap","isDarkTheme","current","has","nextColor","size","set","get","getSecondaryYAxisValues","secondaryYAxisValues","yaxis2","secondaryYAxistitle","secondaryYScaleOptions","yMinValue","yMaxValue","yValues","y","Math","undefined","Object","keys","transformPlotlyJsonToDonutProps","input","firstData","mapLegendToDataPoint","labels","forEach","label","color","value","values","legend","width","height","hideLabels","textinfo","includes","donutMarginHorizontal","donutMarginVertical","innerRadius","hole","chartData","hideLegend","showlegend","showLabelsInPercent","transformPlotlyJsonToVSBCProps","fallbackVSBC","mapXToDataPoints","index1","x","index2","xAxisPoint","lineData","yVal","type","push","lineOptions","getLineOptions","line","barWidth","mode","hideTickOverlap","transformPlotlyJsonToGVBCProps","toString","key","xAxisCalloutData","transformPlotlyJsonToVBCProps","vbcData","seriesIdx","isXString","isStringArray","xBins","createBins","xbins","start","end","yBins","total","xVal","binIdx","findBinIndex","calculateHistFunc","histfunc","calculateHistNorm","histnorm","getBinSize","join","getBinCenter","x0","x1","transformPlotlyJsonToScatterChartProps","isAreaChart","isString","isXDate","isXNumber","lineColor","fill","parseFloat","marker","markerSize","yMinMaxValues","chartProps","lineChartData","supportNegativeData","roundedTicks","startValue","endValue","enableReflow","transformPlotlyJsonToHorizontalBarWithAxisProps","yValue","flat","reverse","chartHeight","margin","l","padding","pad","availableHeight","numberOfBars","scalingFactor","gapFactor","barHeight","showYAxisLables","transformPlotlyJsonToHeatmapProps","heatmapDataPoints","zMin","Number","POSITIVE_INFINITY","zMax","NEGATIVE_INFINITY","isYString","ybins","zBins","xBinIdx","yBinIdx","z","row","zVal","xBin","xIdx","yBin","yIdx","rectText","heatmapData","defaultDomain","defaultRange","color1","color2","color3","domainValuesForColorScale","colorscale","arr","rangeValuesForColorScale","sortOrder","transformPlotlyJsonToSankeyProps","node","link","validLinks","val","source","target","filter","sankeyChartData","nodes","nodeId","links","validLink","SankeyChartData","transformPlotlyJsonToGaugeProps","segments","gauge","steps","step","axis","disabled","sublabel","delta","reference","diff","abs","chartValue","minValue","maxValue","chartValueFormat","variant","isPlainObject","obj","prototype","call","getPrototypeOf","hasOwnProperty","arrayAttributes","stack","isArrayStack","baseContainer","baseAttrName","findArrayAttributes","trace","crawlIntoTrace","container","astrPartial","item","newAstrPartial","j","shape","smoothing","curve","tension","bins","findIndex","binStart","binEnd","binSize","categories","from","Set","ceil","stop","floor","slice","scale","domain","nice","minVal","maxVal","binGenerator","thresholds","th","tolerance","pow","split","dx","dy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { tokens, typographyStyles } from '@fluentui/react-theme';
2
- import { HighContrastSelectorBlack } from '../../../utilities/index';
3
2
  import { __styles, mergeClasses } from '@griffel/react';
4
3
  /**
5
4
  * @internal
@@ -19,13 +18,10 @@ const useStyles = /*#__PURE__*/__styles({
19
18
  Bhrd7zp: "fl43uef",
20
19
  Bg96gwp: "fcen8rp",
21
20
  Bkfmm31: "fhuob2q",
22
- Bcjfw9x: "fy323tu"
21
+ Bvjb7m6: "fhv2zbx"
23
22
  }
24
23
  }, {
25
- d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fojgt09{font-size:var(--fontSizeHero700);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fcen8rp{line-height:var(--lineHeightHero700);}", ".fhuob2q{fill:var(--colorNeutralForeground1);}"],
26
- m: [["@media screen and (-ms-high-contrast: white-on-black),screen and (forced-colors: active) and (prefers-color-scheme: dark){.fy323tu{fill:rgb(179, 179, 179);}}", {
27
- m: "screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark)"
28
- }]]
24
+ d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fojgt09{font-size:var(--fontSizeHero700);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fcen8rp{line-height:var(--lineHeightHero700);}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".fhv2zbx{forced-color-adjust:auto;}"]
29
25
  });
30
26
  /**
31
27
  * Apply styling to the Pie inside donut chart component
@@ -1 +1 @@
1
- {"version":3,"names":["tokens","typographyStyles","HighContrastSelectorBlack","__styles","mergeClasses","donutPieClassNames","root","insideDonutString","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Bkfmm31","Bcjfw9x","d","m","usePieStyles","props","_props_styles","_props_styles1","className","baseStyles","styles"],"sources":["usePieStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelectorBlack } from '../../../utilities/index';\nimport { makeStyles, mergeClasses } from '@griffel/react';\n/**\n * @internal\n */ export const donutPieClassNames = {\n root: 'fui-donut-pie__root',\n insideDonutString: 'fui-donut-pie__insideDonutString'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {},\n insideDonutString: {\n ...typographyStyles.title2,\n fill: tokens.colorNeutralForeground1,\n [HighContrastSelectorBlack]: {\n fill: 'rgb(179, 179, 179)'\n }\n }\n});\n/**\n * Apply styling to the Pie inside donut chart component\n */ export const usePieStyles = (props)=>{\n var _props_styles, _props_styles1;\n const { className } = props;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(donutPieClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n insideDonutString: mergeClasses(donutPieClassNames.insideDonutString, baseStyles.insideDonutString, className, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.insideDonutString)\n };\n};\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAASC,yBAAyB,QAAQ,0BAA0B;AACpE,SAAAC,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD;AACA;AACA;AAAI,OAAO,MAAMC,kBAAkB,GAAG;EAClCC,IAAI,EAAE,qBAAqB;EAC3BC,iBAAiB,EAAE;AACvB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGL,QAAA;EAAAG,IAAA;EAAAC,iBAAA;IAAAE,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;AAAA,CASrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,YAAY,GAAIC,KAAK,IAAG;EACrC,IAAIC,aAAa,EAAEC,cAAc;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAGH,KAAK;EAC3B,MAAMI,UAAU,GAAGd,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHF,IAAI,EAAEF,YAAY,CAACC,kBAAkB,CAACC,IAAI,EAAEgB,UAAU,CAAChB,IAAI,EAAEe,SAAS,EAAE,CAACF,aAAa,GAAGD,KAAK,CAACK,MAAM,MAAM,IAAI,IAAIJ,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACb,IAAI,CAAC;IAC1KC,iBAAiB,EAAEH,YAAY,CAACC,kBAAkB,CAACE,iBAAiB,EAAEe,UAAU,CAACf,iBAAiB,EAAEc,SAAS,EAAE,CAACD,cAAc,GAAGF,KAAK,CAACK,MAAM,MAAM,IAAI,IAAIH,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACb,iBAAiB;EACpO,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["tokens","typographyStyles","__styles","mergeClasses","donutPieClassNames","root","insideDonutString","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Bkfmm31","Bvjb7m6","d","usePieStyles","props","_props_styles","_props_styles1","className","baseStyles","styles"],"sources":["usePieStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses } from '@griffel/react';\n/**\n * @internal\n */ export const donutPieClassNames = {\n root: 'fui-donut-pie__root',\n insideDonutString: 'fui-donut-pie__insideDonutString'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {},\n insideDonutString: {\n ...typographyStyles.title2,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n }\n});\n/**\n * Apply styling to the Pie inside donut chart component\n */ export const usePieStyles = (props)=>{\n var _props_styles, _props_styles1;\n const { className } = props;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(donutPieClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n insideDonutString: mergeClasses(donutPieClassNames.insideDonutString, baseStyles.insideDonutString, className, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.insideDonutString)\n };\n};\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAAAC,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD;AACA;AACA;AAAI,OAAO,MAAMC,kBAAkB,GAAG;EAClCC,IAAI,EAAE,qBAAqB;EAC3BC,iBAAiB,EAAE;AACvB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGL,QAAA;EAAAG,IAAA;EAAAC,iBAAA;IAAAE,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,CAOrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,YAAY,GAAIC,KAAK,IAAG;EACrC,IAAIC,aAAa,EAAEC,cAAc;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAGH,KAAK;EAC3B,MAAMI,UAAU,GAAGb,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHF,IAAI,EAAEF,YAAY,CAACC,kBAAkB,CAACC,IAAI,EAAEe,UAAU,CAACf,IAAI,EAAEc,SAAS,EAAE,CAACF,aAAa,GAAGD,KAAK,CAACK,MAAM,MAAM,IAAI,IAAIJ,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACZ,IAAI,CAAC;IAC1KC,iBAAiB,EAAEH,YAAY,CAACC,kBAAkB,CAACE,iBAAiB,EAAEc,UAAU,CAACd,iBAAiB,EAAEa,SAAS,EAAE,CAACD,cAAc,GAAGF,KAAK,CAACK,MAAM,MAAM,IAAI,IAAIH,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACZ,iBAAiB;EACpO,CAAC;AACL,CAAC","ignoreList":[]}
@@ -435,7 +435,7 @@ export const GaugeChart = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>
435
435
  id: `${index}_${xValue.y}`,
436
436
  className: classes.calloutBlockContainer,
437
437
  style: {
438
- borderLeft: `4px solid ${xValue.color}`
438
+ borderInlineStart: `4px solid ${xValue.color}`
439
439
  }
440
440
  }, toDrawShape && /*#__PURE__*/ React.createElement(Shape, {
441
441
  svgProps: {