@fluentui/react-charts 9.1.5 → 9.1.7

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 (153) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/dist/index.d.ts +46 -4
  3. package/lib/components/AreaChart/AreaChart.js +3 -3
  4. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  5. package/lib/components/AreaChart/useAreaChartStyles.styles.js +2 -1
  6. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  7. package/lib/components/CommonComponents/CartesianChart.js +42 -9
  8. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  9. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  10. package/lib/components/CommonComponents/ChartPopover.js +3 -2
  11. package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
  12. package/lib/components/CommonComponents/ChartPopover.types.js.map +1 -1
  13. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +37 -9
  14. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  15. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +11 -5
  16. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  17. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +13 -13
  18. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  19. package/lib/components/DonutChart/Arc/Arc.js +10 -3
  20. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  21. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
  22. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +7 -2
  23. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  24. package/lib/components/DonutChart/useDonutChartStyles.styles.js +7 -6
  25. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  26. package/lib/components/GaugeChart/GaugeChart.js +16 -17
  27. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  28. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  29. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +15 -13
  30. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  31. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +3 -3
  32. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  33. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -1
  34. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  35. package/lib/components/HeatMapChart/HeatMapChart.js +4 -1
  36. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  37. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  38. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +9 -3
  39. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  40. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +14 -3
  41. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  42. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +0 -61
  43. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  44. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +6 -31
  45. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  46. package/lib/components/Legends/useLegendsStyles.styles.js +2 -1
  47. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  48. package/lib/components/LineChart/LineChart.js +3 -3
  49. package/lib/components/LineChart/LineChart.js.map +1 -1
  50. package/lib/components/LineChart/useLineChartStyles.styles.js +2 -1
  51. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  52. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +25 -23
  53. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  54. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
  55. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +29 -0
  56. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -0
  57. package/lib/components/SankeyChart/SankeyChart.js +29 -35
  58. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  59. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  60. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +13 -7
  61. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  62. package/lib/components/ScatterChart/ScatterChart.js +15 -17
  63. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  64. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +3 -2
  65. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  66. package/lib/components/VerticalBarChart/VerticalBarChart.js +19 -21
  67. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  68. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  69. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +2 -1
  70. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  71. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +17 -14
  72. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  73. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  74. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -1
  75. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  76. package/lib/utilities/utilities.js +11 -5
  77. package/lib/utilities/utilities.js.map +1 -1
  78. package/lib-commonjs/components/AreaChart/AreaChart.js +2 -2
  79. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  80. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +2 -1
  81. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  82. package/lib-commonjs/components/CommonComponents/CartesianChart.js +41 -8
  83. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  84. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  85. package/lib-commonjs/components/CommonComponents/ChartPopover.js +3 -2
  86. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -1
  87. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +1 -1
  88. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +55 -9
  89. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  90. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +14 -5
  91. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  92. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +13 -13
  93. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  94. package/lib-commonjs/components/DonutChart/Arc/Arc.js +10 -3
  95. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  96. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
  97. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +10 -2
  98. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  99. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +8 -7
  100. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  101. package/lib-commonjs/components/GaugeChart/GaugeChart.js +16 -17
  102. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  103. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  104. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +13 -23
  105. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  106. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +2 -2
  107. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  108. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -1
  109. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  110. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +4 -1
  111. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  112. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  113. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +10 -3
  114. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  115. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +14 -3
  116. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  117. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +0 -61
  118. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  119. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +5 -54
  120. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  121. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +2 -0
  122. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
  123. package/lib-commonjs/components/LineChart/LineChart.js +2 -2
  124. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  125. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +2 -1
  126. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  127. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +25 -23
  128. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  129. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
  130. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +49 -0
  131. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -0
  132. package/lib-commonjs/components/SankeyChart/SankeyChart.js +29 -35
  133. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  134. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  135. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +15 -8
  136. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  137. package/lib-commonjs/components/ScatterChart/ScatterChart.js +13 -15
  138. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  139. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +5 -4
  140. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  141. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +18 -20
  142. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  143. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  144. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +2 -1
  145. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  146. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +16 -13
  147. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  148. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  149. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -1
  150. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  151. package/lib-commonjs/utilities/utilities.js +16 -7
  152. package/lib-commonjs/utilities/utilities.js.map +1 -1
  153. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["ResponsiveContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getWindow } from '../../utilities/getWindow';\nimport { ResponsiveChildProps, ResponsiveContainerProps } from './ResponsiveContainer.types';\n\n/**\n * Responsive Container component\n * {@docCategory ResponsiveContainer}\n */\nexport const ResponsiveContainer: React.FC<ResponsiveContainerProps> = props => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const onResizeRef = React.useRef<ResponsiveContainerProps['onResize']>();\n\n const [size, setSize] = React.useState<{ containerWidth?: number; containerHeight?: number }>({});\n\n onResizeRef.current = props.onResize;\n\n React.useEffect(() => {\n const _window = getWindow(containerRef.current) as (Window & typeof globalThis) | undefined;\n let animationFrameId: number | undefined;\n let resizeObserver: ResizeObserver | undefined;\n\n const resizeCallback = (entries: ResizeObserverEntry[]) => {\n const { width: containerWidth, height: containerHeight } = entries[0].contentRect;\n // rAF is an alternative to the throttle function. For more info, see:\n // https://css-tricks.com/debouncing-throttling-explained-examples/#aa-requestanimationframe-raf\n animationFrameId = _window?.requestAnimationFrame(() => {\n setSize(prevSize => {\n const roundedWidth = Math.floor(containerWidth);\n const roundedHeight = Math.floor(containerHeight);\n if (prevSize.containerWidth === roundedWidth && prevSize.containerHeight === roundedHeight) {\n return prevSize;\n }\n\n return { containerWidth: roundedWidth, containerHeight: roundedHeight };\n });\n });\n onResizeRef.current?.(containerWidth, containerHeight);\n };\n\n if (_window && _window.ResizeObserver) {\n resizeObserver = new _window.ResizeObserver(resizeCallback);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n }\n\n return () => {\n if (animationFrameId) {\n _window?.cancelAnimationFrame(animationFrameId);\n }\n\n resizeObserver?.disconnect();\n };\n }, []);\n\n const chartContent = React.useMemo(() => {\n let calculatedWidth = size.containerWidth;\n let calculatedHeight = size.containerHeight;\n\n if (typeof props.aspect === 'number' && props.aspect > 0) {\n if (calculatedWidth) {\n calculatedHeight = calculatedWidth / props.aspect;\n } else if (calculatedHeight) {\n calculatedWidth = calculatedHeight * props.aspect;\n }\n\n if (typeof props.maxHeight === 'number' && calculatedHeight && calculatedHeight > props.maxHeight) {\n calculatedHeight = props.maxHeight;\n }\n }\n\n return (\n <div\n ref={containerRef}\n style={\n {\n width: props.width ?? '100%',\n height: props.height ?? '100%',\n minWidth: props.minWidth,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n // Ensure the child element fills the parent container\n // https://stackoverflow.com/questions/8468066/child-inside-parent-with-min-height-100-not-inheriting-height\n '--root-width': calculatedWidth + 'px',\n '--root-height': calculatedHeight + 'px',\n } as React.CSSProperties\n }\n >\n {React.Children.map(props.children, child => {\n return React.cloneElement<ResponsiveChildProps>(child, {\n width: calculatedWidth,\n height: calculatedHeight,\n shouldResize: (calculatedWidth ?? 0) + (calculatedHeight ?? 0),\n });\n })}\n </div>\n );\n }, [size, props.aspect, props.maxHeight, props.children, props.width, props.height, props.minHeight, props.minWidth]);\n\n return chartContent;\n};\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["ResponsiveContainer","props","containerRef","React","useRef","onResizeRef","size","setSize","useState","current","onResize","useEffect","_window","getWindow","animationFrameId","resizeObserver","resizeCallback","entries","width","containerWidth","height","containerHeight","contentRect","requestAnimationFrame","prevSize","roundedWidth","Math","floor","roundedHeight","ResizeObserver","observe","cancelAnimationFrame","disconnect","chartContent","useMemo","calculatedWidth","calculatedHeight","aspect","maxHeight","createElement","div","ref","style","minWidth","minHeight","Children","map","children","child","cloneElement","shouldResize","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["ResponsiveContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getWindow } from '../../utilities/getWindow';\nimport { ResponsiveChildProps, ResponsiveContainerProps } from './ResponsiveContainer.types';\nimport { useResponsiveChildStyles } from './useResponsiveChildStyles.styles';\nimport { mergeClasses } from '@griffel/react';\n\n/**\n * Responsive Container component\n * {@docCategory ResponsiveContainer}\n */\nexport const ResponsiveContainer: React.FC<ResponsiveContainerProps> = props => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const onResizeRef = React.useRef<ResponsiveContainerProps['onResize']>();\n const childClasses = useResponsiveChildStyles();\n\n const [size, setSize] = React.useState<{ containerWidth?: number; containerHeight?: number }>({});\n\n onResizeRef.current = props.onResize;\n\n React.useEffect(() => {\n const _window = getWindow(containerRef.current) as (Window & typeof globalThis) | undefined;\n let animationFrameId: number | undefined;\n let resizeObserver: ResizeObserver | undefined;\n\n const resizeCallback = (entries: ResizeObserverEntry[]) => {\n const { width: containerWidth, height: containerHeight } = entries[0].contentRect;\n // rAF is an alternative to the throttle function. For more info, see:\n // https://css-tricks.com/debouncing-throttling-explained-examples/#aa-requestanimationframe-raf\n animationFrameId = _window?.requestAnimationFrame(() => {\n setSize(prevSize => {\n const roundedWidth = Math.floor(containerWidth);\n const roundedHeight = Math.floor(containerHeight);\n if (prevSize.containerWidth === roundedWidth && prevSize.containerHeight === roundedHeight) {\n return prevSize;\n }\n\n return { containerWidth: roundedWidth, containerHeight: roundedHeight };\n });\n });\n onResizeRef.current?.(containerWidth, containerHeight);\n };\n\n if (_window && _window.ResizeObserver) {\n resizeObserver = new _window.ResizeObserver(resizeCallback);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n }\n\n return () => {\n if (animationFrameId) {\n _window?.cancelAnimationFrame(animationFrameId);\n }\n\n resizeObserver?.disconnect();\n };\n }, []);\n\n const chartContent = React.useMemo(() => {\n let calculatedWidth = size.containerWidth;\n let calculatedHeight = size.containerHeight;\n\n if (typeof props.aspect === 'number' && props.aspect > 0) {\n if (calculatedWidth) {\n calculatedHeight = calculatedWidth / props.aspect;\n } else if (calculatedHeight) {\n calculatedWidth = calculatedHeight * props.aspect;\n }\n\n if (typeof props.maxHeight === 'number' && calculatedHeight && calculatedHeight > props.maxHeight) {\n calculatedHeight = props.maxHeight;\n }\n }\n\n return React.Children.map(props.children, child => {\n return React.cloneElement<ResponsiveChildProps>(child, {\n width: calculatedWidth,\n height: calculatedHeight,\n // For SankeyChart\n shouldResize: (calculatedWidth ?? 0) + (calculatedHeight ?? 0),\n styles: {\n root: mergeClasses(child.props.styles?.root, childClasses.root),\n chartWrapper: mergeClasses(child.props.styles?.chartWrapper, childClasses.chartWrapper),\n chart: mergeClasses(child.props.styles?.chart, childClasses.chart),\n },\n });\n });\n }, [size, props.aspect, props.maxHeight, props.children]);\n\n return (\n <div\n ref={containerRef}\n style={{\n width: props.width ?? '100%',\n height: props.height ?? '100%',\n minWidth: props.minWidth,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n }}\n >\n {chartContent}\n </div>\n );\n};\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["ResponsiveContainer","props","containerRef","React","useRef","onResizeRef","childClasses","useResponsiveChildStyles","size","setSize","useState","current","onResize","useEffect","_window","getWindow","animationFrameId","resizeObserver","resizeCallback","entries","width","containerWidth","height","containerHeight","contentRect","requestAnimationFrame","prevSize","roundedWidth","Math","floor","roundedHeight","ResizeObserver","observe","cancelAnimationFrame","disconnect","chartContent","useMemo","calculatedWidth","calculatedHeight","aspect","maxHeight","Children","map","children","child","cloneElement","shouldResize","styles","root","mergeClasses","chartWrapper","chart","createElement","div","ref","style","minWidth","minHeight","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["ResponsiveContainer.types.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Responsive Child props\n * {@docCategory ResponsiveContainer}\n */\nexport interface ResponsiveChildProps {\n width?: number;\n height?: number;\n shouldResize?: number;\n}\n\n/**\n * Responsive Container props\n * {@docCategory ResponsiveContainer}\n */\nexport interface ResponsiveContainerProps {\n /**\n * Aspect ratio (width / height) of the container. If specified, the height will be calculated by width / aspect.\n */\n aspect?: number;\n\n /**\n * Width of the container\n */\n width?: number | string;\n\n /**\n * Height of the container\n */\n height?: number | string;\n\n /**\n * Minimum width of the container\n */\n minWidth?: number | string;\n\n /**\n * Minimum height of the container\n */\n minHeight?: number | string;\n\n /**\n * Maximum height of the container\n */\n maxHeight?: number;\n\n /**\n * Callback providing the updated chart width and height values when the container is resized\n */\n onResize?: (width: number, height: number) => void;\n\n /**\n * Child component to be rendered within the container\n */\n children: React.ReactElement<ResponsiveChildProps>;\n}\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;iEAAuB"}
1
+ {"version":3,"sources":["ResponsiveContainer.types.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Responsive Child styles\n * {@docCategory ResponsiveContainer}\n */\nexport interface ResponsiveChildStyles {\n root?: string;\n chartWrapper?: string;\n chart?: string;\n}\n\n/**\n * Responsive Child props\n * {@docCategory ResponsiveContainer}\n */\nexport interface ResponsiveChildProps {\n width?: number;\n height?: number;\n shouldResize?: number;\n styles?: ResponsiveChildStyles;\n}\n\n/**\n * Responsive Container props\n * {@docCategory ResponsiveContainer}\n */\nexport interface ResponsiveContainerProps {\n /**\n * Aspect ratio (width / height) of the container. If specified, the height will be calculated by width / aspect.\n */\n aspect?: number;\n\n /**\n * Width of the container\n */\n width?: number | string;\n\n /**\n * Height of the container\n */\n height?: number | string;\n\n /**\n * Minimum width of the container\n */\n minWidth?: number | string;\n\n /**\n * Minimum height of the container\n */\n minHeight?: number | string;\n\n /**\n * Maximum height of the container\n */\n maxHeight?: number;\n\n /**\n * Callback providing the updated chart width and height values when the container is resized\n */\n onResize?: (width: number, height: number) => void;\n\n /**\n * Child component to be rendered within the container\n */\n children: React.ReactElement<ResponsiveChildProps>;\n}\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;iEAAuB"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ responsiveChildClassNames: function() {
13
+ return responsiveChildClassNames;
14
+ },
15
+ useResponsiveChildStyles: function() {
16
+ return useResponsiveChildStyles;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const responsiveChildClassNames = {
21
+ root: 'fui-charts-resp-child__root',
22
+ chartWrapper: 'fui-charts-resp-child__chartWrapper',
23
+ chart: 'fui-charts-resp-child__chart'
24
+ };
25
+ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
26
+ root: {
27
+ a9b677: "fly5x3f",
28
+ Bqenvij: "f1l02sjl"
29
+ },
30
+ chartWrapper: {
31
+ a9b677: "fly5x3f"
32
+ },
33
+ chart: {
34
+ a9b677: "fly5x3f"
35
+ }
36
+ }, {
37
+ d: [
38
+ ".fly5x3f{width:100%;}",
39
+ ".f1l02sjl{height:100%;}"
40
+ ]
41
+ });
42
+ const useResponsiveChildStyles = ()=>{
43
+ const baseStyles = useStyles();
44
+ return {
45
+ root: (0, _react.mergeClasses)(responsiveChildClassNames.root, baseStyles.root),
46
+ chartWrapper: (0, _react.mergeClasses)(responsiveChildClassNames.chartWrapper, baseStyles.chartWrapper),
47
+ chart: (0, _react.mergeClasses)(responsiveChildClassNames.chart, baseStyles.chart)
48
+ };
49
+ }; //# sourceMappingURL=useResponsiveChildStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useResponsiveChildStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nexport const responsiveChildClassNames = {\n root: 'fui-charts-resp-child__root',\n chartWrapper: 'fui-charts-resp-child__chartWrapper',\n chart: 'fui-charts-resp-child__chart'\n};\nconst useStyles = makeStyles({\n root: {\n width: '100%',\n height: '100%'\n },\n chartWrapper: {\n width: '100%'\n },\n chart: {\n // This overrides the pixel width of svg allowing it to resize properly within a flexbox or grid layout.\n // Note: height is not set to 100% because that causes the charts to resize vertically in an infinite loop.\n width: '100%'\n }\n});\nexport const useResponsiveChildStyles = ()=>{\n const baseStyles = useStyles();\n return {\n root: mergeClasses(responsiveChildClassNames.root, baseStyles.root),\n chartWrapper: mergeClasses(responsiveChildClassNames.chartWrapper, baseStyles.chartWrapper),\n chart: mergeClasses(responsiveChildClassNames.chart, baseStyles.chart)\n };\n};\n"],"names":["responsiveChildClassNames","useResponsiveChildStyles","root","chartWrapper","chart","useStyles","__styles","a9b677","Bqenvij","d","baseStyles","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IACaA,yBAAyB;eAAzBA;;IAmBAC,wBAAwB;eAAxBA;;;uBApB4B;AAClC,MAAMD,4BAA4B;IACrCE,MAAM;IACNC,cAAc;IACdC,OAAO;AACX;AACA,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAJ,MAAA;QAAAK,QAAA;QAAAC,SAAA;IAAA;IAAAL,cAAA;QAAAI,QAAA;IAAA;IAAAH,OAAA;QAAAG,QAAA;IAAA;AAAA,GAAA;IAAAE,GAAA;QAAA;QAAA;KAAA;AAAA;AAcX,MAAMR,2BAA2BA;IACpC,MAAMS,aAAaL;IACnB,OAAO;QACHH,MAAMS,IAAAA,mBAAY,EAACX,0BAA0BE,IAAI,EAAEQ,WAAWR,IAAI;QAClEC,cAAcQ,IAAAA,mBAAY,EAACX,0BAA0BG,YAAY,EAAEO,WAAWP,YAAY;QAC1FC,OAAOO,IAAAA,mBAAY,EAACX,0BAA0BI,KAAK,EAAEM,WAAWN,KAAK;IACzE;AACJ"}
@@ -302,22 +302,20 @@ function linkValue(originalLinks, link) {
302
302
  }
303
303
  function preRenderLayout(margins, containerWidth, containerHeight, isRtl) {
304
304
  const { left, right, top, bottom } = margins;
305
- const width = containerWidth - right;
306
- const height = containerHeight - bottom > 0 ? containerHeight - bottom : 0;
307
305
  const sankey = (0, _d3sankey.sankey)().nodeWidth(NODE_WIDTH).extent([
308
306
  [
309
307
  left,
310
308
  top
311
309
  ],
312
310
  [
313
- width - 1,
314
- height - 6
311
+ containerWidth - right,
312
+ containerHeight - bottom
315
313
  ]
316
314
  ]).nodeAlign(isRtl ? _d3sankey.sankeyRight : _d3sankey.sankeyJustify);
317
315
  return {
318
316
  sankey,
319
- height,
320
- width
317
+ height: containerHeight,
318
+ width: containerWidth
321
319
  };
322
320
  }
323
321
  const elipsis = '...';
@@ -444,6 +442,7 @@ function nodeTextColor(state, singleNode) {
444
442
  return !(!state.selectedState || state.selectedNodes.has(singleNode.index) && state.selectedNode || !state.selectedNode) ? DEFAULT_TEXT_COLOR : NON_SELECTED_TEXT_COLOR;
445
443
  }
446
444
  const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
445
+ var _props_reflowProps;
447
446
  const classes = (0, _useSankeyChartStylesstyles.useSankeyChartStyles)(props);
448
447
  const chartContainer = _react.useRef(null);
449
448
  const _reqID = _react.useRef();
@@ -490,7 +489,8 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
490
489
  // NOTE: Calls to this method trigger a re-render.
491
490
  const container = props.parentRef ? props.parentRef : chartContainer.current;
492
491
  if (container) {
493
- const currentContainerWidth = props.enableReflow ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth()) : container.getBoundingClientRect().width;
492
+ var _props_reflowProps;
493
+ const currentContainerWidth = ((_props_reflowProps = props.reflowProps) === null || _props_reflowProps === void 0 ? void 0 : _props_reflowProps.mode) === 'min-width' ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth()) : container.getBoundingClientRect().width;
494
494
  const currentContainerHeight = container.getBoundingClientRect().height;
495
495
  setContainerWidth(currentContainerWidth);
496
496
  setContainerHeight(currentContainerHeight);
@@ -498,7 +498,7 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
498
498
  });
