@visactor/vrender 1.1.0-alpha.11 → 1.1.0-alpha.13

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/dist/index.es.js CHANGED
@@ -9312,12 +9312,42 @@ class Graphic extends Node {
9312
9312
  this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
9313
9313
  }
9314
9314
  setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context, ignorePriority) {
9315
- this.visitTrackedAnimates(animate => {
9316
- (animate.priority !== 1 / 0 || ignorePriority) && Object.keys(params).forEach(key => {
9317
- animate.preventAttr(key);
9318
- });
9315
+ if (!params) return;
9316
+ const keys = Object.keys(params);
9317
+ this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context), this.visitTrackedAnimates(animate => {
9318
+ (animate.priority !== 1 / 0 || ignorePriority) && animate.preventAttrs(keys);
9319
9319
  }), this.applyTransientAttributes(params, forceUpdateTag, context);
9320
9320
  }
9321
+ captureTransientFromAttrsBeforePreventAnimate(params, keys, context) {
9322
+ var _a;
9323
+ const graphicContext = this.context,
9324
+ diffAttrs = null == graphicContext ? void 0 : graphicContext.diffAttrs,
9325
+ updateType = null == context ? void 0 : context.type;
9326
+ if (!keys.length || !graphicContext || !diffAttrs || updateType === AttributeUpdateType.STATE || null != updateType && updateType >= AttributeUpdateType.ANIMATE_BIND && updateType <= AttributeUpdateType.ANIMATE_END) return;
9327
+ let fromAttrs = this.transientFromAttrsBeforePreventAnimateDiffAttrs === diffAttrs && null !== (_a = this.transientFromAttrsBeforePreventAnimate) && void 0 !== _a ? _a : null,
9328
+ captured = !1;
9329
+ for (let i = 0; i < keys.length; i++) {
9330
+ const key = keys[i];
9331
+ if (!Object.prototype.hasOwnProperty.call(diffAttrs, key)) continue;
9332
+ const previousValue = this.attribute[key],
9333
+ nextValue = params[key];
9334
+ isEqual(previousValue, nextValue) || (null != fromAttrs || (fromAttrs = {}), fromAttrs[key] = cloneAttributeValue(previousValue), captured = !0);
9335
+ }
9336
+ captured && (this.transientFromAttrsBeforePreventAnimate = fromAttrs, this.transientFromAttrsBeforePreventAnimateDiffAttrs = diffAttrs);
9337
+ }
9338
+ consumeTransientFromAttrsBeforePreventAnimate(rawDiffAttrs, diffAttrs) {
9339
+ const transientFromAttrs = this.transientFromAttrsBeforePreventAnimate;
9340
+ if (!transientFromAttrs || this.transientFromAttrsBeforePreventAnimateDiffAttrs !== rawDiffAttrs) return null;
9341
+ let fromAttrs = null,
9342
+ remaining = !1;
9343
+ for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && (Object.prototype.hasOwnProperty.call(diffAttrs, key) ? (null != fromAttrs || (fromAttrs = {}), fromAttrs[key] = transientFromAttrs[key]) : remaining = !0);
9344
+ if (remaining) {
9345
+ const nextTransientFromAttrs = {};
9346
+ for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && !Object.prototype.hasOwnProperty.call(diffAttrs, key) && (nextTransientFromAttrs[key] = transientFromAttrs[key]);
9347
+ this.transientFromAttrsBeforePreventAnimate = nextTransientFromAttrs;
9348
+ } else this.transientFromAttrsBeforePreventAnimate = null, this.transientFromAttrsBeforePreventAnimateDiffAttrs = null;
9349
+ return fromAttrs;
9350
+ }
9321
9351
  setAttributes(params, forceUpdateTag = !1, context) {
9322
9352
  params && ((params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params).background && this.loadImage(params.background, !0), isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic), this._setAttributes(params, forceUpdateTag, context));
9323
9353
  }
@@ -32426,6 +32456,18 @@ function commonInterpolateUpdate(key, from, to, ratio, step, target) {
32426
32456
  return !1;
32427
32457
  }
32428
32458
 
