ng-virtual-list 16.12.3 → 16.12.4

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.
@@ -20,8 +20,9 @@ export class Animator {
20
20
  _diff = 0;
21
21
  _startValue = 0;
22
22
  _endValue = 0;
23
- updateTo(value) {
24
- this._endValue = value;
23
+ _prevPos = 0;
24
+ updateTo(end) {
25
+ this._endValue = end;
25
26
  this._diff = this._endValue - this._startValue;
26
27
  return this.hasAnimation();
27
28
  }
@@ -33,7 +34,8 @@ export class Animator {
33
34
  this._startValue = startValue;
34
35
  this._endValue = endValue;
35
36
  const startTime = performance.now();
36
- let isCanceled = false, prevPos = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
37
+ let isCanceled = false, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
38
+ this._prevPos = startValue;
37
39
  this._diff = this._endValue - this._startValue;
38
40
  const step = (currentTime) => {
39
41
  if (id !== this._currentId) {
@@ -44,22 +46,22 @@ export class Animator {
44
46
  }
45
47
  const cPos = getPropValue?.() || 0;
46
48
  let startDelta = 0;
47
- if (cPos !== prevPos) {
48
- startDelta = cPos - prevPos;
49
+ if (cPos !== this._prevPos) {
50
+ startDelta = cPos - this._prevPos;
49
51
  startPosDelta += startDelta;
50
52
  }
51
- const elapsed = currentTime - startTime, progress = this._startValue === endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
53
+ const elapsed = currentTime - startTime, progress = this._startValue === this._endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
52
54
  isFinished = progress === 1;
53
- delta = currentValue - startDelta - prevPos;
55
+ delta = currentValue - startDelta - this._prevPos;
54
56
  const frameTimestamp = t - prevTime, actualFrameTimestamp = frameTimestamp < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : frameTimestamp;
55
57
  prevTime = t;
56
- prevPos = currentValue;
58
+ this._prevPos = currentValue;
57
59
  if (onUpdate !== undefined) {
58
60
  const data = {
59
61
  id,
60
62
  delta,
61
63
  elapsed,
62
- value: !withDelta && isFinished ? endValue : currentValue,
64
+ value: currentValue,
63
65
  timestamp: actualFrameTimestamp,
64
66
  };
65
67
  onUpdate(data);
@@ -71,7 +73,7 @@ export class Animator {
71
73
  id,
72
74
  delta,
73
75
  elapsed,
74
- value: withDelta ? currentValue : endValue,
76
+ value: currentValue,
75
77
  timestamp: actualFrameTimestamp,
76
78
  };
77
79
  onComplete(data);
@@ -98,4 +100,4 @@ export class Animator {
98
100
  this.stop();
99
101
  }
100
102
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1gsTUFBTSxDQUFDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFFM0IsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUVqQyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZELFVBQVUsR0FBVyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBRTlDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFNUIsVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFFeEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUU5QixRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FB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LElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCwgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sIERFRkFVTFRfV0lUSF9ERUxUQSB9IGZyb20gJy4vY29uc3QnO1xyXG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi9lYXNlJztcclxuaW1wb3J0IHsgSUFuaW1hdG9yUGFyYW1zLCBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRvclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2FuaW1hdG9yLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFuaW1hdG9yIHtcclxuICBwcml2YXRlIHN0YXRpYyBfbmV4dElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbmltYXRpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5fYW5pbWF0aW9uSWQgPiAtMTsgfVxyXG5cclxuICBnZXQgaXNBbmltYXRlZCgpIHsgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKHRoaXMuX2N1cnJlbnRJZCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudElkOiBudW1iZXIgPSBBbmltYXRvci5fbmV4dElkO1xyXG5cclxuICBnZXQgaWQoKSB7IHJldHVybiB0aGlzLl9jdXJyZW50SWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RpZmY6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0VmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2VuZFZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICB1cGRhdGVUbyh2YWx1ZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9lbmRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZGlmZiA9IHRoaXMuX2VuZFZhbHVlIC0gdGhpcy5fc3RhcnRWYWx1ZTtcclxuICAgIHJldHVybiB0aGlzLmhhc0FuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0ZShwYXJhbXM6IElBbmltYXRvclBhcmFtcykge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcblxyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgIHRoaXMuX2N1cnJlbnRJZCA9IGlkO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgd2l0aERlbHRhID0gREVGQVVMVF9XSVRIX0RFTFRBLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgZHVyYXRpb24gPSBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTixcclxuICAgICAgZ2V0UHJvcFZhbHVlLCBlYXNpbmdGdW5jdGlvbiA9IGVhc2VMaW5lYXIsIG9uVXBkYXRlLCBvbkNvbXBsZXRlLFxyXG4gICAgfSA9IHBhcmFtcztcclxuXHJcbiAgICB0aGlzLl9zdGFydFZhbHVlID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2VuZFZhbHVlID0gZW5kVmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBsZXQgaXNDYW5jZWxlZCA9IGZhbHNlLCBwcmV2UG9zID0gc3RhcnRWYWx1ZSwgc3RhcnRQb3NEZWx0YSA9IDAsIGRlbHRhID0gMCwgcHJldlRpbWUgPSBzdGFydFRpbWUsIGlzRmluaXNoZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RlcCA9IChjdXJyZW50VGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5fY3VycmVudElkKSB7XHJcbiAgICAgICAgaXNDYW5jZWxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghIWlzQ2FuY2VsZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNQb3MgPSBnZXRQcm9wVmFsdWU/LigpIHx8IDA7XHJcbiAgICAgIGxldCBzdGFydERlbHRhID0gMDtcclxuICAgICAgaWYgKGNQb3MgIT09IHByZXZQb3MpIHtcclxuICAgICAgICBzdGFydERlbHRhID0gY1BvcyAtIHByZXZQb3M7XHJcbiAgICAgICAgc3RhcnRQb3NEZWx0YSArPSBzdGFydERlbHRhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWUsXHJcbiAgICAgICAgcHJvZ3Jlc3MgPSB0aGlzLl9zdGFydFZhbHVlID09PSBlbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyB0aGlzLl9zdGFydFZhbHVlICsgdGhpcy5fZGlmZiAqIGVhc2VkUHJvZ3Jlc3MsXHJcbiAgICAgICAgY3VycmVudFZhbHVlID0gdmFsLFxyXG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuXHJcbiAgICAgIGlzRmluaXNoZWQgPSBwcm9ncmVzcyA9PT0gMTtcclxuXHJcbiAgICAgIGRlbHRhID0gY3VycmVudFZhbHVlIC0gc3RhcnREZWx0YSAtIHByZXZQb3M7XHJcblxyXG4gICAgICBjb25zdCBmcmFtZVRpbWVzdGFtcCA9IHQgLSBwcmV2VGltZSxcclxuICAgICAgICBhY3R1YWxGcmFtZVRpbWVzdGFtcCA9IGZyYW1lVGltZXN0YW1wIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiBmcmFtZVRpbWVzdGFtcDtcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6ICF3aXRoRGVsdGEgJiYgaXNGaW5pc2hlZCA/IGVuZFZhbHVlIDogY3VycmVudFZhbHVlLFxyXG4gICAgICAgICAgdGltZXN0YW1wOiBhY3R1YWxGcmFtZVRpbWVzdGFtcCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9uVXBkYXRlKGRhdGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNGaW5pc2hlZCkge1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgICAgICAgaWYgKG9uQ29tcGxldGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGRlbHRhLFxyXG4gICAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlbHRhID8gY3VycmVudFZhbHVlIDogZW5kVmFsdWUsXHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgb25Db21wbGV0ZShkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudElkO1xyXG4gIH1cclxuXHJcbiAgaGFzQW5pbWF0aW9uKGlkOiBudW1iZXIgPSAtMSkge1xyXG4gICAgaWYgKCh0aGlzLl9jdXJyZW50SWQgPT09IGlkIHx8IGlkID09PSAtMSkgJiYgdGhpcy5hbmltYXRlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN0b3AoaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZShpZCA9PT0gLTEgPyB0aGlzLl9hbmltYXRpb25JZCA6IGlkKTtcclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1gsTUFBTSxDQUFDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFFM0IsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUVqQyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZELFVBQVUsR0FBVyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBRTlDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFNUIsVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFFeEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUV0QixRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRTdCLFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLElB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QUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCwgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sIERFRkFVTFRfV0lUSF9ERUxUQSB9IGZyb20gJy4vY29uc3QnO1xyXG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi9lYXNlJztcclxuaW1wb3J0IHsgSUFuaW1hdG9yUGFyYW1zLCBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRvclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2FuaW1hdG9yLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFuaW1hdG9yIHtcclxuICBwcml2YXRlIHN0YXRpYyBfbmV4dElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbmltYXRpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5fYW5pbWF0aW9uSWQgPiAtMTsgfVxyXG5cclxuICBnZXQgaXNBbmltYXRlZCgpIHsgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKHRoaXMuX2N1cnJlbnRJZCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudElkOiBudW1iZXIgPSBBbmltYXRvci5fbmV4dElkO1xyXG5cclxuICBnZXQgaWQoKSB7IHJldHVybiB0aGlzLl9jdXJyZW50SWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RpZmY6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0VmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2VuZFZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9wcmV2UG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICB1cGRhdGVUbyhlbmQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5fZW5kVmFsdWUgPSBlbmQ7XHJcbiAgICB0aGlzLl9kaWZmID0gdGhpcy5fZW5kVmFsdWUgLSB0aGlzLl9zdGFydFZhbHVlO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBhbmltYXRlKHBhcmFtczogSUFuaW1hdG9yUGFyYW1zKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuXHJcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2VuZXJhdGVJZCgpO1xyXG4gICAgdGhpcy5fY3VycmVudElkID0gaWQ7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICB3aXRoRGVsdGEgPSBERUZBVUxUX1dJVEhfREVMVEEsIHN0YXJ0VmFsdWUsIGVuZFZhbHVlLCBkdXJhdGlvbiA9IERFRkFVTFRfQU5JTUFUSU9OX0RVUkFUSU9OLFxyXG4gICAgICBnZXRQcm9wVmFsdWUsIGVhc2luZ0Z1bmN0aW9uID0gZWFzZUxpbmVhciwgb25VcGRhdGUsIG9uQ29tcGxldGUsXHJcbiAgICB9ID0gcGFyYW1zO1xyXG5cclxuICAgIHRoaXMuX3N0YXJ0VmFsdWUgPSBzdGFydFZhbHVlO1xyXG4gICAgdGhpcy5fZW5kVmFsdWUgPSBlbmRWYWx1ZTtcclxuXHJcbiAgICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuICAgIGxldCBpc0NhbmNlbGVkID0gZmFsc2UsIHN0YXJ0UG9zRGVsdGEgPSAwLCBkZWx0YSA9IDAsIHByZXZUaW1lID0gc3RhcnRUaW1lLCBpc0ZpbmlzaGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLl9wcmV2UG9zID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RlcCA9IChjdXJyZW50VGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5fY3VycmVudElkKSB7XHJcbiAgICAgICAgaXNDYW5jZWxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghIWlzQ2FuY2VsZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNQb3MgPSBnZXRQcm9wVmFsdWU/LigpIHx8IDA7XHJcbiAgICAgIGxldCBzdGFydERlbHRhID0gMDtcclxuICAgICAgaWYgKGNQb3MgIT09IHRoaXMuX3ByZXZQb3MpIHtcclxuICAgICAgICBzdGFydERlbHRhID0gY1BvcyAtIHRoaXMuX3ByZXZQb3M7XHJcbiAgICAgICAgc3RhcnRQb3NEZWx0YSArPSBzdGFydERlbHRhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWUsXHJcbiAgICAgICAgcHJvZ3Jlc3MgPSB0aGlzLl9zdGFydFZhbHVlID09PSB0aGlzLl9lbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyB0aGlzLl9zdGFydFZhbHVlICsgdGhpcy5fZGlmZiAqIGVhc2VkUHJvZ3Jlc3MsXHJcbiAgICAgICAgY3VycmVudFZhbHVlID0gdmFsLFxyXG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuXHJcbiAgICAgIGlzRmluaXNoZWQgPSBwcm9ncmVzcyA9PT0gMTtcclxuXHJcbiAgICAgIGRlbHRhID0gY3VycmVudFZhbHVlIC0gc3RhcnREZWx0YSAtIHRoaXMuX3ByZXZQb3M7XHJcblxyXG4gICAgICBjb25zdCBmcmFtZVRpbWVzdGFtcCA9IHQgLSBwcmV2VGltZSxcclxuICAgICAgICBhY3R1YWxGcmFtZVRpbWVzdGFtcCA9IGZyYW1lVGltZXN0YW1wIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiBmcmFtZVRpbWVzdGFtcDtcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgdGhpcy5fcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBvblVwZGF0ZShkYXRhKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlzRmluaXNoZWQpIHtcclxuICAgICAgICB0aGlzLl9hbmltYXRpb25JZCA9IC0xO1xyXG4gICAgICAgIGlmIChvbkNvbXBsZXRlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEgPSB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICBkZWx0YSxcclxuICAgICAgICAgICAgZWxhcHNlZCxcclxuICAgICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBhY3R1YWxGcmFtZVRpbWVzdGFtcCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBvbkNvbXBsZXRlKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0ZXApO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50SWQ7XHJcbiAgfVxyXG5cclxuICBoYXNBbmltYXRpb24oaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBpZiAoKHRoaXMuX2N1cnJlbnRJZCA9PT0gaWQgfHwgaWQgPT09IC0xKSAmJiB0aGlzLmFuaW1hdGVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RvcChpZDogbnVtYmVyID0gLTEpIHtcclxuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkID09PSAtMSA/IHRoaXMuX2FuaW1hdGlvbklkIDogaWQpO1xyXG4gICAgdGhpcy5fYW5pbWF0aW9uSWQgPSAtMTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -3972,8 +3972,9 @@ class Animator {
3972
3972
  _diff = 0;
3973
3973
  _startValue = 0;
3974
3974
  _endValue = 0;
3975
- updateTo(value) {
3976
- this._endValue = value;
3975
+ _prevPos = 0;
3976
+ updateTo(end) {
3977
+ this._endValue = end;
3977
3978
  this._diff = this._endValue - this._startValue;
3978
3979
  return this.hasAnimation();
3979
3980
  }
@@ -3985,7 +3986,8 @@ class Animator {
3985
3986
  this._startValue = startValue;
3986
3987
  this._endValue = endValue;
3987
3988
  const startTime = performance.now();
3988
- let isCanceled = false, prevPos = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
3989
+ let isCanceled = false, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
3990
+ this._prevPos = startValue;
3989
3991
  this._diff = this._endValue - this._startValue;
3990
3992
  const step = (currentTime) => {
3991
3993
  if (id !== this._currentId) {
@@ -3996,22 +3998,22 @@ class Animator {
3996
3998
  }
3997
3999
  const cPos = getPropValue?.() || 0;
3998
4000
  let startDelta = 0;
3999
- if (cPos !== prevPos) {
4000
- startDelta = cPos - prevPos;
4001
+ if (cPos !== this._prevPos) {
4002
+ startDelta = cPos - this._prevPos;
4001
4003
  startPosDelta += startDelta;
4002
4004
  }
4003
- const elapsed = currentTime - startTime, progress = this._startValue === endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
4005
+ const elapsed = currentTime - startTime, progress = this._startValue === this._endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
4004
4006
  isFinished = progress === 1;
4005
- delta = currentValue - startDelta - prevPos;
4007
+ delta = currentValue - startDelta - this._prevPos;
4006
4008
  const frameTimestamp = t - prevTime, actualFrameTimestamp = frameTimestamp < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : frameTimestamp;
4007
4009
  prevTime = t;
4008
- prevPos = currentValue;
4010
+ this._prevPos = currentValue;
4009
4011
  if (onUpdate !== undefined) {
4010
4012
  const data = {
4011
4013
  id,
4012
4014
  delta,
4013
4015
  elapsed,
4014
- value: !withDelta && isFinished ? endValue : currentValue,
4016
+ value: currentValue,
4015
4017
  timestamp: actualFrameTimestamp,
4016
4018
  };
4017
4019
  onUpdate(data);
@@ -4023,7 +4025,7 @@ class Animator {
4023
4025
  id,
4024
4026
  delta,
4025
4027
  elapsed,
4026
- value: withDelta ? currentValue : endValue,
4028
+ value: currentValue,
4027
4029
  timestamp: actualFrameTimestamp,
4028
4030
  };
4029
4031
  onComplete(data);