@gravity-ui/chartkit 3.1.3 → 3.2.0-beta.1

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 (104) hide show
  1. package/build/plugins/d3/__stories__/bar/category.stories.d.ts +4 -0
  2. package/build/plugins/d3/__stories__/bar/category.stories.js +75 -0
  3. package/build/plugins/d3/__stories__/bar/datetime.stories.d.ts +4 -0
  4. package/build/plugins/d3/__stories__/bar/datetime.stories.js +71 -0
  5. package/build/plugins/d3/__stories__/bar/linear.stories.d.ts +4 -0
  6. package/build/plugins/d3/__stories__/bar/linear.stories.js +74 -0
  7. package/build/plugins/d3/__stories__/penguins.json +3098 -0
  8. package/build/plugins/d3/__stories__/scatter/LinearCategories.stories.d.ts +4 -0
  9. package/build/plugins/d3/__stories__/scatter/LinearCategories.stories.js +103 -0
  10. package/build/plugins/d3/__stories__/scatter/Timestamp.stories.d.ts +4 -0
  11. package/build/plugins/d3/__stories__/scatter/Timestamp.stories.js +91 -0
  12. package/build/plugins/d3/index.d.ts +7 -0
  13. package/build/plugins/d3/index.js +10 -0
  14. package/build/plugins/d3/renderer/D3Widget.d.ts +15 -0
  15. package/build/plugins/d3/renderer/D3Widget.js +40 -0
  16. package/build/plugins/d3/renderer/components/AxisX.d.ts +10 -0
  17. package/build/plugins/d3/renderer/components/AxisX.js +68 -0
  18. package/build/plugins/d3/renderer/components/AxisY.d.ts +10 -0
  19. package/build/plugins/d3/renderer/components/AxisY.js +73 -0
  20. package/build/plugins/d3/renderer/components/Chart.d.ts +10 -0
  21. package/build/plugins/d3/renderer/components/Chart.js +64 -0
  22. package/build/plugins/d3/renderer/components/Legend.d.ts +12 -0
  23. package/build/plugins/d3/renderer/components/Legend.js +66 -0
  24. package/build/plugins/d3/renderer/components/Title.d.ts +7 -0
  25. package/build/plugins/d3/renderer/components/Title.js +8 -0
  26. package/build/plugins/d3/renderer/components/Tooltip/DefaultContent.d.ts +10 -0
  27. package/build/plugins/d3/renderer/components/Tooltip/DefaultContent.js +21 -0
  28. package/build/plugins/d3/renderer/components/Tooltip/index.d.ts +12 -0
  29. package/build/plugins/d3/renderer/components/Tooltip/index.js +53 -0
  30. package/build/plugins/d3/renderer/components/index.d.ts +1 -0
  31. package/build/plugins/d3/renderer/components/index.js +1 -0
  32. package/build/plugins/d3/renderer/components/styles.css +61 -0
  33. package/build/plugins/d3/renderer/constants.d.ts +1 -0
  34. package/build/plugins/d3/renderer/constants.js +22 -0
  35. package/build/plugins/d3/renderer/hooks/index.d.ts +10 -0
  36. package/build/plugins/d3/renderer/hooks/index.js +10 -0
  37. package/build/plugins/d3/renderer/hooks/useChartDimensions/index.d.ts +17 -0
  38. package/build/plugins/d3/renderer/hooks/useChartDimensions/index.js +13 -0
  39. package/build/plugins/d3/renderer/hooks/useChartEvents/index.d.ts +5 -0
  40. package/build/plugins/d3/renderer/hooks/useChartEvents/index.js +15 -0
  41. package/build/plugins/d3/renderer/hooks/useChartOptions/chart.d.ts +8 -0
  42. package/build/plugins/d3/renderer/hooks/useChartOptions/chart.js +60 -0
  43. package/build/plugins/d3/renderer/hooks/useChartOptions/constants.d.ts +3 -0
  44. package/build/plugins/d3/renderer/hooks/useChartOptions/constants.js +3 -0
  45. package/build/plugins/d3/renderer/hooks/useChartOptions/index.d.ts +3 -0
  46. package/build/plugins/d3/renderer/hooks/useChartOptions/index.js +32 -0
  47. package/build/plugins/d3/renderer/hooks/useChartOptions/legend.d.ts +6 -0
  48. package/build/plugins/d3/renderer/hooks/useChartOptions/legend.js +7 -0
  49. package/build/plugins/d3/renderer/hooks/useChartOptions/title.d.ts +5 -0
  50. package/build/plugins/d3/renderer/hooks/useChartOptions/title.js +17 -0
  51. package/build/plugins/d3/renderer/hooks/useChartOptions/tooltip.d.ts +5 -0
  52. package/build/plugins/d3/renderer/hooks/useChartOptions/tooltip.js +5 -0
  53. package/build/plugins/d3/renderer/hooks/useChartOptions/types.d.ts +33 -0
  54. package/build/plugins/d3/renderer/hooks/useChartOptions/types.js +1 -0
  55. package/build/plugins/d3/renderer/hooks/useChartOptions/utils.d.ts +5 -0
  56. package/build/plugins/d3/renderer/hooks/useChartOptions/utils.js +18 -0
  57. package/build/plugins/d3/renderer/hooks/useChartOptions/x-axis.d.ts +5 -0
  58. package/build/plugins/d3/renderer/hooks/useChartOptions/x-axis.js +29 -0
  59. package/build/plugins/d3/renderer/hooks/useChartOptions/y-axis.d.ts +5 -0
  60. package/build/plugins/d3/renderer/hooks/useChartOptions/y-axis.js +35 -0
  61. package/build/plugins/d3/renderer/hooks/useLegend/index.d.ts +13 -0
  62. package/build/plugins/d3/renderer/hooks/useLegend/index.js +28 -0
  63. package/build/plugins/d3/renderer/hooks/useScales/index.d.ts +17 -0
  64. package/build/plugins/d3/renderer/hooks/useScales/index.js +106 -0
  65. package/build/plugins/d3/renderer/hooks/useSeries/index.d.ts +14 -0
  66. package/build/plugins/d3/renderer/hooks/useSeries/index.js +23 -0
  67. package/build/plugins/d3/renderer/hooks/useShapes/bar.d.ts +16 -0
  68. package/build/plugins/d3/renderer/hooks/useShapes/bar.js +75 -0
  69. package/build/plugins/d3/renderer/hooks/useShapes/index.d.ts +19 -0
  70. package/build/plugins/d3/renderer/hooks/useShapes/index.js +44 -0
  71. package/build/plugins/d3/renderer/hooks/useShapes/scatter.d.ts +18 -0
  72. package/build/plugins/d3/renderer/hooks/useShapes/scatter.js +62 -0
  73. package/build/plugins/d3/renderer/hooks/useTooltip/index.d.ts +13 -0
  74. package/build/plugins/d3/renderer/hooks/useTooltip/index.js +19 -0
  75. package/build/plugins/d3/renderer/hooks/useTooltip/types.d.ts +7 -0
  76. package/build/plugins/d3/renderer/hooks/useTooltip/types.js +1 -0
  77. package/build/plugins/d3/renderer/utils/index.d.ts +18 -0
  78. package/build/plugins/d3/renderer/utils/index.js +71 -0
  79. package/build/plugins/d3/types.d.ts +4 -0
  80. package/build/plugins/d3/types.js +1 -0
  81. package/build/types/widget-data/axis.d.ts +24 -0
  82. package/build/types/widget-data/axis.js +1 -0
  83. package/build/types/widget-data/bar.d.ts +31 -0
  84. package/build/types/widget-data/bar.js +1 -0
  85. package/build/types/widget-data/base.d.ts +15 -0
  86. package/build/types/widget-data/base.js +1 -0
  87. package/build/types/widget-data/chart.d.ts +9 -0
  88. package/build/types/widget-data/chart.js +1 -0
  89. package/build/types/widget-data/index.d.ts +28 -0
  90. package/build/types/widget-data/index.js +10 -0
  91. package/build/types/widget-data/legend.d.ts +3 -0
  92. package/build/types/widget-data/legend.js +1 -0
  93. package/build/types/widget-data/pie.d.ts +10 -0
  94. package/build/types/widget-data/pie.js +1 -0
  95. package/build/types/widget-data/scatter.d.ts +20 -0
  96. package/build/types/widget-data/scatter.js +1 -0
  97. package/build/types/widget-data/series.d.ts +18 -0
  98. package/build/types/widget-data/series.js +1 -0
  99. package/build/types/widget-data/title.d.ts +5 -0
  100. package/build/types/widget-data/title.js +1 -0
  101. package/build/types/widget-data/tooltip.d.ts +12 -0
  102. package/build/types/widget-data/tooltip.js +1 -0
  103. package/build/types/widget.d.ts +5 -0
  104. package/package.json +7 -2
