@antv/gpt-vis 0.5.4 → 0.5.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 (86) hide show
  1. package/dist/cjs/Area/index.d.ts +2 -3
  2. package/dist/cjs/Area/index.js +48 -5
  3. package/dist/cjs/Bar/index.d.ts +2 -2
  4. package/dist/cjs/Bar/index.js +38 -7
  5. package/dist/cjs/ChartCodeRender/VisChart.d.ts +7 -1
  6. package/dist/cjs/ChartCodeRender/VisChart.js +100 -12
  7. package/dist/cjs/ChartCodeRender/index.js +16 -2
  8. package/dist/cjs/ChartCodeRender/type.d.ts +104 -5
  9. package/dist/cjs/Column/index.d.ts +2 -3
  10. package/dist/cjs/Column/index.js +38 -7
  11. package/dist/cjs/ConfigProvider/hooks/useConfig.js +2 -1
  12. package/dist/cjs/DualAxes/index.d.ts +1 -1
  13. package/dist/cjs/DualAxes/index.js +20 -8
  14. package/dist/cjs/FishboneDiagram/index.d.ts +1 -0
  15. package/dist/cjs/FishboneDiagram/index.js +21 -7
  16. package/dist/cjs/Histogram/index.d.ts +4 -3
  17. package/dist/cjs/Histogram/index.js +32 -3
  18. package/dist/cjs/IndentedTree/index.d.ts +1 -0
  19. package/dist/cjs/IndentedTree/index.js +32 -20
  20. package/dist/cjs/Line/index.d.ts +2 -3
  21. package/dist/cjs/Line/index.js +36 -3
  22. package/dist/cjs/MindMap/index.d.ts +1 -0
  23. package/dist/cjs/MindMap/index.js +29 -21
  24. package/dist/cjs/Pie/index.d.ts +2 -2
  25. package/dist/cjs/Pie/index.js +22 -3
  26. package/dist/cjs/Radar/index.d.ts +5 -3
  27. package/dist/cjs/Radar/index.js +106 -37
  28. package/dist/cjs/Scatter/index.d.ts +2 -3
  29. package/dist/cjs/Scatter/index.js +46 -3
  30. package/dist/cjs/Treemap/index.d.ts +2 -3
  31. package/dist/cjs/Treemap/index.js +22 -3
  32. package/dist/cjs/WordCloud/index.d.ts +2 -3
  33. package/dist/cjs/WordCloud/index.js +34 -7
  34. package/dist/cjs/theme.d.ts +2 -0
  35. package/dist/cjs/theme.js +133 -0
  36. package/dist/cjs/types/chart.d.ts +11 -0
  37. package/dist/cjs/utils/palette.d.ts +2 -0
  38. package/dist/cjs/utils/palette.js +54 -0
  39. package/dist/cjs/utils/plot.d.ts +1 -0
  40. package/dist/cjs/utils/plot.js +15 -0
  41. package/dist/cjs/version.d.ts +1 -1
  42. package/dist/cjs/version.js +1 -1
  43. package/dist/esm/Area/index.d.ts +2 -3
  44. package/dist/esm/Area/index.js +80 -6
  45. package/dist/esm/Bar/index.d.ts +2 -2
  46. package/dist/esm/Bar/index.js +56 -9
  47. package/dist/esm/ChartCodeRender/VisChart.d.ts +7 -1
  48. package/dist/esm/ChartCodeRender/VisChart.js +144 -34
  49. package/dist/esm/ChartCodeRender/index.js +15 -1
  50. package/dist/esm/ChartCodeRender/type.d.ts +104 -5
  51. package/dist/esm/Column/index.d.ts +2 -3
  52. package/dist/esm/Column/index.js +56 -9
  53. package/dist/esm/ConfigProvider/hooks/useConfig.js +9 -1
  54. package/dist/esm/DualAxes/index.d.ts +1 -1
  55. package/dist/esm/DualAxes/index.js +35 -12
  56. package/dist/esm/FishboneDiagram/index.d.ts +1 -0
  57. package/dist/esm/FishboneDiagram/index.js +23 -7
  58. package/dist/esm/Histogram/index.d.ts +4 -3
  59. package/dist/esm/Histogram/index.js +55 -5
  60. package/dist/esm/IndentedTree/index.d.ts +1 -0
  61. package/dist/esm/IndentedTree/index.js +36 -29
  62. package/dist/esm/Line/index.d.ts +2 -3
  63. package/dist/esm/Line/index.js +63 -4
  64. package/dist/esm/MindMap/index.d.ts +1 -0
  65. package/dist/esm/MindMap/index.js +37 -30
  66. package/dist/esm/Pie/index.d.ts +2 -2
  67. package/dist/esm/Pie/index.js +37 -4
  68. package/dist/esm/Radar/index.d.ts +5 -3
  69. package/dist/esm/Radar/index.js +138 -42
  70. package/dist/esm/Scatter/index.d.ts +2 -3
  71. package/dist/esm/Scatter/index.js +65 -5
  72. package/dist/esm/Treemap/index.d.ts +2 -3
  73. package/dist/esm/Treemap/index.js +38 -4
  74. package/dist/esm/WordCloud/index.d.ts +2 -3
  75. package/dist/esm/WordCloud/index.js +51 -9
  76. package/dist/esm/theme.d.ts +2 -0
  77. package/dist/esm/theme.js +103 -0
  78. package/dist/esm/types/chart.d.ts +11 -0
  79. package/dist/esm/utils/palette.d.ts +2 -0
  80. package/dist/esm/utils/palette.js +2 -0
  81. package/dist/esm/utils/plot.d.ts +1 -0
  82. package/dist/esm/utils/plot.js +10 -0
  83. package/dist/esm/version.d.ts +1 -1
  84. package/dist/esm/version.js +1 -1
  85. package/dist/umd/index.min.js +1 -1
  86. package/package.json +2 -1
