@redsift/charts 11.5.0 → 11.6.0-muiv5-alpha.0

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 (223) hide show
  1. package/_virtual/_rollupPluginBabelHelpers.js +93 -0
  2. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/components/Arc/Arc.d.ts +6 -0
  4. package/components/Arc/Arc.js +74 -0
  5. package/components/Arc/Arc.js.map +1 -0
  6. package/components/Arc/styles.d.ts +17 -0
  7. package/components/Arc/styles.js +49 -0
  8. package/components/Arc/styles.js.map +1 -0
  9. package/components/Arc/types.d.ts +20 -0
  10. package/components/Arcs/Arcs.d.ts +6 -0
  11. package/components/Arcs/Arcs.js +90 -0
  12. package/components/Arcs/Arcs.js.map +1 -0
  13. package/components/Arcs/styles.d.ts +9 -0
  14. package/components/Arcs/styles.js +9 -0
  15. package/components/Arcs/styles.js.map +1 -0
  16. package/components/Arcs/types.d.ts +17 -0
  17. package/components/Axis/Axis.d.ts +7 -0
  18. package/components/Axis/Axis.js +211 -0
  19. package/components/Axis/Axis.js.map +1 -0
  20. package/components/Axis/computeTicks.js +117 -0
  21. package/components/Axis/computeTicks.js.map +1 -0
  22. package/components/Axis/styles.d.ts +14 -0
  23. package/components/Axis/styles.js +51 -0
  24. package/components/Axis/styles.js.map +1 -0
  25. package/components/Axis/types.d.ts +89 -0
  26. package/components/Axis/types.js +24 -0
  27. package/components/Axis/types.js.map +1 -0
  28. package/components/Bar/Bar.d.ts +6 -0
  29. package/components/Bar/Bar.js +95 -0
  30. package/components/Bar/Bar.js.map +1 -0
  31. package/components/Bar/styles.d.ts +16 -0
  32. package/components/Bar/styles.js +66 -0
  33. package/components/Bar/styles.js.map +1 -0
  34. package/components/Bar/types.d.ts +46 -0
  35. package/components/Bar/types.js +18 -0
  36. package/components/Bar/types.js.map +1 -0
  37. package/components/BarChart/BarChart.d.ts +29 -0
  38. package/components/BarChart/BarChart.js +141 -0
  39. package/components/BarChart/BarChart.js.map +1 -0
  40. package/components/BarChart/BarChartBars.js +168 -0
  41. package/components/BarChart/BarChartBars.js.map +1 -0
  42. package/components/BarChart/BarChartSection.js +139 -0
  43. package/components/BarChart/BarChartSection.js.map +1 -0
  44. package/components/BarChart/EmptyBarChart.js +57 -0
  45. package/components/BarChart/EmptyBarChart.js.map +1 -0
  46. package/components/BarChart/LoadingBarChart.js +18 -0
  47. package/components/BarChart/LoadingBarChart.js.map +1 -0
  48. package/components/BarChart/RenderedLinearBarChart.js +549 -0
  49. package/components/BarChart/RenderedLinearBarChart.js.map +1 -0
  50. package/components/BarChart/RenderedOrdinalBarChart.js +236 -0
  51. package/components/BarChart/RenderedOrdinalBarChart.js.map +1 -0
  52. package/components/BarChart/context.js +13 -0
  53. package/components/BarChart/context.js.map +1 -0
  54. package/components/BarChart/intl/en-US.json.js +17 -0
  55. package/components/BarChart/intl/en-US.json.js.map +1 -0
  56. package/components/BarChart/intl/fr-FR.json.js +17 -0
  57. package/components/BarChart/intl/fr-FR.json.js.map +1 -0
  58. package/components/BarChart/intl/index.js +10 -0
  59. package/components/BarChart/intl/index.js.map +1 -0
  60. package/components/BarChart/styles.d.ts +19 -0
  61. package/components/BarChart/styles.js +71 -0
  62. package/components/BarChart/styles.js.map +1 -0
  63. package/components/BarChart/types.d.ts +177 -0
  64. package/components/BarChart/types.js +17 -0
  65. package/components/BarChart/types.js.map +1 -0
  66. package/components/BarChart/utils.js +69 -0
  67. package/components/BarChart/utils.js.map +1 -0
  68. package/components/ChartContainer/ChartContainer.d.ts +9 -0
  69. package/components/ChartContainer/ChartContainer.js +167 -0
  70. package/components/ChartContainer/ChartContainer.js.map +1 -0
  71. package/components/ChartContainer/context.js +6 -0
  72. package/components/ChartContainer/context.js.map +1 -0
  73. package/components/ChartContainer/intl/en-US.json.js +14 -0
  74. package/components/ChartContainer/intl/en-US.json.js.map +1 -0
  75. package/components/ChartContainer/intl/fr-FR.json.js +14 -0
  76. package/components/ChartContainer/intl/fr-FR.json.js.map +1 -0
  77. package/components/ChartContainer/intl/index.js +10 -0
  78. package/components/ChartContainer/intl/index.js.map +1 -0
  79. package/components/ChartContainer/styles.d.ts +17 -0
  80. package/components/ChartContainer/styles.js +76 -0
  81. package/components/ChartContainer/styles.js.map +1 -0
  82. package/components/ChartContainer/types.d.ts +48 -0
  83. package/components/DataPoint/DataPoint.d.ts +6 -0
  84. package/components/DataPoint/DataPoint.js +104 -0
  85. package/components/DataPoint/DataPoint.js.map +1 -0
  86. package/components/DataPoint/styles.d.ts +12 -0
  87. package/components/DataPoint/styles.js +10 -0
  88. package/components/DataPoint/styles.js.map +1 -0
  89. package/components/DataPoint/types.d.ts +60 -0
  90. package/components/Dot/Dot.d.ts +6 -0
  91. package/components/Dot/Dot.js +55 -0
  92. package/components/Dot/Dot.js.map +1 -0
  93. package/components/Dot/styles.d.ts +16 -0
  94. package/components/Dot/styles.js +49 -0
  95. package/components/Dot/styles.js.map +1 -0
  96. package/components/Dot/types.d.ts +30 -0
  97. package/components/Dot/types.js +14 -0
  98. package/components/Dot/types.js.map +1 -0
  99. package/components/Legend/Legend.d.ts +6 -0
  100. package/components/Legend/Legend.js +73 -0
  101. package/components/Legend/Legend.js.map +1 -0
  102. package/components/Legend/styles.d.ts +11 -0
  103. package/components/Legend/styles.js +15 -0
  104. package/components/Legend/styles.js.map +1 -0
  105. package/components/Legend/types.d.ts +44 -0
  106. package/components/LegendItem/LegendItem.js +96 -0
  107. package/components/LegendItem/LegendItem.js.map +1 -0
  108. package/components/LegendItem/styles.js +63 -0
  109. package/components/LegendItem/styles.js.map +1 -0
  110. package/components/LegendItem/types.d.ts +20 -0
  111. package/components/Line/Line.d.ts +6 -0
  112. package/components/Line/Line.js +55 -0
  113. package/components/Line/Line.js.map +1 -0
  114. package/components/Line/styles.d.ts +9 -0
  115. package/components/Line/styles.js +9 -0
  116. package/components/Line/styles.js.map +1 -0
  117. package/components/Line/types.d.ts +21 -0
  118. package/components/LineChart/EmptyLineChart.js +58 -0
  119. package/components/LineChart/EmptyLineChart.js.map +1 -0
  120. package/components/LineChart/LineChart.d.ts +6 -0
  121. package/components/LineChart/LineChart.js +96 -0
  122. package/components/LineChart/LineChart.js.map +1 -0
  123. package/components/LineChart/LoadingLineChart.js +18 -0
  124. package/components/LineChart/LoadingLineChart.js.map +1 -0
  125. package/components/LineChart/RenderedLineChart.js +372 -0
  126. package/components/LineChart/RenderedLineChart.js.map +1 -0
  127. package/components/LineChart/intl/en-US.json.js +17 -0
  128. package/components/LineChart/intl/en-US.json.js.map +1 -0
  129. package/components/LineChart/intl/fr-FR.json.js +17 -0
  130. package/components/LineChart/intl/fr-FR.json.js.map +1 -0
  131. package/components/LineChart/intl/index.js +10 -0
  132. package/components/LineChart/intl/index.js.map +1 -0
  133. package/components/LineChart/styles.d.ts +17 -0
  134. package/components/LineChart/styles.js +53 -0
  135. package/components/LineChart/styles.js.map +1 -0
  136. package/components/LineChart/types.d.ts +90 -0
  137. package/components/LineChart/types.js +17 -0
  138. package/components/LineChart/types.js.map +1 -0
  139. package/components/LineChart/utils.js +67 -0
  140. package/components/LineChart/utils.js.map +1 -0
  141. package/components/PieChart/EmptyPieChart.js +85 -0
  142. package/components/PieChart/EmptyPieChart.js.map +1 -0
  143. package/components/PieChart/LoadingPieChart.js +18 -0
  144. package/components/PieChart/LoadingPieChart.js.map +1 -0
  145. package/components/PieChart/PieChart.d.ts +6 -0
  146. package/components/PieChart/PieChart.js +98 -0
  147. package/components/PieChart/PieChart.js.map +1 -0
  148. package/components/PieChart/RenderedPieChart.js +198 -0
  149. package/components/PieChart/RenderedPieChart.js.map +1 -0
  150. package/components/PieChart/intl/en-US.json.js +9 -0
  151. package/components/PieChart/intl/en-US.json.js.map +1 -0
  152. package/components/PieChart/intl/fr-FR.json.js +9 -0
  153. package/components/PieChart/intl/fr-FR.json.js.map +1 -0
  154. package/components/PieChart/intl/index.js +10 -0
  155. package/components/PieChart/intl/index.js.map +1 -0
  156. package/components/PieChart/styles.d.ts +24 -0
  157. package/components/PieChart/styles.js +168 -0
  158. package/components/PieChart/styles.js.map +1 -0
  159. package/components/PieChart/types.d.ts +115 -0
  160. package/components/PieChart/types.js +27 -0
  161. package/components/PieChart/types.js.map +1 -0
  162. package/components/PieChart/utils.js +37 -0
  163. package/components/PieChart/utils.js.map +1 -0
  164. package/components/ScatterPlot/EmptyScatterPlot.js +58 -0
  165. package/components/ScatterPlot/EmptyScatterPlot.js.map +1 -0
  166. package/components/ScatterPlot/LoadingScatterPlot.js +18 -0
  167. package/components/ScatterPlot/LoadingScatterPlot.js.map +1 -0
  168. package/components/ScatterPlot/RenderedScatterPlot.js +352 -0
  169. package/components/ScatterPlot/RenderedScatterPlot.js.map +1 -0
  170. package/components/ScatterPlot/ScatterPlot.d.ts +6 -0
  171. package/components/ScatterPlot/ScatterPlot.js +105 -0
  172. package/components/ScatterPlot/ScatterPlot.js.map +1 -0
  173. package/components/ScatterPlot/intl/en-US.json.js +12 -0
  174. package/components/ScatterPlot/intl/en-US.json.js.map +1 -0
  175. package/components/ScatterPlot/intl/fr-FR.json.js +17 -0
  176. package/components/ScatterPlot/intl/fr-FR.json.js.map +1 -0
  177. package/components/ScatterPlot/intl/index.js +10 -0
  178. package/components/ScatterPlot/intl/index.js.map +1 -0
  179. package/components/ScatterPlot/styles.d.ts +17 -0
  180. package/components/ScatterPlot/styles.js +53 -0
  181. package/components/ScatterPlot/styles.js.map +1 -0
  182. package/components/ScatterPlot/types.d.ts +109 -0
  183. package/components/ScatterPlot/types.js +24 -0
  184. package/components/ScatterPlot/types.js.map +1 -0
  185. package/components/ScatterPlot/utils.js +70 -0
  186. package/components/ScatterPlot/utils.js.map +1 -0
  187. package/config.js +15 -0
  188. package/config.js.map +1 -0
  189. package/design-system/src/react-aria/react-aria/i18n/useMessageFormatter.d.ts +5 -0
  190. package/hooks/useBrush.d.ts +17 -0
  191. package/hooks/useBrush.js +48 -0
  192. package/hooks/useBrush.js.map +1 -0
  193. package/hooks/useColor.d.ts +18 -0
  194. package/hooks/useColor.js +20 -0
  195. package/hooks/useColor.js.map +1 -0
  196. package/hooks/useFormatCategoricalData.d.ts +26 -0
  197. package/hooks/useFormatCategoricalData.js +57 -0
  198. package/hooks/useFormatCategoricalData.js.map +1 -0
  199. package/hooks/useZoom.d.ts +26 -0
  200. package/hooks/useZoom.js +39 -0
  201. package/hooks/useZoom.js.map +1 -0
  202. package/index.d.ts +51 -1277
  203. package/index.js +42 -5118
  204. package/index.js.map +1 -1
  205. package/package.json +4 -4
  206. package/scheme.d.ts +32 -0
  207. package/scheme.js +47 -0
  208. package/scheme.js.map +1 -0
  209. package/types/axis.d.ts +48 -0
  210. package/types/data.d.ts +72 -0
  211. package/types/legend.d.ts +30 -0
  212. package/types/legend.js +21 -0
  213. package/types/legend.js.map +1 -0
  214. package/types/scale.d.ts +48 -0
  215. package/types/size.d.ts +20 -0
  216. package/types/size.js +8 -0
  217. package/types/size.js.map +1 -0
  218. package/types/theme.d.ts +23 -0
  219. package/types/theme.js +13 -0
  220. package/types/theme.js.map +1 -0
  221. package/utils/index.d.ts +11 -0
  222. package/utils/index.js +44 -0
  223. package/utils/index.js.map +1 -0
