@redsift/charts 11.6.0-muiv5-alpha.10 → 11.6.0-muiv5-alpha.11

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 (244) hide show
  1. package/{_internal → _virtual/_internal}/_rollupPluginBabelHelpers.js +1 -1
  2. package/package.json +2 -2
  3. package/packages/charts/src/_internal/config.js +15 -0
  4. package/packages/charts/src/_internal/config.js.map +1 -0
  5. package/{_internal → packages/charts/src/_internal}/scheme.js +1 -1
  6. package/packages/charts/src/_internal/scheme.js.map +1 -0
  7. package/packages/charts/src/components/Arc/_internal/Arc.js +3 -0
  8. package/{_internal → packages/charts/src/components/Arc/_internal}/Arc.js.map +1 -1
  9. package/{_internal → packages/charts/src/components/Arc/_internal}/Arc2.js +8 -51
  10. package/packages/charts/src/components/Arc/_internal/Arc2.js.map +1 -0
  11. package/packages/charts/src/components/Arc/_internal/styles.js +49 -0
  12. package/packages/charts/src/components/Arc/_internal/styles.js.map +1 -0
  13. package/packages/charts/src/components/Arcs/_internal/Arcs.js +3 -0
  14. package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs.js.map +1 -1
  15. package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs2.js +7 -11
  16. package/packages/charts/src/components/Arcs/_internal/Arcs2.js.map +1 -0
  17. package/packages/charts/src/components/Arcs/_internal/styles.js +9 -0
  18. package/packages/charts/src/components/Arcs/_internal/styles.js.map +1 -0
  19. package/packages/charts/src/components/Axis/_internal/Axis.js +4 -0
  20. package/{_internal → packages/charts/src/components/Axis/_internal}/Axis.js.map +1 -1
  21. package/{_internal → packages/charts/src/components/Axis/_internal}/Axis2.js +9 -186
  22. package/packages/charts/src/components/Axis/_internal/Axis2.js.map +1 -0
  23. package/packages/charts/src/components/Axis/_internal/computeTicks.js +117 -0
  24. package/packages/charts/src/components/Axis/_internal/computeTicks.js.map +1 -0
  25. package/packages/charts/src/components/Axis/_internal/styles.js +51 -0
  26. package/packages/charts/src/components/Axis/_internal/styles.js.map +1 -0
  27. package/packages/charts/src/components/Axis/_internal/types.js +24 -0
  28. package/packages/charts/src/components/Axis/_internal/types.js.map +1 -0
  29. package/packages/charts/src/components/Bar/_internal/Bar.js +4 -0
  30. package/{_internal → packages/charts/src/components/Bar/_internal}/Bar.js.map +1 -1
  31. package/{_internal → packages/charts/src/components/Bar/_internal}/Bar2.js +9 -84
  32. package/packages/charts/src/components/Bar/_internal/Bar2.js.map +1 -0
  33. package/packages/charts/src/components/Bar/_internal/styles.js +66 -0
  34. package/packages/charts/src/components/Bar/_internal/styles.js.map +1 -0
  35. package/packages/charts/src/components/Bar/_internal/types.js +18 -0
  36. package/packages/charts/src/components/Bar/_internal/types.js.map +1 -0
  37. package/packages/charts/src/components/BarChart/_internal/BarChart.js +4 -0
  38. package/{_internal → packages/charts/src/components/BarChart/_internal}/BarChart.js.map +1 -1
  39. package/packages/charts/src/components/BarChart/_internal/BarChart2.js +141 -0
  40. package/packages/charts/src/components/BarChart/_internal/BarChart2.js.map +1 -0
  41. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js +168 -0
  42. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js.map +1 -0
  43. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js +139 -0
  44. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js.map +1 -0
  45. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js +57 -0
  46. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js.map +1 -0
  47. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js +18 -0
  48. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js.map +1 -0
  49. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js +549 -0
  50. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js.map +1 -0
  51. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js +236 -0
  52. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js.map +1 -0
  53. package/packages/charts/src/components/BarChart/_internal/context.js +13 -0
  54. package/packages/charts/src/components/BarChart/_internal/context.js.map +1 -0
  55. package/packages/charts/src/components/BarChart/_internal/styles.js +71 -0
  56. package/packages/charts/src/components/BarChart/_internal/styles.js.map +1 -0
  57. package/packages/charts/src/components/BarChart/_internal/types.js +17 -0
  58. package/packages/charts/src/components/BarChart/_internal/types.js.map +1 -0
  59. package/packages/charts/src/components/BarChart/_internal/utils.js +69 -0
  60. package/packages/charts/src/components/BarChart/_internal/utils.js.map +1 -0
  61. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js +17 -0
  62. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js.map +1 -0
  63. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js +17 -0
  64. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js.map +1 -0
  65. package/packages/charts/src/components/BarChart/intl/index.js +10 -0
  66. package/packages/charts/src/components/BarChart/intl/index.js.map +1 -0
  67. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer.js +3 -0
  68. package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer.js.map +1 -1
  69. package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer2.js +5 -104
  70. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer2.js.map +1 -0
  71. package/packages/charts/src/components/ChartContainer/_internal/context.js +6 -0
  72. package/packages/charts/src/components/ChartContainer/_internal/context.js.map +1 -0
  73. package/packages/charts/src/components/ChartContainer/_internal/styles.js +76 -0
  74. package/packages/charts/src/components/ChartContainer/_internal/styles.js.map +1 -0
  75. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js +14 -0
  76. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js.map +1 -0
  77. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js +14 -0
  78. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js.map +1 -0
  79. package/packages/charts/src/components/ChartContainer/intl/index.js +10 -0
  80. package/packages/charts/src/components/ChartContainer/intl/index.js.map +1 -0
  81. package/packages/charts/src/components/DataPoint/_internal/DataPoint.js +3 -0
  82. package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint.js.map +1 -1
  83. package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint2.js +4 -10
  84. package/packages/charts/src/components/DataPoint/_internal/DataPoint2.js.map +1 -0
  85. package/packages/charts/src/components/DataPoint/_internal/styles.js +10 -0
  86. package/packages/charts/src/components/DataPoint/_internal/styles.js.map +1 -0
  87. package/packages/charts/src/components/Dot/_internal/Dot.js +4 -0
  88. package/{_internal → packages/charts/src/components/Dot/_internal}/Dot.js.map +1 -1
  89. package/{_internal → packages/charts/src/components/Dot/_internal}/Dot2.js +5 -60
  90. package/packages/charts/src/components/Dot/_internal/Dot2.js.map +1 -0
  91. package/packages/charts/src/components/Dot/_internal/styles.js +49 -0
  92. package/packages/charts/src/components/Dot/_internal/styles.js.map +1 -0
  93. package/packages/charts/src/components/Dot/_internal/types.js +14 -0
  94. package/packages/charts/src/components/Dot/_internal/types.js.map +1 -0
  95. package/packages/charts/src/components/Legend/_internal/Legend.js +3 -0
  96. package/{_internal → packages/charts/src/components/Legend/_internal}/Legend.js.map +1 -1
  97. package/{_internal/Legend3.js → packages/charts/src/components/Legend/_internal/Legend2.js} +6 -17
  98. package/packages/charts/src/components/Legend/_internal/Legend2.js.map +1 -0
  99. package/packages/charts/src/components/Legend/_internal/styles.js +15 -0
  100. package/packages/charts/src/components/Legend/_internal/styles.js.map +1 -0
  101. package/packages/charts/src/components/LegendItem/_internal/LegendItem.js +3 -0
  102. package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem.js.map +1 -1
  103. package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem2.js +6 -63
  104. package/packages/charts/src/components/LegendItem/_internal/LegendItem2.js.map +1 -0
  105. package/packages/charts/src/components/LegendItem/_internal/styles.js +63 -0
  106. package/packages/charts/src/components/LegendItem/_internal/styles.js.map +1 -0
  107. package/packages/charts/src/components/Line/_internal/Line.js +3 -0
  108. package/{_internal → packages/charts/src/components/Line/_internal}/Line.js.map +1 -1
  109. package/{_internal → packages/charts/src/components/Line/_internal}/Line2.js +7 -11
  110. package/packages/charts/src/components/Line/_internal/Line2.js.map +1 -0
  111. package/packages/charts/src/components/Line/_internal/styles.js +9 -0
  112. package/packages/charts/src/components/Line/_internal/styles.js.map +1 -0
  113. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js +58 -0
  114. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js.map +1 -0
  115. package/packages/charts/src/components/LineChart/_internal/LineChart.js +4 -0
  116. package/{_internal → packages/charts/src/components/LineChart/_internal}/LineChart.js.map +1 -1
  117. package/packages/charts/src/components/LineChart/_internal/LineChart2.js +96 -0
  118. package/packages/charts/src/components/LineChart/_internal/LineChart2.js.map +1 -0
  119. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js +18 -0
  120. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js.map +1 -0
  121. package/{_internal/LineChart2.js → packages/charts/src/components/LineChart/_internal/RenderedLineChart.js} +20 -317
  122. package/packages/charts/src/components/LineChart/_internal/RenderedLineChart.js.map +1 -0
  123. package/packages/charts/src/components/LineChart/_internal/styles.js +53 -0
  124. package/packages/charts/src/components/LineChart/_internal/styles.js.map +1 -0
  125. package/packages/charts/src/components/LineChart/_internal/types.js +17 -0
  126. package/packages/charts/src/components/LineChart/_internal/types.js.map +1 -0
  127. package/packages/charts/src/components/LineChart/_internal/utils.js +67 -0
  128. package/packages/charts/src/components/LineChart/_internal/utils.js.map +1 -0
  129. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js +17 -0
  130. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js.map +1 -0
  131. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js +17 -0
  132. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js.map +1 -0
  133. package/packages/charts/src/components/LineChart/intl/index.js +10 -0
  134. package/packages/charts/src/components/LineChart/intl/index.js.map +1 -0
  135. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js +85 -0
  136. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js.map +1 -0
  137. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js +18 -0
  138. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js.map +1 -0
  139. package/packages/charts/src/components/PieChart/_internal/PieChart.js +4 -0
  140. package/{_internal → packages/charts/src/components/PieChart/_internal}/PieChart.js.map +1 -1
  141. package/packages/charts/src/components/PieChart/_internal/PieChart2.js +98 -0
  142. package/packages/charts/src/components/PieChart/_internal/PieChart2.js.map +1 -0
  143. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js +198 -0
  144. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js.map +1 -0
  145. package/packages/charts/src/components/PieChart/_internal/styles.js +168 -0
  146. package/packages/charts/src/components/PieChart/_internal/styles.js.map +1 -0
  147. package/packages/charts/src/components/PieChart/_internal/types.js +27 -0
  148. package/packages/charts/src/components/PieChart/_internal/types.js.map +1 -0
  149. package/packages/charts/src/components/PieChart/_internal/utils.js +37 -0
  150. package/packages/charts/src/components/PieChart/_internal/utils.js.map +1 -0
  151. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js +9 -0
  152. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js.map +1 -0
  153. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js +9 -0
  154. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js.map +1 -0
  155. package/packages/charts/src/components/PieChart/intl/index.js +10 -0
  156. package/packages/charts/src/components/PieChart/intl/index.js.map +1 -0
  157. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js +58 -0
  158. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js.map +1 -0
  159. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js +18 -0
  160. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js.map +1 -0
  161. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js +354 -0
  162. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js.map +1 -0
  163. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot.js +4 -0
  164. package/{_internal → packages/charts/src/components/ScatterPlot/_internal}/ScatterPlot.js.map +1 -1
  165. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js +105 -0
  166. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js.map +1 -0
  167. package/packages/charts/src/components/ScatterPlot/_internal/styles.js +53 -0
  168. package/packages/charts/src/components/ScatterPlot/_internal/styles.js.map +1 -0
  169. package/packages/charts/src/components/ScatterPlot/_internal/types.js +24 -0
  170. package/packages/charts/src/components/ScatterPlot/_internal/types.js.map +1 -0
  171. package/packages/charts/src/components/ScatterPlot/_internal/utils.js +70 -0
  172. package/packages/charts/src/components/ScatterPlot/_internal/utils.js.map +1 -0
  173. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js +12 -0
  174. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js.map +1 -0
  175. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js +17 -0
  176. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js.map +1 -0
  177. package/packages/charts/src/components/ScatterPlot/intl/index.js +10 -0
  178. package/packages/charts/src/components/ScatterPlot/intl/index.js.map +1 -0
  179. package/packages/charts/src/hooks/_internal/useBrush.js +48 -0
  180. package/packages/charts/src/hooks/_internal/useBrush.js.map +1 -0
  181. package/packages/charts/src/hooks/_internal/useColor.js +20 -0
  182. package/packages/charts/src/hooks/_internal/useColor.js.map +1 -0
  183. package/{_internal → packages/charts/src/hooks/_internal}/useFormatCategoricalData.js +4 -3
  184. package/packages/charts/src/hooks/_internal/useFormatCategoricalData.js.map +1 -0
  185. package/packages/charts/src/hooks/_internal/useZoom.js +39 -0
  186. package/packages/charts/src/hooks/_internal/useZoom.js.map +1 -0
  187. package/packages/charts/src/index.js +43 -0
  188. package/packages/charts/src/index.js.map +1 -0
  189. package/{_internal/legend2.js → packages/charts/src/types/_internal/legend.js} +2 -2
  190. package/packages/charts/src/types/_internal/legend.js.map +1 -0
  191. package/packages/charts/src/types/_internal/size.js +8 -0
  192. package/packages/charts/src/types/_internal/size.js.map +1 -0
  193. package/packages/charts/src/types/_internal/theme.js +13 -0
  194. package/packages/charts/src/types/_internal/theme.js.map +1 -0
  195. package/{_internal/theme.js → packages/charts/src/utils/index.js} +2 -37
  196. package/packages/charts/src/utils/index.js.map +1 -0
  197. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js +4 -0
  198. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js.map +1 -0
  199. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js +4 -0
  200. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js.map +1 -0
  201. package/packages/icons/src/components/mdi/_internal/mdiMouse.js +4 -0
  202. package/packages/icons/src/components/mdi/_internal/mdiMouse.js.map +1 -0
  203. package/_internal/Arc.js +0 -2
  204. package/_internal/Arc2.js.map +0 -1
  205. package/_internal/Arcs.js +0 -2
  206. package/_internal/Arcs2.js.map +0 -1
  207. package/_internal/Axis.js +0 -2
  208. package/_internal/Axis2.js.map +0 -1
  209. package/_internal/Bar.js +0 -2
  210. package/_internal/Bar2.js.map +0 -1
  211. package/_internal/BarChart.js +0 -2
  212. package/_internal/BarChart2.js +0 -1419
  213. package/_internal/BarChart2.js.map +0 -1
  214. package/_internal/ChartContainer.js +0 -2
  215. package/_internal/ChartContainer2.js.map +0 -1
  216. package/_internal/DataPoint.js +0 -2
  217. package/_internal/DataPoint2.js.map +0 -1
  218. package/_internal/Dot.js +0 -2
  219. package/_internal/Dot2.js.map +0 -1
  220. package/_internal/Legend.js +0 -2
  221. package/_internal/Legend3.js.map +0 -1
  222. package/_internal/LegendItem.js +0 -2
  223. package/_internal/LegendItem2.js.map +0 -1
  224. package/_internal/Line.js +0 -2
  225. package/_internal/Line2.js.map +0 -1
  226. package/_internal/LineChart.js +0 -2
  227. package/_internal/LineChart2.js.map +0 -1
  228. package/_internal/PieChart.js +0 -2
  229. package/_internal/PieChart2.js +0 -605
  230. package/_internal/PieChart2.js.map +0 -1
  231. package/_internal/ScatterPlot.js +0 -2
  232. package/_internal/ScatterPlot2.js +0 -740
  233. package/_internal/ScatterPlot2.js.map +0 -1
  234. package/_internal/config.js +0 -13
  235. package/_internal/config.js.map +0 -1
  236. package/_internal/legend2.js.map +0 -1
  237. package/_internal/scheme.js.map +0 -1
  238. package/_internal/theme.js.map +0 -1
  239. package/_internal/useFormatCategoricalData.js.map +0 -1
  240. package/index.js +0 -18
  241. package/index.js.map +0 -1
  242. package/index2.js +0 -16
  243. package/index2.js.map +0 -1
  244. /package/{_internal → _virtual/_internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/LineChart/utils.ts"],"sourcesContent":["import { ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { CoordinatesCategoryData, CoordinatesCategoryDatum, Statistics, TwoCategoryData } from '../../types';\n\nimport { ChartSize } from '../../types';\nimport { LineChartDimensions } from './types';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | LineChartDimensions): LineChartDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return { width: 600, height: 300, fontSize: 30 };\n case ChartSize.medium:\n default:\n return { width: 750, height: 375, fontSize: 34 };\n case ChartSize.large:\n return { width: 900, height: 450, fontSize: 38 };\n }\n};\n\nexport const BASE_NUMBER_OF_TICKS = 20;\n\nexport const getClosestLineIndex = (value: number, scale: d3ScaleLinear<number, number, never>) => {\n const ticks = scale.ticks(BASE_NUMBER_OF_TICKS);\n const delta = ticks[1] - ticks[0];\n const index = Math.round(value / delta);\n const roundValue = index * delta;\n return [index, roundValue];\n};\n\nexport const group = (\n data: CoordinatesCategoryData,\n x: d3ScaleLinear<number, number, never>,\n y: d3ScaleLinear<number, number, never>\n) => {\n const groupDict: Record<\n string,\n {\n category: string;\n x: number;\n y: number;\n data: CoordinatesCategoryDatum;\n points: CoordinatesCategoryData;\n }\n > = {};\n\n data.forEach((d) => {\n const [i, rx] = getClosestLineIndex(d.key[0], x);\n const [j, ry] = getClosestLineIndex(d.key[1], y);\n\n const key = `${i}_${j}_${d.key[2]}`;\n if (!(key in groupDict)) {\n groupDict[key] = {\n category: d.key[2] as string,\n x: rx,\n y: ry,\n data: {\n key: d.key,\n value: 0,\n },\n points: [],\n };\n }\n\n groupDict[key].points.push(d);\n groupDict[key].data.value += 1;\n });\n\n return Object.values(groupDict);\n};\n\nexport const countBy = (arr: CoordinatesCategoryData, sortingMethod: SortingMethod) => {\n const counts = arr.reduce(\n (prev, curr) => ((prev[curr.key[2] as string] = ++(prev[curr.key[2] as string] as number) || 1), prev),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort(getSortingMethod(sortingMethod));\n};\n\nexport const statsBy: (arr: TwoCategoryData, sortingMethod: SortingMethod) => Statistics = (arr, sortingMethod) => {\n const counts = arr.reduce((prev, curr) => {\n if (!curr.value) {\n return prev;\n }\n if (!prev[curr.key[1] as string]) {\n prev[curr.key[1] as string] = {\n value: curr.value,\n min: curr.value,\n max: curr.value,\n values: [curr.value],\n };\n } else {\n prev[curr.key[1] as string] = {\n value: prev[curr.key[1] as string].value + curr.value,\n min: Math.min(prev[curr.key[1] as string].min, curr.value),\n max: Math.max(prev[curr.key[1] as string].max, curr.value),\n values: [...prev[curr.key[1] as string].values, curr.value],\n };\n }\n return prev;\n }, {} as Record<string, { value: number; min: number; max: number; values: number[] }>);\n\n return Object.keys(counts)\n .map((key) => ({\n key: key,\n value: counts[key].value,\n min: counts[key].min,\n max: counts[key].max,\n values: counts[key].values,\n first: counts[key].values[0],\n last: counts[key].values[counts[key].values.length - 1],\n trending: {\n overall:\n ((counts[key].values[counts[key].values.length - 1] - counts[key].values[0]) * 100) / counts[key].values[0],\n },\n }))\n .sort(getSortingMethod(sortingMethod));\n};\n"],"names":["sizeToDimension","size","ChartSize","small","width","height","fontSize","medium","large","statsBy","arr","sortingMethod","counts","reduce","prev","curr","value","key","min","max","values","Math","Object","keys","map","first","last","length","trending","overall","sort","getSortingMethod"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ var enUS = {
2
+ "interactive-chart": "Interactive Line Chart",
3
+ "static-chart": "Static Line Chart",
4
+ "definition-linear": "Linear Line Chart with {circleLength} circles.",
5
+ "definition-linear-with-categories": "Linear Line Chart with {categoryLength} categories and {circleLength} circles.",
6
+ "definition-ordinal": "Ordinal Line Chart with {circleLength} circles.",
7
+ "x-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying numbers from {start, number} to {end, number}.",
8
+ "y-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying numbers from {start, number} to {end, number}.",
9
+ "x-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying dates from {start, date, ::yyyyMMdd} to {end, date, ::yyyyMMdd}.",
10
+ "y-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying dates from {start, date, ::yyyyMMdd} to {end, date, ::yyyyMMdd}.",
11
+ "x-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying categories.",
12
+ "y-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying categories.",
13
+ "series-legend": "{category}, line {categoryIndex} of {categoryLength} with {circleLength} circles"
14
+ };
15
+
16
+ export { enUS as default };
17
+ //# sourceMappingURL=en-US.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-US.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ var frFR = {
2
+ "interactive-chart": "Graphique en courbe interactif",
3
+ "static-chart": "Graphique en courbe statique",
4
+ "definition-linear": "Graphique en courbe contenant {circleLength} points répartis sur un axe linéraire.",
5
+ "definition-linear-with-categories": "Graphique en courbe contenant {categoryLength} courbes et {circleLength} points répartis sur un axe linéraire.",
6
+ "definition-ordinal": "Graphique en courbe contenant {circleLength} points.",
7
+ "x-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des nombres allant de {start, number} à {end, number}.",
8
+ "y-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des nombres allant de {start, number} à {end, number}.",
9
+ "x-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des dates allant de {start, date, ::yyyyMMdd} à {end, date, ::yyyyMMdd}.",
10
+ "y-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des dates allant de {start, date, ::yyyyMMdd} à {end, date, ::yyyyMMdd}.",
11
+ "x-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des categories.",
12
+ "y-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des categories.",
13
+ "series-legend": "{category}, courbe {categoryIndex} sur {categoryLength} contenant {circleLength} points"
14
+ };
15
+
16
+ export { frFR as default };
17
+ //# sourceMappingURL=fr-FR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr-FR.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import enUS from './_internal/en-US.js';
2
+ import frFR from './_internal/fr-FR.js';
3
+
4
+ var intlMessages = {
5
+ 'en-US': enUS,
6
+ 'fr-FR': frFR
7
+ };
8
+
9
+ export { intlMessages as default };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/components/LineChart/intl/index.ts"],"sourcesContent":["import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n"],"names":["enUS","frFR"],"mappings":";;;AAGA,mBAAe;AACb,EAAA,OAAO,EAAEA,IAAI;AACb,EAAA,OAAO,EAAEC,IAAAA;AACX,CAAC;;;;"}
@@ -0,0 +1,85 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { arc } from 'd3';
4
+ import { PieChartVariant } from './types.js';
5
+ import { StyledPieChart, StyledPieChartEmptyText } from './styles.js';
6
+ import { empty } from '../../../_internal/scheme.js';
7
+ import { sizeToDimension } from './utils.js';
8
+ import { useTheme } from '@redsift/design-system';
9
+ import { Arcs } from '../../Arcs/_internal/Arcs2.js';
10
+
11
+ const _excluded = ["className", "emptyComponent", "localeText", "size", "variant"];
12
+ const EmptyPieChart = /*#__PURE__*/forwardRef((props, ref) => {
13
+ const {
14
+ className,
15
+ emptyComponent,
16
+ localeText,
17
+ size,
18
+ variant
19
+ } = props,
20
+ forwardedProps = _objectWithoutProperties(props, _excluded);
21
+ const theme = useTheme();
22
+ const isDonut = variant === PieChartVariant.donut || variant === PieChartVariant.spacedDonut;
23
+ const {
24
+ width,
25
+ height,
26
+ fontSize,
27
+ innerRadius
28
+ } = sizeToDimension(size);
29
+ const externalRadiusPadding = 8;
30
+ const createArc = arc().innerRadius(isDonut ? innerRadius : 0).outerRadius(width / 2 - externalRadiusPadding);
31
+ return /*#__PURE__*/React__default.createElement(StyledPieChart, _extends({}, forwardedProps, {
32
+ className: className,
33
+ ref: ref
34
+ }), emptyComponent !== null && emptyComponent !== void 0 ? emptyComponent : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(StyledPieChartEmptyText, {
35
+ $maxWidth: innerRadius * 2,
36
+ $textSize: fontSize / 2,
37
+ $isDonut: isDonut,
38
+ $theme: theme
39
+ }, /*#__PURE__*/React__default.createElement("span", null, localeText === null || localeText === void 0 ? void 0 : localeText.emptyChartText)), /*#__PURE__*/React__default.createElement("svg", {
40
+ width: width,
41
+ height: height
42
+ }, /*#__PURE__*/React__default.createElement(Arcs, {
43
+ arcs: [{
44
+ createArc,
45
+ previousData: {
46
+ data: {
47
+ key: '',
48
+ value: 0
49
+ },
50
+ startAngle: 0,
51
+ endAngle: 0,
52
+ padAngle: 0,
53
+ value: 0,
54
+ index: 0
55
+ },
56
+ data: {
57
+ data: {
58
+ key: 'No Data',
59
+ value: 0
60
+ },
61
+ index: 0,
62
+ value: 0,
63
+ startAngle: 0,
64
+ endAngle: 2 * Math.PI,
65
+ padAngle: 0
66
+ },
67
+ dataset: [{
68
+ data: {
69
+ key: 'No Data',
70
+ value: 0
71
+ },
72
+ index: 0,
73
+ value: 0,
74
+ startAngle: 0,
75
+ endAngle: 2 * Math.PI,
76
+ padAngle: 0
77
+ }],
78
+ color: empty
79
+ }],
80
+ transform: `translate(${width / 2} ${height / 2})`
81
+ }))));
82
+ });
83
+
84
+ export { EmptyPieChart };
85
+ //# sourceMappingURL=EmptyPieChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyPieChart.js","sources":["../../../../../../../src/components/PieChart/EmptyPieChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport { arc as d3arc } from 'd3';\n\nimport { ArcDatum } from '../../types';\nimport { PieChartProps, PieChartVariant } from './types';\nimport { StyledPieChart, StyledPieChartEmptyText } from './styles';\nimport { Arcs } from '../Arcs';\nimport { empty } from '../../scheme';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyPieChart = forwardRef<HTMLDivElement, PieChartProps>((props, ref) => {\n const { className, emptyComponent, localeText, size, variant, ...forwardedProps } = props;\n const theme = useTheme();\n\n const isDonut = variant === PieChartVariant.donut || variant === PieChartVariant.spacedDonut;\n\n const { width, height, fontSize, innerRadius } = sizeToDimension(size!);\n const externalRadiusPadding = 8;\n\n const createArc = d3arc<ArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(width / 2 - externalRadiusPadding);\n\n return (\n <StyledPieChart {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledPieChartEmptyText\n $maxWidth={innerRadius * 2}\n $textSize={fontSize / 2}\n $isDonut={isDonut}\n $theme={theme}\n >\n <span>{localeText?.emptyChartText}</span>\n </StyledPieChartEmptyText>\n <svg width={width} height={height}>\n <Arcs\n arcs={[\n {\n createArc,\n previousData: {\n data: {\n key: '',\n value: 0,\n },\n startAngle: 0,\n endAngle: 0,\n padAngle: 0,\n value: 0,\n index: 0,\n },\n data: {\n data: {\n key: 'No Data',\n value: 0,\n },\n index: 0,\n value: 0,\n startAngle: 0,\n endAngle: 2 * Math.PI,\n padAngle: 0,\n },\n dataset: [\n {\n data: {\n key: 'No Data',\n value: 0,\n },\n index: 0,\n value: 0,\n startAngle: 0,\n endAngle: 2 * Math.PI,\n padAngle: 0,\n },\n ],\n color: empty,\n },\n ]}\n transform={`translate(${width / 2} ${height / 2})`}\n />\n </svg>\n </>\n )}\n </StyledPieChart>\n );\n});\n"],"names":["EmptyPieChart","forwardRef","props","ref","className","emptyComponent","localeText","size","variant","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","isDonut","PieChartVariant","donut","spacedDonut","width","height","fontSize","innerRadius","sizeToDimension","externalRadiusPadding","createArc","d3arc","outerRadius","React","createElement","StyledPieChart","_extends","Fragment","StyledPieChartEmptyText","$maxWidth","$textSize","$isDonut","$theme","emptyChartText","Arcs","arcs","previousData","data","key","value","startAngle","endAngle","padAngle","index","Math","PI","dataset","color","empty","transform"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { StyledPieChart } from './styles.js';
4
+
5
+ const _excluded = ["className"];
6
+ const LoadingPieChart = /*#__PURE__*/forwardRef((props, ref) => {
7
+ const {
8
+ className
9
+ } = props,
10
+ forwardedProps = _objectWithoutProperties(props, _excluded);
11
+ return /*#__PURE__*/React__default.createElement(StyledPieChart, _extends({}, forwardedProps, {
12
+ className: className,
13
+ ref: ref
14
+ }), "Loading...");
15
+ });
16
+
17
+ export { LoadingPieChart };
18
+ //# sourceMappingURL=LoadingPieChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingPieChart.js","sources":["../../../../../../../src/components/PieChart/LoadingPieChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\n\nimport { PieChartProps } from './types';\nimport { StyledPieChart } from './styles';\n\nexport const LoadingPieChart = forwardRef<HTMLDivElement, PieChartProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledPieChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledPieChart>\n );\n }\n);\n"],"names":["LoadingPieChart","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","StyledPieChart","_extends"],"mappings":";;;;;AAKO,MAAMA,eAAe,gBAAGC,UAAU,CACvC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGF,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;EAE9C,oBACEC,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,KACTN,cAAc,EAAA;AAClBD,IAAAA,SAAS,EAAEA,SAAU;AACrBD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EACvC,YAEe,CAAC,CAAA;AAErB,CACF;;;;"}
@@ -0,0 +1,4 @@
1
+ export { PieChart } from './PieChart2.js';
2
+ export { PieChartLegendVariant, PieChartVariant } from './types.js';
3
+ export { StyledPieChart, StyledPieChartCenterText, StyledPieChartEmptyText } from './styles.js';
4
+ //# sourceMappingURL=PieChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PieChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"PieChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,98 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { useId } from '@redsift/design-system';
5
+ import { PieChartVariant, PieChartLegendVariant } from './types.js';
6
+ import { LoadingPieChart } from './LoadingPieChart.js';
7
+ import { EmptyPieChart } from './EmptyPieChart.js';
8
+ import { RenderedPieChart } from './RenderedPieChart.js';
9
+ import { ColorTheme } from '../../../types/_internal/theme.js';
10
+ import { ChartSize } from '../../../types/_internal/size.js';
11
+ import { TooltipVariant } from '../../../types/_internal/legend.js';
12
+
13
+ const _excluded = ["caping", "chartRef", "className", "colorTheme", "data", "emptyComponent", "id", "isSliceSelected", "labelDecorator", "legendDecorator", "legendVariant", "localeText", "middleText", "onSliceClick", "others", "size", "sliceRole", "sortingMethod", "subtext", "text", "tooltipDecorator", "tooltipVariant", "variant"];
14
+ const COMPONENT_NAME = 'PieChart';
15
+ const CLASSNAME = 'redsift-piechart';
16
+ const PieChart = /*#__PURE__*/forwardRef((props, ref) => {
17
+ const {
18
+ caping,
19
+ chartRef,
20
+ className,
21
+ colorTheme = ColorTheme.default,
22
+ data: propsData,
23
+ emptyComponent,
24
+ id: propsId,
25
+ isSliceSelected = () => true,
26
+ labelDecorator,
27
+ legendDecorator,
28
+ legendVariant: propsLegendVariant,
29
+ localeText = {
30
+ emptyChartText: 'No Data'
31
+ },
32
+ middleText,
33
+ onSliceClick,
34
+ others = true,
35
+ size = ChartSize.medium,
36
+ sliceRole,
37
+ sortingMethod = 'desc-value',
38
+ subtext,
39
+ text,
40
+ tooltipDecorator,
41
+ tooltipVariant = TooltipVariant.value,
42
+ variant = PieChartVariant.spaced
43
+ } = props,
44
+ forwardedProps = _objectWithoutProperties(props, _excluded);
45
+ const [_id] = useId();
46
+ const id = propsId !== null && propsId !== void 0 ? propsId : _id;
47
+ const legendVariant = propsLegendVariant !== null && propsLegendVariant !== void 0 ? propsLegendVariant : PieChartLegendVariant.none;
48
+ if (propsData === undefined || propsData === null) {
49
+ return /*#__PURE__*/React__default.createElement(LoadingPieChart, _extends({
50
+ id: id
51
+ }, forwardedProps, {
52
+ ref: ref
53
+ }));
54
+ }
55
+ if (propsData.length === 0) {
56
+ return /*#__PURE__*/React__default.createElement(EmptyPieChart, _extends({
57
+ data: propsData,
58
+ emptyComponent: emptyComponent,
59
+ id: id,
60
+ localeText: localeText,
61
+ size: size,
62
+ sortingMethod: sortingMethod,
63
+ variant: variant
64
+ }, forwardedProps, {
65
+ ref: ref
66
+ }));
67
+ }
68
+ return /*#__PURE__*/React__default.createElement(RenderedPieChart, _extends({
69
+ caping: caping,
70
+ chartRef: chartRef,
71
+ className: classNames(PieChart.className, className),
72
+ data: propsData,
73
+ id: id,
74
+ isSliceSelected: isSliceSelected,
75
+ labelDecorator: labelDecorator,
76
+ legendDecorator: legendDecorator,
77
+ legendVariant: legendVariant,
78
+ middleText: middleText,
79
+ onSliceClick: onSliceClick,
80
+ others: others,
81
+ size: size,
82
+ sliceRole: sliceRole,
83
+ sortingMethod: sortingMethod,
84
+ subtext: subtext,
85
+ text: text,
86
+ colorTheme: colorTheme,
87
+ tooltipDecorator: tooltipDecorator,
88
+ tooltipVariant: tooltipVariant,
89
+ variant: variant
90
+ }, forwardedProps, {
91
+ ref: ref
92
+ }));
93
+ });
94
+ PieChart.className = CLASSNAME;
95
+ PieChart.displayName = COMPONENT_NAME;
96
+
97
+ export { PieChart };
98
+ //# sourceMappingURL=PieChart2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart2.js","sources":["../../../../../../../src/components/PieChart/PieChart.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { PieChartLegendVariant, PieChartProps, PieChartVariant } from './types';\nimport { LoadingPieChart } from './LoadingPieChart';\nimport { EmptyPieChart } from './EmptyPieChart';\nimport { RenderedPieChart } from './RenderedPieChart';\n\nconst COMPONENT_NAME = 'PieChart';\nconst CLASSNAME = 'redsift-piechart';\n\nexport const PieChart: Comp<PieChartProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n caping,\n chartRef,\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n emptyComponent,\n id: propsId,\n isSliceSelected = () => true,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n middleText,\n onSliceClick,\n others = true,\n size = ChartSize.medium,\n sliceRole,\n sortingMethod = 'desc-value',\n subtext,\n text,\n tooltipDecorator,\n tooltipVariant = TooltipVariant.value,\n variant = PieChartVariant.spaced,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? PieChartLegendVariant.none;\n\n if (propsData === undefined || propsData === null) {\n return <LoadingPieChart id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyPieChart\n data={propsData}\n emptyComponent={emptyComponent}\n id={id}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n variant={variant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedPieChart\n caping={caping}\n chartRef={chartRef}\n className={classNames(PieChart.className, className)}\n data={propsData}\n id={id}\n isSliceSelected={isSliceSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n middleText={middleText}\n onSliceClick={onSliceClick}\n others={others}\n size={size}\n sliceRole={sliceRole}\n sortingMethod={sortingMethod}\n subtext={subtext}\n text={text}\n colorTheme={colorTheme}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={variant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nPieChart.className = CLASSNAME;\nPieChart.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","PieChart","forwardRef","props","ref","caping","chartRef","className","colorTheme","ColorTheme","default","data","propsData","emptyComponent","id","propsId","isSliceSelected","labelDecorator","legendDecorator","legendVariant","propsLegendVariant","localeText","emptyChartText","middleText","onSliceClick","others","size","ChartSize","medium","sliceRole","sortingMethod","subtext","text","tooltipDecorator","tooltipVariant","TooltipVariant","value","variant","PieChartVariant","spaced","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","PieChartLegendVariant","none","undefined","React","createElement","LoadingPieChart","_extends","length","EmptyPieChart","RenderedPieChart","classNames","displayName"],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef, useEffect } from 'react';
3
+ import { pie, arc, sum } from 'd3';
4
+ import { useTheme, useMessageFormatter } from '@redsift/design-system';
5
+ import intlMessages from '../intl/index.js';
6
+ import { PieChartVariant, PieChartLegendVariant } from './types.js';
7
+ import { StyledPieChart, StyledPieChartCenterText } from './styles.js';
8
+ import { sizeToDimension } from './utils.js';
9
+ import { PieChart } from './PieChart2.js';
10
+ import { mergeLegends, getSortingMethod } from '../../../utils/index.js';
11
+ import { useFormatCategoricalData } from '../../../hooks/_internal/useFormatCategoricalData.js';
12
+ import { Arcs } from '../../Arcs/_internal/Arcs2.js';
13
+ import { Legend } from '../../Legend/_internal/Legend2.js';
14
+ import { LegendVariant } from '../../../types/_internal/legend.js';
15
+
16
+ const _excluded = ["caping", "className", "data", "disableAnimations", "getSliceAnchorProps", "id", "isHalf", "isSliceSelected", "labelDecorator", "legendDecorator", "legendVariant", "legendProps", "middleText", "onSliceClick", "others", "size", "sliceProps", "sliceRole", "sortingMethod", "subtext", "text", "colorTheme", "tooltipVariant", "variant"],
17
+ _excluded2 = ["extraLegendItems"];
18
+ const RenderedPieChart = /*#__PURE__*/forwardRef((props, ref) => {
19
+ const {
20
+ caping,
21
+ className,
22
+ data: propsData,
23
+ disableAnimations,
24
+ getSliceAnchorProps,
25
+ id,
26
+ isHalf,
27
+ isSliceSelected,
28
+ labelDecorator,
29
+ legendDecorator,
30
+ legendVariant,
31
+ legendProps,
32
+ middleText: propsMiddleText,
33
+ onSliceClick,
34
+ others,
35
+ size,
36
+ sliceProps,
37
+ sliceRole,
38
+ sortingMethod,
39
+ subtext: propsSubtext,
40
+ text: propsText,
41
+ colorTheme,
42
+ tooltipVariant,
43
+ variant
44
+ } = props,
45
+ forwardedProps = _objectWithoutProperties(props, _excluded);
46
+ const cache = useRef();
47
+ const theme = useTheme();
48
+ const format = useMessageFormatter(intlMessages);
49
+ const isDonut = variant === PieChartVariant.donut || variant === PieChartVariant.spacedDonut;
50
+ const isSpaced = variant === PieChartVariant.spaced || variant === PieChartVariant.spacedDonut;
51
+ const {
52
+ data,
53
+ colorScale
54
+ } = useFormatCategoricalData({
55
+ data: propsData,
56
+ colorTheme: colorTheme,
57
+ sortingMethod: sortingMethod,
58
+ caping,
59
+ others,
60
+ theme
61
+ });
62
+ useEffect(() => {
63
+ cache.current = data;
64
+ });
65
+ const {
66
+ width,
67
+ height,
68
+ smallFontSize,
69
+ fontSize,
70
+ innerRadius
71
+ } = sizeToDimension(size, isHalf);
72
+ const externalRadiusPadding = 8;
73
+ const createPie = pie().value(d => d.value).sort(null).startAngle(isHalf ? Math.PI * -0.5 : 0).endAngle(isHalf ? Math.PI * 0.5 : Math.PI * 2);
74
+ const createArc = arc().innerRadius(isDonut ? innerRadius : 0).outerRadius(width / 2 - externalRadiusPadding);
75
+ const pieData = createPie(data);
76
+ const previousPieData = cache.current ? createPie(cache.current) : undefined;
77
+ const total = sum(data, d => d.value);
78
+ const legendWidth = useRef();
79
+ if (data && !legendWidth.current) {
80
+ legendWidth.current = `${Math.max(...data.map(d => d.key.length + String(d.value).length)) * 8 + 32}px`;
81
+ }
82
+ const text = typeof propsText === 'function' ? propsText(pieData.map(datum => {
83
+ const percent = datum.data.value / total;
84
+ return _objectSpread2(_objectSpread2({}, datum), {}, {
85
+ data: _objectSpread2(_objectSpread2({}, datum.data), {}, {
86
+ percent
87
+ })
88
+ });
89
+ }), total) : propsText;
90
+ const subtext = typeof propsSubtext === 'function' ? propsSubtext(pieData.map(datum => {
91
+ const percent = datum.data.value / total;
92
+ return _objectSpread2(_objectSpread2({}, datum), {}, {
93
+ data: _objectSpread2(_objectSpread2({}, datum.data), {}, {
94
+ percent
95
+ })
96
+ });
97
+ }), total) : propsSubtext;
98
+ const middleText = typeof propsMiddleText === 'function' ? propsMiddleText(pieData.map(datum => {
99
+ const percent = datum.data.value / total;
100
+ return _objectSpread2(_objectSpread2({}, datum), {}, {
101
+ data: _objectSpread2(_objectSpread2({}, datum.data), {}, {
102
+ percent
103
+ })
104
+ });
105
+ }), total) : propsMiddleText;
106
+ const filteredPieData = pieData.filter(datum => datum.data.value);
107
+ const _ref = legendProps || {},
108
+ {
109
+ extraLegendItems
110
+ } = _ref,
111
+ forwardedLegendProps = _objectWithoutProperties(_ref, _excluded2);
112
+ return /*#__PURE__*/React__default.createElement(StyledPieChart, _extends({
113
+ mode: typeof onSliceClick === 'function' || typeof getSliceAnchorProps === 'function' ? 'interactive' : 'static',
114
+ definition: format('definition', {
115
+ sliceLength: filteredPieData.length
116
+ }),
117
+ dataTableRepresentation: {
118
+ header: /*#__PURE__*/React__default.createElement("thead", null, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("th", {
119
+ scope: "col"
120
+ }, "Key"), /*#__PURE__*/React__default.createElement("th", {
121
+ scope: "col"
122
+ }, "Value"))),
123
+ body: /*#__PURE__*/React__default.createElement("tbody", null, filteredPieData.map(datum => /*#__PURE__*/React__default.createElement("tr", {
124
+ key: datum.data.key
125
+ }, /*#__PURE__*/React__default.createElement("th", {
126
+ scope: "row"
127
+ }, datum.data.key), /*#__PURE__*/React__default.createElement("td", null, datum.data.value))))
128
+ }
129
+ }, forwardedProps, {
130
+ className: className,
131
+ id: id,
132
+ ref: ref
133
+ }), /*#__PURE__*/React__default.createElement("div", {
134
+ className: `${PieChart.className}__chart-wrapper`
135
+ }, text ? /*#__PURE__*/React__default.createElement(StyledPieChartCenterText, {
136
+ $maxWidth: innerRadius * 2,
137
+ $textSize: fontSize,
138
+ $smallTextSize: smallFontSize,
139
+ $theme: theme
140
+ }, subtext ? /*#__PURE__*/React__default.createElement("b", null, text) : /*#__PURE__*/React__default.createElement("span", null, text), middleText ? /*#__PURE__*/React__default.createElement("b", null, middleText) : null, /*#__PURE__*/React__default.createElement("span", null, subtext)) : null, /*#__PURE__*/React__default.createElement("svg", {
141
+ width: width,
142
+ height: isHalf ? height + externalRadiusPadding : height,
143
+ "aria-label": typeof onSliceClick === 'function' || typeof getSliceAnchorProps === 'function' ? format('interactive-chart') : format('static-chart'),
144
+ "aria-hidden": "false"
145
+ }, /*#__PURE__*/React__default.createElement(Arcs, {
146
+ arcs: filteredPieData.map((datum, index) => {
147
+ const percent = datum.data.value / total;
148
+ const from = previousPieData ? previousPieData[index] : {
149
+ data: {
150
+ key: '',
151
+ value: 0
152
+ },
153
+ startAngle: isHalf ? Math.PI * -0.5 : 0,
154
+ endAngle: isHalf ? Math.PI * -0.5 : 0,
155
+ padAngle: 0,
156
+ value: 0,
157
+ index: index
158
+ };
159
+ const to = _objectSpread2(_objectSpread2({}, datum), {}, {
160
+ data: _objectSpread2(_objectSpread2({}, datum.data), {}, {
161
+ percent
162
+ })
163
+ });
164
+ return {
165
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(to.data.key),
166
+ createArc,
167
+ previousData: from,
168
+ id: `id${id}__arc-${index}`,
169
+ index,
170
+ isSelected: isSliceSelected(to),
171
+ key: `id${id}__arc-${index}`,
172
+ data: to,
173
+ dataset: pieData,
174
+ anchorProps: getSliceAnchorProps ? getSliceAnchorProps(to) : undefined
175
+ };
176
+ }),
177
+ disableAnimations: disableAnimations,
178
+ hasLabels: legendVariant === PieChartLegendVariant.internal,
179
+ hasStroke: isSpaced,
180
+ labelDecorator: labelDecorator,
181
+ onClick: onSliceClick,
182
+ role: sliceRole,
183
+ sliceProps: sliceProps,
184
+ tooltipVariant: tooltipVariant,
185
+ transform: `translate(${width / 2} ${isHalf ? height : height / 2})`
186
+ }))), legendVariant !== PieChartLegendVariant.none && legendVariant !== PieChartLegendVariant.internal ? /*#__PURE__*/React__default.createElement(Legend, _extends({
187
+ data: (extraLegendItems ? mergeLegends(extraLegendItems, data).sort(getSortingMethod(sortingMethod)) : data).map(d => _objectSpread2(_objectSpread2({}, d), {}, {
188
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(d.key)
189
+ })),
190
+ variant: legendVariant === PieChartLegendVariant.externalLabelValue ? LegendVariant.value : legendVariant === PieChartLegendVariant.externalLabelPercent ? LegendVariant.percent : legendVariant === PieChartLegendVariant.externalLabel ? LegendVariant.label : LegendVariant.custom,
191
+ width: legendWidth.current,
192
+ labelDecorator: labelDecorator ? (datum, props) => labelDecorator(datum, props) : undefined,
193
+ legendDecorator: legendDecorator ? (datum, props) => legendDecorator(datum, props) : undefined
194
+ }, forwardedLegendProps)) : null);
195
+ });
196
+
197
+ export { RenderedPieChart };
198
+ //# sourceMappingURL=RenderedPieChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderedPieChart.js","sources":["../../../../../../../src/components/PieChart/RenderedPieChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { arc as d3arc, pie as d3pie, sum as d3sum } from 'd3';\n\nimport { useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { LegendVariant, ArcDatum, CategoryData, CategoryDatum, LegendItemDatum } from '../../types';\nimport { PieChartLegendVariant, PieChartProps, PieChartVariant } from './types';\nimport { StyledPieChartCenterText, StyledPieChart } from './styles';\nimport { Arcs } from '../Arcs';\nimport { useFormatCategoricalData } from '../../hooks';\nimport { Legend } from '../Legend';\nimport { sizeToDimension } from './utils';\nimport { PieChart } from './PieChart';\nimport { getSortingMethod, mergeLegends } from '../../utils';\n\ninterface RenderedPieChartProps extends Required<Pick<PieChartProps, 'data'>>, Omit<PieChartProps, 'data'> {}\n\nexport const RenderedPieChart = forwardRef<HTMLDivElement, RenderedPieChartProps>((props, ref) => {\n const {\n caping,\n className,\n data: propsData,\n disableAnimations,\n getSliceAnchorProps,\n id,\n isHalf,\n isSliceSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n middleText: propsMiddleText,\n onSliceClick,\n others,\n size,\n sliceProps,\n sliceRole,\n sortingMethod,\n subtext: propsSubtext,\n text: propsText,\n colorTheme,\n tooltipVariant,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<CategoryData>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const isDonut = variant === PieChartVariant.donut || variant === PieChartVariant.spacedDonut;\n const isSpaced = variant === PieChartVariant.spaced || variant === PieChartVariant.spacedDonut;\n\n const { data, colorScale } = useFormatCategoricalData({\n data: propsData,\n colorTheme: colorTheme!,\n sortingMethod: sortingMethod!,\n caping,\n others,\n theme,\n });\n\n useEffect(() => {\n cache.current = data;\n });\n\n const { width, height, smallFontSize, fontSize, innerRadius } = sizeToDimension(size!, isHalf);\n const externalRadiusPadding = 8;\n\n const createPie = d3pie<CategoryDatum>()\n .value((d) => d.value)\n .sort(null)\n .startAngle(isHalf ? Math.PI * -0.5 : 0)\n .endAngle(isHalf ? Math.PI * 0.5 : Math.PI * 2);\n const createArc = d3arc<ArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(width / 2 - externalRadiusPadding);\n const pieData = createPie(data);\n const previousPieData = cache.current ? createPie(cache.current) : undefined;\n const total = d3sum(data, (d) => d.value);\n const legendWidth = useRef<string>();\n if (data && !legendWidth.current) {\n legendWidth.current = `${Math.max(...data.map((d) => d.key.length + String(d.value).length)) * 8 + 32}px`;\n }\n\n const text =\n typeof propsText === 'function'\n ? propsText(\n pieData.map((datum) => {\n const percent = datum.data.value / total;\n return { ...datum, data: { ...datum.data, percent } };\n }),\n total\n )\n : propsText;\n const subtext =\n typeof propsSubtext === 'function'\n ? propsSubtext(\n pieData.map((datum) => {\n const percent = datum.data.value / total;\n return { ...datum, data: { ...datum.data, percent } };\n }),\n total\n )\n : propsSubtext;\n const middleText =\n typeof propsMiddleText === 'function'\n ? propsMiddleText(\n pieData.map((datum) => {\n const percent = datum.data.value / total;\n return { ...datum, data: { ...datum.data, percent } };\n }),\n total\n )\n : propsMiddleText;\n\n const filteredPieData = pieData.filter((datum) => datum.data.value);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledPieChart\n mode={typeof onSliceClick === 'function' || typeof getSliceAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={format('definition', { sliceLength: filteredPieData.length })}\n dataTableRepresentation={{\n header: (\n <thead>\n <tr>\n <th scope=\"col\">Key</th>\n <th scope=\"col\">Value</th>\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {filteredPieData.map((datum) => (\n <tr key={datum.data.key}>\n <th scope=\"row\">{datum.data.key}</th>\n <td>{datum.data.value}</td>\n </tr>\n ))}\n </tbody>\n ),\n }}\n {...forwardedProps}\n className={className}\n id={id}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <div className={`${PieChart.className}__chart-wrapper`}>\n {text ? (\n <StyledPieChartCenterText\n $maxWidth={innerRadius * 2}\n $textSize={fontSize}\n $smallTextSize={smallFontSize}\n $theme={theme}\n >\n {subtext ? <b>{text}</b> : <span>{text}</span>}\n {middleText ? <b>{middleText}</b> : null}\n <span>{subtext}</span>\n </StyledPieChartCenterText>\n ) : null}\n <svg\n width={width}\n height={isHalf ? height + externalRadiusPadding : height}\n aria-label={\n typeof onSliceClick === 'function' || typeof getSliceAnchorProps === 'function'\n ? format('interactive-chart')\n : format('static-chart')\n }\n aria-hidden=\"false\"\n >\n <Arcs\n arcs={filteredPieData.map((datum, index) => {\n const percent = datum.data.value / total;\n const from = previousPieData\n ? previousPieData[index]\n : {\n data: {\n key: '',\n value: 0,\n },\n startAngle: isHalf ? Math.PI * -0.5 : 0,\n endAngle: isHalf ? Math.PI * -0.5 : 0,\n padAngle: 0,\n value: 0,\n index: index,\n };\n const to = { ...datum, data: { ...datum.data, percent } };\n\n return {\n color: colorScale?.(to.data.key),\n createArc,\n previousData: from,\n id: `id${id}__arc-${index}`,\n index,\n isSelected: isSliceSelected!(to),\n key: `id${id}__arc-${index}`,\n data: to,\n dataset: pieData,\n anchorProps: getSliceAnchorProps ? getSliceAnchorProps(to) : undefined,\n };\n })}\n disableAnimations={disableAnimations}\n hasLabels={legendVariant === PieChartLegendVariant.internal}\n hasStroke={isSpaced}\n labelDecorator={labelDecorator}\n onClick={onSliceClick}\n role={sliceRole}\n sliceProps={sliceProps}\n tooltipVariant={tooltipVariant}\n transform={`translate(${width / 2} ${isHalf ? height : height / 2})`}\n />\n </svg>\n </div>\n {legendVariant !== PieChartLegendVariant.none && legendVariant !== PieChartLegendVariant.internal ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, data).sort(getSortingMethod(sortingMethod!))\n : data\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === PieChartLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === PieChartLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === PieChartLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n width={legendWidth.current}\n labelDecorator={\n labelDecorator ? (datum: LegendItemDatum, props) => labelDecorator(datum as ArcDatum, props) : undefined\n }\n legendDecorator={\n legendDecorator ? (datum: LegendItemDatum, props) => legendDecorator(datum as ArcDatum, props) : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledPieChart>\n );\n});\n"],"names":["RenderedPieChart","forwardRef","props","ref","caping","className","data","propsData","disableAnimations","getSliceAnchorProps","id","isHalf","isSliceSelected","labelDecorator","legendDecorator","legendVariant","legendProps","middleText","propsMiddleText","onSliceClick","others","size","sliceProps","sliceRole","sortingMethod","subtext","propsSubtext","text","propsText","colorTheme","tooltipVariant","variant","forwardedProps","_objectWithoutProperties","_excluded","cache","useRef","theme","useTheme","format","useMessageFormatter","intlMessages","isDonut","PieChartVariant","donut","spacedDonut","isSpaced","spaced","colorScale","useFormatCategoricalData","useEffect","current","width","height","smallFontSize","fontSize","innerRadius","sizeToDimension","externalRadiusPadding","createPie","d3pie","value","d","sort","startAngle","Math","PI","endAngle","createArc","d3arc","outerRadius","pieData","previousPieData","undefined","total","d3sum","legendWidth","max","map","key","length","String","datum","percent","_objectSpread","filteredPieData","filter","_ref","extraLegendItems","forwardedLegendProps","_excluded2","React","createElement","StyledPieChart","_extends","mode","definition","sliceLength","dataTableRepresentation","header","scope","body","PieChart","StyledPieChartCenterText","$maxWidth","$textSize","$smallTextSize","$theme","Arcs","arcs","index","from","padAngle","to","color","previousData","isSelected","dataset","anchorProps","hasLabels","PieChartLegendVariant","internal","hasStroke","onClick","role","transform","none","Legend","mergeLegends","getSortingMethod","externalLabelValue","LegendVariant","externalLabelPercent","externalLabel","label","custom"],"mappings":"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"}