@visactor/react-vchart 2.1.0-alpha.8 → 2.1.0-alpha.9

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/build/index.js CHANGED
@@ -14678,10 +14678,18 @@
14678
14678
  setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context, ignorePriority) {
14679
14679
  if (!params) return;
14680
14680
  const keys = Object.keys(params);
14681
- this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context), this.visitTrackedAnimates(animate => {
14681
+ this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context), this.syncFinalAttributesFromUpdateContext(context), this.visitTrackedAnimates(animate => {
14682
14682
  (animate.priority !== 1 / 0 || ignorePriority) && animate.preventAttrs(keys);
14683
14683
  }), this.applyTransientAttributes(params, forceUpdateTag, context);
14684
14684
  }
14685
+ syncFinalAttributesFromUpdateContext(context) {
14686
+ var _a;
14687
+ const updateType = null == context ? void 0 : context.type;
14688
+ if (updateType === AttributeUpdateType.STATE || null != updateType && updateType >= AttributeUpdateType.ANIMATE_BIND && updateType <= AttributeUpdateType.ANIMATE_END) return;
14689
+ const finalAttrs = null === (_a = this.context) || void 0 === _a ? void 0 : _a.finalAttrs,
14690
+ setFinalAttributes = this.setFinalAttributes;
14691
+ finalAttrs && "function" == typeof setFinalAttributes && setFinalAttributes.call(this, finalAttrs);
14692
+ }
14685
14693
  captureTransientFromAttrsBeforePreventAnimate(params, keys, context) {
14686
14694
  var _a, _b;
14687
14695
  const graphicContext = this.context,
@@ -26435,7 +26443,7 @@
26435
26443
  };
26436
26444
  }
26437
26445
 
