@visactor/vchart 1.12.5 → 1.12.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 (143) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +447 -362
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.js +2 -2
  6. package/cjs/chart/base/base-chart.js.map +1 -1
  7. package/cjs/chart/mosaic/mosaic.d.ts +0 -1
  8. package/cjs/chart/mosaic/mosaic.js +0 -3
  9. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  10. package/cjs/chart/pie/interface.d.ts +2 -2
  11. package/cjs/chart/pie/interface.js.map +1 -1
  12. package/cjs/chart/polar/interface.d.ts +2 -0
  13. package/cjs/chart/polar/interface.js.map +1 -1
  14. package/cjs/compile/mark/compilable-mark.d.ts +1 -1
  15. package/cjs/compile/mark/compilable-mark.js +4 -4
  16. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  17. package/cjs/compile/mark/interface.d.ts +1 -0
  18. package/cjs/compile/mark/interface.js.map +1 -1
  19. package/cjs/component/axis/base-axis.d.ts +1 -2
  20. package/cjs/component/axis/base-axis.js +0 -3
  21. package/cjs/component/axis/base-axis.js.map +1 -1
  22. package/cjs/component/axis/cartesian/axis.js +1 -1
  23. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  24. package/cjs/component/axis/polar/axis.d.ts +0 -1
  25. package/cjs/component/axis/polar/axis.js +4 -20
  26. package/cjs/component/axis/polar/axis.js.map +1 -1
  27. package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
  28. package/cjs/component/axis/polar/interface/spec.js.map +1 -1
  29. package/cjs/component/base/base-component.js +1 -3
  30. package/cjs/component/base/base-component.js.map +1 -1
  31. package/cjs/component/custom-mark/custom-mark.d.ts +0 -1
  32. package/cjs/component/custom-mark/custom-mark.js +1 -12
  33. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  34. package/cjs/component/label/base-label.d.ts +1 -2
  35. package/cjs/component/label/base-label.js +0 -3
  36. package/cjs/component/label/base-label.js.map +1 -1
  37. package/cjs/component/label/label.d.ts +0 -1
  38. package/cjs/component/label/label.js +2 -12
  39. package/cjs/component/label/label.js.map +1 -1
  40. package/cjs/component/label/total-label.d.ts +1 -1
  41. package/cjs/component/label/total-label.js +5 -12
  42. package/cjs/component/label/total-label.js.map +1 -1
  43. package/cjs/component/label/util.d.ts +1 -1
  44. package/cjs/component/label/util.js +12 -7
  45. package/cjs/component/label/util.js.map +1 -1
  46. package/cjs/component/legend/util.d.ts +2 -2
  47. package/cjs/constant/correlation.js +1 -2
  48. package/cjs/constant/layout.js +2 -1
  49. package/cjs/core/index.d.ts +1 -1
  50. package/cjs/core/index.js +1 -1
  51. package/cjs/core/index.js.map +1 -1
  52. package/cjs/core/vchart.d.ts +1 -1
  53. package/cjs/core/vchart.js +20 -20
  54. package/cjs/core/vchart.js.map +1 -1
  55. package/cjs/region/region.js +2 -3
  56. package/cjs/region/region.js.map +1 -1
  57. package/cjs/series/base/base-series.d.ts +6 -5
  58. package/cjs/series/base/base-series.js +22 -11
  59. package/cjs/series/base/base-series.js.map +1 -1
  60. package/cjs/series/base/constant.js +1 -0
  61. package/cjs/series/base/constant.js.map +1 -1
  62. package/cjs/series/gauge/interface.d.ts +1 -1
  63. package/cjs/series/gauge/interface.js.map +1 -1
  64. package/cjs/series/polar/animation.d.ts +8 -11
  65. package/cjs/series/polar/animation.js +18 -23
  66. package/cjs/series/polar/animation.js.map +1 -1
  67. package/cjs/series/radar/animation.d.ts +0 -3
  68. package/cjs/series/radar/animation.js +4 -4
  69. package/cjs/series/radar/animation.js.map +1 -1
  70. package/cjs/series/radar/radar.js +10 -7
  71. package/cjs/series/radar/radar.js.map +1 -1
  72. package/cjs/typings/spec/common.d.ts +5 -2
  73. package/cjs/typings/spec/common.js.map +1 -1
  74. package/esm/chart/base/base-chart.js +2 -2
  75. package/esm/chart/base/base-chart.js.map +1 -1
  76. package/esm/chart/mosaic/mosaic.d.ts +0 -1
  77. package/esm/chart/mosaic/mosaic.js +0 -3
  78. package/esm/chart/mosaic/mosaic.js.map +1 -1
  79. package/esm/chart/pie/interface.d.ts +2 -2
  80. package/esm/chart/pie/interface.js.map +1 -1
  81. package/esm/chart/polar/interface.d.ts +2 -0
  82. package/esm/chart/polar/interface.js.map +1 -1
  83. package/esm/compile/mark/compilable-mark.d.ts +1 -1
  84. package/esm/compile/mark/compilable-mark.js +5 -4
  85. package/esm/compile/mark/compilable-mark.js.map +1 -1
  86. package/esm/compile/mark/interface.d.ts +1 -0
  87. package/esm/compile/mark/interface.js.map +1 -1
  88. package/esm/component/axis/base-axis.d.ts +1 -2
  89. package/esm/component/axis/base-axis.js +0 -3
  90. package/esm/component/axis/base-axis.js.map +1 -1
  91. package/esm/component/axis/cartesian/axis.js +1 -1
  92. package/esm/component/axis/cartesian/axis.js.map +1 -1
  93. package/esm/component/axis/polar/axis.d.ts +0 -1
  94. package/esm/component/axis/polar/axis.js +4 -22
  95. package/esm/component/axis/polar/axis.js.map +1 -1
  96. package/esm/component/axis/polar/interface/spec.d.ts +3 -1
  97. package/esm/component/axis/polar/interface/spec.js.map +1 -1
  98. package/esm/component/base/base-component.js +1 -3
  99. package/esm/component/base/base-component.js.map +1 -1
  100. package/esm/component/custom-mark/custom-mark.d.ts +0 -1
  101. package/esm/component/custom-mark/custom-mark.js +0 -13
  102. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  103. package/esm/component/label/base-label.d.ts +1 -2
  104. package/esm/component/label/base-label.js +0 -3
  105. package/esm/component/label/base-label.js.map +1 -1
  106. package/esm/component/label/label.d.ts +0 -1
  107. package/esm/component/label/label.js +1 -13
  108. package/esm/component/label/label.js.map +1 -1
  109. package/esm/component/label/total-label.d.ts +1 -1
  110. package/esm/component/label/total-label.js +4 -13
  111. package/esm/component/label/total-label.js.map +1 -1
  112. package/esm/component/label/util.d.ts +1 -1
  113. package/esm/component/label/util.js +12 -7
  114. package/esm/component/label/util.js.map +1 -1
  115. package/esm/component/legend/util.d.ts +2 -2
  116. package/esm/constant/correlation.js +1 -2
  117. package/esm/constant/layout.js +2 -1
  118. package/esm/core/index.d.ts +1 -1
  119. package/esm/core/index.js +1 -1
  120. package/esm/core/index.js.map +1 -1
  121. package/esm/core/vchart.d.ts +1 -1
  122. package/esm/core/vchart.js +22 -22
  123. package/esm/core/vchart.js.map +1 -1
  124. package/esm/region/region.js +2 -3
  125. package/esm/region/region.js.map +1 -1
  126. package/esm/series/base/base-series.d.ts +6 -5
  127. package/esm/series/base/base-series.js +20 -10
  128. package/esm/series/base/base-series.js.map +1 -1
  129. package/esm/series/base/constant.js +1 -0
  130. package/esm/series/base/constant.js.map +1 -1
  131. package/esm/series/gauge/interface.d.ts +1 -1
  132. package/esm/series/gauge/interface.js.map +1 -1
  133. package/esm/series/polar/animation.d.ts +8 -11
  134. package/esm/series/polar/animation.js +17 -24
  135. package/esm/series/polar/animation.js.map +1 -1
  136. package/esm/series/radar/animation.d.ts +0 -3
  137. package/esm/series/radar/animation.js +4 -4
  138. package/esm/series/radar/animation.js.map +1 -1
  139. package/esm/series/radar/radar.js +10 -7
  140. package/esm/series/radar/radar.js.map +1 -1
  141. package/esm/typings/spec/common.d.ts +5 -2
  142. package/esm/typings/spec/common.js.map +1 -1
  143. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/label/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { WaterfallSeries } from './../../series/waterfall/waterfall';\nimport type { Datum } from '../../typings/common';\nimport { Direction } from '../../typings/space';\nimport type { ILabelInfo } from './label';\nimport type { BaseLabelAttrs, LabelItem, OverlapAttrs, Strategy } from '@visactor/vrender-components';\nimport { SeriesTypeEnum, type ICartesianSeries } from '../../series/interface';\nimport { isBoolean, isFunction, isObject, isString } from '@visactor/vutils';\nimport { createText } from '@visactor/vrender-core';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ILabelSpec } from './interface';\nimport { getFormatFunction } from '../util';\n\nexport const labelRuleMap = {\n rect: barLabel,\n symbol: symbolLabel,\n arc: pieLabel,\n point: pointLabel,\n 'line-data': lineDataLabel,\n stackLabel: stackLabel,\n line: LineLabel,\n area: LineLabel,\n rect3d: barLabel,\n arc3d: pieLabel,\n treemap: treemapLabel,\n venn: vennLabel\n};\n\nexport function defaultLabelConfig(rule: string, labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n if (labelSpec.overlap && !isObject(labelSpec.overlap)) {\n labelSpec.overlap = {};\n }\n const processor = labelRuleMap[rule] ?? labelRuleMap.point;\n\n if (labelInfo.series.type === SeriesTypeEnum.sankey) {\n return sankeyLabel(labelInfo);\n }\n return processor(labelInfo);\n}\n\nexport function textAttribute(\n labelInfo: ILabelInfo,\n datum: Datum,\n formatMethod?: ILabelSpec['formatMethod'],\n formatter?: ILabelSpec['formatter']\n) {\n const { labelMark, series } = labelInfo;\n const field = series.getMeasureField()[0];\n const textAttribute = { text: datum[field], data: datum, textType: labelInfo.labelSpec.textType ?? 'text' } as any;\n\n const attributes = Object.keys(labelMark.stateStyle.normal);\n\n for (const key of attributes) {\n const attr = labelMark.getAttribute(key as any, datum);\n textAttribute[key] = attr;\n }\n\n if (series.type !== SeriesTypeEnum.sankey) {\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, textAttribute.text, datum);\n if (formatFunc) {\n textAttribute.text = formatFunc(...args, { series });\n }\n }\n\n return textAttribute;\n}\n\nfunction uniformLabelPosition(position?: ILabelSpec['position']) {\n if (isFunction(position)) {\n return (datum: Datum) => {\n return position(datum.data);\n };\n }\n return position;\n}\n\n/**\n * symbol 图元标签规则。\n */\nexport function symbolLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec } = labelInfo;\n\n // encode position config\n const defaultPosition = (series as ICartesianSeries).direction === 'horizontal' ? 'right' : 'top';\n const position = uniformLabelPosition(labelSpec.position) ?? defaultPosition;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? symbolLabelOverlapStrategy(),\n avoidBaseMark: position !== 'center'\n };\n }\n\n return { position, overlap };\n}\n\nexport function lineDataLabel(labelInfo: ILabelInfo) {\n const result = symbolLabel(labelInfo);\n if (!isBoolean(result.overlap)) {\n result.overlap.avoidBaseMark = false;\n }\n return result;\n}\n\nfunction symbolLabelOverlapStrategy() {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: ['top', 'bottom', 'right', 'left', 'top-right', 'top-left', 'bottom-left', 'bottom-right']\n }\n ];\n\n return strategy;\n}\n\n/**\n *\n */\nexport function barLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction ?? 'vertical';\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n\n let position = originPosition as BaseLabelAttrs['position'];\n\n if (isString(originPosition) && originPosition === 'outside') {\n position = (data: Datum) => {\n const { data: datum } = data;\n const dataField = series.getMeasureField()[0];\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = (datum?.[dataField] >= 0 && isInverse) || (datum?.[dataField] < 0 && !isInverse) ? 1 : 0;\n return positionMap[direction][index];\n };\n }\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? barLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n // encode smartInvert\n let smartInvert = false;\n if (isString(originPosition) && originPosition.includes('inside')) {\n smartInvert = true;\n }\n\n return { position, overlap, smartInvert };\n}\n\nfunction barLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n const { data: datum } = data;\n const dataField = series.getMeasureField()[0];\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n if (isInverse) {\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n }\n ];\n\n return strategy;\n}\n\n/**\n * 无关图元,指定x/y坐标的标签配置规则\n */\nexport function pointLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n avoidBaseMark: false\n };\n }\n\n return { position: 'center', overlap };\n}\n\n/**\n * pie 图元标签配置规则\n */\n\nexport function pieLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n // encode position config\n const labelPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const position = labelPosition as BaseLabelAttrs['position'];\n\n // encode smartInvert\n let smartInvert;\n if (labelSpec.smartInvert) {\n smartInvert = labelSpec.smartInvert;\n } else {\n smartInvert = isString(labelPosition) && labelPosition.includes('inside');\n }\n\n return { position, smartInvert };\n}\n\n/**\n * 瀑布图堆积标签配置规则\n */\n\nexport function stackLabelX(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n if (pos === 'middle') {\n return (series.totalPositionX(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'start' : 'end') - offset;\n }\n return series.totalPositionX(datum2, 'end') + (datum2.end >= datum2.start ? offset : -offset);\n }\n return series.totalPositionX(datum2, 'index', 0.5);\n}\nexport function stackLabelY(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n return series.totalPositionY(datum2, 'index', 0.5);\n }\n if (pos === 'middle') {\n return (series.totalPositionY(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'start' : 'end') + offset;\n }\n return series.totalPositionY(datum2, 'end') + (datum2.end >= datum2.start ? -offset : offset);\n}\n\nexport function stackLabel(\n labelInfo: ILabelInfo,\n datumTransform?: (data: any) => any,\n attributeTransform?: (label: LabelItem, datum: Datum, att: any) => any\n) {\n const series = labelInfo.series as WaterfallSeries;\n const labelSpec = labelInfo.labelSpec || ({} as IWaterfallSeriesSpec['stackLabel']);\n const totalData = series.getTotalData();\n return {\n customLayoutFunc: (labels: LabelItem[]) => {\n return labels.map(label => {\n const pos = labelSpec.position || 'withChange';\n const offset = labelSpec.offset || 0;\n\n const datum = datumTransform ? datumTransform(label.data) : label.data;\n const attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);\n\n attribute.x = stackLabelX(datum, series, pos, offset);\n attribute.y = stackLabelY(datum, series, pos, offset);\n if (series.direction === Direction.horizontal) {\n attribute.textAlign =\n pos === 'middle'\n ? 'center'\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'left'\n : 'right';\n } else {\n attribute.textBaseline =\n pos === 'middle'\n ? pos\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'bottom'\n : 'top';\n }\n attributeTransform?.(label, datum, attribute);\n return createText({ ...attribute, id: label.id });\n });\n },\n dataFilter: (labels: LabelItem[]) => {\n const result: LabelItem[] = [];\n totalData.forEach((total: any) => {\n const label = labels.find(labelItem => {\n return total.index === labelItem.data?.[series.getDimensionField()[0]];\n });\n if (label) {\n label.data = total;\n result.push(label);\n }\n });\n return result;\n },\n overlap: {\n strategy: [] as any\n }\n };\n}\n\n/**\n * treemap 非叶子节点标签配置规则\n */\nexport function treemapLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n overlap: false\n };\n}\n\n/**\n * venn 标签配置规则\n */\nexport function vennLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n smartInvert: true\n };\n}\n\n/**\n * line 图元标签\n */\n\nexport function LineLabel(labelInfo: ILabelInfo) {\n const { labelSpec, series } = labelInfo;\n\n const seriesData = series.getViewDataStatistics?.().latestData?.[series.getSeriesField()]?.values;\n const data = seriesData ? seriesData.map((d: Datum, index: number) => ({ [series.getSeriesField()]: d, index })) : [];\n return { position: labelSpec.position ?? 'end', data };\n}\n\nexport function sankeyLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction;\n let position = originPosition as BaseLabelAttrs['position'];\n\n if (isString(originPosition)) {\n if (direction === 'vertical') {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else {\n position = (datum: Datum) => {\n return 'bottom';\n };\n }\n } else {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else if (originPosition === 'outside') {\n position = (datum: Datum) => {\n return 'right';\n };\n }\n }\n }\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap =\n isString(originPosition) && originPosition.includes('inside')\n ? false\n : {\n strategy:\n (labelSpec.overlap as OverlapAttrs)?.strategy ?? sankeyLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n return {\n position,\n overlap,\n smartInvert: false,\n offset: 0,\n syncState: true\n };\n}\n\nfunction sankeyLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n return series.direction === 'horizontal' ? ['right', 'left'] : ['bottom', 'top'];\n }\n }\n ];\n\n return strategy;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/label/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { WaterfallSeries } from './../../series/waterfall/waterfall';\nimport type { Datum } from '../../typings/common';\nimport { Direction } from '../../typings/space';\nimport type { ILabelInfo } from './label';\nimport type { BaseLabelAttrs, LabelItem, OverlapAttrs, Strategy } from '@visactor/vrender-components';\nimport { SeriesTypeEnum, type ICartesianSeries } from '../../series/interface';\nimport { isBoolean, isFunction, isObject, isString } from '@visactor/vutils';\nimport { createText } from '@visactor/vrender-core';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ILabelSpec } from './interface';\nimport { getFormatFunction } from '../util';\n\nexport const labelRuleMap = {\n rect: barLabel,\n symbol: symbolLabel,\n arc: pieLabel,\n point: pointLabel,\n 'line-data': lineDataLabel,\n stackLabel: stackLabel,\n line: LineLabel,\n area: LineLabel,\n rect3d: barLabel,\n arc3d: pieLabel,\n treemap: treemapLabel,\n venn: vennLabel\n};\n\nexport function defaultLabelConfig(rule: string, labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n if (labelSpec.overlap && !isObject(labelSpec.overlap)) {\n labelSpec.overlap = {};\n }\n const processor = labelRuleMap[rule] ?? labelRuleMap.point;\n\n if (labelInfo.series.type === SeriesTypeEnum.sankey) {\n return sankeyLabel(labelInfo);\n }\n return processor(labelInfo);\n}\n\nexport function textAttribute(\n labelInfo: ILabelInfo,\n datum: Datum,\n formatMethod?: ILabelSpec['formatMethod'],\n formatter?: ILabelSpec['formatter']\n) {\n const { labelMark, series } = labelInfo;\n const field = series.getMeasureField()[0];\n const textAttribute = { text: datum[field], data: datum, textType: labelInfo.labelSpec.textType ?? 'text' } as any;\n\n const attributes = Object.keys(labelMark.stateStyle.normal);\n\n for (const key of attributes) {\n const attr = labelMark.getAttribute(key as any, datum);\n textAttribute[key] = attr;\n }\n\n if (series.type !== SeriesTypeEnum.sankey) {\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, textAttribute.text, datum);\n if (formatFunc) {\n textAttribute.text = formatFunc(...args, { series });\n }\n }\n\n return textAttribute;\n}\n\nfunction uniformLabelPosition(position?: ILabelSpec['position']) {\n if (isFunction(position)) {\n return (datum: Datum) => {\n return position(datum.data);\n };\n }\n return position;\n}\n\n/**\n * symbol 图元标签规则。\n */\nexport function symbolLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec } = labelInfo;\n\n // encode position config\n const defaultPosition = (series as ICartesianSeries).direction === 'horizontal' ? 'right' : 'top';\n const position = uniformLabelPosition(labelSpec.position) ?? defaultPosition;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? symbolLabelOverlapStrategy(),\n avoidBaseMark: position !== 'center'\n };\n }\n\n return { position, overlap };\n}\n\nexport function lineDataLabel(labelInfo: ILabelInfo) {\n const result = symbolLabel(labelInfo);\n if (!isBoolean(result.overlap)) {\n result.overlap.avoidBaseMark = false;\n }\n return result;\n}\n\nfunction symbolLabelOverlapStrategy() {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: ['top', 'bottom', 'right', 'left', 'top-right', 'top-left', 'bottom-left', 'bottom-right']\n }\n ];\n\n return strategy;\n}\n\n/**\n *\n */\nexport function barLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction ?? 'vertical';\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n\n let position = originPosition as BaseLabelAttrs['position'];\n\n position = (datum: Datum) => {\n const { data } = datum;\n\n const labelPosition =\n (typeof labelSpec.position === 'function'\n ? (labelSpec.position as (a: Datum) => string)(data)\n : labelSpec.position) ?? 'outside';\n\n if (labelPosition === 'outside') {\n const dataField = series.getMeasureField()[0];\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = (data?.[dataField] >= 0 && isInverse) || (data?.[dataField] < 0 && !isInverse) ? 1 : 0;\n return positionMap[direction][index];\n }\n\n return labelPosition;\n };\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? barLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n // encode smartInvert\n let smartInvert = false;\n if (isString(originPosition) && originPosition.includes('inside')) {\n smartInvert = true;\n }\n\n return { position, overlap, smartInvert };\n}\n\nfunction barLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n const { data: datum } = data;\n const dataField = series.getMeasureField()[0];\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n if (isInverse) {\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n }\n ];\n\n return strategy;\n}\n\n/**\n * 无关图元,指定x/y坐标的标签配置规则\n */\nexport function pointLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n avoidBaseMark: false\n };\n }\n\n return { position: 'center', overlap };\n}\n\n/**\n * pie 图元标签配置规则\n */\n\nexport function pieLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n // encode position config\n const labelPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const position = labelPosition as BaseLabelAttrs['position'];\n\n // encode smartInvert\n let smartInvert;\n if (labelSpec.smartInvert) {\n smartInvert = labelSpec.smartInvert;\n } else {\n smartInvert = isString(labelPosition) && labelPosition.includes('inside');\n }\n\n return { position, smartInvert };\n}\n\n/**\n * 瀑布图堆积标签配置规则\n */\n\nexport function stackLabelX(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n if (pos === 'middle') {\n return (series.totalPositionX(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'start' : 'end') - offset;\n }\n return series.totalPositionX(datum2, 'end') + (datum2.end >= datum2.start ? offset : -offset);\n }\n return series.totalPositionX(datum2, 'index', 0.5);\n}\nexport function stackLabelY(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n return series.totalPositionY(datum2, 'index', 0.5);\n }\n if (pos === 'middle') {\n return (series.totalPositionY(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'start' : 'end') + offset;\n }\n return series.totalPositionY(datum2, 'end') + (datum2.end >= datum2.start ? -offset : offset);\n}\n\nexport function stackLabel(\n labelInfo: ILabelInfo,\n datumTransform?: (data: any) => any,\n attributeTransform?: (label: LabelItem, datum: Datum, att: any) => any\n) {\n const series = labelInfo.series as WaterfallSeries;\n const labelSpec = labelInfo.labelSpec || ({} as IWaterfallSeriesSpec['stackLabel']);\n const totalData = series.getTotalData();\n return {\n customLayoutFunc: (labels: LabelItem[]) => {\n return labels.map(label => {\n const pos = labelSpec.position || 'withChange';\n const offset = labelSpec.offset || 0;\n\n const datum = datumTransform ? datumTransform(label.data) : label.data;\n const attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);\n\n attribute.x = stackLabelX(datum, series, pos, offset);\n attribute.y = stackLabelY(datum, series, pos, offset);\n if (series.direction === Direction.horizontal) {\n attribute.textAlign =\n pos === 'middle'\n ? 'center'\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'left'\n : 'right';\n } else {\n attribute.textBaseline =\n pos === 'middle'\n ? pos\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'bottom'\n : 'top';\n }\n attributeTransform?.(label, datum, attribute);\n return createText({ ...attribute, id: label.id });\n });\n },\n dataFilter: (labels: LabelItem[]) => {\n const result: LabelItem[] = [];\n totalData.forEach((total: any) => {\n const label = labels.find(labelItem => {\n return total.index === labelItem.data?.[series.getDimensionField()[0]];\n });\n if (label) {\n label.data = total;\n result.push(label);\n }\n });\n return result;\n },\n overlap: {\n strategy: [] as any\n }\n };\n}\n\n/**\n * treemap 非叶子节点标签配置规则\n */\nexport function treemapLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n overlap: false\n };\n}\n\n/**\n * venn 标签配置规则\n */\nexport function vennLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n smartInvert: true\n };\n}\n\n/**\n * line 图元标签\n */\n\nexport function LineLabel(labelInfo: ILabelInfo) {\n const { labelSpec, series } = labelInfo;\n\n const seriesData = series.getViewDataStatistics?.().latestData?.[series.getSeriesField()]?.values;\n const data = seriesData ? seriesData.map((d: Datum, index: number) => ({ [series.getSeriesField()]: d, index })) : [];\n return { position: labelSpec.position ?? 'end', data };\n}\n\nexport function sankeyLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction;\n let position = originPosition as BaseLabelAttrs['position'];\n\n if (isString(originPosition)) {\n if (direction === 'vertical') {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else {\n position = (datum: Datum) => {\n return 'bottom';\n };\n }\n } else {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else if (originPosition === 'outside') {\n position = (datum: Datum) => {\n return 'right';\n };\n }\n }\n }\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap =\n isString(originPosition) && originPosition.includes('inside')\n ? false\n : {\n strategy:\n (labelSpec.overlap as OverlapAttrs)?.strategy ?? sankeyLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n return {\n position,\n overlap,\n smartInvert: false,\n offset: 0,\n syncState: true\n };\n}\n\nfunction sankeyLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n return series.direction === 'horizontal' ? ['right', 'left'] : ['bottom', 'top'];\n }\n }\n ];\n\n return strategy;\n}\n"]}