32459
+ const animateUpdateContext = {
32460
+ type: AttributeUpdateType.ANIMATE_UPDATE
32461
+ };
32462
+ function applyAnimationFrameAttributes(target, attributes) {
32463
+ var _a;
32464
+ if (!attributes) return;
32465
+ const transientTarget = target;
32466
+ transientTarget.attribute || (transientTarget.attribute = {});
32467
+ const targetAttribute = transientTarget.attribute;
32468
+ for (const key in attributes) Object.prototype.hasOwnProperty.call(attributes, key) && (targetAttribute[key] = attributes[key]);
32469
+ null === (_a = transientTarget.onAttributeUpdate) || void 0 === _a || _a.call(transientTarget, animateUpdateContext);
32470
+ }
32429
32471
  function applyAnimationTransientAttributes(target, attributes, type = AttributeUpdateType.ANIMATE_UPDATE) {
32430
32472
  var _a;
32431
32473
  if (!attributes) return;
@@ -32440,6 +32482,10 @@ function applyAppearStartAttributes(target, attributes) {
32440
32482
  }
32441
32483
 
32442
32484
  function noop() {}
32485
+ function includesKey$1(keys, key) {
32486
+ for (let i = 0; i < keys.length; i++) if (keys[i] === key) return !0;
32487
+ return !1;
32488
+ }
32443
32489
  class Step {
32444
32490
  constructor(type, props, duration, easing) {
32445
32491
  var _a;
@@ -32495,6 +32541,17 @@ class Step {
32495
32541
  onBind() {
32496
32542
  "glyph" === this.target.type && (this.syncAttributeUpdate = this._syncAttributeUpdate);
32497
32543
  }
32544
+ runInterpolateUpdate(fromProps, toProps, ratio) {
32545
+ if (this.animate.interpolateUpdateFunction) return void this.animate.interpolateUpdateFunction(fromProps, toProps, ratio, this, this.target);
32546
+ const funcs = this.interpolateUpdateFunctions,
32547
+ propKeys = this.propKeys;
32548
+ if (funcs && propKeys) for (let index = 0; index < funcs.length; index++) {
32549
+ const key = propKeys[index],
32550
+ fromValue = fromProps[key],
32551
+ toValue = toProps[key];
32552
+ funcs[index](key, fromValue, toValue, ratio, this, this.target);
32553
+ }
32554
+ }
32498
32555
  onFirstRun() {}
32499
32556
  onStart() {
32500
32557
  if (!this._hasFirstRun) {
@@ -32509,23 +32566,49 @@ class Step {
32509
32566
  tryPreventConflict() {
32510
32567
  var _a, _b;
32511
32568
  const animate = this.animate,
32512
- target = this.target;
32513
- (null !== (_b = null === (_a = target.forEachTrackedAnimate) || void 0 === _a ? void 0 : _a.bind(target)) && void 0 !== _b ? _b : cb => {
32514
- var _a;
32515
- null === (_a = target.animates) || void 0 === _a || _a.forEach(cb);
32516
- })(a => {
32569
+ target = this.target,
32570
+ forEachTrackedAnimate = null !== (_b = null === (_a = target.forEachTrackedAnimate) || void 0 === _a ? void 0 : _a.bind(target)) && void 0 !== _b ? _b : cb => {
32571
+ var _a;
32572
+ null === (_a = target.animates) || void 0 === _a || _a.forEach(cb);
32573
+ },
32574
+ propKeys = this.propKeys;
32575
+ forEachTrackedAnimate(a => {
32517
32576
  if (a === animate || a.priority > animate.priority || a.priority === 1 / 0) return;
32518
32577
  const fromProps = a.getStartProps();
32519
- this.propKeys.forEach(key => {
32520
- null != fromProps[key] && a.preventAttr(key);
32521
- });
32578
+ let conflictKeys = null;
32579
+ for (let i = 0; i < propKeys.length; i++) {
32580
+ const key = propKeys[i];
32581
+ null != fromProps[key] && (null != conflictKeys ? conflictKeys : conflictKeys = []).push(key);
32582
+ }
32583
+ conflictKeys && a.preventAttrs(conflictKeys);
32522
32584
  });
32523
32585
  }
32586
+ removeKeysFromRecord(record, keys) {
32587
+ if (!record) return record;
32588
+ let hasBlockedKey = !1;
32589
+ for (const key in record) if (Object.prototype.hasOwnProperty.call(record, key) && includesKey$1(keys, key)) {
32590
+ hasBlockedKey = !0;
32591
+ break;
32592
+ }
32593
+ if (!hasBlockedKey) return record;
32594
+ const nextRecord = {};
32595
+ for (const key in record) Object.prototype.hasOwnProperty.call(record, key) && !includesKey$1(keys, key) && (nextRecord[key] = record[key]);
32596
+ return nextRecord;
32597
+ }
32524
32598
  deleteSelfAttr(key) {
32599
+ this.deleteSelfAttrs([key]);
32600
+ }
32601
+ deleteSelfAttrs(keys) {
32525
32602
  var _a;
32526
- delete this.props[key], this.fromProps && delete this.fromProps[key];
32527
- const index = this.propKeys.indexOf(key);
32528
- -1 !== index && (this.propKeys.splice(index, 1), null === (_a = this.interpolateUpdateFunctions) || void 0 === _a || _a.splice(index, 1));
32603
+ if ((null == keys ? void 0 : keys.length) && (this.props = this.removeKeysFromRecord(this.props, keys), this.fromProps = this.removeKeysFromRecord(this.fromProps, keys), this.fromParsedProps = this.removeKeysFromRecord(this.fromParsedProps, keys), this.toParsedProps = this.removeKeysFromRecord(this.toParsedProps, keys), null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a.length)) {
32604
+ const funcs = this.interpolateUpdateFunctions;
32605
+ let writeIndex = 0;
32606
+ for (let readIndex = 0; readIndex < this.propKeys.length; readIndex++) {
32607
+ const propKey = this.propKeys[readIndex];
32608
+ includesKey$1(keys, propKey) || (writeIndex !== readIndex && (this.propKeys[writeIndex] = propKey, funcs && (funcs[writeIndex] = funcs[readIndex])), writeIndex++);
32609
+ }
32610
+ this.propKeys.length = writeIndex, funcs && (funcs.length = writeIndex);
32611
+ }
32529
32612
  }
32530
32613
  trySyncStartProps() {
32531
32614
  this.propKeys.forEach(key => {
@@ -32535,11 +32618,7 @@ class Step {
32535
32618
  update(end, ratio, out) {
32536
32619
  if (this.onStart(), !this.props || !this.propKeys) return;
32537
32620
  const easedRatio = this.easing(ratio);
32538
- this.animate.interpolateUpdateFunction ? this.animate.interpolateUpdateFunction(this.fromProps, this.props, easedRatio, this, this.target) : this.interpolateUpdateFunctions.forEach((func, index) => {
32539
- if (!this.animate.validAttr(this.propKeys[index])) return;
32540
- const key = this.propKeys[index];
32541
- func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
32542
- }), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
32621
+ this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
32543
32622
  }
32544
32623
  onUpdate(end, ratio, out) {}
32545
32624
  onEnd(cb) {
@@ -32743,19 +32822,34 @@ class FromTo extends ACustomAnimate {
32743
32822
  }), this.applyTransientFromAttributes();
32744
32823
  }
32745
32824
  deleteSelfAttr(key) {
32746
- super.deleteSelfAttr(key), delete this.from[key];
32825
+ this.deleteSelfAttrs([key]);
32826
+ }
32827
+ deleteSelfAttrs(keys) {
32828
+ super.deleteSelfAttrs(keys), this.from = this.removeKeysFromRecord(this.from, keys);
32747
32829
  }
32748
32830
  update(end, ratio, out) {
32749
32831
  if (this.onStart(), !this.props || !this.propKeys) return;
32750
32832
  const easedRatio = this.easing(ratio);
32751
- this.animate.interpolateUpdateFunction ? this.animate.interpolateUpdateFunction(this.from, this.props, easedRatio, this, this.target) : this.interpolateUpdateFunctions.forEach((func, index) => {
32752
- if (!this.animate.validAttr(this.propKeys[index])) return;
32753
- const key = this.propKeys[index];
32754
- func(key, this.from[key], this.props[key], easedRatio, this, this.target);
32755
- }), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
32833
+ this.runInterpolateUpdate(this.from, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
32756
32834
  }
32757
32835
  }
32758
32836
 
32837
+ function includesKey(keys, key) {
32838
+ for (let i = 0; i < keys.length; i++) if (keys[i] === key) return !0;
32839
+ return !1;
32840
+ }
32841
+ function removeKeysFromRecord(record, keys) {
32842
+ if (!record) return record;
32843
+ let hasBlockedKey = !1;
32844
+ for (const key in record) if (Object.prototype.hasOwnProperty.call(record, key) && includesKey(keys, key)) {
32845
+ hasBlockedKey = !0;
32846
+ break;
32847
+ }
32848
+ if (!hasBlockedKey) return record;
32849
+ const nextRecord = {};
32850
+ for (const key in record) Object.prototype.hasOwnProperty.call(record, key) && !includesKey(keys, key) && (nextRecord[key] = record[key]);
32851
+ return nextRecord;
32852
+ }
32759
32853
  class Animate {
32760
32854
  constructor(id = Generator.GenAutoIncrementId(), timeline = defaultTimeline, slience) {
32761
32855
  this.id = id, this.status = AnimateStatus.INITIAL, this._timeline = timeline, timeline.addAnimate(this), this.slience = slience, this._startTime = 0, this._duration = 0, this._totalDuration = 0, this._loopCount = 0, this._currentLoop = 0, this._bounce = !1, this._firstStep = null, this._lastStep = null, this._startProps = {}, this._endProps = {}, this._preventAttrs = new Set(), this.currentTime = 0, this.interpolateUpdateFunction = null, this.priority = 0;
@@ -32843,12 +32937,14 @@ class Animate {
32843
32937
  cb ? (this._onRemove || (this._onRemove = []), this._onRemove.push(cb)) : null === (_a = this._onRemove) || void 0 === _a || _a.forEach(cb => cb());
32844
32938
  }
32845
32939
  preventAttr(key) {
32846
- this._preventAttrs.add(key), delete this._startProps[key], delete this._endProps[key];
32847
- let step = this._firstStep;
32848
- for (; step;) step.deleteSelfAttr(key), step = step.next;
32940
+ this.preventAttrs([key]);
32849
32941
  }
32850
32942
  preventAttrs(keys) {
32851
- keys.forEach(key => this._preventAttrs.add(key));
32943
+ if (!(null == keys ? void 0 : keys.length)) return;
32944
+ for (let i = 0; i < keys.length; i++) this._preventAttrs.add(keys[i]);
32945
+ this._startProps = removeKeysFromRecord(this._startProps, keys), this._endProps = removeKeysFromRecord(this._endProps, keys);
32946
+ let step = this._firstStep;
32947
+ for (; step;) step.deleteSelfAttrs(keys), step = step.next;
32852
32948
  }
32853
32949
  validAttr(key) {
32854
32950
  return !this._preventAttrs.has(key);
@@ -33848,8 +33944,11 @@ class ComponentAnimator {
33848
33944
  }), this));
33849
33945
  }
33850
33946
  deleteSelfAttr(key) {
33947
+ this.deleteSelfAttrs([key]);
33948
+ }
33949
+ deleteSelfAttrs(keys) {
33851
33950
  this.tasks.forEach(task => {
33852
- task.animate && task.animate.forEach(animate => animate.preventAttr(key));
33951
+ task.animate && task.animate.forEach(animate => animate.preventAttrs(keys));
33853
33952
  });
33854
33953
  }
33855
33954
  stop(type) {
@@ -34443,6 +34542,25 @@ class ClipDirectionAnimate extends ClipGraphicAnimate {
34443
34542
  }
34444
34543
  }
34445
34544
 
34545
+ function buildAnimationStaticCommitAttrs(target, keys, animate, fallbackAttrs) {
34546
+ var _a;
34547
+ const commitTarget = target,
34548
+ contextFinalAttrs = null === (_a = commitTarget.context) || void 0 === _a ? void 0 : _a.finalAttrs,
34549
+ finalAttribute = "function" == typeof commitTarget.getFinalAttribute ? commitTarget.getFinalAttribute() : commitTarget.finalAttribute;
34550
+ let commitAttrs = null;
34551
+ for (let i = 0; i < keys.length; i++) {
34552
+ const key = keys[i];
34553
+ animate && !animate.validAttr(key) || (contextFinalAttrs && Object.prototype.hasOwnProperty.call(contextFinalAttrs, key) ? (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = contextFinalAttrs[key]) : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, key) ? (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = finalAttribute[key]) : fallbackAttrs && Object.prototype.hasOwnProperty.call(fallbackAttrs, key) && (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = fallbackAttrs[key]));
34554
+ }
34555
+ return commitAttrs;
34556
+ }
34557
+ function commitAnimationStaticAttrs(target, keys, animate, fallbackAttrs) {
34558
+ const commitAttrs = buildAnimationStaticCommitAttrs(target, keys, animate, fallbackAttrs);
34559
+ return !!commitAttrs && (target.setAttributes(commitAttrs, !1, {
34560
+ type: AttributeUpdateType.ANIMATE_END
34561
+ }), !0);
34562
+ }
34563
+
34446
34564
  class TagPointsUpdate extends ACustomAnimate {
34447
34565
  constructor(from, to, duration, easing, params) {
34448
34566
  var _a, _b;
@@ -34461,21 +34579,9 @@ class TagPointsUpdate extends ACustomAnimate {
34461
34579
  }
34462
34580
  onBind() {
34463
34581
  super.onBind();
34464
- const {
34465
- points: points,
34466
- segments: segments
34467
- } = this.target.attribute,
34468
- {
34469
- points: pointsTo,
34470
- segments: segmentsTo
34471
- } = this.target.getFinalAttribute();
34472
- this.from = {
34473
- points: points,
34474
- segments: segments
34475
- }, this.to = {
34476
- points: pointsTo,
34477
- segments: segmentsTo
34478
- }, this.props = this.to;
34582
+ const currentAttribute = this.target.attribute,
34583
+ finalAttribute = this.target.getFinalAttribute();
34584
+ 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;
34479
34585
  const originFromPoints = this.getPoints(this.from),
34480
34586
  originToPoints = this.getPoints(this.to, !0);
34481
34587
  this.fromPoints = originFromPoints ? Array.isArray(originFromPoints) ? originFromPoints : [originFromPoints] : [], this.toPoints = originToPoints ? Array.isArray(originToPoints) ? originToPoints : [originToPoints] : [];
@@ -34511,31 +34617,42 @@ class TagPointsUpdate extends ACustomAnimate {
34511
34617
  const lastClipRange = this.target.attribute.clipRange;
34512
34618
  isValidNumber$1(lastClipRange * this.clipRange) && (this.clipRange *= lastClipRange);
34513
34619
  }
34620
+ onEnd(cb) {
34621
+ cb ? super.onEnd(cb) : (this.to && commitAnimationStaticAttrs(this.target, Object.keys(this.to), this.animate, this.to), super.onEnd());
34622
+ }
34623
+ applyPointTransientAttributes(attributes) {
34624
+ const validAttrs = {};
34625
+ Object.keys(attributes).forEach(key => {
34626
+ this.animate.validAttr(key) && (validAttrs[key] = attributes[key]);
34627
+ }), Object.keys(validAttrs).length && (applyAnimationFrameAttributes(this.target, validAttrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
34628
+ }
34514
34629
  onUpdate(end, ratio, out) {
34515
- if (end) return Object.keys(this.to).forEach(k => {
34516
- this.target.attribute[k] = this.to[k];
34517
- }), this.target.addUpdatePositionTag(), void this.target.addUpdateShapeAndBoundsTag();
34518
- if (this.points = this.points.map((point, index) => {
34519
- const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
34520
- return newPoint.context = point.context, newPoint;
34521
- }), this.clipRange) {
34522
- if (this.shrinkClipRange) return void (end ? (out.points = this.toPoints, out.clipRange = 1) : (out.points = this.fromPoints, out.clipRange = this.clipRange - (this.clipRange - this.shrinkClipRange) * ratio));
34523
- applyAnimationTransientAttributes(this.target, {
34524
- clipRange: this.clipRange + (1 - this.clipRange) * ratio
34525
- });
34526
- }
34527
- if (this.segmentsCache && this.to.segments) {
34528
- let start = 0;
34529
- const segments = this.to.segments.map((segment, index) => {
34530
- const end = start + this.segmentsCache[index],
34531
- points = this.points.slice(start, end);
34532
- return start = end, Object.assign(Object.assign({}, segment), {
34533
- points: points
34630
+ if (end) this.applyPointTransientAttributes(this.to);else {
34631
+ if (this.points = this.points.map((point, index) => {
34632
+ const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
34633
+ return newPoint.context = point.context, newPoint;
34634
+ }), this.clipRange) {
34635
+ if (this.shrinkClipRange) return void (end ? (out.points = this.toPoints, out.clipRange = 1) : (out.points = this.fromPoints, out.clipRange = this.clipRange - (this.clipRange - this.shrinkClipRange) * ratio));
34636
+ applyAnimationTransientAttributes(this.target, {
34637
+ clipRange: this.clipRange + (1 - this.clipRange) * ratio
34638
+ });
34639
+ }
34640
+ if (this.segmentsCache && this.to.segments) {
34641
+ let start = 0;
34642
+ const segments = this.to.segments.map((segment, index) => {
34643
+ const end = start + this.segmentsCache[index],
34644
+ points = this.points.slice(start, end);
34645
+ return start = end, Object.assign(Object.assign({}, segment), {
34646
+ points: points
34647
+ });
34648
+ });
34649
+ this.applyPointTransientAttributes({
34650
+ segments: segments
34534
34651
  });
34652
+ } else this.applyPointTransientAttributes({
34653
+ points: this.points
34535
34654
  });
34536
- this.target.attribute.segments = segments;
34537
- } else this.target.attribute.points = this.points;
34538
- this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34655
+ }
34539
34656
  }
34540
34657
  }
34541
34658
 
@@ -34556,10 +34673,10 @@ class CommonIn extends ACustomAnimate {
34556
34673
  }), null === (_d = (_c = this.target).applyFinalAttributeToAttribute) || void 0 === _d || _d.call(_c), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to, !1 !== (null === (_e = this.params.controlOptions) || void 0 === _e ? void 0 : _e.immediatelyApply) && applyAppearStartAttributes(this.target, from);
34557
34674
  }
34558
34675
  onUpdate(end, ratio, out) {
34559
- const attribute = this.target.attribute;
34676
+ const attrs = {};
34560
34677
  this.propKeys.forEach(key => {
34561
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34562
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34678
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34679
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34563
34680
  }
34564
34681
  }
34565
34682
  class CommonOut extends ACustomAnimate {
@@ -34574,16 +34691,16 @@ class CommonOut extends ACustomAnimate {
34574
34691
  this.keys.forEach(key => {
34575
34692
  var _a;
34576
34693
  to[key] = 0, from[key] = null !== (_a = attrs[key]) && void 0 !== _a ? _a : 1;
34577
- }), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to, Object.assign(this.target.attribute, from), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
34694
+ }), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to, applyAnimationTransientAttributes(this.target, from, AttributeUpdateType.ANIMATE_BIND), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
34578
34695
  }
34579
34696
  onEnd(cb) {
34580
34697
  super.onEnd(cb);
34581
34698
  }
34582
34699
  onUpdate(end, ratio, out) {
34583
- const attribute = this.target.attribute;
34700
+ const attrs = {};
34584
34701
  this.propKeys.forEach(key => {
34585
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34586
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34702
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34703
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34587
34704
  }
34588
34705
  }
34589
34706
 
@@ -34626,8 +34743,7 @@ class RotateBySphereAnimate extends ACustomAnimate {
34626
34743
  onEnd() {}
34627
34744
  onUpdate(end, ratio, out) {
34628
34745
  if (null == this.phi || null == this.theta) return;
34629
- const target = this.target,
34630
- {
34746
+ const {
34631
34747
  center: center,
34632
34748
  r: r,
34633
34749
  cb: cb
@@ -34638,8 +34754,15 @@ class RotateBySphereAnimate extends ACustomAnimate {
34638
34754
  x = r * Math.sin(phi) * Math.cos(theta) + center.x,
34639
34755
  y = r * Math.cos(phi) + center.y,
34640
34756
  z = r * Math.sin(phi) * Math.sin(theta) + center.z;
34641
- for (target.attribute.x = x, target.attribute.y = y, target.attribute.z = z, target.attribute.alpha = theta + pi / 2; target.attribute.alpha > pi2;) target.attribute.alpha -= pi2;
34642
- target.attribute.alpha = pi2 - target.attribute.alpha, target.attribute.zIndex = -1e4 * target.attribute.z, cb && cb(out);
34757
+ let alpha = theta + pi / 2;
34758
+ for (; alpha > pi2;) alpha -= pi2;
34759
+ alpha = pi2 - alpha, applyAnimationFrameAttributes(this.target, {
34760
+ x: x,
34761
+ y: y,
34762
+ z: z,
34763
+ alpha: alpha,
34764
+ zIndex: -1e4 * z
34765
+ }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag(), cb && cb(out);
34643
34766
  }
34644
34767
  }
34645
34768
 
@@ -34781,15 +34904,23 @@ class GrowAngleBase extends ACustomAnimate {
34781
34904
  this.propKeys ? this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateAngle : "startAngle" === this.propKeys[0] ? this._updateFunction = this.updateStartAngle : "endAngle" === this.propKeys[0] ? this._updateFunction = this.updateEndAngle : this.valid = !1 : this.valid = !1;
34782
34905
  }
34783
34906
  deleteSelfAttr(key) {
34784
- delete this.props[key], this.fromProps && delete this.fromProps[key];
34785
- const index = this.propKeys.indexOf(key);
34786
- -1 !== index && this.propKeys.splice(index, 1), this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateAngle : "startAngle" === this.propKeys[0] ? this._updateFunction = this.updateStartAngle : "endAngle" === this.propKeys[0] ? this._updateFunction = this.updateEndAngle : this._updateFunction = null;
34907
+ this.deleteSelfAttrs([key]);
34908
+ }
34909
+ deleteSelfAttrs(keys) {
34910
+ var _a;
34911
+ super.deleteSelfAttrs(keys);
34912
+ const firstKey = null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a[0];
34913
+ this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateAngle : this._updateFunction = "startAngle" === firstKey ? this.updateStartAngle : "endAngle" === firstKey ? this.updateEndAngle : null;
34787
34914
  }
34788
34915
  updateStartAngle(ratio) {
34789
- this.target.attribute.startAngle = this.from.startAngle + (this.to.startAngle - this.from.startAngle) * ratio;
34916
+ applyAnimationFrameAttributes(this.target, {
34917
+ startAngle: this.from.startAngle + (this.to.startAngle - this.from.startAngle) * ratio
34918
+ });
34790
34919
  }
34791
34920
  updateEndAngle(ratio) {
34792
- this.target.attribute.endAngle = this.from.endAngle + (this.to.endAngle - this.from.endAngle) * ratio;
34921
+ applyAnimationFrameAttributes(this.target, {
34922
+ endAngle: this.from.endAngle + (this.to.endAngle - this.from.endAngle) * ratio
34923
+ });
34793
34924
  }
34794
34925
  updateAngle(ratio) {
34795
34926
  this.updateStartAngle(ratio), this.updateEndAngle(ratio);
@@ -34963,10 +35094,10 @@ class GrowCenterIn extends ACustomAnimate {
34963
35094
  super.onEnd(cb);
34964
35095
  }
34965
35096
  onUpdate(end, ratio, out) {
34966
- const attribute = this.target.attribute;
35097
+ const attrs = {};
34967
35098
  this.propKeys.forEach(key => {
34968
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34969
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35099
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35100
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34970
35101
  }
34971
35102
  }
34972
35103
  class GrowCenterOut extends ACustomAnimate {
@@ -34985,10 +35116,10 @@ class GrowCenterOut extends ACustomAnimate {
34985
35116
  super.onEnd(cb);
34986
35117
  }
34987
35118
  onUpdate(end, ratio, out) {
34988
- const attribute = this.target.attribute;
35119
+ const attrs = {};
34989
35120
  this.propKeys.forEach(key => {
34990
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
34991
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35121
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35122
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
34992
35123
  }
34993
35124
  }
34994
35125
 
@@ -35068,10 +35199,10 @@ class GrowHeightIn extends ACustomAnimate {
35068
35199
  super.onEnd(cb);
35069
35200
  }
35070
35201
  onUpdate(end, ratio, out) {
35071
- const attribute = this.target.attribute;
35202
+ const attrs = {};
35072
35203
  this.propKeys.forEach(key => {
35073
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35074
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35204
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35205
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35075
35206
  }
35076
35207
  }
35077
35208
  function growHeightOutIndividual(graphic, options, animationParameters) {
@@ -35129,10 +35260,10 @@ class GrowHeightOut extends ACustomAnimate {
35129
35260
  super.onEnd(cb);
35130
35261
  }
35131
35262
  onUpdate(end, ratio, out) {
35132
- const attribute = this.target.attribute;
35263
+ const attrs = {};
35133
35264
  this.propKeys.forEach(key => {
35134
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35135
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35265
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35266
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35136
35267
  }
35137
35268
  }
35138
35269
 
@@ -35165,7 +35296,9 @@ class GworPointsBase extends ACustomAnimate {
35165
35296
  var _a, _b;
35166
35297
  const fromPoints = null === (_a = this.from) || void 0 === _a ? void 0 : _a.points,
35167
35298
  toPoints = null === (_b = this.to) || void 0 === _b ? void 0 : _b.points;
35168
- fromPoints && toPoints && (this.target.attribute.points = fromPoints.map((point, index) => pointInterpolation(fromPoints[index], toPoints[index], ratio)), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
35299
+ fromPoints && toPoints && (applyAnimationFrameAttributes(this.target, {
35300
+ points: fromPoints.map((point, index) => pointInterpolation(fromPoints[index], toPoints[index], ratio))
35301
+ }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
35169
35302
  }
35170
35303
  }
35171
35304
  class GrowPointsIn extends GworPointsBase {
@@ -35397,10 +35530,10 @@ class GrowPointsBase extends ACustomAnimate {
35397
35530
  super(from, to, duration, easing, params);
35398
35531
  }
35399
35532
  onUpdate(end, ratio, out) {
35400
- const attribute = this.target.attribute;
35533
+ const attrs = {};
35401
35534
  this.propKeys.forEach(key => {
35402
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35403
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35535
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35536
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35404
35537
  }
35405
35538
  }
35406
35539
  class GrowRadiusIn extends GrowPointsBase {
@@ -35540,10 +35673,10 @@ class GrowWidthIn extends ACustomAnimate {
35540
35673
  super.onEnd(cb);
35541
35674
  }
35542
35675
  onUpdate(end, ratio, out) {
35543
- const attribute = this.target.attribute;
35676
+ const attrs = {};
35544
35677
  this.propKeys.forEach(key => {
35545
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35546
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35678
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35679
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35547
35680
  }
35548
35681
  }
35549
35682
  class GrowWidthOut extends ACustomAnimate {
@@ -35563,10 +35696,10 @@ class GrowWidthOut extends ACustomAnimate {
35563
35696
  super.onEnd(cb);
35564
35697
  }
35565
35698
  onUpdate(end, ratio, out) {
35566
- const attribute = this.target.attribute;
35699
+ const attrs = {};
35567
35700
  this.propKeys.forEach(key => {
35568
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35569
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35701
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
35702
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
35570
35703
  }
35571
35704
  }
35572
35705
 
@@ -36339,18 +36472,26 @@ class ScaleIn extends ACustomAnimate {
36339
36472
  super.onEnd(cb);
36340
36473
  }
36341
36474
  updateX(ratio) {
36342
- this.target.attribute.scaleX = this.from.scaleX + (this.to.scaleX - this.from.scaleX) * ratio;
36475
+ this.applyScaleTransientAttrs(ratio, !0, !1);
36343
36476
  }
36344
36477
  updateY(ratio) {
36345
- this.target.attribute.scaleY = this.from.scaleY + (this.to.scaleY - this.from.scaleY) * ratio;
36478
+ this.applyScaleTransientAttrs(ratio, !1, !0);
36346
36479
  }
36347
36480
  updateXY(ratio) {
36348
- this.updateX(ratio), this.updateY(ratio);
36481
+ this.applyScaleTransientAttrs(ratio, !0, !0);
36482
+ }
36483
+ applyScaleTransientAttrs(ratio, scaleX, scaleY) {
36484
+ const attrs = {};
36485
+ scaleX && (attrs.scaleX = this.from.scaleX + (this.to.scaleX - this.from.scaleX) * ratio), scaleY && (attrs.scaleY = this.from.scaleY + (this.to.scaleY - this.from.scaleY) * ratio), applyAnimationFrameAttributes(this.target, attrs);
36349
36486
  }
36350
36487
  deleteSelfAttr(key) {
36351
- delete this.props[key], this.fromProps && delete this.fromProps[key];
36352
- const index = this.propKeys.indexOf(key);
36353
- -1 !== index && this.propKeys.splice(index, 1), this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateXY : "scaleX" === this.propKeys[0] ? this._updateFunction = this.updateX : "scaleY" === this.propKeys[0] ? this._updateFunction = this.updateY : this._updateFunction = null;
36488
+ this.deleteSelfAttrs([key]);
36489
+ }
36490
+ deleteSelfAttrs(keys) {
36491
+ var _a;
36492
+ super.deleteSelfAttrs(keys);
36493
+ const firstKey = null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a[0];
36494
+ this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateXY : this._updateFunction = "scaleX" === firstKey ? this.updateX : "scaleY" === firstKey ? this.updateY : null;
36354
36495
  }
36355
36496
  onUpdate(end, ratio, out) {
36356
36497
  this._updateFunction && (this._updateFunction(ratio), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag());
@@ -36395,10 +36536,10 @@ class ScaleOut extends ACustomAnimate {
36395
36536
  super.onEnd(cb);
36396
36537
  }
36397
36538
  onUpdate(end, ratio, out) {
36398
- const attribute = this.target.attribute;
36539
+ const attrs = {};
36399
36540
  this.propKeys.forEach(key => {
36400
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36401
- }), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
36541
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36542
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
36402
36543
  }
36403
36544
  }
36404
36545
 
@@ -36409,14 +36550,19 @@ class State extends ACustomAnimate {
36409
36550
  update(end, ratio, out) {
36410
36551
  if (this.onStart(), !this.props || !this.propKeys) return;
36411
36552
  const easedRatio = this.easing(ratio);
36412
- this.animate.interpolateUpdateFunction ? this.animate.interpolateUpdateFunction(this.fromProps, this.props, easedRatio, this, this.target) : this.interpolateUpdateFunctions.forEach((func, index) => {
36413
- if (!this.animate.validAttr(this.propKeys[index])) return;
36414
- const key = this.propKeys[index];
36415
- func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
36416
- }), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
36553
+ this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
36417
36554
  }
36418
36555
  }
36419
36556
 
36557
+ function buildInterpolatedAttrs(keys, from, to, ratio) {
36558
+ const attrs = {};
36559
+ return keys.forEach(key => {
36560
+ attrs[key] = from[key] + (to[key] - from[key]) * ratio;
36561
+ }), attrs;
36562
+ }
36563
+ function applyStoryFrame(target, attrs) {
36564
+ applyAnimationFrameAttributes(target, attrs), target.addUpdatePositionTag(), target.addUpdateShapeAndBoundsTag();
36565
+ }
36420
36566
  class SlideIn extends ACustomAnimate {
36421
36567
  constructor(from, to, duration, easing, params) {
36422
36568
  super(from, to, duration, easing, params);
@@ -36439,10 +36585,7 @@ class SlideIn extends ACustomAnimate {
36439
36585
  "top" === direction ? (from.y = (null !== (_e = attrs.y) && void 0 !== _e ? _e : 0) - distance, to.y = null !== (_f = attrs.y) && void 0 !== _f ? _f : 0, this.propKeys = ["opacity", "baseOpacity", "y"]) : "bottom" === direction ? (from.y = (null !== (_g = attrs.y) && void 0 !== _g ? _g : 0) + distance, to.y = null !== (_h = attrs.y) && void 0 !== _h ? _h : 0, this.propKeys = ["opacity", "baseOpacity", "y"]) : "left" === direction ? (from.x = (null !== (_j = attrs.x) && void 0 !== _j ? _j : 0) - distance, to.x = null !== (_k = attrs.x) && void 0 !== _k ? _k : 0, this.propKeys = ["opacity", "baseOpacity", "x"]) : (from.x = (null !== (_l = attrs.x) && void 0 !== _l ? _l : 0) + distance, to.x = null !== (_m = attrs.x) && void 0 !== _m ? _m : 0, this.propKeys = ["opacity", "baseOpacity", "x"]), this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
36440
36586
  }
36441
36587
  onUpdate(end, ratio, out) {
36442
- const attribute = this.target.attribute;
36443
- this.propKeys.forEach(key => {
36444
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36445
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36588
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36446
36589
  }
36447
36590
  }
36448
36591
  class GrowIn extends ACustomAnimate {
@@ -36467,10 +36610,7 @@ class GrowIn extends ACustomAnimate {
36467
36610
  this.propKeys = ["opacity", "baseOpacity"], "x" !== direction && "xy" !== direction || (from.scaleX = fromScale, to.scaleX = null !== (_f = attrs.scaleX) && void 0 !== _f ? _f : 1, this.propKeys.push("scaleX")), "y" !== direction && "xy" !== direction || (from.scaleY = fromScale, to.scaleY = null !== (_g = attrs.scaleY) && void 0 !== _g ? _g : 1, this.propKeys.push("scaleY")), this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
36468
36611
  }
36469
36612
  onUpdate(end, ratio, out) {
36470
- const attribute = this.target.attribute;
36471
- this.propKeys.forEach(key => {
36472
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36473
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36613
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36474
36614
  }
36475
36615
  }
36476
36616
  class SpinIn extends ACustomAnimate {
@@ -36501,10 +36641,7 @@ class SpinIn extends ACustomAnimate {
36501
36641
  this.propKeys = ["opacity", "baseOpacity", "angle", "scaleX", "scaleY"], this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
36502
36642
  }
36503
36643
  onUpdate(end, ratio, out) {
36504
- const attribute = this.target.attribute;
36505
- this.propKeys.forEach(key => {
36506
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36507
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36644
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36508
36645
  }
36509
36646
  }
36510
36647
  class StrokeIn extends ACustomAnimate {
@@ -36549,8 +36686,10 @@ class StrokeIn extends ACustomAnimate {
36549
36686
  }
36550
36687
  onUpdate(end, ratio, out) {
36551
36688
  var _a;
36552
- const attribute = this.target.attribute;
36553
- attribute.lineDashOffset = this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio, (null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attribute.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio);
36689
+ const attrs = {
36690
+ lineDashOffset: this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio
36691
+ };
36692
+ (null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attrs.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio), applyAnimationTransientAttributes(this.target, attrs);
36554
36693
  }
36555
36694
  onEnd() {
36556
36695
  var _a;
@@ -36601,8 +36740,10 @@ class StrokeOut extends ACustomAnimate {
36601
36740
  }
36602
36741
  onUpdate(end, ratio, out) {
36603
36742
  var _a;
36604
- const attribute = this.target.attribute;
36605
- attribute.lineDashOffset = this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio, (null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attribute.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio);
36743
+ const attrs = {
36744
+ lineDashOffset: this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio
36745
+ };
36746
+ (null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attrs.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio), applyAnimationTransientAttributes(this.target, attrs);
36606
36747
  }
36607
36748
  }
36608
36749
  class MoveScaleIn extends ACustomAnimate {
@@ -36699,10 +36840,7 @@ class SlideOut extends ACustomAnimate {
36699
36840
  "top" === direction ? (from.y = null !== (_g = attrs.y) && void 0 !== _g ? _g : 0, to.y = (null !== (_h = attrs.y) && void 0 !== _h ? _h : 0) - distance, this.propKeys = ["opacity", "baseOpacity", "y"]) : "bottom" === direction ? (from.y = null !== (_j = attrs.y) && void 0 !== _j ? _j : 0, to.y = (null !== (_k = attrs.y) && void 0 !== _k ? _k : 0) + distance, this.propKeys = ["opacity", "baseOpacity", "y"]) : "left" === direction ? (from.x = null !== (_l = attrs.x) && void 0 !== _l ? _l : 0, to.x = (null !== (_m = attrs.x) && void 0 !== _m ? _m : 0) - distance, this.propKeys = ["opacity", "baseOpacity", "x"]) : (from.x = null !== (_o = attrs.x) && void 0 !== _o ? _o : 0, to.x = (null !== (_p = attrs.x) && void 0 !== _p ? _p : 0) + distance, this.propKeys = ["opacity", "baseOpacity", "x"]), this.from = from, this.to = to, this.props = to;
36700
36841
  }
36701
36842
  onUpdate(end, ratio, out) {
36702
- const attribute = this.target.attribute;
36703
- this.propKeys.forEach(key => {
36704
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36705
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36843
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36706
36844
  }
36707
36845
  }
36708
36846
  class GrowOut extends ACustomAnimate {
@@ -36727,10 +36865,7 @@ class GrowOut extends ACustomAnimate {
36727
36865
  this.propKeys = ["opacity", "baseOpacity"], "x" !== direction && "xy" !== direction || (from.scaleX = null !== (_h = attrs.scaleX) && void 0 !== _h ? _h : 1, to.scaleX = toScale, this.propKeys.push("scaleX")), "y" !== direction && "xy" !== direction || (from.scaleY = null !== (_j = attrs.scaleY) && void 0 !== _j ? _j : 1, to.scaleY = toScale, this.propKeys.push("scaleY")), this.from = from, this.to = to, this.props = to;
36728
36866
  }
36729
36867
  onUpdate(end, ratio, out) {
36730
- const attribute = this.target.attribute;
36731
- this.propKeys.forEach(key => {
36732
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36733
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36868
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36734
36869
  }
36735
36870
  }
36736
36871
  class SpinOut extends ACustomAnimate {
@@ -36761,10 +36896,7 @@ class SpinOut extends ACustomAnimate {
36761
36896
  this.propKeys = ["opacity", "baseOpacity", "angle", "scaleX", "scaleY"], this.from = from, this.to = to, this.props = to;
36762
36897
  }
36763
36898
  onUpdate(end, ratio, out) {
36764
- const attribute = this.target.attribute;
36765
- this.propKeys.forEach(key => {
36766
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
36767
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
36899
+ applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
36768
36900
  }
36769
36901
  }
36770
36902
  class MoveScaleOut extends ACustomAnimate {
@@ -36849,20 +36981,20 @@ class PulseAnimate extends ACustomAnimate {
36849
36981
  onUpdate(end, ratio, out) {
36850
36982
  const angle = ratio * Math.PI * this.pulseCount,
36851
36983
  pulseValue = Math.abs(Math.sin(angle)),
36852
- attribute = this.target.attribute;
36984
+ attrs = {};
36853
36985
  if (this.useOpacity) {
36854
36986
  const opacity = 1 + (this.pulseOpacity - 1) * pulseValue;
36855
- this.useStroke && (attribute.strokeOpacity = (this.originalAttributes.strokeOpacity || 1) * opacity), this.useFill && (attribute.fillOpacity = (this.originalAttributes.fillOpacity || 1) * opacity);
36987
+ this.useStroke && (attrs.strokeOpacity = (this.originalAttributes.strokeOpacity || 1) * opacity), this.useFill && (attrs.fillOpacity = (this.originalAttributes.fillOpacity || 1) * opacity);
36856
36988
  }
36857
36989
  if (this.useScale) {
36858
36990
  const scale = 1 + (this.pulseScale - 1) * pulseValue;
36859
- attribute.scaleX = (this.originalAttributes.scaleX || 1) * scale, attribute.scaleY = (this.originalAttributes.scaleY || 1) * scale;
36991
+ attrs.scaleX = (this.originalAttributes.scaleX || 1) * scale, attrs.scaleY = (this.originalAttributes.scaleY || 1) * scale;
36860
36992
  }
36861
- this.useColor && this.pulseColor && this.applyColorPulse(attribute, pulseValue), this.target.addUpdateShapeAndBoundsTag(), this.target.addUpdatePositionTag();
36993
+ this.useColor && this.pulseColor && this.applyColorPulse(attrs, pulseValue), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdateShapeAndBoundsTag(), this.target.addUpdatePositionTag();
36862
36994
  }
36863
- applyColorPulse(attribute, pulseValue) {
36995
+ applyColorPulse(attrs, pulseValue) {
36864
36996
  const colorRatio = this.pulseColorIntensity * pulseValue;
36865
- this.useFill && this.originalFill && this.pulseColor && (attribute.fill = interpolateColor(this.originalFill, this.pulseColor, colorRatio, !0)), this.useStroke && this.originalStroke && this.pulseColor && (attribute.stroke = interpolateColor(this.originalStroke, this.pulseColor, colorRatio, !0));
36997
+ this.useFill && this.originalFill && this.pulseColor && (attrs.fill = interpolateColor(this.originalFill, this.pulseColor, colorRatio, !0)), this.useStroke && this.originalStroke && this.pulseColor && (attrs.stroke = interpolateColor(this.originalStroke, this.pulseColor, colorRatio, !0));
36866
36998
  }
36867
36999
  onEnd() {
36868
37000
  super.onEnd(), this.target.setAttributes(this.originalAttributes);
@@ -36877,52 +37009,52 @@ const clipPathGeometryAttrs = {
36877
37009
  width: !0,
36878
37010
  height: !0
36879
37011
  };
37012
+ function includesChannel(channels, key) {
37013
+ for (let i = 0; i < channels.length; i++) if (channels[i] === key) return !0;
37014
+ return !1;
37015
+ }
37016
+ function filterExcludedChannels(diffAttrs, excludeChannels) {
37017
+ if (!(null == excludeChannels ? void 0 : excludeChannels.length)) return diffAttrs;
37018
+ const nextAttrs = {};
37019
+ for (const key in diffAttrs) Object.prototype.hasOwnProperty.call(diffAttrs, key) && !includesChannel(excludeChannels, key) && (nextAttrs[key] = diffAttrs[key]);
37020
+ return nextAttrs;
37021
+ }
36880
37022
  class Update extends ACustomAnimate {
36881
37023
  constructor(from, to, duration, easing, params) {
36882
- super(from, to, duration, easing, params), this.clipPathSyncKeys = null, this.clipPathSyncParent = null, this.clipPathSyncChildIndex = -1, this.clipPathSyncDisabled = !1;
37024
+ super(from, to, duration, easing, params), this.updateFromAttrs = null, this.clipPathSyncKeys = null, this.clipPathSyncParent = null, this.clipPathSyncChildIndex = -1, this.clipPathSyncDisabled = !1;
36883
37025
  }
36884
37026
  onBind() {
36885
- var _a, _b;
37027
+ var _a;
36886
37028
  super.onBind();
37029
+ const targetContext = null !== (_a = this.target.context) && void 0 !== _a ? _a : {};
36887
37030
  let {
36888
37031
  diffAttrs = {}
36889
- } = null !== (_a = this.target.context) && void 0 !== _a ? _a : {};
37032
+ } = targetContext;
36890
37033
  const {
36891
- options: options
36892
- } = this.params;
36893
- diffAttrs = Object.assign({}, diffAttrs), (null === (_b = null == options ? void 0 : options.excludeChannels) || void 0 === _b ? void 0 : _b.length) && options.excludeChannels.forEach(channel => {
36894
- delete diffAttrs[channel];
36895
- }), this.props = diffAttrs, this.clipPathSyncKeys = Object.keys(diffAttrs).filter(key => clipPathGeometryAttrs[key]), this.clipPathSyncDisabled = !this.clipPathSyncKeys.length, this.syncParentClipPathToTarget();
37034
+ options: options
37035
+ } = this.params,
37036
+ rawDiffAttrs = diffAttrs;
37037
+ diffAttrs = filterExcludedChannels(diffAttrs, null == options ? void 0 : options.excludeChannels), this.props = diffAttrs;
37038
+ const consumeTransientFromAttrs = this.target.consumeTransientFromAttrsBeforePreventAnimate;
37039
+ this.updateFromAttrs = "function" == typeof consumeTransientFromAttrs ? consumeTransientFromAttrs.call(this.target, rawDiffAttrs, diffAttrs) : null, this.clipPathSyncKeys = Object.keys(diffAttrs).filter(key => clipPathGeometryAttrs[key]), this.clipPathSyncDisabled = !this.clipPathSyncKeys.length, this.syncParentClipPathToTarget();
36896
37040
  }
36897
- getStaticCommitAttrs() {
36898
- var _a;
36899
- if (!this.props) return null;
36900
- const target = this.target,
36901
- contextFinalAttrs = null === (_a = target.context) || void 0 === _a ? void 0 : _a.finalAttrs,
36902
- finalAttribute = "function" == typeof target.getFinalAttribute ? target.getFinalAttribute() : target.finalAttribute,
36903
- commitAttrs = {};
36904
- return Object.keys(this.props).forEach(key => {
36905
- contextFinalAttrs && Object.prototype.hasOwnProperty.call(contextFinalAttrs, key) ? commitAttrs[key] = contextFinalAttrs[key] : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, key) ? commitAttrs[key] = finalAttribute[key] : this.animate.validAttr(key) && (commitAttrs[key] = this.props[key]);
36906
- }), Object.keys(commitAttrs).length ? commitAttrs : null;
37041
+ trySyncStartProps() {
37042
+ const updateFromAttrs = this.updateFromAttrs;
37043
+ this.propKeys.forEach(key => {
37044
+ this.fromProps[key] = updateFromAttrs && Object.prototype.hasOwnProperty.call(updateFromAttrs, key) ? updateFromAttrs[key] : this.animate.target.getComputedAttribute(key);
37045
+ });
36907
37046
  }
36908
37047
  onEnd(cb) {
36909
- if (cb) return void super.onEnd(cb);
36910
- const commitAttrs = this.getStaticCommitAttrs();
36911
- commitAttrs && this.target.setAttributes(commitAttrs, !1, {
36912
- type: AttributeUpdateType.ANIMATE_END
36913
- }), this.syncParentClipPathToTarget(), super.onEnd();
37048
+ var _a;
37049
+ cb ? super.onEnd(cb) : (this.props && commitAnimationStaticAttrs(this.target, null !== (_a = this.propKeys) && void 0 !== _a ? _a : Object.keys(this.props), this.animate, this.props), this.syncParentClipPathToTarget(), super.onEnd());
36914
37050
  }
36915
37051
  update(end, ratio, out) {
36916
37052
  if (this.onStart(), !this.props || !this.propKeys) return;
36917
37053
  const easedRatio = this.easing(ratio);
36918
- this.animate.interpolateUpdateFunction ? this.animate.interpolateUpdateFunction(this.fromProps, this.props, easedRatio, this, this.target) : this.interpolateUpdateFunctions.forEach((func, index) => {
36919
- if (!this.animate.validAttr(this.propKeys[index])) return;
36920
- const key = this.propKeys[index];
36921
- func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
36922
- }), this.syncParentClipPathToTarget(), this.onUpdate(end, easedRatio, out);
37054
+ this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.syncParentClipPathToTarget(), this.onUpdate(end, easedRatio, out);
36923
37055
  }
36924
37056
  syncParentClipPathToTarget() {
36925
- var _a, _b;
37057
+ var _a, _b, _c, _d;
36926
37058
  if (this.clipPathSyncDisabled) return;
36927
37059
  const target = this.target,
36928
37060
  parent = target.parent,
@@ -36933,7 +37065,7 @@ class Update extends ACustomAnimate {
36933
37065
  const clipGraphic = path[childIndex];
36934
37066
  if (!(null == clipGraphic ? void 0 : clipGraphic.attribute) || clipGraphic.type !== target.type || !this.isClipPathStaticTarget(clipGraphic)) return;
36935
37067
  const syncAttrs = this.buildClipPathTransientAttrs(clipGraphic);
36936
- syncAttrs && applyAnimationTransientAttributes(clipGraphic, syncAttrs, AttributeUpdateType.ANIMATE_UPDATE);
37068
+ syncAttrs && (applyAnimationFrameAttributes(clipGraphic, syncAttrs), null === (_c = clipGraphic.addUpdatePositionTag) || void 0 === _c || _c.call(clipGraphic), null === (_d = clipGraphic.addUpdateShapeAndBoundsTag) || void 0 === _d || _d.call(clipGraphic));
36937
37069
  }
36938
37070
  getClipPathSyncChildIndex(parent) {
36939
37071
  var _a;
@@ -37077,10 +37209,10 @@ class MoveBase extends ACustomAnimate {
37077
37209
  super(from, to, duration, easing, params);
37078
37210
  }
37079
37211
  onUpdate(end, ratio, out) {
37080
- const attribute = this.target.attribute;
37212
+ const attrs = {};
37081
37213
  this.propKeys.forEach(key => {
37082
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
37083
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
37214
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
37215
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
37084
37216
  }
37085
37217
  }
37086
37218
  class MoveIn extends MoveBase {
@@ -37136,10 +37268,10 @@ class RotateBase extends ACustomAnimate {
37136
37268
  super(from, to, duration, easing, params);
37137
37269
  }
37138
37270
  onUpdate(end, ratio, out) {
37139
- const attribute = this.target.attribute;
37271
+ const attrs = {};
37140
37272
  this.propKeys.forEach(key => {
37141
- attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
37142
- }), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
37273
+ attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
37274
+ }), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
37143
37275
  }
37144
37276
  }
37145
37277
  class RotateIn extends RotateBase {
@@ -37182,7 +37314,7 @@ class MotionPath extends ACustomAnimate {
37182
37314
  pos: pos,
37183
37315
  angle: angle
37184
37316
  } = this.path.getAttrAt(at);
37185
- attrs.x = pos.x, attrs.y = pos.y, this.changeAngle && (attrs.angle = angle + this.initAngle), this.cb && this.cb(this.from, this.to, ratio, this.target), end && this.commitOnEnd ? this.target.setAttributes(attrs) : applyAnimationTransientAttributes(this.target, attrs);
37317
+ attrs.x = pos.x, attrs.y = pos.y, this.changeAngle && (attrs.angle = angle + this.initAngle), this.cb && this.cb(this.from, this.to, ratio, this.target), end && this.commitOnEnd ? this.target.setAttributes(attrs) : (applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
37186
37318
  }
37187
37319
  }
37188
37320
 
@@ -40935,11 +41067,7 @@ function commitUpdateAnimationTarget(graphic, targetAttrs, startAttrs) {
40935
41067
  if (!graphic || !targetAttrs) return;
40936
41068
  const committedTargetAttrs = cloneDeep(targetAttrs),
40937
41069
  transientStartAttrs = cloneDeep(null != startAttrs ? startAttrs : graphic.attribute);
40938
- graphic.setAttributes(committedTargetAttrs);
40939
- const baseAttributes = graphic.baseAttributes;
40940
- baseAttributes && "object" == typeof baseAttributes && Object.keys(committedTargetAttrs).forEach(key => {
40941
- baseAttributes[key] = cloneDeep(committedTargetAttrs[key]);
40942
- }), null === (_b = (_a = graphic).setFinalAttributes) || void 0 === _b || _b.call(_a, committedTargetAttrs), null === (_d = (_c = graphic).setAttributesAndPreventAnimate) || void 0 === _d || _d.call(_c, transientStartAttrs, !1, {
41070
+ graphic.setAttributes(committedTargetAttrs), null === (_b = (_a = graphic).setFinalAttributes) || void 0 === _b || _b.call(_a, committedTargetAttrs), null === (_d = (_c = graphic).setAttributesAndPreventAnimate) || void 0 === _d || _d.call(_c, transientStartAttrs, !1, {
40943
41071
  type: AttributeUpdateType.ANIMATE_BIND
40944
41072
  });
40945
41073
  }
@@ -41679,7 +41807,10 @@ class AxisUpdate extends AComponentAnimate {
41679
41807
  }), this.completeBind(animator);
41680
41808
  }
41681
41809
  deleteSelfAttr(key) {
41682
- super.deleteSelfAttr(key), this._animator.deleteSelfAttr(key);
41810
+ this.deleteSelfAttrs([key]);
41811
+ }
41812
+ deleteSelfAttrs(keys) {
41813
+ super.deleteSelfAttrs(keys), this._animator.deleteSelfAttrs(keys);
41683
41814
  }
41684
41815
  tryPreventConflict() {}
41685
41816
  }
@@ -54537,6 +54668,6 @@ function createStage(params) {
54537
54668
  return resolveLegacyApp().createStage(params);
54538
54669
  }
54539
54670
 
54540
- const version = "1.1.0-alpha.11";
54671
+ const version = "1.1.0-alpha.13";
54541
54672
 
54542
54673
  export { AComponentAnimate, ACustomAnimate, ARC3D_NUMBER_TYPE, ARC_NUMBER_TYPE, AREA_NUMBER_TYPE, AStageAnimate, AXIS_ELEMENT_NAME, AbstractComponent, AbstractGraphicRender, Animate, AnimateExecutor, AnimateMode, AnimateStatus, Step as AnimateStep, AnimateStepType, AnimationStateManager, AnimationStateStore, AnimationStates, AnimationTransitionRegistry, AppContext, Application, Arc, Arc3d, Arc3dRender, ArcInfo, ArcLabel, ArcRender, ArcRenderContribution, ArcSegment, Area, AreaRender, AreaRenderContribution, AttributeUpdateType, AutoEnablePlugins, AxisStateValue, BaseCanvas, BaseEnvContribution, BasePlayer, BaseRender, BaseRenderContributionTime, BaseWindowHandlerContribution, Basis, BeforeRenderConstribution, BoundsContext, BoundsPicker, BrowserEntry, BrowserEnvContribution, Brush, CIRCLE_NUMBER_TYPE, Canvas3DDrawItemInterceptor, Canvas3DPickItemInterceptor, CanvasArc3dPicker, CanvasArcPicker, CanvasAreaPicker, CanvasCirclePicker, CanvasFactory, CanvasGifImagePicker, CanvasGlyphPicker, CanvasGroupPicker, CanvasImagePicker, CanvasLinePicker, CanvasLottiePicker, CanvasPathPicker, CanvasPickerContribution, CanvasPolygonPicker, CanvasPyramid3dPicker, CanvasRect3dPicker, CanvasRectPicker, CanvasRichTextPicker, CanvasStarPicker, CanvasSymbolPicker, CanvasTextLayout, CanvasTextPicker, CheckBox, Circle, CircleAxis, CircleAxisGrid, CircleCrosshair, CircleRender, CircleRenderContribution, ClipAngleAnimate, ClipDirectionAnimate, ClipGraphicAnimate, ClipIn, ClipOut, ClipRadiusAnimate, ColorContinuousLegend, ColorInterpolate, ColorStore, ColorType, CommonDrawItemInterceptorContribution, CommonRenderContribution, ComponentAnimator, Context2dFactory, ContinuousPlayer, ContributionProvider, ContributionRegistry, ContributionStore, CubicBezierCurve, CurveContext, CurveTypeEnum, CustomEvent, CustomPath2D, CustomSymbolClass, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TEXT_FONT_FAMILY$1 as DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DebugDrawItemInterceptorContribution, DefaultArcAllocate, DefaultArcAttribute, DefaultArcRenderContribution, DefaultAreaAllocate, DefaultAreaAttribute, DefaultAreaTextureRenderContribution, DefaultAttribute, DefaultBaseBackgroundRenderContribution, DefaultBaseClipRenderAfterContribution, DefaultBaseClipRenderBeforeContribution, DefaultBaseInteractiveRenderContribution, DefaultBaseTextureRenderContribution, DefaultCanvasAllocate, DefaultCanvasArcRender, DefaultCanvasAreaRender, DefaultCanvasCircleRender, DefaultCanvasGroupRender, DefaultCanvasImageRender, DefaultCanvasLineRender, DefaultCanvasPathRender, DefaultCanvasPolygonRender, DefaultCanvasRectRender, DefaultCanvasSymbolRender, DefaultCanvasTextRender, DefaultCircleAllocate, DefaultCircleAttribute, DefaultCircleRenderContribution, DefaultConnectAttribute, DefaultDebugAttribute, DefaultFillStyle, DefaultGlobal, DefaultGlobalPickerService, DefaultGlyphAttribute, DefaultGraphicAllocate, DefaultGraphicMemoryManager, DefaultGraphicService, DefaultGraphicUtil, DefaultGroupAttribute, DefaultGroupBackgroundRenderContribution, DefaultImageAttribute, DefaultImageRenderContribution, DefaultLayerService, DefaultLayout, DefaultLineAllocate, DefaultLineAttribute, DefaultMat4Allocate, DefaultMatrixAllocate, DefaultPathAllocate, DefaultPathAttribute, DefaultPickService, DefaultPickStyle, DefaultPolygonAttribute, DefaultRect3dAttribute, DefaultRectAllocate, DefaultRectAttribute, DefaultRectRenderContribution, DefaultRenderService, DefaultRichTextAttribute, DefaultRichTextIconAttribute, DefaultStarAttribute, DefaultStrokeStyle, DefaultStyle, DefaultSymbolAllocate, DefaultSymbolAttribute, DefaultSymbolClipRangeStrokeRenderContribution, DefaultSymbolRenderContribution, DefaultTextAllocate, DefaultTextAttribute, DefaultTextMeasureContribution, DefaultTextStyle, DefaultTicker, DefaultTimeline, DefaultTransform, DefaultTransformUtil, DefaultWindow, Direction, DirectionEnum, DirectionalLight, DiscreteLegend, DiscretePlayer, Dissolve, Distortion, DragNDrop, DrawContribution, DrawItemInterceptor, DynamicLayerHandlerContribution, Easing, Edge, EditModule, EmptyContext2d, EmptyTip, EnvContribution, EventManager, EventSystem, EventTarget, FORMAT_ALL_TEXT_COMMAND, FORMAT_ELEMENT_COMMAND, FORMAT_TEXT_COMMAND, Factory, FadeIn, FadeOut, FederatedEvent, FederatedMouseEvent, FederatedPointerEvent, FederatedWheelEvent, FlexLayoutPlugin, Fragment, FromTo, GLYPH_NUMBER_TYPE, GRAPHIC_UPDATE_TAG_KEY, GROUP_NUMBER_TYPE, GaussianBlur, Generator, Gesture, GifImage, Glitch, GlobalPickerService, Glyph, GlyphRender, GradientParser, Graphic, GraphicCreator$1 as GraphicCreator, GraphicFactory, GraphicPicker, GraphicRender, GraphicService, GraphicStateExtension, GraphicUtil, Grayscale, Group, GroupFadeIn, GroupFadeOut, GroupRender, GroupRenderContribution, GroupTransition, GroupUpdateAABBBoundsMode, GrowAngleIn, GrowAngleOut, GrowCenterIn, GrowCenterOut, GrowHeightIn, GrowHeightOut, GrowIn, GrowOut, GrowPointsIn, GrowPointsOut, GrowPointsXIn, GrowPointsXOut, GrowPointsYIn, GrowPointsYOut, GrowRadiusIn, GrowRadiusOut, GrowWidthIn, GrowWidthOut, HtmlAttributePlugin, IContainPointMode, IDataZoomEvent, IDataZoomInteractiveEvent, IMAGE_NUMBER_TYPE, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Image$1 as Image, ImageRender, ImageRenderContribution, IncreaseCount, IncrementalDrawContribution, Indicator, InputRichText, InputText, InteractiveDrawItemInterceptorContribution, InteractivePickItemInterceptorContribution, InteractiveSubRenderContribution, LEGEND_ELEMENT_NAME, LINE_NUMBER_TYPE, LabelBase, LabelItemAppear, LabelItemDisappear, Layer, LayerFactory, LayerService, LegendEvent, LegendStateValue, Line$1 as Line, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LineRender, Linear, LinearClosed, LinkPath, Lottie, ManualTicker, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Mat4Allocate, MathArcPicker, MathAreaPicker, MathCirclePicker, MathGlyphPicker, MathImagePicker, MathLinePicker, MathPathPicker, MathPickerContribution, MathPolygonPicker, MathRectPicker, MathRichTextPicker, MathSymbolPicker, MathTextPicker, MatrixAllocate, MeasureModeEnum, MiniappEntry, MonotoneX, MonotoneY, MorphingPath, MotionPath, MoveIn, MoveOut, MoveRotateIn, MoveRotateOut, MoveScaleIn, MoveScaleOut, MultiToOneMorphingPath, NOWORK_ANIMATE_ATTR, Node, NodeEntry, OrthoCamera, OutputRichText, PATH_NUMBER_TYPE, POLYGON_NUMBER_TYPE, PURE_STYLE_KEY, PYRAMID3D_NUMBER_TYPE, Pager, Particle, Path, PathRender, PathRenderContribution, PerformanceRAF, PickItemInterceptor, PickServiceInterceptor, PickerRegistry, PickerService, Pixelation, PlayerEventEnum, PluginRegistry, PluginService, Polygon, PolygonCrosshair, PolygonRender, PolygonRenderContribution, PolygonSectorCrosshair, PopTip, PoptipAppear, PoptipDisappear, PulseAnimate, Pyramid3d, Pyramid3dRender, REACT_TO_CANOPUS_EVENTS, REACT_TO_CANOPUS_EVENTS_LIST, RECT3D_NUMBER_TYPE, RECT_NUMBER_TYPE, RICHTEXT_NUMBER_TYPE, Radio, RafBasedSTO, ReactAttributePlugin, Rect, Rect3DRender, Rect3d, RectCrosshair, RectLabel, RectRender, RectRenderContribution, ReflectSegContext, RenderSelector, RenderService, RendererRegistry, ResourceLoader, RichText, RichTextEditPlugin, RichTextRender, RotateBySphereAnimate, RotateIn, RotateOut, SLIDER_ELEMENT_NAME, STAR_NUMBER_TYPE, STATUS$1 as STATUS, SVG_ATTRIBUTE_MAP, SVG_ATTRIBUTE_MAP_KEYS, SVG_PARSE_ATTRIBUTE_MAP, SVG_PARSE_ATTRIBUTE_MAP_KEYS, SYMBOL_NUMBER_TYPE, ScaleIn, ScaleOut, ScrollBar, SectorCrosshair, SegContext, Segment, SeriesNumberCellStateValue, SeriesNumberEvent, ShadowPickServiceInterceptorContribution, ShadowRoot, ShadowRootDrawItemInterceptorContribution, ShadowRootPickItemInterceptorContribution, SizeContinuousLegend, SlideIn, SlideOut, SlideOutRichText, SlideRichText, Slider, SpinIn, SpinOut, SplitRectAfterRenderContribution, SplitRectBeforeRenderContribution, Stage, StageFactory, Star, StarRender, StarRenderContribution, State, StateDefinitionCompiler, StateEngine, StaticLayerHandlerContribution, Step$1 as Step, StepClosed, StoryLabelItem, StreamLight, StrokeIn, StrokeOut, Switch, Symbol$1 as Symbol, SymbolLabel, SymbolRender, SymbolRenderContribution, TEXT_NUMBER_TYPE, TableSeriesNumber, Tag, TagPointsUpdate, Text, TextDirection, TextMeasureContribution, TextRender, TextRenderContribution, Theme, Timeline, Title, Tooltip, TopZIndex, TransformUtil, Update, UpdateTag, VArc, VArc3d, VArea, VCircle, VGlobal, VGlyph, VGroup, VImage, VLine, VPath, VPolygon, VPyramid3d, VRect, VRect3d, VRichText, VSymbol, VTag, VText, VWindow, ViewTransform3dPlugin, VirtualLayerHandlerContribution, WILDCARD, WeatherBox, WindowHandlerContribution, WrapText, XMLParser, _calculateLineHeight, _interpolateColor, _registerArc, addArcToBezierPath$1 as addArcToBezierPath, addAttributeToPrototype, alignBezierCurves, alignSubpath, alignTextInLine, alternatingWave, angle, angleLabelOrientAttribute, angleTo, application, applyTransformOnBezierCurves, arc3dModule, arcModule, areaModule, bezier, bezierCurversToPath, binarySplitPolygon, bindArc3dCanvasPickerContribution, bindArc3dRenderModule, bindArcCanvasPickerContribution, bindArcMathPickerContribution, bindArcRenderModule, bindAreaCanvasPickerContribution, bindAreaMathPickerContribution, bindAreaRenderModule, bindBrowserEnv, bindCircleCanvasPickerContribution, bindCircleMathPickerContribution, bindCircleRenderModule, bindContributionProvider, bindContributionProviderNoSingletonScope, bindFeishuEnv, bindGifImageCanvasPickerContribution, bindGifImageRenderContribution, bindGlyphCanvasPickerContribution, bindGlyphMathPickerContribution, bindGlyphRenderModule, bindHarmonyEnv, bindImageCanvasPickerContribution, bindImageMathPickerContribution, bindImageRenderModule, bindLineCanvasPickerContribution, bindLineMathPickerContribution, bindLineRenderModule, bindLottieCanvasPickerContribution, bindLottieRenderContribution, bindLynxEnv, bindMathPicker, bindNodeEnv, bindPathCanvasPickerContribution, bindPathMathPickerContribution, bindPathRenderModule, bindPolygonCanvasPickerContribution, bindPolygonMathPickerContribution, bindPolygonRenderModule, bindPyramid3dCanvasPickerContribution, bindPyramid3dRenderModule, bindRect3dCanvasPickerContribution, bindRect3dRenderModule, bindRectCanvasPickerContribution, bindRectMathPickerContribution, bindRectRenderModule, bindRichTextMathPickerContribution, bindRichtextCanvasPickerContribution, bindRichtextRenderModule, bindStarRenderModule, bindSymbolCanvasPickerContribution, bindSymbolMathPickerContribution, bindSymbolRenderModule, bindTTEnv, bindTaroEnv, bindTextCanvasPickerContribution, bindTextMathPickerContribution, bindTextRenderModule, bindWxEnv, bootstrapLegacyVRenderRuntime, bootstrapVRenderBrowserApp, bootstrapVRenderNodeApp, boundStroke, builtInSymbolStrMap, builtinSymbols, builtinSymbolsMap, calcLineCache, calculateArcCornerRadius, calculateLineHeight, canvasAllocate, cartesianTicks, centerToCorner, centroidOfSubpath, circleBounds, circleModule, clampRadian, clock, colorEqual, colorStringInterpolationToStr, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeOffsetForlimit, configureRuntimeApplicationForApp, container, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, cornerTangents, cornerToCenter, createBrowserApp$1 as createApp, createArc, createArc3d, createArea, createBrowserApp$1 as createBrowserApp, createBrowserVRenderApp, createCanvasEventTransformer, createCircle, createColor, createComponentAnimator, createConicalGradient, createContributionProvider$1 as createContributionProvider, createEventTransformer, createGifImage, createGlyph, createGraphic$1 as createGraphic, createGroup, createImage, createImageElement$1 as createImageElement, createLine, createLottie, createMat4, createMiniappApp, createNodeApp$1 as createNodeApp, createNodeVRenderApp, createPath, createPolygon, createPyramid3d, createRect, createRect3d, createRectPath, createRichText, createShadowRoot, createStage, createStar, createSymbol, createText, createTextGraphicByType, createWrapText, cubicCalc, cubicLength, cubicPointAt, cubicSubdivide, decodeReactDom, defaultArcAllocate, defaultArcBackgroundRenderContribution, defaultArcRenderContribution, defaultArcTextureRenderContribution, defaultAreaAllocate, defaultBaseBackgroundRenderContribution, defaultBaseClipRenderAfterContribution, defaultBaseClipRenderBeforeContribution, defaultBaseTextureRenderContribution, defaultCircleAllocate, defaultCircleBackgroundRenderContribution, defaultCircleRenderContribution, defaultCircleTextureRenderContribution, defaultGraphicMemoryManager, defaultGroupBackgroundRenderContribution, defaultImageBackgroundRenderContribution, defaultImageRenderContribution, defaultLineAllocate, defaultPathAllocate, defaultRectAllocate, defaultRectBackgroundRenderContribution, defaultRectRenderContribution, defaultRectTextureRenderContribution, defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution, defaultSymbolAllocate, defaultSymbolBackgroundRenderContribution, defaultSymbolClipRangeStrokeRenderContribution, defaultSymbolRenderContribution, defaultSymbolTextureRenderContribution, defaultTextAllocate, defaultTicker, defaultTimeline, deltaXYToAngle, diagonalCenterToEdge, diagonalTopLeftToBottomRight, diff, divideCubic, drawArc, drawArcPath$1 as drawArcPath, drawAreaSegments, drawBackgroundImage, drawImageWithLayout, drawIncrementalAreaSegments, drawIncrementalSegments, drawSegments, enumCommandMap, fillVisible, findBestMorphingRotation, findConfigIndexByCursorIdx, findCursorIdxByConfigIndex, findNextGraphic, flatten_simplify, foreach, foreachAsync, fuzzyEqualNumber, genBasisSegments, genBasisTypeSegments, genLinearClosedSegments, genLinearClosedTypeSegments, genLinearSegments, genLinearTypeSegments, genMonotoneXSegments, genMonotoneXTypeSegments, genMonotoneYSegments, genMonotoneYTypeSegments, genNumberType, genStepClosedSegments, genStepSegments, genStepTypeSegments, generatorPathEasingFunc, getAttributeFromDefaultAttrList, getAxisBreakSymbolAttrs, getBackgroundImage, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getConicGradientAt, getCurrentEnv, getDefaultCharacterConfig, getElMap, getExtraModelMatrix, getHorizontalPath, getLegacyBindingContext, getMarksByName, getModelMatrix, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getRichTextBounds, getRuntimeInstallerBindingContext, getRuntimeInstallerGlobal, getScaledStroke, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextBounds, getTextType, getTheme, getThemeFromGroup, getVerticalCoord, getVerticalPath, globalTheme, glyphModule, graphicCreator$1 as graphicCreator, graphicService, graphicUtil, hasOverlap, htmlAttributeTransform, identityMat4, imageModule, incrementalAddTo, initAllEnv, initBrowserEnv, initFeishuEnv, initHarmonyEnv, initLynxEnv, initNodeEnv, initTTEnv, initTaroEnv, initTextMeasure, initWxEnv, installBrowserEnvToApp, installBrowserPickersToApp, installDefaultGraphicsToApp, installNodeEnvToApp, installNodePickersToApp, installPoptipToApp, installRuntimeDrawContributionsToApp, installRuntimeGraphicRenderersToApp, installRuntimePickersToApp, installScrollbarToApp, interpolateColor, interpolateGradientConicalColor, interpolateGradientLinearColor, interpolateGradientRadialColor, interpolatePureColorArray, interpolatePureColorArrayToStr, intersect, isBrowserEnv, isInRange, isNoRepeatSizingMode, isNodeEnv, isPostiveXAxis, isRichText, isSvg, isVisible, isXML, jsx, labelSmartInvert, layerService, length, limitShapeInBounds, lineModule, linearDiscreteTicks, loadAllEnv, loadAllModule, loadBrowserEnv, loadFeishuEnv, loadHarmonyEnv, loadLynxEnv, loadMathPicker, loadNodeEnv, loadPoptip, loadScrollbar, loadTTEnv, loadTaroEnv, loadWxEnv, lookAt, mapToCanvasPointForCanvas, mat3Tomat4, mat4Allocate, matrixAllocate, measureTextSize, morphPath, multiToOneMorph, multiplyMat4Mat3, multiplyMat4Mat4, newThemeObj, normalize$1 as normalize, oneToMultiMorph, ortho, parsePadding, parseStroke, parseSvgPath, particleEffect, pathModule, pathToBezierCurves, point$3 as point, pointEqual, pointInterpolation, pointInterpolationHighPerformance, pointsEqual, pointsInterpolation, polarAngleAxisDiscreteTicks, polarTicks, polygonModule, preLoadAllModule, pulseWave, pyramid3dModule, quadCalc, quadLength, quadPointAt, rafBasedSto, randomOpacity, reactAttributeTransform, rect3dModule, rectFillVisible, rectModule, rectStrokeVisible, recursiveCallBinarySplit, refreshRuntimeInstallerContributions, registerAnimate, registerArc, registerArc3d, registerArc3dGraphic, registerArcDataLabel, registerArcGraphic, registerArea, registerAreaGraphic, registerCircle, registerCircleGraphic, registerCustomAnimate, registerDirectionalLight, registerFlexLayoutPlugin, registerGifGraphic, registerGifImage, registerGlobalEventTransformer, registerGlyph, registerGlyphGraphic, registerGraphic, registerGroup, registerGroupGraphic, registerHtmlAttributePlugin, registerImage, registerImageGraphic, registerLine, registerLineDataLabel, registerLineGraphic, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerOrthoCamera, registerPath, registerPathGraphic, registerPolygon, registerPolygonGraphic, registerPyramid3d, registerPyramid3dGraphic, registerReactAttributePlugin, registerRect, registerRect3d, registerRect3dGraphic, registerRectDataLabel, registerRectGraphic, registerRichtext, registerRichtextGraphic, registerShadowRoot, registerShadowRootGraphic, registerStar, registerStarGraphic, registerSymbol, registerSymbolDataLabel, registerSymbolGraphic, registerText, registerTextGraphic, registerViewTransform3dPlugin, registerWindowEventTransformer, registerWrapText, registerWrapTextGraphic, removeRepeatPoint, renderCommandList, resolveBackgroundDrawMode, resolveBackgroundParamsByImageSizing, resolveBackgroundPosition, resolveBackgroundSizing, resolveContainerBinding$1 as resolveContainerBinding, resolveImageMode, resolveImageRepeatMode, resolveRenderableImageSize, rewriteProto, richTextAttributeTransform, richtextModule, rippleEffect, rotateX, rotateY, rotateZ, rotationScan, roughModule, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, runFill, runStroke, scale, scaleMat4, segments, setPoptipTheme, shouldClipImageByLayout, shouldUseMat4, shouldUseSimpleAttributeFastPath, smartInvertStrategy, snakeWave, snapLength, spiralEffect, splitArc, splitArea, splitCircle, splitLine, splitPath, splitPolygon, splitRect, splitToGrids, starModule, strCommandMap, strokeVisible, symbolModule, tan2AngleToAngle, textAttributesToStyle, textDrawOffsetX, textDrawOffsetY, textIntersect, textLayoutOffsetY, textModule, ticks, transformMat4, transformPointForCanvas, transformUtil, transitionRegistry, translate, traverseGroup, version, verticalLayout, vglobal, waitForAllSubLayers, wrapCanvas, wrapContext, xul };