26438
- var __rest$x = undefined && undefined.__rest || function (s, e) {
26446
+ var __rest$z = undefined && undefined.__rest || function (s, e) {
26439
26447
  var t = {};
26440
26448
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
26441
26449
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -26533,7 +26541,7 @@
26533
26541
  {
26534
26542
  textConfig = []
26535
26543
  } = _a,
26536
- rest = __rest$x(_a, ["textConfig"]);
26544
+ rest = __rest$z(_a, ["textConfig"]);
26537
26545
  if ("Backspace" === ev.type && !textConfig.length) return;
26538
26546
  let str = ev.data;
26539
26547
  this.isComposing || "Backspace" === ev.type || str || (str = "\n"), this.selectionStartCursorIdx > this.cursorIndex && ([this.cursorIndex, this.selectionStartCursorIdx] = [this.selectionStartCursorIdx, this.cursorIndex]);
@@ -30990,188 +30998,6 @@
30990
30998
  }
30991
30999
  loadBrowserEnv.__loaded = !1;
30992
31000
 
30993
- class NodeWindowHandlerContribution extends BaseWindowHandlerContribution {
30994
- get container() {
30995
- return null;
30996
- }
30997
- constructor(global = application.global) {
30998
- super(), this.global = global, this.type = "node";
30999
- }
31000
- getTitle() {
31001
- return "";
31002
- }
31003
- getWH() {
31004
- return {
31005
- width: this.canvas.displayWidth,
31006
- height: this.canvas.displayHeight
31007
- };
31008
- }
31009
- getXY() {
31010
- return {
31011
- x: 0,
31012
- y: 0
31013
- };
31014
- }
31015
- createWindow(params) {
31016
- params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
31017
- }
31018
- createWindowByConfig(params) {
31019
- const nativeCanvas = this.global.createCanvas({
31020
- width: params.width,
31021
- height: params.height
31022
- }),
31023
- options = {
31024
- width: params.width,
31025
- height: params.height,
31026
- dpr: params.dpr,
31027
- nativeCanvas: nativeCanvas,
31028
- id: Generator.GenAutoIncrementId().toString(),
31029
- canvasControled: !0
31030
- };
31031
- this.canvas = new NodeCanvas(options);
31032
- }
31033
- createWindowByCanvas(params) {
31034
- var _a;
31035
- const canvas = params.canvas,
31036
- dpr = null !== (_a = params.dpr) && void 0 !== _a ? _a : 1;
31037
- let width = params.width,
31038
- height = params.height;
31039
- null != width && null != height && params.canvasControled || (width = canvas.width / dpr, height = canvas.height / dpr), this.canvas = new NodeCanvas({
31040
- width: width,
31041
- height: height,
31042
- dpr: dpr,
31043
- nativeCanvas: canvas,
31044
- canvasControled: params.canvasControled
31045
- });
31046
- }
31047
- releaseWindow() {
31048
- this.canvas.release();
31049
- }
31050
- resizeWindow(width, height) {
31051
- this.canvas.resize(width, height);
31052
- }
31053
- setDpr(dpr) {
31054
- this.canvas.dpr = dpr;
31055
- }
31056
- getContext() {
31057
- return this.canvas.getContext();
31058
- }
31059
- getNativeHandler() {
31060
- return this.canvas;
31061
- }
31062
- getDpr() {
31063
- return this.canvas.dpr;
31064
- }
31065
- getImageBuffer(type = "image/png") {
31066
- return this.canvas.nativeCanvas.toBuffer(type);
31067
- }
31068
- addEventListener(type, listener, options) {}
31069
- dispatchEvent(event) {
31070
- return !0;
31071
- }
31072
- removeEventListener(type, listener, options) {}
31073
- getStyle() {}
31074
- setStyle(style) {}
31075
- getBoundingClientRect() {
31076
- return null;
31077
- }
31078
- clearViewBox(color) {}
31079
- }
31080
- NodeWindowHandlerContribution.env = "node";
31081
- function bindNodeWindowContribution(container) {
31082
- var _a, _b;
31083
- (null === (_a = container.isBound) || void 0 === _a ? void 0 : _a.call(container, NodeWindowHandlerContribution)) || container.bind(NodeWindowHandlerContribution).toSelf(), (null === (_b = container.getNamed) || void 0 === _b ? void 0 : _b.call(container, WindowHandlerContribution, NodeWindowHandlerContribution.env)) || container.bind(WindowHandlerContribution).toService(NodeWindowHandlerContribution).whenTargetNamed(NodeWindowHandlerContribution.env);
31084
- }
31085
-
31086
- class NodeEnvContribution extends BaseEnvContribution {
31087
- constructor() {
31088
- super(...arguments), this.type = "node", this._lastTime = 0, this.supportEvent = !1;
31089
- }
31090
- configure(service, pkg) {
31091
- service.env === this.type && (service.setActiveEnvContribution(this), this.pkg = pkg);
31092
- }
31093
- getDynamicCanvasCount() {
31094
- return 0;
31095
- }
31096
- getStaticCanvasCount() {
31097
- return 999;
31098
- }
31099
- loadJson(url) {
31100
- const jsonPromise = fetch(url).then(data => data.json());
31101
- return jsonPromise.then(json => ({
31102
- data: json,
31103
- state: "success"
31104
- })).catch(() => ({
31105
- data: null,
31106
- state: "fail"
31107
- })), jsonPromise;
31108
- }
31109
- loadArrayBuffer(url) {
31110
- return fetch(url).then(data => data.arrayBuffer()).then(arrayBuffer => ({
31111
- data: arrayBuffer,
31112
- loadState: "success"
31113
- })).catch(() => ({
31114
- data: null,
31115
- loadState: "fail"
31116
- }));
31117
- }
31118
- loadImage(url) {
31119
- const {
31120
- loadImage: loadImage
31121
- } = this.pkg;
31122
- return loadImage ? loadImage(url).then(image => ({
31123
- loadState: image ? "success" : "fail",
31124
- data: image
31125
- })).catch(() => ({
31126
- loadState: "fail",
31127
- data: null
31128
- })) : Promise.reject(new Error("node-canvas loadImage could not be found!"));
31129
- }
31130
- loadSvg(svgStr) {
31131
- const Resvg = this.pkg.Resvg;
31132
- if (!Resvg) return Promise.reject(new Error("@resvg/resvg-js svgParser could not be found!"));
31133
- const pngData = new Resvg(svgStr).render().asPng();
31134
- return this.loadImage(pngData);
31135
- }
31136
- createCanvas(params) {
31137
- return this.pkg.createCanvas(params.width, params.height);
31138
- }
31139
- releaseCanvas(canvas) {}
31140
- getDevicePixelRatio() {
31141
- return 1;
31142
- }
31143
- getRequestAnimationFrame() {
31144
- return function (callback) {
31145
- return rafBasedSto.call(callback);
31146
- };
31147
- }
31148
- getCancelAnimationFrame() {
31149
- return h => {
31150
- rafBasedSto.clear(h);
31151
- };
31152
- }
31153
- addEventListener(type, listener, options) {}
31154
- removeEventListener(type, listener, options) {}
31155
- getElementById(str) {
31156
- return null;
31157
- }
31158
- getRootElement() {
31159
- return null;
31160
- }
31161
- dispatchEvent(event) {}
31162
- release(...params) {}
31163
- createOffscreenCanvas(params) {}
31164
- }
31165
-
31166
- function bindNodeEnv(container) {
31167
- var _a, _b;
31168
- (null === (_b = (_a = container).isBound) || void 0 === _b ? void 0 : _b.call(_a, NodeEnvContribution)) || (container.bind(NodeEnvContribution).toSelf().inSingletonScope(), container.bind(EnvContribution).toService(NodeEnvContribution));
31169
- }
31170
- function loadNodeEnv(container = getLegacyBindingContext(), loadPicker = !0) {
31171
- loadNodeEnv.__loaded || (loadNodeEnv.__loaded = !0, bindNodeEnv(container), bindNodeCanvasModules(container), bindNodeWindowContribution(container));
31172
- }
31173
- loadNodeEnv.__loaded = !1;
31174
-
31175
31001
  class DefaultMathPickerService extends DefaultPickService {
31176
31002
  constructor(contributions, pickItemInterceptorContributions, pickServiceInterceptorContributions) {
31177
31003
  super(pickItemInterceptorContributions, pickServiceInterceptorContributions), this.contributions = contributions, this.pickItemInterceptorContributions = pickItemInterceptorContributions, this.pickServiceInterceptorContributions = pickServiceInterceptorContributions, this.global.hooks.onSetEnv.tap("math-picker-service", (lastEnv, env, global) => {
@@ -31355,6 +31181,195 @@
31355
31181
  bindMathPickerContribution(c), bindMathPicker(c), bindArcMathPickerContribution(c), bindAreaMathPickerContribution(c), bindCircleMathPickerContribution(c), bindGlyphMathPickerContribution(c), bindImageMathPickerContribution(c), bindLineMathPickerContribution(c), bindPolygonMathPickerContribution(c), bindPathMathPickerContribution(c), bindRectMathPickerContribution(c), bindRichTextMathPickerContribution(c), bindSymbolMathPickerContribution(c), bindTextMathPickerContribution(c);
31356
31182
  }
31357
31183
 
31184
+ class NodeWindowHandlerContribution extends BaseWindowHandlerContribution {
31185
+ get container() {
31186
+ return null;
31187
+ }
31188
+ constructor(global = application.global) {
31189
+ super(), this.global = global, this.type = "node";
31190
+ }
31191
+ getTitle() {
31192
+ return "";
31193
+ }
31194
+ getWH() {
31195
+ return {
31196
+ width: this.canvas.displayWidth,
31197
+ height: this.canvas.displayHeight
31198
+ };
31199
+ }
31200
+ getXY() {
31201
+ return {
31202
+ x: 0,
31203
+ y: 0
31204
+ };
31205
+ }
31206
+ createWindow(params) {
31207
+ params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
31208
+ }
31209
+ createWindowByConfig(params) {
31210
+ const nativeCanvas = this.global.createCanvas({
31211
+ width: params.width,
31212
+ height: params.height
31213
+ }),
31214
+ options = {
31215
+ width: params.width,
31216
+ height: params.height,
31217
+ dpr: params.dpr,
31218
+ nativeCanvas: nativeCanvas,
31219
+ id: Generator.GenAutoIncrementId().toString(),
31220
+ canvasControled: !0
31221
+ };
31222
+ this.canvas = new NodeCanvas(options);
31223
+ }
31224
+ createWindowByCanvas(params) {
31225
+ var _a;
31226
+ const canvas = params.canvas,
31227
+ dpr = null !== (_a = params.dpr) && void 0 !== _a ? _a : 1;
31228
+ let width = params.width,
31229
+ height = params.height;
31230
+ null != width && null != height && params.canvasControled || (width = canvas.width / dpr, height = canvas.height / dpr), this.canvas = new NodeCanvas({
31231
+ width: width,
31232
+ height: height,
31233
+ dpr: dpr,
31234
+ nativeCanvas: canvas,
31235
+ canvasControled: params.canvasControled
31236
+ });
31237
+ }
31238
+ releaseWindow() {
31239
+ this.canvas.release();
31240
+ }
31241
+ resizeWindow(width, height) {
31242
+ this.canvas.resize(width, height);
31243
+ }
31244
+ setDpr(dpr) {
31245
+ this.canvas.dpr = dpr;
31246
+ }
31247
+ getContext() {
31248
+ return this.canvas.getContext();
31249
+ }
31250
+ getNativeHandler() {
31251
+ return this.canvas;
31252
+ }
31253
+ getDpr() {
31254
+ return this.canvas.dpr;
31255
+ }
31256
+ getImageBuffer(type = "image/png") {
31257
+ return this.canvas.nativeCanvas.toBuffer(type);
31258
+ }
31259
+ addEventListener(type, listener, options) {}
31260
+ dispatchEvent(event) {
31261
+ return !0;
31262
+ }
31263
+ removeEventListener(type, listener, options) {}
31264
+ getStyle() {}
31265
+ setStyle(style) {}
31266
+ getBoundingClientRect() {
31267
+ return null;
31268
+ }
31269
+ clearViewBox(color) {}
31270
+ }
31271
+ NodeWindowHandlerContribution.env = "node";
31272
+ function bindNodeWindowContribution(container) {
31273
+ var _a, _b;
31274
+ (null === (_a = container.isBound) || void 0 === _a ? void 0 : _a.call(container, NodeWindowHandlerContribution)) || container.bind(NodeWindowHandlerContribution).toSelf(), (null === (_b = container.getNamed) || void 0 === _b ? void 0 : _b.call(container, WindowHandlerContribution, NodeWindowHandlerContribution.env)) || container.bind(WindowHandlerContribution).toService(NodeWindowHandlerContribution).whenTargetNamed(NodeWindowHandlerContribution.env);
31275
+ }
31276
+
31277
+ class NodeEnvContribution extends BaseEnvContribution {
31278
+ constructor() {
31279
+ super(...arguments), this.type = "node", this._lastTime = 0, this.supportEvent = !1;
31280
+ }
31281
+ configure(service, pkg) {
31282
+ service.env === this.type && (service.setActiveEnvContribution(this), this.pkg = pkg);
31283
+ }
31284
+ getNodePackage(feature, requiredKey) {
31285
+ if (!this.pkg || requiredKey && "function" != typeof this.pkg[requiredKey]) throw new Error(`Node env requires node-canvas package before ${feature}. Use vglobal.setEnv('node', CanvasPkg) before createNodeVRenderApp(), or createNodeVRenderApp({ envParams: CanvasPkg }).`);
31286
+ return this.pkg;
31287
+ }
31288
+ getDynamicCanvasCount() {
31289
+ return 0;
31290
+ }
31291
+ getStaticCanvasCount() {
31292
+ return 999;
31293
+ }
31294
+ loadJson(url) {
31295
+ const jsonPromise = fetch(url).then(data => data.json());
31296
+ return jsonPromise.then(json => ({
31297
+ data: json,
31298
+ state: "success"
31299
+ })).catch(() => ({
31300
+ data: null,
31301
+ state: "fail"
31302
+ })), jsonPromise;
31303
+ }
31304
+ loadArrayBuffer(url) {
31305
+ return fetch(url).then(data => data.arrayBuffer()).then(arrayBuffer => ({
31306
+ data: arrayBuffer,
31307
+ loadState: "success"
31308
+ })).catch(() => ({
31309
+ data: null,
31310
+ loadState: "fail"
31311
+ }));
31312
+ }
31313
+ loadImage(url) {
31314
+ const {
31315
+ loadImage: loadImage
31316
+ } = this.getNodePackage("loadImage", "loadImage");
31317
+ return loadImage ? loadImage(url).then(image => ({
31318
+ loadState: image ? "success" : "fail",
31319
+ data: image
31320
+ })).catch(() => ({
31321
+ loadState: "fail",
31322
+ data: null
31323
+ })) : Promise.reject(new Error("node-canvas loadImage could not be found!"));
31324
+ }
31325
+ loadSvg(svgStr) {
31326
+ const Resvg = this.getNodePackage("loadSvg").Resvg;
31327
+ if (!Resvg) return Promise.reject(new Error("@resvg/resvg-js svgParser could not be found!"));
31328
+ const pngData = new Resvg(svgStr).render().asPng();
31329
+ return this.loadImage(pngData);
31330
+ }
31331
+ createCanvas(params) {
31332
+ const {
31333
+ createCanvas: createCanvas
31334
+ } = this.getNodePackage("createCanvas", "createCanvas");
31335
+ return createCanvas(params.width, params.height);
31336
+ }
31337
+ releaseCanvas(canvas) {}
31338
+ getDevicePixelRatio() {
31339
+ return 1;
31340
+ }
31341
+ getRequestAnimationFrame() {
31342
+ return function (callback) {
31343
+ return rafBasedSto.call(callback);
31344
+ };
31345
+ }
31346
+ getCancelAnimationFrame() {
31347
+ return h => {
31348
+ rafBasedSto.clear(h);
31349
+ };
31350
+ }
31351
+ addEventListener(type, listener, options) {}
31352
+ removeEventListener(type, listener, options) {}
31353
+ getElementById(str) {
31354
+ return null;
31355
+ }
31356
+ getRootElement() {
31357
+ return null;
31358
+ }
31359
+ dispatchEvent(event) {}
31360
+ release(...params) {}
31361
+ createOffscreenCanvas(params) {}
31362
+ }
31363
+
31364
+ function bindNodeEnv(container) {
31365
+ var _a, _b;
31366
+ (null === (_b = (_a = container).isBound) || void 0 === _b ? void 0 : _b.call(_a, NodeEnvContribution)) || (container.bind(NodeEnvContribution).toSelf().inSingletonScope(), container.bind(EnvContribution).toService(NodeEnvContribution));
31367
+ }
31368
+ function loadNodeEnv(container = getLegacyBindingContext(), loadPicker = !0) {
31369
+ loadNodeEnv.__loaded || (loadNodeEnv.__loaded = !0, bindNodeEnv(container), bindNodeCanvasModules(container), bindNodeWindowContribution(container));
31370
+ }
31371
+ loadNodeEnv.__loaded = !1;
31372
+
31358
31373
  var lib$1 = {};
31359
31374
 
31360
31375
  var gif = {};
@@ -32148,17 +32163,46 @@
32148
32163
  });
32149
32164
  }), bindGifImageRenderContribution(bindingContext), refreshRuntimeInstallerContributions();