@@ -13,7 +13,7 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
13
13
  };
14
14
  background?: {
15
15
  visible?: boolean;
16
- style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "visible" | "width" | "height">;
16
+ style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "width" | "height" | "visible">;
17
17
  };
18
18
  text?: string | number | number[] | string[] | {
19
19
  type?: "text";
@@ -33,9 +33,9 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
33
33
  } & import("@visactor/vrender-core").SimpleDomStyleOptions & import("@visactor/vrender-core").CommonDomOptions;
34
34
  };
35
35
  padding?: import("@visactor/vrender-components").Padding;
36
- visible?: boolean;
37
36
  maxWidth?: number;
38
37
  minWidth?: number;
38
+ visible?: boolean;
39
39
  space?: number;
40
40
  align?: "start" | "end" | "center";
41
41
  };
@@ -4,5 +4,4 @@ export const CORRELATION_X = `${PREFIX}_CORRELATION_X`;
4
4
 
5
5
  export const CORRELATION_Y = `${PREFIX}_CORRELATION_Y`;
6
6
 
7
- export const CORRELATION_SIZE = `${PREFIX}_CORRELATION_SIZE`;
8
- //# sourceMappingURL=correlation.js.map
7
+ export const CORRELATION_SIZE = `${PREFIX}_CORRELATION_SIZE`;
@@ -28,4 +28,5 @@ export var LayoutLevel;
28
28
  LayoutLevel[LayoutLevel.Player = 40] = "Player", LayoutLevel[LayoutLevel.ScrollBar = 40] = "ScrollBar",
