@verdocs/web-sdk 6.10.4 → 6.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/cjs/Environment-CUCX3aWX.js +17 -0
  2. package/dist/cjs/Environment-CUCX3aWX.js.map +1 -0
  3. package/dist/cjs/{interact.min-CGi6ndGs.js → interact.min-CPZxI9Hv.js} +4 -4
  4. package/dist/cjs/interact.min-CPZxI9Hv.js.map +1 -0
  5. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +18 -11
  7. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  8. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-preview_6.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-sign.cjs.entry.js +8 -4
  12. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  13. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +135 -85
  14. package/dist/cjs/verdocs-status-indicator.cjs.entry.js.map +1 -1
  15. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +8 -4
  16. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  17. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +18 -11
  18. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  19. package/dist/collection/utils/Environment.js +8 -1
  20. package/dist/collection/utils/Environment.js.map +1 -1
  21. package/dist/components/{p-v9WkIq1Z.js → p-B6aUlIQe.js} +2 -2
  22. package/dist/components/{p-BUKCOnKs.js → p-BELGzhZw.js} +2 -2
  23. package/dist/components/{p-C1VW_3fv.js → p-BQUZjuoP.js} +2 -2
  24. package/dist/components/p-C1iHkDUH.js +2 -0
  25. package/dist/components/p-C1iHkDUH.js.map +1 -0
  26. package/dist/components/{p-CC7jlZnx.js → p-C43B3SP_.js} +2 -2
  27. package/dist/components/{p-C4ygd3v_.js → p-COaijEV0.js} +2 -2
  28. package/dist/components/p-COaijEV0.js.map +1 -0
  29. package/dist/components/{p-DEhaAbKn.js → p-CYvB5bYX.js} +2 -2
  30. package/dist/components/{p-Bi94seCl.js → p-D-TexkaT.js} +2 -2
  31. package/dist/components/{p-DP_N7u8w.js → p-D1cSgqut.js} +2 -2
  32. package/dist/components/{p-B3nCB2u5.js → p-D7oMWhqM.js} +2 -2
  33. package/dist/components/p-DCZz2B7h.js +2 -0
  34. package/dist/components/p-DCZz2B7h.js.map +1 -0
  35. package/dist/components/{p-CHzNcBIz.js → p-DKKsPZnz.js} +2 -2
  36. package/dist/components/{p-BA3SxsdQ.js → p-DZa0rMk2.js} +2 -2
  37. package/dist/components/{p-CqVkL8_m.js → p-DfIxVX8-.js} +2 -2
  38. package/dist/components/{p-C_mtaGHG.js → p-DiYuPnJJ.js} +2 -2
  39. package/dist/components/{p-RvR1j0oO.js → p-DiwfOWXt.js} +2 -2
  40. package/dist/components/p-Dy2CRiH8.js +2 -0
  41. package/dist/components/p-Dy2CRiH8.js.map +1 -0
  42. package/dist/components/{p-5fVPVL_Z.js → p-K_PKw6bs.js} +2 -2
  43. package/dist/components/{p-ohuuh9ZE.js → p-bPe0_Dsn.js} +2 -2
  44. package/dist/components/{p-B3UP88BP.js → p-i3o08M2d.js} +2 -2
  45. package/dist/components/{p-DnqXAqmP.js → p-zTcSNwsp.js} +2 -2
  46. package/dist/components/verdocs-build.js +1 -1
  47. package/dist/components/verdocs-contact-picker.js +1 -1
  48. package/dist/components/verdocs-delegate-dialog.js +1 -1
  49. package/dist/components/verdocs-envelopes-list.js +1 -1
  50. package/dist/components/verdocs-field-attachment.js +1 -1
  51. package/dist/components/verdocs-field-checkbox.js +1 -1
  52. package/dist/components/verdocs-field-date.js +1 -1
  53. package/dist/components/verdocs-field-dropdown.js +1 -1
  54. package/dist/components/verdocs-field-initial.js +1 -1
  55. package/dist/components/verdocs-field-payment.js +1 -1
  56. package/dist/components/verdocs-field-radio.js +1 -1
  57. package/dist/components/verdocs-field-signature.js +1 -1
  58. package/dist/components/verdocs-field-textarea.js +1 -1
  59. package/dist/components/verdocs-field-textbox.js +1 -1
  60. package/dist/components/verdocs-field-timestamp.js +1 -1
  61. package/dist/components/verdocs-otp-dialog.js +1 -1
  62. package/dist/components/verdocs-passcode-dialog.js +1 -1
  63. package/dist/components/verdocs-preview.js +1 -1
  64. package/dist/components/verdocs-send.js +1 -1
  65. package/dist/components/verdocs-sign.js +1 -1
  66. package/dist/components/verdocs-sign.js.map +1 -1
  67. package/dist/components/verdocs-status-indicator.js +1 -1
  68. package/dist/components/verdocs-template-document-page.js +1 -1
  69. package/dist/components/verdocs-template-fields.js +1 -1
  70. package/dist/esm/Environment-Dy2CRiH8.js +15 -0
  71. package/dist/esm/Environment-Dy2CRiH8.js.map +1 -0
  72. package/dist/esm/{interact.min-BO_a_7pQ.js → interact.min-Bf1WXbdg.js} +4 -4
  73. package/dist/esm/interact.min-Bf1WXbdg.js.map +1 -0
  74. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  75. package/dist/esm/verdocs-contact-picker.entry.js +18 -11
  76. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  77. package/dist/esm/verdocs-field-attachment_11.entry.js +1 -1
  78. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  79. package/dist/esm/verdocs-preview_6.entry.js +2 -2
  80. package/dist/esm/verdocs-sign.entry.js +8 -4
  81. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  82. package/dist/esm/verdocs-status-indicator.entry.js +135 -85
  83. package/dist/esm/verdocs-status-indicator.entry.js.map +1 -1
  84. package/dist/esm-es5/Environment-Dy2CRiH8.js +2 -0
  85. package/dist/esm-es5/Environment-Dy2CRiH8.js.map +1 -0
  86. package/dist/esm-es5/{interact.min-BO_a_7pQ.js → interact.min-Bf1WXbdg.js} +2 -2
  87. package/dist/esm-es5/interact.min-Bf1WXbdg.js.map +1 -0
  88. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  89. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  90. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  91. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  92. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  93. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  94. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  96. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-status-indicator.entry.js.map +1 -1
  98. package/dist/verdocs-web-sdk/{p-addd303e.system.entry.js → p-006f051b.system.entry.js} +2 -2
  99. package/dist/verdocs-web-sdk/p-006f051b.system.entry.js.map +1 -0
  100. package/dist/verdocs-web-sdk/{p-9c481477.entry.js → p-10d47bbd.entry.js} +2 -2
  101. package/dist/verdocs-web-sdk/{p-4471c1b4.entry.js → p-1df29abb.entry.js} +2 -2
  102. package/dist/verdocs-web-sdk/p-255e1915.entry.js +2 -0
  103. package/dist/verdocs-web-sdk/p-255e1915.entry.js.map +1 -0
  104. package/dist/verdocs-web-sdk/p-46e52384.system.entry.js +2 -0
  105. package/dist/verdocs-web-sdk/p-46e52384.system.entry.js.map +1 -0
  106. package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js → p-4aee15e6.entry.js} +2 -2
  107. package/dist/verdocs-web-sdk/p-5f58b4cd.entry.js +2 -0
  108. package/dist/verdocs-web-sdk/p-5f58b4cd.entry.js.map +1 -0
  109. package/dist/verdocs-web-sdk/{p-b3ac740e.system.entry.js → p-62464041.system.entry.js} +2 -2
  110. package/dist/verdocs-web-sdk/{p-4f9bd0bd.system.entry.js → p-6e8ce989.system.entry.js} +2 -2
  111. package/dist/verdocs-web-sdk/p-734c8a8b.entry.js +2 -0
  112. package/dist/verdocs-web-sdk/p-734c8a8b.entry.js.map +1 -0
  113. package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
  114. package/dist/verdocs-web-sdk/p-C96xjMgt.system.js +2 -0
  115. package/dist/verdocs-web-sdk/p-C96xjMgt.system.js.map +1 -0
  116. package/dist/verdocs-web-sdk/{p-C4ygd3v_.js → p-COaijEV0.js} +2 -2
  117. package/dist/verdocs-web-sdk/p-COaijEV0.js.map +1 -0
  118. package/dist/verdocs-web-sdk/{p-DQMNv-mt.system.js → p-CQwimGbQ.system.js} +2 -2
  119. package/dist/{cjs/interact.min-CGi6ndGs.js.map → verdocs-web-sdk/p-CQwimGbQ.system.js.map} +1 -1
  120. package/dist/verdocs-web-sdk/p-Dy2CRiH8.js +2 -0
  121. package/dist/verdocs-web-sdk/p-Dy2CRiH8.js.map +1 -0
  122. package/dist/verdocs-web-sdk/{p-1273627b.system.entry.js → p-c3527f3e.system.entry.js} +2 -2
  123. package/dist/verdocs-web-sdk/p-c86111fd.system.entry.js +2 -0
  124. package/dist/verdocs-web-sdk/p-c86111fd.system.entry.js.map +1 -0
  125. package/dist/verdocs-web-sdk/{p-5c2025ca.entry.js → p-d95705c6.entry.js} +2 -2
  126. package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js → p-e87a29a3.system.entry.js} +3 -3
  127. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  128. package/package.json +4 -4
  129. package/dist/cjs/Environment-CP-XG6Lt.js +0 -13
  130. package/dist/cjs/Environment-CP-XG6Lt.js.map +0 -1
  131. package/dist/components/p-29evahil.js +0 -2
  132. package/dist/components/p-29evahil.js.map +0 -1
  133. package/dist/components/p-C4ygd3v_.js.map +0 -1
  134. package/dist/components/p-CA8hWmuL.js +0 -2
  135. package/dist/components/p-CA8hWmuL.js.map +0 -1
  136. package/dist/components/p-DtHLJ-XO.js +0 -2
  137. package/dist/components/p-DtHLJ-XO.js.map +0 -1
  138. package/dist/esm/Environment-29evahil.js +0 -11
  139. package/dist/esm/Environment-29evahil.js.map +0 -1
  140. package/dist/esm/interact.min-BO_a_7pQ.js.map +0 -1
  141. package/dist/esm-es5/Environment-29evahil.js +0 -2
  142. package/dist/esm-es5/Environment-29evahil.js.map +0 -1
  143. package/dist/esm-es5/interact.min-BO_a_7pQ.js.map +0 -1
  144. package/dist/verdocs-web-sdk/p-0eaeb487.system.entry.js +0 -2
  145. package/dist/verdocs-web-sdk/p-0eaeb487.system.entry.js.map +0 -1
  146. package/dist/verdocs-web-sdk/p-1a06dffb.entry.js +0 -2
  147. package/dist/verdocs-web-sdk/p-1a06dffb.entry.js.map +0 -1
  148. package/dist/verdocs-web-sdk/p-2636ac4d.entry.js +0 -2
  149. package/dist/verdocs-web-sdk/p-2636ac4d.entry.js.map +0 -1
  150. package/dist/verdocs-web-sdk/p-29evahil.js +0 -2
  151. package/dist/verdocs-web-sdk/p-29evahil.js.map +0 -1
  152. package/dist/verdocs-web-sdk/p-4a2d69b9.system.entry.js +0 -2
  153. package/dist/verdocs-web-sdk/p-4a2d69b9.system.entry.js.map +0 -1
  154. package/dist/verdocs-web-sdk/p-C4ygd3v_.js.map +0 -1
  155. package/dist/verdocs-web-sdk/p-CHg64SCg.system.js +0 -2
  156. package/dist/verdocs-web-sdk/p-CHg64SCg.system.js.map +0 -1
  157. package/dist/verdocs-web-sdk/p-DQMNv-mt.system.js.map +0 -1
  158. package/dist/verdocs-web-sdk/p-addd303e.system.entry.js.map +0 -1
  159. package/dist/verdocs-web-sdk/p-f9ef8d34.entry.js +0 -2
  160. package/dist/verdocs-web-sdk/p-f9ef8d34.entry.js.map +0 -1
  161. /package/dist/components/{p-v9WkIq1Z.js.map → p-B6aUlIQe.js.map} +0 -0
  162. /package/dist/components/{p-BUKCOnKs.js.map → p-BELGzhZw.js.map} +0 -0
  163. /package/dist/components/{p-C1VW_3fv.js.map → p-BQUZjuoP.js.map} +0 -0
  164. /package/dist/components/{p-CC7jlZnx.js.map → p-C43B3SP_.js.map} +0 -0
  165. /package/dist/components/{p-DEhaAbKn.js.map → p-CYvB5bYX.js.map} +0 -0
  166. /package/dist/components/{p-Bi94seCl.js.map → p-D-TexkaT.js.map} +0 -0
  167. /package/dist/components/{p-DP_N7u8w.js.map → p-D1cSgqut.js.map} +0 -0
  168. /package/dist/components/{p-B3nCB2u5.js.map → p-D7oMWhqM.js.map} +0 -0
  169. /package/dist/components/{p-CHzNcBIz.js.map → p-DKKsPZnz.js.map} +0 -0
  170. /package/dist/components/{p-BA3SxsdQ.js.map → p-DZa0rMk2.js.map} +0 -0
  171. /package/dist/components/{p-CqVkL8_m.js.map → p-DfIxVX8-.js.map} +0 -0
  172. /package/dist/components/{p-C_mtaGHG.js.map → p-DiYuPnJJ.js.map} +0 -0
  173. /package/dist/components/{p-RvR1j0oO.js.map → p-DiwfOWXt.js.map} +0 -0
  174. /package/dist/components/{p-5fVPVL_Z.js.map → p-K_PKw6bs.js.map} +0 -0
  175. /package/dist/components/{p-ohuuh9ZE.js.map → p-bPe0_Dsn.js.map} +0 -0
  176. /package/dist/components/{p-B3UP88BP.js.map → p-i3o08M2d.js.map} +0 -0
  177. /package/dist/components/{p-DnqXAqmP.js.map → p-zTcSNwsp.js.map} +0 -0
  178. /package/dist/verdocs-web-sdk/{p-9c481477.entry.js.map → p-10d47bbd.entry.js.map} +0 -0
  179. /package/dist/verdocs-web-sdk/{p-4471c1b4.entry.js.map → p-1df29abb.entry.js.map} +0 -0
  180. /package/dist/verdocs-web-sdk/{p-d06d9cfd.entry.js.map → p-4aee15e6.entry.js.map} +0 -0
  181. /package/dist/verdocs-web-sdk/{p-b3ac740e.system.entry.js.map → p-62464041.system.entry.js.map} +0 -0
  182. /package/dist/verdocs-web-sdk/{p-4f9bd0bd.system.entry.js.map → p-6e8ce989.system.entry.js.map} +0 -0
  183. /package/dist/verdocs-web-sdk/{p-1273627b.system.entry.js.map → p-c3527f3e.system.entry.js.map} +0 -0
  184. /package/dist/verdocs-web-sdk/{p-5c2025ca.entry.js.map → p-d95705c6.entry.js.map} +0 -0
  185. /package/dist/verdocs-web-sdk/{p-6af0110a.system.entry.js.map → p-e87a29a3.system.entry.js.map} +0 -0