32150
32165
  }
32151
- function installBrowserEnvToApp(app) {
32166
+ function createForcedEnvParams(envParams) {
32167
+ if (null != envParams && ("object" == typeof envParams || "function" == typeof envParams)) {
32168
+ const forcedEnvParams = Object.create(envParams);
32169
+ return forcedEnvParams.force = !0, forcedEnvParams;
32170
+ }
32171
+ return {
32172
+ force: !0
32173
+ };
32174
+ }
32175
+ function activateRuntimeEnv(env, {
32176
+ envParams: envParams,
32177
+ force = !1
32178
+ } = {}) {
32179
+ getRuntimeInstallerGlobal().setEnv(env, force ? createForcedEnvParams(envParams) : envParams);
32180
+ }
32181
+ function installRuntimeEnvToApp(app, env, {
32182
+ bindEnv: bindEnv,
32183
+ bindCanvasModules: bindCanvasModules,
32184
+ bindWindowContribution: bindWindowContribution
32185
+ }, envParams) {
32152
32186
  configureRuntimeApplicationForApp(app);
32153
32187
  const bindingContext = getRuntimeInstallerBindingContext();
32154
- bindBrowserEnv(bindingContext), bindBrowserCanvasModules(bindingContext), bindBrowserWindowContribution(bindingContext), refreshRuntimeInstallerContributions(), getRuntimeInstallerGlobal().setEnv("browser", {
32188
+ bindEnv(bindingContext), bindCanvasModules(bindingContext), bindWindowContribution(bindingContext), refreshRuntimeInstallerContributions(), activateRuntimeEnv(env, {
32189
+ envParams: envParams,
32155
32190
  force: !0
32156
32191
  });
32157
32192
  }
32158
- function installNodeEnvToApp(app) {
32159
- configureRuntimeApplicationForApp(app);
32160
- const bindingContext = getRuntimeInstallerBindingContext();
32161
- bindNodeEnv(bindingContext), bindNodeCanvasModules(bindingContext), bindNodeWindowContribution(bindingContext), refreshRuntimeInstallerContributions();
32193
+ function installBrowserEnvToApp(app, envParams) {
32194
+ installRuntimeEnvToApp(app, "browser", {
32195
+ bindEnv: bindBrowserEnv,
32196
+ bindCanvasModules: bindBrowserCanvasModules,
32197
+ bindWindowContribution: bindBrowserWindowContribution
32198
+ }, envParams);
32199
+ }
32200
+ function installNodeEnvToApp(app, envParams) {
32201
+ installRuntimeEnvToApp(app, "node", {
32202
+ bindEnv: bindNodeEnv,
32203
+ bindCanvasModules: bindNodeCanvasModules,
32204
+ bindWindowContribution: bindNodeWindowContribution
32205
+ }, envParams);
32162
32206
  }
32163
32207
  function installDefaultGraphicsToApp(app) {
32164
32208
  configureRuntimeApplicationForApp(app), ensureDefaultGraphicsInstalled(), installRuntimeDrawContributionsToApp(app), installRuntimeGraphicRenderersToApp(app);
@@ -33345,7 +33389,7 @@
33345
33389
  registerGroup(), registerRect(), registerSymbol(), registerRichtext(), registerText();
33346
33390
  }
33347
33391
 
33348
- var __rest$w = undefined && undefined.__rest || function (s, e) {
33392
+ var __rest$y = undefined && undefined.__rest || function (s, e) {
33349
33393
  var t = {};
33350
33394
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
33351
33395
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -33399,7 +33443,7 @@
33399
33443
  const {
33400
33444
  visible: shapeVisible
33401
33445
  } = shape,
33402
- shapeStyle = __rest$w(shape, ["visible"]);
33446
+ shapeStyle = __rest$y(shape, ["visible"]);
33403
33447
  if (isBoolean$1(shapeVisible)) {
33404
33448
  const size = (null == shapeStyle ? void 0 : shapeStyle.size) || 10,
33405
33449
  maxSize = isNumber$2(size) ? size : Math.max(size[0], size[1]);
@@ -33500,7 +33544,7 @@
33500
33544
  const {
33501
33545
  visible: bgVisible
33502
33546
  } = panel,
33503
- backgroundStyle = __rest$w(panel, ["visible"]);
33547
+ backgroundStyle = __rest$y(panel, ["visible"]);
33504
33548
  if (visible && isBoolean$1(bgVisible)) {
33505
33549
  const bgRect = this.createOrUpdateChild("tag-panel", Object.assign(Object.assign({}, backgroundStyle), {
33506
33550
  visible: bgVisible && !!text,
@@ -33582,7 +33626,7 @@
33582
33626
  merge$1(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);
33583
33627
  }
33584
33628
 
33585
- var __rest$v = undefined && undefined.__rest || function (s, e) {
33629
+ var __rest$x = undefined && undefined.__rest || function (s, e) {
33586
33630
  var t = {};
33587
33631
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
33588
33632
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -33691,7 +33735,7 @@
33691
33735
  visible: bgVisible,
33692
33736
  square: square
33693
33737
  } = panel,
33694
- backgroundStyle = __rest$v(panel, ["visible", "square"]);
33738
+ backgroundStyle = __rest$x(panel, ["visible", "square"]);
33695
33739
  if (square) {
33696
33740
  const maxWH = max$1(popTipWidth, poptipHeight);
33697
33741
  popTipWidth = maxWH;
@@ -36654,7 +36698,7 @@
36654
36698
  AnimateExecutor.builtInAnimateMap[name] = animate;
36655
36699
  }
36656
36700
  constructor(target) {
36657
- this._animates = [], this._startCallbacks = [], this._endCallbacks = [], this._started = !1, this._activeCount = 0, this._target = target;
36701
+ this._animates = [], this._startCallbacks = [], this._endCallbacks = [], this._started = !1, this._activeCount = 0, this._activeConfigList = null, this._target = target;
36658
36702
  }
36659
36703
  get started() {
36660
36704
  return this._started;
@@ -36763,7 +36807,15 @@
36763
36807
  return parsedParams;
36764
36808
  }
36765
36809
  execute(params) {
36766
- Array.isArray(params) ? params.forEach(param => this._execute(param)) : this._execute(params);
36810
+ if (Array.isArray(params)) {
36811
+ const prevConfigList = this._activeConfigList;
36812
+ this._activeConfigList = params;
36813
+ try {
36814
+ params.forEach(param => this._execute(param));
36815
+ } finally {
36816
+ this._activeConfigList = prevConfigList;
36817
+ }
36818
+ } else this._execute(params);
36767
36819
  }
36768
36820
  _execute(params) {
36769
36821
  if (params.selfOnly) return this._executeItem(params, this._target, 0, 1);
@@ -36789,6 +36841,7 @@
36789
36841
  }
36790
36842
  executeTypeConfigItem(params, graphic, index, count) {
36791
36843
  var _a, _b, _c, _d, _e, _f, _g, _h;
36844
+ this.syncFinalAttrsFromContext(graphic);
36792
36845
  const {
36793
36846
  type = "fromTo",
36794
36847
  channel: channel,
@@ -36819,7 +36872,7 @@
36819
36872
  props = params.to,
36820
36873
  from = params.from;
36821
36874
  const commitAttrOutChannel = this.shouldCommitAttrOutChannel(type);
36822
- props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel), this._handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic);
36875
+ props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel, this.getAttrOutChannelExcludedKeys(graphic))), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel, this.getAttrOutChannelExcludedKeys(graphic))), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel), this._handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic);
36823
36876
  let totalDelay = 0;
36824
36877
  oneByOneDelay && (totalDelay = oneByOneDelay * (count - index - 1));
36825
36878
  const delayAfterValue = isFunction$1(delayAfter) ? delayAfter(null === (_h = null === (_g = graphic.context) || void 0 === _g ? void 0 : _g.data) || void 0 === _h ? void 0 : _h[0], graphic, {}) : delayAfter;
@@ -36841,6 +36894,7 @@
36841
36894
  }
36842
36895
  executeTimelineItem(params, graphic, index, count) {
36843
36896
  var _a, _b, _c, _d;
36897
+ this.syncFinalAttrsFromContext(graphic);
36844
36898
  const {
36845
36899
  timeSlices: timeSlices,
36846
36900
  startTime = 0,
@@ -36883,7 +36937,7 @@
36883
36937
  props = effect.to,
36884
36938
  from = effect.from;
36885
36939
  const commitAttrOutChannel = this.shouldCommitAttrOutChannel(type);
36886
- props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel);
36940
+ props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel, this.getAttrOutChannelExcludedKeys(graphic))), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel, this.getAttrOutChannelExcludedKeys(graphic))), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel);
36887
36941
  const custom = null !== (_a = effect.custom) && void 0 !== _a ? _a : AnimateExecutor.builtInAnimateMap[type],