29
29
  LayoutLevel[LayoutLevel.Legend = 50] = "Legend", LayoutLevel[LayoutLevel.Title = 70] = "Title",
30
30
  LayoutLevel[LayoutLevel.CustomMark = 70] = "CustomMark";
31
- }(LayoutLevel || (LayoutLevel = {}));
31
+ }(LayoutLevel || (LayoutLevel = {}));
32
+ //# sourceMappingURL=layout.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.12.5";
4
+ export declare const version = "1.12.6";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export * from '../typings/spec/common';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "1.12.5";
7
+ export const version = "1.12.6";
8
8
 
9
9
  export * from "../typings/spec/common";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAMhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.5\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAMhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.6\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
@@ -74,6 +74,7 @@ export declare class VChart implements IVChart {
74
74
  private _context;
75
75
  private _isReleased;
76
76
  private _chartPlugin?;
77
+ private _onResize?;
77
78
  constructor(spec: ISpec, options: IInitOption);
78
79
  private _setNewSpec;
79
80
  private _getSpecFromOriginalSpec;
@@ -89,7 +90,6 @@ export declare class VChart implements IVChart {
89
90
  height: number;
90
91
  };
91
92
  private _doResize;
92
- private _onResize;
93
93
  private _initDataSet;
94
94
  updateCustomConfigAndRerender(updateSpecResult: IUpdateSpecResult | (() => IUpdateSpecResult), sync?: boolean, option?: IVChartRenderOption): IVChart | Promise<IVChart>;
95
95
  protected _updateCustomConfigAndRecompile(updateSpecResult: IUpdateSpecResult, option?: IVChartRenderOption): boolean;
@@ -42,7 +42,7 @@ import { DataSet, dataViewParser, DataView } from "@visactor/vdataset";
42
42
 
43
43
  import { vglobal } from "@visactor/vrender-core";
44
44
 
45
- import { isString, isValid, isNil, array, debounce, specTransform, functionTransform } from "../util";
45
+ import { isString, isValid, isNil, array, specTransform, functionTransform } from "../util";
46
46
 
47
47
  import { createID } from "../util/id";
48
48
 
@@ -82,7 +82,7 @@ import { ChartEvent, VGRAMMAR_HOOK_EVENT } from "../constant/event";
82
82
 
83
83
  import { DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH } from "../constant/base";
84
84
 
85
- import { isArray, isEmpty, Logger, merge as mergeOrigin, isFunction, LoggerLevel, isEqual, get, cloneDeep, isObject } from "@visactor/vutils";
85
+ import { isArray, isEmpty, Logger, merge as mergeOrigin, isFunction, LoggerLevel, isEqual, get, cloneDeep, isObject, throttle } from "@visactor/vutils";
86
86
 
87
87
  import { InstanceManager } from "./instance-manager";
88
88
 
@@ -181,7 +181,7 @@ export class VChart {
181
181
  return this._dataSet;
182
182
  }
183
183
  constructor(spec, options) {
184
- var _a, _b, _c, _d, _e, _f;
184
+ var _a, _b, _c, _d, _e, _f, _g, _h;
185
185
  this.id = createID(), this._userEvents = [], this._autoSize = !0, this._option = {
186
186
  mode: RenderModeEnum["desktop-browser"],
187
187
  onError: msg => {
@@ -190,9 +190,13 @@ export class VChart {
190
190
  optimize: {
191
191
  disableCheckGraphicWidthOutRange: !0
192
192
  }
193
- }, this._observer = null, this._context = {}, this._onResize = debounce(((...args) => {
194
- this._doResize();
195
- }), 100), this._renderSync = (option = {}) => {
193
+ }, this._observer = null, this._context = {}, this._doResize = () => {
194
+ const {width: width, height: height} = this.getCurrentSize();
195
+ this._currentSize.width === width && this._currentSize.height === height || (this._currentSize = {
196
+ width: width,
197
+ height: height
198
+ }, this.resizeSync(width, height));
199
+ }, this._renderSync = (option = {}) => {
196
200
  var _a;
197
201
  const self = this;
198
202
  return this._beforeRender(option) ? (null === (_a = this._compiler) || void 0 === _a || _a.render(option.morphConfig),
@@ -200,6 +204,7 @@ export class VChart {
200
204
  }, this._updateSpec = (spec, forceMerge = !1, userUpdateOptions) => {
201
205
  var _a, _b;
202
206
  const lastSpec = this._spec, result = {
207
+ changeBackground: !1,
203
208
  reTransformSpec: !1,
204
209
  change: !1,
205
210
  reMake: !1,
@@ -220,7 +225,7 @@ export class VChart {
220
225
  }, this._option = mergeOrigin(this._option, {
221
226
  animation: !1 !== spec.animation
222
227
  }, options), this._onError = null === (_a = this._option) || void 0 === _a ? void 0 : _a.onError;
223
- const _g = this._option, {dom: dom, renderCanvas: renderCanvas, mode: mode, stage: stage, poptip: poptip} = _g, restOptions = __rest(_g, [ "dom", "renderCanvas", "mode", "stage", "poptip" ]), isTrueBrowseEnv = isTrueBrowser(mode);
228
+ const _j = this._option, {dom: dom, renderCanvas: renderCanvas, mode: mode, stage: stage, poptip: poptip} = _j, restOptions = __rest(_j, [ "dom", "renderCanvas", "mode", "stage", "poptip" ]), isTrueBrowseEnv = isTrueBrowser(mode);
224
229
  isTrueBrowseEnv ? registerBrowserEnv() : "node" === mode && registerNodeEnv(), isTrueBrowseEnv && dom && (this._container = isString(dom) ? vglobal.getElementById(dom) : dom),
225
230
  renderCanvas && (this._canvas = renderCanvas), stage && (this._stage = stage), "node" === mode || this._container || this._canvas || this._stage ? (this._viewBox = this._option.viewBox,
226
231
  this._currentThemeName = ThemeManager.getCurrentThemeName(), this._setNewSpec(spec),
@@ -239,7 +244,7 @@ export class VChart {
239
244
  this._compiler.initView(), this._setFontFamilyTheme(null === (_d = this._currentTheme) || void 0 === _d ? void 0 : _d.fontFamily),
240
245
  this._initDataSet(this._option.dataSet), this._autoSize = !!isTrueBrowseEnv && (null === (_f = null !== (_e = spec.autoFit) && void 0 !== _e ? _e : this._option.autoFit) || void 0 === _f || _f),
241
246
  this._bindResizeEvent(), this._bindVGrammarViewEvent(), this._initChartPlugin(),
242
- InstanceManager.registerInstance(this)) : null === (_b = this._option) || void 0 === _b || _b.onError("please specify container or renderCanvas!");
247
+ InstanceManager.registerInstance(this), null === (_h = null === (_g = this._option.performanceHook) || void 0 === _g ? void 0 : _g.afterCreateVChart) || void 0 === _h || _h.call(_g, this)) : null === (_b = this._option) || void 0 === _b || _b.onError("please specify container or renderCanvas!");
243
248
  }
244
249
  _setNewSpec(spec, forceMerge) {
245
250
  return !!spec && (isString(spec) && (spec = JSON.parse(spec)), forceMerge && this._originalSpec && (spec = mergeSpec({}, this._originalSpec, spec)),
@@ -291,12 +296,13 @@ export class VChart {
291
296
  })));
292
297
  }
293
298
  _bindResizeEvent() {
294
- var _a;
299
+ var _a, _b;
295
300
  if (this._autoSize) {
296
- if (this._container) {
301
+ if (this._onResize = throttle(this._doResize, null !== (_a = this._option.resizeDelay) && void 0 !== _a ? _a : 100),
302
+ this._container) {
297
303
  const ResizeObserverWindow = window.ResizeObserver;
298
304
  ResizeObserverWindow && (this._observer = new ResizeObserverWindow(this._onResize),
299
- null === (_a = this._observer) || void 0 === _a || _a.observe(this._container));
305
+ null === (_b = this._observer) || void 0 === _b || _b.observe(this._container));
300
306
  }
301
307
  window.addEventListener("resize", this._onResize);
302
308
  }
@@ -317,13 +323,6 @@ export class VChart {
317
323
  height: null !== (_d = null === (_c = this._currentSize) || void 0 === _c ? void 0 : _c.height) && void 0 !== _d ? _d : DEFAULT_CHART_HEIGHT
318
324
  });
319
325
  }
320
- _doResize() {
321
- const {width: width, height: height} = this.getCurrentSize();
322
- this._currentSize.width === width && this._currentSize.height === height || (this._currentSize = {
323
- width: width,
324
- height: height
325
- }, this.resizeSync(width, height));
326
- }
327
326
  _initDataSet(dataSet) {
328
327
  this._dataSet = dataSet instanceof DataSet ? dataSet : new DataSet, registerDataSetInstanceParser(this._dataSet, "dataview", dataViewParser),
329
328
  registerDataSetInstanceParser(this._dataSet, "array", arrayParser), registerDataSetInstanceTransform(this._dataSet, "copyDataView", copyDataView);
@@ -339,7 +338,7 @@ export class VChart {
339
338
  return !!updateSpecResult && (this._reCompile(updateSpecResult), this._beforeRender(option));
340
339
  }
341
340
  _reCompile(updateResult, morphConfig) {
342
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
341
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
343
342
  if (updateResult.reMake) this._releaseData(), this._initDataSet(), this._chartSpecTransformer = null,
344
343
  null === (_a = this._chart) || void 0 === _a || _a.release(), this._chart = null,
345
344
  updateResult.changeTheme ? (this._setCurrentTheme(), this._setFontFamilyTheme(null === (_b = this._currentTheme) || void 0 === _b ? void 0 : _b.fontFamily)) : updateResult.changeBackground && (null === (_c = this._compiler) || void 0 === _c || _c.setBackground(this._getBackground())),
@@ -352,7 +351,8 @@ export class VChart {
352
351
  updateResult.reCompile && (null === (_j = this._compiler) || void 0 === _j || _j.clear({
353
352
  chart: this._chart,
354
353
  vChart: this
355
- }, !this._option.animation || !this._spec.animation), null === (_k = this._compiler) || void 0 === _k || _k.compile({
354
+ }, !1 === (null === (_k = this._option) || void 0 === _k ? void 0 : _k.animation) || !1 === (null === (_l = this._spec) || void 0 === _l ? void 0 : _l.animation)),
355
+ null === (_m = this._compiler) || void 0 === _m || _m.compile({
356
356
  chart: this._chart,
357
357
  vChart: this
358
358
  }, {})), updateResult.reSize) {
@@ -366,8 +366,8 @@ export class VChart {
366
366
  if (this._chart) return !0;
367
367
  const {transformSpec: transformSpec, actionSource: actionSource} = option;
368
368
  return transformSpec && this._initChartSpec(this._spec, "render"), this._chartPluginApply("onBeforeInitChart", this._spec, actionSource),
369
- null === (_b = null === (_a = this._option.performanceHook) || void 0 === _a ? void 0 : _a.beforeInitializeChart) || void 0 === _b || _b.call(_a),
370
- this._initChart(this._spec), null === (_d = null === (_c = this._option.performanceHook) || void 0 === _c ? void 0 : _c.afterInitializeChart) || void 0 === _d || _d.call(_c),
369
+ null === (_b = null === (_a = this._option.performanceHook) || void 0 === _a ? void 0 : _a.beforeInitializeChart) || void 0 === _b || _b.call(_a, this),
370
+ this._initChart(this._spec), null === (_d = null === (_c = this._option.performanceHook) || void 0 === _c ? void 0 : _c.afterInitializeChart) || void 0 === _d || _d.call(_c, this),
371
371
  !(!this._chart || !this._compiler) && (null === (_f = null === (_e = this._option.performanceHook) || void 0 === _e ? void 0 : _e.beforeCompileToVGrammar) || void 0 === _f || _f.call(_e),
372
372
  this._compiler.compile({
373
373
  chart: this._chart,