@@ -36,10 +36,37 @@ var import_plots = require("@ant-design/plots");
36
36
  var import_lodash = require("lodash");
37
37
  var import_react = __toESM(require("react"));
38
38
  var import_hooks = require("../ConfigProvider/hooks");
39
+ var import_theme = require("../theme");
39
40
  var defaultConfig = (props) => {
40
- const { data, xField = "x", yField = "y" } = props;
41
+ var _a;
42
+ const { data, xField = "x", yField = "y", style = {} } = props;
43
+ const { backgroundColor, palette } = style;
41
44
  const axisXTitle = (0, import_lodash.get)(props, "axis.x.title");
42
45
  const axisYTitle = (0, import_lodash.get)(props, "axis.y.title");
46
+ const hasGroupField = ((_a = (data || [])[0]) == null ? void 0 : _a.group) !== void 0;
47
+ const hasPalette = !!(palette == null ? void 0 : palette[0]);
48
+ let paletteConfig = { color: void 0 };
49
+ let encode = {};
50
+ if (hasPalette) {
51
+ paletteConfig = {
52
+ color: {
53
+ range: palette
54
+ }
55
+ };
56
+ }
57
+ if (hasGroupField) {
58
+ encode = {
59
+ x: xField,
60
+ y: yField,
61
+ color: "group"
62
+ };
63
+ } else {
64
+ encode = {
65
+ x: xField,
66
+ y: yField,
67
+ color: () => "all"
68
+ };
69
+ }
43
70
  return {
44
71
  data,
45
72
  xField,
@@ -47,11 +74,27 @@ var defaultConfig = (props) => {
47
74
  tooltip: [
48
75
  { channel: "x", name: axisXTitle || "x" },
49
76
  { channel: "y", name: axisYTitle || "y" }
50
- ]
77
+ ],
78
+ legend: hasGroupField ? {} : false,
79
+ encode,
80
+ scale: {
81
+ y: {
82
+ nice: true
83
+ },
84
+ ...paletteConfig
85
+ },
86
+ style: {
87
+ lineWidth: 1
88
+ },
89
+ ...backgroundColor ? { viewStyle: { viewFill: backgroundColor } } : { viewStyle: void 0 }
51
90
  };
52
91
  };