36888
36942
  customType = effect.custom ? effect.customType : getCustomType(custom);
36889
36943
  this._handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic);
@@ -36904,7 +36958,7 @@
36904
36958
  const customAnimate = new CustomAnimateConstructor(from, props, duration, easing, customParams);
36905
36959
  animate.play(customAnimate);
36906
36960
  }
36907
- createPropsFromChannel(channel, graphic, includeAttrOutChannel = !0) {
36961
+ createPropsFromChannel(channel, graphic, includeAttrOutChannel = !0, excludedAttrOutKeys) {
36908
36962
  var _a;
36909
36963
  const props = {};
36910
36964
  let from = null;
@@ -36925,7 +36979,7 @@
36925
36979
  }), diffAttrs && attrOutChannel) for (const key in diffAttrs) {
36926
36980
  const value = diffAttrs[key];
36927
36981
  if (void 0 === value) continue;
36928
- props.hasOwnProperty(key) || !!(null == from ? void 0 : from.hasOwnProperty(key)) || (attrOutChannel[key] = value, hasAttrs = !0);
36982
+ props.hasOwnProperty(key) || !!(null == from ? void 0 : from.hasOwnProperty(key)) || (null == excludedAttrOutKeys ? void 0 : excludedAttrOutKeys[key]) || (attrOutChannel[key] = value, hasAttrs = !0);
36929
36983
  }
36930
36984
  return {
36931
36985
  from: from,
@@ -36937,8 +36991,78 @@
36937
36991
  var _a, _b;
36938
36992
  return void 0 === value ? defaultValue : "function" == typeof value && graphic ? value(null === (_b = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b[0], graphic, {}) : value;
36939
36993
  }
36994
+ getAttrOutChannelExcludedKeys(graphic) {
36995
+ var _a;
36996
+ const configList = this._activeConfigList,
36997
+ diffAttrs = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.diffAttrs;
36998
+ if (!configList || configList.length <= 1 || !diffAttrs) return null;
36999
+ let excludedKeys = null;
37000
+ for (let i = 0; i < configList.length; i++) excludedKeys = this.collectAnimatedDiffKeys(configList[i], graphic, diffAttrs, excludedKeys);
37001
+ return excludedKeys;
37002
+ }
37003
+ collectAnimatedDiffKeys(config, graphic, diffAttrs, keys) {
37004
+ if ("timeSlices" in config) {
37005
+ const slices = Array.isArray(config.timeSlices) ? config.timeSlices : [config.timeSlices];
37006
+ for (let i = 0; i < slices.length; i++) {
37007
+ const effects = Array.isArray(slices[i].effects) ? slices[i].effects : [slices[i].effects];
37008
+ for (let j = 0; j < effects.length; j++) keys = this.collectAnimatedDiffKeysFromEffect(effects[j], graphic, diffAttrs, keys);
37009
+ }
37010
+ return keys;
37011
+ }
37012
+ return this.collectAnimatedDiffKeysFromEffect(config, graphic, diffAttrs, keys);
37013
+ }
37014
+ collectAnimatedDiffKeysFromEffect(effect, graphic, diffAttrs, keys) {
37015
+ var _a;
37016
+ if ("update" === (null !== (_a = effect.type) && void 0 !== _a ? _a : "fromTo")) {
37017
+ const options = this.resolveValue(effect.options, graphic, void 0),
37018
+ excludeChannels = null == options ? void 0 : options.excludeChannels;
37019
+ for (const key in diffAttrs) Object.prototype.hasOwnProperty.call(diffAttrs, key) && void 0 !== diffAttrs[key] && !this.includesChannel(excludeChannels, key) && (null != keys || (keys = {}), keys[key] = !0);
37020
+ return keys;
37021
+ }
37022
+ return keys = this.collectExplicitAnimatedKeys(effect.to, diffAttrs, keys), keys = this.collectExplicitAnimatedKeys(effect.from, diffAttrs, keys), this.collectChannelAnimatedKeys(effect.channel, diffAttrs, keys);
37023
+ }
37024
+ collectExplicitAnimatedKeys(attrs, diffAttrs, keys) {
37025
+ if (!attrs) return keys;
37026
+ for (const key in attrs) Object.prototype.hasOwnProperty.call(attrs, key) && Object.prototype.hasOwnProperty.call(diffAttrs, key) && void 0 !== diffAttrs[key] && (null != keys || (keys = {}), keys[key] = !0);
37027
+ return keys;
37028
+ }
37029
+ collectChannelAnimatedKeys(channel, diffAttrs, keys) {
37030
+ if (!channel) return keys;
37031
+ if (Array.isArray(channel)) {
37032
+ for (let i = 0; i < channel.length; i++) {
37033
+ const key = channel[i];
37034
+ Object.prototype.hasOwnProperty.call(diffAttrs, key) && void 0 !== diffAttrs[key] && (null != keys || (keys = {}), keys[key] = !0);
37035
+ }
37036
+ return keys;
37037
+ }
37038
+ for (const key in channel) if (Object.prototype.hasOwnProperty.call(channel, key) && Object.prototype.hasOwnProperty.call(diffAttrs, key) && void 0 !== diffAttrs[key]) {
37039
+ const config = channel[key];
37040
+ void 0 === config.to && void 0 === config.from || (null != keys || (keys = {}), keys[key] = !0);
37041
+ }
37042
+ return keys;
37043
+ }
37044
+ includesChannel(channels, key) {
37045
+ if (!(null == channels ? void 0 : channels.length)) return !1;
37046
+ for (let i = 0; i < channels.length; i++) if (channels[i] === key) return !0;
37047
+ return !1;
37048
+ }
37049
+ syncFinalAttrsFromContext(graphic) {
37050
+ var _a;
37051
+ const finalAttrs = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.finalAttrs,
37052
+ setFinalAttributes = graphic.setFinalAttributes;
37053
+ finalAttrs && "function" == typeof setFinalAttributes && setFinalAttributes.call(graphic, finalAttrs);
37054
+ }
36940
37055
  executeItem(params, graphic, index = 0, count = 1) {
36941
- return Array.isArray(params) ? params.map(param => this._executeItem(param, graphic, index, count)).filter(Boolean) : [this._executeItem(params, graphic, index, count)].filter(Boolean);
37056
+ if (Array.isArray(params)) {
37057
+ const prevConfigList = this._activeConfigList;
37058
+ this._activeConfigList = params;
37059
+ try {
37060
+ return params.map(param => this._executeItem(param, graphic, index, count)).filter(Boolean);
37061
+ } finally {
37062
+ this._activeConfigList = prevConfigList;
37063
+ }
37064
+ }
37065
+ return [this._executeItem(params, graphic, index, count)].filter(Boolean);
36942
37066
  }
36943
37067
  _executeItem(params, graphic, index = 0, count = 1) {
36944
37068
  if (!graphic) return null;
@@ -37232,9 +37356,7 @@
37232
37356
  return this.initAnimateExecutor(), this._animateExecutor.execute(config), this;
37233
37357
  }
37234
37358
  executeAnimations(configs) {
37235
- return this.initAnimateExecutor(), configs.forEach(config => {
37236
- this._animateExecutor.execute(config);
37237
- }), this;
37359
+ return this.initAnimateExecutor(), this._animateExecutor.execute(configs), this;
37238
37360
  }
37239
37361
  getFinalAttribute() {
37240
37362
  return this.finalAttribute;
@@ -37878,8 +38000,9 @@
37878
38000
  return commitAttrs;
37879
38001
  }
37880
38002
  function commitAnimationStaticAttrs(target, keys, animate, fallbackAttrs) {
38003
+ var _a, _b;
37881
38004
  const commitAttrs = buildAnimationStaticCommitAttrs(target, keys, animate, fallbackAttrs);
37882
- return !!commitAttrs && (target.setAttributes(commitAttrs, !1, {
38005
+ return !!commitAttrs && (null === (_b = (_a = target).setFinalAttributes) || void 0 === _b || _b.call(_a, commitAttrs), target.setAttributes(commitAttrs, !1, {
37883
38006
  type: AttributeUpdateType.ANIMATE_END
37884
38007
  }), !0);
37885
38008
  }
@@ -37901,10 +38024,16 @@
37901
38024
  return [];
37902
38025
  }
37903
38026
  onBind() {
38027
+ var _a, _b, _c, _d, _e;
37904
38028
  super.onBind();
37905
38029
  const currentAttribute = this.target.attribute,
38030
+ explicitFrom = null !== (_a = this.from) && void 0 !== _a ? _a : {},
38031
+ explicitTo = null !== (_b = this.to) && void 0 !== _b ? _b : {},
38032
+ context = null !== (_c = this.target.context) && void 0 !== _c ? _c : {},
38033
+ contextFinalAttrs = null !== (_d = context.finalAttrs) && void 0 !== _d ? _d : {},
38034
+ contextDiffAttrs = null !== (_e = context.diffAttrs) && void 0 !== _e ? _e : {},
37906
38035
  finalAttribute = this.target.getFinalAttribute();
37907
- this.from = {}, this.to = {}, Object.prototype.hasOwnProperty.call(currentAttribute, "points") && (this.from.points = currentAttribute.points), Object.prototype.hasOwnProperty.call(currentAttribute, "segments") && (this.from.segments = currentAttribute.segments), finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "points") && (this.to.points = finalAttribute.points), finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "segments") && (this.to.segments = finalAttribute.segments), this.props = this.to;
38036
+ this.from = {}, this.to = {}, Object.prototype.hasOwnProperty.call(explicitFrom, "points") ? this.from.points = explicitFrom.points : Object.prototype.hasOwnProperty.call(currentAttribute, "points") && (this.from.points = currentAttribute.points), Object.prototype.hasOwnProperty.call(explicitFrom, "segments") ? this.from.segments = explicitFrom.segments : Object.prototype.hasOwnProperty.call(currentAttribute, "segments") && (this.from.segments = currentAttribute.segments), Object.prototype.hasOwnProperty.call(explicitTo, "points") ? this.to.points = explicitTo.points : Object.prototype.hasOwnProperty.call(contextFinalAttrs, "points") ? this.to.points = contextFinalAttrs.points : Object.prototype.hasOwnProperty.call(contextDiffAttrs, "points") ? this.to.points = contextDiffAttrs.points : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "points") && (this.to.points = finalAttribute.points), Object.prototype.hasOwnProperty.call(explicitTo, "segments") ? this.to.segments = explicitTo.segments : Object.prototype.hasOwnProperty.call(contextFinalAttrs, "segments") ? this.to.segments = contextFinalAttrs.segments : Object.prototype.hasOwnProperty.call(contextDiffAttrs, "segments") ? this.to.segments = contextDiffAttrs.segments : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "segments") && (this.to.segments = finalAttribute.segments), this.props = this.to;
37908
38037
  const originFromPoints = this.getPoints(this.from),
