chnobli 0.1.8 → 0.1.10

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 (127) hide show
  1. package/dist/animation/Animation.d.ts.map +1 -1
  2. package/dist/animation/Animation.js +2 -2
  3. package/dist/animation/Animation.js.map +1 -1
  4. package/dist/animation/public.d.ts +11 -1
  5. package/dist/animation/public.d.ts.map +1 -1
  6. package/dist/animation/public.js +10 -2
  7. package/dist/animation/public.js.map +1 -1
  8. package/dist/chnobli.d.ts +6 -7
  9. package/dist/chnobli.d.ts.map +1 -1
  10. package/dist/chnobli.js +0 -4
  11. package/dist/chnobli.js.map +1 -1
  12. package/dist/property/Property.d.ts.map +1 -1
  13. package/dist/property/Property.js +2 -0
  14. package/dist/property/Property.js.map +1 -1
  15. package/dist/property/StyleProperty.d.ts +1 -1
  16. package/dist/property/StyleProperty.d.ts.map +1 -1
  17. package/dist/property/StyleProperty.js +2 -2
  18. package/dist/property/StyleProperty.js.map +1 -1
  19. package/dist/scroll/Scroll.d.ts +28 -15
  20. package/dist/scroll/Scroll.d.ts.map +1 -1
  21. package/dist/scroll/Scroll.js +107 -71
  22. package/dist/scroll/Scroll.js.map +1 -1
  23. package/dist/scroll/index.d.ts +6 -0
  24. package/dist/scroll/index.d.ts.map +1 -0
  25. package/dist/scroll/index.js +8 -0
  26. package/dist/scroll/index.js.map +1 -0
  27. package/dist/scroll/public.d.ts +14 -4
  28. package/dist/scroll/public.d.ts.map +1 -1
  29. package/dist/scroll/public.js +18 -10
  30. package/dist/scroll/public.js.map +1 -1
  31. package/dist/stagger/stagger.d.ts +6 -5
  32. package/dist/stagger/stagger.d.ts.map +1 -1
  33. package/dist/stagger/stagger.js +11 -9
  34. package/dist/stagger/stagger.js.map +1 -1
  35. package/dist/target/ObjectTarget.d.ts +30 -0
  36. package/dist/target/ObjectTarget.d.ts.map +1 -0
  37. package/dist/target/ObjectTarget.js +101 -0
  38. package/dist/target/ObjectTarget.js.map +1 -0
  39. package/dist/target/Target.d.ts +3 -0
  40. package/dist/target/Target.d.ts.map +1 -1
  41. package/dist/target/Target.js +4 -0
  42. package/dist/target/Target.js.map +1 -1
  43. package/dist/timeline/Nested.d.ts +1 -1
  44. package/dist/timeline/Nested.js +1 -1
  45. package/dist/timeline/{TimeLine.d.ts → Timeline.d.ts} +11 -2
  46. package/dist/timeline/{TimeLine.d.ts.map → Timeline.d.ts.map} +1 -1
  47. package/dist/timeline/{TimeLine.js → Timeline.js} +20 -2
  48. package/dist/timeline/Timeline.js.map +1 -0
  49. package/dist/timeline/public.d.ts +30 -5
  50. package/dist/timeline/public.d.ts.map +1 -1
  51. package/dist/timeline/public.js +113 -41
  52. package/dist/timeline/public.js.map +1 -1
  53. package/dist/timing/Timing.d.ts +10 -1
  54. package/dist/timing/Timing.d.ts.map +1 -1
  55. package/dist/timing/Timing.js +19 -0
  56. package/dist/timing/Timing.js.map +1 -1
  57. package/dist/utils/internal.d.ts +4 -1
  58. package/dist/utils/internal.d.ts.map +1 -1
  59. package/dist/utils/internal.js +4 -1
  60. package/dist/utils/internal.js.map +1 -1
  61. package/dist/utils/utils.d.ts +2 -1
  62. package/dist/utils/utils.d.ts.map +1 -1
  63. package/dist/utils/utils.js +9 -6
  64. package/dist/utils/utils.js.map +1 -1
  65. package/dist/values/StyleValue.d.ts +1 -0
  66. package/dist/values/StyleValue.d.ts.map +1 -1
  67. package/dist/values/StyleValue.js +10 -0
  68. package/dist/values/StyleValue.js.map +1 -1
  69. package/package.json +9 -5
  70. package/src/animation/Animation.ts +2 -2
  71. package/src/animation/public.ts +39 -5
  72. package/src/chnobli.ts +15 -11
  73. package/src/property/Property.ts +2 -0
  74. package/src/property/StyleProperty.ts +2 -2
  75. package/src/scroll/Scroll.ts +172 -88
  76. package/src/scroll/index.ts +8 -0
  77. package/src/scroll/public.ts +23 -12
  78. package/src/stagger/stagger.ts +28 -14
  79. package/src/target/ObjectTarget.ts +124 -0
  80. package/src/target/Target.ts +13 -0
  81. package/src/tests/properties.test.ts +51 -1
  82. package/src/timeline/Nested.ts +1 -1
  83. package/src/timeline/{TimeLine.ts → Timeline.ts} +21 -1
  84. package/src/timeline/public.ts +168 -47
  85. package/src/timing/Timing.ts +37 -3
  86. package/src/utils/internal.ts +6 -3
  87. package/src/utils/utils.ts +16 -7
  88. package/src/values/StyleValue.ts +13 -1
  89. package/tsconfig.json +0 -1
  90. package/.editorconfig +0 -11
  91. package/.github/workflows/ci.yaml +0 -34
  92. package/.prettierignore +0 -4
  93. package/.prettierrc +0 -6
  94. package/.vscode/settings.json +0 -4
  95. package/LICENSE.md +0 -21
  96. package/README.md +0 -5
  97. package/auto-docs/easing.js.html +0 -342
  98. package/auto-docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  99. package/auto-docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  100. package/auto-docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  101. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  102. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  103. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  104. package/auto-docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  105. package/auto-docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  106. package/auto-docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  107. package/auto-docs/fonts/OpenSans-Light-webfont.eot +0 -0
  108. package/auto-docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  109. package/auto-docs/fonts/OpenSans-Light-webfont.woff +0 -0
  110. package/auto-docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  111. package/auto-docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  112. package/auto-docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  113. package/auto-docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  114. package/auto-docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  115. package/auto-docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  116. package/auto-docs/global.html +0 -4810
  117. package/auto-docs/index.html +0 -65
  118. package/auto-docs/scripts/linenumber.js +0 -25
  119. package/auto-docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  120. package/auto-docs/scripts/prettify/lang-css.js +0 -2
  121. package/auto-docs/scripts/prettify/prettify.js +0 -28
  122. package/auto-docs/styles/jsdoc-default.css +0 -358
  123. package/auto-docs/styles/prettify-jsdoc.css +0 -111
  124. package/auto-docs/styles/prettify-tomorrow.css +0 -132
  125. package/dist/timeline/TimeLine.js.map +0 -1
  126. package/docs/INDEX.md +0 -15
  127. package/jsr.json +0 -9
