@neo4j-ndl/react-charts 1.3.18 → 1.4.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 (63) hide show
  1. package/lib/cjs/charts/ChartTooltip.js +6 -2
  2. package/lib/cjs/charts/ChartTooltip.js.map +1 -1
  3. package/lib/cjs/charts/hooks/use-chart-option.js +6 -0
  4. package/lib/cjs/charts/hooks/use-chart-option.js.map +1 -1
  5. package/lib/cjs/charts/hooks/use-legend-series.js +7 -1
  6. package/lib/cjs/charts/hooks/use-legend-series.js.map +1 -1
  7. package/lib/cjs/charts/index.js.map +1 -1
  8. package/lib/cjs/charts/tests/chart-test-utils.js +121 -1
  9. package/lib/cjs/charts/tests/chart-test-utils.js.map +1 -1
  10. package/lib/cjs/charts/utils/build-chart-option.js +39 -4
  11. package/lib/cjs/charts/utils/build-chart-option.js.map +1 -1
  12. package/lib/cjs/charts/utils/chart-tooltip-formatter.js +93 -0
  13. package/lib/cjs/charts/utils/chart-tooltip-formatter.js.map +1 -1
  14. package/lib/cjs/charts/utils/defaults.js +18 -1
  15. package/lib/cjs/charts/utils/defaults.js.map +1 -1
  16. package/lib/cjs/charts/utils/legend-utils.js +7 -2
  17. package/lib/cjs/charts/utils/legend-utils.js.map +1 -1
  18. package/lib/cjs/charts/utils/scatter-tooltip-points.js +301 -0
  19. package/lib/cjs/charts/utils/scatter-tooltip-points.js.map +1 -0
  20. package/lib/cjs/charts/utils/user-option-utils.js +16 -6
  21. package/lib/cjs/charts/utils/user-option-utils.js.map +1 -1
  22. package/lib/esm/charts/ChartTooltip.js +6 -2
  23. package/lib/esm/charts/ChartTooltip.js.map +1 -1
  24. package/lib/esm/charts/hooks/use-chart-option.js +6 -0
  25. package/lib/esm/charts/hooks/use-chart-option.js.map +1 -1
  26. package/lib/esm/charts/hooks/use-legend-series.js +7 -1
  27. package/lib/esm/charts/hooks/use-legend-series.js.map +1 -1
  28. package/lib/esm/charts/index.js.map +1 -1
  29. package/lib/esm/charts/tests/chart-test-utils.js +115 -0
  30. package/lib/esm/charts/tests/chart-test-utils.js.map +1 -1
  31. package/lib/esm/charts/utils/build-chart-option.js +40 -5
  32. package/lib/esm/charts/utils/build-chart-option.js.map +1 -1
  33. package/lib/esm/charts/utils/chart-tooltip-formatter.js +92 -0
  34. package/lib/esm/charts/utils/chart-tooltip-formatter.js.map +1 -1
  35. package/lib/esm/charts/utils/defaults.js +16 -1
  36. package/lib/esm/charts/utils/defaults.js.map +1 -1
  37. package/lib/esm/charts/utils/legend-utils.js +7 -2
  38. package/lib/esm/charts/utils/legend-utils.js.map +1 -1
  39. package/lib/esm/charts/utils/scatter-tooltip-points.js +291 -0
  40. package/lib/esm/charts/utils/scatter-tooltip-points.js.map +1 -0
  41. package/lib/esm/charts/utils/user-option-utils.js +17 -7
  42. package/lib/esm/charts/utils/user-option-utils.js.map +1 -1
  43. package/lib/types/charts/ChartTooltip.d.ts +6 -1
  44. package/lib/types/charts/ChartTooltip.d.ts.map +1 -1
  45. package/lib/types/charts/hooks/use-chart-option.d.ts.map +1 -1
  46. package/lib/types/charts/hooks/use-legend-series.d.ts.map +1 -1
  47. package/lib/types/charts/index.d.ts +1 -0
  48. package/lib/types/charts/index.d.ts.map +1 -1
  49. package/lib/types/charts/tests/chart-test-utils.d.ts +78 -0
  50. package/lib/types/charts/tests/chart-test-utils.d.ts.map +1 -1
  51. package/lib/types/charts/utils/build-chart-option.d.ts +4 -1
  52. package/lib/types/charts/utils/build-chart-option.d.ts.map +1 -1
  53. package/lib/types/charts/utils/chart-tooltip-formatter.d.ts +45 -2
  54. package/lib/types/charts/utils/chart-tooltip-formatter.d.ts.map +1 -1
  55. package/lib/types/charts/utils/defaults.d.ts +10 -1
  56. package/lib/types/charts/utils/defaults.d.ts.map +1 -1
  57. package/lib/types/charts/utils/legend-utils.d.ts.map +1 -1
  58. package/lib/types/charts/utils/scatter-tooltip-points.d.ts +84 -0
  59. package/lib/types/charts/utils/scatter-tooltip-points.d.ts.map +1 -0
  60. package/lib/types/charts/utils/user-option-utils.d.ts.map +1 -1
  61. package/package.json +3 -3
  62. package/skills/ndl-react-charts/SKILL.md +3 -3
  63. package/skills/ndl-react-charts/components/charts.md +279 -0