37909
38038
  originToPoints = this.getPoints(this.to, !0);
37910
38039
  this.fromPoints = originFromPoints ? Array.isArray(originFromPoints) ? originFromPoints : [originFromPoints] : [], this.toPoints = originToPoints ? Array.isArray(originToPoints) ? originToPoints : [originToPoints] : [];
@@ -42157,7 +42286,7 @@
42157
42286
  registerGroup(), registerPath();
42158
42287
  }
42159
42288
 
42160
- var __rest$u = undefined && undefined.__rest || function (s, e) {
42289
+ var __rest$w = undefined && undefined.__rest || function (s, e) {
42161
42290
  var t = {};
42162
42291
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
42163
42292
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -42264,7 +42393,7 @@
42264
42393
  style: style,
42265
42394
  state: state
42266
42395
  } = _a,
42267
- restLineAttrs = __rest$u(_a, ["startSymbol", "endSymbol", "style", "state"]),
42396
+ restLineAttrs = __rest$w(_a, ["startSymbol", "endSymbol", "style", "state"]),
42268
42397
  lineAttrs = Object.assign({
42269
42398
  startSymbol: startSymbol,
42270
42399
  endSymbol: endSymbol,
@@ -42305,7 +42434,7 @@
42305
42434
  state = {},
42306
42435
  maxWidth: maxWidth
42307
42436
  } = _d,
42308
- restAttrs = __rest$u(_d, ["position", "space", "textStyle", "autoRotate", "shape", "background", "state", "maxWidth"]);
42437
+ restAttrs = __rest$w(_d, ["position", "space", "textStyle", "autoRotate", "shape", "background", "state", "maxWidth"]);
42309
42438
  let percent = .5;
42310
42439
  "start" === position ? percent = 0 : "end" === position && (percent = 1);
42311
42440
  const {
@@ -42407,7 +42536,7 @@
42407
42536
  text: textContent = "",
42408
42537
  maxWidth: maxWidth
42409
42538
  } = _c,
42410
- restAttrs = __rest$u(_c, ["position", "space", "autoRotate", "textStyle", "background", "formatMethod", "text", "maxWidth"]),
42539
+ restAttrs = __rest$w(_c, ["position", "space", "autoRotate", "textStyle", "background", "formatMethod", "text", "maxWidth"]),
42411
42540
  point = this.getTickCoord(0);
42412
42541
  "bottom" === orient || "top" === orient ? point.x = position : point.y = position;
42413
42542
  let tickLength = 0;
@@ -42779,7 +42908,7 @@
42779
42908
  });
42780
42909
  }
42781
42910
 
42782
- var __rest$t = undefined && undefined.__rest || function (s, e) {
42911
+ var __rest$v = undefined && undefined.__rest || function (s, e) {
42783
42912
  var t = {};
42784
42913
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
42785
42914
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -42838,7 +42967,7 @@
42838
42967
  background: background,
42839
42968
  state = {}
42840
42969
  } = _d,
42841
- restAttrs = __rest$t(_d, ["space", "textStyle", "shape", "background", "state"]);
42970
+ restAttrs = __rest$v(_d, ["space", "textStyle", "shape", "background", "state"]);
42842
42971
  let titlePoint = center,
42843
42972
  labelHeight = 0;
42844
42973
  (null === (_a = this.attribute.label) || void 0 === _a ? void 0 : _a.visible) && !1 === this.attribute.label.inside && (labelHeight = get$1(this.attribute.label, "style.fontSize", 12) + get$1(this.attribute.label, "space", 4));
@@ -44798,7 +44927,7 @@
44798
44927
  return "left" === align ? 0 : "right" === align ? 1 : .5;
44799
44928
  }
44800
44929
 
44801
- var __rest$s = undefined && undefined.__rest || function (s, e) {
44930
+ var __rest$u = undefined && undefined.__rest || function (s, e) {
44802
44931
  var t = {};
44803
44932
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
44804
44933
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -44822,7 +44951,7 @@
44822
44951
  } = this.params,
44823
44952
  diff = {};
44824
44953
  for (const key in curText.attribute) prevText.attribute[key] !== curText.attribute[key] && (diff[key] = curText.attribute[key]);
44825
- const rest = __rest$s(diff, ["text"]);
44954
+ const rest = __rest$u(diff, ["text"]);
44826
44955
  animator.animate(prevText, {
44827
44956
  type: "to",
44828
44957
  to: rest,
@@ -45044,7 +45173,7 @@
45044
45173
  return result;
45045
45174
  }
45046
45175
 
45047
- var __rest$r = undefined && undefined.__rest || function (s, e) {
45176
+ var __rest$t = undefined && undefined.__rest || function (s, e) {
45048
45177
  var t = {};
45049
45178
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
45050
45179
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -45073,7 +45202,7 @@
45073
45202
  const {
45074
45203
  data: data
45075
45204
  } = attributes,
45076
- restAttributes = __rest$r(attributes, ["data"]);
45205
+ restAttributes = __rest$t(attributes, ["data"]);
45077
45206
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
45078
45207
  data: data
45079
45208
  }, merge$1({}, LabelBase.defaultAttributes, restAttributes))), this.name = "label", this._onHover = e => {
@@ -45122,7 +45251,8 @@
45122
45251
  baseMark: baseMark
45123
45252
  }, attrs, new CustomPath2D());
45124
45253
  }
45125
- return baseMark && baseMark.getAttributes(!0).fill && lineGraphic.setAttribute("stroke", baseMark.getAttributes(!0).fill), this.attribute.line && !isEmpty(this.attribute.line.style) && lineGraphic.setAttributes(this.attribute.line.style), this._setStatesOfLabelLine(lineGraphic), lineGraphic;
45254
+ const baseMarkAttrs = baseMark && this.getGraphicFinalLayoutAttributes(baseMark);
45255
+ return (null == baseMarkAttrs ? void 0 : baseMarkAttrs.fill) && lineGraphic.setAttribute("stroke", baseMarkAttrs.fill), this.attribute.line && !isEmpty(this.attribute.line.style) && lineGraphic.setAttributes(this.attribute.line.style), this._setStatesOfLabelLine(lineGraphic), lineGraphic;
45126
45256
  }
