@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
@@ -4476,7 +4476,6 @@ const Animator = {
4476
4476
  timeouts: new Queue(),
4477
4477
  immediates: new Queue(),
4478
4478
  timer: () => globals.window.performance || globals.window.Date,
4479
- transforms: [],
4480
4479
  frame(fn) {
4481
4480
  const node = Animator.frames.push({ run: fn });
4482
4481
  if (Animator.nextDraw === null) Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);
@@ -4553,7 +4552,12 @@ var Timeline = class extends EventTarget {
4553
4552
  return !!this._nextFrame;
4554
4553
  }
4555
4554
  finish() {
4556
- this.time(this.getEndTimeOfTimeline() + 1);
4555
+ this._finishing = true;
4556
+ try {
4557
+ this.time(this.getEndTimeOfTimeline() + 1);
4558
+ } finally {
4559
+ this._finishing = false;
4560
+ }
4557
4561
  return this.pause();
4558
4562
  }
4559
4563
  getEndTime() {
@@ -4612,6 +4616,7 @@ var Timeline = class extends EventTarget {
4612
4616
  } else throw new Error("Invalid value for the \"when\" parameter");
4613
4617
  runner.unschedule();
4614
4618
  runner.timeline(this);
4619
+ runner._retired = false;
4615
4620
  const persist = runner.persist();
4616
4621
  const runnerInfo = {
4617
4622
  persist: persist === null ? this._persist : persist,
@@ -4619,6 +4624,7 @@ var Timeline = class extends EventTarget {
4619
4624
  runner
4620
4625
  };
4621
4626
  this._lastRunnerId = runner.id;
4627
+ runner._runnerInfo = runnerInfo;
4622
4628
  this._runners.push(runnerInfo);
4623
4629
  this._runners.sort((a, b) => a.start - b.start);
4624
4630
  this._runnerIds = this._runners.map((info) => info.runner.id);
@@ -4653,6 +4659,8 @@ var Timeline = class extends EventTarget {
4653
4659
  this._runners.splice(index, 1);
4654
4660
  this._runnerIds.splice(index, 1);
4655
4661
  runner.timeline(null);
4662
+ runner._runnerInfo = null;
4663
+ runner._retired = true;
4656
4664
  return this;
4657
4665
  }
4658
4666
  updateTime() {
@@ -4668,6 +4676,7 @@ var Timeline = class extends EventTarget {
4668
4676
  return this;
4669
4677
  }
4670
4678
  _stepFn(immediateStep = false) {
4679
+ const generation = this._generation;
4671
4680
  const time = this._timeSource();
4672
4681
  let dtSource = time - this._lastSourceTime;
4673
4682
  if (immediateStep) dtSource = 0;
@@ -4679,31 +4688,37 @@ var Timeline = class extends EventTarget {
4679
4688
  }
4680
4689
  this._lastStepTime = this._time;
4681
4690
  this.fire("time", this._time);
4682
- for (let k = this._runners.length; k--;) {
4683
- const runnerInfo = this._runners[k];
4691
+ const scheduled = this._runners.slice();
4692
+ for (let k = scheduled.length; k--;) {
4693
+ const runnerInfo = scheduled[k];
4694
+ if (runnerInfo.runner._runnerInfo !== runnerInfo) continue;
4684
4695
  const runner = runnerInfo.runner;
4685
- if (this._time - runnerInfo.start <= 0) runner.reset();
4696
+ if (this._time - runnerInfo.start < 0) runner.reset(true);
4686
4697
  }
4687
4698
  let runnersLeft = false;
4688
- for (let i = 0, len = this._runners.length; i < len; i++) {
4689
- const runnerInfo = this._runners[i];
4699
+ for (const runnerInfo of this._runners.slice()) {
4700
+ if (runnerInfo.runner._runnerInfo !== runnerInfo) continue;
4690
4701
  const runner = runnerInfo.runner;
4691
4702
  let dt = dtTime;
4692
4703
  const dtToStart = this._time - runnerInfo.start;
4693
- if (dtToStart <= 0) {
4704
+ if (dtToStart < 0) {
4705
+ runnersLeft = true;
4706
+ continue;
4707
+ } else if (dtToStart === 0) {
4708
+ runner.reset();
4694
4709
  runnersLeft = true;
4695
4710
  continue;
4696
4711
  } else if (dtToStart < dt) dt = dtToStart;
4697
4712
  if (!runner.active()) continue;
4698
- if (!runner.step(dt).done) runnersLeft = true;
4713
+ const finished = (this._finishing && runner._isDeclarative ? runner.finish() : runner.step(dt)).done;
4714
+ if (runner._runnerInfo !== runnerInfo) continue;
4715
+ if (!finished) runnersLeft = true;
4699
4716
  else if (runnerInfo.persist !== true) {
4700
- if (runner.duration() - runner.time() + this._time + runnerInfo.persist < this._time) {
4701
- runner.unschedule();
4702
- --i;
4703
- --len;
4704
- }
4717
+ if (runner.duration() - runner.time() + this._time + runnerInfo.persist <= this._time) runner.unschedule();
4705
4718
  }
4706
4719
  }
4720
+ if (generation !== this._generation) return this;
4721
+ if (!runnersLeft) runnersLeft = this._runners.some(({ start, runner }) => start >= this._time || runner.active() && !runner.done);
4707
4722
  if (runnersLeft && !(this._speed < 0 && this._time === 0) || this._runnerIds.length && this._speed < 0 && this._time > 0) this._continue();
4708
4723
  else {
4709
4724
  this.pause();
@@ -4712,11 +4727,18 @@ var Timeline = class extends EventTarget {
4712
4727
  return this;
4713
4728
  }
4714
4729
  terminate() {
4730
+ Animator.cancelFrame(this._nextFrame);
4731
+ this._generation = (this._generation || 0) + 1;
4715
4732
  this._startTime = 0;
4716
4733
  this._speed = 1;
4717
4734
  this._persist = 0;
4735
+ for (const { runner } of this._runners || []) {
4736
+ runner._retired = true;
4737
+ runner._runnerInfo = null;
4738
+ }
4718
4739
  this._nextFrame = null;
4719
4740
  this._paused = true;
4741
+ this._finishing = false;
4720
4742
  this._runners = [];
4721
4743
  this._runnerIds = [];
4722
4744
  this._lastRunnerId = -1;
@@ -4747,6 +4769,7 @@ var Runner = class Runner extends EventTarget {
4747
4769
  options = typeof options === "function" ? new Controller(options) : options;
4748
4770
  this._element = null;
4749
4771
  this._timeline = null;
4772
+ this._runnerInfo = null;
4750
4773
  this.done = false;
4751
4774
  this._queue = [];
4752
4775
  this._duration = typeof options === "number" && options;
@@ -4758,14 +4781,15 @@ var Runner = class Runner extends EventTarget {
4758
4781
  this._lastTime = 0;
4759
4782
  this._reseted = true;
4760
4783
  this.transforms = new Matrix();
4761
- this.transformId = 1;
4762
- this._haveReversed = false;
4784
+ this._isAbsoluteTransform = false;
4785
+ this._hasTransform = false;
4786
+ this._transformInitialised = false;
4787
+ this._transformActive = false;
4788
+ this._retired = false;
4763
4789
  this._reverse = false;
4764
- this._loopsDone = 0;
4765
4790
  this._swing = false;
4766
4791
  this._wait = 0;
4767
4792
  this._times = 1;
4768
- this._frameId = null;
4769
4793
  this._persist = this._isDeclarative ? true : null;
4770
4794
  }
4771
4795
  static sanitise(duration, delay, when) {
@@ -4799,6 +4823,8 @@ var Runner = class Runner extends EventTarget {
4799
4823
  }
4800
4824
  addTransform(transform) {
4801
4825
  this.transforms.lmultiplyO(transform);
4826
+ this._transformInitialised = true;
4827
+ this._transformActive = true;
4802
4828
  return this;
4803
4829
  }
4804
4830
  after(fn) {
@@ -4815,12 +4841,6 @@ var Runner = class Runner extends EventTarget {
4815
4841
  this.transforms = new Matrix();
4816
4842
  return this;
4817
4843
  }
4818
- clearTransformsFromQueue() {
4819
- var _context;
4820
- if (!this.done || !this._timeline || !(0, import_includes.default)(_context = this._timeline._runnerIds).call(_context, this.id)) this._queue = this._queue.filter((item) => {
4821
- return !item.isTransform;
4822
- });
4823
- }
4824
4844
  delay(delay) {
4825
4845
  return this.animate(0, delay);
4826
4846
  }
@@ -4841,7 +4861,11 @@ var Runner = class Runner extends EventTarget {
4841
4861
  return this;
4842
4862
  }
4843
4863
  finish() {
4844
- return this.step(Infinity);
4864
+ if (!this._isDeclarative) return this.time(this.duration());
4865
+ const time = this._time;
4866
+ this.step(Infinity);
4867
+ this._time = time;
4868
+ return this;
4845
4869
  }
4846
4870
  loop(times, swing, wait) {
4847
4871
  if (typeof times === "object") {
@@ -4901,6 +4925,7 @@ var Runner = class Runner extends EventTarget {
4901
4925
  return this.time(p * this.duration());
4902
4926
  }
4903
4927
  queue(initFn, runFn, retargetFn, isTransform) {
4928
+ if (this._isDeclarative) this.done = false;
4904
4929
  this._queue.push({
4905
4930
  initialiser: initFn || noop,
4906
4931
  runner: runFn || noop,
@@ -4912,10 +4937,28 @@ var Runner = class Runner extends EventTarget {
4912
4937
  this.timeline() && this.timeline()._continue();
4913
4938
  return this;
4914
4939
  }
4915
- reset() {
4916
- if (this._reseted) return this;
4917
- this.time(0);
4918
- this._reseted = true;
4940
+ reset(deactivateTransform = false) {
4941
+ if (this._reseted) {
4942
+ const transformActive = !deactivateTransform && this._hasTransform && this.position() !== 0;
4943
+ if (transformActive && !this._transformInitialised) {
4944
+ this.step(0);
4945
+ this._reseted = true;
4946
+ return this;
4947
+ }
4948
+ if (transformActive !== this._transformActive) {
4949
+ this._transformActive = transformActive;
4950
+ this._element && this._element._addRunner(this);
4951
+ }
4952
+ return this;
4953
+ }
4954
+ if (!this._reseted) {
4955
+ this.time(0);
4956
+ this._reseted = true;
4957
+ }
4958
+ if (deactivateTransform && this._transformActive) {
4959
+ this._transformActive = false;
4960
+ this._element && this._element._addRunner(this);
4961
+ }
4919
4962
  return this;
4920
4963
  }
4921
4964
  reverse(reverse) {
@@ -4934,6 +4977,7 @@ var Runner = class Runner extends EventTarget {
4934
4977
  }
4935
4978
  step(dt) {
4936
4979
  if (!this.enabled) return this;
4980
+ const wasDone = this.done;
4937
4981
  dt = dt == null ? 16 : dt;
4938
4982
  this._time += dt;
4939
4983
  const position = this.position();
@@ -4941,21 +4985,23 @@ var Runner = class Runner extends EventTarget {
4941
4985
  this._lastPosition = position;
4942
4986
  const duration = this.duration();
4943
4987
  const justStarted = this._lastTime <= 0 && this._time > 0;
4944
- const justFinished = this._lastTime < duration && this._time >= duration;
4945
4988
  this._lastTime = this._time;
4946
4989
  if (justStarted) this.fire("start", this);
4947
4990
  const declarative = this._isDeclarative;
4948
- this.done = !declarative && !justFinished && this._time >= duration;
4991
+ this.done = !declarative && this._time >= duration;
4949
4992
  this._reseted = false;
4993
+ const transformActive = this._hasTransform && (this._time > 0 || position !== 0);
4994
+ this._transformActive = transformActive;
4950
4995
  let converged = false;
4951
4996
  if (running || declarative) {
4952
4997
  this._initialise(running);
4953
4998
  this.transforms = new Matrix();
4954
4999
  converged = this._run(declarative ? dt : position);
5000
+ this._transformActive = transformActive;
4955
5001
  this.fire("step", this);
4956
5002
  }
4957
5003
  this.done = this.done || converged && declarative;
4958
- if (justFinished) this.fire("finished", this);
5004
+ if (this.done && !wasDone) this.fire("finished", this);
4959
5005
  return this;
4960
5006
  }
4961
5007
  time(time) {
@@ -5000,6 +5046,7 @@ var Runner = class Runner extends EventTarget {
5000
5046
  let allfinished = true;
5001
5047
  for (let i = 0, len = this._queue.length; i < len; ++i) {
5002
5048
  const current = this._queue[i];
5049
+ if (this._isDeclarative && current.finished && !current.isTransform) continue;
5003
5050
  const converged = current.runner.call(this, positionOrDt);
5004
5051
  current.finished = current.finished || converged === true;
5005
5052
  allfinished = allfinished && current.finished;
@@ -5016,6 +5063,7 @@ var Runner = class Runner extends EventTarget {
5016
5063
  if (this._history[method].caller.retarget) this._history[method].caller.retarget.call(this, target, extra);
5017
5064
  else this._history[method].morpher.to(target);
5018
5065
  this._history[method].caller.finished = false;
5066
+ if (this._isDeclarative) this.done = false;
5019
5067
  const timeline = this.timeline();
5020
5068
  timeline && timeline.play();
5021
5069
  return true;
@@ -5025,20 +5073,29 @@ var Runner = class Runner extends EventTarget {
5025
5073
  };
5026
5074
  Runner.id = 0;
5027
5075
  var FakeRunner = class {
5028
- constructor(transforms = new Matrix(), id = -1, done = true) {
5076
+ constructor(transforms = new Matrix(), id = -1, done = true, isAbsoluteTransform = false) {
5029
5077
  this.transforms = transforms;
5030
5078
  this.id = id;
5031
5079
  this.done = done;
5080
+ this._isAbsoluteTransform = isAbsoluteTransform;
5081
+ this._transformActive = true;
5082
+ this._retired = true;
5032
5083
  }
5033
- clearTransformsFromQueue() {}
5034
5084
  };
5035
5085
  extend([Runner, FakeRunner], { mergeWith(runner) {
5036
- return new FakeRunner(runner.transforms.lmultiply(this.transforms), runner.id);
5086
+ return new FakeRunner(this._isAbsoluteTransform ? this.transforms : runner.transforms.lmultiply(this.transforms), runner.id, true, runner._isAbsoluteTransform || this._isAbsoluteTransform);
5037
5087
  } });
5038
5088
  const lmultiply = (last, curr) => last.lmultiplyO(curr);
5039
5089
  const getRunnerTransform = (runner) => runner.transforms;
5090
+ const isActiveTransform = (runner) => runner._transformActive;
5091
+ function activeTransformRunners(runners) {
5092
+ const activeRunners = runners.filter(isActiveTransform);
5093
+ let firstRunner = 0;
5094
+ for (let i = 0; i < activeRunners.length; ++i) if (activeRunners[i]._isAbsoluteTransform) firstRunner = i;
5095
+ return activeRunners.slice(firstRunner);
5096
+ }
5040
5097
  function mergeTransforms() {
5041
- const netTransform = this._transformationRunners.runners.map(getRunnerTransform).reduce(lmultiply, new Matrix());
5098
+ const netTransform = activeTransformRunners(this._transformationRunners.runners).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5042
5099
  this.transform(netTransform);
5043
5100
  this._transformationRunners.merge();
5044
5101
  if (this._transformationRunners.length() === 1) this._frameId = null;
@@ -5046,40 +5103,29 @@ function mergeTransforms() {
5046
5103
  var RunnerArray = class {
5047
5104
  constructor() {
5048
5105
  this.runners = [];
5049
- this.ids = [];
5050
5106
  }
5051
5107
  add(runner) {
5052
- var _context2;
5053
- if ((0, import_includes.default)(_context2 = this.runners).call(_context2, runner)) return;
5054
- const id = runner.id + 1;
5108
+ var _context;
5109
+ if ((0, import_includes.default)(_context = this.runners).call(_context, runner)) return;
5055
5110
  this.runners.push(runner);
5056
- this.ids.push(id);
5057
- return this;
5058
- }
5059
- clearBefore(id) {
5060
- const deleteCnt = this.ids.indexOf(id + 1) || 1;
5061
- this.ids.splice(0, deleteCnt, 0);
5062
- this.runners.splice(0, deleteCnt, new FakeRunner()).forEach((r) => r.clearTransformsFromQueue());
5063
5111
  return this;
5064
5112
  }
5065
5113
  edit(id, newRunner) {
5066
- const index = this.ids.indexOf(id + 1);
5067
- this.ids.splice(index, 1, id + 1);
5068
- this.runners.splice(index, 1, newRunner);
5114
+ const index = this.runners.findIndex((runner) => runner.id === id);
5115
+ if (index >= 0) this.runners.splice(index, 1, newRunner);
5069
5116
  return this;
5070
5117
  }
5071
5118
  getByID(id) {
5072
- return this.runners[this.ids.indexOf(id + 1)];
5119
+ return this.runners.find((runner) => runner.id === id);
5073
5120
  }
5074
5121
  length() {
5075
- return this.ids.length;
5122
+ return this.runners.length;
5076
5123
  }
5077
5124
  merge() {
5078
5125
  let lastRunner = null;
5079
5126
  for (let i = 0; i < this.runners.length; ++i) {
5080
- var _context3, _context4;
5081
5127
  const runner = this.runners[i];
5082
- 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))) {
5128
+ if (lastRunner && runner.done && lastRunner.done && runner._retired && lastRunner._retired) {
5083
5129
  this.remove(runner.id);
5084
5130
  const newRunner = runner.mergeWith(lastRunner);
5085
5131
  this.edit(lastRunner.id, newRunner);
@@ -5090,9 +5136,8 @@ var RunnerArray = class {
5090
5136
  return this;
5091
5137
  }
5092
5138
  remove(id) {
5093
- const index = this.ids.indexOf(id + 1);
5094
- this.ids.splice(index, 1);
5095
- this.runners.splice(index, 1);
5139
+ const index = this.runners.findIndex((runner) => runner.id === id);
5140
+ if (index >= 0) this.runners.splice(index, 1);
5096
5141
  return this;
5097
5142
  }
5098
5143
  };
@@ -5105,13 +5150,13 @@ registerMethods({ Element: {
5105
5150
  delay(by, when) {
5106
5151
  return this.animate(0, by, when);
5107
5152
  },
5108
- _clearTransformRunnersBefore(currentRunner) {
5109
- this._transformationRunners.clearBefore(currentRunner.id);
5110
- },
5111
5153
  _currentTransform(current) {
5112
- return this._transformationRunners.runners.filter((runner) => runner.id <= current.id).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5154
+ const runners = this._transformationRunners.runners;
5155
+ const currentIndex = runners.indexOf(current);
5156
+ return activeTransformRunners(runners.slice(0, currentIndex + 1)).map(getRunnerTransform).reduce(lmultiply, new Matrix());
5113
5157
  },
5114
5158
  _addRunner(runner) {
5159
+ if (this._transformationRunners.length() === 1 && this._transformationRunners.runners[0].id === -1) this._transformationRunners.runners[0].transforms = new Matrix(this);
5115
5160
  this._transformationRunners.add(runner);
5116
5161
  Animator.cancelImmediate(this._frameId);
5117
5162
  this._frameId = Animator.immediate(mergeTransforms.bind(this));
@@ -5180,10 +5225,13 @@ extend(Runner, {
5180
5225
  **/
5181
5226
  transform(transforms, relative, affine) {
5182
5227
  relative = transforms.relative || relative;
5228
+ this._hasTransform = true;
5229
+ this._isAbsoluteTransform = this._isAbsoluteTransform || !relative;
5183
5230
  if (this._isDeclarative && !relative && this._tryRetarget("transform", transforms)) return this;
5184
5231
  const isMatrix = Matrix.isMatrixLike(transforms);
5185
5232
  affine = transforms.affine != null ? transforms.affine : affine != null ? affine : !isMatrix;
5186
5233
  const morpher = new Morphable(this._stepper).type(affine ? TransformBag : Matrix);
5234
+ const matrixMorpher = affine ? new Morphable(this._stepper).type(Matrix) : morpher;
5187
5235
  let origin;
5188
5236
  let element;
5189
5237
  let current;
@@ -5194,7 +5242,6 @@ extend(Runner, {
5194
5242
  origin = origin || getOrigin(transforms, element);
5195
5243
  startTransform = new Matrix(relative ? void 0 : element);
5196
5244
  element._addRunner(this);
5197
- if (!relative) element._clearTransformRunnersBefore(this);
5198
5245
  }
5199
5246
  function run(pos) {
5200
5247
  if (!relative) this.clearTransform();
@@ -5206,40 +5253,43 @@ extend(Runner, {
5206
5253
  if (targetTransforms.relative === true) delete targetTransforms.relative;
5207
5254
  let target = new Matrix(targetTransforms);
5208
5255
  let start = this._isDeclarative && current ? current : startTransform;
5256
+ let activeMorpher = morpher;
5209
5257
  if (affine) {
5210
- target = target.decompose(x, y);
5211
- start = start.decompose(x, y);
5212
- const rTarget = target.rotate;
5213
- const rCurrent = start.rotate;
5214
- const possibilities = [
5215
- rTarget - 360,
5216
- rTarget,
5217
- rTarget + 360
5218
- ];
5219
- const distances = possibilities.map((a) => Math.abs(a - rCurrent));
5220
- const shortest = Math.min(...distances);
5221
- const index = distances.indexOf(shortest);
5222
- target.rotate = possibilities[index];
5258
+ const targetParameters = target.decompose(x, y);
5259
+ const startParameters = start.decompose(x, y);
5260
+ if (!new TransformBag(targetParameters).toArray().concat(new TransformBag(startParameters).toArray()).every(Number.isFinite)) activeMorpher = matrixMorpher;
5261
+ else {
5262
+ target = targetParameters;
5263
+ start = startParameters;
5264
+ const rTarget = target.rotate;
5265
+ const rCurrent = start.rotate;
5266
+ const possibilities = [
5267
+ rTarget - 360,
5268
+ rTarget,
5269
+ rTarget + 360
5270
+ ];
5271
+ const distances = possibilities.map((a) => Math.abs(a - rCurrent));
5272
+ const shortest = Math.min(...distances);
5273
+ const index = distances.indexOf(shortest);
5274
+ target.rotate = possibilities[index];
5275
+ }
5223
5276
  }
5224
- if (relative) {
5277
+ if (relative && activeMorpher === morpher) {
5225
5278
  if (!isMatrix) target.rotate = transforms.rotate || 0;
5226
5279
  if (this._isDeclarative && currentAngle) start.rotate = currentAngle;
5227
5280
  }
5228
- morpher.from(start);
5229
- morpher.to(target);
5230
- const affineParameters = morpher.at(pos);
5281
+ activeMorpher.from(start);
5282
+ activeMorpher.to(target);
5283
+ const affineParameters = activeMorpher.at(pos);
5231
5284
  currentAngle = affineParameters.rotate;
5232
5285
  current = new Matrix(affineParameters);
5233
5286
  this.addTransform(current);
5234
5287
  element._addRunner(this);
5235
- return morpher.done();
5288
+ return activeMorpher.done();
5236
5289
  }
5237
5290
  function retarget(newTransforms) {
5238
- if ((newTransforms.origin || "center").toString() !== (transforms.origin || "center").toString()) origin = getOrigin(newTransforms, element);
5239
- transforms = {
5240
- ...newTransforms,
5241
- origin
5242
- };
5291
+ origin = getOrigin(newTransforms, element);
5292
+ transforms = { ...newTransforms };
5243
5293
  }
5244
5294
  this.queue(setup, run, retarget, true);
5245
5295
  this._isDeclarative && this._rememberMorpher("transform", morpher);