ng-virtual-list 15.12.3 → 15.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.
@@ -13,6 +13,7 @@ export class Animator {
13
13
  this._diff = 0;
14
14
  this._startValue = 0;
15
15
  this._endValue = 0;
16
+ this._prevPos = 0;
16
17
  }
17
18
  get animated() { return this._animationId > -1; }
18
19
  get isAnimated() { return this.hasAnimation(this._currentId); }
@@ -21,8 +22,8 @@ export class Animator {
21
22
  return Animator._nextId = Animator._nextId === Number.MAX_SAFE_INTEGER
22
23
  ? 0 : Animator._nextId + 1;
23
24
  }
24
- updateTo(value) {
25
- this._endValue = value;
25
+ updateTo(end) {
26
+ this._endValue = end;
26
27
  this._diff = this._endValue - this._startValue;
27
28
  return this.hasAnimation();
28
29
  }
@@ -34,7 +35,8 @@ export class Animator {
34
35
  this._startValue = startValue;
35
36
  this._endValue = endValue;
36
37
  const startTime = performance.now();
37
- let isCanceled = false, prevPos = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
38
+ let isCanceled = false, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
39
+ this._prevPos = startValue;
38
40
  this._diff = this._endValue - this._startValue;
39
41
  const step = (currentTime) => {
40
42
  if (id !== this._currentId) {
@@ -45,22 +47,22 @@ export class Animator {
45
47
  }
46
48
  const cPos = getPropValue?.() || 0;
47
49
  let startDelta = 0;
48
- if (cPos !== prevPos) {
49
- startDelta = cPos - prevPos;
50
+ if (cPos !== this._prevPos) {
51
+ startDelta = cPos - this._prevPos;
50
52
  startPosDelta += startDelta;
51
53
  }
52
- 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();
54
+ 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();
53
55
  isFinished = progress === 1;
54
- delta = currentValue - startDelta - prevPos;
56
+ delta = currentValue - startDelta - this._prevPos;
55
57
  const frameTimestamp = t - prevTime, actualFrameTimestamp = frameTimestamp < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : frameTimestamp;
56
58
  prevTime = t;
57
- prevPos = currentValue;
59
+ this._prevPos = currentValue;
58
60
  if (onUpdate !== undefined) {
59
61
  const data = {
60
62
  id,
61
63
  delta,
62
64
  elapsed,
63
- value: !withDelta && isFinished ? endValue : currentValue,
65
+ value: currentValue,
64
66
  timestamp: actualFrameTimestamp,
65
67
  };
66
68
  onUpdate(data);
@@ -72,7 +74,7 @@ export class Animator {
72
74
  id,
73
75
  delta,
74
76
  elapsed,
75
- value: withDelta ? currentValue : endValue,
77
+ value: currentValue,
76
78
  timestamp: actualFrameTimestamp,
77
79
  };
78
80
  onComplete(data);
@@ -100,4 +102,4 @@ export class Animator {
100
102
  }
101
103
  }
102
104
  Animator._nextId = 0;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBR1UsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFNekIsZUFBVSxHQUFXLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFTdEMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixjQUFTLEdBQVcsQ0FBQyxDQUFDO0lBMkdoQyxDQUFDO0lBNUhDLElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakQsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFJL0QsSUFBSSxFQUFFLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUU1QixVQUFVO1FBQ2hCLE9BQU8sUUFBUSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDcEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQVFELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBdUI7UUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE1BQU0sRUFDSixTQUFTLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsMEJBQTBCLEVBQzNGLFlBQVksRUFBRSxjQUFjLEdBQUcsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEdBQ2hFLEdBQUcsTUFBTSxDQUFDO1FBRVgsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFMUIsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksVUFBVSxHQUFHLEtBQUssRUFBRSxPQUFPLEdBQUcsVUFBVSxFQUFFLGFBQWEsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsU0FBUyxFQUFFLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDckgsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFL0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxXQUFtQixFQUFFLEVBQUU7WUFDbkMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDMUIsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtZQUVELElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRTtnQkFDaEIsT0FBTzthQUNSO1lBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDcEIsVUFBVSxHQUFHLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQzVCLGFBQWEsSUFBSSxVQUFVLENBQUM7YUFDN0I7WUFFRCxNQUFNLE9BQU8sR0FBRyxXQUFXLEdBQUcsU0FBUyxFQUNyQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ2pHLGFBQWEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQ3hDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxFQUNyRixZQUFZLEdBQUcsR0FBRyxFQUNsQixDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRXhCLFVBQVUsR0FBRyxRQUFRLEtBQUssQ0FBQyxDQUFDO1lBRTVCLEtBQUssR0FBRyxZQUFZLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztZQUU1QyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUNqQyxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFFM0csUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNiLE9BQU8sR0FBRyxZQUFZLENBQUM7WUFFdkIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUMxQixNQUFNLElBQUksR0FBd0I7b0JBQ2hDLEVBQUU7b0JBQ0YsS0FBSztvQkFDTCxPQUFPO29CQUNQLEtBQUssRUFBRSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWTtvQkFDekQsU0FBUyxFQUFFLG9CQUFvQjtpQkFDaEMsQ0FBQztnQkFDRixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEI7WUFFRCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxHQUF3Qjt3QkFDaEMsRUFBRTt3QkFDRixLQUFLO3dCQUNMLE9BQU87d0JBQ1AsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRO3dCQUMxQyxTQUFTLEVBQUUsb0JBQW9CO3FCQUNoQyxDQUFDO29CQUNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbEI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFBO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWEsQ0FBQyxDQUFDO1FBQ2xCLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7O0FBL0hjLGdCQUFPLEdBQVcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCwgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sIERFRkFVTFRfV0lUSF9ERUxUQSB9IGZyb20gJy4vY29uc3QnO1xyXG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi9lYXNlJztcclxuaW1wb3J0IHsgSUFuaW1hdG9yUGFyYW1zLCBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRvclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2FuaW1hdG9yLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFuaW1hdG9yIHtcclxuICBwcml2YXRlIHN0YXRpYyBfbmV4dElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbmltYXRpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5fYW5pbWF0aW9uSWQgPiAtMTsgfVxyXG5cclxuICBnZXQgaXNBbmltYXRlZCgpIHsgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKHRoaXMuX2N1cnJlbnRJZCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudElkOiBudW1iZXIgPSBBbmltYXRvci5fbmV4dElkO1xyXG5cclxuICBnZXQgaWQoKSB7IHJldHVybiB0aGlzLl9jdXJyZW50SWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RpZmY6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0VmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2VuZFZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICB1cGRhdGVUbyh2YWx1ZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9lbmRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZGlmZiA9IHRoaXMuX2VuZFZhbHVlIC0gdGhpcy5fc3RhcnRWYWx1ZTtcclxuICAgIHJldHVybiB0aGlzLmhhc0FuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0ZShwYXJhbXM6IElBbmltYXRvclBhcmFtcykge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcblxyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgIHRoaXMuX2N1cnJlbnRJZCA9IGlkO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgd2l0aERlbHRhID0gREVGQVVMVF9XSVRIX0RFTFRBLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgZHVyYXRpb24gPSBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTixcclxuICAgICAgZ2V0UHJvcFZhbHVlLCBlYXNpbmdGdW5jdGlvbiA9IGVhc2VMaW5lYXIsIG9uVXBkYXRlLCBvbkNvbXBsZXRlLFxyXG4gICAgfSA9IHBhcmFtcztcclxuXHJcbiAgICB0aGlzLl9zdGFydFZhbHVlID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2VuZFZhbHVlID0gZW5kVmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBsZXQgaXNDYW5jZWxlZCA9IGZhbHNlLCBwcmV2UG9zID0gc3RhcnRWYWx1ZSwgc3RhcnRQb3NEZWx0YSA9IDAsIGRlbHRhID0gMCwgcHJldlRpbWUgPSBzdGFydFRpbWUsIGlzRmluaXNoZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RlcCA9IChjdXJyZW50VGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5fY3VycmVudElkKSB7XHJcbiAgICAgICAgaXNDYW5jZWxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghIWlzQ2FuY2VsZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNQb3MgPSBnZXRQcm9wVmFsdWU/LigpIHx8IDA7XHJcbiAgICAgIGxldCBzdGFydERlbHRhID0gMDtcclxuICAgICAgaWYgKGNQb3MgIT09IHByZXZQb3MpIHtcclxuICAgICAgICBzdGFydERlbHRhID0gY1BvcyAtIHByZXZQb3M7XHJcbiAgICAgICAgc3RhcnRQb3NEZWx0YSArPSBzdGFydERlbHRhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWUsXHJcbiAgICAgICAgcHJvZ3Jlc3MgPSB0aGlzLl9zdGFydFZhbHVlID09PSBlbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyB0aGlzLl9zdGFydFZhbHVlICsgdGhpcy5fZGlmZiAqIGVhc2VkUHJvZ3Jlc3MsXHJcbiAgICAgICAgY3VycmVudFZhbHVlID0gdmFsLFxyXG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuXHJcbiAgICAgIGlzRmluaXNoZWQgPSBwcm9ncmVzcyA9PT0gMTtcclxuXHJcbiAgICAgIGRlbHRhID0gY3VycmVudFZhbHVlIC0gc3RhcnREZWx0YSAtIHByZXZQb3M7XHJcblxyXG4gICAgICBjb25zdCBmcmFtZVRpbWVzdGFtcCA9IHQgLSBwcmV2VGltZSxcclxuICAgICAgICBhY3R1YWxGcmFtZVRpbWVzdGFtcCA9IGZyYW1lVGltZXN0YW1wIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiBmcmFtZVRpbWVzdGFtcDtcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6ICF3aXRoRGVsdGEgJiYgaXNGaW5pc2hlZCA/IGVuZFZhbHVlIDogY3VycmVudFZhbHVlLFxyXG4gICAgICAgICAgdGltZXN0YW1wOiBhY3R1YWxGcmFtZVRpbWVzdGFtcCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9uVXBkYXRlKGRhdGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNGaW5pc2hlZCkge1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgICAgICAgaWYgKG9uQ29tcGxldGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGRlbHRhLFxyXG4gICAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlbHRhID8gY3VycmVudFZhbHVlIDogZW5kVmFsdWUsXHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgb25Db21wbGV0ZShkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudElkO1xyXG4gIH1cclxuXHJcbiAgaGFzQW5pbWF0aW9uKGlkOiBudW1iZXIgPSAtMSkge1xyXG4gICAgaWYgKCh0aGlzLl9jdXJyZW50SWQgPT09IGlkIHx8IGlkID09PSAtMSkgJiYgdGhpcy5hbmltYXRlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN0b3AoaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZShpZCA9PT0gLTEgPyB0aGlzLl9hbmltYXRpb25JZCA6IGlkKTtcclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBR1UsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFNekIsZUFBVSxHQUFXLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFTdEMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXRCLGFBQVEsR0FBVyxDQUFDLENBQUM7SUE0Ry9CLENBQUM7SUEvSEMsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUkvRCxJQUFJLEVBQUUsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVCLFVBQVU7UUFDaEIsT0FBTyxRQUFRLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUNwRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBVUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FB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QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7O0FBbEljLGdCQUFPLEdBQVcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCwgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sIERFRkFVTFRfV0lUSF9ERUxUQSB9IGZyb20gJy4vY29uc3QnO1xyXG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi9lYXNlJztcclxuaW1wb3J0IHsgSUFuaW1hdG9yUGFyYW1zLCBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRvclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2FuaW1hdG9yLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFuaW1hdG9yIHtcclxuICBwcml2YXRlIHN0YXRpYyBfbmV4dElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbmltYXRpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5fYW5pbWF0aW9uSWQgPiAtMTsgfVxyXG5cclxuICBnZXQgaXNBbmltYXRlZCgpIHsgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKHRoaXMuX2N1cnJlbnRJZCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudElkOiBudW1iZXIgPSBBbmltYXRvci5fbmV4dElkO1xyXG5cclxuICBnZXQgaWQoKSB7IHJldHVybiB0aGlzLl9jdXJyZW50SWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RpZmY6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0VmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2VuZFZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9wcmV2UG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICB1cGRhdGVUbyhlbmQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5fZW5kVmFsdWUgPSBlbmQ7XHJcbiAgICB0aGlzLl9kaWZmID0gdGhpcy5fZW5kVmFsdWUgLSB0aGlzLl9zdGFydFZhbHVlO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBhbmltYXRlKHBhcmFtczogSUFuaW1hdG9yUGFyYW1zKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuXHJcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2VuZXJhdGVJZCgpO1xyXG4gICAgdGhpcy5fY3VycmVudElkID0gaWQ7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICB3aXRoRGVsdGEgPSBERUZBVUxUX1dJVEhfREVMVEEsIHN0YXJ0VmFsdWUsIGVuZFZhbHVlLCBkdXJhdGlvbiA9IERFRkFVTFRfQU5JTUFUSU9OX0RVUkFUSU9OLFxyXG4gICAgICBnZXRQcm9wVmFsdWUsIGVhc2luZ0Z1bmN0aW9uID0gZWFzZUxpbmVhciwgb25VcGRhdGUsIG9uQ29tcGxldGUsXHJcbiAgICB9ID0gcGFyYW1zO1xyXG5cclxuICAgIHRoaXMuX3N0YXJ0VmFsdWUgPSBzdGFydFZhbHVlO1xyXG4gICAgdGhpcy5fZW5kVmFsdWUgPSBlbmRWYWx1ZTtcclxuXHJcbiAgICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuICAgIGxldCBpc0NhbmNlbGVkID0gZmFsc2UsIHN0YXJ0UG9zRGVsdGEgPSAwLCBkZWx0YSA9IDAsIHByZXZUaW1lID0gc3RhcnRUaW1lLCBpc0ZpbmlzaGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLl9wcmV2UG9zID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RlcCA9IChjdXJyZW50VGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5fY3VycmVudElkKSB7XHJcbiAgICAgICAgaXNDYW5jZWxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghIWlzQ2FuY2VsZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNQb3MgPSBnZXRQcm9wVmFsdWU/LigpIHx8IDA7XHJcbiAgICAgIGxldCBzdGFydERlbHRhID0gMDtcclxuICAgICAgaWYgKGNQb3MgIT09IHRoaXMuX3ByZXZQb3MpIHtcclxuICAgICAgICBzdGFydERlbHRhID0gY1BvcyAtIHRoaXMuX3ByZXZQb3M7XHJcbiAgICAgICAgc3RhcnRQb3NEZWx0YSArPSBzdGFydERlbHRhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWUsXHJcbiAgICAgICAgcHJvZ3Jlc3MgPSB0aGlzLl9zdGFydFZhbHVlID09PSB0aGlzLl9lbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyB0aGlzLl9zdGFydFZhbHVlICsgdGhpcy5fZGlmZiAqIGVhc2VkUHJvZ3Jlc3MsXHJcbiAgICAgICAgY3VycmVudFZhbHVlID0gdmFsLFxyXG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuXHJcbiAgICAgIGlzRmluaXNoZWQgPSBwcm9ncmVzcyA9PT0gMTtcclxuXHJcbiAgICAgIGRlbHRhID0gY3VycmVudFZhbHVlIC0gc3RhcnREZWx0YSAtIHRoaXMuX3ByZXZQb3M7XHJcblxyXG4gICAgICBjb25zdCBmcmFtZVRpbWVzdGFtcCA9IHQgLSBwcmV2VGltZSxcclxuICAgICAgICBhY3R1YWxGcmFtZVRpbWVzdGFtcCA9IGZyYW1lVGltZXN0YW1wIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiBmcmFtZVRpbWVzdGFtcDtcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgdGhpcy5fcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBvblVwZGF0ZShkYXRhKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlzRmluaXNoZWQpIHtcclxuICAgICAgICB0aGlzLl9hbmltYXRpb25JZCA9IC0xO1xyXG4gICAgICAgIGlmIChvbkNvbXBsZXRlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEgPSB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICBkZWx0YSxcclxuICAgICAgICAgICAgZWxhcHNlZCxcclxuICAgICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBhY3R1YWxGcmFtZVRpbWVzdGFtcCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBvbkNvbXBsZXRlKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0ZXApO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50SWQ7XHJcbiAgfVxyXG5cclxuICBoYXNBbmltYXRpb24oaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBpZiAoKHRoaXMuX2N1cnJlbnRJZCA9PT0gaWQgfHwgaWQgPT09IC0xKSAmJiB0aGlzLmFuaW1hdGVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RvcChpZDogbnVtYmVyID0gLTEpIHtcclxuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkID09PSAtMSA/IHRoaXMuX2FuaW1hdGlvbklkIDogaWQpO1xyXG4gICAgdGhpcy5fYW5pbWF0aW9uSWQgPSAtMTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -3956,6 +3956,7 @@ class Animator {
3956
3956
  this._diff = 0;
3957
3957
  this._startValue = 0;
3958
3958
  this._endValue = 0;
3959
+ this._prevPos = 0;
3959
3960
  }
3960
3961
  get animated() { return this._animationId > -1; }
3961
3962
  get isAnimated() { return this.hasAnimation(this._currentId); }
@@ -3964,8 +3965,8 @@ class Animator {
3964
3965
  return Animator._nextId = Animator._nextId === Number.MAX_SAFE_INTEGER
3965
3966
  ? 0 : Animator._nextId + 1;
3966
3967
  }
3967
- updateTo(value) {
3968
- this._endValue = value;
3968
+ updateTo(end) {
3969
+ this._endValue = end;
3969
3970
  this._diff = this._endValue - this._startValue;
3970
3971
  return this.hasAnimation();
3971
3972
  }
@@ -3977,7 +3978,8 @@ class Animator {
3977
3978
  this._startValue = startValue;
3978
3979
  this._endValue = endValue;
3979
3980
  const startTime = performance.now();
3980
- let isCanceled = false, prevPos = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
3981
+ let isCanceled = false, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
3982
+ this._prevPos = startValue;
3981
3983
  this._diff = this._endValue - this._startValue;
3982
3984
  const step = (currentTime) => {
3983
3985
  if (id !== this._currentId) {
@@ -3988,22 +3990,22 @@ class Animator {
3988
3990
  }
3989
3991
  const cPos = (getPropValue === null || getPropValue === void 0 ? void 0 : getPropValue()) || 0;
3990
3992
  let startDelta = 0;
3991
- if (cPos !== prevPos) {
3992
- startDelta = cPos - prevPos;
3993
+ if (cPos !== this._prevPos) {
3994
+ startDelta = cPos - this._prevPos;
3993
3995
  startPosDelta += startDelta;
3994
3996
  }
3995
- 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();
3997
+ 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();
3996
3998
  isFinished = progress === 1;
3997
- delta = currentValue - startDelta - prevPos;
3999
+ delta = currentValue - startDelta - this._prevPos;
3998
4000
  const frameTimestamp = t - prevTime, actualFrameTimestamp = frameTimestamp < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : frameTimestamp;
3999
4001
  prevTime = t;
4000
- prevPos = currentValue;
4002
+ this._prevPos = currentValue;
4001
4003
  if (onUpdate !== undefined) {
4002
4004
  const data = {
4003
4005
  id,
4004
4006
  delta,
4005
4007
  elapsed,
4006
- value: !withDelta && isFinished ? endValue : currentValue,
4008
+ value: currentValue,
4007
4009
  timestamp: actualFrameTimestamp,
4008
4010
  };
4009
4011
  onUpdate(data);
@@ -4015,7 +4017,7 @@ class Animator {
4015
4017
  id,
4016
4018
  delta,
4017
4019
  elapsed,
4018
- value: withDelta ? currentValue : endValue,
4020
+ value: currentValue,
4019
4021
  timestamp: actualFrameTimestamp,
4020
4022
  };
4021
4023
  onComplete(data);