45127
45257
  }
45128
45258
  _finalizeExitRelease() {
@@ -45174,7 +45304,7 @@
45174
45304
  if (this._prepare(), isNil$1(this._idToGraphic) || this._isCollectionBase && isNil$1(this._idToPoint)) return;
45175
45305
  const markAttributeList = [];
45176
45306
  !1 !== this._enableAnimation && this._baseMarks.forEach(mark => {
45177
- markAttributeList.push(cloneAttributeSnapshot(mark.attribute)), mark.initAttributes(mark.getAttributes(!0));
45307
+ markAttributeList.push(cloneAttributeSnapshot(mark.attribute)), mark.initAttributes(this.getGraphicFinalLayoutAttributes(mark));
45178
45308
  });
45179
45309
  const {
45180
45310
  overlap: overlap,
@@ -45261,6 +45391,14 @@
45261
45391
  getRelatedGraphic(item) {
45262
45392
  return this._idToGraphic.get(item.id);
45263
45393
  }
45394
+ getGraphicFinalLayoutAttributes(graphic) {
45395
+ var _a, _b;
45396
+ return null !== (_b = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.finalAttrs) && void 0 !== _b ? _b : graphic.getAttributes(!0);
45397
+ }
45398
+ hasGraphicContextFinalLayoutAttributes(graphic) {
45399
+ var _a;
45400
+ return !!(null === (_a = null == graphic ? void 0 : graphic.context) || void 0 === _a ? void 0 : _a.finalAttrs);
45401
+ }
45264
45402
  _initText(data = []) {
45265
45403
  const {
45266
45404
  textStyle = {}
@@ -45270,7 +45408,7 @@
45270
45408
  const textData = data[i],
45271
45409
  baseMark = this.getRelatedGraphic(textData);
45272
45410
  if (!baseMark) continue;
45273
- const graphicAttribute = baseMark.getAttributes(!0),
45411
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(baseMark),
45274
45412
  labelAttribute = Object.assign(Object.assign({
45275
45413
  fill: this._isCollectionBase ? isArray$1(graphicAttribute.stroke) ? graphicAttribute.stroke.find(entry => !!entry && !0 !== entry) : graphicAttribute.stroke : graphicAttribute.fill
45276
45414
  }, textStyle), textData),
@@ -45493,9 +45631,9 @@
45493
45631
  var _a;
45494
45632
  if (graphic) {
45495
45633
  if (!1 !== graphic.attribute.visible) {
45496
- if (null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.animationState) {
45634
+ if ((null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.animationState) || this.hasGraphicContextFinalLayoutAttributes(graphic)) {
45497
45635
  const clonedGraphic = graphic.clone();
45498
- return Object.assign(clonedGraphic.attribute, graphic.getAttributes(!0)), clonedGraphic.AABBBounds;
45636
+ return Object.assign(clonedGraphic.attribute, this.getGraphicFinalLayoutAttributes(graphic)), clonedGraphic.AABBBounds;
45499
45637
  }
45500
45638
  return graphic.AABBBounds;
45501
45639
  }
@@ -45679,9 +45817,10 @@
45679
45817
  if ("null" !== fillStrategy || "null" !== strokeStrategy) for (let i = 0; i < labels.length; i++) {
45680
45818
  const label = labels[i];
45681
45819
  if (!label) continue;
45682
- const baseMark = this.getRelatedGraphic(label.attribute);
45683
- let backgroundColor = baseMark.getAttributes(!0).fill;
45684
- const backgroundOpacity = baseMark.getAttributes(!0).fillOpacity;
45820
+ const baseMark = this.getRelatedGraphic(label.attribute),
45821
+ baseMarkAttrs = this.getGraphicFinalLayoutAttributes(baseMark);
45822
+ let backgroundColor = baseMarkAttrs.fill;
45823
+ const backgroundOpacity = baseMarkAttrs.fillOpacity;
45685
45824
  let foregroundColor = label.attribute.fill;
45686
45825
  if (isObject$2(backgroundColor) && backgroundColor.gradient) {
45687
45826
  const firstStopColor = null === (_g = null === (_f = backgroundColor.stops) || void 0 === _f ? void 0 : _f[0]) || void 0 === _g ? void 0 : _g.color;
@@ -45771,7 +45910,7 @@
45771
45910
  };
45772
45911
  const getLabelComponent = type => labelComponentMap[type];
45773
45912
 
45774
- var __rest$q = undefined && undefined.__rest || function (s, e) {
45913
+ var __rest$s = undefined && undefined.__rest || function (s, e) {
45775
45914
  var t = {};
45776
45915
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
45777
45916
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -45785,7 +45924,7 @@
45785
45924
  const {
45786
45925
  data: data
45787
45926
  } = attributes,
45788
- restAttributes = __rest$q(attributes, ["data"]);
45927
+ restAttributes = __rest$s(attributes, ["data"]);
45789
45928
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
45790
45929
  data: data
45791
45930
  }, merge$1({}, SymbolLabel.defaultAttributes, restAttributes))), this.name = "symbol-label";
@@ -45805,7 +45944,7 @@
45805
45944
  registerLabelComponent("symbol", SymbolLabel), registerLabelComponent("line-data", SymbolLabel);
45806
45945
  };
45807
45946
 
45808
- var __rest$p = undefined && undefined.__rest || function (s, e) {
45947
+ var __rest$r = undefined && undefined.__rest || function (s, e) {
45809
45948
  var t = {};
45810
45949
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
45811
45950
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -45819,7 +45958,7 @@
45819
45958
  const {
45820
45959
  data: data
45821
45960
  } = attributes,
45822
- restAttributes = __rest$p(attributes, ["data"]);
45961
+ restAttributes = __rest$r(attributes, ["data"]);
45823
45962
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
45824
45963
  data: data
45825
45964
  }, merge$1({}, RectLabel.defaultAttributes, restAttributes)));
@@ -45867,7 +46006,7 @@
45867
46006
  registerLabelComponent("rect", RectLabel);
45868
46007
  };
45869
46008
 
45870
- var __rest$o = undefined && undefined.__rest || function (s, e) {
46009
+ var __rest$q = undefined && undefined.__rest || function (s, e) {
45871
46010
  var t = {};
45872
46011
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
45873
46012
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -45881,7 +46020,7 @@
45881
46020
  const {
45882
46021
  data: data
45883
46022
  } = attributes,
45884
- restAttributes = __rest$o(attributes, ["data"]);
46023
+ restAttributes = __rest$q(attributes, ["data"]);
45885
46024
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
45886
46025
  data: data
45887
46026
  }, merge$1({}, LineLabel.defaultAttributes, restAttributes))), this.name = "line-label";
@@ -45917,7 +46056,7 @@
45917
46056
  registerLabelComponent("line", LineLabel$1), registerLabelComponent("area", LineLabel$1);
45918
46057
  };
45919
46058
 
45920
- var __rest$n = undefined && undefined.__rest || function (s, e) {
46059
+ var __rest$p = undefined && undefined.__rest || function (s, e) {
45921
46060
  var t = {};
45922
46061
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
45923
46062
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -45949,7 +46088,7 @@
45949
46088
  const {
45950
46089
  data: data
45951
46090
  } = attributes,
45952
- restAttributes = __rest$n(attributes, ["data"]);
46091
+ restAttributes = __rest$p(attributes, ["data"]);
45953
46092
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
45954
46093
  data: data
45955
46094
  }, merge$1({}, ArcLabel.defaultAttributes, restAttributes))), this.name = "arc-label", this._ellipsisWidth = 0, this._arcLeft = new Map(), this._arcRight = new Map(), this._line2MinLength = 0, this._alignOffset = 0;