@@ -0,0 +1,352 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef, useEffect, useState } from 'react';
3
+ import { min, extent, scaleLinear, select, descending, scaleSqrt, max } from 'd3';
4
+ import { useTheme, useMessageFormatter, Flexbox, Button, Text } from '@redsift/design-system';
5
+ import intlMessages from './intl/index.js';
6
+ import { ScatterPlotVariant, ScatterPlotLegendVariant } from './types.js';
7
+ import { StyledScatterPlot } from './styles.js';
8
+ import { sizeToDimension, countBy, group, BASE_NUMBER_OF_TICKS } from './utils.js';
9
+ import { mdiMouse, mdiChevronDown, mdiChevronRight } from '../../node_modules/@mdi/js/mdi.js';
10
+ import { Popover } from '@redsift/popovers';
11
+ import { mergeLegends, getSortingMethod } from '../../utils/index.js';
12
+ import { useZoom } from '../../hooks/useZoom.js';
13
+ import { useBrush } from '../../hooks/useBrush.js';
14
+ import { AxisVariant } from '../Axis/types.js';
15
+ import { useColor } from '../../hooks/useColor.js';
16
+ import { Dot } from '../Dot/Dot.js';
17
+ import { Axis } from '../Axis/Axis.js';
18
+ import { Legend } from '../Legend/Legend.js';
19
+ import { LegendVariant } from '../../types/legend.js';
20
+
21
+ const _excluded = ["isBrushable", "className", "data", "dotRole", "disableAnimations", "getDotAnchorProps", "hideControlKeyPanel", "id", "isDotSelected", "labelDecorator", "legendDecorator", "legendVariant", "legendProps", "margins", "onBrush", "onBrushEnd", "onDotClick", "size", "sortingMethod", "colorTheme", "tooltipDecorator", "tooltipVariant", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues", "variant"],
22
+ _excluded2 = ["extraLegendItems"];
23
+ const RenderedScatterPlot = /*#__PURE__*/forwardRef((props, ref) => {
24
+ const {
25
+ isBrushable,
26
+ className,
27
+ data: propsData,
28
+ dotRole,
29
+ disableAnimations,
30
+ getDotAnchorProps,
31
+ hideControlKeyPanel,
32
+ id,
33
+ isDotSelected,
34
+ labelDecorator,
35
+ legendDecorator,
36
+ legendVariant,
37
+ legendProps,
38
+ margins: propsMargins,
39
+ onBrush,
40
+ onBrushEnd,
41
+ onDotClick,
42
+ size,
43
+ sortingMethod,
44
+ colorTheme,
45
+ tooltipDecorator,
46
+ tooltipVariant,
47
+ xAxisVariant,
48
+ xAxisPlacement,
49
+ xAxisTickFormat,
50
+ xAxisTickPadding,
51
+ xAxisTickRotation,
52
+ xAxisTickSize,
53
+ xAxisTickValues,
54
+ yAxisVariant,
55
+ yAxisPlacement,
56
+ yAxisTickFormat,
57
+ yAxisTickPadding,
58
+ yAxisTickRotation,
59
+ yAxisTickSize,
60
+ yAxisTickValues,
61
+ variant
62
+ } = props,
63
+ forwardedProps = _objectWithoutProperties(props, _excluded);
64
+ const cache = useRef();
65
+ const theme = useTheme();
66
+ const format = useMessageFormatter(intlMessages);
67
+ const data = propsData.filter(datum => datum.value && typeof datum.key[0] === 'number' && !Number.isNaN(datum.key[0]) && typeof datum.key[1] === 'number' && !Number.isNaN(datum.key[1]));
68
+ useEffect(() => {
69
+ cache.current = data;
70
+ });
71
+ const chartDimensions = sizeToDimension(size);
72
+ const width = chartDimensions.width;
73
+ const height = chartDimensions.height;
74
+ const margins = _objectSpread2({
75
+ top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,
76
+ left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,
77
+ right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,
78
+ bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8
79
+ }, propsMargins);
80
+ const chartHeight = height - margins.top - margins.bottom;
81
+ const chartWidth = width - margins.left - margins.right;
82
+ const minSize = min([chartWidth, chartHeight]);
83
+ const extendedScaleX = (() => {
84
+ const domain = extent(data, d => d.key[0]);
85
+ const gap = domain[1] - domain[0];
86
+ domain[0] -= gap * 0.1;
87
+ domain[1] += gap * 0.1;
88
+ return scaleLinear().domain(domain).range([0, chartWidth]).nice();
89
+ })();
90
+ const extendedScaleY = (() => {
91
+ const domain = extent(data, d => d.key[1]);
92
+ const gap = domain[1] - domain[0];
93
+ domain[0] -= gap * 0.1;
94
+ domain[1] += gap * 0.1;
95
+ return scaleLinear().domain(domain).range([chartHeight, 0]).nice();
96
+ })();
97
+ const hasCategory = data[0] && data[0].key.length >= 3 && data[0].key[2] !== null && data[0].key[2] !== undefined;
98
+ const countsByCategory = hasCategory ? countBy(data, sortingMethod) : undefined;
99
+ const colorScale = useColor({
100
+ data: countsByCategory || data,
101
+ colorTheme: colorTheme,
102
+ category: 'key',
103
+ theme
104
+ });
105
+ const svgRef = useRef();
106
+ const brushRef = useRef();
107
+ const svgBrushRef = useRef();
108
+ const {
109
+ scaleX,
110
+ scaleY,
111
+ transform
112
+ } = useZoom({
113
+ svgRef,
114
+ scaleX: extendedScaleX,
115
+ scaleY: extendedScaleY,
116
+ size,
117
+ onZoom: () => {
118
+ if (brushRef.current && svgBrushRef.current) {
119
+ brushRef.current.clear(select(svgBrushRef.current));
120
+ onBrushEnd === null || onBrushEnd === void 0 ? void 0 : onBrushEnd(null);
121
+ }
122
+ }
123
+ });
124
+ useBrush({
125
+ brushRef,
126
+ svgRef: svgBrushRef,
127
+ extent: [[0, 0], [chartWidth, chartHeight]],
128
+ scaleX,
129
+ scaleY,
130
+ isBrushable,
131
+ isGridded: variant === ScatterPlotVariant.gridded,
132
+ onBrush,
133
+ onBrushEnd
134
+ });
135
+ const circles = variant === ScatterPlotVariant.gridded ? group(data, scaleX, scaleY).sort((a, b) => {
136
+ if (a.y !== b.y) {
137
+ return b.y - a.y;
138
+ }
139
+ if (a.x !== b.x) {
140
+ return a.x - b.x;
141
+ }
142
+ return descending(a.points.length, b.points.length);
143
+ }) : data.map(d => {
144
+ var _d$key$;
145
+ return {
146
+ category: (_d$key$ = d.key[2]) !== null && _d$key$ !== void 0 ? _d$key$ : 'default',
147
+ x: d.key[0],
148
+ y: d.key[1],
149
+ data: {
150
+ key: d.key,
151
+ value: 1
152
+ },
153
+ points: [d]
154
+ };
155
+ });
156
+ const globalSize = variant === ScatterPlotVariant.gridded ? scaleSqrt().domain([1, Math.max(max(circles, d => d.points.length), 1)]).range([3, minSize / BASE_NUMBER_OF_TICKS / 2]) : undefined;
157
+ const legendWidth = useRef();
158
+ if (countsByCategory && !legendWidth.current) {
159
+ legendWidth.current = `${Math.max(...countsByCategory.map(d => d.key.length + String(d.value).length)) * 8 + 32}px`;
160
+ }
161
+ const [isKeyPanelOpen, setIsKeyPanelOpen] = useState(false);
162
+ const categories = [];
163
+ // const pivotedTable = circles.reduce((acc, item) => {
164
+ // const { x, category, y } = item;
165
+ // if (!categories.includes(category)) {
166
+ // categories.push(category);
167
+ // }
168
+ // const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();
169
+
170
+ // let entry = acc.find((e) => e.key === formattedKey);
171
+ // if (!entry) {
172
+ // entry = { key: formattedKey };
173
+ // acc.push(entry);
174
+ // }
175
+
176
+ // entry[category] = y;
177
+
178
+ // return acc;
179
+ // }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);
180
+
181
+ const _ref = legendProps || {},
182
+ {
183
+ extraLegendItems
184
+ } = _ref,
185
+ forwardedLegendProps = _objectWithoutProperties(_ref, _excluded2);
186
+ return /*#__PURE__*/React__default.createElement(StyledScatterPlot, _extends({
187
+ mode: typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static',
188
+ definition: hasCategory ? format('definition-with-categories', {
189
+ categoryLength: categories.length,
190
+ circleLength: circles.length
191
+ }) : format('definition', {
192
+ circleLength: circles.length
193
+ }),
194
+ xAxisDefinition: format('x-axis-definition', {
195
+ numAxis: xAxisPlacement === 'both' ? 2 : 1,
196
+ start: scaleX.domain()[0],
197
+ end: scaleX.domain()[1]
198
+ }),
199
+ yAxisDefinition: format('y-axis-definition', {
200
+ numAxis: yAxisPlacement === 'both' ? 2 : 1,
201
+ start: scaleY.domain()[0],
202
+ end: scaleY.domain()[1]
203
+ })
204
+ }, forwardedProps, {
205
+ id: id,
206
+ className: className,
207
+ ref: ref
208
+ }), /*#__PURE__*/React__default.createElement(Flexbox, {
209
+ flexDirection: "column",
210
+ alignItems: "center",
211
+ gap: "8"
212
+ }, !hideControlKeyPanel ? /*#__PURE__*/React__default.createElement(Flexbox, {
213
+ width: width,
214
+ position: "absolute"
215
+ }, /*#__PURE__*/React__default.createElement(Flexbox, {
216
+ flexDirection: "column",
217
+ alignItems: "flex-end",
218
+ position: "absolute",
219
+ top: `${margins.top + 16}px`,
220
+ right: `${margins.right + 16}px`
221
+ }, /*#__PURE__*/React__default.createElement(Popover, {
222
+ placement: "bottom-end",
223
+ isOpen: isKeyPanelOpen,
224
+ onOpen: setIsKeyPanelOpen
225
+ }, /*#__PURE__*/React__default.createElement(Popover.Trigger, null, /*#__PURE__*/React__default.createElement(Button, {
226
+ variant: "secondary",
227
+ leftIcon: mdiMouse,
228
+ rightIcon: isKeyPanelOpen ? mdiChevronDown : mdiChevronRight,
229
+ color: "grey",
230
+ style: {
231
+ border: '1px solid var(--redsift-color-neutral-mid-grey)',
232
+ gap: '4px'
233
+ }
234
+ })), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement(Flexbox, {
235
+ flexDirection: "column",
236
+ alignItems: "flex-start"
237
+ }, /*#__PURE__*/React__default.createElement(Text, {
238
+ margin: "8px 16px 0",
239
+ fontSize: "13px"
240
+ }, "Zoom - Mouse wheel"), /*#__PURE__*/React__default.createElement(Text, {
241
+ margin: "0 16px",
242
+ fontSize: "13px"
243
+ }, "Pan - Left click and drag"), /*#__PURE__*/React__default.createElement(Text, {
244
+ margin: "0 16px 8px",
245
+ fontSize: "13px"
246
+ }, "Select - Hold shift, left click and drag")))))) : null, /*#__PURE__*/React__default.createElement("svg", {
247
+ ref: svgRef,
248
+ width: width,
249
+ height: height
250
+ }, /*#__PURE__*/React__default.createElement("g", {
251
+ ref: svgBrushRef,
252
+ transform: `translate(${margins.left},${margins.top})`
253
+ }), /*#__PURE__*/React__default.createElement("g", {
254
+ transform: `translate(${margins.left},${margins.top})`
255
+ }, /*#__PURE__*/React__default.createElement("g", null, circles.map((circle, index) => {
256
+ var _countsByCategory$fin;
257
+ const scaleXDomain = scaleX.domain();
258
+ const scaleYDomain = scaleY.domain();
259
+ if (circle.x < scaleXDomain[0] || circle.x > scaleXDomain[1] || circle.y < scaleYDomain[0] || circle.y > scaleYDomain[1]) {
260
+ return null;
261
+ }
262
+ const to = _objectSpread2(_objectSpread2({}, circle), {}, {
263
+ data: _objectSpread2(_objectSpread2({}, circle.data), {}, {
264
+ percent: circle.category ? circle.data.value / (countsByCategory === null || countsByCategory === void 0 ? void 0 : (_countsByCategory$fin = countsByCategory.find(_ref2 => {
265
+ let {
266
+ key
267
+ } = _ref2;
268
+ return key === circle.category;
269
+ })) === null || _countsByCategory$fin === void 0 ? void 0 : _countsByCategory$fin.value) : undefined
270
+ }),
271
+ r: variant === ScatterPlotVariant.gridded ? globalSize(circle.points.length) / (transform.k < 1 ? transform.k : 1) : 4
272
+ });
273
+ return /*#__PURE__*/React__default.createElement(Dot, {
274
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(circle.category),
275
+ data: to,
276
+ dataset: circles,
277
+ isSelected: Boolean(isDotSelected === null || isDotSelected === void 0 ? void 0 : isDotSelected(to)),
278
+ key: `circle _${index}`,
279
+ labelDecorator: labelDecorator,
280
+ onClick: onDotClick,
281
+ role: dotRole,
282
+ scaleX: scaleX,
283
+ scaleY: scaleY,
284
+ tooltipDecorator: tooltipDecorator,
285
+ tooltipVariant: tooltipVariant
286
+ });
287
+ }))), /*#__PURE__*/React__default.createElement("g", {
288
+ transform: `translate(${margins.left},${margins.top})`
289
+ }, ['bottom', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
290
+ disableAnimations: disableAnimations,
291
+ position: "bottom",
292
+ length: chartWidth,
293
+ scale: scaleX,
294
+ x: 0,
295
+ y: chartHeight,
296
+ tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 8,
297
+ tickPadding: xAxisTickPadding,
298
+ tickRotation: xAxisTickRotation,
299
+ tickSize: xAxisTickSize,
300
+ tickFormat: xAxisTickFormat,
301
+ variant: xAxisVariant
302
+ }) : null, ['top', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
303
+ disableAnimations: disableAnimations,
304
+ position: "top",
305
+ length: chartWidth,
306
+ scale: scaleX,
307
+ x: 0,
308
+ y: 0,
309
+ tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 8,
310
+ tickPadding: xAxisTickPadding,
311
+ tickRotation: xAxisTickRotation,
312
+ tickSize: xAxisTickSize,
313
+ tickFormat: xAxisTickFormat,
314
+ variant: xAxisVariant
315
+ }) : null, ['left', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
316
+ disableAnimations: disableAnimations,
317
+ position: "left",
318
+ length: chartHeight,
319
+ scale: scaleY,
320
+ x: 0,
321
+ y: chartHeight,
322
+ tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 8,
323
+ tickPadding: yAxisTickPadding,
324
+ tickRotation: yAxisTickRotation,
325
+ tickSize: yAxisTickSize,
326
+ tickFormat: yAxisTickFormat,
327
+ variant: yAxisVariant
328
+ }) : null, ['right', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
329
+ disableAnimations: disableAnimations,
330
+ position: "right",
331
+ length: chartHeight,
332
+ scale: scaleY,
333
+ x: chartWidth,
334
+ y: chartHeight,
335
+ tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 8,
336
+ tickPadding: yAxisTickPadding,
337
+ tickRotation: yAxisTickRotation,
338
+ tickSize: yAxisTickSize,
339
+ tickFormat: yAxisTickFormat,
340
+ variant: yAxisVariant
341
+ }) : null))), hasCategory && legendVariant !== ScatterPlotLegendVariant.none ? /*#__PURE__*/React__default.createElement(Legend, _extends({
342
+ data: (extraLegendItems ? mergeLegends(extraLegendItems, countsByCategory).sort(getSortingMethod(sortingMethod)) : countsByCategory).map(d => _objectSpread2(_objectSpread2({}, d), {}, {
343
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(d.key)
344
+ })),
345
+ variant: legendVariant === ScatterPlotLegendVariant.externalLabelValue ? LegendVariant.value : legendVariant === ScatterPlotLegendVariant.externalLabelPercent ? LegendVariant.percent : legendVariant === ScatterPlotLegendVariant.externalLabel ? LegendVariant.label : LegendVariant.custom,
346
+ width: legendWidth.current,
347
+ legendDecorator: legendDecorator ? (datum, props) => legendDecorator(datum, props) : undefined
348
+ }, forwardedLegendProps)) : null);
349
+ });
350
+
351
+ export { RenderedScatterPlot };
352
+ //# sourceMappingURL=RenderedScatterPlot.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,6 @@
1
+ import { Comp } from '@redsift/design-system';
2
+ import { ScatterPlotProps } from './types.js';
3
+
4
+ declare const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement>;
5
+
6
+ export { ScatterPlot };
@@ -0,0 +1,105 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_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/theme.js';
10
+ import { ChartSize } from '../../types/size.js';
11
+ import { TooltipVariant } from '../../types/legend.js';
12
+ import { AxisVariant } from '../Axis/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=ScatterPlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScatterPlot.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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"}
@@ -0,0 +1,12 @@
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.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-US.json.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.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr-FR.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import enUS from './en-US.json.js';
2
+ import frFR from './fr-FR.json.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/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;;;;"}
@@ -0,0 +1,17 @@
1
+ import * as styled_components from 'styled-components';
2
+ import { ScatterPlotProps } from './types.js';
3
+ import * as _redsift_design_system from '@redsift/design-system';
4
+ import { Theme } from '@redsift/design-system';
5
+ import { ChartContainerProps } from '../ChartContainer/types.js';
6
+
7
+ /**
8
+ * Component style.
9
+ */
10
+ declare const StyledScatterPlot: styled_components.StyledComponent<_redsift_design_system.Comp<ChartContainerProps, HTMLDivElement>, any, ScatterPlotProps, never>;
11
+ declare const StyledScatterPlotEmptyText: styled_components.StyledComponent<"div", any, {
12
+ $maxWidth: number;
13
+ $textSize: number;
14
+ $theme: Theme;
15
+ }, never>;
16
+
17
+ export { StyledScatterPlot, StyledScatterPlotEmptyText };