@@ -1 +1 @@
1
- {"version":3,"file":"use-chart-option.d.ts","sourceRoot":"","sources":["../../../../src/charts/hooks/use-chart-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,cAAc,EACd,cAAc,EACd,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,GACZ,EAAE,oBAAoB,6BA+CtB"}
1
+ {"version":3,"file":"use-chart-option.d.ts","sourceRoot":"","sources":["../../../../src/charts/hooks/use-chart-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,cAAc,EACd,cAAc,EACd,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,GACZ,EAAE,oBAAoB,6BAsDtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-legend-series.d.ts","sourceRoot":"","sources":["../../../../src/charts/hooks/use-legend-series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAI9B,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,KAAK,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAwK1C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,uBAAuB,GACxB,EAAE,qBAAqB,GAAG,YAAY,GAAG,SAAS,CA6DlD"}
1
+ {"version":3,"file":"use-legend-series.d.ts","sourceRoot":"","sources":["../../../../src/charts/hooks/use-legend-series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAI9B,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,KAAK,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAwK1C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,uBAAuB,GACxB,EAAE,qBAAqB,GAAG,YAAY,GAAG,SAAS,CAoElD"}
@@ -21,5 +21,6 @@
21
21
  export * from './Chart';
22
22
  export * from './ChartEmpty';
23
23
  export { defaultThresholdLineSeriesOption } from './utils/defaults';
24
+ export { type TooltipValueContext } from './utils/chart-tooltip-formatter';
24
25
  export { type ChartEmptyProps, type ThresholdLineSeriesOption, type Values, type SeriesOption, type EchartsSeries, type NeedleSeries, } from './utils/chart-types';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
@@ -68,6 +68,68 @@ export declare const barChartProps: (seriesName: string, value: number, rgbSerie
68
68
  type: "value";
69
69
  };
70
70
  };
71
+ export declare const scatterChartProps: (seriesName: string, x: number, y: number, rgbSeriesColor: string, tooltipTitle?: string) => {
72
+ dataset: {
73
+ dimensions: string[];
74
+ source: (string | number)[][];
75
+ };
76
+ legend: {
77
+ show: boolean;
78
+ };
79
+ series: {
80
+ color: string;
81
+ encode: {
82
+ tooltip: string;
83
+ x: string;
84
+ y: string;
85
+ };
86
+ name: string;
87
+ type: "scatter";
88
+ }[];
89
+ xAxis: {
90
+ name: string;
91
+ type: "value";
92
+ };
93
+ yAxis: {
94
+ name: string;
95
+ type: "value";
96
+ };
97
+ };
98
+ /**
99
+ * Two points sit a fraction of a unit apart and a third shares the coordinates
100
+ * of the first exactly, so their symbols overlap at any reasonable chart size,
101
+ * while the remaining points stay far away.
102
+ */
103
+ export declare const overlappingScatterChartProps: {
104
+ dataset: {
105
+ source: (string | number)[][];
106
+ };
107
+ legend: {
108
+ show: boolean;
109
+ };
110
+ series: {
111
+ color: string;
112
+ encode: {
113
+ tooltip: string;
114
+ x: string;
115
+ y: string;
116
+ };
117
+ name: string;
118
+ type: "scatter";
119
+ }[];
120
+ xAxis: {
121
+ name: string;
122
+ type: "value";
123
+ };
124
+ yAxis: {
125
+ name: string;
126
+ type: "value";
127
+ };
128
+ };
129
+ export declare const overlappingScatterChart: ({ width, height, }?: {
130
+ width?: string;
131
+ height?: string;
132
+ }) => import("react/jsx-runtime").JSX.Element;
71
133
  export declare const multiSeriesChartProps: {
72
134
  dataset: {
73
135
  dimensions: string[];
@@ -113,6 +175,16 @@ export declare const barChartWithTooltipFormatter: ({ seriesName, value, rgbSeri
113
175
  value: number;
114
176
  rgbSeriesColor: string;
115
177
  }) => import("react/jsx-runtime").JSX.Element;
178
+ export declare const scatterChartWithTooltipFormatter: ({ seriesName, x, y, rgbSeriesColor, tooltipTitle, chartProps, width, height, }: {
179
+ chartProps?: Partial<ComponentProps<typeof Chart>>;
180
+ width?: string;
181
+ height?: string;
182
+ seriesName: string;
183
+ tooltipTitle?: string;
184
+ x: number;
185
+ y: number;
186
+ rgbSeriesColor: string;
187
+ }) => import("react/jsx-runtime").JSX.Element;
116
188
  export declare const barChart: ({ seriesName, value, rgbSeriesColor, chartProps, width, height, }: {
117
189
  chartProps?: Partial<ComponentProps<typeof Chart>>;
118
190
  width?: string;
@@ -152,6 +224,12 @@ export declare const expectAllLegendsNeutral: (page: Page) => Promise<void>;
152
224
  */
153
225
  export declare const clickSeries: (page: Page, seriesName: string) => Promise<void>;
154
226
  export declare const expectFormattedTooltipToBeVisible: (page: Page, seriesName: string, value: number, rgbSeriesColor: string) => Promise<void>;
227
+ /**
228
+ * Scatter points are rings, so the series color is the stroke. The fill is the
229
+ * theme surface color until hover paints it.
230
+ */
231
+ export declare const scatterPointLocator: (page: Page, rgbSeriesColor: string) => import("@playwright/test").Locator;
232
+ export declare const expectScatterTooltipToBeVisible: (page: Page, tooltipTitle: string, x: number, y: number, rgbSeriesColor: string) => Promise<void>;
155
233
  export declare const expectDefaultFormattedTooltipToBeVisible: (page: Page, seriesName: string, value: number, rgbSeriesColor: string) => Promise<void>;
156
234
  export declare const waitForAnimationEnd: (page: Page, selector: string) => Promise<Animation[]>;
157
235
  //# sourceMappingURL=chart-test-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-test-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/tests/chart-test-utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart-test-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/tests/chart-test-utils.tsx"],"names":[],"mappings":"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"}
@@ -20,10 +20,13 @@
20
20
  */
21
21
  import type { EChartsOption } from 'echarts';
22
22
  import type { ChartProps, EchartsSeries } from './chart-types';
23
+ import type { ScatterTooltipChart } from './scatter-tooltip-points';
23
24
  import type { NormalizedThresholdLine } from './threshold';
24
25
  type BuildChartOptionParams = {
25
26
  dataZoom: EChartsOption['dataZoom'];
26
27
  dataset: ChartProps['dataset'];
28
+ getChartInstance?: () => ScatterTooltipChart | undefined;
29
+ getLegendSelected?: () => Record<string, boolean> | undefined;
27
30
  hasCategoryXAxis: boolean;
28
31
  legendSelected: Record<string, boolean>;
29
32
  propsSeries: ChartProps['series'];
@@ -74,6 +77,6 @@ export declare function hasCategoryXAxis(xAxis: EChartsOption['xAxis']): boolean
74
77
  * Builds the ECharts option object from Needle chart props and derived values.
75
78
  * Applying the option to an ECharts instance happens in `useChartOption`.
76
79
  */
77
- export declare function buildChartOption({ dataZoom, dataset, hasCategoryXAxis, legendSelected, propsSeries, series, thresholdLines, toolboxOptions, userOption, xAxis, yAxis, hasMarkArea, }: BuildChartOptionParams): EChartsOption;
80
+ export declare function buildChartOption({ dataZoom, dataset, getChartInstance, getLegendSelected, hasCategoryXAxis, legendSelected, propsSeries, series, thresholdLines, toolboxOptions, userOption, xAxis, yAxis, hasMarkArea, }: BuildChartOptionParams): EChartsOption;
78
81
  export {};
79
82
  //# sourceMappingURL=build-chart-option.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-chart-option.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/build-chart-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,SAAS,CAAC;AAItE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAM3D,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,OAAO,CAKT;AAsBD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,MAAM,GAAG,SAAS,CAmBpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,MAAM,GAAG,SAAS,CAmBpB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,YAGlC,CAAC;AAExB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAIvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,MAAM,EACN,cAAc,EACd,cAAc,EACd,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,GACZ,EAAE,sBAAsB,GAAG,aAAa,CA6DxC"}
1
+ {"version":3,"file":"build-chart-option.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/build-chart-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,SAAS,CAAC;AAQtE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAM3D,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,OAAO,CAKT;AAsBD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,MAAM,GAAG,SAAS,CAmBpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAClC,MAAM,GAAG,SAAS,CAmBpB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,YAGlC,CAAC;AAmBxB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAIvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,MAAM,EACN,cAAc,EACd,cAAc,EACd,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,GACZ,EAAE,sBAAsB,GAAG,aAAa,CA0FxC"}
@@ -19,19 +19,62 @@
19
19
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
20
  */
21
21
  import type React from 'react';
22
- import type { ChartProps } from './chart-types';
22
+ import type { ChartProps, EchartsSeries } from './chart-types';
23
+ import { type ScatterTooltipChart } from './scatter-tooltip-points';
23
24
  import { type NormalizedThresholdLine } from './threshold';
24
- type TooltipValueFormatter = (value: unknown) => React.ReactNode;
25
+ /**
26
+ * Where a scatter tooltip value comes from. Passed to `tooltip.valueFormatter`
27
+ * as its third argument for the x and y rows, so one formatter can give them
28
+ * different units. The title is not passed to the formatter.
29
+ */
30
+ export type TooltipValueContext = {
31
+ axis: 'x' | 'y';
32
+ };
33
+ type TooltipValueFormatter = (value: unknown, dataIndex?: number, context?: TooltipValueContext) => React.ReactNode;
25
34
  export declare function getTooltipValueFormatter(userOption: ChartProps['option']): TooltipValueFormatter;
35
+ /**
36
+ * `name` of the x and y axes one series is bound to. `seriesAxisNames` holds
37
+ * one entry per series, indexed by series index.
38
+ */
39
+ export type SeriesAxisNames = {
40
+ x?: string;
41
+ y?: string;
42
+ };
26
43
  type CreateAxisTooltipFormatterParams = {
27
44
  thresholdLines: NormalizedThresholdLine[];
28
45
  userOption: ChartProps['option'];
29
46
  };
47
+ type CreateScatterTooltipFormatterParams = {
48
+ dataset: ChartProps['dataset'];
49
+ getChartInstance?: () => ScatterTooltipChart | undefined;
50
+ getLegendSelected?: () => Record<string, boolean> | undefined;
51
+ series: EchartsSeries;
52
+ seriesAxisNames?: Array<SeriesAxisNames | undefined>;
53
+ userOption: ChartProps['option'];
54
+ };
30
55
  /**
31
56
  * Builds the ECharts axis-tooltip formatter used by line-like charts.
32
57
  * It renders Needle tooltip markup and augments non-threshold series with
33
58
  * threshold notifications when their current value crosses a threshold line.
34
59
  */
35
60
  export declare function createAxisTooltipFormatter({ thresholdLines, userOption, }: CreateAxisTooltipFormatterParams): (params: unknown) => string;
61
+ /**
62
+ * Builds the ECharts item-tooltip formatter used by scatter charts.
63
+ *
64
+ * The title comes from ECharts `encode.tooltip`, then `encode.itemName`, then
65
+ * an extra data dimension, and otherwise the series name. x and y are listed
66
+ * underneath. See https://echarts.apache.org/en/option.html#series-scatter.encode
67
+ *
68
+ * `tooltip.valueFormatter` runs on the x and y values only. Those calls pass
69
+ * `{ axis: 'x' | 'y' }` (`TooltipValueContext`) as the third argument. The
70
+ * title is shown unchanged.
71
+ *
72
+ * Points whose symbols overlap the hovered one are listed in the same tooltip,
73
+ * closest first, so a cluster is readable without zooming in. Each point gets
74
+ * its own block: the series color sits once on the block title, and the rows
75
+ * are labelled with the axis `name` when the consumer set one, falling back to
76
+ * the dataset dimension name.
77
+ */
78
+ export declare function createScatterTooltipFormatter({ dataset, getChartInstance, getLegendSelected, series, seriesAxisNames, userOption, }: CreateScatterTooltipFormatterParams): (params: unknown) => string;
36
79
  export {};
37
80
  //# sourceMappingURL=chart-tooltip-formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-tooltip-formatter.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/chart-tooltip-formatter.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAOhD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAErB,KAAK,qBAAqB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;AAEjE,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAC/B,qBAAqB,CAUvB;AAED,KAAK,gCAAgC,GAAG;IACtC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,EACd,UAAU,GACX,EAAE,gCAAgC,IAGI,QAAQ,OAAO,YA8ErD"}
1
+ {"version":3,"file":"chart-tooltip-formatter.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/chart-tooltip-formatter.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM/D,OAAO,EAOL,KAAK,mBAAmB,EAEzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG,CAC3B,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,KAC1B,KAAK,CAAC,SAAS,CAAC;AAErB,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAC/B,qBAAqB,CAUvB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAE5B,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IACrD,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAQF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,EACd,UAAU,GACX,EAAE,gCAAgC,IAGI,QAAQ,OAAO,YA8ErD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,UAAU,GACX,EAAE,mCAAmC,IAqFI,QAAQ,OAAO,YAkCxD"}
@@ -22,6 +22,15 @@ import type { ChartProps, Condition } from './chart-types';
22
22
  declare const defaultThresholdLineSeriesOption: {
23
23
  condition: Condition;
24
24
  };
25
+ declare const tooltipMaxWidth = 400;
26
+ /**
27
+ * ECharts writes `white-space: nowrap` inline on the tooltip container, so a
28
+ * long series name or category label stretches the tooltip across the chart
29
+ * until the max width and normal wrapping override it. `overflow-wrap` is
30
+ * needed on top of that: the tooltip rows are flex items, and only `anywhere`
31
+ * lets their min-content size drop below the longest word.
32
+ */
33
+ declare const tooltipExtraCssText: string;
25
34
  /**
26
35
  * ECharts component main types that `buildChartOption` always writes in full,
27
36
  * so replacing them gives the same "drop what disappeared" behavior as
@@ -41,5 +50,5 @@ declare const needleOwnedComponents: string[];
41
50
  * previous one already zoomed, which shrinks the selected range.
42
51
  */
43
52
  declare const defaultChartSettings: NonNullable<ChartProps['settings']>;
44
- export { defaultChartSettings, defaultThresholdLineSeriesOption, needleOwnedComponents, };
53
+ export { defaultChartSettings, defaultThresholdLineSeriesOption, needleOwnedComponents, tooltipExtraCssText, tooltipMaxWidth, };
45
54
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,QAAA,MAAM,gCAAgC,EAAE;IACtC,SAAS,EAAE,SAAS,CAAC;CAGtB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,UAS1B,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,oBAAoB,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAK7D,CAAC;AAEF,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,qBAAqB,GACtB,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,QAAA,MAAM,gCAAgC,EAAE;IACtC,SAAS,EAAE,SAAS,CAAC;CAGtB,CAAC;AAEF,QAAA,MAAM,eAAe,MAAM,CAAC;AAE5B;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB,QAMb,CAAC;AAEb;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,UAS1B,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,oBAAoB,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAK7D,CAAC;AAEF,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"legend-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/legend-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,SAUzD,CAAC;AAgHF;;GAEG;AACH,QAAA,MAAM,yBAAyB,GAC7B,UAAU,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAChD,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACzC,uBAAuB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,yBAAyB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC1D,QAAQ,WAAW,GAAG,UAAU,SA0CjC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"legend-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/legend-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,SAUzD,CAAC;AAqHF;;GAEG;AACH,QAAA,MAAM,yBAAyB,GAC7B,UAAU,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAChD,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACzC,uBAAuB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,yBAAyB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC1D,QAAQ,WAAW,GAAG,UAAU,SA0CjC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,84 @@
1
+ /*!
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import type { ChartProps, EchartsSeries } from './chart-types';
22
+ type TooltipEncode = Record<string, unknown> | undefined;
23
+ /**
24
+ * A scatter point as the tooltip needs it. ECharts tooltip params already have
25
+ * this shape, so the hovered point and the points found around it are
26
+ * interchangeable.
27
+ */
28
+ export type ScatterTooltipPoint = {
29
+ color?: string;
30
+ dataIndex?: number;
31
+ dimensionNames?: string[];
32
+ encode?: TooltipEncode;
33
+ name?: string;
34
+ seriesIndex?: number;
35
+ seriesName?: string;
36
+ value?: unknown;
37
+ };
38
+ /** The part of the ECharts instance the scatter tooltip reads. */
39
+ export type ScatterTooltipChart = {
40
+ convertFromPixel(finder: {
41
+ seriesIndex: number;
42
+ }, value: number[]): number | number[];
43
+ convertToPixel(finder: {
44
+ seriesIndex: number;
45
+ }, value: unknown[]): number | number[];
46
+ };
47
+ export declare const encodeRefs: (encode: TooltipEncode, key: string) => Array<number | string>;
48
+ export declare const readEncodedValue: (value: unknown, ref: number | string, dimensionNames?: string[]) => unknown;
49
+ export declare const encodedDimensionLabel: (ref: number | string, dimensionNames: string[] | undefined, fallback: string) => string;
50
+ /**
51
+ * Dimensions holding the unique per-point value: `encode.tooltip` first, then
52
+ * `encode.itemName`, and finally any dimension the axes do not already use.
53
+ */
54
+ export declare const extraTooltipRefs: (point: ScatterTooltipPoint) => Array<number | string>;
55
+ export declare const getEncodedAxisRefs: (encode: TooltipEncode) => {
56
+ x: string | number;
57
+ y: string | number;
58
+ };
59
+ /**
60
+ * Widest scatter symbol in the chart, which doubles as the radius in which
61
+ * points are considered to overlap the hovered one.
62
+ */
63
+ export declare function getScatterSymbolSize(series: EchartsSeries): number;
64
+ type FindNearbyScatterPointsParams = {
65
+ chart: ScatterTooltipChart | undefined;
66
+ dataset: ChartProps['dataset'];
67
+ hovered: ScatterTooltipPoint;
68
+ legendSelected?: Record<string, boolean>;
69
+ maxPoints: number;
70
+ radius: number;
71
+ series: EchartsSeries;
72
+ };
73
+ /**
74
+ * Collects the points whose symbols overlap the hovered one, closest first,
75
+ * with the hovered point always leading.
76
+ *
77
+ * Distances are measured in data space against a tolerance derived from the
78
+ * pixel radius (ECharts `convertToPixel` / `convertFromPixel`), which keeps the
79
+ * scan to plain arithmetic per point and works on value, time, and log axes
80
+ * alike.
81
+ */
82
+ export declare function findNearbyScatterPoints({ chart, dataset, hovered, legendSelected, maxPoints, radius, series, }: FindNearbyScatterPointsParams): ScatterTooltipPoint[];
83
+ export {};
84
+ //# sourceMappingURL=scatter-tooltip-points.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter-tooltip-points.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/scatter-tooltip-points.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,CACd,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAC/B,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,GAAG,MAAM,EAAE,CAAC;IACrB,cAAc,CACZ,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAC/B,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,GAAG,MAAM,EAAE,CAAC;CACtB,CAAC;AAmCF,eAAO,MAAM,UAAU,GACrB,QAAQ,aAAa,EACrB,KAAK,MAAM,KACV,KAAK,CAAC,MAAM,GAAG,MAAM,CAYvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,KAAK,MAAM,GAAG,MAAM,EACpB,iBAAiB,MAAM,EAAE,KACxB,OA8BF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,KAAK,MAAM,GAAG,MAAM,EACpB,gBAAgB,MAAM,EAAE,GAAG,SAAS,EACpC,UAAU,MAAM,KACf,MAYF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,mBAAmB,KACzB,KAAK,CAAC,MAAM,GAAG,MAAM,CAsCvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,aAAa;;;CAKtD,CAAC;AA6IH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAWlE;AAED,KAAK,6BAA6B,GAAG;IACnC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,GACP,EAAE,6BAA6B,GAAG,mBAAmB,EAAE,CA6GvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-option-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/user-option-utils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,SAAS,CAAC;AAKhE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAevB,eAAO,MAAM,WAAW,GACtB,QAAQ,YAAY,EACpB,QAAO,OAAO,GAAG,MAAgB,EACjC,aAAa,IAAI,CACf,aAAa,EACb,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CACpD,EACD,UAAU,QAAQ,EAAE,KACnB,aAkOF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,QAAO,OAAO,GAAG,MAAgB,KAChC,aAAa,CAAC,OAAO,CAyFvB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,QAAO,OAAO,GAAG,MAAgB,KAChC,aAAa,CAAC,OAAO,CAgFvB,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CACjC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EACtC,OAAO,EAAE,CACV,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA4CF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,aAAa,CAAC,UAAU,CAAC,KAClC,kBAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,oBAAoB,GAAG,SAAS,KACzC,OAYF,CAAC;AAyDF,eAAO,MAAM,aAAa,GACxB,UAAU,aAAa,CAAC,UAAU,CAAC,EACnC,OAAO,iBAAiB,KACvB,aAAa,CAAC,UAAU,CAwC1B,CAAC;AAEF,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAwDF,eAAO,MAAM,YAAY,GACvB,SAAS,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,mBAAmB,KAC5B,aAAa,CAAC,SAAS,CAyCzB,CAAC"}
1
+ {"version":3,"file":"user-option-utils.d.ts","sourceRoot":"","sources":["../../../../src/charts/utils/user-option-utils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,SAAS,CAAC;AAKhE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAkBvB,eAAO,MAAM,WAAW,GACtB,QAAQ,YAAY,EACpB,QAAO,OAAO,GAAG,MAAgB,EACjC,aAAa,IAAI,CACf,aAAa,EACb,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CACpD,EACD,UAAU,QAAQ,EAAE,KACnB,aAmQF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,QAAO,OAAO,GAAG,MAAgB,KAChC,aAAa,CAAC,OAAO,CAyFvB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,QAAO,OAAO,GAAG,MAAgB,KAChC,aAAa,CAAC,OAAO,CAgFvB,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CACjC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EACtC,OAAO,EAAE,CACV,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA4CF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,aAAa,CAAC,UAAU,CAAC,KAClC,kBAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,oBAAoB,GAAG,SAAS,KACzC,OAYF,CAAC;AAyDF,eAAO,MAAM,aAAa,GACxB,UAAU,aAAa,CAAC,UAAU,CAAC,EACnC,OAAO,iBAAiB,KACvB,aAAa,CAAC,UAAU,CAwC1B,CAAC;AAEF,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAwDF,eAAO,MAAM,YAAY,GACvB,SAAS,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,mBAAmB,KAC5B,aAAa,CAAC,SAAS,CAyCzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-ndl/react-charts",
3
- "version": "1.3.18",
3
+ "version": "1.4.0",
4
4
  "sideEffects": false,
5
5
  "description": "React implementation of charts from Neo4j Design System",
6
6
  "keywords": [
@@ -57,8 +57,8 @@
57
57
  "peerDependencies": {
58
58
  "react": ">=19.0.0",
59
59
  "react-dom": ">=19.0.0",
60
- "@neo4j-ndl/base": "^4.23.4",
61
- "@neo4j-ndl/react": "^4.25.4"
60
+ "@neo4j-ndl/react": "^4.25.6",
61
+ "@neo4j-ndl/base": "^4.23.6"
62
62
  },
63
63
  "dependencies": {
64
64
  "classnames": "2.5.1",
@@ -2,7 +2,7 @@
2
2
  name: ndl-react-charts
3
3
  metadata:
4
4
  package: '@neo4j-ndl/react-charts'
5
- version: '1.3.18'
5
+ version: '1.4.0'
6
6
  description: >-
7
7
  Build data visualizations with the Neo4j Needle React Charts library
8
8
  (@neo4j-ndl/react-charts), an Apache ECharts-based charting layer. Use when
@@ -15,7 +15,7 @@ description: >-
15
15
 
16
16
  # Neo4j Needle React Charts (@neo4j-ndl/react-charts)
17
17
 
18
- > 📌 Shipped with `@neo4j-ndl/react-charts` v1.3.18. Once installed into your repo (e.g. via
18
+ > 📌 Shipped with `@neo4j-ndl/react-charts` v1.4.0. Once installed into your repo (e.g. via
19
19
  > `npx skills add`) this folder is detached from the package — the installed
20
20
  > package (TypeScript types in `node_modules/@neo4j-ndl/react-charts`) is the source of
21
21
  > truth.
@@ -92,4 +92,4 @@ Import from `@neo4j-ndl/react-charts`.
92
92
 
93
93
  | Component | Docs | Accessibility | Examples |
94
94
  |-----------|------|---------------|----------|
95
- | `Chart` | [components/charts.md](components/charts.md) | | 23 |
95
+ | `Chart` | [components/charts.md](components/charts.md) | | 25 |