@@ -46004,12 +46143,13 @@
46004
46143
  layoutArcLabels(position, attribute, currentMarks, data, textBoundsArray, ellipsisWidth) {
46005
46144
  this._arcLeft.clear(), this._arcRight.clear(), this._ellipsisWidth = ellipsisWidth;
46006
46145
  let maxRadius = 0;
46007
- currentMarks.forEach(currentMarks => {
46008
- currentMarks.attribute.outerRadius > maxRadius && (maxRadius = currentMarks.attribute.outerRadius);
46146
+ currentMarks.forEach(currentMark => {
46147
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark);
46148
+ graphicAttribute.outerRadius > maxRadius && (maxRadius = graphicAttribute.outerRadius);
46009
46149
  }), data.forEach((d, index) => {
46010
46150
  var _a, _b;
46011
46151
  const currentMark = this._idToGraphic.get(d.id),
46012
- graphicAttribute = currentMark.getAttributes(!0),
46152
+ graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark),
46013
46153
  center = {
46014
46154
  x: null !== (_a = null == graphicAttribute ? void 0 : graphicAttribute.x) && void 0 !== _a ? _a : 0,
46015
46155
  y: null !== (_b = null == graphicAttribute ? void 0 : graphicAttribute.y) && void 0 !== _b ? _b : 0
@@ -46145,7 +46285,8 @@
46145
46285
  this.attribute.height;
46146
46286
  let maxRadius = 0;
46147
46287
  currentMarks.forEach(currentMark => {
46148
- currentMark.getAttributes(!0).outerRadius > maxRadius && (maxRadius = currentMark.getAttributes(!0).outerRadius);
46288
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark);
46289
+ graphicAttribute.outerRadius > maxRadius && (maxRadius = graphicAttribute.outerRadius);
46149
46290
  });
46150
46291
  const radiusRatio = this.computeLayoutOuterRadius(maxRadius, attribute.width, attribute.height),
46151
46292
  line1MinLength = attribute.line.line1MinLength,
@@ -46303,7 +46444,8 @@
46303
46444
  const labelConfig = attribute;
46304
46445
  let maxRadius = 0;
46305
46446
  currentMarks.forEach(currentMark => {
46306
- currentMark.getAttributes(!0).outerRadius > maxRadius && (maxRadius = currentMark.getAttributes(!0).outerRadius);
46447
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark);
46448
+ graphicAttribute.outerRadius > maxRadius && (maxRadius = graphicAttribute.outerRadius);
46307
46449
  });
46308
46450
  const radiusRatio = this.computeLayoutOuterRadius(maxRadius, attribute.width, attribute.height),
46309
46451
  line1MinLength = labelConfig.line.line1MinLength;
@@ -46339,7 +46481,8 @@
46339
46481
  };
46340
46482
  let maxRadius = 0;
46341
46483
  currentMarks.forEach(currentMark => {
46342
- currentMark.getAttributes(!0).outerRadius > maxRadius && (maxRadius = currentMark.getAttributes(!0).outerRadius);
46484
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark);
46485
+ graphicAttribute.outerRadius > maxRadius && (maxRadius = graphicAttribute.outerRadius);
46343
46486
  });
46344
46487
  const radiusRatio = this.computeLayoutOuterRadius(maxRadius, attribute.width, attribute.height),
46345
46488
  line1MinLength = attribute.line.line1MinLength,
@@ -46367,7 +46510,8 @@
46367
46510
  line1MinLength = labelConfig.line.line1MinLength;
46368
46511
  let maxRadius = 0;
46369
46512
  currentMarks.forEach(currentMark => {
46370
- currentMark.getAttributes(!0).outerRadius > maxRadius && (maxRadius = currentMark.getAttributes(!0).outerRadius);
46513
+ const graphicAttribute = this.getGraphicFinalLayoutAttributes(currentMark);
46514
+ graphicAttribute.outerRadius > maxRadius && (maxRadius = graphicAttribute.outerRadius);
46371
46515
  });
46372
46516
  const radiusRatio = this.computeLayoutOuterRadius(maxRadius, attribute.width, attribute.height),
46373
46517
  outerR = this.computeRadius(radiusRatio, attribute.width, attribute.height) + line1MinLength,
@@ -46439,7 +46583,7 @@
46439
46583
  beta: beta,
46440
46584
  x: x,
46441
46585
  y: y
46442
- } = baseMark.getAttributes(!0);
46586
+ } = this.getGraphicFinalLayoutAttributes(baseMark);
46443
46587
  lineGraphic.setAttributes({
46444
46588
  beta: beta,
46445
46589
  anchor3d: [x, y]
@@ -46492,7 +46636,7 @@
46492
46636
  registerLabelComponent("arc", ArcLabel);
46493
46637
  };
46494
46638
 
46495
- var __rest$m = undefined && undefined.__rest || function (s, e) {
46639
+ var __rest$o = undefined && undefined.__rest || function (s, e) {
46496
46640
  var t = {};
46497
46641
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
46498
46642
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -46506,7 +46650,7 @@
46506
46650
  const {
46507
46651
  dataLabels: dataLabels
46508
46652
  } = attributes,
46509
- restAttributes = __rest$m(attributes, ["dataLabels"]);
46653
+ restAttributes = __rest$o(attributes, ["dataLabels"]);
46510
46654
  super((null == options ? void 0 : options.skipDefault) ? attributes : Object.assign({
46511
46655
  dataLabels: dataLabels
46512
46656
  }, merge$1({}, DataLabel.defaultAttributes, restAttributes))), this.name = "data-label";
@@ -46898,7 +47042,7 @@
46898
47042
  }
46899
47043
  mixin(LineAxisGrid, LineAxisMixin);
46900
47044
 
46901
- var __rest$l = undefined && undefined.__rest || function (s, e) {
47045
+ var __rest$n = undefined && undefined.__rest || function (s, e) {
46902
47046
  var t = {};
46903
47047
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
46904
47048
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -46932,7 +47076,7 @@
46932
47076
  center: center,
46933
47077
  subGrid: subGrid
46934
47078
  } = _a,
46935
- grid = __rest$l(_a, ["radius", "innerRadius", "startAngle", "endAngle", "center", "subGrid"]),
47079
+ grid = __rest$n(_a, ["radius", "innerRadius", "startAngle", "endAngle", "center", "subGrid"]),
46936
47080
  {
46937
47081
  alignWithLabel = !0
46938
47082
  } = grid || {},
@@ -47151,7 +47295,7 @@
47151
47295
  return !1;
47152
47296
  };
47153
47297
 
47154
- var __rest$k = undefined && undefined.__rest || function (s, e) {
47298
+ var __rest$m = undefined && undefined.__rest || function (s, e) {
47155
47299
  var t = {};
47156
47300
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
47157
47301
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -47667,11 +47811,11 @@
47667
47811
  {
47668
47812
  formatMethod: startTextFormat
47669
47813
  } = startTextStyle,
47670
- restStartTextStyle = __rest$k(startTextStyle, ["formatMethod"]),
47814
+ restStartTextStyle = __rest$m(startTextStyle, ["formatMethod"]),
47671
47815
  {
47672
47816
  formatMethod: endTextFormat
47673
47817
  } = endTextStyle,
47674
- restEndTextStyle = __rest$k(endTextStyle, ["formatMethod"]),
47818
+ restEndTextStyle = __rest$m(endTextStyle, ["formatMethod"]),
47675
47819
  {
47676
47820
  start: start,
47677
47821
  end: end
@@ -50191,7 +50335,7 @@
50191
50335
  loadBaseLegend(), loadSliderComponent(), registerPath();
50192
50336
  }
50193
50337
 
50194
- var __rest$j = undefined && undefined.__rest || function (s, e) {
50338
+ var __rest$l = undefined && undefined.__rest || function (s, e) {
50195
50339
  var t = {};
50196
50340
  for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
50197
50341
  if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
@@ -50710,7 +50854,7 @@
50710
50854
  space: pagerSpace = DEFAULT_PAGER_SPACE,
50711
50855
  defaultCurrent = 1
50712
50856
  } = pager,
50713
- compStyle = __rest$j(pager, ["space", "defaultCurrent"]),
50857
+ compStyle = __rest$l(pager, ["space", "defaultCurrent"]),
50714
50858
  {
50715
50859
  isHorizontal: isHorizontal
50716
50860
  } = this._itemContext,
@@ -50780,7 +50924,7 @@
50780
50924
  space: pagerSpace = DEFAULT_PAGER_SPACE,
50781
50925
  defaultCurrent = 1
50782
50926
  } = pager,
50783
- compStyle = __rest$j(pager, ["space", "defaultCurrent"]),
50927
+ compStyle = __rest$l(pager, ["space", "defaultCurrent"]),
50784
50928
  {
50785
50929
  isHorizontal: isHorizontal
50786
50930
  } = this._itemContext,
@@ -55604,6 +55748,8 @@
55604
55748
  }(RenderStateEnum || (RenderStateEnum = {}));
55605
55749
 
55606
55750
  const BOOTSTRAP_STATE = Symbol.for("vrender.bootstrap.state"),
55751
+ installBrowserEnvToAppWithParams = installBrowserEnvToApp,
55752
+ installNodeEnvToAppWithParams = installNodeEnvToApp,
55607
55753
  pluginRegistrations = [registerFlexLayoutPlugin, registerViewTransform3dPlugin, registerHtmlAttributePlugin, registerReactAttributePlugin, registerDirectionalLight, registerOrthoCamera],
55608
55754
  animationRegistrations = [registerCustomAnimate, registerAnimate$1],
55609
55755
  legacyGraphicRegistrations = [registerArc, registerArc3d, registerArea, registerCircle, registerGlyph, registerGifImage, registerGroup, registerImage, registerLine, registerPath, registerPolygon, registerPyramid3d, registerRect, registerRect3d, registerRichtext, registerShadowRoot, registerSymbol, registerText, registerWrapText, registerStar];
@@ -55643,25 +55789,66 @@
55643
55789
  seen.has(key) || (seen.add(key), app.registry.picker.register(key, picker));
55644
55790
  });
55645
55791
  }