@@ -0,0 +1,10 @@
1
+ export * from './axis';
2
+ export * from './base';
3
+ export * from './chart';
4
+ export * from './legend';
5
+ export * from './pie';
6
+ export * from './scatter';
7
+ export * from './bar';
8
+ export * from './series';
9
+ export * from './title';
10
+ export * from './tooltip';
@@ -0,0 +1,3 @@
1
+ export type ChartKitWidgetLegend = {
2
+ enabled?: boolean;
3
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BaseSeries, BaseSeriesData } from './base';
2
+ export type PieSeriesData<T = any> = BaseSeriesData<T> & {
3
+ value: number;
4
+ color: string;
5
+ name: string;
6
+ };
7
+ export type PieSeries<T = any> = BaseSeries & {
8
+ type: 'pie';
9
+ data: PieSeriesData<T>[];
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { BaseSeries, BaseSeriesData } from './base';
2
+ export type ScatterSeriesData<T = any> = BaseSeriesData<T> & {
3
+ /** The x value of the point */
4
+ x?: number;
5
+ /** The y value of the point */
6
+ y?: number;
7
+ /** Corresponding value of axis category */
8
+ category?: string;
9
+ radius?: number;
10
+ };
11
+ export type ScatterSeries<T = any> = BaseSeries & {
12
+ type: 'scatter';
13
+ data: ScatterSeriesData<T>[];
14
+ /** The name of the series (used in legend) */
15
+ name: string;
16
+ /** The main color of the series (hex, rgba) */
17
+ color?: string;
18
+ /** A predefined shape or symbol for the dot */
19
+ symbol?: string;
20
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { PieSeries, PieSeriesData } from './pie';
2
+ import type { ScatterSeries, ScatterSeriesData } from './scatter';
3
+ import type { BarSeries, BarSeriesData } from './bar';
4
+ import React from 'react';
5
+ export type ChartKitWidgetSeries<T = any> = ScatterSeries<T> | PieSeries<T> | BarSeries<T>;
6
+ export type ChartKitWidgetSeriesData<T = any> = ScatterSeriesData<T> | PieSeriesData<T> | BarSeriesData<T>;
7
+ export type DataLabelRendererData<T = any> = {
8
+ data: ChartKitWidgetSeriesData<T>;
9
+ };
10
+ export type ChartKitWidgetSeriesOptions = {
11
+ /** Individual data label for each point. */
12
+ dataLabels?: {
13
+ /** Enable or disable the data labels */
14
+ enabled?: boolean;
15
+ /** Callback function to render the data label */
16
+ renderer?: (args: DataLabelRendererData) => React.SVGTextElementAttributes<SVGTextElement>;
17
+ };
18
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { BaseTextStyle } from './base';
2
+ export type ChartKitWidgetTitle = {
3
+ text: string;
4
+ style?: Partial<BaseTextStyle>;
5
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { ChartKitWidgetSeries, ChartKitWidgetSeriesData } from './series';
3
+ export type TooltipHoveredData<T = any> = {
4
+ data: ChartKitWidgetSeriesData<T>;
5
+ series: ChartKitWidgetSeries;
6
+ };
7
+ export type ChartKitWidgetTooltip<T = any> = {
8
+ enabled?: boolean;
9
+ renderer?: (data: {
10
+ hovered: TooltipHoveredData<T>;
11
+ }) => React.ReactElement;
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -2,6 +2,7 @@
2
2
  import type { CustomTooltipProps, Yagr, YagrWidgetData } from '../plugins/yagr/types';
3
3
  import type { IndicatorWidgetData } from '../plugins/indicator/types';
4
4
  import type { Highcharts, HighchartsWidgetData, StringParams } from '../plugins/highcharts/types';
5
+ import type { ChartKitWidgetData } from './widget-data';
5
6
  export interface ChartKitWidget {
6
7
  yagr: {
7
8
  data: YagrWidgetData;
@@ -28,4 +29,8 @@ export interface ChartKitWidget {
28
29
  forceUpdate: boolean;
29
30
  }, callExternalOnChange?: boolean) => void;
30
31
  };
32
+ d3: {
33
+ data: ChartKitWidgetData;
34
+ widget: never;
35
+ };
31
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/chartkit",
3
- "version": "3.1.3",
3
+ "version": "3.2.0-beta.1",
4
4
  "description": "React component used to render charts based on any sources you need",
5
5
  "license": "MIT",
6
6
  "repository": "git@github.com:gravity-ui/ChartKit.git",
@@ -12,10 +12,14 @@
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
15
+ "sideEffects": [
16
+ "*.css"
17
+ ],
15
18
  "dependencies": {
16
19
  "@gravity-ui/date-utils": "^1.4.1",
17
- "@gravity-ui/yagr": "^3.7.7",
20
+ "@gravity-ui/yagr": "^3.7.8",
18
21
  "bem-cn-lite": "^4.1.0",
22
+ "d3": "^7.8.5",
19
23
  "lodash": "^4.17.21",
20
24
  "react-split-pane": "^0.1.92"
21
25
  },
@@ -35,6 +39,7 @@
35
39
  "@storybook/preset-scss": "^1.0.3",
36
40
  "@storybook/react": "^7.0.26",
37
41
  "@storybook/react-webpack5": "^7.0.26",
42
+ "@types/d3": "^7.4.0",
38
43
  "@types/jest": "^28.1.3",
39
44
  "@types/lodash": "^4.14.177",
40
45
  "@types/node": "^18.0.0",