@visactor/react-vchart 1.15.5-alpha.8 → 2.0.0-alpha.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.
- package/README.md +18 -26
- package/cjs/VChart.d.ts +1 -1
- package/cjs/VChartSimple.d.ts +1 -1
- package/cjs/charts/AreaChart.d.ts +1 -1
- package/cjs/charts/Bar3dChart.d.ts +2 -2
- package/cjs/charts/Bar3dChart.js +2 -2
- package/cjs/charts/Bar3dChart.js.map +1 -1
- package/cjs/charts/BarChart.d.ts +1 -1
- package/cjs/charts/BaseChart.d.ts +1 -2
- package/cjs/charts/BaseChart.js +16 -17
- package/cjs/charts/BaseChart.js.map +1 -1
- package/cjs/charts/BoxPlotChart.d.ts +1 -1
- package/cjs/charts/CirclePackingChart.d.ts +1 -1
- package/cjs/charts/CircularProgressChart.d.ts +1 -1
- package/cjs/charts/CommonChart.d.ts +1 -1
- package/cjs/charts/CorrelationChart.d.ts +1 -1
- package/cjs/charts/Funnel3dChart.d.ts +2 -2
- package/cjs/charts/Funnel3dChart.js +2 -2
- package/cjs/charts/Funnel3dChart.js.map +1 -1
- package/cjs/charts/FunnelChart.d.ts +1 -1
- package/cjs/charts/GaugeChart.d.ts +1 -1
- package/cjs/charts/HeatmapChart.d.ts +1 -1
- package/cjs/charts/Histogram3dChart.d.ts +2 -2
- package/cjs/charts/Histogram3dChart.js +2 -2
- package/cjs/charts/Histogram3dChart.js.map +1 -1
- package/cjs/charts/HistogramChart.d.ts +1 -1
- package/cjs/charts/LineChart.d.ts +1 -1
- package/cjs/charts/LinearProgressChart.d.ts +1 -1
- package/cjs/charts/LiquidChart.d.ts +1 -1
- package/cjs/charts/MapChart.d.ts +1 -1
- package/cjs/charts/MosaicChart.d.ts +1 -1
- package/cjs/charts/PictogramChart.d.ts +1 -1
- package/cjs/charts/Pie3dChart.d.ts +2 -2
- package/cjs/charts/Pie3dChart.js +2 -2
- package/cjs/charts/Pie3dChart.js.map +1 -1
- package/cjs/charts/PieChart.d.ts +1 -1
- package/cjs/charts/RadarChart.d.ts +1 -1
- package/cjs/charts/RangeAreaChart.d.ts +1 -1
- package/cjs/charts/RangeColumn3dChart.d.ts +2 -2
- package/cjs/charts/RangeColumn3dChart.js +2 -2
- package/cjs/charts/RangeColumn3dChart.js.map +1 -1
- package/cjs/charts/RangeColumnChart.d.ts +1 -1
- package/cjs/charts/RoseChart.d.ts +1 -1
- package/cjs/charts/SankeyChart.d.ts +1 -1
- package/cjs/charts/ScatterChart.d.ts +1 -1
- package/cjs/charts/SequenceChart.d.ts +1 -1
- package/cjs/charts/SunburstChart.d.ts +1 -1
- package/cjs/charts/TreemapChart.d.ts +1 -1
- package/cjs/charts/TreemapChart.js +2 -2
- package/cjs/charts/TreemapChart.js.map +1 -1
- package/cjs/charts/VennChart.d.ts +1 -1
- package/cjs/charts/WaterfallChart.d.ts +1 -1
- package/cjs/charts/WordCloud3dChart.d.ts +2 -2
- package/cjs/charts/WordCloud3dChart.js +2 -2
- package/cjs/charts/WordCloud3dChart.js.map +1 -1
- package/cjs/charts/WordCloudChart.d.ts +1 -1
- package/cjs/charts/index.d.ts +1 -0
- package/cjs/charts/index.js +2 -1
- package/cjs/charts/index.js.map +1 -1
- package/cjs/components/BaseComponent.js +1 -1
- package/cjs/components/BaseComponent.js.map +1 -1
- package/cjs/containers/withContainer.d.ts +1 -1
- package/cjs/containers/withContainer.js +1 -1
- package/cjs/containers/withContainer.js.map +1 -1
- package/cjs/context/chart.d.ts +3 -1
- package/cjs/context/chart.js +5 -4
- package/cjs/context/chart.js.map +1 -1
- package/cjs/context/stage.d.ts +5 -1
- package/cjs/context/stage.js +17 -6
- package/cjs/context/stage.js.map +1 -1
- package/cjs/index.d.ts +3 -2
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/series/Bar3d.d.ts +2 -2
- package/cjs/series/Bar3d.js +2 -2
- package/cjs/series/Bar3d.js.map +1 -1
- package/cjs/series/Funnel3d.d.ts +2 -2
- package/cjs/series/Funnel3d.js +2 -2
- package/cjs/series/Funnel3d.js.map +1 -1
- package/cjs/series/Pie3d.d.ts +2 -2
- package/cjs/series/Pie3d.js +2 -2
- package/cjs/series/Pie3d.js.map +1 -1
- package/cjs/series/RangeColumn3d.d.ts +2 -2
- package/cjs/series/RangeColumn3d.js +2 -2
- package/cjs/series/RangeColumn3d.js.map +1 -1
- package/cjs/series/WordCloud3d.d.ts +2 -2
- package/cjs/series/WordCloud3d.js +2 -2
- package/cjs/series/WordCloud3d.js.map +1 -1
- package/esm/VChart.d.ts +1 -1
- package/esm/VChartSimple.d.ts +1 -1
- package/esm/charts/AreaChart.d.ts +1 -1
- package/esm/charts/Bar3dChart.d.ts +2 -2
- package/esm/charts/Bar3dChart.js +3 -1
- package/esm/charts/Bar3dChart.js.map +1 -1
- package/esm/charts/BarChart.d.ts +1 -1
- package/esm/charts/BaseChart.d.ts +1 -2
- package/esm/charts/BaseChart.js +14 -17
- package/esm/charts/BaseChart.js.map +1 -1
- package/esm/charts/BoxPlotChart.d.ts +1 -1
- package/esm/charts/CirclePackingChart.d.ts +1 -1
- package/esm/charts/CircularProgressChart.d.ts +1 -1
- package/esm/charts/CommonChart.d.ts +1 -1
- package/esm/charts/CorrelationChart.d.ts +1 -1
- package/esm/charts/Funnel3dChart.d.ts +2 -2
- package/esm/charts/Funnel3dChart.js +3 -1
- package/esm/charts/Funnel3dChart.js.map +1 -1
- package/esm/charts/FunnelChart.d.ts +1 -1
- package/esm/charts/GaugeChart.d.ts +1 -1
- package/esm/charts/HeatmapChart.d.ts +1 -1
- package/esm/charts/Histogram3dChart.d.ts +2 -2
- package/esm/charts/Histogram3dChart.js +3 -1
- package/esm/charts/Histogram3dChart.js.map +1 -1
- package/esm/charts/HistogramChart.d.ts +1 -1
- package/esm/charts/LineChart.d.ts +1 -1
- package/esm/charts/LinearProgressChart.d.ts +1 -1
- package/esm/charts/LiquidChart.d.ts +1 -1
- package/esm/charts/MapChart.d.ts +1 -1
- package/esm/charts/MosaicChart.d.ts +1 -1
- package/esm/charts/PictogramChart.d.ts +1 -1
- package/esm/charts/Pie3dChart.d.ts +2 -2
- package/esm/charts/Pie3dChart.js +3 -1
- package/esm/charts/Pie3dChart.js.map +1 -1
- package/esm/charts/PieChart.d.ts +1 -1
- package/esm/charts/RadarChart.d.ts +1 -1
- package/esm/charts/RangeAreaChart.d.ts +1 -1
- package/esm/charts/RangeColumn3dChart.d.ts +2 -2
- package/esm/charts/RangeColumn3dChart.js +3 -1
- package/esm/charts/RangeColumn3dChart.js.map +1 -1
- package/esm/charts/RangeColumnChart.d.ts +1 -1
- package/esm/charts/RoseChart.d.ts +1 -1
- package/esm/charts/SankeyChart.d.ts +1 -1
- package/esm/charts/ScatterChart.d.ts +1 -1
- package/esm/charts/SequenceChart.d.ts +1 -1
- package/esm/charts/SunburstChart.d.ts +1 -1
- package/esm/charts/TreemapChart.d.ts +1 -1
- package/esm/charts/TreemapChart.js +1 -3
- package/esm/charts/TreemapChart.js.map +1 -1
- package/esm/charts/VennChart.d.ts +1 -1
- package/esm/charts/WaterfallChart.d.ts +1 -1
- package/esm/charts/WordCloud3dChart.d.ts +2 -2
- package/esm/charts/WordCloud3dChart.js +3 -1
- package/esm/charts/WordCloud3dChart.js.map +1 -1
- package/esm/charts/WordCloudChart.d.ts +1 -1
- package/esm/charts/index.d.ts +1 -0
- package/esm/charts/index.js +2 -0
- package/esm/charts/index.js.map +1 -1
- package/esm/components/BaseComponent.js +1 -1
- package/esm/components/BaseComponent.js.map +1 -1
- package/esm/containers/withContainer.d.ts +1 -1
- package/esm/containers/withContainer.js +1 -1
- package/esm/containers/withContainer.js.map +1 -1
- package/esm/context/chart.d.ts +3 -1
- package/esm/context/chart.js +5 -4
- package/esm/context/chart.js.map +1 -1
- package/esm/context/stage.d.ts +5 -1
- package/esm/context/stage.js +18 -5
- package/esm/context/stage.js.map +1 -1
- package/esm/index.d.ts +3 -2
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/series/Bar3d.d.ts +2 -2
- package/esm/series/Bar3d.js +1 -1
- package/esm/series/Bar3d.js.map +1 -1
- package/esm/series/Funnel3d.d.ts +2 -2
- package/esm/series/Funnel3d.js +1 -1
- package/esm/series/Funnel3d.js.map +1 -1
- package/esm/series/Pie3d.d.ts +2 -2
- package/esm/series/Pie3d.js +1 -1
- package/esm/series/Pie3d.js.map +1 -1
- package/esm/series/RangeColumn3d.d.ts +2 -2
- package/esm/series/RangeColumn3d.js +1 -1
- package/esm/series/RangeColumn3d.js.map +1 -1
- package/esm/series/WordCloud3d.d.ts +2 -2
- package/esm/series/WordCloud3d.js +1 -1
- package/esm/series/WordCloud3d.js.map +1 -1
- package/package.json +6 -6
- package/cjs/context/view.d.ts +0 -5
- package/cjs/context/view.js +0 -24
- package/cjs/context/view.js.map +0 -1
- package/esm/context/view.d.ts +0 -5
- package/esm/context/view.js +0 -16
- package/esm/context/view.js.map +0 -1
package/esm/charts/BarChart.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor, IHierarchyData, IVChartRenderOption } from '@visactor/vchart';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { ContainerProps } from '../containers/withContainer';
|
|
4
3
|
import type { EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps } from '../eventsUtils';
|
|
5
4
|
import type { IReactTooltipProps } from '../components/tooltip/interface';
|
|
6
5
|
export type ChartOptions = Omit<IInitOption, 'dom'>;
|
|
@@ -20,5 +19,5 @@ export interface BaseChartProps extends EventsProps, LegendEventProps, ScrollBar
|
|
|
20
19
|
useSyncRender?: boolean;
|
|
21
20
|
}
|
|
22
21
|
type Props = React.PropsWithChildren<BaseChartProps>;
|
|
23
|
-
export declare const createChart: <T extends Props>(componentName: string, defaultProps?: Partial<T>, registers?: (() => void)[]) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T
|
|
22
|
+
export declare const createChart: <T extends Props>(componentName: string, defaultProps?: Partial<T>, registers?: (() => void)[]) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<any>>;
|
|
24
23
|
export {};
|
package/esm/charts/BaseChart.js
CHANGED
|
@@ -6,8 +6,6 @@ import RootChartContext from "../context/chart";
|
|
|
6
6
|
|
|
7
7
|
import { isEqual, isNil, isValid, pickWithout } from "@visactor/vutils";
|
|
8
8
|
|
|
9
|
-
import ViewContext from "../context/view";
|
|
10
|
-
|
|
11
9
|
import { toArray } from "../util";
|
|
12
10
|
|
|
13
11
|
import { REACT_PRIVATE_PROPS } from "../constants";
|
|
@@ -37,20 +35,18 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
|
|
|
37
35
|
var _a;
|
|
38
36
|
return null === (_a = chartContext.current) || void 0 === _a ? void 0 : _a.chart;
|
|
39
37
|
}));
|
|
40
|
-
const hasSpec = !!props.spec,
|
|
38
|
+
const hasSpec = !!props.spec, isUnmount = useRef(!1), prevSpec = useRef(pickWithout(props, notSpecKeys)), specFromChildren = useRef(null), eventsBinded = React.useRef(null), skipFunctionDiff = !!props.skipFunctionDiff, [tooltipNode, setTooltipNode] = useState(null), parseSpec = props => {
|
|
41
39
|
let spec;
|
|
42
40
|
hasSpec && props.spec ? (spec = props.spec, isValid(props.data) && (spec = Object.assign(Object.assign({}, props.spec), {
|
|
43
41
|
data: props.data
|
|
44
42
|
}))) : spec = Object.assign(Object.assign({}, prevSpec.current), specFromChildren.current);
|
|
45
43
|
const tooltipSpec = initCustomTooltip(setTooltipNode, props, spec.tooltip);
|
|
46
44
|
return tooltipSpec && (spec.tooltip = tooltipSpec), spec;
|
|
47
|
-
}, handleChartRender =
|
|
45
|
+
}, handleChartRender = rebindEvent => {
|
|
48
46
|
if (!isUnmount.current) {
|
|
49
47
|
if (!chartContext.current || !chartContext.current.chart) return;
|
|
50
|
-
bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS)
|
|
51
|
-
|
|
52
|
-
setUpdateId(updateId + 1), props.onReady && props.onReady(chartContext.current.chart, 0 === updateId),
|
|
53
|
-
setView(newView);
|
|
48
|
+
rebindEvent && bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS),
|
|
49
|
+
setUpdateId(updateId + 1), props.onReady && props.onReady(chartContext.current.chart, 0 === updateId);
|
|
54
50
|
}
|
|
55
51
|
};
|
|
56
52
|
return useEffect((() => {
|
|
@@ -66,27 +62,28 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
|
|
|
66
62
|
chartContext.current = Object.assign(Object.assign({}, chartContext.current), {
|
|
67
63
|
chart: cs
|
|
68
64
|
}), isUnmount.current = !1;
|
|
69
|
-
})(props), chartContext.current.chart && (chartContext.current.chart.
|
|
65
|
+
})(props), chartContext.current.chart && (bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS),
|
|
66
|
+
chartContext.current.chart.renderSync({
|
|
70
67
|
reuse: !1
|
|
71
68
|
}), handleChartRender()), void (eventsBinded.current = props);
|
|
72
69
|
if (hasSpec) return void (isEqual(eventsBinded.current.spec, props.spec, {
|
|
73
70
|
skipFunction: skipFunctionDiff
|
|
74
71
|
}) ? eventsBinded.current.data !== props.data && (chartContext.current.chart.updateFullDataSync(props.data),
|
|
75
|
-
handleChartRender(), eventsBinded.current = props) : (chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, null !== (_b = props.morphConfig) && void 0 !== _b ? _b : defaultMorphConfig),
|
|
76
|
-
handleChartRender(), eventsBinded.current = props));
|
|
72
|
+
handleChartRender(!0), eventsBinded.current = props) : (chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, null !== (_b = props.morphConfig) && void 0 !== _b ? _b : defaultMorphConfig),
|
|
73
|
+
handleChartRender(!0), eventsBinded.current = props));
|
|
77
74
|
const newSpec = pickWithout(props, notSpecKeys);
|
|
78
75
|
isEqual(newSpec, prevSpec.current, {
|
|
79
76
|
skipFunction: skipFunctionDiff
|
|
80
|
-
}) && isEqual(newSpecFromChildren, specFromChildren.current
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
}) && isEqual(newSpecFromChildren, specFromChildren.current, {
|
|
78
|
+
skipFunction: skipFunctionDiff
|
|
79
|
+
}) || (prevSpec.current = newSpec, specFromChildren.current = newSpecFromChildren,
|
|
80
|
+
chartContext.current.chart.updateSpecSync(parseSpec(props), void 0, null !== (_c = props.morphConfig) && void 0 !== _c ? _c : defaultMorphConfig),
|
|
81
|
+
handleChartRender(!0), eventsBinded.current = props);
|
|
83
82
|
}), [ props ]), useEffect((() => () => {
|
|
84
83
|
chartContext && chartContext.current && chartContext.current.chart && (chartContext.current.chart.release(),
|
|
85
84
|
chartContext.current.chart = null), eventsBinded.current = null, isUnmount.current = !0;
|
|
86
85
|
}), []), React.createElement(RootChartContext.Provider, {
|
|
87
86
|
value: chartContext.current
|
|
88
|
-
}, React.createElement(ViewContext.Provider, {
|
|
89
|
-
value: view
|
|
90
87
|
}, toArray(props.children).map(((child, index) => {
|
|
91
88
|
if ("string" == typeof child) return null;
|
|
92
89
|
const childId = getComponentId(child, index);
|
|
@@ -96,7 +93,7 @@ const notSpecKeys = [ ...REACT_PRIVATE_PROPS, ...CHART_EVENTS_KEYS, "vchartConst
|
|
|
96
93
|
updateId: updateId,
|
|
97
94
|
componentId: childId
|
|
98
95
|
}));
|
|
99
|
-
})), tooltipNode)
|
|
96
|
+
})), tooltipNode);
|
|
100
97
|
}));
|
|
101
98
|
|
|
102
99
|
export const createChart = (componentName, defaultProps, registers) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/BaseChart.tsx"],"names":[],"mappings":"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","file":"BaseChart.js","sourcesContent":["import type {\n IVChart,\n IData,\n IInitOption,\n ISpec,\n IVChartConstructor,\n IHierarchyData,\n IVChartRenderOption\n} from '@visactor/vchart';\nimport type { ReactNode } from 'react';\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport type { ContainerProps } from '../containers/withContainer';\nimport withContainer from '../containers/withContainer';\nimport type { ChartContextType } from '../context/chart';\nimport RootChartContext from '../context/chart';\nimport type { IView } from '@visactor/vgrammar-core';\nimport { isEqual, isNil, isValid, pickWithout } from '@visactor/vutils';\nimport ViewContext from '../context/view';\nimport { toArray } from '../util';\nimport { REACT_PRIVATE_PROPS } from '../constants';\nimport type {\n EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps\n} from '../eventsUtils';\nimport { bindEventsToChart, CHART_EVENTS_KEYS, CHART_EVENTS } from '../eventsUtils';\nimport type { IReactTooltipProps } from '../components/tooltip/interface';\nimport { initCustomTooltip } from '../components/tooltip/util';\n\nexport type ChartOptions = Omit<IInitOption, 'dom'>;\n\nexport interface BaseChartProps\n extends EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps,\n IReactTooltipProps {\n vchartConstrouctor?: IVChartConstructor;\n type?: string;\n /** 上层container */\n container?: HTMLDivElement;\n /**\n * used only by <VChart />\n */\n spec?: ISpec;\n /** 数据 */\n data?: IData | IHierarchyData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /** 图表配置 */\n options?: ChartOptions;\n /** skip function diff when component update */\n skipFunctionDiff?: boolean;\n /**\n * add `morphConfig` for chart\n * @since 1.12.7\n */\n morphConfig?: IVChartRenderOption['morphConfig'];\n /** 图表渲染完成事件 */\n onReady?: (instance: IVChart, isInitial: boolean) => void;\n /** throw error when chart run into an error */\n onError?: (err: Error) => void;\n /**\n * use sync render\n *\n * @since 1.8.3\n * @deprecated 1.9.0\n **/\n useSyncRender?: boolean;\n}\n\ntype Props = React.PropsWithChildren<BaseChartProps>;\n\nconst notSpecKeys = [\n ...REACT_PRIVATE_PROPS,\n ...CHART_EVENTS_KEYS,\n 'vchartConstrouctor',\n 'useSyncRender',\n 'skipFunctionDiff',\n 'onError',\n 'onReady',\n 'spec',\n 'container',\n 'options',\n 'morphConfig'\n];\nconst defaultMorphConfig = {\n morph: false,\n enableExitAnimation: false\n};\n\nconst getComponentId = (child: React.ReactNode, index: number) => {\n const componentName = child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n return `${componentName}-${index}`;\n};\n\nconst parseSpecFromChildren = (props: Props) => {\n const specFromChildren: Omit<ISpec, 'type' | 'data' | 'width' | 'height'> = {};\n\n toArray(props.children).map((child, index) => {\n const parseSpec = child && (child as any).type && (child as any).type.parseSpec;\n\n if (parseSpec && (child as any).props) {\n const childProps = isNil((child as any).props.componentId)\n ? {\n ...(child as any).props,\n componentId: getComponentId(child, index)\n }\n : (child as any).props;\n\n const specResult = parseSpec(childProps);\n\n if (specResult.isSingle) {\n (specFromChildren as any)[specResult.specName] = specResult.spec;\n } else {\n if (!(specFromChildren as any)[specResult.specName]) {\n (specFromChildren as any)[specResult.specName] = [];\n }\n\n (specFromChildren as any)[specResult.specName].push(specResult.spec);\n }\n }\n });\n\n return specFromChildren;\n};\n\nconst BaseChart: React.FC<Props> = React.forwardRef((props, ref) => {\n const [updateId, setUpdateId] = useState<number>(0);\n const chartContext = useRef<ChartContextType>({});\n useImperativeHandle(ref, () => chartContext.current?.chart);\n const hasSpec = !!props.spec;\n const [view, setView] = useState<IView>(null);\n const isUnmount = useRef<boolean>(false);\n const prevSpec = useRef(pickWithout(props, notSpecKeys));\n const specFromChildren = useRef<Omit<ISpec, 'type' | 'data' | 'width' | 'height'>>(null);\n const eventsBinded = React.useRef<BaseChartProps>(null);\n const skipFunctionDiff = !!props.skipFunctionDiff;\n const [tooltipNode, setTooltipNode] = useState<ReactNode>(null);\n\n const parseSpec = (props: Props) => {\n let spec: ISpec;\n\n if (hasSpec && props.spec) {\n spec = props.spec;\n\n if (isValid(props.data)) {\n spec = {\n ...props.spec,\n data: props.data\n } as ISpec;\n }\n } else {\n spec = {\n ...prevSpec.current,\n ...specFromChildren.current\n } as ISpec;\n }\n\n const tooltipSpec = initCustomTooltip(setTooltipNode, props, spec.tooltip);\n if (tooltipSpec) {\n spec.tooltip = tooltipSpec;\n }\n return spec;\n };\n\n const createChart = (props: Props) => {\n const cs = new props.vchartConstrouctor(parseSpec(props), {\n ...props.options,\n onError: props.onError,\n autoFit: true,\n dom: props.container\n });\n chartContext.current = { ...chartContext.current, chart: cs };\n isUnmount.current = false;\n };\n\n const handleChartRender = () => {\n // rebind events after render\n if (!isUnmount.current) {\n if (!chartContext.current || !chartContext.current.chart) {\n return;\n }\n\n bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);\n\n const newView = chartContext.current.chart.getCompiler().getVGrammarView();\n\n setUpdateId(updateId + 1);\n if (props.onReady) {\n props.onReady(chartContext.current.chart, updateId === 0);\n }\n setView(newView);\n }\n };\n\n const renderChart = () => {\n if (chartContext.current.chart) {\n chartContext.current.chart.renderSync({\n reuse: false\n });\n handleChartRender();\n }\n };\n\n useEffect(() => {\n const newSpecFromChildren = hasSpec ? null : parseSpecFromChildren(props);\n\n if (!chartContext.current?.chart) {\n if (!hasSpec) {\n specFromChildren.current = newSpecFromChildren;\n }\n\n createChart(props);\n renderChart();\n eventsBinded.current = props;\n return;\n }\n\n if (hasSpec) {\n if (!isEqual(eventsBinded.current.spec, props.spec, { skipFunction: skipFunctionDiff })) {\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, props.morphConfig ?? defaultMorphConfig);\n handleChartRender();\n eventsBinded.current = props;\n } else if (eventsBinded.current.data !== props.data) {\n chartContext.current.chart.updateFullDataSync(props.data as any);\n handleChartRender();\n eventsBinded.current = props;\n }\n return;\n }\n\n const newSpec = pickWithout(props, notSpecKeys);\n\n if (\n !isEqual(newSpec, prevSpec.current, { skipFunction: skipFunctionDiff }) ||\n !isEqual(newSpecFromChildren, specFromChildren.current)\n ) {\n prevSpec.current = newSpec;\n specFromChildren.current = newSpecFromChildren;\n\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, props.morphConfig ?? defaultMorphConfig);\n handleChartRender();\n eventsBinded.current = props;\n }\n }, [props]);\n\n useEffect(() => {\n return () => {\n if (chartContext) {\n if (chartContext.current && chartContext.current.chart) {\n chartContext.current.chart.release();\n chartContext.current.chart = null;\n }\n }\n eventsBinded.current = null;\n isUnmount.current = true;\n };\n }, []);\n\n return (\n <RootChartContext.Provider value={chartContext.current}>\n <ViewContext.Provider value={view}>\n {toArray(props.children).map((child, index) => {\n if (typeof child === 'string') {\n return null;\n }\n\n const childId = getComponentId(child, index);\n\n return (\n <React.Fragment key={childId}>\n {React.cloneElement(child as React.ReactElement<any, React.JSXElementConstructor<any>>, {\n updateId: updateId,\n componentId: childId\n })}\n </React.Fragment>\n );\n })}\n {tooltipNode}\n </ViewContext.Provider>\n </RootChartContext.Provider>\n );\n});\n\nexport const createChart = <T extends Props>(\n componentName: string,\n defaultProps?: Partial<T>,\n registers?: (() => void)[]\n) => {\n if (registers && registers.length && defaultProps.vchartConstrouctor) {\n defaultProps.vchartConstrouctor.useRegisters(registers);\n }\n\n const Com = withContainer<ContainerProps, T>(BaseChart as any, componentName, (props: T) => {\n if (defaultProps) {\n return Object.assign(props, defaultProps);\n }\n return props;\n });\n Com.displayName = componentName;\n return Com;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/BaseChart.tsx"],"names":[],"mappings":"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","file":"BaseChart.js","sourcesContent":["import type {\n IVChart,\n IData,\n IInitOption,\n ISpec,\n IVChartConstructor,\n IHierarchyData,\n IVChartRenderOption\n} from '@visactor/vchart';\nimport type { ReactNode } from 'react';\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\nimport type { ContainerProps } from '../containers/withContainer';\nimport withContainer from '../containers/withContainer';\nimport type { ChartContextType } from '../context/chart';\nimport RootChartContext from '../context/chart';\nimport { isEqual, isNil, isValid, pickWithout } from '@visactor/vutils';\nimport { toArray } from '../util';\nimport { REACT_PRIVATE_PROPS } from '../constants';\nimport type {\n EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps\n} from '../eventsUtils';\nimport { bindEventsToChart, CHART_EVENTS_KEYS, CHART_EVENTS } from '../eventsUtils';\nimport type { IReactTooltipProps } from '../components/tooltip/interface';\nimport { initCustomTooltip } from '../components/tooltip/util';\n\nexport type ChartOptions = Omit<IInitOption, 'dom'>;\n\nexport interface BaseChartProps\n extends EventsProps,\n LegendEventProps,\n ScrollBarEventProps,\n BrushEventProps,\n DataZoomEventProps,\n PlayerEventProps,\n DimensionEventProps,\n HierarchyEventProps,\n ChartLifeCycleEventProps,\n IReactTooltipProps {\n vchartConstrouctor?: IVChartConstructor;\n type?: string;\n /** 上层container */\n container?: HTMLDivElement;\n /**\n * used only by <VChart />\n */\n spec?: ISpec;\n /** 数据 */\n data?: IData | IHierarchyData;\n /** 画布宽度 */\n width?: number;\n /** 画布高度 */\n height?: number;\n /** 图表配置 */\n options?: ChartOptions;\n /** skip function diff when component update */\n skipFunctionDiff?: boolean;\n /**\n * add `morphConfig` for chart\n * @since 1.12.7\n */\n morphConfig?: IVChartRenderOption['morphConfig'];\n /** 图表渲染完成事件 */\n onReady?: (instance: IVChart, isInitial: boolean) => void;\n /** throw error when chart run into an error */\n onError?: (err: Error) => void;\n /**\n * use sync render\n *\n * @since 1.8.3\n * @deprecated 1.9.0\n **/\n useSyncRender?: boolean;\n}\n\ntype Props = React.PropsWithChildren<BaseChartProps>;\n\nconst notSpecKeys = [\n ...REACT_PRIVATE_PROPS,\n ...CHART_EVENTS_KEYS,\n 'vchartConstrouctor',\n 'useSyncRender',\n 'skipFunctionDiff',\n 'onError',\n 'onReady',\n 'spec',\n 'container',\n 'options',\n 'morphConfig'\n];\nconst defaultMorphConfig = {\n morph: false,\n enableExitAnimation: false\n};\n\nconst getComponentId = (child: React.ReactNode, index: number) => {\n const componentName = child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n return `${componentName}-${index}`;\n};\n\nconst parseSpecFromChildren = (props: Props) => {\n const specFromChildren: Omit<ISpec, 'type' | 'data' | 'width' | 'height'> = {};\n\n toArray(props.children).map((child, index) => {\n const parseSpec = child && (child as any).type && (child as any).type.parseSpec;\n\n if (parseSpec && (child as any).props) {\n const childProps = isNil((child as any).props.componentId)\n ? {\n ...(child as any).props,\n componentId: getComponentId(child, index)\n }\n : (child as any).props;\n\n const specResult = parseSpec(childProps);\n\n if (specResult.isSingle) {\n (specFromChildren as any)[specResult.specName] = specResult.spec;\n } else {\n if (!(specFromChildren as any)[specResult.specName]) {\n (specFromChildren as any)[specResult.specName] = [];\n }\n\n (specFromChildren as any)[specResult.specName].push(specResult.spec);\n }\n }\n });\n\n return specFromChildren;\n};\n\nconst BaseChart: React.FC<Props> = React.forwardRef((props, ref) => {\n const [updateId, setUpdateId] = useState<number>(0);\n const chartContext = useRef<ChartContextType>({});\n useImperativeHandle(ref, () => chartContext.current?.chart);\n const hasSpec = !!props.spec;\n const isUnmount = useRef<boolean>(false);\n const prevSpec = useRef(pickWithout(props, notSpecKeys));\n const specFromChildren = useRef<Omit<ISpec, 'type' | 'data' | 'width' | 'height'>>(null);\n const eventsBinded = React.useRef<BaseChartProps>(null);\n const skipFunctionDiff = !!props.skipFunctionDiff;\n const [tooltipNode, setTooltipNode] = useState<ReactNode>(null);\n\n const parseSpec = (props: Props) => {\n let spec: ISpec;\n\n if (hasSpec && props.spec) {\n spec = props.spec;\n\n if (isValid(props.data)) {\n spec = {\n ...props.spec,\n data: props.data\n } as ISpec;\n }\n } else {\n spec = {\n ...prevSpec.current,\n ...specFromChildren.current\n } as ISpec;\n }\n\n const tooltipSpec = initCustomTooltip(setTooltipNode, props, spec.tooltip);\n if (tooltipSpec) {\n spec.tooltip = tooltipSpec;\n }\n return spec;\n };\n\n const createChart = (props: Props) => {\n const cs = new props.vchartConstrouctor(parseSpec(props), {\n ...props.options,\n onError: props.onError,\n autoFit: true,\n dom: props.container\n });\n chartContext.current = { ...chartContext.current, chart: cs };\n isUnmount.current = false;\n };\n\n const handleChartRender = (rebindEvent?: boolean) => {\n // rebind events after render\n if (!isUnmount.current) {\n if (!chartContext.current || !chartContext.current.chart) {\n return;\n }\n\n if (rebindEvent) {\n bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);\n }\n\n setUpdateId(updateId + 1);\n if (props.onReady) {\n props.onReady(chartContext.current.chart, updateId === 0);\n }\n }\n };\n\n const renderChart = () => {\n if (chartContext.current.chart) {\n // event should bind before render when the chart has not been rendered\n bindEventsToChart(chartContext.current.chart, props, eventsBinded.current, CHART_EVENTS);\n\n chartContext.current.chart.renderSync({\n reuse: false\n });\n handleChartRender();\n }\n };\n\n useEffect(() => {\n const newSpecFromChildren = hasSpec ? null : parseSpecFromChildren(props);\n\n if (!chartContext.current?.chart) {\n if (!hasSpec) {\n specFromChildren.current = newSpecFromChildren;\n }\n\n createChart(props);\n renderChart();\n eventsBinded.current = props;\n return;\n }\n\n if (hasSpec) {\n if (!isEqual(eventsBinded.current.spec, props.spec, { skipFunction: skipFunctionDiff })) {\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, props.morphConfig ?? defaultMorphConfig);\n handleChartRender(true);\n eventsBinded.current = props;\n } else if (eventsBinded.current.data !== props.data) {\n chartContext.current.chart.updateFullDataSync(props.data as any);\n handleChartRender(true);\n eventsBinded.current = props;\n }\n return;\n }\n\n const newSpec = pickWithout(props, notSpecKeys);\n\n if (\n !isEqual(newSpec, prevSpec.current, { skipFunction: skipFunctionDiff }) ||\n !isEqual(newSpecFromChildren, specFromChildren.current, { skipFunction: skipFunctionDiff })\n ) {\n prevSpec.current = newSpec;\n specFromChildren.current = newSpecFromChildren;\n\n chartContext.current.chart.updateSpecSync(parseSpec(props), undefined, props.morphConfig ?? defaultMorphConfig);\n handleChartRender(true);\n eventsBinded.current = props;\n }\n }, [props]);\n\n useEffect(() => {\n return () => {\n if (chartContext) {\n if (chartContext.current && chartContext.current.chart) {\n chartContext.current.chart.release();\n chartContext.current.chart = null;\n }\n }\n eventsBinded.current = null;\n isUnmount.current = true;\n };\n }, []);\n\n return (\n <RootChartContext.Provider value={chartContext.current}>\n {toArray(props.children).map((child, index) => {\n if (typeof child === 'string') {\n return null;\n }\n\n const childId = getComponentId(child, index);\n\n return (\n <React.Fragment key={childId}>\n {React.cloneElement(child as React.ReactElement<any, React.JSXElementConstructor<any>>, {\n updateId: updateId,\n componentId: childId\n })}\n </React.Fragment>\n );\n })}\n {tooltipNode}\n </RootChartContext.Provider>\n );\n});\n\nexport const createChart = <T extends Props>(\n componentName: string,\n defaultProps?: Partial<T>,\n registers?: (() => void)[]\n) => {\n if (registers && registers.length && defaultProps.vchartConstrouctor) {\n defaultProps.vchartConstrouctor.useRegisters(registers);\n }\n\n const Com = withContainer<T>(BaseChart as any, componentName, (props: T) => {\n if (defaultProps) {\n return Object.assign(props, defaultProps);\n }\n return props;\n });\n Com.displayName = componentName;\n return Com;\n};\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { IFunnel3dChartSpec } from '@visactor/vchart';
|
|
3
2
|
import type { BaseChartProps } from './BaseChart';
|
|
3
|
+
import type { IFunnel3dChartSpec } from '@visactor/vchart-extension';
|
|
4
4
|
export interface Funnel3dChartProps extends Omit<BaseChartProps, 'container' | 'type' | 'data'>, Omit<Partial<IFunnel3dChartSpec>, 'type'> {
|
|
5
5
|
}
|
|
6
6
|
export declare const Funnel3dChart: React.ForwardRefExoticComponent<Funnel3dChartProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'funnel3d';
|
|
10
|
-
} &
|
|
10
|
+
} & React.RefAttributes<any>>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { VChart,
|
|
1
|
+
import { VChart, registerLabel } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { createChart } from "./BaseChart";
|
|
4
4
|
|
|
5
5
|
import { registers } from "./registers/simple";
|
|
6
6
|
|
|
7
|
+
import { registerFunnel3dChart } from "@visactor/vchart-extension";
|
|
8
|
+
|
|
7
9
|
export const Funnel3dChart = createChart("Funnel3dChart", {
|
|
8
10
|
type: "funnel3d",
|
|
9
11
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/Funnel3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/charts/Funnel3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAMnE,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CACtC,eAAe,EACf;IACE,IAAI,EAAE,UAAU;IAChB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,qBAAqB,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CACrD,CAAC","file":"Funnel3dChart.js","sourcesContent":["import type React from 'react';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerLabel } from '@visactor/vchart';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\nimport { registers } from './registers/simple';\nimport type { IFunnel3dChartSpec } from '@visactor/vchart-extension';\nimport { registerFunnel3dChart } from '@visactor/vchart-extension';\n\nexport interface Funnel3dChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<IFunnel3dChartSpec>, 'type'> {}\n\nexport const Funnel3dChart = createChart<React.PropsWithChildren<Funnel3dChartProps> & { type?: 'funnel3d' }>(\n 'Funnel3dChart',\n {\n type: 'funnel3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerFunnel3dChart, registerLabel, ...registers]\n);\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { IHistogram3dChartSpec } from '@visactor/vchart';
|
|
3
2
|
import type { BaseChartProps } from './BaseChart';
|
|
3
|
+
import type { IHistogram3dChartSpec } from '@visactor/vchart-extension';
|
|
4
4
|
export interface Histogram3dChartProps extends Omit<BaseChartProps, 'container' | 'type' | 'data'>, Omit<Partial<IHistogram3dChartSpec>, 'type'> {
|
|
5
5
|
}
|
|
6
6
|
export declare const Histogram3dChart: React.ForwardRefExoticComponent<Histogram3dChartProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'histogram3d';
|
|
10
|
-
} &
|
|
10
|
+
} & React.RefAttributes<any>>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { VChart,
|
|
1
|
+
import { VChart, registerLabel } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { createChart } from "./BaseChart";
|
|
4
4
|
|
|
5
5
|
import { registers } from "./registers/cartesian";
|
|
6
6
|
|
|
7
|
+
import { registerHistogram3dChart } from "@visactor/vchart-extension";
|
|
8
|
+
|
|
7
9
|
export const Histogram3dChart = createChart("Histogram3dChart", {
|
|
8
10
|
type: "histogram3d",
|
|
9
11
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/Histogram3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/charts/Histogram3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CACzC,kBAAkB,EAClB;IACE,IAAI,EAAE,aAAa;IACnB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,wBAAwB,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CACxD,CAAC","file":"Histogram3dChart.js","sourcesContent":["import type React from 'react';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerLabel } from '@visactor/vchart';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\nimport { registers } from './registers/cartesian';\nimport type { IHistogram3dChartSpec } from '@visactor/vchart-extension';\nimport { registerHistogram3dChart } from '@visactor/vchart-extension';\n\nexport interface Histogram3dChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<IHistogram3dChartSpec>, 'type'> {}\n\nexport const Histogram3dChart = createChart<React.PropsWithChildren<Histogram3dChartProps> & { type?: 'histogram3d' }>(\n 'Histogram3dChart',\n {\n type: 'histogram3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerHistogram3dChart, registerLabel, ...registers]\n);\n"]}
|
package/esm/charts/MapChart.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ export declare const PictogramChart: React.ForwardRefExoticComponent<Omit<Pictog
|
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'pictogram';
|
|
10
|
-
}
|
|
10
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { IPie3dChartSpec } from '@visactor/vchart';
|
|
3
2
|
import type { BaseChartProps } from './BaseChart';
|
|
3
|
+
import type { IPie3dChartSpec } from '@visactor/vchart-extension';
|
|
4
4
|
export interface Pie3dChartProps extends Omit<BaseChartProps, 'container' | 'type' | 'data'>, Omit<Partial<IPie3dChartSpec>, 'type'> {
|
|
5
5
|
}
|
|
6
6
|
export declare const Pie3dChart: React.ForwardRefExoticComponent<Pie3dChartProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'pie3d';
|
|
10
|
-
} &
|
|
10
|
+
} & React.RefAttributes<any>>;
|
package/esm/charts/Pie3dChart.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { VChart,
|
|
1
|
+
import { VChart, registerIndicator, registerLabel } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { createChart } from "./BaseChart";
|
|
4
4
|
|
|
5
5
|
import { registers } from "./registers/simple";
|
|
6
6
|
|
|
7
|
+
import { registerPie3dChart } from "@visactor/vchart-extension";
|
|
8
|
+
|
|
7
9
|
export const Pie3dChart = createChart("Pie3dChart", {
|
|
8
10
|
type: "pie3d",
|
|
9
11
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/Pie3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/charts/Pie3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CACnC,YAAY,EACZ;IACE,IAAI,EAAE,OAAO;IACb,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,CACrE,CAAC","file":"Pie3dChart.js","sourcesContent":["import type React from 'react';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerIndicator, registerLabel } from '@visactor/vchart';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\nimport { registers } from './registers/simple';\nimport { registerPie3dChart } from '@visactor/vchart-extension';\nimport type { IPie3dChartSpec } from '@visactor/vchart-extension';\n\nexport interface Pie3dChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<IPie3dChartSpec>, 'type'> {}\n\nexport const Pie3dChart = createChart<React.PropsWithChildren<Pie3dChartProps> & { type?: 'pie3d' }>(\n 'Pie3dChart',\n {\n type: 'pie3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerPie3dChart, registerLabel, registerIndicator, ...registers]\n);\n"]}
|
package/esm/charts/PieChart.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { IRangeColumn3dChartSpec } from '@visactor/vchart';
|
|
3
2
|
import type { BaseChartProps } from './BaseChart';
|
|
3
|
+
import type { IRangeColumn3dChartSpec } from '@visactor/vchart-extension';
|
|
4
4
|
export interface RangeColumn3dChartProps extends Omit<BaseChartProps, 'container' | 'type' | 'data'>, Omit<Partial<IRangeColumn3dChartSpec>, 'type'> {
|
|
5
5
|
}
|
|
6
6
|
export declare const RangeColumn3dChart: React.ForwardRefExoticComponent<RangeColumn3dChartProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'rangeColumn3d';
|
|
10
|
-
} &
|
|
10
|
+
} & React.RefAttributes<any>>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { VChart,
|
|
1
|
+
import { VChart, registerLabel } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { registers } from "./registers/cartesian";
|
|
4
4
|
|
|
5
5
|
import { createChart } from "./BaseChart";
|
|
6
6
|
|
|
7
|
+
import { registerRangeColumn3dChart } from "@visactor/vchart-extension";
|
|
8
|
+
|
|
7
9
|
export const RangeColumn3dChart = createChart("RangeColumn3dChart", {
|
|
8
10
|
type: "rangeColumn3d",
|
|
9
11
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/RangeColumn3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/charts/RangeColumn3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAOxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAG3C,oBAAoB,EACpB;IACE,IAAI,EAAE,eAAe;IACrB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,0BAA0B,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CAC1D,CAAC","file":"RangeColumn3dChart.js","sourcesContent":["import type React from 'react';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerLabel } from '@visactor/vchart';\nimport { registers } from './registers/cartesian';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\nimport { registerRangeColumn3dChart } from '@visactor/vchart-extension';\nimport type { IRangeColumn3dChartSpec } from '@visactor/vchart-extension';\n\nexport interface RangeColumn3dChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<IRangeColumn3dChartSpec>, 'type'> {}\n\nexport const RangeColumn3dChart = createChart<\n React.PropsWithChildren<RangeColumn3dChartProps> & { type?: 'rangeColumn3d' }\n>(\n 'RangeColumn3dChart',\n {\n type: 'rangeColumn3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerRangeColumn3dChart, registerLabel, ...registers]\n);\n"]}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { VChart, registerTreemapChart } from "@visactor/vchart";
|
|
1
|
+
import { VChart, registerLabel, registerTreemapChart } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { registers } from "./registers/simple";
|
|
4
4
|
|
|
5
5
|
import { createChart } from "./BaseChart";
|
|
6
6
|
|
|
7
|
-
import { registerLabel } from "@visactor/vgrammar-core";
|
|
8
|
-
|
|
9
7
|
export const TreemapChart = createChart("TreemapChart", {
|
|
10
8
|
type: "treemap",
|
|
11
9
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/TreemapChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/charts/TreemapChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CACrC,cAAc,EACd;IACE,IAAI,EAAE,SAAS;IACf,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,oBAAoB,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CACpD,CAAC","file":"TreemapChart.js","sourcesContent":["import type React from 'react';\nimport type { ITreemapChartSpec, IVChartConstructor } from '@visactor/vchart';\nimport { VChart, registerLabel, registerTreemapChart } from '@visactor/vchart';\nimport { registers } from './registers/simple';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\n\nexport interface TreemapChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<ITreemapChartSpec>, 'type'> {}\n\nexport const TreemapChart = createChart<React.PropsWithChildren<TreemapChartProps> & { type?: 'treemap' }>(\n 'TreemapChart',\n {\n type: 'treemap',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerTreemapChart, registerLabel, ...registers]\n);\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { IWordCloud3dChartSpec } from '@visactor/vchart';
|
|
3
2
|
import type { BaseChartProps } from './BaseChart';
|
|
3
|
+
import type { IWordCloud3dChartSpec } from '@visactor/vchart-extension';
|
|
4
4
|
export interface WordCloud3dChartProps extends Omit<BaseChartProps, 'container' | 'type' | 'data'>, Omit<Partial<IWordCloud3dChartSpec>, 'type'> {
|
|
5
5
|
}
|
|
6
6
|
export declare const WordCloud3dChart: React.ForwardRefExoticComponent<WordCloud3dChartProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
} & {
|
|
9
9
|
type?: 'wordCloud3d';
|
|
10
|
-
} &
|
|
10
|
+
} & React.RefAttributes<any>>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { VChart
|
|
1
|
+
import { VChart } from "@visactor/vchart";
|
|
2
2
|
|
|
3
3
|
import { registers } from "./registers/simple";
|
|
4
4
|
|
|
5
5
|
import { createChart } from "./BaseChart";
|
|
6
6
|
|
|
7
|
+
import { registerWordCloud3dChart } from "@visactor/vchart-extension";
|
|
8
|
+
|
|
7
9
|
export const WordCloud3dChart = createChart("WordCloud3dChart", {
|
|
8
10
|
type: "wordCloud3d",
|
|
9
11
|
vchartConstrouctor: VChart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/WordCloud3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/charts/WordCloud3dChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CACzC,kBAAkB,EAClB;IACE,IAAI,EAAE,aAAa;IACnB,kBAAkB,EAAE,MAA4B;CACjD,EACD,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC,CACzC,CAAC","file":"WordCloud3dChart.js","sourcesContent":["import type React from 'react';\nimport type { IVChartConstructor } from '@visactor/vchart';\nimport { VChart } from '@visactor/vchart';\nimport { registers } from './registers/simple';\nimport type { BaseChartProps } from './BaseChart';\nimport { createChart } from './BaseChart';\nimport { registerWordCloud3dChart } from '@visactor/vchart-extension';\nimport type { IWordCloud3dChartSpec } from '@visactor/vchart-extension';\n\nexport interface WordCloud3dChartProps\n extends Omit<BaseChartProps, 'container' | 'type' | 'data'>,\n Omit<Partial<IWordCloud3dChartSpec>, 'type'> {}\n\nexport const WordCloud3dChart = createChart<React.PropsWithChildren<WordCloud3dChartProps> & { type?: 'wordCloud3d' }>(\n 'WordCloud3dChart',\n {\n type: 'wordCloud3d',\n vchartConstrouctor: VChart as IVChartConstructor\n },\n [registerWordCloud3dChart, ...registers]\n);\n"]}
|