53
92
  var Scatter = (props) => {
54
- const config = (0, import_hooks.usePlotConfig)("Scatter", defaultConfig, props);
93
+ const themeConfig = import_theme.THEME_MAP[props.theme ?? "default"];
94
+ const config = (0, import_hooks.usePlotConfig)("Scatter", defaultConfig, {
95
+ ...props,
96
+ theme: themeConfig
97
+ });
55
98
  return /* @__PURE__ */ import_react.default.createElement(import_plots.Scatter, { ...config });
56
99
  };
57
100
  var Scatter_default = Scatter;
@@ -1,11 +1,10 @@
1
- import type { TreemapConfig } from '@ant-design/plots';
2
1
  import React from 'react';
3
- import type { BasePlotProps } from '../types';
2
+ import type { BasePlotProps, Style, Theme } from '../types';
4
3
  type TreeNode = {
5
4
  name: string;
6
5
  value: number;
7
6
  children?: TreeNode[];
8
7
  };
9
- export type TreemapProps = BasePlotProps<TreeNode> & Partial<TreemapConfig>;
8
+ export type TreemapProps = BasePlotProps<TreeNode> & Theme & Style;
10
9
  declare const Treemap: (props: TreemapProps) => React.JSX.Element;
11
10
  export default Treemap;
@@ -35,8 +35,19 @@ module.exports = __toCommonJS(Treemap_exports);
35
35
  var import_plots = require("@ant-design/plots");
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_hooks = require("../ConfigProvider/hooks");
38
+ var import_theme = require("../theme");
38
39
  var defaultConfig = (props) => {
39
- const { valueField = "value" } = props;
40
+ const { valueField = "value", style = {} } = props;
41
+ const { backgroundColor, palette } = style;
42
+ const hasPalette = !!(palette == null ? void 0 : palette[0]);
43
+ let paletteConfig = { color: void 0 };
44
+ if (hasPalette) {
45
+ paletteConfig = {
46
+ color: {
47
+ range: palette
48
+ }
49
+ };
50
+ }
40
51
  return {
41
52
  legend: false,
42
53
  layout: {
@@ -55,7 +66,11 @@ var defaultConfig = (props) => {
55
66
  }
56
67
  ]
57
68
  },
58
- style: { fillOpacity: 0.8, labelFontSize: 12 }
69
+ style: { fillOpacity: 0.8, labelFontSize: 12 },
70
+ ...backgroundColor ? { viewStyle: { viewFill: backgroundColor } } : { viewStyle: void 0 },
71
+ scale: {
72
+ ...paletteConfig
73
+ }
59
74
  };
60
75
  };
61
76
  var transform = (data) => {
@@ -65,7 +80,11 @@ var transform = (data) => {
65
80
  };
66
81
  };