@@ -0,0 +1,8 @@
1
+ import Scroll from './public.js';
2
+ /**
3
+ * Create a scroll animation
4
+ */
5
+ export function scroll() {
6
+ return new Scroll();
7
+ }
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scroll/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;GAEG;AACH,MAAM,UAAU,MAAM;IACrB,OAAO,IAAI,MAAM,EAAE,CAAC;AACrB,CAAC"}
@@ -1,7 +1,17 @@
1
- import PublicTimeline from '../timeline/public.js';
2
- export default class PublicScroll {
1
+ import { Timeline } from '../chnobli.js';
2
+ import { Position, ScrollTrigger } from './Scroll.js';
3
+ export default class Scroll {
3
4
  private _inner;
4
- constructor(props?: Record<string, any>);
5
- add(timeline: PublicTimeline): void;
5
+ constructor();
6
+ /**
7
+ * Add a trigger to the timeline
8
+ *
9
+ * Providing an offset at which point the trigger should end
10
+ */
11
+ add(trigger: ScrollTrigger, position?: Position): this;
12
+ /**
13
+ * Add a timeline to the scroll
14
+ */
15
+ addTimeline(timeline: Timeline): this;
6
16
  }
7
17
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/scroll/public.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,YAAY;IAChC,OAAO,CAAC,MAAM,CAAS;gBAQX,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAI3C,GAAG,CAAC,QAAQ,EAAE,cAAc;CAG5B"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/scroll/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAuB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,OAAO,CAAC,MAAM,CAAiB;;IAM/B;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAMtD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAKrC"}
@@ -1,17 +1,25 @@
1
- import Scroll from './Scroll.js';
2
- export default class PublicScroll {
1
+ // import Scroll from './Scroll.js';
2
+ import ScrollTimeline from './Scroll.js';
3
+ export default class Scroll {
3
4
  _inner;
4
- /*
5
- {
6
- start: el | px
7
- startView: 'top'
5
+ constructor() {
6
+ this._inner = new ScrollTimeline();
8
7
  }
9
- */
10
- constructor(props = {}) {
11
- this._inner = new Scroll(props);
8
+ /**
9
+ * Add a trigger to the timeline
10
+ *
11
+ * Providing an offset at which point the trigger should end
12
+ */
13
+ add(trigger, position) {
14
+ this._inner.add(trigger, position);
15
+ return this;
12
16
  }
13
- add(timeline) {
17
+ /**
18
+ * Add a timeline to the scroll
19
+ */
20
+ addTimeline(timeline) {
14
21
  this._inner.addTimeline(timeline);
22
+ return this;
15
23
  }
16
24
  }
17
25
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/scroll/public.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,YAAY;IACxB,MAAM,CAAS;IAEvB;;;;;MAKE;IACF,YAAY,QAA6B,EAAE;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,QAAwB;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACD"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/scroll/public.ts"],"names":[],"mappings":"AACA,oCAAoC;AACpC,OAAO,cAA2C,MAAM,aAAa,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,MAAM;IAClB,MAAM,CAAiB;IAE/B;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAsB,EAAE,QAAmB;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAkB;QAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -2,15 +2,16 @@
2
2
  * Staggering allows to have a different value for every target
3
3
  * allowing to easely offset each target by a few pixels
4
4
  */
5
- export declare function callStagger(value: any, i: number, l?: any): any;
6
- export declare function staggerMap(value: any, fn: (v: any) => any): any;
7
- export default class Stagger {
5
+ export declare function callStagger<O>(value: O | Stagger<O>, i: number, length?: number): O;
6
+ export declare function staggerMap<O, NO>(value: O | Stagger<O>, fn: (val: O) => NO): NO | Stagger<NO>;
7
+ export type StaggerValue<O> = (i: number, length?: number) => O;
8
+ export default class Stagger<O> {
8
9
  private fn;
9
10
  /**
10
11
  * @ignore
11
12
  */
12
- constructor(value: any);
13
- call(...args: any[]): any;
13
+ constructor(value: StaggerValue<O>);
14
+ call(i: number, length?: number): O;
14
15
  /**
15
16
  * @ignore
16
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stagger.d.ts","sourceRoot":"","sources":["../../src/stagger/stagger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,GAAU,OAI/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,OAKzD;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,OAAO,CAAC,EAAE,CAA0B;IAEpC;;OAEG;gBACS,KAAK,EAAE,GAAG;IAUtB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;IAIzB;;OAEG;IACH,aAAa;CACb"}
1
+ {"version":3,"file":"stagger.d.ts","sourceRoot":"","sources":["../../src/stagger/stagger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,wBAAgB,WAAW,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACrB,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GACb,CAAC,CAIH;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAC/B,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,GAChB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQlB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAkB;IAE5B;;OAEG;gBACS,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAUlC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;IAInC;;OAEG;IACH,aAAa;CACb"}
@@ -3,18 +3,20 @@
3
3
  * allowing to easely offset each target by a few pixels
4
4
  */
5
5
  function isStagger(value) {
6
- return (typeof value === 'object' &&
7
- value !== null &&
8
- typeof value.__isStagger__ === 'function');
6
+ const v = value;
7
+ return (typeof v === 'object' &&
8
+ v !== null &&
9
+ typeof v.__isStagger__ === 'function');
9
10
  }
10
- export function callStagger(value, i, l = null) {
11
+ export function callStagger(value, i, length) {
11
12
  if (isStagger(value))
12
- return value.call(i, l);
13
+ return value.call(i, length);
13
14
  return value;
14
15
  }
15
16
  export function staggerMap(value, fn) {
16
- if (isStagger(value))
17
- return new Stagger((...args) => fn(value.call(...args)));
17
+ if (isStagger(value)) {
18
+ return new Stagger((i, length) => fn(value.call(i, length)));
19
+ }
18
20
  return fn(value);
19
21
  }
20
22
  export default class Stagger {
@@ -30,8 +32,8 @@ export default class Stagger {
30
32
  // if (value === )
31
33
  throw new Error('unknown stagger value ' + value);
32
34
  }
33
- call(...args) {
34
- return this.fn(...args);
35
+ call(i, length) {
36
+ return this.fn(i, length);
35
37
  }
36
38
  /**
37
39
  * @ignore
@@ -1 +1 @@
1
- {"version":3,"file":"stagger.js","sourceRoot":"","sources":["../../src/stagger/stagger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,SAAS,SAAS,CAAC,KAAU;IAC5B,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,CAAC,aAAa,KAAK,UAAU,CACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAU,EAAE,CAAS,EAAE,IAAS,IAAI;IAC/D,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU,EAAE,EAAmB;IACzD,IAAI,SAAS,CAAC,KAAK,CAAC;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;IACnB,EAAE,CAA0B;IAEpC;;OAEG;IACH,YAAY,KAAU;QACrB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;YAChB,OAAO;QACR,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QAClB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa,KAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"stagger.js","sourceRoot":"","sources":["../../src/stagger/stagger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,SAAS,SAAS,CAAI,KAAU;IAC/B,MAAM,CAAC,GAAG,KAAY,CAAC;IAEvB,OAAO,CACN,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,CACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAC1B,KAAqB,EACrB,CAAS,EACT,MAAe;IAEf,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEnD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CACzB,KAAqB,EACrB,EAAkB;IAElB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAS,EAAE,MAAe,EAAE,EAAE,CACjD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC;AAID,MAAM,CAAC,OAAO,OAAO,OAAO;IACnB,EAAE,CAAkB;IAE5B;;OAEG;IACH,YAAY,KAAsB;QACjC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;YAChB,OAAO;QACR,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,MAAe;QAC9B,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa,KAAI,CAAC;CAClB"}
@@ -0,0 +1,30 @@
1
+ import StyleValue from '../values/StyleValue.js';
2
+ import Value from '../values/Value.js';
3
+ import { Target } from './Target.js';
4
+ export default class ObjectTarget implements Target {
5
+ private target;
6
+ private styleValues;
7
+ /**
8
+ * target a dom node or svg
9
+ *
10
+ * extFns: {getComputedStyle, getRootElement}
11
+ */
12
+ constructor(target: Record<string, any>);
13
+ inner(): Record<string, any>;
14
+ type(): string;
15
+ getValue(name: string): Value | null;
16
+ setValue(name: string, value: Value): void;
17
+ removeValue(name: string): void;
18
+ getTransformValue(name: string): Value | null;
19
+ setTransformValue(name: string, value: Value): void;
20
+ removeTransformValue(name: string): void;
21
+ getStyleValue(name: string): StyleValue | null;
22
+ setStyleValue(name: string, value: StyleValue): void;
23
+ removeStyleValue(name: string): void;
24
+ hasClass(name: string): boolean;
25
+ addClass(name: string): void;
26
+ removeClass(name: string): void;
27
+ unifyValues(name: string, a: Value, b: Value): [Value, Value];
28
+ apply(): void;
29
+ }
30
+ //# sourceMappingURL=ObjectTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectTarget.d.ts","sourceRoot":"","sources":["../../src/target/ObjectTarget.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,MAAM;IAClD,OAAO,CAAC,MAAM,CAAsB;IAKpC,OAAO,CAAC,WAAW,CAAsC;IAGzD;;;;OAIG;gBACS,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOvC,KAAK;IAIL,IAAI;IAIJ,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAKpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAKnC,WAAW,CAAC,IAAI,EAAE,MAAM;IAKxB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAI7C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAI5C,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAIjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqB9C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIpD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IAU7D,KAAK;CAYL"}
@@ -0,0 +1,101 @@
1
+ import StyleValue from '../values/StyleValue.js';
2
+ export default class ObjectTarget {
3
+ target;
4
+ // private _extFns: ExternalFunctions;
5
+ // private transformValues: Map<string, (Value | null)[]>;
6
+ styleValues;
7
+ // private values: Map<string, Value>;
8
+ /**
9
+ * target a dom node or svg
10
+ *
11
+ * extFns: {getComputedStyle, getRootElement}
12
+ */
13
+ constructor(target) {
14
+ this.target = target;
15
+ this.styleValues = new Map();
16
+ // this.values = new Map();
17
+ }
18
+ inner() {
19
+ return this.target;
20
+ }
21
+ type() {
22
+ return 'object';
23
+ }
24
+ getValue(name) {
25
+ // return this.values.get(name) ?? null;
26
+ throw new Error('not supported');
27
+ }
28
+ setValue(name, value) {
29
+ // this.values.set(name, value);
30
+ throw new Error('not supported');
31
+ }
32
+ removeValue(name) {
33
+ // this.values.delete(name);
34
+ throw new Error('not supported');
35
+ }
36
+ getTransformValue(name) {
37
+ throw new Error('not supported');
38
+ }
39
+ setTransformValue(name, value) {
40
+ throw new Error('not supported');
41
+ }
42
+ removeTransformValue(name) {
43
+ throw new Error('not supported');
44
+ }
45
+ getStyleValue(name) {
46
+ const v = this.styleValues.get(name) ?? null;
47
+ if (v !== null)
48
+ return v;
49
+ const styleV = this.target[name];
50
+ if (typeof styleV === 'undefined' || styleV === null) {
51
+ return styleV;
52
+ }
53
+ try {
54
+ const value = StyleValue.parse(styleV);
55
+ this.styleValues.set(name, value);
56
+ return value;
57
+ }
58
+ catch (e) {
59
+ console.log('could not parse value', styleV);
60
+ return v;
61
+ }
62
+ }
63
+ setStyleValue(name, value) {
64
+ this.styleValues.set(name, value);
65
+ }
66
+ removeStyleValue(name) {
67
+ this.styleValues.set(name, undefined);
68
+ }
69
+ hasClass(name) {
70
+ throw new Error('not supported');
71
+ }
72
+ addClass(name) {
73
+ throw new Error('not supported');
74
+ }
75
+ removeClass(name) {
76
+ throw new Error('not supported');
77
+ }
78
+ unifyValues(name, a, b) {
79
+ if (a.unit === b.unit)
80
+ return [a, b];
81
+ if (!a.unit && b.unit)
82
+ a.unit = b.unit;
83
+ if (!b.unit && a.unit)
84
+ b.unit = a.unit;
85
+ return [a, b];
86
+ }
87
+ apply() {
88
+ // style
89
+ for (const [k, v] of this.styleValues.entries()) {
90
+ if (v === undefined) {
91
+ console.log('delete', k);
92
+ delete this.target[k];
93
+ this.styleValues.delete(k);
94
+ }
95
+ else {
96
+ this.target[k] = v.toMixed();
97
+ }
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=ObjectTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectTarget.js","sourceRoot":"","sources":["../../src/target/ObjectTarget.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import Value from '../values/Value.js';
2
2
  import StyleValue from '../values/StyleValue.js';
3
+ import type TestDomNode from './TestDomNode.js';
4
+ export type Targets = AnimationTarget | AnimationTarget[];
5
+ export type AnimationTarget = HTMLElement | SVGElement | TestDomNode | Record<string, any>;
3
6
  export declare function newTarget(target: any): Target;
4
7
  export interface Target {
5
8
  inner(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../src/target/Target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAEvC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAkB7C;AAED,MAAM,WAAW,MAAM;IACtB,KAAK,IAAI,GAAG,CAAC;IACb,IAAI,IAAI,MAAM,CAAC;IAEf,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE9D,KAAK,IAAI,IAAI,CAAC;CACd"}
1
+ {"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../src/target/Target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAEvC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAGhD,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;AAC1D,MAAM,MAAM,eAAe,GACxB,WAAW,GACX,UAAU,GACV,WAAW,GACX,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvB,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAsB7C;AAED,MAAM,WAAW,MAAM;IACtB,KAAK,IAAI,GAAG,CAAC;IACb,IAAI,IAAI,MAAM,CAAC;IAEf,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE9D,KAAK,IAAI,IAAI,CAAC;CACd"}
@@ -1,4 +1,5 @@
1
1
  import DomTarget from './DomTarget.js';
2
+ import ObjectTarget from './ObjectTarget.js';
2
3
  export function newTarget(target) {
3
4
  if (typeof window === 'undefined') {
4
5
  if (typeof target.__simulatedDom__ === 'function') {
@@ -16,6 +17,9 @@ export function newTarget(target) {
16
17
  });
17
18
  }
18
19
  }
20
+ if (typeof target === 'object' && target !== null) {
21
+ return new ObjectTarget(target);
22
+ }
19
23
  throw new Error('unknown target');
20
24
  }
21
25
  //# sourceMappingURL=Target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../src/target/Target.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,UAAU,SAAS,CAAC,MAAW;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC5B,gBAAgB,EAAE,MAAM,CAAC,sBAAsB,EAAE;gBACjD,cAAc,EAAE,MAAM,CAAC,oBAAoB,EAAE;aAC7C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,CAAC;QACP,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YACnE,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC5B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjD,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe;aAC9C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../src/target/Target.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAS7C,MAAM,UAAU,SAAS,CAAC,MAAW;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC5B,gBAAgB,EAAE,MAAM,CAAC,sBAAsB,EAAE;gBACjD,cAAc,EAAE,MAAM,CAAC,oBAAoB,EAAE;aAC7C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,CAAC;QACP,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YACnE,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC5B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjD,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe;aAC9C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC"}
@@ -1,4 +1,4 @@
1
- import Timeline from './TimeLine.js';
1
+ import Timeline from './Timeline.js';
2
2
  export default class NestedTimeline {
3
3
  _defaults: Record<string, any>;
4
4
  _inner: Timeline;
@@ -1,5 +1,5 @@
1
1
  import { takeProp } from '../utils/internal.js';
2
- import Timeline from './TimeLine.js';
2
+ import Timeline from './Timeline.js';
3
3
  import { timelineAdd } from './public.js';
4
4
  export default class NestedTimeline {
5
5
  _defaults;
@@ -4,7 +4,7 @@ import Ticker from '../timing/Ticker.js';
4
4
  * Timeline is the most versatile class
5
5
  *
6
6
  * A timeline can contain multiple animation, ordered one after the other or
7
- * offset.
7
+ * by an offset.
8
8
  */
9
9
  export default class Timeline {
10
10
  timing: Timing;
@@ -22,11 +22,20 @@ export default class Timeline {
22
22
  advance(change: number): void;
23
23
  seekMs(ms: number): void;
24
24
  seek(pos: number): void;
25
+ /**
26
+ * Returns the position of a label
27
+ *
28
+ * needs to be initialized
29
+ */
30
+ labelPosition(label: string): number;
25
31
  init(): void;
26
32
  _initAnimations(reset?: boolean): void;
27
33
  render(): void;
34
+ /**
35
+ * Updates the timings of all animations
36
+ */
28
37
  _updateTimings(): void;
29
38
  update(): void;
30
39
  destroy(): void;
31
40
  }
32
- //# sourceMappingURL=TimeLine.d.ts.map
41
+ //# sourceMappingURL=Timeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimeLine.d.ts","sourceRoot":"","sources":["../../src/timeline/TimeLine.ts"],"names":[],"mappings":"AACA,OAAO,MAON,MAAM,qBAAqB,CAAC;AAC7B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAIlB;gBASU,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAwB3C,QAAQ,IAAI,OAAO;IAQnB,GAAG,CACF,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,GAAE,GAAU,EAClB,QAAQ,SAAI,GACV,IAAI;IAgBP,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,GAAU;IAW5C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAU,GAAG,IAAI;IAY9C,qBAAqB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIpC,OAAO,CAAC,MAAM,EAAE,MAAM;IAMtB,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAMhB,IAAI;IAiDJ,eAAe,CAAC,KAAK,UAAQ;IAyC7B,MAAM;IAmBN,cAAc;IA0Bd,MAAM;IAyBN,OAAO;CAiBP"}
1
+ {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../src/timeline/Timeline.ts"],"names":[],"mappings":"AACA,OAAO,MAON,MAAM,qBAAqB,CAAC;AAC7B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAIlB;gBASU,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IA0B3C,QAAQ,IAAI,OAAO;IAQnB,GAAG,CACF,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,GAAE,GAAU,EAClB,QAAQ,SAAI,GACV,IAAI;IAgBP,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,GAAU;IAW5C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAU,GAAG,IAAI;IAY9C,qBAAqB,CAAC,EAAE,EAAE,MAAM,IAAI;IAIpC,OAAO,CAAC,MAAM,EAAE,MAAM;IAMtB,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAMhB;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUpC,IAAI;IAiDJ,eAAe,CAAC,KAAK,UAAQ;IAyC7B,MAAM;IAmBN;;OAEG;IACH,cAAc;IA0Bd,MAAM;IAyBN,OAAO;CAiBP"}
@@ -6,7 +6,7 @@ import AnimationFrameTicker from '../timing/AnimationFrameTicker.js';
6
6
  * Timeline is the most versatile class
7
7
  *
8
8
  * A timeline can contain multiple animation, ordered one after the other or
9
- * offset.
9
+ * by an offset.
10
10
  */
11
11
  export default class Timeline {
12
12
  timing;
@@ -24,6 +24,8 @@ export default class Timeline {
24
24
  */
25
25
  constructor(props = {}) {
26
26
  const nProps = {
27
+ // duration here is not important since it will be calculated
28
+ // based on the animations that get added
27
29
  duration: 1000,
28
30
  ease: parseEase(takeProp(props, 'ease', null)),
29
31
  repeat: parseRepeat(takeProp(props, 'repeat', false)),
@@ -96,6 +98,19 @@ export default class Timeline {
96
98
  this.timing.seek(pos);
97
99
  this._updateTimings();
98
100
  }
101
+ /**
102
+ * Returns the position of a label
103
+ *
104
+ * needs to be initialized
105
+ */
106
+ labelPosition(label) {
107
+ const entry = this.entries.find(e => {
108
+ return e.type === 'label' && e.value === label;
109
+ });
110
+ if (!entry)
111
+ throw new Error('could not find label ' + label);
112
+ return entry.start / this.timing.duration;
113
+ }
99
114
  init() {
100
115
  if (this._initialized)
101
116
  return;
@@ -180,6 +195,9 @@ export default class Timeline {
180
195
  animation.render();
181
196
  }
182
197
  }
198
+ /**
199
+ * Updates the timings of all animations
200
+ */
183
201
  _updateTimings() {
184
202
  this._renderQueue = {
185
203
  upcoming: [],
@@ -285,4 +303,4 @@ class Offset {
285
303
  throw new Error('cannot calculate for type ' + this.type);
286
304
  }
287
305
  }
288
- //# sourceMappingURL=TimeLine.js.map
306
+ //# sourceMappingURL=Timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/timeline/Timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,MAAM,EAAE,EACd,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,oBAAoB,MAAM,mCAAmC,CAAC;AAWrE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC5B,MAAM,CAAS;IACf,MAAM,CAAS;IAEP,OAAO,CAAU;IAEjB,mBAAmB,CAAa;IAChC,YAAY,CAAU;IACtB,YAAY,CAIlB;IAEF;;;;;;MAME;IACF,YAAY,QAA6B,EAAE;QAC1C,MAAM,MAAM,GAAG;YACd,6DAA6D;YAC7D,yCAAyC;YACzC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrD,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAC7D,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;SAC3D,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAE5C,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACV,CAAC;IACH,CAAC;IAED,QAAQ;QACP,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7B,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,uEAAuE;IACvE,GAAG,CACF,MAAW,EACX,KAA0B,EAC1B,SAAc,IAAI,EAClB,QAAQ,GAAG,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;YAC1B,cAAc,EAAE,QAAQ;SACxB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,EAAY,EAAE,SAAc,IAAI;QAC3C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;YAC1B,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,SAAc,IAAI;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;YAC1B,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iEAAiE;IACjE,qBAAqB,CAAC,EAAc;QACnC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,KAAK,CAAC,CAAC;QAE7D,OAAO,KAAK,CAAC,KAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACX,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC;YACJ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAE7B,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,KAAK,CAAC,CAAC;gBAElD,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;YAEjE,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAElE,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAExD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAEhB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,KAAK,GAAG,KAAK;QAC5B,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE7B,gCAAgC;QAChC,uBAAuB;QACvB,sEAAsE;QACtE,QAAQ;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC5C,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAM,GAAG,CAAC,CAAC,KAAM,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;YAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAErC,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;gBAEtC,aAAa,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,KAAM,CAAC,CAAC;gBAC7C,aAAa,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM;QACL,6CAA6C;QAC7C,WAAW;QACX,SAAS;QACT,SAAS;QAET,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACpD,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED;;OAEG;IACH,cAAc;QACb,IAAI,CAAC,YAAY,GAAG;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAC1D,SAAS;YAEV,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,KAAM,CAAC,CAAC;YAErC,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM;QACL,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,yCAAyC;QACzC,kDAAkD;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,SAAS;YACV,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS;YAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9B,SAAS,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,MAAM;IACX,IAAI,CAAgD;IACpD,KAAK,CAAyB;IAE9B,YAAY,SAAc,IAAI;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAEvC,OAAO,IAAI,CAAC,KAAe,CAAC;IAC7B,CAAC;IAED,mBAAmB;IACnB;;QAEI;IAEJ,SAAS,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAErC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,KAAe,CAAC;QAE1D,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,GAAG,GAAI,IAAI,CAAC,KAAgB,CAAC;QAE7D,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,GAAG,GAAI,IAAI,CAAC,KAAgB,CAAC;QAE7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;CACD"}
@@ -1,8 +1,18 @@
1
- import Timeline from './TimeLine.js';
1
+ import Timeline from './Timeline.js';
2
+ import Stagger from '../stagger/stagger.js';
2
3
  import NestedTimeline from './Nested.js';
4
+ import { Targets } from '../chnobli.js';
3
5
  export type Responsive = {
4
6
  responsive: () => void;
5
7
  };
8
+ export type TimelineProps = {
9
+ defaults?: Record<string, any>;
10
+ responsive?: boolean;
11
+ ease?: (t: number) => number;
12
+ smoothSeek?: SmoothSeekValue;
13
+ [key: string]: any;
14
+ };
15
+ export type Offset = number | string | Stagger<number | string>;
6
16
  export default class PublicTimeline {
7
17
  /**
8
18
  * @ignore
@@ -14,25 +24,29 @@ export default class PublicTimeline {
14
24
  */
15
25
  _inner: Timeline;
16
26
  private _events;
27
+ private _triggeredStart;
17
28
  private _state;
18
29
  private _renderedOnce;
19
30
  private _runningTicker;
20
31
  private _responsiveBlocks;
21
32
  private _responsiveEvent;
22
- constructor(props?: Record<string, any>);
33
+ private _smoothSeek;
34
+ private _seekTo;
35
+ constructor(props?: TimelineProps);
23
36
  /**
24
37
  * Set's properties
38
+ *
25
39
  * offset can be staggered, a number, a label or a string `+=10`
26
40
  */
27
- set(targets: any, props: Record<string, any>, offset?: null): this;
41
+ set(targets: Targets, props: Record<string, any>, offset?: Offset): this;
28
42
  /**
29
43
  * Add an animation to the timeline
30
44
  *
31
45
  * offset can be staggered, a number, a label or a string `+=10`
32
46
  */
33
- add(targets: any, props: Record<string, any>, offset?: null): this;
47
+ add(targets: Targets, props: Record<string, any>, offset?: Offset): this;
34
48
  /**
35
- * Adds a label at to the current nOffse
49
+ * Adds a label at to the current nOffset
36
50
  *
37
51
  * This label can then be used in offsets
38
52
  */
@@ -66,9 +80,15 @@ export default class PublicTimeline {
66
80
  * @param pos = number between 0 and 1
67
81
  */
68
82
  seek(pos: number): void;
83
+ /**
84
+ * Returns the position of a label
85
+ */
86
+ labelPosition(label: string): number;
69
87
  /**
70
88
  * Resets the current timeline to the start
71
89
  * without changing anything
90
+ *
91
+ * this operation is not smooth use seek 0 if you wan't that
72
92
  */
73
93
  reset(): void;
74
94
  /**
@@ -109,6 +129,7 @@ export default class PublicTimeline {
109
129
  * Destroys this timeline and resets all props
110
130
  */
111
131
  destroy(): void;
132
+ _maybeTriggerEndEvent(): void;
112
133
  /**
113
134
  * @ignore
114
135
  */
@@ -132,4 +153,8 @@ export default class PublicTimeline {
132
153
  * tl needs to have _defaults, and _inner
133
154
  */
134
155
  export declare function timelineAdd(tl: PublicTimeline | NestedTimeline, targets: any, props: Record<string, any>, offset?: any): void;
156
+ export type SmoothSeekValue = number | undefined | {
157
+ duration: number;
158
+ ease?: (t: number) => number;
159
+ };
135
160
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/timeline/public.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAKrC,OAAO,cAAc,MAAM,aAAa,CAAC;AAMzC,MAAM,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,WAAW,CAAU;IAE7B;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,gBAAgB,CAAM;gBAElB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAkC3C;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI;IAKlE;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI;IAMlE;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAU,GAAG,IAAI;IAM9C;;;;OAIG;IAEH,IAAI,CACH,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,IAAI,EAChC,IAAI,KAAK,EACT,MAAM,GAAE,GAAU,GAChB,IAAI;IAUP;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI;IAiB1D;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,KAAK;IAQL;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IAUjB;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM;IAahB;;;OAGG;IACH,KAAK;IAIL;;OAEG;IACH,UAAU;IAWV;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO;IAK7B;;OAEG;IACH,OAAO;IAIP;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAK3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAItC;;OAEG;IACH,OAAO;IAUP;;OAEG;IACH,YAAY;IAmDZ;;OAEG;IACH,WAAW;IAOX;;OAEG;IACH,aAAa,CACZ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACpC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;CAO1B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,EAAE,EAAE,cAAc,GAAG,cAAc,EACnC,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,GAAE,GAAU,QAsBlB"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/timeline/public.ts"],"names":[],"mappings":"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"}