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

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/Arc.js +2 -0
  2. package/{packages/charts/src/components/Arc/_internal → _internal}/Arc.js.map +1 -1
  3. package/{packages/charts/src/components/Arc/_internal → _internal}/Arc2.js +51 -8
  4. package/_internal/Arc2.js.map +1 -0
  5. package/_internal/Arcs.js +2 -0
  6. package/{packages/charts/src/components/Arcs/_internal → _internal}/Arcs.js.map +1 -1
  7. package/{packages/charts/src/components/Arcs/_internal → _internal}/Arcs2.js +11 -7
  8. package/_internal/Arcs2.js.map +1 -0
  9. package/_internal/Axis.js +2 -0
  10. package/{packages/charts/src/components/Axis/_internal → _internal}/Axis.js.map +1 -1
  11. package/{packages/charts/src/components/Axis/_internal → _internal}/Axis2.js +186 -9
  12. package/_internal/Axis2.js.map +1 -0
  13. package/_internal/Bar.js +2 -0
  14. package/{packages/charts/src/components/Bar/_internal → _internal}/Bar.js.map +1 -1
  15. package/{packages/charts/src/components/Bar/_internal → _internal}/Bar2.js +84 -9
  16. package/_internal/Bar2.js.map +1 -0
  17. package/_internal/BarChart.js +2 -0
  18. package/{packages/charts/src/components/BarChart/_internal → _internal}/BarChart.js.map +1 -1
  19. package/_internal/BarChart2.js +1419 -0
  20. package/_internal/BarChart2.js.map +1 -0
  21. package/_internal/ChartContainer.js +2 -0
  22. package/{packages/charts/src/components/ChartContainer/_internal → _internal}/ChartContainer.js.map +1 -1
  23. package/{packages/charts/src/components/ChartContainer/_internal → _internal}/ChartContainer2.js +104 -5
  24. package/_internal/ChartContainer2.js.map +1 -0
  25. package/_internal/DataPoint.js +2 -0
  26. package/{packages/charts/src/components/DataPoint/_internal → _internal}/DataPoint.js.map +1 -1
  27. package/{packages/charts/src/components/DataPoint/_internal → _internal}/DataPoint2.js +10 -4
  28. package/_internal/DataPoint2.js.map +1 -0
  29. package/_internal/Dot.js +2 -0
  30. package/{packages/charts/src/components/Dot/_internal → _internal}/Dot.js.map +1 -1
  31. package/{packages/charts/src/components/Dot/_internal → _internal}/Dot2.js +60 -5
  32. package/_internal/Dot2.js.map +1 -0
  33. package/_internal/Legend.js +2 -0
  34. package/{packages/charts/src/components/Legend/_internal → _internal}/Legend.js.map +1 -1
  35. package/{packages/charts/src/components/Legend/_internal/Legend2.js → _internal/Legend3.js} +17 -6
  36. package/_internal/Legend3.js.map +1 -0
  37. package/_internal/LegendItem.js +2 -0
  38. package/{packages/charts/src/components/LegendItem/_internal → _internal}/LegendItem.js.map +1 -1
  39. package/{packages/charts/src/components/LegendItem/_internal → _internal}/LegendItem2.js +63 -6
  40. package/_internal/LegendItem2.js.map +1 -0
  41. package/_internal/Line.js +2 -0
  42. package/{packages/charts/src/components/Line/_internal → _internal}/Line.js.map +1 -1
  43. package/{packages/charts/src/components/Line/_internal → _internal}/Line2.js +11 -7
  44. package/_internal/Line2.js.map +1 -0
  45. package/_internal/LineChart.js +2 -0
  46. package/{packages/charts/src/components/LineChart/_internal → _internal}/LineChart.js.map +1 -1
  47. package/{packages/charts/src/components/LineChart/_internal/RenderedLineChart.js → _internal/LineChart2.js} +317 -20
  48. package/_internal/LineChart2.js.map +1 -0
  49. package/_internal/PieChart.js +2 -0
  50. package/{packages/charts/src/components/PieChart/_internal → _internal}/PieChart.js.map +1 -1
  51. package/_internal/PieChart2.js +605 -0
  52. package/_internal/PieChart2.js.map +1 -0
  53. package/_internal/ScatterPlot.js +2 -0
  54. package/{packages/charts/src/components/ScatterPlot/_internal → _internal}/ScatterPlot.js.map +1 -1
  55. package/_internal/ScatterPlot2.js +744 -0
  56. package/_internal/ScatterPlot2.js.map +1 -0
  57. package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js +1 -1
  58. package/_internal/config.js +13 -0
  59. package/_internal/config.js.map +1 -0
  60. package/{packages/charts/src/types/_internal/legend.js → _internal/legend2.js} +2 -2
  61. package/_internal/legend2.js.map +1 -0
  62. package/{packages/charts/src/_internal → _internal}/scheme.js +1 -1
  63. package/_internal/scheme.js.map +1 -0
  64. package/{packages/charts/src/utils/index.js → _internal/theme.js} +37 -2
  65. package/_internal/theme.js.map +1 -0
  66. package/{packages/charts/src/hooks/_internal → _internal}/useFormatCategoricalData.js +3 -4
  67. package/_internal/useFormatCategoricalData.js.map +1 -0
  68. package/index.js +18 -0
  69. package/index.js.map +1 -0
  70. package/index2.js +16 -0
  71. package/index2.js.map +1 -0
  72. package/package.json +2 -2
  73. package/packages/charts/src/_internal/config.js +0 -15
  74. package/packages/charts/src/_internal/config.js.map +0 -1
  75. package/packages/charts/src/_internal/scheme.js.map +0 -1
  76. package/packages/charts/src/components/Arc/_internal/Arc.js +0 -3
  77. package/packages/charts/src/components/Arc/_internal/Arc2.js.map +0 -1
  78. package/packages/charts/src/components/Arc/_internal/styles.js +0 -49
  79. package/packages/charts/src/components/Arc/_internal/styles.js.map +0 -1
  80. package/packages/charts/src/components/Arcs/_internal/Arcs.js +0 -3
  81. package/packages/charts/src/components/Arcs/_internal/Arcs2.js.map +0 -1
  82. package/packages/charts/src/components/Arcs/_internal/styles.js +0 -9
  83. package/packages/charts/src/components/Arcs/_internal/styles.js.map +0 -1
  84. package/packages/charts/src/components/Axis/_internal/Axis.js +0 -4
  85. package/packages/charts/src/components/Axis/_internal/Axis2.js.map +0 -1
  86. package/packages/charts/src/components/Axis/_internal/computeTicks.js +0 -117
  87. package/packages/charts/src/components/Axis/_internal/computeTicks.js.map +0 -1
  88. package/packages/charts/src/components/Axis/_internal/styles.js +0 -51
  89. package/packages/charts/src/components/Axis/_internal/styles.js.map +0 -1
  90. package/packages/charts/src/components/Axis/_internal/types.js +0 -24
  91. package/packages/charts/src/components/Axis/_internal/types.js.map +0 -1
  92. package/packages/charts/src/components/Bar/_internal/Bar.js +0 -4
  93. package/packages/charts/src/components/Bar/_internal/Bar2.js.map +0 -1
  94. package/packages/charts/src/components/Bar/_internal/styles.js +0 -66
  95. package/packages/charts/src/components/Bar/_internal/styles.js.map +0 -1
  96. package/packages/charts/src/components/Bar/_internal/types.js +0 -18
  97. package/packages/charts/src/components/Bar/_internal/types.js.map +0 -1
  98. package/packages/charts/src/components/BarChart/_internal/BarChart.js +0 -4
  99. package/packages/charts/src/components/BarChart/_internal/BarChart2.js +0 -141
  100. package/packages/charts/src/components/BarChart/_internal/BarChart2.js.map +0 -1
  101. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js +0 -168
  102. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js.map +0 -1
  103. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js +0 -139
  104. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js.map +0 -1
  105. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js +0 -57
  106. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js.map +0 -1
  107. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js +0 -18
  108. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js.map +0 -1
  109. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js +0 -549
  110. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js.map +0 -1
  111. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js +0 -236
  112. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js.map +0 -1
  113. package/packages/charts/src/components/BarChart/_internal/context.js +0 -13
  114. package/packages/charts/src/components/BarChart/_internal/context.js.map +0 -1
  115. package/packages/charts/src/components/BarChart/_internal/styles.js +0 -71
  116. package/packages/charts/src/components/BarChart/_internal/styles.js.map +0 -1
  117. package/packages/charts/src/components/BarChart/_internal/types.js +0 -17
  118. package/packages/charts/src/components/BarChart/_internal/types.js.map +0 -1
  119. package/packages/charts/src/components/BarChart/_internal/utils.js +0 -69
  120. package/packages/charts/src/components/BarChart/_internal/utils.js.map +0 -1
  121. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js +0 -17
  122. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js.map +0 -1
  123. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js +0 -17
  124. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js.map +0 -1
  125. package/packages/charts/src/components/BarChart/intl/index.js +0 -10
  126. package/packages/charts/src/components/BarChart/intl/index.js.map +0 -1
  127. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer.js +0 -3
  128. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer2.js.map +0 -1
  129. package/packages/charts/src/components/ChartContainer/_internal/context.js +0 -6
  130. package/packages/charts/src/components/ChartContainer/_internal/context.js.map +0 -1
  131. package/packages/charts/src/components/ChartContainer/_internal/styles.js +0 -76
  132. package/packages/charts/src/components/ChartContainer/_internal/styles.js.map +0 -1
  133. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js +0 -14
  134. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js.map +0 -1
  135. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js +0 -14
  136. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js.map +0 -1
  137. package/packages/charts/src/components/ChartContainer/intl/index.js +0 -10
  138. package/packages/charts/src/components/ChartContainer/intl/index.js.map +0 -1
  139. package/packages/charts/src/components/DataPoint/_internal/DataPoint.js +0 -3
  140. package/packages/charts/src/components/DataPoint/_internal/DataPoint2.js.map +0 -1
  141. package/packages/charts/src/components/DataPoint/_internal/styles.js +0 -10
  142. package/packages/charts/src/components/DataPoint/_internal/styles.js.map +0 -1
  143. package/packages/charts/src/components/Dot/_internal/Dot.js +0 -4
  144. package/packages/charts/src/components/Dot/_internal/Dot2.js.map +0 -1
  145. package/packages/charts/src/components/Dot/_internal/styles.js +0 -49
  146. package/packages/charts/src/components/Dot/_internal/styles.js.map +0 -1
  147. package/packages/charts/src/components/Dot/_internal/types.js +0 -14
  148. package/packages/charts/src/components/Dot/_internal/types.js.map +0 -1
  149. package/packages/charts/src/components/Legend/_internal/Legend.js +0 -3
  150. package/packages/charts/src/components/Legend/_internal/Legend2.js.map +0 -1
  151. package/packages/charts/src/components/Legend/_internal/styles.js +0 -15
  152. package/packages/charts/src/components/Legend/_internal/styles.js.map +0 -1
  153. package/packages/charts/src/components/LegendItem/_internal/LegendItem.js +0 -3
  154. package/packages/charts/src/components/LegendItem/_internal/LegendItem2.js.map +0 -1
  155. package/packages/charts/src/components/LegendItem/_internal/styles.js +0 -63
  156. package/packages/charts/src/components/LegendItem/_internal/styles.js.map +0 -1
  157. package/packages/charts/src/components/Line/_internal/Line.js +0 -3
  158. package/packages/charts/src/components/Line/_internal/Line2.js.map +0 -1
  159. package/packages/charts/src/components/Line/_internal/styles.js +0 -9
  160. package/packages/charts/src/components/Line/_internal/styles.js.map +0 -1
  161. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js +0 -58
  162. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js.map +0 -1
  163. package/packages/charts/src/components/LineChart/_internal/LineChart.js +0 -4
  164. package/packages/charts/src/components/LineChart/_internal/LineChart2.js +0 -96
  165. package/packages/charts/src/components/LineChart/_internal/LineChart2.js.map +0 -1
  166. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js +0 -18
  167. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js.map +0 -1
  168. package/packages/charts/src/components/LineChart/_internal/RenderedLineChart.js.map +0 -1
  169. package/packages/charts/src/components/LineChart/_internal/styles.js +0 -53
  170. package/packages/charts/src/components/LineChart/_internal/styles.js.map +0 -1
  171. package/packages/charts/src/components/LineChart/_internal/types.js +0 -17
  172. package/packages/charts/src/components/LineChart/_internal/types.js.map +0 -1
  173. package/packages/charts/src/components/LineChart/_internal/utils.js +0 -67
  174. package/packages/charts/src/components/LineChart/_internal/utils.js.map +0 -1
  175. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js +0 -17
  176. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js.map +0 -1
  177. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js +0 -17
  178. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js.map +0 -1
  179. package/packages/charts/src/components/LineChart/intl/index.js +0 -10
  180. package/packages/charts/src/components/LineChart/intl/index.js.map +0 -1
  181. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js +0 -85
  182. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js.map +0 -1
  183. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js +0 -18
  184. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js.map +0 -1
  185. package/packages/charts/src/components/PieChart/_internal/PieChart.js +0 -4
  186. package/packages/charts/src/components/PieChart/_internal/PieChart2.js +0 -98
  187. package/packages/charts/src/components/PieChart/_internal/PieChart2.js.map +0 -1
  188. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js +0 -198
  189. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js.map +0 -1
  190. package/packages/charts/src/components/PieChart/_internal/styles.js +0 -168
  191. package/packages/charts/src/components/PieChart/_internal/styles.js.map +0 -1
  192. package/packages/charts/src/components/PieChart/_internal/types.js +0 -27
  193. package/packages/charts/src/components/PieChart/_internal/types.js.map +0 -1
  194. package/packages/charts/src/components/PieChart/_internal/utils.js +0 -37
  195. package/packages/charts/src/components/PieChart/_internal/utils.js.map +0 -1
  196. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js +0 -9
  197. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js.map +0 -1
  198. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js +0 -9
  199. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js.map +0 -1
  200. package/packages/charts/src/components/PieChart/intl/index.js +0 -10
  201. package/packages/charts/src/components/PieChart/intl/index.js.map +0 -1
  202. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js +0 -58
  203. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js.map +0 -1
  204. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js +0 -18
  205. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js.map +0 -1
  206. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js +0 -354
  207. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js.map +0 -1
  208. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot.js +0 -4
  209. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js +0 -105
  210. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js.map +0 -1
  211. package/packages/charts/src/components/ScatterPlot/_internal/styles.js +0 -53
  212. package/packages/charts/src/components/ScatterPlot/_internal/styles.js.map +0 -1
  213. package/packages/charts/src/components/ScatterPlot/_internal/types.js +0 -24
  214. package/packages/charts/src/components/ScatterPlot/_internal/types.js.map +0 -1
  215. package/packages/charts/src/components/ScatterPlot/_internal/utils.js +0 -70
  216. package/packages/charts/src/components/ScatterPlot/_internal/utils.js.map +0 -1
  217. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js +0 -12
  218. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js.map +0 -1
  219. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js +0 -17
  220. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js.map +0 -1
  221. package/packages/charts/src/components/ScatterPlot/intl/index.js +0 -10
  222. package/packages/charts/src/components/ScatterPlot/intl/index.js.map +0 -1
  223. package/packages/charts/src/hooks/_internal/useBrush.js +0 -48
  224. package/packages/charts/src/hooks/_internal/useBrush.js.map +0 -1
  225. package/packages/charts/src/hooks/_internal/useColor.js +0 -20
  226. package/packages/charts/src/hooks/_internal/useColor.js.map +0 -1
  227. package/packages/charts/src/hooks/_internal/useFormatCategoricalData.js.map +0 -1
  228. package/packages/charts/src/hooks/_internal/useZoom.js +0 -39
  229. package/packages/charts/src/hooks/_internal/useZoom.js.map +0 -1
  230. package/packages/charts/src/index.js +0 -43
  231. package/packages/charts/src/index.js.map +0 -1
  232. package/packages/charts/src/types/_internal/legend.js.map +0 -1
  233. package/packages/charts/src/types/_internal/size.js +0 -8
  234. package/packages/charts/src/types/_internal/size.js.map +0 -1
  235. package/packages/charts/src/types/_internal/theme.js +0 -13
  236. package/packages/charts/src/types/_internal/theme.js.map +0 -1
  237. package/packages/charts/src/utils/index.js.map +0 -1
  238. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js +0 -4
  239. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js.map +0 -1
  240. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js +0 -4
  241. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js.map +0 -1
  242. package/packages/icons/src/components/mdi/_internal/mdiMouse.js +0 -4
  243. package/packages/icons/src/components/mdi/_internal/mdiMouse.js.map +0 -1
  244. /package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderedScatterPlot.js","sources":["../../../../../../../src/components/ScatterPlot/RenderedScatterPlot.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useRef, useState } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n descending as d3descending,\n extent as d3extent,\n max as d3max,\n min as d3min,\n scaleLinear as d3scaleLinear,\n scaleSqrt as d3scaleSqrt,\n select as d3select,\n} from 'd3';\n\nimport { Button, Flexbox, Text, useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, DotDatum, JSONArray, LegendItemDatum, LegendVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { StyledScatterPlot } from './styles';\nimport { useZoom, useColor, useBrush } from '../../hooks';\nimport { Axis, AxisVariant } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot } from '../Dot';\nimport { BASE_NUMBER_OF_TICKS, countBy, group, sizeToDimension } from './utils';\nimport { mdiChevronDown, mdiChevronRight, mdiMouse } from '@redsift/icons';\nimport { Popover } from '@redsift/popovers';\nimport { mergeLegends, getSortingMethod } from '../../utils';\n\ninterface RenderedScatterPlotProps extends Required<Pick<ScatterPlotProps, 'data'>>, Omit<ScatterPlotProps, 'data'> {}\n\nexport const RenderedScatterPlot = forwardRef<HTMLDivElement, RenderedScatterPlotProps>((props, ref) => {\n const {\n isBrushable,\n className,\n data: propsData,\n dotRole,\n disableAnimations,\n getDotAnchorProps,\n hideControlKeyPanel,\n id,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n sortingMethod,\n colorTheme,\n tooltipDecorator,\n tooltipVariant,\n xAxisVariant,\n xAxisPlacement,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n yAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const data = propsData.filter(\n (datum) =>\n datum.value &&\n typeof datum.key[0] === 'number' &&\n !Number.isNaN(datum.key[0]) &&\n typeof datum.key[1] === 'number' &&\n !Number.isNaN(datum.key[1])\n );\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = {\n top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n ...propsMargins,\n };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n const minSize = d3min([chartWidth, chartHeight]) as number;\n\n const extendedScaleX = (() => {\n const domain = d3extent(data, (d) => d.key[0]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([0, chartWidth]).nice();\n })();\n const extendedScaleY = (() => {\n const domain = d3extent(data, (d) => d.key[1]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([chartHeight, 0]).nice();\n })();\n\n const hasCategory = data[0] && data[0].key.length >= 3 && data[0].key[2] !== null && data[0].key[2] !== undefined;\n const countsByCategory = hasCategory ? countBy(data, sortingMethod!) : undefined;\n const colorScale = useColor({\n data: countsByCategory || data,\n colorTheme: colorTheme!,\n category: 'key',\n theme,\n });\n\n const svgRef = useRef<SVGSVGElement>();\n const brushRef = useRef<d3BrushBehavior<unknown>>();\n const svgBrushRef = useRef<SVGGElement>();\n const { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n size,\n onZoom: () => {\n if (brushRef.current && svgBrushRef.current) {\n brushRef.current.clear(d3select(svgBrushRef.current));\n\n onBrushEnd?.(null);\n }\n },\n });\n useBrush({\n brushRef,\n svgRef: svgBrushRef,\n extent: [\n [0, 0],\n [chartWidth, chartHeight],\n ],\n scaleX,\n scaleY,\n isBrushable,\n isGridded: variant === ScatterPlotVariant.gridded,\n onBrush,\n onBrushEnd,\n });\n\n const circles =\n variant === ScatterPlotVariant.gridded\n ? group(data, scaleX, scaleY).sort((a, b) => {\n if (a.y !== b.y) {\n return b.y - a.y;\n }\n if (a.x !== b.x) {\n return a.x - b.x;\n }\n return d3descending(a.points.length, b.points.length);\n })\n : data.map((d) => ({\n category: d.key[2] ?? 'default',\n x: d.key[0],\n y: d.key[1],\n data: {\n key: d.key,\n value: 1,\n },\n points: [d],\n }));\n const globalSize =\n variant === ScatterPlotVariant.gridded\n ? d3scaleSqrt()\n .domain([1, Math.max(d3max(circles, (d) => d.points.length)!, 1)])\n .range([3, minSize / BASE_NUMBER_OF_TICKS / 2])\n : undefined;\n const legendWidth = useRef<string>();\n if (countsByCategory && !legendWidth.current) {\n legendWidth.current = `${\n Math.max(...countsByCategory.map((d) => d.key.length + String(d.value).length)) * 8 + 32\n }px`;\n }\n\n const [isKeyPanelOpen, setIsKeyPanelOpen] = useState(false);\n\n const categories: string[] = [];\n // const pivotedTable = circles.reduce((acc, item) => {\n // const { x, category, y } = item;\n // if (!categories.includes(category)) {\n // categories.push(category);\n // }\n // const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();\n\n // let entry = acc.find((e) => e.key === formattedKey);\n // if (!entry) {\n // entry = { key: formattedKey };\n // acc.push(entry);\n // }\n\n // entry[category] = y;\n\n // return acc;\n // }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledScatterPlot\n mode={typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-with-categories', {\n categoryLength: categories.length,\n circleLength: circles.length,\n })\n : format('definition', { circleLength: circles.length })\n }\n xAxisDefinition={format('x-axis-definition', {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scaleX.domain()[0],\n end: scaleX.domain()[1],\n })}\n yAxisDefinition={format('y-axis-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scaleY.domain()[0],\n end: scaleY.domain()[1],\n })}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n {!hideControlKeyPanel ? (\n <Flexbox width={width} position=\"absolute\">\n <Flexbox\n flexDirection=\"column\"\n alignItems=\"flex-end\"\n position=\"absolute\"\n top={`${margins.top + 16}px`}\n right={`${margins.right + 16}px`}\n >\n <Popover placement=\"bottom-end\" isOpen={isKeyPanelOpen} onOpen={setIsKeyPanelOpen}>\n <Popover.Trigger>\n <Button\n variant=\"secondary\"\n leftIcon={mdiMouse}\n rightIcon={isKeyPanelOpen ? mdiChevronDown : mdiChevronRight}\n color=\"grey\"\n style={{\n border: '1px solid var(--redsift-color-neutral-mid-grey)',\n gap: '4px',\n }}\n />\n </Popover.Trigger>\n <Popover.Content>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\">\n <Text margin=\"8px 16px 0\" fontSize=\"13px\">\n Zoom - Mouse wheel\n </Text>\n <Text margin=\"0 16px\" fontSize=\"13px\">\n Pan - Left click and drag\n </Text>\n <Text margin=\"0 16px 8px\" fontSize=\"13px\">\n Select - Hold shift, left click and drag\n </Text>\n </Flexbox>\n </Popover.Content>\n </Popover>\n </Flexbox>\n </Flexbox>\n ) : null}\n <svg ref={svgRef as RefObject<SVGSVGElement>} width={width} height={height}>\n <g ref={svgBrushRef as RefObject<SVGGElement>} transform={`translate(${margins.left},${margins.top})`} />\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g>\n {circles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1]\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n data: {\n ...circle.data,\n percent: circle.category\n ? circle.data.value / countsByCategory?.find(({ key }) => key === circle.category)?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(circle.points.length) / (transform.k < 1 ? transform.k : 1)\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(circle.category!)}\n data={to}\n dataset={circles}\n isSelected={Boolean(isDotSelected?.(to))}\n key={`circle _${index}`}\n labelDecorator={labelDecorator}\n onClick={onDotClick}\n role={dotRole}\n scaleX={scaleX}\n scaleY={scaleY}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n {['bottom', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['top', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"top\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['left', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n {['right', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"right\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n </svg>\n </Flexbox>\n {hasCategory && legendVariant !== ScatterPlotLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, countsByCategory!).sort(getSortingMethod(sortingMethod!))\n : countsByCategory!\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === ScatterPlotLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === ScatterPlotLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === ScatterPlotLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n width={legendWidth.current}\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as DotDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledScatterPlot>\n );\n});\n"],"names":["RenderedScatterPlot","forwardRef","props","ref","isBrushable","className","data","propsData","dotRole","disableAnimations","getDotAnchorProps","hideControlKeyPanel","id","isDotSelected","labelDecorator","legendDecorator","legendVariant","legendProps","margins","propsMargins","onBrush","onBrushEnd","onDotClick","size","sortingMethod","colorTheme","tooltipDecorator","tooltipVariant","xAxisVariant","xAxisPlacement","xAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","yAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","variant","forwardedProps","_objectWithoutProperties","_excluded","cache","useRef","theme","useTheme","format","useMessageFormatter","intlMessages","filter","datum","value","key","Number","isNaN","useEffect","current","chartDimensions","sizeToDimension","width","height","_objectSpread","top","AxisVariant","default","tickValue","left","right","bottom","chartHeight","chartWidth","minSize","d3min","extendedScaleX","domain","d3extent","d","gap","d3scaleLinear","range","nice","extendedScaleY","hasCategory","length","undefined","countsByCategory","countBy","colorScale","useColor","category","svgRef","brushRef","svgBrushRef","scaleX","scaleY","transform","useZoom","onZoom","clear","d3select","useBrush","extent","isGridded","ScatterPlotVariant","gridded","circles","group","sort","a","b","y","x","d3descending","points","map","_d$key$","globalSize","d3scaleSqrt","Math","max","d3max","BASE_NUMBER_OF_TICKS","legendWidth","String","isKeyPanelOpen","setIsKeyPanelOpen","useState","categories","_ref","extraLegendItems","forwardedLegendProps","_excluded2","React","createElement","StyledScatterPlot","_extends","mode","definition","categoryLength","circleLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","Flexbox","flexDirection","alignItems","position","Popover","placement","isOpen","onOpen","Trigger","Button","leftIcon","mdiMouse","rightIcon","mdiChevronDown","mdiChevronRight","color","style","border","Content","Text","margin","fontSize","circle","index","_countsByCategory$fin","scaleXDomain","scaleYDomain","to","percent","find","_ref2","r","k","Dot","dataset","isSelected","Boolean","onClick","role","includes","Axis","scale","tickValues","tickPadding","tickRotation","tickSize","tickFormat","ScatterPlotLegendVariant","none","Legend","mergeLegends","getSortingMethod","externalLabelValue","LegendVariant","externalLabelPercent","externalLabel","label","custom"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { ScatterPlot } from './ScatterPlot2.js';
2
- export { ScatterPlotLegendVariant, ScatterPlotVariant } from './types.js';
3
- export { StyledScatterPlot, StyledScatterPlotEmptyText } from './styles.js';
4
- //# sourceMappingURL=ScatterPlot.js.map
@@ -1,105 +0,0 @@
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 { ScatterPlotVariant, ScatterPlotLegendVariant } from './types.js';
6
- import { LoadingScatterPlot } from './LoadingScatterPlot.js';
7
- import { EmptyScatterPlot } from './EmptyScatterPlot.js';
8
- import { RenderedScatterPlot } from './RenderedScatterPlot.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
- import { AxisVariant } from '../../Axis/_internal/types.js';
13
-
14
- const _excluded = ["className", "colorTheme", "data", "dotRole", "emptyComponent", "hideControlKeyPanel", "id", "isDotSelected", "labelDecorator", "legendDecorator", "legendVariant", "localeText", "onBrush", "onBrushEnd", "onDotClick", "size", "sortingMethod", "tooltipDecorator", "tooltipVariant", "variant", "xAxisPlacement", "xAxisVariant", "yAxisPlacement", "yAxisVariant"];
15
- const COMPONENT_NAME = 'ScatterPlot';
16
- const CLASSNAME = 'redsift-scatterplot';
17
- const ScatterPlot = /*#__PURE__*/forwardRef((props, ref) => {
18
- const {
19
- className,
20
- colorTheme = ColorTheme.default,
21
- data: propsData,
22
- dotRole,
23
- emptyComponent,
24
- hideControlKeyPanel = false,
25
- id: propsId,
26
- isDotSelected,
27
- labelDecorator,
28
- legendDecorator,
29
- legendVariant: propsLegendVariant,
30
- localeText = {
31
- emptyChartText: 'No Data'
32
- },
33
- onBrush,
34
- onBrushEnd,
35
- onDotClick,
36
- size = ChartSize.medium,
37
- sortingMethod = 'desc-value',
38
- tooltipDecorator,
39
- tooltipVariant = TooltipVariant.none,
40
- variant = ScatterPlotVariant.default,
41
- xAxisPlacement = 'bottom',
42
- xAxisVariant = AxisVariant.default,
43
- yAxisPlacement = 'left',
44
- yAxisVariant = AxisVariant.default
45
- } = props,
46
- forwardedProps = _objectWithoutProperties(props, _excluded);
47
- const [_id] = useId();
48
- const id = propsId !== null && propsId !== void 0 ? propsId : _id;
49
- const legendVariant = propsLegendVariant !== null && propsLegendVariant !== void 0 ? propsLegendVariant : ScatterPlotLegendVariant.externalLabel;
50
- if (propsData === undefined || propsData === null) {
51
- return /*#__PURE__*/React__default.createElement(LoadingScatterPlot, _extends({
52
- id: id
53
- }, forwardedProps, {
54
- ref: ref
55
- }));
56
- }
57
- if (propsData.length === 0) {
58
- return /*#__PURE__*/React__default.createElement(EmptyScatterPlot, _extends({
59
- data: propsData,
60
- emptyComponent: emptyComponent,
61
- hideControlKeyPanel: hideControlKeyPanel,
62
- localeText: localeText,
63
- size: size,
64
- sortingMethod: sortingMethod,
65
- xAxisPlacement: xAxisPlacement,
66
- xAxisVariant: xAxisVariant,
67
- yAxisPlacement: yAxisPlacement,
68
- yAxisVariant: yAxisVariant
69
- }, forwardedProps, {
70
- ref: ref
71
- }));
72
- }
73
- return /*#__PURE__*/React__default.createElement(RenderedScatterPlot, _extends({
74
- className: classNames(ScatterPlot.className, className),
75
- colorTheme: colorTheme,
76
- data: propsData,
77
- dotRole: dotRole,
78
- hideControlKeyPanel: hideControlKeyPanel,
79
- id: id,
80
- isDotSelected: isDotSelected,
81
- labelDecorator: labelDecorator,
82
- legendDecorator: legendDecorator,
83
- legendVariant: legendVariant,
84
- localeText: localeText,
85
- onBrush: onBrush,
86
- onBrushEnd: onBrushEnd,
87
- onDotClick: onDotClick,
88
- size: size,
89
- sortingMethod: sortingMethod,
90
- tooltipDecorator: tooltipDecorator,
91
- tooltipVariant: tooltipVariant,
92
- variant: variant,
93
- xAxisPlacement: xAxisPlacement,
94
- xAxisVariant: xAxisVariant,
95
- yAxisPlacement: yAxisPlacement,
96
- yAxisVariant: yAxisVariant
97
- }, forwardedProps, {
98
- ref: ref
99
- }));
100
- });
101
- ScatterPlot.className = CLASSNAME;
102
- ScatterPlot.displayName = COMPONENT_NAME;
103
-
104
- export { ScatterPlot };
105
- //# sourceMappingURL=ScatterPlot2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScatterPlot2.js","sources":["../../../../../../../src/components/ScatterPlot/ScatterPlot.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 { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { LoadingScatterPlot } from './LoadingScatterPlot';\nimport { EmptyScatterPlot } from './EmptyScatterPlot';\nimport { RenderedScatterPlot } from './RenderedScatterPlot';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'ScatterPlot';\nconst CLASSNAME = 'redsift-scatterplot';\n\nexport const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n dotRole,\n emptyComponent,\n hideControlKeyPanel = false,\n id: propsId,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onBrush,\n onBrushEnd,\n onDotClick,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n tooltipDecorator,\n tooltipVariant = TooltipVariant.none,\n variant = ScatterPlotVariant.default,\n xAxisPlacement = 'bottom',\n xAxisVariant = AxisVariant.default,\n yAxisPlacement = 'left',\n yAxisVariant = AxisVariant.default,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? ScatterPlotLegendVariant.externalLabel;\n\n if (propsData === undefined || propsData === null) {\n return <LoadingScatterPlot id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyScatterPlot\n data={propsData}\n emptyComponent={emptyComponent}\n hideControlKeyPanel={hideControlKeyPanel}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedScatterPlot\n className={classNames(ScatterPlot.className, className)}\n colorTheme={colorTheme}\n data={propsData}\n dotRole={dotRole}\n hideControlKeyPanel={hideControlKeyPanel}\n id={id}\n isDotSelected={isDotSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n localeText={localeText}\n onBrush={onBrush}\n onBrushEnd={onBrushEnd}\n onDotClick={onDotClick}\n size={size}\n sortingMethod={sortingMethod}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={variant}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nScatterPlot.className = CLASSNAME;\nScatterPlot.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","ScatterPlot","forwardRef","props","ref","className","colorTheme","ColorTheme","default","data","propsData","dotRole","emptyComponent","hideControlKeyPanel","id","propsId","isDotSelected","labelDecorator","legendDecorator","legendVariant","propsLegendVariant","localeText","emptyChartText","onBrush","onBrushEnd","onDotClick","size","ChartSize","medium","sortingMethod","tooltipDecorator","tooltipVariant","TooltipVariant","none","variant","ScatterPlotVariant","xAxisPlacement","xAxisVariant","AxisVariant","yAxisPlacement","yAxisVariant","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","ScatterPlotLegendVariant","externalLabel","undefined","React","createElement","LoadingScatterPlot","_extends","length","EmptyScatterPlot","RenderedScatterPlot","classNames","displayName"],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import styled from 'styled-components';
2
- import { ChartContainer } from '../../ChartContainer/_internal/ChartContainer2.js';
3
-
4
- /**
5
- * Component style.
6
- */
7
- const StyledScatterPlot = styled(ChartContainer)``;
8
- const StyledScatterPlotEmptyText = styled.div`
9
- position: absolute;
10
- top: 0;
11
- left: 0;
12
- height: 100%;
13
- width: 100%;
14
- display: flex;
15
- flex-direction: column;
16
- justify-content: center;
17
- align-items: center;
18
- pointer-events: none;
19
-
20
- > * {
21
- max-width: ${_ref => {
22
- let {
23
- $maxWidth
24
- } = _ref;
25
- return $maxWidth;
26
- }}px;
27
- }
28
-
29
- > span {
30
- font-family: var(--redsift-typography-font-family-poppins);
31
- color: ${_ref2 => {
32
- let {
33
- $theme
34
- } = _ref2;
35
- return `var(--redsift-color-${$theme}-components-text-primary)`;
36
- }};
37
- font-size: ${_ref3 => {
38
- let {
39
- $textSize
40
- } = _ref3;
41
- return $textSize;
42
- }}px;
43
- line-height: ${_ref4 => {
44
- let {
45
- $textSize
46
- } = _ref4;
47
- return $textSize;
48
- }}px;
49
- }
50
- `;
51
-
52
- export { StyledScatterPlot, StyledScatterPlotEmptyText };
53
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../../../src/components/ScatterPlot/styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledScatterPlot = styled(ChartContainer)<StyledScatterPlotProps>``;\n\nexport const StyledScatterPlotEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $theme: Theme;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-poppins);\n color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-text-primary)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n"],"names":["StyledScatterPlot","styled","ChartContainer","StyledScatterPlotEmptyText","div","_ref","$maxWidth","_ref2","$theme","_ref3","$textSize","_ref4"],"mappings":";;;AAKA;AACA;AACA;MACaA,iBAAiB,GAAGC,MAAM,CAACC,cAAc,CAA0B,CAAC,EAAA;AAEpEC,MAAAA,0BAA0B,GAAGF,MAAM,CAACG,GAI9C,CAAA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAA,EAAiBC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C;AACA;AACA;AACA;AACA,WAAA,EAAaC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,KAAA,CAAA;EAAA,OAAM,CAAA,oBAAA,EAAsBC,MAAO,CAA0B,yBAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AACtF,eAAA,EAAiBC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C,iBAAA,EAAmBC,KAAA,IAAA;EAAA,IAAC;AAAED,IAAAA,SAAAA;AAAU,GAAC,GAAAC,KAAA,CAAA;AAAA,EAAA,OAAKD,SAAS,CAAA;AAAA,CAAC,CAAA;AAChD;AACA;;;;"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Component variant.
3
- */
4
- const ScatterPlotVariant = {
5
- default: 'default',
6
- gridded: 'gridded'
7
- };
8
- /**
9
- * Component's labels variant.
10
- */
11
- const ScatterPlotLegendVariant = {
12
- none: 'none',
13
- externalLabel: 'externalLabel',
14
- externalLabelValue: 'externalLabelValue',
15
- externalLabelPercent: 'externalLabelPercent',
16
- custom: 'custom'
17
- };
18
-
19
- /**
20
- * Component props.
21
- */
22
-
23
- export { ScatterPlotLegendVariant, ScatterPlotVariant };
24
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/components/ScatterPlot/types.ts"],"sourcesContent":["import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n CoordinatesCategoryData,\n ChartAxesProps,\n MarginProps,\n Statistics,\n} from '../../types';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactElement, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { LegendProps } from '../Legend';\nimport { SortingMethod } from '../../utils';\nimport { AnchorProps } from '../DataPoint';\n\n/**\n * Component variant.\n */\nexport const ScatterPlotVariant = {\n default: 'default',\n gridded: 'gridded',\n} as const;\nexport type ScatterPlotVariant = ValueOf<typeof ScatterPlotVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const ScatterPlotLegendVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n custom: 'custom',\n} as const;\nexport type ScatterPlotLegendVariant = ValueOf<typeof ScatterPlotLegendVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\nexport type ScatterPlotDimensions = ChartDimensions & {\n fontSize: number;\n};\n\n/**\n * Component props.\n */\nexport interface ScatterPlotProps extends ChartContainerProps, ChartAxesProps {\n /** Dataset to use to generate the chart. */\n data?: CoordinatesCategoryData;\n /** Method used to define the anchor props to use when the dot is a navigation link. */\n getDotAnchorProps?: (datum: DotDatum) => AnchorProps;\n /** Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Whether the Control Keys panel is displayed or not. */\n hideControlKeyPanel?: boolean;\n /** Whether the scatter plot dots are selectable using brush or not. */\n isBrushable?: boolean;\n /** Method to determine whether a dot is selected or not. */\n isDotSelected?: (datum: DotDatum) => boolean | undefined;\n /** Method to override the data point labels. */\n labelDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Method modifying what's displayed within the legend when the legendVariant is \"custom\". */\n legendDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to \"custom\", use `legendDecorator` to customize it. */\n legendVariant?: ScatterPlotLegendVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'> & {\n extraLegendItems?: Statistics;\n };\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Custom margins, used to give more space for axes labels and legend for instance. */\n margins?: MarginProps;\n /** Method called on brush. */\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n /** Method called on brush end. */\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX?: d3ScaleLinear<number, number>,\n scaleY?: d3ScaleLinear<number, number>\n ) => void;\n /** Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. */\n onDotClick?: (datum: DotDatum) => void;\n /** ScatterPlot size. */\n size?: ChartSize | ScatterPlotDimensions;\n /** Define how to sort categories. */\n sortingMethod?: SortingMethod;\n /** Reference to the SVG tag. */\n svgRef?: MutableRefObject<SVGSVGElement>;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n colorTheme?: ChartTheme;\n /** Method modifying what's displayed within the tooltip when the tooltipVariant is \"custom\". */\n tooltipDecorator?: (\n data: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Variant. */\n variant?: ScatterPlotVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n"],"names":["ScatterPlotVariant","default","gridded","ScatterPlotLegendVariant","none","externalLabel","externalLabelValue","externalLabelPercent","custom"],"mappings":"AAoBA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAGV;AACA;AACA;AACO,MAAMC,wBAAwB,GAAG;AACtCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAU;;AAWV;AACA;AACA;;;;"}
@@ -1,70 +0,0 @@
1
- import { getSortingMethod } from '../../../utils/index.js';
2
- import { ChartSize } from '../../../types/_internal/size.js';
3
-
4
- const sizeToDimension = size => {
5
- if (typeof size !== 'string') {
6
- return size;
7
- }
8
- switch (size) {
9
- case ChartSize.small:
10
- return {
11
- width: 600,
12
- height: 300,
13
- fontSize: 30
14
- };
15
- case ChartSize.medium:
16
- default:
17
- return {
18
- width: 750,
19
- height: 375,
20
- fontSize: 34
21
- };
22
- case ChartSize.large:
23
- return {
24
- width: 900,
25
- height: 450,
26
- fontSize: 38
27
- };
28
- }
29
- };
30
- const BASE_NUMBER_OF_TICKS = 20;
31
- const getClosestLineIndex = (value, scale) => {
32
- const ticks = scale.ticks(BASE_NUMBER_OF_TICKS);
33
- const delta = ticks[1] - ticks[0];
34
- const index = Math.round(value / delta);
35
- const roundValue = index * delta;
36
- return [index, roundValue];
37
- };
38
- const group = (data, x, y) => {
39
- const groupDict = {};
40
- data.forEach(d => {
41
- const [i, rx] = getClosestLineIndex(d.key[0], x);
42
- const [j, ry] = getClosestLineIndex(d.key[1], y);
43
- const key = `${i}_${j}_${d.key[2]}`;
44
- if (!(key in groupDict)) {
45
- groupDict[key] = {
46
- category: d.key[2],
47
- x: rx,
48
- y: ry,
49
- data: {
50
- key: d.key,
51
- value: 0
52
- },
53
- points: []
54
- };
55
- }
56
- groupDict[key].points.push(d);
57
- groupDict[key].data.value += 1;
58
- });
59
- return Object.values(groupDict);
60
- };
61
- const countBy = (arr, sortingMethod) => {
62
- const counts = arr.reduce((prev, curr) => (prev[curr.key[2]] = ++prev[curr.key[2]] || 1, prev), {});
63
- return Object.keys(counts).map(key => ({
64
- key: key,
65
- value: counts[key]
66
- })).sort(getSortingMethod(sortingMethod));
67
- };
68
-
69
- export { BASE_NUMBER_OF_TICKS, countBy, getClosestLineIndex, group, sizeToDimension };
70
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/ScatterPlot/utils.ts"],"sourcesContent":["import { ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { CoordinatesCategoryData, CoordinatesCategoryDatum } from '../../types';\n\nimport { ChartSize } from '../../types';\nimport { ScatterPlotDimensions } from './types';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | ScatterPlotDimensions): ScatterPlotDimensions => {\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"],"names":["sizeToDimension","size","ChartSize","small","width","height","fontSize","medium","large","BASE_NUMBER_OF_TICKS","getClosestLineIndex","value","scale","ticks","delta","index","Math","round","roundValue","group","data","x","y","groupDict","forEach","d","i","rx","key","j","ry","category","points","push","Object","values","countBy","arr","sortingMethod","counts","reduce","prev","curr","keys","map","sort","getSortingMethod"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- var definition = "Linear Scatter Plot with {circleLength} circles.";
2
- var enUS = {
3
- "interactive-chart": "Interactive Scatter Plot",
4
- "static-chart": "Static Scatter Plot",
5
- definition: definition,
6
- "definition-with-categories": "Linear Scatter Plot with {categoryLength} categories and {circleLength} circles.",
7
- "x-axis-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-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
- };
10
-
11
- export { enUS as default, definition };
12
- //# sourceMappingURL=en-US.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-US.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,17 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"fr-FR.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/components/ScatterPlot/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;;;;"}
@@ -1,48 +0,0 @@
1
- import { useRef, useEffect } from 'react';
2
- import { brush, select } from 'd3';
3
-
4
- const getRoundedIntermediaryPoint = (selection, scaleX, scaleY) => {
5
- if (!selection) {
6
- return null;
7
- }
8
- const xTicks = scaleX.ticks(20);
9
- const xDelta = xTicks[1] - xTicks[0];
10
- const yTicks = scaleY.ticks(20);
11
- const yDelta = yTicks[1] - yTicks[0];
12
- return [[scaleX(Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta - xDelta / 2), scaleY(Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta - yDelta / 2)], [scaleX(Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta - xDelta / 2), scaleY(Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta - yDelta / 2)]];
13
- };
14
- const useBrush = _ref => {
15
- let {
16
- brushRef: propsBrushRef,
17
- svgRef,
18
- extent,
19
- scaleX,
20
- scaleY,
21
- isBrushable,
22
- isGridded,
23
- onBrush,
24
- onBrushEnd
25
- } = _ref;
26
- const brushRef = propsBrushRef || useRef();
27
- useEffect(() => {
28
- if (svgRef.current && isBrushable) {
29
- brushRef.current = brush().extent(extent).keyModifiers(false).filter(event => event.shiftKey).on('brush', event => {
30
- if (!event.sourceEvent || !brushRef.current || !svgRef.current) return;
31
- if (isGridded) {
32
- const selection = getRoundedIntermediaryPoint(event.selection, scaleX, scaleY);
33
- select(svgRef.current).call(brushRef.current.move, selection);
34
- onBrush === null || onBrush === void 0 ? void 0 : onBrush(selection, scaleX, scaleY);
35
- } else {
36
- onBrush === null || onBrush === void 0 ? void 0 : onBrush(event.selection, scaleX, scaleY);
37
- }
38
- }).on('end', event => {
39
- if (!event.sourceEvent || !brushRef.current || !svgRef.current) return;
40
- onBrushEnd === null || onBrushEnd === void 0 ? void 0 : onBrushEnd(event.selection, scaleX, scaleY);
41
- });
42
- select(svgRef.current).call(brushRef.current);
43
- }
44
- });
45
- };
46
-
47
- export { useBrush };
48
- //# sourceMappingURL=useBrush.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBrush.js","sources":["../../../../../../src/hooks/useBrush.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n brush as d3brush,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseBrushProps {\n brushRef: MutableRefObject<d3BrushBehavior<unknown> | undefined>;\n svgRef: MutableRefObject<SVGSVGElement | SVGGElement | undefined>;\n extent?: [[number, number], [number, number]];\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n isBrushable?: boolean;\n isGridded?: boolean;\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n}\n\nconst getRoundedIntermediaryPoint = (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n) => {\n if (!selection) {\n return null;\n }\n\n const xTicks = scaleX.ticks(20);\n const xDelta = xTicks[1] - xTicks[0];\n const yTicks = scaleY.ticks(20);\n const yDelta = yTicks[1] - yTicks[0];\n\n return [\n [\n scaleX(\n Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n scaleY(\n Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n [\n scaleX(\n Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n\n scaleY(\n Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n ] as [[number, number], [number, number]];\n};\n\nexport const useBrush = ({\n brushRef: propsBrushRef,\n svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brushRef = propsBrushRef || useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brushRef.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(\n brushRef.current.move as any,\n selection\n );\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brushRef.current as any);\n }\n });\n};\n"],"names":["getRoundedIntermediaryPoint","selection","scaleX","scaleY","xTicks","ticks","xDelta","yTicks","yDelta","Math","round","invert","useBrush","_ref","brushRef","propsBrushRef","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","useRef","useEffect","current","d3brush","keyModifiers","filter","event","shiftKey","on","sourceEvent","d3select","call","move"],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { useMemo } from 'react';
2
- import { getColorScale } from '../../_internal/scheme.js';
3
-
4
- const useColor = _ref => {
5
- let {
6
- data,
7
- colorTheme,
8
- category,
9
- theme
10
- } = _ref;
11
- const colorScale = useMemo(() => getColorScale({
12
- colorTheme,
13
- domain: data.map(d => typeof category === 'string' ? d[category] : category(d)),
14
- theme
15
- }), [colorTheme]);
16
- return colorScale;
17
- };
18
-
19
- export { useColor };
20
- //# sourceMappingURL=useColor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColor.js","sources":["../../../../../../src/hooks/useColor.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { ScaleOrdinal as d3ScaleOrdinal } from 'd3';\nimport { getColorScale } from '../scheme';\nimport { ChartTheme, JSONArray, JSONObject } from '../types';\nimport { Theme } from '@redsift/design-system';\n\nexport interface UseColorProps {\n /** Dataset to use to generate the chart. */\n data: JSONArray;\n /** Color palette to use. */\n colorTheme: ChartTheme;\n /** Name of the field that will be used to categorize the data. */\n category: string | ((d: JSONObject) => string);\n /** Theme */\n theme: Theme;\n}\n\nexport const useColor = ({ data, colorTheme, category, theme }: UseColorProps) => {\n const colorScale = useMemo<d3ScaleOrdinal<string, string>>(\n () =>\n getColorScale({\n colorTheme,\n domain: data.map((d) => (typeof category === 'string' ? (d[category] as string) : category(d))),\n theme,\n }),\n [colorTheme]\n );\n\n return colorScale;\n};\n"],"names":["useColor","_ref","data","colorTheme","category","theme","colorScale","useMemo","getColorScale","domain","map","d"],"mappings":";;;AAiBaA,MAAAA,QAAQ,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,IAAI;IAAEC,UAAU;IAAEC,QAAQ;AAAEC,IAAAA,KAAAA;AAAqB,GAAC,GAAAJ,IAAA,CAAA;AAC3E,EAAA,MAAMK,UAAU,GAAGC,OAAO,CACxB,MACEC,aAAa,CAAC;IACZL,UAAU;IACVM,MAAM,EAAEP,IAAI,CAACQ,GAAG,CAAEC,CAAC,IAAM,OAAOP,QAAQ,KAAK,QAAQ,GAAIO,CAAC,CAACP,QAAQ,CAAC,GAAcA,QAAQ,CAACO,CAAC,CAAE,CAAC;AAC/FN,IAAAA,KAAAA;AACF,GAAC,CAAC,EACJ,CAACF,UAAU,CACb,CAAC,CAAA;AAED,EAAA,OAAOG,UAAU,CAAA;AACnB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormatCategoricalData.js","sources":["../../../../../../src/hooks/useFormatCategoricalData.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { CategoryData, ChartTheme } from '../types';\nimport { useColor } from './useColor';\nimport { SortingMethod, getSortingMethod } from '../utils';\nimport { Theme } from '@redsift/design-system';\n\nexport interface UseFormatCategoricalDataProps {\n /** Dataset to use to generate the chart, should be a list of objects containing a key and a value. */\n data: CategoryData;\n /** Color palette to use. */\n colorTheme: ChartTheme;\n /** Define how to sort categories. */\n sortingMethod: SortingMethod;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** Theme */\n theme: Theme;\n}\n\nexport const useFormatCategoricalData = ({\n data,\n caping,\n sortingMethod,\n others,\n colorTheme,\n theme,\n}: UseFormatCategoricalDataProps) => {\n const computedData = useMemo(() => {\n let computedData;\n\n if (data === undefined || data === null) {\n return undefined;\n }\n\n computedData = [...data!].sort(getSortingMethod(sortingMethod));\n\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n computedData = computedData.slice(0, caping);\n } else {\n computedData = computedData.reduce<CategoryData>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n key: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n\n return computedData;\n }, [data, caping]);\n\n const colorScale = useColor({ data: computedData!, colorTheme, category: 'key', theme });\n\n return { data: computedData as CategoryData, colorScale };\n};\n"],"names":["useFormatCategoricalData","_ref","data","caping","sortingMethod","others","colorTheme","theme","computedData","useMemo","undefined","sort","getSortingMethod","slice","reduce","acc","curr","index","key","value","_objectSpread","colorScale","useColor","category"],"mappings":";;;;;AAqBaA,MAAAA,wBAAwB,GAAGC,IAAA,IAOH;EAAA,IAPI;IACvCC,IAAI;IACJC,MAAM;IACNC,aAAa;IACbC,MAAM;IACNC,UAAU;AACVC,IAAAA,KAAAA;AAC6B,GAAC,GAAAN,IAAA,CAAA;AAC9B,EAAA,MAAMO,YAAY,GAAGC,OAAO,CAAC,MAAM;AACjC,IAAA,IAAID,YAAY,CAAA;AAEhB,IAAA,IAAIN,IAAI,KAAKQ,SAAS,IAAIR,IAAI,KAAK,IAAI,EAAE;AACvC,MAAA,OAAOQ,SAAS,CAAA;AAClB,KAAA;AAEAF,IAAAA,YAAY,GAAG,CAAC,GAAGN,IAAK,CAAC,CAACS,IAAI,CAACC,gBAAgB,CAACR,aAAa,CAAC,CAAC,CAAA;AAE/D,IAAA,IAAID,MAAM,EAAE;AACV,MAAA,IAAI,OAAOE,MAAM,KAAK,SAAS,IAAI,CAACA,MAAM,EAAE;QAC1CG,YAAY,GAAGA,YAAY,CAACK,KAAK,CAAC,CAAC,EAAEV,MAAM,CAAC,CAAA;AAC9C,OAAC,MAAM;QACLK,YAAY,GAAGA,YAAY,CAACM,MAAM,CAAe,CAACC,GAAG,EAAEC,IAAI,EAAEC,KAAK,KAAK;UACrE,IAAIA,KAAK,GAAGd,MAAM,EAAE;AAClBY,YAAAA,GAAG,CAACE,KAAK,CAAC,GAAGD,IAAI,CAAA;AACnB,WAAC,MAAM,IAAIC,KAAK,KAAKd,MAAM,EAAE;YAC3BY,GAAG,CAACE,KAAK,CAAC,GAAG;cACXC,GAAG,EAAE,OAAOb,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,QAAQ;cACnDc,KAAK,EAAEH,IAAI,CAACG,KAAAA;aACb,CAAA;AACH,WAAC,MAAM;YACLJ,GAAG,CAACZ,MAAM,CAAC,GAAAiB,cAAA,CAAAA,cAAA,CACNL,EAAAA,EAAAA,GAAG,CAACZ,MAAM,CAAC,CAAA,EAAA,EAAA,EAAA;cACdgB,KAAK,EAAEJ,GAAG,CAACZ,MAAM,CAAC,CAACgB,KAAK,GAAGH,IAAI,CAACG,KAAAA;aACjC,CAAA,CAAA;AACH,WAAA;AACA,UAAA,OAAOJ,GAAG,CAAA;SACX,EAAE,EAAE,CAAC,CAAA;AACR,OAAA;AACF,KAAA;AAEA,IAAA,OAAOP,YAAY,CAAA;AACrB,GAAC,EAAE,CAACN,IAAI,EAAEC,MAAM,CAAC,CAAC,CAAA;EAElB,MAAMkB,UAAU,GAAGC,QAAQ,CAAC;AAAEpB,IAAAA,IAAI,EAAEM,YAAa;IAAEF,UAAU;AAAEiB,IAAAA,QAAQ,EAAE,KAAK;AAAEhB,IAAAA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAExF,OAAO;AAAEL,IAAAA,IAAI,EAAEM,YAA4B;AAAEa,IAAAA,UAAAA;GAAY,CAAA;AAC3D;;;;"}
@@ -1,39 +0,0 @@
1
- import { useRef, useState, useEffect } from 'react';
2
- import { zoom, interpolateRound, select } from 'd3';
3
-
4
- const useZoom = _ref => {
5
- let {
6
- svgRef,
7
- scaleX,
8
- scaleY,
9
- defaultTransform = {
10
- k: 1,
11
- x: 0,
12
- y: 0
13
- },
14
- size,
15
- onZoom
16
- } = _ref;
17
- const zx = useRef(scaleX);
18
- const zy = useRef(scaleY);
19
- const [transform, setTransform] = useState(defaultTransform);
20
- useEffect(() => {
21
- if (svgRef.current) {
22
- const zoom$1 = zoom().filter(event => !event.shiftKey).scaleExtent([1 / 2 ** 3, 2 ** 3]).on('zoom', event => {
23
- onZoom === null || onZoom === void 0 ? void 0 : onZoom();
24
- zx.current = event.transform.rescaleX(scaleX).interpolate(interpolateRound);
25
- zy.current = event.transform.rescaleY(scaleY).interpolate(interpolateRound);
26
- setTransform(event.transform);
27
- });
28
- select(svgRef.current).call(zoom$1);
29
- }
30
- }, [svgRef.current, size]);
31
- return {
32
- transform,
33
- scaleX: zx.current,
34
- scaleY: zy.current
35
- };
36
- };
37
-
38
- export { useZoom };
39
- //# sourceMappingURL=useZoom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useZoom.js","sources":["../../../../../../src/hooks/useZoom.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport {\n zoom as d3zoom,\n interpolateRound as d3interpolateRound,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseZoomProps {\n svgRef: MutableRefObject<SVGSVGElement | undefined>;\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n defaultTransform?: { k: number; x: number; y: number };\n size?: any;\n onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\n size,\n onZoom,\n}: UseZoomProps) => {\n const zx = useRef<d3ScaleLinear<number, number>>(scaleX);\n const zy = useRef<d3ScaleLinear<number, number>>(scaleY);\n const [transform, setTransform] = useState(defaultTransform);\n\n useEffect(() => {\n if (svgRef.current) {\n const zoom = d3zoom()\n .filter((event) => !event.shiftKey)\n .scaleExtent([1 / 2 ** 3, 2 ** 3])\n .on('zoom', (event) => {\n onZoom?.();\n zx.current = event.transform\n .rescaleX(scaleX)\n .interpolate(d3interpolateRound);\n zy.current = event.transform\n .rescaleY(scaleY)\n .interpolate(d3interpolateRound);\n setTransform(event.transform);\n });\n d3select(svgRef.current).call(zoom as any);\n }\n }, [svgRef.current, size]);\n\n return { transform, scaleX: zx.current, scaleY: zy.current };\n};\n"],"names":["useZoom","_ref","svgRef","scaleX","scaleY","defaultTransform","k","x","y","size","onZoom","zx","useRef","zy","transform","setTransform","useState","useEffect","current","zoom","d3zoom","filter","event","shiftKey","scaleExtent","on","rescaleX","interpolate","d3interpolateRound","rescaleY","d3select","call"],"mappings":";;;AAiBaA,MAAAA,OAAO,GAAGC,IAAA,IAOH;EAAA,IAPI;IACtBC,MAAM;IACNC,MAAM;IACNC,MAAM;AACNC,IAAAA,gBAAgB,GAAG;AAAEC,MAAAA,CAAC,EAAE,CAAC;AAAEC,MAAAA,CAAC,EAAE,CAAC;AAAEC,MAAAA,CAAC,EAAE,CAAA;KAAG;IACvCC,IAAI;AACJC,IAAAA,MAAAA;AACY,GAAC,GAAAT,IAAA,CAAA;AACb,EAAA,MAAMU,EAAE,GAAGC,MAAM,CAAgCT,MAAM,CAAC,CAAA;AACxD,EAAA,MAAMU,EAAE,GAAGD,MAAM,CAAgCR,MAAM,CAAC,CAAA;EACxD,MAAM,CAACU,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAACX,gBAAgB,CAAC,CAAA;AAE5DY,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIf,MAAM,CAACgB,OAAO,EAAE;AAClB,MAAA,MAAMC,MAAI,GAAGC,IAAM,EAAE,CAClBC,MAAM,CAAEC,KAAK,IAAK,CAACA,KAAK,CAACC,QAAQ,CAAC,CAClCC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACjCC,EAAE,CAAC,MAAM,EAAGH,KAAK,IAAK;AACrBZ,QAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,EAAI,CAAA;AACVC,QAAAA,EAAE,CAACO,OAAO,GAAGI,KAAK,CAACR,SAAS,CACzBY,QAAQ,CAACvB,MAAM,CAAC,CAChBwB,WAAW,CAACC,gBAAkB,CAAC,CAAA;AAClCf,QAAAA,EAAE,CAACK,OAAO,GAAGI,KAAK,CAACR,SAAS,CACzBe,QAAQ,CAACzB,MAAM,CAAC,CAChBuB,WAAW,CAACC,gBAAkB,CAAC,CAAA;AAClCb,QAAAA,YAAY,CAACO,KAAK,CAACR,SAAS,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MACJgB,MAAQ,CAAC5B,MAAM,CAACgB,OAAO,CAAC,CAACa,IAAI,CAACZ,MAAW,CAAC,CAAA;AAC5C,KAAA;GACD,EAAE,CAACjB,MAAM,CAACgB,OAAO,EAAET,IAAI,CAAC,CAAC,CAAA;EAE1B,OAAO;IAAEK,SAAS;IAAEX,MAAM,EAAEQ,EAAE,CAACO,OAAO;IAAEd,MAAM,EAAES,EAAE,CAACK,OAAAA;GAAS,CAAA;AAC9D;;;;"}