67
82
  var Treemap = (props) => {
68
- const config = (0, import_hooks.usePlotConfig)("Treemap", defaultConfig, props);
83
+ const themeConfig = import_theme.THEME_MAP[props.theme ?? "default"];
84
+ const config = (0, import_hooks.usePlotConfig)("Treemap", defaultConfig, {
85
+ ...props,
86
+ theme: themeConfig
87
+ });
69
88
  const { data, ...others } = config;
70
89
  const transformData = (0, import_react.useMemo)(() => transform(data), [data]);
71
90
  return /* @__PURE__ */ import_react.default.createElement(import_plots.Treemap, { ...others, data: transformData });
@@ -1,10 +1,9 @@
1
- import type { WordCloudConfig } from '@ant-design/plots';
2
1
  import { type FC } from 'react';
3
- import type { BasePlotProps } from '../types';
2
+ import type { BasePlotProps, Style, Theme } from '../types';
4
3
  type WordCloudDataItem = {
5
4
  text: string;
6
5
  value: number;
7
6
  };
8
- export type WordCloudProps = BasePlotProps<WordCloudDataItem> & Partial<WordCloudConfig>;
7
+ export type WordCloudProps = BasePlotProps<WordCloudDataItem> & Theme & Style;
9
8
  declare const WordCloud: FC<WordCloudProps>;
10
9
  export default WordCloud;
@@ -35,15 +35,42 @@ module.exports = __toCommonJS(WordCloud_exports);
35
35
  var import_plots = require("@ant-design/plots");
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_hooks = require("../ConfigProvider/hooks");
38
- var defaultConfig = {
39
- autoFit: true,
40
- layout: { fontSize: [20, 100] },
41
- colorField: "text",
42
- legend: false,
43
- tooltip: false
38
+ var import_theme = require("../theme");
39
+ var defaultConfig = (props) => {
40
+ const { data, style = {} } = props;
41
+ const { backgroundColor, palette } = style;
42
+ const hasPalette = !!(palette == null ? void 0 : palette[0]);
43
+ let paletteConfig = { color: void 0 };
44
+ if (hasPalette) {
45
+ paletteConfig = {
46
+ color: {
47
+ range: palette
48
+ }
49
+ };
50
+ }
51
+ return {
52
+ data,
53
+ layout: { fontSize: [20, 100] },
54
+ colorField: "text",
55
+ legend: false,
56
+ tooltip: false,
57
+ encode: {
58
+ text: "text",
59
+ color: "text",
60
+ value: "value"
61
+ },
62
+ ...backgroundColor ? { viewStyle: { viewFill: backgroundColor } } : { viewStyle: void 0 },
63
+ scale: {
64
+ ...paletteConfig
65
+ }
66
+ };
44
67
  };
45
68
  var WordCloud = (props) => {
46
- const config = (0, import_hooks.usePlotConfig)("WordCloud", defaultConfig, props);
69
+ const themeConfig = import_theme.THEME_MAP[props.theme ?? "default"];
70
+ const config = (0, import_hooks.usePlotConfig)("WordCloud", defaultConfig, {
71
+ ...props,
72
+ theme: themeConfig
73
+ });
47
74
  return /* @__PURE__ */ import_react.default.createElement(import_plots.WordCloud, { ...config });
48
75
  };
49
76
  var WordCloud_default = WordCloud;
@@ -0,0 +1,2 @@
1
+ export declare const THEME_MAP: any;
2
+ export declare const G6THEME_MAP: any;
@@ -0,0 +1,133 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/theme.ts
20
+ var theme_exports = {};
21
+ __export(theme_exports, {
22
+ G6THEME_MAP: () => G6THEME_MAP,
23
+ THEME_MAP: () => THEME_MAP
24
+ });
25
+ module.exports = __toCommonJS(theme_exports);
26
+ var import_palette = require("./utils/palette");
27
+ var DEFAULT_THEME = {
28
+ type: "light",
29
+ view: {
30
+ viewFill: "#FFF",
31
+ plotFill: "transparent",
32
+ mainFill: "transparent",
33
+ contentFill: "transparent"
34
+ },
35
+ interval: {
36
+ rect: {
37
+ fillOpacity: 0.8
38
+ }
39
+ },
40
+ line: {
41
+ line: {
42
+ lineWidth: 2
43
+ }
44
+ },
45
+ area: {
46
+ area: {
47
+ fillOpacity: 0.6
48
+ }
49
+ },
50
+ point: {
51
+ point: {
52
+ lineWidth: 1
53
+ }
54
+ }
55
+ };
56
+ var DARK_THEME = {
57
+ type: "dark",
58
+ view: {
59
+ viewFill: "#000",
60
+ plotFill: "transparent",
61
+ mainFill: "transparent",
62
+ contentFill: "transparent"
63
+ },
64
+ interval: {
65
+ rect: {
66
+ fillOpacity: 0.8
67
+ }
68
+ },
69
+ line: {
70
+ line: {
71
+ lineWidth: 2
72
+ }
73
+ },
74
+ area: {
75
+ area: {
76
+ fillOpacity: 0.6
77
+ }
78
+ },
79
+ point: {
80
+ point: {
81
+ lineWidth: 1
82
+ }
83
+ }
84
+ };
85
+ var ACADEMY_THEME = {
86
+ type: "academy",
87
+ view: {
88
+ viewFill: "#FFF",
89
+ plotFill: "transparent",
90
+ mainFill: "transparent",
91
+ contentFill: "transparent"
92
+ },
93
+ interval: {
94
+ rect: {
95
+ fillOpacity: 0.8
96
+ }
97
+ },
98
+ line: {
99
+ line: {
100
+ lineWidth: 2
101
+ }
102
+ },
103
+ area: {
104
+ area: {
105
+ fillOpacity: 0.6
106
+ }
107
+ },
108
+ point: {
109
+ point: {
110
+ lineWidth: 1
111
+ }
112
+ }
113
+ };
114
+ var THEME_MAP = {
115
+ default: DEFAULT_THEME,
116
+ academy: ACADEMY_THEME,
117
+ dark: DARK_THEME
118
+ };
119
+ var G6THEME_MAP = {
120
+ default: {
121
+ type: "assign-color-by-branch",
122
+ colors: import_palette.DEFAULT_COLOR_PALETTE
123
+ },
124
+ academy: {
125
+ type: "assign-color-by-branch",
126
+ colors: import_palette.ACADEMY_COLOR_PALETTE
127
+ }
128
+ };
129
+ // Annotate the CommonJS export names for ESM import in node:
130
+ 0 && (module.exports = {
131
+ G6THEME_MAP,
132
+ THEME_MAP
133
+ });
@@ -35,6 +35,7 @@ export interface BasePlotProps<T> extends BaseChartProps {
35
35
  data: T[];
36
36
  axisXTitle?: string;
37
37
  axisYTitle?: string;
38
+ title?: string;
38
39
  }
39
40
  export interface BaseMapProps<T> extends BaseChartProps, Map {
40
41
  style?: CSSProperties;
@@ -65,3 +66,13 @@ export interface GraphProps extends BaseGraphProps<GraphData> {
65
66
  }
66
67
  export interface TreeGraphProps extends BaseGraphProps<TreeGraphData> {
67
68
  }
69
+ export interface Theme {
70
+ theme?: 'default' | 'academy' | 'dark';
71
+ }
72
+ export interface Style {
73
+ style?: {
74
+ lineWidth?: number;
75
+ backgroundColor?: string;
76
+ palette?: string[];
77
+ };
78
+ }
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_COLOR_PALETTE: string[];
2
+ export declare const ACADEMY_COLOR_PALETTE: string[];
@@ -0,0 +1,54 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/utils/palette.ts
20
+ var palette_exports = {};
21
+ __export(palette_exports, {
22
+ ACADEMY_COLOR_PALETTE: () => ACADEMY_COLOR_PALETTE,
23
+ DEFAULT_COLOR_PALETTE: () => DEFAULT_COLOR_PALETTE
24
+ });
25
+ module.exports = __toCommonJS(palette_exports);
26
+ var DEFAULT_COLOR_PALETTE = [
27
+ "#1783FF",
28
+ "#F08F56",
29
+ "#D580FF",
30
+ "#00C9C9",
31
+ "#7863FF",
32
+ "#DB9D0D",
33
+ "#60C42D",
34
+ "#FF80CA",
35
+ "#2491B3",
36
+ "#17C76F"
37
+ ];
38
+ var ACADEMY_COLOR_PALETTE = [
39
+ "#4e79a7",
40
+ "#f28e2c",
41
+ "#e15759",
42
+ "#76b7b2",
43
+ "#59a14f",
44
+ "#edc949",
45
+ "#af7aa1",
46
+ "#ff9da7",
47
+ "#9c755f",
48
+ "#bab0ab"
49
+ ];
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ ACADEMY_COLOR_PALETTE,
53
+ DEFAULT_COLOR_PALETTE
54
+ });
@@ -2,3 +2,4 @@
2
2
  * 将 GPT-Vis 图表的配置转换为 ADC 的配置
3
3
  */
4
4
  export declare function transform2ADCProps<T extends Record<string, any>>(props: T): T;
5
+ export declare function groupBy(data: any[], keyFunc: (d: any) => string): any;
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/utils/plot.ts
20
20
  var plot_exports = {};
21
21
  __export(plot_exports, {
22
+ groupBy: () => groupBy,
22
23
  transform2ADCProps: () => transform2ADCProps
23
24
  });
24
25
  module.exports = __toCommonJS(plot_exports);
@@ -69,7 +70,21 @@ function transform2ADCProps(props) {
69
70
  const transformedAxis = axisTitle2G2axis(transformedEncode);
70
71
  return transformedAxis;
71
72
  }
73
+ function groupBy(data, keyFunc) {
74
+ return data.reduce(
75
+ (acc, item) => {
76
+ const key = keyFunc(item);
77
+ if (!acc[key]) {
78
+ acc[key] = [];
79
+ }
80
+ acc[key].push(item);
81
+ return acc;
82
+ },
83
+ {}
84
+ );
85
+ }
72
86
  // Annotate the CommonJS export names for ESM import in node:
73
87
  0 && (module.exports = {
88
+ groupBy,
74
89
  transform2ADCProps
75
90
  });
@@ -1,2 +1,2 @@
1
- declare const _default: "0.5.4";
1
+ declare const _default: "0.5.6";
2
2
  export default _default;
@@ -22,4 +22,4 @@ __export(version_exports, {
22
22
  default: () => version_default
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- var version_default = "0.5.4";
25
+ var version_default = "0.5.6";
@@ -1,11 +1,10 @@
1
- import type { AreaConfig } from '@ant-design/plots';
2
1
  import React from 'react';
3
- import type { BasePlotProps } from '../types';
2
+ import type { BasePlotProps, Style, Theme } from '../types';
4
3
  type AreaDataItem = {
5
4
  time: string | number;
6
5
  value: number;
7
6
  [key: string]: string | number;
8
7
  };
9
- export type AreaProps = BasePlotProps<AreaDataItem> & Partial<AreaConfig>;
8
+ export type AreaProps = BasePlotProps<AreaDataItem> & Theme & Style;
10
9
  declare const Area: (props: AreaProps) => React.JSX.Element;
11
10
  export default Area;
@@ -1,34 +1,108 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
7
  import { Area as ADCArea } from '@ant-design/plots';
2
8
  import { get } from 'lodash';
3
9
  import React from 'react';
4
10
  import { usePlotConfig } from "../ConfigProvider/hooks";
11
+ import { THEME_MAP } from "../theme";
12
+ var getLinearGradientColor = function getLinearGradientColor(color) {
13
+ return "linear-gradient(-90deg, white 0%, ".concat(color, " 100%)");
14
+ };
15
+ var DEFAULT_COLOR = '#3A95FF';
5
16
  var defaultConfig = function defaultConfig(props) {
6
17
  var data = props.data,
7
18
  _props$xField = props.xField,
8
19
  xField = _props$xField === void 0 ? 'time' : _props$xField,
9
20
  _props$yField = props.yField,
10
- yField = _props$yField === void 0 ? 'value' : _props$yField;
21
+ yField = _props$yField === void 0 ? 'value' : _props$yField,
22
+ _props$style = props.style,
23
+ style = _props$style === void 0 ? {} : _props$style;
24
+ var backgroundColor = style.backgroundColor,
25
+ palette = style.palette,
26
+ _style$lineWidth = style.lineWidth,
27
+ lineWidth = _style$lineWidth === void 0 ? 2 : _style$lineWidth;
11
28
  var hasGroupField = get(data, '[0].group') !== undefined;
12
29
  var axisYTitle = get(props, 'axis.y.title');
13
- var defalutStyle = hasGroupField ? {} : {
30
+ var fillColor = getLinearGradientColor((palette === null || palette === void 0 ? void 0 : palette[0]) || DEFAULT_COLOR);
31
+ var defaultStyle = hasGroupField ? {
14
32
  opacity: 0.6
33
+ } : {
34
+ opacity: 0.6,
35
+ fill: fillColor
36
+ };
37
+ var paletteConfig = {
38
+ color: undefined
15
39
  };
16
- return {
40
+ var encode = {};
41
+ var hasPalette = !!(palette !== null && palette !== void 0 && palette[0]);
42
+ if (hasPalette) {
43
+ paletteConfig = {
44
+ color: {
45
+ range: palette
46
+ }
47
+ };
48
+ }
49
+ if (hasGroupField) {
50
+ encode = {
51
+ x: xField,
52
+ y: yField,
53
+ color: 'group'
54
+ };
55
+ } else {
56
+ encode = {
57
+ x: xField,
58
+ y: yField,
59
+ color: function color() {
60
+ return 'all';
61
+ }
62
+ };
63
+ }
64
+ return _objectSpread({
17
65
  xField: xField,
18
66
  yField: yField,
19
- style: defalutStyle,
67
+ style: defaultStyle,
20
68
  colorField: hasGroupField ? 'group' : undefined,
69
+ stack: hasGroupField,
70
+ // @ts-ignore
71
+ encode: encode,
72
+ legend: hasGroupField ? {} : false,
21
73
  tooltip: function tooltip(d) {
22
74
  var tooltipName = axisYTitle || d[xField];
23
75
  return {
24
76
  name: tooltipName,
25
77
  value: d[yField]
26
78
  };
79
+ },
80
+ scale: _objectSpread({
81
+ y: {
82
+ nice: true
83
+ }
84
+ }, paletteConfig),
85
+ line: _objectSpread({
86
+ encode: encode,
87
+ style: {
88
+ lineWidth: lineWidth,
89
+ strokeOpacity: 0.6
90
+ }
91
+ }, paletteConfig)
92
+ }, backgroundColor ? {
93
+ viewStyle: {
94
+ viewFill: backgroundColor
27
95
  }
28
- };
96
+ } : {
97
+ viewStyle: undefined
98
+ });
29
99
  };
30
100
  var Area = function Area(props) {
31
- var config = usePlotConfig('Area', defaultConfig, props);
101
+ var _props$theme;
102
+ var themeConfig = THEME_MAP[(_props$theme = props.theme) !== null && _props$theme !== void 0 ? _props$theme : 'default'];
103
+ var config = usePlotConfig('Area', defaultConfig, _objectSpread(_objectSpread({}, props), {}, {
104
+ theme: themeConfig
105
+ }));
32
106
  return /*#__PURE__*/React.createElement(ADCArea, config);
33
107
  };
34
108
  export default Area;
@@ -1,11 +1,11 @@
1
1
  import type { BarConfig } from '@ant-design/plots';
2
2
  import React from 'react';
3
- import type { BasePlotProps } from '../types';
3
+ import type { BasePlotProps, Style, Theme } from '../types';
4
4
  type BarDataItem = {
5
5
  category: string;
6
6
  value: number;
7
7
  [key: string]: string | number;
8
8
  };
9
- export type BarProps = BasePlotProps<BarDataItem> & Partial<BarConfig>;
9
+ export type BarProps = BasePlotProps<BarDataItem> & Partial<BarConfig> & Theme & Style;
10
10
  declare const Bar: (props: BarProps) => React.JSX.Element;
11
11
  export default Bar;