@@ -4478,7 +4478,6 @@ const Animator = {
4478
4478
  timeouts: new Queue(),
4479
4479
  immediates: new Queue(),
4480
4480
  timer: () => globals.window.performance || globals.window.Date,
4481
- transforms: [],
4482
4481
  frame(fn) {
4483
4482
  const node = Animator.frames.push({ run: fn });
4484
4483
  if (Animator.nextDraw === null) Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);
@@ -4555,7 +4554,12 @@ var Timeline = class extends EventTarget {
4555
4554
  return !!this._nextFrame;
4556
4555
  }
4557
4556
  finish() {
4558
- this.time(this.getEndTimeOfTimeline() + 1);
4557
+ this._finishing = true;
4558
+ try {
4559
+ this.time(this.getEndTimeOfTimeline() + 1);
4560
+ } finally {
4561
+ this._finishing = false;
4562
+ }
4559
4563
  return this.pause();
4560
4564
  }
4561
4565
  getEndTime() {
@@ -4614,6 +4618,7 @@ var Timeline = class extends EventTarget {
4614
4618
  } else throw new Error("Invalid value for the \"when\" parameter");
4615
4619
  runner.unschedule();
4616
4620
  runner.timeline(this);
4621
+ runner._retired = false;
4617
4622
  const persist = runner.persist();
4618
4623
  const runnerInfo = {
4619
4624
  persist: persist === null ? this._persist : persist,
@@ -4621,6 +4626,7 @@ var Timeline = class extends EventTarget {
4621
4626
  runner
4622
4627
  };
4623
4628
  this._lastRunnerId = runner.id;
4629
+ runner._runnerInfo = runnerInfo;
4624
4630
  this._runners.push(runnerInfo);
4625
4631
  this._runners.sort((a, b) => a.start - b.start);
4626
4632
  this._runnerIds = this._runners.map((info) => info.runner.id);
@@ -4655,6 +4661,8 @@ var Timeline = class extends EventTarget {
4655
4661
  this._runners.splice(index, 1);
4656
4662
  this._runnerIds.splice(index, 1);
4657
4663
  runner.timeline(null);
4664
+ runner._runnerInfo = null;
4665
+ runner._retired = true;
4658
4666
  return this;
4659
4667
  }
4660
4668
  updateTime() {
@@ -4670,6 +4678,7 @@ var Timeline = class extends EventTarget {
4670
4678
  return this;
4671
4679
  }
4672
4680
  _stepFn(immediateStep = false) {
4681
+ const generation = this._generation;
4673
4682
  const time = this._timeSource();
4674
4683
  let dtSource = time - this._lastSourceTime;
4675
4684
  if (immediateStep) dtSource = 0;
@@ -4681,31 +4690,37 @@ var Timeline = class extends EventTarget {
4681
4690
  }
4682
4691
  this._lastStepTime = this._time;
4683
4692
  this.fire("time", this._time);
4684
- for (let k = this._runners.length; k--;) {
4685
- const runnerInfo = this._runners[k];
4693
+ const scheduled = this._runners.slice();
4694
+ for (let k = scheduled.length; k--;) {
4695
+ const runnerInfo = scheduled[k];
4696
+ if (runnerInfo.runner._runnerInfo !== runnerInfo) continue;
4686
4697
  const runner = runnerInfo.runner;
4687
- if (this._time - runnerInfo.start <= 0) runner.reset();
4698
+ if (this._time - runnerInfo.start < 0) runner.reset(true);
4688
4699
  }
4689
4700
  let runnersLeft = false;
4690
- for (let i = 0, len = this._runners.length; i < len; i++) {
4691
- const runnerInfo = this._runners[i];
4701
+ for (const runnerInfo of this._runners.slice()) {
4702
+ if (runnerInfo.runner._runnerInfo !== runnerInfo) continue;
4692
4703
  const runner = runnerInfo.runner;
4693
4704
  let dt = dtTime;
4694
4705
  const dtToStart = this._time - runnerInfo.start;
4695
- if (dtToStart <= 0) {
4706
+ if (dtToStart < 0) {
4707
+ runnersLeft = true;
4708
+ continue;
4709
+ } else if (dtToStart === 0) {
4710
+ runner.reset();
4696
4711
  runnersLeft = true;
4697
4712
  continue;
4698
4713
  } else if (dtToStart < dt) dt = dtToStart;
4699
4714
  if (!runner.active()) continue;
4700
- if (!runner.step(dt).done) runnersLeft = true;
4715
+ const finished = (this._finishing && runner._isDeclarative ? runner.finish() : runner.step(dt)).done;
4716
+ if (runner._runnerInfo !== runnerInfo) continue;
4717
+ if (!finished) runnersLeft = true;
4701
4718
  else if (runnerInfo.persist !== true) {
4702
- if (runner.duration() - runner.time() + this._time + runnerInfo.persist < this._time) {
4703
- runner.unschedule();
4704
- --i;
4705
- --len;
4706
- }
4719
+ if (runner.duration() - runner.time() + this._time + runnerInfo.persist <= this._time) runner.unschedule();
4707
4720
  }
4708
4721
  }
4722
+ if (generation !== this._generation) return this;
4723
+ if (!runnersLeft) runnersLeft = this._runners.some(({ start, runner }) => start >= this._time || runner.active() && !runner.done);
4709
4724
  if (runnersLeft && !(this._speed < 0 && this._time === 0) || this._runnerIds.length && this._speed < 0 && this._time > 0) this._continue();
4710
4725
  else {
4711
4726
  this.pause();
@@ -4714,11 +4729,18 @@ var Timeline = class extends EventTarget {
4714
4729
  return this;
4715
4730
  }
4716
4731
  terminate() {
4732
+ Animator.cancelFrame(this._nextFrame);
4733
+ this._generation = (this._generation || 0) + 1;
4717
4734
  this._startTime = 0;
4718
4735
  this._speed = 1;
4719
4736
  this._persist = 0;
4737
+ for (const { runner } of this._runners || []) {
4738
+ runner._retired = true;
4739
+ runner._runnerInfo = null;
4740
+ }
4720
4741
  this._nextFrame = null;
4721
4742
  this._paused = true;
4743
+ this._finishing = false;
4722
4744
  this._runners = [];
4723
4745
  this._runnerIds = [];
4724
4746
  this._lastRunnerId = -1;
@@ -4749,6 +4771,7 @@ var Runner = class Runner extends EventTarget {
4749
4771
  options = typeof options === "function" ? new Controller(options) : options;
4750
4772
  this._element = null;
4751
4773
  this._timeline = null;
4774
+ this._runnerInfo = null;
4752
4775
  this.done = false;
4753
4776
  this._queue = [];
4754
4777
  this._duration = typeof options === "number" && options;
@@ -4760,14 +4783,15 @@ var Runner = class Runner extends EventTarget {
4760
4783
  this._lastTime = 0;
4761
4784
  this._reseted = true;
4762
4785
  this.transforms = new Matrix();
4763
- this.transformId = 1;
4764
- this._haveReversed = false;
4786
+ this._isAbsoluteTransform = false;
4787
+ this._hasTransform = false;
4788
+ this._transformInitialised = false;
4789
+ this._transformActive = false;
4790
+ this._retired = false;
4765
4791
  this._reverse = false;
4766
- this._loopsDone = 0;
4767
4792
  this._swing = false;
4768
4793
  this._wait = 0;
4769
4794
  this._times = 1;
4770
- this._frameId = null;
4771
4795
  this._persist = this._isDeclarative ? true : null;
4772
4796
  }
4773
4797
  static sanitise(duration, delay, when) {
@@ -4801,6 +4825,8 @@ var Runner = class Runner extends EventTarget {
4801
4825
  }
4802
4826
  addTransform(transform) {
4803
4827
  this.transforms.lmultiplyO(transform);
4828
+ this._transformInitialised = true;
4829
+ this._transformActive = true;
4804
4830
  return this;
4805
4831
  }
4806
4832
  after(fn) {
@@ -4817,12 +4843,6 @@ var Runner = class Runner extends EventTarget {
4817
4843
  this.transforms = new Matrix();
4818
4844
  return this;
4819
4845
  }
4820
- clearTransformsFromQueue() {
4821
- var _context;
4822
- if (!this.done || !this._timeline || !(0, import_includes.default)(_context = this._timeline._runnerIds).call(_context, this.id)) this._queue = this._queue.filter((item) => {
4823
- return !item.isTransform;
4824
- });
4825
- }
4826
4846
  delay(delay) {
4827
4847
  return this.animate(0, delay);
4828
4848
  }
@@ -4843,7 +4863,11 @@ var Runner = class Runner extends EventTarget {
4843
4863
  return this;
4844
4864
  }
4845
4865
  finish() {
4846
- return this.step(Infinity);
4866
+ if (!this._isDeclarative) return this.time(this.duration());
4867
+ const time = this._time;
4868
+ this.step(Infinity);
4869
+ this._time = time;
4870
+ return this;
4847
4871
  }
4848
4872
  loop(times, swing, wait) {
4849
4873
  if (typeof times === "object") {
@@ -4903,6 +4927,7 @@ var Runner = class Runner extends EventTarget {
4903
4927
  return this.time(p * this.duration());
4904
4928
  }
4905
4929
  queue(initFn, runFn, retargetFn, isTransform) {
4930
+ if (this._isDeclarative) this.done = false;
4906
4931
  this._queue.push({
4907
4932
  initialiser: initFn || noop,
4908
4933
  runner: runFn || noop,
@@ -4914,10 +4939,28 @@ var Runner = class Runner extends EventTarget {
4914
4939
  this.timeline() && this.timeline()._continue();
4915
4940
  return this;
4916
4941
  }
4917
- reset() {
4918
- if (this._reseted) return this;
4919
- this.time(0);
4920
- this._reseted = true;
4942
+ reset(deactivateTransform = false) {
4943
+ if (this._reseted) {
4944
+ const transformActive = !deactivateTransform && this._hasTransform && this.position() !== 0;
4945
+ if (transformActive && !this._transformInitialised) {
4946
+ this.step(0);
4947
+ this._reseted = true;
4948
+ return this;
4949
+ }
4950
+ if (transformActive !== this._transformActive) {
4951
+ this._transformActive = transformActive;
4952
+ this._element && this._element._addRunner(this);
4953
+ }
4954
+ return this;
4955
+ }
4956
+ if (!this._reseted) {
4957
+ this.time(0);
4958
+ this._reseted = true;
4959
+ }
4960
+ if (deactivateTransform && this._transformActive) {
4961
+ this._transformActive = false;
4962
+ this._element && this._element._addRunner(this);
4963
+ }
4921
4964
  return this;
4922
4965
  }
4923
4966
  reverse(reverse) {
@@ -4936,6 +4979,7 @@ var Runner = class Runner extends EventTarget {
4936
4979
  }
4937
4980
  step(dt) {
4938
4981
  if (!this.enabled) return this;
4982
+ const wasDone = this.done;
4939
4983
  dt = dt == null ? 16 : dt;
4940
4984
  this._time += dt;
4941
4985
  const position = this.position();
@@ -4943,21 +4987,23 @@ var Runner = class Runner extends EventTarget {
4943
4987
  this._lastPosition = position;
4944
4988
  const duration = this.duration();
4945
4989
  const justStarted = this._lastTime <= 0 && this._time > 0;
4946
- const justFinished = this._lastTime < duration && this._time >= duration;
4947
4990
  this._lastTime = this._time;
4948
4991
  if (justStarted) this.fire("start", this);
4949
4992
  const declarative = this._isDeclarative;
4950
- this.done = !declarative && !justFinished && this._time >= duration;
4993
+ this.done = !declarative && this._time >= duration;
4951
4994
  this._reseted = false;
4995
+ const transformActive = this._hasTransform && (this._time > 0 || position !== 0);
4996
+ this._transformActive = transformActive;
4952
4997
  let converged = false;
4953
4998
  if (running || declarative) {
4954
4999
  this._initialise(running);
4955
5000
  this.transforms = new Matrix();
4956
5001
  converged = this._run(declarative ? dt : position);
5002
+ this._transformActive = transformActive;
4957
5003
  this.fire("step", this);
4958
5004
  }
4959
5005
  this.done = this.done || converged && declarative;
4960
- if (justFinished) this.fire("finished", this);
5006
+ if (this.done && !wasDone) this.fire("finished", this);
4961
5007
  return this;
4962
5008
  }
4963
5009
  time(time) {
@@ -5002,6 +5048,7 @@ var Runner = class Runner extends EventTarget {
5002
5048
  let allfinished = true;
5003
5049
  for (let i = 0, len = this._queue.length; i < len; ++i) {
5004
5050
  const current = this._queue[i];
5051
+ if (this._isDeclarative && current.finished && !current.isTransform) continue;
5005
5052
  const converged = current.runner.call(this, positionOrDt);
5006
5053
  current.finished = current.finished || converged === true;
5007
5054
  allfinished = allfinished && current.finished;
@@ -5018,6 +5065,7 @@ var Runner = class Runner extends EventTarget {
5018
5065
  if (this._history[method].caller.retarget) this._history[method].caller.retarget.call(this, target, extra);
5019
5066
  else this._history[method].morpher.to(target);
5020
5067
  this._history[method].caller.finished = false;
5068
+ if (this._isDeclarative) this.done = false;
5021
5069
  const timeline = this.timeline();
5022
5070
  timeline && timeline.play();
5023
5071
  return true;
@@ -5027,20 +5075,29 @@ var Runner = class Runner extends EventTarget {
5027
5075
  };
5028
5076
  Runner.id = 0;
5029
5077
  var FakeRunner = class {
5030
- constructor(transforms = new Matrix(), id = -1, done = true) {
5078
+ constructor(transforms = new Matrix(), id = -1, done = true, isAbsoluteTransform = false) {
5031
5079
  this.transforms = transforms;
5032
5080
  this.id = id;
5033
5081
  this.done = done;
5082
+ this._isAbsoluteTransform = isAbsoluteTransform;
5083
+ this._transformActive = true;
5084
+ this._retired = true;
5034
5085
  }
5035
- clearTransformsFromQueue() {}
5036
5086
  };
5037
5087
  extend([Runner, FakeRunner], { mergeWith(runner) {
5038
- return new FakeRunner(runner.transforms.lmultiply(this.transforms), runner.id);
5088
+ return new FakeRunner(this._isAbsoluteTransform ? this.transforms : runner.transforms.lmultiply(this.transforms), runner.id, true, runner._isAbsoluteTransform || this._isAbsoluteTransform);
5039
5089
  } });
5040
5090
  const lmultiply = (last, curr) => last.lmultiplyO(curr);
5041
5091
  const getRunnerTransform = (runner) => runner.transforms;
5092
+ const isActiveTransform = (runner) => runner._transformActive;
5093
+ function activeTransformRunners(runners) {
5094
+ const activeRunners = runners.filter(isActiveTransform);
5095
+ let firstRunner = 0;
5096
+ for (let i = 0; i < activeRunners.length; ++i) if (activeRunners[i]._isAbsoluteTransform) firstRunner = i;
5097
+ return activeRunners.slice(firstRunner);
5098
+ }
5042
5099
  function mergeTransforms() {
5043
- const netTransform = this._transformationRunners.runners.map(getRunnerTransform).reduce(lmultiply, new Matrix());
5100
+ const netTransform = activeTransformRunners(this._transformationRunners.runners).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5044
5101
  this.transform(netTransform);
5045
5102
  this._transformationRunners.merge();
5046
5103
  if (this._transformationRunners.length() === 1) this._frameId = null;
@@ -5048,40 +5105,29 @@ function mergeTransforms() {
5048
5105
  var RunnerArray = class {
5049
5106
  constructor() {
5050
5107
  this.runners = [];
5051
- this.ids = [];
5052
5108
  }
5053
5109
  add(runner) {
5054
- var _context2;
5055
- if ((0, import_includes.default)(_context2 = this.runners).call(_context2, runner)) return;
5056
- const id = runner.id + 1;
5110
+ var _context;
5111
+ if ((0, import_includes.default)(_context = this.runners).call(_context, runner)) return;
5057
5112
  this.runners.push(runner);
5058
- this.ids.push(id);
5059
- return this;
5060
- }
5061
- clearBefore(id) {
5062
- const deleteCnt = this.ids.indexOf(id + 1) || 1;
5063
- this.ids.splice(0, deleteCnt, 0);
5064
- this.runners.splice(0, deleteCnt, new FakeRunner()).forEach((r) => r.clearTransformsFromQueue());
5065
5113
  return this;
5066
5114
  }
5067
5115
  edit(id, newRunner) {
5068
- const index = this.ids.indexOf(id + 1);
5069
- this.ids.splice(index, 1, id + 1);
5070
- this.runners.splice(index, 1, newRunner);
5116
+ const index = this.runners.findIndex((runner) => runner.id === id);
5117
+ if (index >= 0) this.runners.splice(index, 1, newRunner);
5071
5118
  return this;
5072
5119
  }
5073
5120
  getByID(id) {
5074
- return this.runners[this.ids.indexOf(id + 1)];
5121
+ return this.runners.find((runner) => runner.id === id);
5075
5122
  }
5076
5123
  length() {
5077
- return this.ids.length;
5124
+ return this.runners.length;
5078
5125
  }
5079
5126
  merge() {
5080
5127
  let lastRunner = null;
5081
5128
  for (let i = 0; i < this.runners.length; ++i) {
5082
- var _context3, _context4;
5083
5129
  const runner = this.runners[i];
5084
- if (lastRunner && runner.done && lastRunner.done && (!runner._timeline || !(0, import_includes.default)(_context3 = runner._timeline._runnerIds).call(_context3, runner.id)) && (!lastRunner._timeline || !(0, import_includes.default)(_context4 = lastRunner._timeline._runnerIds).call(_context4, lastRunner.id))) {
5130
+ if (lastRunner && runner.done && lastRunner.done && runner._retired && lastRunner._retired) {
5085
5131
  this.remove(runner.id);
5086
5132
  const newRunner = runner.mergeWith(lastRunner);
5087
5133
  this.edit(lastRunner.id, newRunner);
@@ -5092,9 +5138,8 @@ var RunnerArray = class {
5092
5138
  return this;
5093
5139
  }
5094
5140
  remove(id) {
5095
- const index = this.ids.indexOf(id + 1);
5096
- this.ids.splice(index, 1);
5097
- this.runners.splice(index, 1);
5141
+ const index = this.runners.findIndex((runner) => runner.id === id);
5142
+ if (index >= 0) this.runners.splice(index, 1);
5098
5143
  return this;
5099
5144
  }
5100
5145
  };
@@ -5107,13 +5152,13 @@ registerMethods({ Element: {
5107
5152
  delay(by, when) {
5108
5153
  return this.animate(0, by, when);
5109
5154
  },
5110
- _clearTransformRunnersBefore(currentRunner) {
5111
- this._transformationRunners.clearBefore(currentRunner.id);
5112
- },
5113
5155
  _currentTransform(current) {
5114
- return this._transformationRunners.runners.filter((runner) => runner.id <= current.id).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5156
+ const runners = this._transformationRunners.runners;
5157
+ const currentIndex = runners.indexOf(current);
5158
+ return activeTransformRunners(runners.slice(0, currentIndex + 1)).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5115
5159
  },
5116
5160
  _addRunner(runner) {
5161
+ if (this._transformationRunners.length() === 1 && this._transformationRunners.runners[0].id === -1) this._transformationRunners.runners[0].transforms = new Matrix(this);
5117
5162
  this._transformationRunners.add(runner);
5118
5163
  Animator.cancelImmediate(this._frameId);
5119
5164
  this._frameId = Animator.immediate(mergeTransforms.bind(this));
@@ -5182,10 +5227,13 @@ extend(Runner, {
5182
5227
  **/
5183
5228
  transform(transforms, relative, affine) {
5184
5229
  relative = transforms.relative || relative;
5230
+ this._hasTransform = true;
5231
+ this._isAbsoluteTransform = this._isAbsoluteTransform || !relative;
5185
5232
  if (this._isDeclarative && !relative && this._tryRetarget("transform", transforms)) return this;
5186
5233
  const isMatrix = Matrix.isMatrixLike(transforms);
5187
5234
  affine = transforms.affine != null ? transforms.affine : affine != null ? affine : !isMatrix;
5188
5235
  const morpher = new Morphable(this._stepper).type(affine ? TransformBag : Matrix);
5236
+ const matrixMorpher = affine ? new Morphable(this._stepper).type(Matrix) : morpher;
5189
5237
  let origin;
5190
5238
  let element;
5191
5239
  let current;
@@ -5196,7 +5244,6 @@ extend(Runner, {
5196
5244
  origin = origin || getOrigin(transforms, element);
5197
5245
  startTransform = new Matrix(relative ? void 0 : element);
5198
5246
  element._addRunner(this);
5199
- if (!relative) element._clearTransformRunnersBefore(this);
5200
5247
  }
5201
5248
  function run(pos) {
5202
5249
  if (!relative) this.clearTransform();
@@ -5208,40 +5255,43 @@ extend(Runner, {
5208
5255
  if (targetTransforms.relative === true) delete targetTransforms.relative;
5209
5256
  let target = new Matrix(targetTransforms);
5210
5257
  let start = this._isDeclarative && current ? current : startTransform;
5258
+ let activeMorpher = morpher;
5211
5259
  if (affine) {
5212
- target = target.decompose(x, y);
5213
- start = start.decompose(x, y);
5214
- const rTarget = target.rotate;
5215
- const rCurrent = start.rotate;
5216
- const possibilities = [
5217
- rTarget - 360,
5218
- rTarget,
5219
- rTarget + 360
5220
- ];
5221
- const distances = possibilities.map((a) => Math.abs(a - rCurrent));
5222
- const shortest = Math.min(...distances);
5223
- const index = distances.indexOf(shortest);
5224
- target.rotate = possibilities[index];
5260
+ const targetParameters = target.decompose(x, y);
5261
+ const startParameters = start.decompose(x, y);
5262
+ if (!new TransformBag(targetParameters).toArray().concat(new TransformBag(startParameters).toArray()).every(Number.isFinite)) activeMorpher = matrixMorpher;
5263
+ else {
5264
+ target = targetParameters;
5265
+ start = startParameters;
5266
+ const rTarget = target.rotate;
5267
+ const rCurrent = start.rotate;
5268
+ const possibilities = [
5269
+ rTarget - 360,
5270
+ rTarget,
5271
+ rTarget + 360
5272
+ ];
5273
+ const distances = possibilities.map((a) => Math.abs(a - rCurrent));
5274
+ const shortest = Math.min(...distances);
5275
+ const index = distances.indexOf(shortest);
5276
+ target.rotate = possibilities[index];
5277
+ }
5225
5278
  }
5226
- if (relative) {
5279
+ if (relative && activeMorpher === morpher) {
5227
5280
  if (!isMatrix) target.rotate = transforms.rotate || 0;
5228
5281
  if (this._isDeclarative && currentAngle) start.rotate = currentAngle;
5229
5282
  }
5230
- morpher.from(start);
5231
- morpher.to(target);
5232
- const affineParameters = morpher.at(pos);
5283
+ activeMorpher.from(start);
5284
+ activeMorpher.to(target);
5285
+ const affineParameters = activeMorpher.at(pos);
5233
5286
  currentAngle = affineParameters.rotate;
5234
5287
  current = new Matrix(affineParameters);
5235
5288
  this.addTransform(current);
5236
5289
  element._addRunner(this);
5237
- return morpher.done();
5290
+ return activeMorpher.done();
5238
5291
  }
5239
5292
  function retarget(newTransforms) {
5240
- if ((newTransforms.origin || "center").toString() !== (transforms.origin || "center").toString()) origin = getOrigin(newTransforms, element);
5241
- transforms = {
5242
- ...newTransforms,
5243
- origin
5244
- };
5293
+ origin = getOrigin(newTransforms, element);
5294
+ transforms = { ...newTransforms };
5245
5295
  }
5246
5296
  this.queue(setup, run, retarget, true);
5247
5297
  this._isDeclarative && this._rememberMorpher("transform", morpher);