55646
- function bootstrapVRenderBrowserApp(app) {
55647
- return ensureBootstrap(app, "browser") ? (installBrowserEnvToApp(app), installDefaultGraphicsToApp(app), installBrowserPickersToApp(app), loadBrowserEnv(), legacyGraphicRegistrations.forEach(register => register()), syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, CanvasPickerContribution), registerDefaultPipeline(), app) : app;
55792
+ function bootstrapVRenderBrowserApp(app, envParams) {
55793
+ return ensureBootstrap(app, "browser") ? (void 0 === envParams ? installBrowserEnvToApp(app) : installBrowserEnvToAppWithParams(app, envParams), installDefaultGraphicsToApp(app), installBrowserPickersToApp(app), loadBrowserEnv(), legacyGraphicRegistrations.forEach(register => register()), syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, CanvasPickerContribution), registerDefaultPipeline(), app) : app;
55648
55794
  }
55649
- function bootstrapVRenderNodeApp(app) {
55650
- return ensureBootstrap(app, "node") ? (installNodeEnvToApp(app), installDefaultGraphicsToApp(app), installNodePickersToApp(app), loadNodeEnv(), legacyGraphicRegistrations.forEach(register => register()), syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, MathPickerContribution), registerDefaultPipeline(), app) : app;
55795
+ function resolveNodeEnvParams(envParams) {
55796
+ return null != envParams ? envParams : "node" === (null == vglobal ? void 0 : vglobal.env) ? vglobal.envParams : void 0;
55797
+ }
55798
+ function bootstrapVRenderNodeApp(app, envParams) {
55799
+ if (!ensureBootstrap(app, "node")) return app;
55800
+ const resolvedEnvParams = resolveNodeEnvParams(envParams);
55801
+ return void 0 === resolvedEnvParams ? installNodeEnvToApp(app) : installNodeEnvToAppWithParams(app, resolvedEnvParams), installDefaultGraphicsToApp(app), installNodePickersToApp(app), loadNodeEnv(), legacyGraphicRegistrations.forEach(register => register()), syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, MathPickerContribution), registerDefaultPipeline(), app;
55651
55802
  }
55652
55803
 
55804
+ var __rest$k = undefined && undefined.__rest || function (s, e) {
55805
+ var t = {};
55806
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
55807
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
55808
+ var i = 0;
55809
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
55810
+ }
55811
+ return t;
55812
+ };
55653
55813
  const {
55654
55814
  createBrowserApp: createBrowserApp
55655
55815
  } = VRenderCore;
55656
55816
  function createBrowserVRenderApp(options = {}) {
55657
- return bootstrapVRenderBrowserApp(createBrowserApp(options));
55817
+ const {
55818
+ envParams: envParams
55819
+ } = options,
55820
+ entryOptions = __rest$k(options, ["envParams"]);
55821
+ return bootstrapVRenderBrowserApp(createBrowserApp(entryOptions), envParams);
55658
55822
  }
55659
55823
 
55824
+ undefined && undefined.__rest || function (s, e) {
55825
+ var t = {};
55826
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
55827
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
55828
+ var i = 0;
55829
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
55830
+ }
55831
+ return t;
55832
+ };
55833
+
55834
+ var __rest$j = undefined && undefined.__rest || function (s, e) {
55835
+ var t = {};
55836
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
55837
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
55838
+ var i = 0;
55839
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
55840
+ }
55841
+ return t;
55842
+ };
55660
55843
  const {
55661
55844
  createNodeApp: createNodeApp
55662
55845
  } = VRenderCore;
55663
55846
  function createNodeVRenderApp(options = {}) {
55664
- return bootstrapVRenderNodeApp(createNodeApp(options));
55847
+ const {
55848
+ envParams: envParams
55849
+ } = options,
55850
+ entryOptions = __rest$j(options, ["envParams"]);
55851
+ return bootstrapVRenderNodeApp(createNodeApp(entryOptions), envParams);
55665
55852
  }
55666
55853
 
55667
55854
  const defaultVRenderApps = new Map(),
@@ -58779,7 +58966,7 @@
58779
58966
  hasStateAnimation = this.hasAnimationByState(g.context.animationState);
58780
58967
  if (g.setAttributes) {
58781
58968
  const diffAttrs = this._excludeStateControlledDiffAttrs(g, getDiffAttributesOfGraphic(g, finalAttrs));
58782
- g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute, g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)), !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g), hasAnimation && g.setFinalAttributes(finalAttrs);
58969
+ g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute, g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)), !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g);
58783
58970
  } else {
58784
58971
  const mockGraphic = g;
58785
58972
  g = this._createGraphic(finalAttrs), hasAnimation && (null === (_a = g.setFinalAttributes) || void 0 === _a || _a.call(g, finalAttrs)), g.context = mockGraphic.context, g.context.diffAttrs = finalAttrs, g.stateSort = this._stateSort;
@@ -61813,7 +62000,7 @@
61813
62000
  newMarks.length !== prevMarks.length || prevMarks.some((prev, index) => prev.type !== newMarks[index].type || prev.id !== newMarks[index].id || prev.name !== newMarks[index].name) ? compareResult.reMake = !0 : prevMarks.some((prev, index) => prev.visible !== newMarks[index].visible) && (compareResult.reCompile = !0);
61814
62001
  }
61815
62002
  _compareLabelSpec(newLabels, prevLabels, compareResult) {
61816
- newLabels.length !== prevLabels.length || prevLabels.some((prev, index) => prev.labelLayout !== newLabels[index].labelLayout || prev.visible !== newLabels[index].visible) ? compareResult.reMake = !0 : !compareResult.reCompile && prevLabels.some((prev, index) => !isEqual(prev, newLabels[index])) && (compareResult.reCompile = !0, markSeriesCompileEffect(compareResult));
62003
+ newLabels.length !== prevLabels.length || prevLabels.some((prev, index) => prev.labelLayout !== newLabels[index].labelLayout || !1 === prev.visible && newLabels[index].visible) ? compareResult.reMake = !0 : (!compareResult.reCompile && prevLabels.some((prev, index) => prev.visible && !1 === newLabels[index].visible) || !compareResult.reCompile && prevLabels.some((prev, index) => !isEqual(prev, newLabels[index]))) && (compareResult.reCompile = !0, markSeriesCompileEffect(compareResult));
61817
62004
  }
61818
62005
  _getSpecUpdatePolicy() {
61819
62006
  return defaultSeriesSpecUpdatePolicy;
@@ -66814,9 +67001,10 @@
66814
67001
  [ComponentTypeEnum.indicator]: !0
66815
67002
  },
66816
67003
  removedComponents = [];
67004
+ let hasNonLocalComponentRemoval = !1;
66817
67005
  this._components.forEach(c => {
66818
67006
  var _a, _b;
66819
- if (c.type === ComponentTypeEnum.label || c.type === ComponentTypeEnum.totalLabel) return;
67007
+ if (c.type === ComponentTypeEnum.label || c.type === ComponentTypeEnum.totalLabel) return void (c.getSpecInfo() || (removedComponents.push(c), hasNonLocalComponentRemoval = !0, hasNonComponentOnlyUpdate = !0));
66820
67008
  checkVisibleComponents[c.type] && (checkVisibleComponents[c.type] = !1);
66821
67009
  const compSpecKey = c.specKey || c.type,
66822
67010
  cmpSpec = null !== (_a = this._spec[compSpecKey]) && void 0 !== _a ? _a : {};
@@ -66842,8 +67030,12 @@
66842
67030
  }
66843
67031
  removedComponents.length && (removedComponents.forEach(component => {
66844
67032
  this._removeComponent(component);
66845
- }), result.change = !0, result.effects = Object.assign(Object.assign({}, result.effects), {
66846
- component: !0,
67033
+ }), result.change = !0, result.effects = Object.assign(Object.assign(Object.assign({}, result.effects), {
67034
+ component: !0
67035
+ }), hasNonLocalComponentRemoval ? {
67036
+ layout: !0,
67037
+ render: !0
67038
+ } : {
66847
67039
  localOnly: !0
66848
67040
  }));
66849
67041
  const isVisible = compSpec => compSpec && !1 !== compSpec.visible;
@@ -66961,7 +67153,9 @@
66961
67153
  }));
66962
67154
  }
66963
67155
  _removeComponent(component) {
66964
- this._components = this._components.filter(c => c !== component), this._idMap.delete(component.id), component.release();
67156
+ this._components = this._components.filter(c => c !== component), this._idMap.delete(component.id), component.getMarks().forEach(mark => {
67157
+ this.getCompiler().removeRootMark(mark);
67158
+ }), component.release();
66965
67159
  }
66966
67160
  updateSeriesSpec(result) {
66967
67161
  this._spec.series.length === this._series.length ? this._series.forEach(s => {