499
499
  }, [
500
500
  _window,
501
- props.enableReflow,
501
+ (_props_reflowProps = props.reflowProps) === null || _props_reflowProps === void 0 ? void 0 : _props_reflowProps.mode,
502
502
  props.parentRef
503
503
  ]);
504
504
  _react.useEffect(()=>{
@@ -607,7 +607,7 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
607
607
  const nodeValues = valuesOfNodes(transformed.nodes);
608
608
  const linkValues = valuesOfLinks(transformed.links);
609
609
  adjustOnePercentHeightNodes(nodesInColumn, nodeValues, linkValues);
610
- adjustPadding(sankey, height - 6, nodesInColumn);
610
+ adjustPadding(sankey, containerHeight - _margins.current.top - _margins.current.bottom, nodesInColumn);
611
611
  // `sankey` is called a second time, probably to re-layout the nodes with the one-percent adjusted weights.
612
612
  // NOTE: The second call to `sankey` is required to allow links to be hoverable.
613
613
  // Without the second call, the links are not hoverable.
@@ -750,32 +750,28 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
750
750
  const _onHover = (singleNode, mouseEvent)=>{
751
751
  mouseEvent.persist();
752
752
  _onCloseCallout();
753
- if (!selectedState) {
754
- const _selectedLinks = getSelectedLinks(singleNode);
755
- const _selectedNodes = getSelectedNodes(_selectedLinks);
756
- _selectedNodes.push(singleNode);
757
- setSelectedState(true);
758
- setSelectedNodes(new Set(Array.from(_selectedNodes).map((node)=>node.index)));
759
- setSelectedLinks(new Set(Array.from(_selectedLinks).map((link)=>link.index)));
760
- setSelectedNode(singleNode);
761
- updatePosition(mouseEvent.clientX, mouseEvent.clientY);
762
- setCalloutVisible(singleNode.y1 - singleNode.y0 < MIN_HEIGHT_FOR_TYPE);
763
- setColor(singleNode.color);
764
- setXCalloutValue(singleNode.name);
765
- setYCalloutValue(_formatNumber(singleNode.actualValue));
766
- }
753
+ const _selectedLinks = getSelectedLinks(singleNode);
754
+ const _selectedNodes = getSelectedNodes(_selectedLinks);
755
+ _selectedNodes.push(singleNode);
756
+ setSelectedState(true);
757
+ setSelectedNodes(new Set(Array.from(_selectedNodes).map((node)=>node.index)));
758
+ setSelectedLinks(new Set(Array.from(_selectedLinks).map((link)=>link.index)));
759
+ setSelectedNode(singleNode);
760
+ updatePosition(mouseEvent.clientX, mouseEvent.clientY);
761
+ setCalloutVisible(singleNode.y1 - singleNode.y0 < MIN_HEIGHT_FOR_TYPE);
762
+ setColor(singleNode.color);
763
+ setXCalloutValue(singleNode.name);
764
+ setYCalloutValue(_formatNumber(singleNode.actualValue));
767
765
  };
768
766
  const _onStreamHover = (mouseEvent, singleLink, from)=>{
769
767
  mouseEvent.persist();
770
768
  _onCloseCallout();
771
- if (!selectedState) {
772
- const { selectedLinks: _selectedLinks, selectedNodes: _selectedNodes } = getSelectedLinksforStreamHover(singleLink);
773
- setSelectedState(true);
774
- setSelectedNodes(new Set(Array.from(_selectedNodes).map((node)=>node.index)));
775
- setSelectedLinks(new Set(Array.from(_selectedLinks).map((link)=>link.index)));
776
- updatePosition(mouseEvent.clientX, mouseEvent.clientY);
777
- _linkCalloutAttributes(singleLink, from);
778
- }
769
+ const { selectedLinks: _selectedLinks, selectedNodes: _selectedNodes } = getSelectedLinksforStreamHover(singleLink);
770
+ setSelectedState(true);
771
+ setSelectedNodes(new Set(Array.from(_selectedNodes).map((node)=>node.index)));
772
+ setSelectedLinks(new Set(Array.from(_selectedLinks).map((link)=>link.index)));
773
+ updatePosition(mouseEvent.clientX, mouseEvent.clientY);
774
+ _linkCalloutAttributes(singleLink, from);
779
775
  };
780
776
  const _onStreamLeave = (singleLink)=>{
781
777
  if (selectedState) {
@@ -1000,7 +996,8 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1000
996
  }, /*#__PURE__*/ _react.createElement("svg", {
1001
997
  width: width,
1002
998
  height: height,
1003
- id: _chartId
999
+ id: _chartId,
1000
+ className: classes.chart
1004
1001
  }, nodeLinkDomOrderArray.map((item)=>{
1005
1002
  if (item.type === 'node') {
1006
1003
  return /*#__PURE__*/ _react.createElement("g", {
@@ -1034,6 +1031,3 @@ const SankeyChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1034
1031
  });
1035
1032
  });
1036
1033
  SankeyChart.displayName = 'SankeyChart';
1037
- SankeyChart.defaultProps = {
1038
- enableReflow: true
1039
- };