@redsift/dashboard 11.6.0-muiv5-alpha.4 → 11.6.0-muiv5-alpha.6

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 (91) hide show
  1. package/_internal/ChartEmptyState.d.ts +3 -0
  2. package/{components/ChartEmptyState/types.d.ts → _internal/ChartEmptyState.d2.ts} +4 -1
  3. package/_internal/ChartEmptyState.js +2 -0
  4. package/_internal/ChartEmptyState.js.map +1 -0
  5. package/{components/ChartEmptyState/ChartEmptyState.js → _internal/ChartEmptyState2.js} +34 -3
  6. package/_internal/ChartEmptyState2.js.map +1 -0
  7. package/_internal/CrossfilterRegistry.d.ts +9 -0
  8. package/_internal/CrossfilterRegistry.js +2 -0
  9. package/_internal/CrossfilterRegistry.js.map +1 -0
  10. package/{components/CrossfilterRegistry/CrossfilterRegistry.js → _internal/CrossfilterRegistry2.js} +2 -2
  11. package/_internal/CrossfilterRegistry2.js.map +1 -0
  12. package/_internal/Dashboard.d.ts +7 -0
  13. package/_internal/Dashboard.js +4 -0
  14. package/_internal/Dashboard.js.map +1 -0
  15. package/{components/Dashboard/reducer.js → _internal/Dashboard2.js} +44 -4
  16. package/_internal/Dashboard2.js.map +1 -0
  17. package/_internal/PdfExportButton.d.ts +3 -0
  18. package/{components/PdfExportButton/types.d.ts → _internal/PdfExportButton.d2.ts} +4 -2
  19. package/_internal/PdfExportButton.js +2 -0
  20. package/_internal/PdfExportButton.js.map +1 -0
  21. package/_internal/PdfExportButton2.js +417 -0
  22. package/_internal/PdfExportButton2.js.map +1 -0
  23. package/_internal/TimeSeriesBarChart.d.ts +5 -0
  24. package/{components/TimeSeriesBarChart/types.d.ts → _internal/TimeSeriesBarChart.d2.ts} +5 -3
  25. package/_internal/TimeSeriesBarChart.js +2 -0
  26. package/_internal/TimeSeriesBarChart.js.map +1 -0
  27. package/{components/TimeSeriesBarChart/TimeSeriesBarChart.js → _internal/TimeSeriesBarChart2.js} +120 -11
  28. package/_internal/TimeSeriesBarChart2.js.map +1 -0
  29. package/_internal/WithFilters.d.ts +4 -0
  30. package/{components/WithFilters/types.d.ts → _internal/WithFilters.d2.ts} +5 -3
  31. package/_internal/WithFilters.js +2 -0
  32. package/_internal/WithFilters.js.map +1 -0
  33. package/_internal/WithFilters2.js +701 -0
  34. package/_internal/WithFilters2.js.map +1 -0
  35. package/{_virtual/_rollupPluginBabelHelpers.js → _internal/context.js} +11 -2
  36. package/_internal/context.js.map +1 -0
  37. package/{components/Dashboard/types.d.ts → _internal/reducer.d.ts} +11 -3
  38. package/{types.d.ts → _internal/types.d.ts} +1 -1
  39. package/{components/Dashboard → _internal}/types.js +1 -1
  40. package/_internal/types.js.map +1 -0
  41. package/index.d.ts +19 -14
  42. package/index.js +15 -11
  43. package/index.js.map +1 -1
  44. package/package.json +2 -2
  45. package/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  46. package/components/ChartEmptyState/ChartEmptyState.d.ts +0 -6
  47. package/components/ChartEmptyState/ChartEmptyState.js.map +0 -1
  48. package/components/ChartEmptyState/styles.js +0 -35
  49. package/components/ChartEmptyState/styles.js.map +0 -1
  50. package/components/CrossfilterRegistry/CrossfilterRegistry.js.map +0 -1
  51. package/components/Dashboard/Dashboard.d.ts +0 -6
  52. package/components/Dashboard/Dashboard.js +0 -46
  53. package/components/Dashboard/Dashboard.js.map +0 -1
  54. package/components/Dashboard/context.d.ts +0 -7
  55. package/components/Dashboard/context.js +0 -11
  56. package/components/Dashboard/context.js.map +0 -1
  57. package/components/Dashboard/reducer.d.ts +0 -5
  58. package/components/Dashboard/reducer.js.map +0 -1
  59. package/components/Dashboard/types.js.map +0 -1
  60. package/components/PdfExportButton/PdfDocument.js +0 -173
  61. package/components/PdfExportButton/PdfDocument.js.map +0 -1
  62. package/components/PdfExportButton/PdfExportButton.d.ts +0 -6
  63. package/components/PdfExportButton/PdfExportButton.js +0 -110
  64. package/components/PdfExportButton/PdfExportButton.js.map +0 -1
  65. package/components/PdfExportButton/styles.js +0 -146
  66. package/components/PdfExportButton/styles.js.map +0 -1
  67. package/components/TimeSeriesBarChart/TimeSeriesBarChart.d.ts +0 -6
  68. package/components/TimeSeriesBarChart/TimeSeriesBarChart.js.map +0 -1
  69. package/components/TimeSeriesBarChart/styles.js +0 -98
  70. package/components/TimeSeriesBarChart/styles.js.map +0 -1
  71. package/components/TimeSeriesBarChart/types.js +0 -22
  72. package/components/TimeSeriesBarChart/types.js.map +0 -1
  73. package/components/WithFilters/FilterableBarChart.js +0 -152
  74. package/components/WithFilters/FilterableBarChart.js.map +0 -1
  75. package/components/WithFilters/FilterableDataGrid.js +0 -51
  76. package/components/WithFilters/FilterableDataGrid.js.map +0 -1
  77. package/components/WithFilters/FilterablePieChart.js +0 -160
  78. package/components/WithFilters/FilterablePieChart.js.map +0 -1
  79. package/components/WithFilters/FilterableScatterPlot.js +0 -252
  80. package/components/WithFilters/FilterableScatterPlot.js.map +0 -1
  81. package/components/WithFilters/WithFilters.d.ts +0 -6
  82. package/components/WithFilters/WithFilters.js +0 -36
  83. package/components/WithFilters/WithFilters.js.map +0 -1
  84. package/hooks/useCategoricalChartAsListbox.js +0 -94
  85. package/hooks/useCategoricalChartAsListbox.js.map +0 -1
  86. package/utils/groupReducers/groupReduceCount.d.ts +0 -6
  87. package/utils/groupReducers/groupReduceCount.js +0 -5
  88. package/utils/groupReducers/groupReduceCount.js.map +0 -1
  89. package/utils/groupReducers/groupReduceSum.d.ts +0 -7
  90. package/utils/groupReducers/groupReduceSum.js +0 -5
  91. package/utils/groupReducers/groupReduceSum.js.map +0 -1
@@ -1,252 +0,0 @@
1
- import { objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { useContext, useState, useEffect, isValidElement } from 'react';
3
- import { useId } from '@redsift/design-system';
4
- import { DashboardContext } from '../Dashboard/context.js';
5
- import { CrossfilterRegistry } from '../CrossfilterRegistry/CrossfilterRegistry.js';
6
- import { DashboardReducerActionType } from '../Dashboard/types.js';
7
- import { ChartEmptyState } from '../ChartEmptyState/ChartEmptyState.js';
8
-
9
- const filter = (legendFilters, brushFilters) => d => {
10
- if (legendFilters && legendFilters.length && brushFilters) {
11
- return d[0] >= brushFilters.minX && d[0] <= brushFilters.maxX && d[1] >= brushFilters.minY && d[1] <= brushFilters.maxY && legendFilters.includes(d[2]);
12
- } else if (legendFilters && legendFilters.length) {
13
- return legendFilters.includes(d[2]);
14
- } else if (brushFilters) {
15
- return d[0] >= brushFilters.minX && d[0] <= brushFilters.maxX && d[1] >= brushFilters.minY && d[1] <= brushFilters.maxY;
16
- } else {
17
- return true;
18
- }
19
- };
20
- const isFiltered = (legendFilters, brushFilters) => datum => {
21
- if (legendFilters && legendFilters.length && brushFilters) {
22
- return datum.data.key[0] >= brushFilters.minX && datum.data.key[0] <= brushFilters.maxX && datum.data.key[1] >= brushFilters.minY && datum.data.key[1] <= brushFilters.maxY && legendFilters.includes(datum.data.key[2]);
23
- } else if (legendFilters && legendFilters.length) {
24
- return legendFilters.includes(datum.data.key[2]);
25
- } else if (brushFilters) {
26
- return datum.data.key[0] >= brushFilters.minX && datum.data.key[0] <= brushFilters.maxX && datum.data.key[1] >= brushFilters.minY && datum.data.key[1] <= brushFilters.maxY;
27
- } else {
28
- return true;
29
- }
30
- };
31
- const FilterableScatterPlot = props => {
32
- const {
33
- children,
34
- datagridCoordinatesCategoryDimFilter,
35
- dimension,
36
- group,
37
- id: propsId,
38
- isDimensionArray,
39
- isResetable,
40
- localeText,
41
- onFilter
42
- } = props;
43
- const [_id] = useId();
44
- const id = propsId !== null && propsId !== void 0 ? propsId : _id;
45
- const {
46
- emptyChartTitle,
47
- emptyChartSubtitle,
48
- emptyChartResetLabel
49
- } = _objectSpread2({}, localeText);
50
- const {
51
- data,
52
- dispatch,
53
- toggleUpdateContext
54
- // state: { tableFilters },
55
- } = useContext(DashboardContext);
56
- const [ndxDimension, setNdxDimension] = useState();
57
- const [ndxGroup, setNdxGroup] = useState();
58
- useEffect(() => {
59
- const computedNdxDimension = CrossfilterRegistry.get(data).dimension(dimension, isDimensionArray);
60
- const computedNdxGroup = group ? group(computedNdxDimension) : computedNdxDimension.group();
61
- setNdxDimension(computedNdxDimension);
62
- setNdxGroup(computedNdxGroup);
63
- return function cleanup() {
64
- computedNdxDimension.filterAll();
65
- };
66
- }, [dimension, data, group]);
67
- const [brushFilters, setBrushFilters] = useState();
68
- const [legendFilters, setLegendFilters] = useState([]);
69
- const handleBrushFilter = newFilters => {
70
- setBrushFilters(newFilters);
71
- ndxDimension.filter(d => filter(legendFilters, newFilters)(d));
72
- toggleUpdateContext === null || toggleUpdateContext === void 0 ? void 0 : toggleUpdateContext();
73
- if (datagridCoordinatesCategoryDimFilter) {
74
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
75
- type: DashboardReducerActionType.FilterTable,
76
- filter: {
77
- id: `${id}-x`,
78
- columnField: datagridCoordinatesCategoryDimFilter[0].field,
79
- operatorValue: datagridCoordinatesCategoryDimFilter[0].operator,
80
- value: [newFilters.minX, newFilters.maxX]
81
- }
82
- });
83
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
84
- type: DashboardReducerActionType.FilterTable,
85
- filter: {
86
- id: `${id}-y`,
87
- columnField: datagridCoordinatesCategoryDimFilter[1].field,
88
- operatorValue: datagridCoordinatesCategoryDimFilter[1].operator,
89
- value: [newFilters.minY, newFilters.maxY]
90
- }
91
- });
92
- }
93
- if (onFilter) {
94
- onFilter(newFilters);
95
- }
96
- };
97
- const handleLegendFilter = category => {
98
- let newFilters;
99
- if (legendFilters.includes(category)) {
100
- newFilters = legendFilters.filter(f => f !== category);
101
- } else {
102
- newFilters = [...legendFilters, category];
103
- }
104
- setLegendFilters(newFilters);
105
- ndxDimension.filter(d => filter(newFilters, brushFilters)(d));
106
- toggleUpdateContext === null || toggleUpdateContext === void 0 ? void 0 : toggleUpdateContext();
107
- if ((datagridCoordinatesCategoryDimFilter === null || datagridCoordinatesCategoryDimFilter === void 0 ? void 0 : datagridCoordinatesCategoryDimFilter.length) === 3) {
108
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
109
- type: DashboardReducerActionType.FilterTable,
110
- filter: {
111
- id: `${id}-category`,
112
- columnField: datagridCoordinatesCategoryDimFilter[2].field,
113
- operatorValue: datagridCoordinatesCategoryDimFilter[2].operator,
114
- value: newFilters
115
- }
116
- });
117
- }
118
- if (onFilter) {
119
- onFilter(newFilters);
120
- }
121
- };
122
- const resetFilters = function () {
123
- let brush = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
124
- let legend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
125
- if (brush) {
126
- setBrushFilters(undefined);
127
- }
128
- if (legend) {
129
- setLegendFilters([]);
130
- }
131
- ndxDimension.filter(d => filter(legend ? [] : legendFilters, brush ? undefined : brushFilters)(d));
132
- toggleUpdateContext === null || toggleUpdateContext === void 0 ? void 0 : toggleUpdateContext();
133
- if (datagridCoordinatesCategoryDimFilter) {
134
- if (brush) {
135
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
136
- type: DashboardReducerActionType.ResetFilter,
137
- filter: {
138
- id: `${id}-x`,
139
- columnField: datagridCoordinatesCategoryDimFilter[0].field,
140
- operatorValue: datagridCoordinatesCategoryDimFilter[0].operator
141
- }
142
- });
143
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
144
- type: DashboardReducerActionType.ResetFilter,
145
- filter: {
146
- id: `${id}-y`,
147
- columnField: datagridCoordinatesCategoryDimFilter[1].field,
148
- operatorValue: datagridCoordinatesCategoryDimFilter[1].operator
149
- }
150
- });
151
- }
152
- if (legend && datagridCoordinatesCategoryDimFilter.length === 3) {
153
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
154
- type: DashboardReducerActionType.ResetFilter,
155
- filter: {
156
- id: `${id}-category`,
157
- columnField: datagridCoordinatesCategoryDimFilter[2].field,
158
- operatorValue: datagridCoordinatesCategoryDimFilter[2].operator
159
- }
160
- });
161
- }
162
- }
163
- if (onFilter) {
164
- onFilter();
165
- }
166
- };
167
-
168
- // useEffect(() => {
169
- // if (!datagridCoordinatesCategoryDimFilter) {
170
- // return;
171
- // }
172
-
173
- // const updatedXFilters = tableFilters.find(
174
- // (filter) =>
175
- // filter.columnField === datagridCoordinatesCategoryDimFilter[0].field &&
176
- // filter.operatorValue ===
177
- // datagridCoordinatesCategoryDimFilter[0].operator
178
- // )?.value;
179
- // const updatedYFilters = tableFilters.find(
180
- // (filter) =>
181
- // filter.columnField === datagridCoordinatesCategoryDimFilter[1].field &&
182
- // filter.operatorValue ===
183
- // datagridCoordinatesCategoryDimFilter[1].operator
184
- // )?.value;
185
- // console.log(updatedXFilters, updatedYFilters, brushFilters);
186
- // const updatedFilters = {
187
- // minX: Number(updatedXFilters[0]),
188
- // maxX: Number(updatedXFilters[0]),
189
- // minY: Number(updatedYFilters[1]),
190
- // maxY: Number(updatedYFilters[1]),
191
- // }
192
- // if (updatedFilters && JSON.stringify(updatedFilters) !== JSON.stringify(brushFilters)) {
193
- // }
194
- // }, [tableFilters]);
195
-
196
- const emptyComponent = /*#__PURE__*/React.createElement(ChartEmptyState, {
197
- title: emptyChartTitle,
198
- subtitle: emptyChartSubtitle,
199
- resetLabel: emptyChartResetLabel,
200
- onReset: resetFilters
201
- });
202
- const legendProps = {
203
- onLegendItemClick: datum => {
204
- handleLegendFilter(datum.data.key);
205
- },
206
- isLegendItemSelected: datum => {
207
- return legendFilters.length === 0 || legendFilters.includes(datum.data.key);
208
- },
209
- legendItemRole: 'option',
210
- role: 'group'
211
- };
212
- const filterProps = {
213
- isBrushable: true,
214
- data: ndxGroup ? JSON.parse(JSON.stringify(ndxGroup.all())) : undefined,
215
- dotRole: 'option',
216
- role: 'listbox',
217
- emptyComponent,
218
- id,
219
- legendProps,
220
- onBrush: (selection, scaleX, scaleY) => {
221
- if (selection) {
222
- setBrushFilters({
223
- minX: scaleX.invert(selection[0][0]),
224
- minY: scaleY.invert(selection[1][1]),
225
- maxX: scaleX.invert(selection[1][0]),
226
- maxY: scaleY.invert(selection[0][1])
227
- });
228
- }
229
- },
230
- onBrushEnd: (selection, scaleX, scaleY) => {
231
- if (selection && scaleX && scaleY) {
232
- handleBrushFilter({
233
- minX: scaleX.invert(selection[0][0]),
234
- minY: scaleY.invert(selection[1][1]),
235
- maxX: scaleX.invert(selection[1][0]),
236
- maxY: scaleY.invert(selection[0][1])
237
- });
238
- } else {
239
- resetFilters(true, false);
240
- }
241
- },
242
- onReset: isResetable ? resetFilters : undefined,
243
- isDotSelected: datum => isFiltered(legendFilters, brushFilters)(datum)
244
- };
245
- if ( /*#__PURE__*/isValidElement(children)) {
246
- return /*#__PURE__*/React.cloneElement(children, _objectSpread2({}, filterProps));
247
- }
248
- return null;
249
- };
250
-
251
- export { FilterableScatterPlot };
252
- //# sourceMappingURL=FilterableScatterPlot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterableScatterPlot.js","sources":["../../../src/components/WithFilters/FilterableScatterPlot.tsx"],"sourcesContent":["import { DotDatum, LegendItemDatum } from '@redsift/charts';\nimport { Dimension, Group } from '../../types';\nimport React, { useEffect, useContext, useState, isValidElement } from 'react';\nimport { CrossfilterRegistry } from '../CrossfilterRegistry';\nimport { DashboardContext, DashboardReducerActionType } from '../Dashboard';\nimport { ChartEmptyState } from '../ChartEmptyState';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { ChartsWithFiltersProps } from './types';\nimport { useId } from '@redsift/design-system';\n\ntype BrushFilter = {\n minX: number;\n minY: number;\n maxX: number;\n maxY: number;\n};\n\nconst filter = (legendFilters?: string[], brushFilters?: BrushFilter) => (d: [number, number, string]) => {\n if (legendFilters && legendFilters.length && brushFilters) {\n return (\n d[0] >= brushFilters.minX &&\n d[0] <= brushFilters.maxX &&\n d[1] >= brushFilters.minY &&\n d[1] <= brushFilters.maxY &&\n legendFilters.includes(d[2])\n );\n } else if (legendFilters && legendFilters.length) {\n return legendFilters.includes(d[2]);\n } else if (brushFilters) {\n return (\n d[0] >= brushFilters.minX && d[0] <= brushFilters.maxX && d[1] >= brushFilters.minY && d[1] <= brushFilters.maxY\n );\n } else {\n return true;\n }\n};\n\nconst isFiltered = (legendFilters?: string[], brushFilters?: BrushFilter) => (datum: DotDatum) => {\n if (legendFilters && legendFilters.length && brushFilters) {\n return (\n (datum.data.key[0] as number) >= brushFilters.minX &&\n (datum.data.key[0] as number) <= brushFilters.maxX &&\n (datum.data.key[1] as number) >= brushFilters.minY &&\n (datum.data.key[1] as number) <= brushFilters.maxY &&\n legendFilters.includes(datum.data.key[2] as string)\n );\n } else if (legendFilters && legendFilters.length) {\n return legendFilters.includes(datum.data.key[2] as string);\n } else if (brushFilters) {\n return (\n (datum.data.key[0] as number) >= brushFilters.minX &&\n (datum.data.key[0] as number) <= brushFilters.maxX &&\n (datum.data.key[1] as number) >= brushFilters.minY &&\n (datum.data.key[1] as number) <= brushFilters.maxY\n );\n } else {\n return true;\n }\n};\n\nexport const FilterableScatterPlot: React.FC<ChartsWithFiltersProps> = (props) => {\n const {\n children,\n datagridCoordinatesCategoryDimFilter,\n dimension,\n group,\n id: propsId,\n isDimensionArray,\n isResetable,\n localeText,\n onFilter,\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const { emptyChartTitle, emptyChartSubtitle, emptyChartResetLabel } = {\n ...localeText,\n };\n\n const {\n data,\n dispatch,\n toggleUpdateContext,\n // state: { tableFilters },\n } = useContext(DashboardContext);\n\n const [ndxDimension, setNdxDimension] = useState<Dimension>();\n const [ndxGroup, setNdxGroup] = useState<Group>();\n\n useEffect(() => {\n const computedNdxDimension = CrossfilterRegistry.get(data).dimension(dimension, isDimensionArray);\n const computedNdxGroup = group ? group(computedNdxDimension) : computedNdxDimension.group();\n setNdxDimension(computedNdxDimension);\n setNdxGroup(computedNdxGroup);\n return function cleanup() {\n computedNdxDimension.filterAll();\n };\n }, [dimension, data, group]);\n\n const [brushFilters, setBrushFilters] = useState<BrushFilter>();\n const [legendFilters, setLegendFilters] = useState<string[]>([]);\n\n const handleBrushFilter = (newFilters: BrushFilter) => {\n setBrushFilters(newFilters);\n ndxDimension!.filter((d) => filter(legendFilters, newFilters)(d as unknown as [number, number, string]));\n toggleUpdateContext?.();\n\n if (datagridCoordinatesCategoryDimFilter) {\n dispatch?.({\n type: DashboardReducerActionType.FilterTable,\n filter: {\n id: `${id}-x`,\n columnField: datagridCoordinatesCategoryDimFilter[0].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[0].operator,\n value: [newFilters.minX, newFilters.maxX],\n },\n });\n dispatch?.({\n type: DashboardReducerActionType.FilterTable,\n filter: {\n id: `${id}-y`,\n columnField: datagridCoordinatesCategoryDimFilter[1].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[1].operator,\n value: [newFilters.minY, newFilters.maxY],\n },\n });\n }\n\n if (onFilter) {\n onFilter(newFilters);\n }\n };\n\n const handleLegendFilter = (category: string) => {\n let newFilters: string[];\n if (legendFilters.includes(category)) {\n newFilters = legendFilters.filter((f) => f !== category);\n } else {\n newFilters = [...legendFilters, category];\n }\n\n setLegendFilters(newFilters);\n ndxDimension!.filter((d) => filter(newFilters, brushFilters)(d as unknown as [number, number, string]));\n toggleUpdateContext?.();\n\n if (datagridCoordinatesCategoryDimFilter?.length === 3) {\n dispatch?.({\n type: DashboardReducerActionType.FilterTable,\n filter: {\n id: `${id}-category`,\n columnField: datagridCoordinatesCategoryDimFilter[2].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[2].operator,\n value: newFilters,\n },\n });\n }\n\n if (onFilter) {\n onFilter(newFilters);\n }\n };\n\n const resetFilters = (brush = true, legend = true) => {\n if (brush) {\n setBrushFilters(undefined);\n }\n if (legend) {\n setLegendFilters([]);\n }\n ndxDimension!.filter((d) =>\n filter(legend ? [] : legendFilters, brush ? undefined : brushFilters)(d as unknown as [number, number, string])\n );\n toggleUpdateContext?.();\n\n if (datagridCoordinatesCategoryDimFilter) {\n if (brush) {\n dispatch?.({\n type: DashboardReducerActionType.ResetFilter,\n filter: {\n id: `${id}-x`,\n columnField: datagridCoordinatesCategoryDimFilter[0].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[0].operator,\n },\n });\n dispatch?.({\n type: DashboardReducerActionType.ResetFilter,\n filter: {\n id: `${id}-y`,\n columnField: datagridCoordinatesCategoryDimFilter[1].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[1].operator,\n },\n });\n }\n if (legend && datagridCoordinatesCategoryDimFilter.length === 3) {\n dispatch?.({\n type: DashboardReducerActionType.ResetFilter,\n filter: {\n id: `${id}-category`,\n columnField: datagridCoordinatesCategoryDimFilter[2].field,\n operatorValue: datagridCoordinatesCategoryDimFilter[2].operator,\n },\n });\n }\n }\n\n if (onFilter) {\n onFilter();\n }\n };\n\n // useEffect(() => {\n // if (!datagridCoordinatesCategoryDimFilter) {\n // return;\n // }\n\n // const updatedXFilters = tableFilters.find(\n // (filter) =>\n // filter.columnField === datagridCoordinatesCategoryDimFilter[0].field &&\n // filter.operatorValue ===\n // datagridCoordinatesCategoryDimFilter[0].operator\n // )?.value;\n // const updatedYFilters = tableFilters.find(\n // (filter) =>\n // filter.columnField === datagridCoordinatesCategoryDimFilter[1].field &&\n // filter.operatorValue ===\n // datagridCoordinatesCategoryDimFilter[1].operator\n // )?.value;\n // console.log(updatedXFilters, updatedYFilters, brushFilters);\n // const updatedFilters = {\n // minX: Number(updatedXFilters[0]),\n // maxX: Number(updatedXFilters[0]),\n // minY: Number(updatedYFilters[1]),\n // maxY: Number(updatedYFilters[1]),\n // }\n // if (updatedFilters && JSON.stringify(updatedFilters) !== JSON.stringify(brushFilters)) {\n // }\n // }, [tableFilters]);\n\n const emptyComponent = (\n <ChartEmptyState\n title={emptyChartTitle!}\n subtitle={emptyChartSubtitle}\n resetLabel={emptyChartResetLabel}\n onReset={resetFilters}\n />\n );\n\n const legendProps = {\n onLegendItemClick: (datum: LegendItemDatum) => {\n handleLegendFilter(datum.data.key);\n },\n isLegendItemSelected: (datum: LegendItemDatum) => {\n return legendFilters.length === 0 || legendFilters.includes(datum.data.key);\n },\n legendItemRole: 'option',\n role: 'group',\n };\n\n const filterProps = {\n isBrushable: true,\n data: ndxGroup ? JSON.parse(JSON.stringify(ndxGroup.all())) : undefined,\n dotRole: 'option',\n role: 'listbox',\n emptyComponent,\n id,\n legendProps,\n onBrush: (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => {\n if (selection) {\n setBrushFilters({\n minX: scaleX.invert(selection[0][0]),\n minY: scaleY.invert(selection[1][1]),\n maxX: scaleX.invert(selection[1][0]),\n maxY: scaleY.invert(selection[0][1]),\n });\n }\n },\n onBrushEnd: (\n selection: [[number, number], [number, number]],\n scaleX?: d3ScaleLinear<number, number>,\n scaleY?: d3ScaleLinear<number, number>\n ) => {\n if (selection && scaleX && scaleY) {\n handleBrushFilter({\n minX: scaleX.invert(selection[0][0]),\n minY: scaleY.invert(selection[1][1]),\n maxX: scaleX.invert(selection[1][0]),\n maxY: scaleY.invert(selection[0][1]),\n });\n } else {\n resetFilters(true, false);\n }\n },\n onReset: isResetable ? resetFilters : undefined,\n isDotSelected: (datum: DotDatum) => isFiltered(legendFilters, brushFilters)(datum),\n };\n\n if (isValidElement(children)) {\n return React.cloneElement(children, { ...filterProps });\n }\n\n return null;\n};\n"],"names":["filter","legendFilters","brushFilters","d","length","minX","maxX","minY","maxY","includes","isFiltered","datum","data","key","FilterableScatterPlot","props","children","datagridCoordinatesCategoryDimFilter","dimension","group","id","propsId","isDimensionArray","isResetable","localeText","onFilter","_id","useId","emptyChartTitle","emptyChartSubtitle","emptyChartResetLabel","_objectSpread","dispatch","toggleUpdateContext","useContext","DashboardContext","ndxDimension","setNdxDimension","useState","ndxGroup","setNdxGroup","useEffect","computedNdxDimension","CrossfilterRegistry","get","computedNdxGroup","cleanup","filterAll","setBrushFilters","setLegendFilters","handleBrushFilter","newFilters","type","DashboardReducerActionType","FilterTable","columnField","field","operatorValue","operator","value","handleLegendFilter","category","f","resetFilters","brush","arguments","undefined","legend","ResetFilter","emptyComponent","React","createElement","ChartEmptyState","title","subtitle","resetLabel","onReset","legendProps","onLegendItemClick","isLegendItemSelected","legendItemRole","role","filterProps","isBrushable","JSON","parse","stringify","all","dotRole","onBrush","selection","scaleX","scaleY","invert","onBrushEnd","isDotSelected","isValidElement","cloneElement"],"mappings":";;;;;;;;AAiBA,MAAMA,MAAM,GAAGA,CAACC,aAAwB,EAAEC,YAA0B,KAAMC,CAA2B,IAAK;AACxG,EAAA,IAAIF,aAAa,IAAIA,aAAa,CAACG,MAAM,IAAIF,YAAY,EAAE;IACzD,OACEC,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACG,IAAI,IACzBF,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACI,IAAI,IACzBH,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACK,IAAI,IACzBJ,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACM,IAAI,IACzBP,aAAa,CAACQ,QAAQ,CAACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEhC,GAAC,MAAM,IAAIF,aAAa,IAAIA,aAAa,CAACG,MAAM,EAAE;IAChD,OAAOH,aAAa,CAACQ,QAAQ,CAACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;GACpC,MAAM,IAAID,YAAY,EAAE;AACvB,IAAA,OACEC,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACG,IAAI,IAAIF,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACI,IAAI,IAAIH,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACK,IAAI,IAAIJ,CAAC,CAAC,CAAC,CAAC,IAAID,YAAY,CAACM,IAAI,CAAA;AAEpH,GAAC,MAAM;AACL,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACF,CAAC,CAAA;AAED,MAAME,UAAU,GAAGA,CAACT,aAAwB,EAAEC,YAA0B,KAAMS,KAAe,IAAK;AAChG,EAAA,IAAIV,aAAa,IAAIA,aAAa,CAACG,MAAM,IAAIF,YAAY,EAAE;AACzD,IAAA,OACGS,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACG,IAAI,IACjDM,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACI,IAAI,IACjDK,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACK,IAAI,IACjDI,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACM,IAAI,IAClDP,aAAa,CAACQ,QAAQ,CAACE,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAA;AAEvD,GAAC,MAAM,IAAIZ,aAAa,IAAIA,aAAa,CAACG,MAAM,EAAE;AAChD,IAAA,OAAOH,aAAa,CAACQ,QAAQ,CAACE,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAA;GAC3D,MAAM,IAAIX,YAAY,EAAE;IACvB,OACGS,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACG,IAAI,IACjDM,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACI,IAAI,IACjDK,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACK,IAAI,IACjDI,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,IAAeX,YAAY,CAACM,IAAI,CAAA;AAEtD,GAAC,MAAM;AACL,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACF,CAAC,CAAA;AAEYM,MAAAA,qBAAuD,GAAIC,KAAK,IAAK;EAChF,MAAM;IACJC,QAAQ;IACRC,oCAAoC;IACpCC,SAAS;IACTC,KAAK;AACLC,IAAAA,EAAE,EAAEC,OAAO;IACXC,gBAAgB;IAChBC,WAAW;IACXC,UAAU;AACVC,IAAAA,QAAAA;AACF,GAAC,GAAGV,KAAK,CAAA;AACT,EAAA,MAAM,CAACW,GAAG,CAAC,GAAGC,KAAK,EAAE,CAAA;EACrB,MAAMP,EAAE,GAAGC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,OAAO,GAAIK,GAAG,CAAA;EAEzB,MAAM;IAAEE,eAAe;IAAEC,kBAAkB;AAAEC,IAAAA,oBAAAA;AAAqB,GAAC,GAAAC,cAAA,CAC9DP,EAAAA,EAAAA,UAAU,CACd,CAAA;EAED,MAAM;IACJZ,IAAI;IACJoB,QAAQ;AACRC,IAAAA,mBAAAA;AACA;AACF,GAAC,GAAGC,UAAU,CAACC,gBAAgB,CAAC,CAAA;EAEhC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,EAAa,CAAA;EAC7D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGF,QAAQ,EAAS,CAAA;AAEjDG,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,oBAAoB,GAAGC,mBAAmB,CAACC,GAAG,CAAChC,IAAI,CAAC,CAACM,SAAS,CAACA,SAAS,EAAEI,gBAAgB,CAAC,CAAA;AACjG,IAAA,MAAMuB,gBAAgB,GAAG1B,KAAK,GAAGA,KAAK,CAACuB,oBAAoB,CAAC,GAAGA,oBAAoB,CAACvB,KAAK,EAAE,CAAA;IAC3FkB,eAAe,CAACK,oBAAoB,CAAC,CAAA;IACrCF,WAAW,CAACK,gBAAgB,CAAC,CAAA;IAC7B,OAAO,SAASC,OAAOA,GAAG;MACxBJ,oBAAoB,CAACK,SAAS,EAAE,CAAA;KACjC,CAAA;GACF,EAAE,CAAC7B,SAAS,EAAEN,IAAI,EAAEO,KAAK,CAAC,CAAC,CAAA;EAE5B,MAAM,CAACjB,YAAY,EAAE8C,eAAe,CAAC,GAAGV,QAAQ,EAAe,CAAA;EAC/D,MAAM,CAACrC,aAAa,EAAEgD,gBAAgB,CAAC,GAAGX,QAAQ,CAAW,EAAE,CAAC,CAAA;EAEhE,MAAMY,iBAAiB,GAAIC,UAAuB,IAAK;IACrDH,eAAe,CAACG,UAAU,CAAC,CAAA;AAC3Bf,IAAAA,YAAY,CAAEpC,MAAM,CAAEG,CAAC,IAAKH,MAAM,CAACC,aAAa,EAAEkD,UAAU,CAAC,CAAChD,CAAwC,CAAC,CAAC,CAAA;AACxG8B,IAAAA,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,EAAI,CAAA;AAEvB,IAAA,IAAIhB,oCAAoC,EAAE;AACxCe,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;QACToB,IAAI,EAAEC,0BAA0B,CAACC,WAAW;AAC5CtD,QAAAA,MAAM,EAAE;UACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAG,EAAA,CAAA;AACbmC,UAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,UAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAQ;UAC/DC,KAAK,EAAE,CAACR,UAAU,CAAC9C,IAAI,EAAE8C,UAAU,CAAC7C,IAAI,CAAA;AAC1C,SAAA;AACF,OAAC,CAAC,CAAA;AACF0B,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;QACToB,IAAI,EAAEC,0BAA0B,CAACC,WAAW;AAC5CtD,QAAAA,MAAM,EAAE;UACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAG,EAAA,CAAA;AACbmC,UAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,UAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAQ;UAC/DC,KAAK,EAAE,CAACR,UAAU,CAAC5C,IAAI,EAAE4C,UAAU,CAAC3C,IAAI,CAAA;AAC1C,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;AAEA,IAAA,IAAIiB,QAAQ,EAAE;MACZA,QAAQ,CAAC0B,UAAU,CAAC,CAAA;AACtB,KAAA;GACD,CAAA;EAED,MAAMS,kBAAkB,GAAIC,QAAgB,IAAK;AAC/C,IAAA,IAAIV,UAAoB,CAAA;AACxB,IAAA,IAAIlD,aAAa,CAACQ,QAAQ,CAACoD,QAAQ,CAAC,EAAE;MACpCV,UAAU,GAAGlD,aAAa,CAACD,MAAM,CAAE8D,CAAC,IAAKA,CAAC,KAAKD,QAAQ,CAAC,CAAA;AAC1D,KAAC,MAAM;AACLV,MAAAA,UAAU,GAAG,CAAC,GAAGlD,aAAa,EAAE4D,QAAQ,CAAC,CAAA;AAC3C,KAAA;IAEAZ,gBAAgB,CAACE,UAAU,CAAC,CAAA;AAC5Bf,IAAAA,YAAY,CAAEpC,MAAM,CAAEG,CAAC,IAAKH,MAAM,CAACmD,UAAU,EAAEjD,YAAY,CAAC,CAACC,CAAwC,CAAC,CAAC,CAAA;AACvG8B,IAAAA,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,EAAI,CAAA;IAEvB,IAAI,CAAAhB,oCAAoC,KAAA,IAAA,IAApCA,oCAAoC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApCA,oCAAoC,CAAEb,MAAM,MAAK,CAAC,EAAE;AACtD4B,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;QACToB,IAAI,EAAEC,0BAA0B,CAACC,WAAW;AAC5CtD,QAAAA,MAAM,EAAE;UACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAU,SAAA,CAAA;AACpBmC,UAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,UAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAQ;AAC/DC,UAAAA,KAAK,EAAER,UAAAA;AACT,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;AAEA,IAAA,IAAI1B,QAAQ,EAAE;MACZA,QAAQ,CAAC0B,UAAU,CAAC,CAAA;AACtB,KAAA;GACD,CAAA;AAED,EAAA,MAAMY,YAAY,GAAG,YAAiC;AAAA,IAAA,IAAhCC,KAAK,GAAAC,SAAA,CAAA7D,MAAA,GAAA,CAAA,IAAA6D,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAAA,IAAA,IAAEE,MAAM,GAAAF,SAAA,CAAA7D,MAAA,GAAA,CAAA,IAAA6D,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAC/C,IAAA,IAAID,KAAK,EAAE;MACThB,eAAe,CAACkB,SAAS,CAAC,CAAA;AAC5B,KAAA;AACA,IAAA,IAAIC,MAAM,EAAE;MACVlB,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACtB,KAAA;IACAb,YAAY,CAAEpC,MAAM,CAAEG,CAAC,IACrBH,MAAM,CAACmE,MAAM,GAAG,EAAE,GAAGlE,aAAa,EAAE+D,KAAK,GAAGE,SAAS,GAAGhE,YAAY,CAAC,CAACC,CAAwC,CAChH,CAAC,CAAA;AACD8B,IAAAA,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,EAAI,CAAA;AAEvB,IAAA,IAAIhB,oCAAoC,EAAE;AACxC,MAAA,IAAI+C,KAAK,EAAE;AACThC,QAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;UACToB,IAAI,EAAEC,0BAA0B,CAACe,WAAW;AAC5CpE,UAAAA,MAAM,EAAE;YACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAG,EAAA,CAAA;AACbmC,YAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,YAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAAA;AACzD,WAAA;AACF,SAAC,CAAC,CAAA;AACF1B,QAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;UACToB,IAAI,EAAEC,0BAA0B,CAACe,WAAW;AAC5CpE,UAAAA,MAAM,EAAE;YACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAG,EAAA,CAAA;AACbmC,YAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,YAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAAA;AACzD,WAAA;AACF,SAAC,CAAC,CAAA;AACJ,OAAA;AACA,MAAA,IAAIS,MAAM,IAAIlD,oCAAoC,CAACb,MAAM,KAAK,CAAC,EAAE;AAC/D4B,QAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;UACToB,IAAI,EAAEC,0BAA0B,CAACe,WAAW;AAC5CpE,UAAAA,MAAM,EAAE;YACNoB,EAAE,EAAG,CAAEA,EAAAA,EAAG,CAAU,SAAA,CAAA;AACpBmC,YAAAA,WAAW,EAAEtC,oCAAoC,CAAC,CAAC,CAAC,CAACuC,KAAK;AAC1DC,YAAAA,aAAa,EAAExC,oCAAoC,CAAC,CAAC,CAAC,CAACyC,QAAAA;AACzD,WAAA;AACF,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AAEA,IAAA,IAAIjC,QAAQ,EAAE;AACZA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAA,MAAM4C,cAAc,gBAClBC,KAAA,CAAAC,aAAA,CAACC,eAAe,EAAA;AACdC,IAAAA,KAAK,EAAE7C,eAAiB;AACxB8C,IAAAA,QAAQ,EAAE7C,kBAAmB;AAC7B8C,IAAAA,UAAU,EAAE7C,oBAAqB;AACjC8C,IAAAA,OAAO,EAAEb,YAAAA;AAAa,GACvB,CACF,CAAA;AAED,EAAA,MAAMc,WAAW,GAAG;IAClBC,iBAAiB,EAAGnE,KAAsB,IAAK;AAC7CiD,MAAAA,kBAAkB,CAACjD,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAA;KACnC;IACDkE,oBAAoB,EAAGpE,KAAsB,IAAK;AAChD,MAAA,OAAOV,aAAa,CAACG,MAAM,KAAK,CAAC,IAAIH,aAAa,CAACQ,QAAQ,CAACE,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAA;KAC5E;AACDmE,IAAAA,cAAc,EAAE,QAAQ;AACxBC,IAAAA,IAAI,EAAE,OAAA;GACP,CAAA;AAED,EAAA,MAAMC,WAAW,GAAG;AAClBC,IAAAA,WAAW,EAAE,IAAI;AACjBvE,IAAAA,IAAI,EAAE2B,QAAQ,GAAG6C,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC/C,QAAQ,CAACgD,GAAG,EAAE,CAAC,CAAC,GAAGrB,SAAS;AACvEsB,IAAAA,OAAO,EAAE,QAAQ;AACjBP,IAAAA,IAAI,EAAE,SAAS;IACfZ,cAAc;IACdjD,EAAE;IACFyD,WAAW;AACXY,IAAAA,OAAO,EAAEA,CACPC,SAA+C,EAC/CC,MAAqC,EACrCC,MAAqC,KAClC;AACH,MAAA,IAAIF,SAAS,EAAE;AACb1C,QAAAA,eAAe,CAAC;AACd3C,UAAAA,IAAI,EAAEsF,MAAM,CAACE,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpCnF,UAAAA,IAAI,EAAEqF,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpCpF,UAAAA,IAAI,EAAEqF,MAAM,CAACE,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpClF,IAAI,EAAEoF,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,SAAC,CAAC,CAAA;AACJ,OAAA;KACD;AACDI,IAAAA,UAAU,EAAEA,CACVJ,SAA+C,EAC/CC,MAAsC,EACtCC,MAAsC,KACnC;AACH,MAAA,IAAIF,SAAS,IAAIC,MAAM,IAAIC,MAAM,EAAE;AACjC1C,QAAAA,iBAAiB,CAAC;AAChB7C,UAAAA,IAAI,EAAEsF,MAAM,CAACE,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpCnF,UAAAA,IAAI,EAAEqF,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpCpF,UAAAA,IAAI,EAAEqF,MAAM,CAACE,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpClF,IAAI,EAAEoF,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,SAAC,CAAC,CAAA;AACJ,OAAC,MAAM;AACL3B,QAAAA,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC3B,OAAA;KACD;AACDa,IAAAA,OAAO,EAAErD,WAAW,GAAGwC,YAAY,GAAGG,SAAS;IAC/C6B,aAAa,EAAGpF,KAAe,IAAKD,UAAU,CAACT,aAAa,EAAEC,YAAY,CAAC,CAACS,KAAK,CAAA;GAClF,CAAA;AAED,EAAA,kBAAIqF,cAAc,CAAChF,QAAQ,CAAC,EAAE;IAC5B,oBAAOsD,KAAK,CAAC2B,YAAY,CAACjF,QAAQ,EAAAe,cAAA,CAAA,EAAA,EAAOmD,WAAW,CAAE,CAAC,CAAA;AACzD,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { WithFiltersProps } from './types.js';
3
-
4
- declare const WithFilters: React.FC<WithFiltersProps>;
5
-
6
- export { WithFilters };
@@ -1,36 +0,0 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React from 'react';
3
- import { isComponent } from '@redsift/design-system';
4
- import { FilterableBarChart } from './FilterableBarChart.js';
5
- import { FilterableDataGrid } from './FilterableDataGrid.js';
6
- import { FilterablePieChart } from './FilterablePieChart.js';
7
- import { FilterableScatterPlot } from './FilterableScatterPlot.js';
8
-
9
- const WithFilters = props => {
10
- if (isComponent('DataGrid')(props.children)) {
11
- return /*#__PURE__*/React.createElement(FilterableDataGrid, props);
12
- }
13
- const {
14
- dimension
15
- } = props;
16
- if (!dimension) {
17
- return null;
18
- }
19
- if (isComponent('BarChart')(props.children)) {
20
- return /*#__PURE__*/React.createElement(FilterableBarChart, _extends({}, props, {
21
- dimension: dimension
22
- }));
23
- } else if (isComponent('PieChart')(props.children)) {
24
- return /*#__PURE__*/React.createElement(FilterablePieChart, _extends({}, props, {
25
- dimension: dimension
26
- }));
27
- } else if (isComponent('ScatterPlot')(props.children)) {
28
- return /*#__PURE__*/React.createElement(FilterableScatterPlot, _extends({}, props, {
29
- dimension: dimension
30
- }));
31
- }
32
- return /*#__PURE__*/React.isValidElement(props.children) ? props.children : null;
33
- };
34
-
35
- export { WithFilters };
36
- //# sourceMappingURL=WithFilters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WithFilters.js","sources":["../../../src/components/WithFilters/WithFilters.tsx"],"sourcesContent":["import React from 'react';\nimport { isComponent } from '@redsift/design-system';\nimport { FilterableBarChart } from './FilterableBarChart';\nimport { FilterableDataGrid } from './FilterableDataGrid';\nimport { FilterablePieChart } from './FilterablePieChart';\nimport { FilterableScatterPlot } from './FilterableScatterPlot';\nimport { WithFiltersProps } from './types';\n\nexport const WithFilters: React.FC<WithFiltersProps> = (props) => {\n if (isComponent('DataGrid')(props.children)) {\n return <FilterableDataGrid {...props} />;\n }\n\n const { dimension } = props;\n\n if (!dimension) {\n return null;\n }\n\n if (isComponent('BarChart')(props.children)) {\n return <FilterableBarChart {...props} dimension={dimension} />;\n } else if (isComponent('PieChart')(props.children)) {\n return <FilterablePieChart {...props} dimension={dimension} />;\n } else if (isComponent('ScatterPlot')(props.children)) {\n return <FilterableScatterPlot {...props} dimension={dimension} />;\n }\n\n return React.isValidElement(props.children) ? props.children : null;\n};\n"],"names":["WithFilters","props","isComponent","children","React","createElement","FilterableDataGrid","dimension","FilterableBarChart","_extends","FilterablePieChart","FilterableScatterPlot","isValidElement"],"mappings":";;;;;;;;AAQaA,MAAAA,WAAuC,GAAIC,KAAK,IAAK;EAChE,IAAIC,WAAW,CAAC,UAAU,CAAC,CAACD,KAAK,CAACE,QAAQ,CAAC,EAAE;AAC3C,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAKL,KAAQ,CAAC,CAAA;AAC1C,GAAA;EAEA,MAAM;AAAEM,IAAAA,SAAAA;AAAU,GAAC,GAAGN,KAAK,CAAA;EAE3B,IAAI,CAACM,SAAS,EAAE;AACd,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,IAAIL,WAAW,CAAC,UAAU,CAAC,CAACD,KAAK,CAACE,QAAQ,CAAC,EAAE;IAC3C,oBAAOC,KAAA,CAAAC,aAAA,CAACG,kBAAkB,EAAAC,QAAA,KAAKR,KAAK,EAAA;AAAEM,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,CAAE,CAAC,CAAA;GAC/D,MAAM,IAAIL,WAAW,CAAC,UAAU,CAAC,CAACD,KAAK,CAACE,QAAQ,CAAC,EAAE;IAClD,oBAAOC,KAAA,CAAAC,aAAA,CAACK,kBAAkB,EAAAD,QAAA,KAAKR,KAAK,EAAA;AAAEM,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,CAAE,CAAC,CAAA;GAC/D,MAAM,IAAIL,WAAW,CAAC,aAAa,CAAC,CAACD,KAAK,CAACE,QAAQ,CAAC,EAAE;IACrD,oBAAOC,KAAA,CAAAC,aAAA,CAACM,qBAAqB,EAAAF,QAAA,KAAKR,KAAK,EAAA;AAAEM,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,CAAE,CAAC,CAAA;AACnE,GAAA;AAEA,EAAA,oBAAOH,KAAK,CAACQ,cAAc,CAACX,KAAK,CAACE,QAAQ,CAAC,GAAGF,KAAK,CAACE,QAAQ,GAAG,IAAI,CAAA;AACrE;;;;"}
@@ -1,94 +0,0 @@
1
- import { useRef, useMemo } from 'react';
2
-
3
- /**
4
- * Hook to give to a chart the roles, events and attributes of a listbox.
5
- */
6
- const useCategoricalChartAsListbox = _ref => {
7
- let {
8
- id,
9
- ref,
10
- type,
11
- ndxGroup,
12
- orientation = 'horizontal'
13
- } = _ref;
14
- const currentIndexRef = useRef(0);
15
- const props = useMemo(() => {
16
- const numberOfGroups = ndxGroup === null || ndxGroup === void 0 ? void 0 : ndxGroup.all().filter(datum => datum.value).length;
17
- if (ref && numberOfGroups) {
18
- const getCurrentOption = () => ref.current.querySelector(`._${currentIndexRef.current}`);
19
- const next = () => {
20
- getCurrentOption().classList.remove('focused');
21
- const index = currentIndexRef.current === numberOfGroups - 1 ? 0 : currentIndexRef.current + 1;
22
- currentIndexRef.current = index;
23
- ref.current.setAttribute('aria-activedescendant', `id${id}__${type}-${currentIndexRef.current}`);
24
- getCurrentOption().classList.add('focused');
25
- };
26
- const previous = () => {
27
- getCurrentOption().classList.remove('focused');
28
- const index = currentIndexRef.current === 0 ? numberOfGroups - 1 : currentIndexRef.current - 1;
29
- currentIndexRef.current = index;
30
- ref.current.setAttribute('aria-activedescendant', `id${id}__${type}-${currentIndexRef.current}`);
31
- getCurrentOption().classList.add('focused');
32
- };
33
- const focus = () => {
34
- ref.current.setAttribute('aria-activedescendant', `id${id}__${type}-0`);
35
- getCurrentOption().classList.add('focused');
36
- };
37
- const blur = () => {
38
- getCurrentOption().classList.remove('focused');
39
- currentIndexRef.current = 0;
40
- ref.current.setAttribute('aria-activedescendant', '');
41
- };
42
- const keydown = e => {
43
- e.stopPropagation();
44
- switch (e.code) {
45
- case 'ArrowRight':
46
- if (orientation === 'horizontal') {
47
- e.preventDefault();
48
- next();
49
- }
50
- break;
51
- case 'ArrowLeft':
52
- if (orientation === 'horizontal') {
53
- e.preventDefault();
54
- previous();
55
- }
56
- break;
57
- case 'ArrowDown':
58
- if (orientation === 'vertical') {
59
- e.preventDefault();
60
- next();
61
- }
62
- break;
63
- case 'ArrowUp':
64
- if (orientation === 'vertical') {
65
- e.preventDefault();
66
- previous();
67
- }
68
- break;
69
- case 'Enter':
70
- case 'Space':
71
- e.preventDefault();
72
- getCurrentOption().dispatchEvent(new Event('click'));
73
- break;
74
- }
75
- };
76
- return {
77
- 'aria-activedescendant': '',
78
- 'aria-multiselectable': 'true',
79
- 'aria-orientation': orientation,
80
- role: 'listbox',
81
- tabIndex: 0,
82
- onFocus: focus,
83
- onBlur: blur,
84
- onMouseDown: event => event.preventDefault(),
85
- onMouseLeave: blur,
86
- onKeyDown: keydown
87
- };
88
- }
89
- }, [ref, ref.current, ndxGroup, JSON.parse(JSON.stringify((ndxGroup === null || ndxGroup === void 0 ? void 0 : ndxGroup.all()) || ''))]);
90
- return props;
91
- };
92
-
93
- export { useCategoricalChartAsListbox };
94
- //# sourceMappingURL=useCategoricalChartAsListbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCategoricalChartAsListbox.js","sources":["../../src/hooks/useCategoricalChartAsListbox.ts"],"sourcesContent":["import { BaseMixin } from 'dc';\nimport { useRef, KeyboardEvent, useMemo, MutableRefObject } from 'react';\nimport { Group } from '../types';\n\ntype UseCategoricalChartAsListboxProps = <T extends BaseMixin<T>>(props: {\n id: string;\n ref: MutableRefObject<HTMLDivElement>;\n type: 'bar' | 'slice';\n ndxGroup?: Group;\n orientation?: 'horizontal' | 'vertical';\n}) => void;\n\n/**\n * Hook to give to a chart the roles, events and attributes of a listbox.\n */\nexport const useCategoricalChartAsListbox: UseCategoricalChartAsListboxProps =\n ({ id, ref, type, ndxGroup, orientation = 'horizontal' }) => {\n const currentIndexRef = useRef(0);\n\n const props = useMemo(() => {\n const numberOfGroups = ndxGroup\n ?.all()\n .filter((datum) => datum.value).length;\n if (ref && numberOfGroups) {\n const getCurrentOption = () =>\n ref.current.querySelector(\n `._${currentIndexRef.current}`\n ) as HTMLElement;\n\n const next = () => {\n getCurrentOption().classList.remove('focused');\n const index =\n currentIndexRef.current === numberOfGroups - 1\n ? 0\n : currentIndexRef.current + 1;\n currentIndexRef.current = index;\n ref.current.setAttribute(\n 'aria-activedescendant',\n `id${id}__${type}-${currentIndexRef.current}`\n );\n getCurrentOption().classList.add('focused');\n };\n\n const previous = () => {\n getCurrentOption().classList.remove('focused');\n const index =\n currentIndexRef.current === 0\n ? numberOfGroups - 1\n : currentIndexRef.current - 1;\n currentIndexRef.current = index;\n ref.current.setAttribute(\n 'aria-activedescendant',\n `id${id}__${type}-${currentIndexRef.current}`\n );\n getCurrentOption().classList.add('focused');\n };\n\n const focus = () => {\n ref.current.setAttribute(\n 'aria-activedescendant',\n `id${id}__${type}-0`\n );\n getCurrentOption().classList.add('focused');\n };\n\n const blur = () => {\n getCurrentOption().classList.remove('focused');\n currentIndexRef.current = 0;\n ref.current.setAttribute('aria-activedescendant', '');\n };\n\n const keydown = (e: Event) => {\n e.stopPropagation();\n\n switch ((e as unknown as KeyboardEvent).code) {\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n e.preventDefault();\n next();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n e.preventDefault();\n previous();\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n e.preventDefault();\n next();\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n e.preventDefault();\n previous();\n }\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n getCurrentOption().dispatchEvent(new Event('click'));\n break;\n default:\n break;\n }\n };\n\n return {\n 'aria-activedescendant': '',\n 'aria-multiselectable': 'true',\n 'aria-orientation': orientation,\n role: 'listbox',\n tabIndex: 0,\n onFocus: focus,\n onBlur: blur,\n onMouseDown: (event: MouseEvent) => event.preventDefault(),\n onMouseLeave: blur,\n onKeyDown: keydown,\n };\n }\n }, [\n ref,\n ref.current,\n ndxGroup,\n JSON.parse(JSON.stringify(ndxGroup?.all() || '')),\n ]);\n\n return props;\n };\n"],"names":["useCategoricalChartAsListbox","_ref","id","ref","type","ndxGroup","orientation","currentIndexRef","useRef","props","useMemo","numberOfGroups","all","filter","datum","value","length","getCurrentOption","current","querySelector","next","classList","remove","index","setAttribute","add","previous","focus","blur","keydown","e","stopPropagation","code","preventDefault","dispatchEvent","Event","role","tabIndex","onFocus","onBlur","onMouseDown","event","onMouseLeave","onKeyDown","JSON","parse","stringify"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import * as crossfilter2 from 'crossfilter2';
2
- import { Dimension } from '../../types.js';
3
-
4
- declare const COUNT: (d: Dimension) => crossfilter2.Group<any, crossfilter2.NaturallyOrderedValue, unknown>;
5
-
6
- export { COUNT };
@@ -1,5 +0,0 @@
1
- const groupReduceCount = d => d.group().reduceCount();
2
- const COUNT = groupReduceCount;
3
-
4
- export { COUNT };
5
- //# sourceMappingURL=groupReduceCount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupReduceCount.js","sources":["../../../src/utils/groupReducers/groupReduceCount.ts"],"sourcesContent":["import { Dimension } from '../../types';\n\nconst groupReduceCount = (d: Dimension) => d.group().reduceCount();\n\nexport const COUNT = groupReduceCount;\n"],"names":["groupReduceCount","d","group","reduceCount","COUNT"],"mappings":"AAEA,MAAMA,gBAAgB,GAAIC,CAAY,IAAKA,CAAC,CAACC,KAAK,EAAE,CAACC,WAAW,EAAE,CAAA;AAE3D,MAAMC,KAAK,GAAGJ;;;;"}
@@ -1,7 +0,0 @@
1
- import * as crossfilter2 from 'crossfilter2';
2
- import { Dimension } from '../../types.js';
3
-
4
- declare const groupReduceSum: (field: string) => (d: Dimension) => crossfilter2.Group<any, crossfilter2.NaturallyOrderedValue, unknown>;
5
- declare const SUM: (field: string) => (d: Dimension) => crossfilter2.Group<any, crossfilter2.NaturallyOrderedValue, unknown>;
6
-
7
- export { SUM, groupReduceSum };
@@ -1,5 +0,0 @@
1
- const groupReduceSum = field => d => d.group().reduceSum(d => d[field]);
2
- const SUM = groupReduceSum;
3
-
4
- export { SUM, groupReduceSum };
5
- //# sourceMappingURL=groupReduceSum.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groupReduceSum.js","sources":["../../../src/utils/groupReducers/groupReduceSum.ts"],"sourcesContent":["import { Dimension } from '../../types';\n\nexport const groupReduceSum = (field: string) => (d: Dimension) =>\n d.group().reduceSum((d) => d[field]);\n\nexport const SUM = groupReduceSum;\n"],"names":["groupReduceSum","field","d","group","reduceSum","SUM"],"mappings":"AAEO,MAAMA,cAAc,GAAIC,KAAa,IAAMC,CAAY,IAC5DA,CAAC,CAACC,KAAK,EAAE,CAACC,SAAS,CAAEF,CAAC,IAAKA,CAAC,CAACD,KAAK,CAAC,EAAC;AAE/B,MAAMI,GAAG,GAAGL;;;;"}