chnobli 0.1.7 → 0.1.9

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 (225) hide show
  1. package/package.json +24 -11
  2. package/src/animation/Animation.ts +10 -6
  3. package/src/animation/public.ts +47 -10
  4. package/src/chnobli.ts +20 -11
  5. package/src/property/BasicProperty.ts +3 -3
  6. package/src/property/ClassProperty.ts +2 -2
  7. package/src/property/Property.ts +7 -5
  8. package/src/property/StyleProperty.ts +7 -7
  9. package/src/property/TransformProperty.ts +4 -4
  10. package/src/property/TransformXYProperty.ts +3 -3
  11. package/src/responsive/TestEvent.ts +1 -1
  12. package/src/scroll/Scroll.ts +174 -90
  13. package/src/scroll/index.ts +8 -0
  14. package/src/scroll/public.ts +23 -12
  15. package/src/stagger/stagger.ts +34 -14
  16. package/src/target/BaseTarget.old.ts +2 -2
  17. package/src/target/DomTarget.ts +3 -3
  18. package/src/target/ObjectTarget.ts +124 -0
  19. package/src/target/Target.ts +16 -3
  20. package/src/tests/properties.test.ts +54 -4
  21. package/src/tests/timeline.test.ts +3 -3
  22. package/src/tests/timing.test.ts +1 -1
  23. package/src/tests/usecases.test.ts +5 -5
  24. package/src/tests/values.test.ts +4 -4
  25. package/src/timeline/Nested.ts +7 -7
  26. package/src/timeline/{TimeLine.ts → Timeline.ts} +29 -9
  27. package/src/timeline/public.ts +198 -58
  28. package/src/timing/AnimationFrameTicker.ts +2 -2
  29. package/src/timing/TestTicker.ts +2 -2
  30. package/src/timing/Ticker.ts +1 -1
  31. package/src/timing/Timing.ts +38 -4
  32. package/src/utils/internal.ts +6 -3
  33. package/src/utils/utils.ts +18 -9
  34. package/src/values/ColorValue.ts +1 -1
  35. package/src/values/StyleValue.ts +15 -3
  36. package/tsconfig.build.json +2 -2
  37. package/tsconfig.json +2 -3
  38. package/.editorconfig +0 -11
  39. package/.github/workflows/ci.yaml +0 -34
  40. package/.prettierignore +0 -4
  41. package/.prettierrc +0 -6
  42. package/.vscode/settings.json +0 -4
  43. package/LICENSE.md +0 -21
  44. package/README.md +0 -5
  45. package/auto-docs/easing.js.html +0 -342
  46. package/auto-docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  47. package/auto-docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  48. package/auto-docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  49. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  50. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  51. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  52. package/auto-docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  53. package/auto-docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  54. package/auto-docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  55. package/auto-docs/fonts/OpenSans-Light-webfont.eot +0 -0
  56. package/auto-docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  57. package/auto-docs/fonts/OpenSans-Light-webfont.woff +0 -0
  58. package/auto-docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  59. package/auto-docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  60. package/auto-docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  61. package/auto-docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  62. package/auto-docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  63. package/auto-docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  64. package/auto-docs/global.html +0 -4810
  65. package/auto-docs/index.html +0 -65
  66. package/auto-docs/scripts/linenumber.js +0 -25
  67. package/auto-docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  68. package/auto-docs/scripts/prettify/lang-css.js +0 -2
  69. package/auto-docs/scripts/prettify/prettify.js +0 -28
  70. package/auto-docs/styles/jsdoc-default.css +0 -358
  71. package/auto-docs/styles/prettify-jsdoc.css +0 -111
  72. package/auto-docs/styles/prettify-tomorrow.css +0 -132
  73. package/dist/animation/Animation.d.ts +0 -36
  74. package/dist/animation/Animation.d.ts.map +0 -1
  75. package/dist/animation/Animation.js +0 -230
  76. package/dist/animation/Animation.js.map +0 -1
  77. package/dist/animation/animation.d.ts +0 -36
  78. package/dist/animation/animation.d.ts.map +0 -1
  79. package/dist/animation/animation.js +0 -230
  80. package/dist/animation/animation.js.map +0 -1
  81. package/dist/animation/public.d.ts +0 -55
  82. package/dist/animation/public.d.ts.map +0 -1
  83. package/dist/animation/public.js +0 -104
  84. package/dist/animation/public.js.map +0 -1
  85. package/dist/chnobli.d.ts +0 -15
  86. package/dist/chnobli.d.ts.map +0 -1
  87. package/dist/chnobli.js +0 -63
  88. package/dist/chnobli.js.map +0 -1
  89. package/dist/property/BasicProperty.d.ts +0 -38
  90. package/dist/property/BasicProperty.d.ts.map +0 -1
  91. package/dist/property/BasicProperty.js +0 -72
  92. package/dist/property/BasicProperty.js.map +0 -1
  93. package/dist/property/ClassProperty.d.ts +0 -32
  94. package/dist/property/ClassProperty.d.ts.map +0 -1
  95. package/dist/property/ClassProperty.js +0 -108
  96. package/dist/property/ClassProperty.js.map +0 -1
  97. package/dist/property/Property.d.ts +0 -13
  98. package/dist/property/Property.d.ts.map +0 -1
  99. package/dist/property/Property.js +0 -20
  100. package/dist/property/Property.js.map +0 -1
  101. package/dist/property/StyleProperty.d.ts +0 -25
  102. package/dist/property/StyleProperty.d.ts.map +0 -1
  103. package/dist/property/StyleProperty.js +0 -221
  104. package/dist/property/StyleProperty.js.map +0 -1
  105. package/dist/property/TransformProperty.d.ts +0 -15
  106. package/dist/property/TransformProperty.d.ts.map +0 -1
  107. package/dist/property/TransformProperty.js +0 -43
  108. package/dist/property/TransformProperty.js.map +0 -1
  109. package/dist/property/TransformXYProperty.d.ts +0 -28
  110. package/dist/property/TransformXYProperty.d.ts.map +0 -1
  111. package/dist/property/TransformXYProperty.js +0 -65
  112. package/dist/property/TransformXYProperty.js.map +0 -1
  113. package/dist/responsive/ResponsiveEvent.d.ts +0 -17
  114. package/dist/responsive/ResponsiveEvent.d.ts.map +0 -1
  115. package/dist/responsive/ResponsiveEvent.js +0 -45
  116. package/dist/responsive/ResponsiveEvent.js.map +0 -1
  117. package/dist/responsive/TestEvent.d.ts +0 -11
  118. package/dist/responsive/TestEvent.d.ts.map +0 -1
  119. package/dist/responsive/TestEvent.js +0 -26
  120. package/dist/responsive/TestEvent.js.map +0 -1
  121. package/dist/responsive/event.d.ts +0 -10
  122. package/dist/responsive/event.d.ts.map +0 -1
  123. package/dist/responsive/event.js +0 -39
  124. package/dist/responsive/event.js.map +0 -1
  125. package/dist/scroll/Scroll.d.ts +0 -27
  126. package/dist/scroll/Scroll.d.ts.map +0 -1
  127. package/dist/scroll/Scroll.js +0 -132
  128. package/dist/scroll/Scroll.js.map +0 -1
  129. package/dist/scroll/ScrollEvent.d.ts +0 -17
  130. package/dist/scroll/ScrollEvent.d.ts.map +0 -1
  131. package/dist/scroll/ScrollEvent.js +0 -39
  132. package/dist/scroll/ScrollEvent.js.map +0 -1
  133. package/dist/scroll/public.d.ts +0 -7
  134. package/dist/scroll/public.d.ts.map +0 -1
  135. package/dist/scroll/public.js +0 -17
  136. package/dist/scroll/public.js.map +0 -1
  137. package/dist/stagger/stagger.d.ts +0 -13
  138. package/dist/stagger/stagger.d.ts.map +0 -1
  139. package/dist/stagger/stagger.js +0 -35
  140. package/dist/stagger/stagger.js.map +0 -1
  141. package/dist/target/BaseTarget.old.d.ts +0 -33
  142. package/dist/target/BaseTarget.old.d.ts.map +0 -1
  143. package/dist/target/BaseTarget.old.js +0 -73
  144. package/dist/target/BaseTarget.old.js.map +0 -1
  145. package/dist/target/DomTarget.d.ts +0 -41
  146. package/dist/target/DomTarget.d.ts.map +0 -1
  147. package/dist/target/DomTarget.js +0 -230
  148. package/dist/target/DomTarget.js.map +0 -1
  149. package/dist/target/Target.d.ts +0 -22
  150. package/dist/target/Target.d.ts.map +0 -1
  151. package/dist/target/Target.js +0 -21
  152. package/dist/target/Target.js.map +0 -1
  153. package/dist/target/TestDomNode.d.ts +0 -14
  154. package/dist/target/TestDomNode.d.ts.map +0 -1
  155. package/dist/target/TestDomNode.js +0 -55
  156. package/dist/target/TestDomNode.js.map +0 -1
  157. package/dist/timeline/Nested.d.ts +0 -30
  158. package/dist/timeline/Nested.d.ts.map +0 -1
  159. package/dist/timeline/Nested.js +0 -51
  160. package/dist/timeline/Nested.js.map +0 -1
  161. package/dist/timeline/TimeLine.d.ts +0 -32
  162. package/dist/timeline/TimeLine.d.ts.map +0 -1
  163. package/dist/timeline/TimeLine.js +0 -288
  164. package/dist/timeline/TimeLine.js.map +0 -1
  165. package/dist/timeline/public.d.ts +0 -120
  166. package/dist/timeline/public.d.ts.map +0 -1
  167. package/dist/timeline/public.js +0 -301
  168. package/dist/timeline/public.js.map +0 -1
  169. package/dist/timing/AnimationFrameTicker.d.ts +0 -32
  170. package/dist/timing/AnimationFrameTicker.d.ts.map +0 -1
  171. package/dist/timing/AnimationFrameTicker.js +0 -134
  172. package/dist/timing/AnimationFrameTicker.js.map +0 -1
  173. package/dist/timing/Ease.d.ts +0 -6
  174. package/dist/timing/Ease.d.ts.map +0 -1
  175. package/dist/timing/Ease.js +0 -15
  176. package/dist/timing/Ease.js.map +0 -1
  177. package/dist/timing/TestTicker.d.ts +0 -19
  178. package/dist/timing/TestTicker.d.ts.map +0 -1
  179. package/dist/timing/TestTicker.js +0 -81
  180. package/dist/timing/TestTicker.js.map +0 -1
  181. package/dist/timing/Ticker.d.ts +0 -14
  182. package/dist/timing/Ticker.d.ts.map +0 -1
  183. package/dist/timing/Ticker.js +0 -2
  184. package/dist/timing/Ticker.js.map +0 -1
  185. package/dist/timing/Timing.d.ts +0 -62
  186. package/dist/timing/Timing.d.ts.map +0 -1
  187. package/dist/timing/Timing.js +0 -257
  188. package/dist/timing/Timing.js.map +0 -1
  189. package/dist/timing/easing.d.ts +0 -158
  190. package/dist/timing/easing.d.ts.map +0 -1
  191. package/dist/timing/easing.js +0 -273
  192. package/dist/timing/easing.js.map +0 -1
  193. package/dist/utils/Events.d.ts +0 -9
  194. package/dist/utils/Events.d.ts.map +0 -1
  195. package/dist/utils/Events.js +0 -35
  196. package/dist/utils/Events.js.map +0 -1
  197. package/dist/utils/internal.d.ts +0 -2
  198. package/dist/utils/internal.d.ts.map +0 -1
  199. package/dist/utils/internal.js +0 -6
  200. package/dist/utils/internal.js.map +0 -1
  201. package/dist/utils/motionpath.d.ts +0 -16
  202. package/dist/utils/motionpath.d.ts.map +0 -1
  203. package/dist/utils/motionpath.js +0 -41
  204. package/dist/utils/motionpath.js.map +0 -1
  205. package/dist/utils/utils.d.ts +0 -43
  206. package/dist/utils/utils.d.ts.map +0 -1
  207. package/dist/utils/utils.js +0 -93
  208. package/dist/utils/utils.js.map +0 -1
  209. package/dist/values/ColorValue.d.ts +0 -12
  210. package/dist/values/ColorValue.d.ts.map +0 -1
  211. package/dist/values/ColorValue.js +0 -133
  212. package/dist/values/ColorValue.js.map +0 -1
  213. package/dist/values/StyleValue.d.ts +0 -40
  214. package/dist/values/StyleValue.d.ts.map +0 -1
  215. package/dist/values/StyleValue.js +0 -149
  216. package/dist/values/StyleValue.js.map +0 -1
  217. package/dist/values/Value.d.ts +0 -13
  218. package/dist/values/Value.d.ts.map +0 -1
  219. package/dist/values/Value.js +0 -38
  220. package/dist/values/Value.js.map +0 -1
  221. package/dist/values/defaultcolors.d.ts +0 -2
  222. package/dist/values/defaultcolors.d.ts.map +0 -1
  223. package/dist/values/defaultcolors.js +0 -149
  224. package/dist/values/defaultcolors.js.map +0 -1
  225. package/docs/INDEX.md +0 -15
@@ -1,301 +0,0 @@
1
- import { takeProp } from '../utils/internal';
2
- import Timeline from './TimeLine';
3
- import { STATE_ENDED } from '../timing/Timing';
4
- import { callStagger } from '../stagger/stagger';
5
- import Events from '../utils/Events';
6
- import ResponsiveEvent from '../responsive/ResponsiveEvent';
7
- import NestedTimeline from './Nested';
8
- const STATE_PAUSED = 0;
9
- const STATE_RENDER_ONCE = 1;
10
- const STATE_PLAYING = 2;
11
- export default class PublicTimeline {
12
- _defaults;
13
- _responsive;
14
- _inner;
15
- _events;
16
- _state;
17
- _renderedOnce;
18
- _runningTicker;
19
- _responsiveBlocks;
20
- _responsiveEvent;
21
- constructor(props = {}) {
22
- this._defaults = takeProp(props, 'defaults', {});
23
- this._responsive = takeProp(props, 'responsive', true);
24
- if (typeof this._responsive !== 'boolean')
25
- throw new Error('responsive can only be a boolean');
26
- if ('duration' in props)
27
- throw new Error('a timeline does not accept a duration');
28
- this._inner = new Timeline(props);
29
- // 'start', 'end'
30
- this._events = new Events();
31
- this._state = STATE_PAUSED;
32
- this._renderedOnce = false;
33
- this._runningTicker = null;
34
- this._responsiveBlocks = [];
35
- if (this._responsive) {
36
- this._responsiveEvent = ResponsiveEvent.global()?.add((a, b) => {
37
- this._onResponsive(a, b);
38
- });
39
- // setup callback so we can notify our listeners
40
- this._inner.setBeforeResponsiveFn(() => {
41
- this._responsiveBlocks.forEach(block => {
42
- block.responsive();
43
- });
44
- });
45
- }
46
- else {
47
- this._responsiveEvent = null;
48
- }
49
- }
50
- /**
51
- * Set's properties
52
- * offset can be staggered, a number, a label or a string `+=10`
53
- */
54
- set(targets, props, offset = null) {
55
- // for the moment let's just add as usual but set the duration to 0
56
- return this.add(targets, { ...props, duration: 0 }, offset);
57
- }
58
- /**
59
- * Add an animation to the timeline
60
- *
61
- * offset can be staggered, a number, a label or a string `+=10`
62
- */
63
- add(targets, props, offset = null) {
64
- timelineAdd(this, targets, props, offset);
65
- return this;
66
- }
67
- /**
68
- * Adds a label at to the current nOffse
69
- *
70
- * This label can then be used in offsets
71
- */
72
- label(label, offset = null) {
73
- this._inner.label(label, offset);
74
- return this;
75
- }
76
- /**
77
- * Allows to nest timelines
78
- *
79
- * fn: (timeline)
80
- */
81
- // todo probably tl should be an interface
82
- nest(fn, opts = {}, offset = null) {
83
- const tl = new NestedTimeline(opts);
84
- fn(tl);
85
- this._inner.addTimeline(tl._inner, offset);
86
- return this;
87
- }
88
- /**
89
- * Adds a responsive function call which get's called before the responsive
90
- * functions in properties
91
- */
92
- addResponsive(responsive) {
93
- if (!this._responsiveEvent)
94
- throw new Error('this timeline is not responsive');
95
- if (Array.isArray(responsive)) {
96
- responsive.forEach(resp => this.addResponsive(resp));
97
- return this;
98
- }
99
- if (typeof responsive.responsive !== 'function')
100
- throw new Error('expected a responsive() function');
101
- this._responsiveBlocks.push(responsive);
102
- return this;
103
- }
104
- /**
105
- * Starts to play the timeline if it hasn't started
106
- */
107
- play() {
108
- if (this._state === STATE_PLAYING)
109
- return this;
110
- this._state = STATE_PLAYING;
111
- this._startTicker();
112
- return this;
113
- }
114
- /**
115
- * Pause the timeline at the current position
116
- */
117
- pause() {
118
- if (this._state === STATE_PAUSED)
119
- return;
120
- this._state = STATE_PAUSED;
121
- this._stopTicker();
122
- }
123
- /**
124
- * Seeks to a position in the timeline
125
- */
126
- seekMs(ms) {
127
- this._inner.init();
128
- this._inner.seekMs(ms);
129
- if (this._state !== STATE_PLAYING)
130
- this._state = STATE_RENDER_ONCE;
131
- this._startTicker();
132
- }
133
- /**
134
- * Seeks to a normalized position in the timeline
135
- *
136
- * @param pos = number between 0 and 1
137
- */
138
- seek(pos) {
139
- this._inner.init();
140
- this._inner.seek(pos);
141
- if (this._state !== STATE_PLAYING)
142
- this._state = STATE_RENDER_ONCE;
143
- this._startTicker();
144
- }
145
- // seek in Range (useful for scroll timelines)
146
- // seek(startOffset, endOffset, pos)
147
- /**
148
- * Resets the current timeline to the start
149
- * without changing anything
150
- */
151
- reset() {
152
- this._inner.seek(0);
153
- }
154
- /**
155
- * Resets every used prop to it's previous value
156
- */
157
- resetProps() {
158
- const reversed = this._inner.timing.reverse;
159
- this._inner.timing.reversed = false;
160
- this._inner.seek(-1);
161
- this._inner.render();
162
- this._inner.ticker.applyTargets();
163
- this._inner.timing.reverse = reversed;
164
- this._inner.seek(-1);
165
- }
166
- /**
167
- * Recalculates all values this should be called for example after a resize
168
- */
169
- update() {
170
- this._inner.update();
171
- }
172
- /**
173
- * Returns wether the timeline is set to reversed
174
- */
175
- isReversed() {
176
- return this._inner.timing.reversed;
177
- }
178
- /**
179
- * Set's the timeline to a specific direction
180
- */
181
- setReversed(reversed) {
182
- if (this.isReversed() == reversed)
183
- return;
184
- this.reverse();
185
- }
186
- /**
187
- * Reverses the order of the current timeline
188
- */
189
- reverse() {
190
- this._inner.timing.reverse();
191
- }
192
- /**
193
- * Listen on events
194
- *
195
- * returns a function to remove the event listener
196
- *
197
- * ## Events
198
- *
199
- * ### end
200
- * Get's executed once the timeline comes to the end
201
- * Does not get executed during seeking
202
- *
203
- */
204
- on(event, fn) {
205
- return this._events.add(event, fn);
206
- }
207
- // not working
208
- onPromise(event) {
209
- return this._events.wait(event);
210
- }
211
- /**
212
- * Destroys this timeline and resets all props
213
- */
214
- destroy() {
215
- this._stopTicker();
216
- this._inner.destroy();
217
- this._events.destroy();
218
- this._responsiveEvent?.remove();
219
- this._responsiveBlocks = [];
220
- // @ts-ignore
221
- this._inner = null;
222
- }
223
- _startTicker() {
224
- if (this._runningTicker)
225
- return;
226
- this._inner.init();
227
- this._runningTicker = this._inner.ticker.add(change => {
228
- if (this._inner.timing.state >= STATE_ENDED) {
229
- if (!this._renderedOnce) {
230
- this._renderedOnce = true;
231
- this._inner.render();
232
- }
233
- if (this._state === STATE_PLAYING)
234
- this._events.trigger('end');
235
- this._state = STATE_PAUSED;
236
- this._stopTicker();
237
- return;
238
- }
239
- // if (this._inner.timing.state <= STATE_START) {
240
- // this._events.trigger('start');
241
- // }
242
- // if (this._inner.timing.state >= STATE_ENDED) {
243
- // this._stopTicker();
244
- // this._events.trigger('end');
245
- // return;
246
- // }
247
- if (this._state === STATE_PLAYING)
248
- this._inner.advance(change);
249
- // todo when we add smooth seeks we need to update this
250
- this._inner.render();
251
- if (this._inner.timing.state >= STATE_ENDED) {
252
- if (this._state === STATE_PLAYING)
253
- this._events.trigger('end');
254
- this._state = STATE_PAUSED;
255
- this._stopTicker();
256
- return;
257
- }
258
- // we rendered once let's stop
259
- if (this._state === STATE_RENDER_ONCE) {
260
- this._state = STATE_PAUSED;
261
- this._stopTicker();
262
- }
263
- });
264
- }
265
- _stopTicker() {
266
- if (!this._runningTicker)
267
- return;
268
- this._runningTicker.remove();
269
- this._runningTicker = null;
270
- }
271
- _onResponsive(a, b) {
272
- // // make sure we don't render something if we never did
273
- // if (!this._renderedOnce)
274
- // return;
275
- this._inner.update();
276
- }
277
- }
278
- /**
279
- * Add an animation to the timeline
280
- * tl needs to have _defaults, and _inner
281
- */
282
- export function timelineAdd(tl, targets, props, offset = null) {
283
- if (Array.from(targets).length === 0)
284
- targets = [targets];
285
- else
286
- targets = Array.from(targets);
287
- let i = -1;
288
- for (const target of targets) {
289
- i++;
290
- const nProps = {
291
- ...tl._defaults,
292
- ...props,
293
- };
294
- for (const prop in nProps) {
295
- nProps[prop] = callStagger(nProps[prop], i, targets.length);
296
- }
297
- const nOffset = callStagger(offset, i);
298
- tl._inner.add(target, nProps, nOffset, i);
299
- }
300
- }
301
- //# sourceMappingURL=public.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/timeline/public.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import Ticker, { Callback } from './Ticker';
2
- /**
3
- * The ticker is the main driver for all animations
4
- *
5
- * it also manages all targets allowing to only call the dom api
6
- * at the end of every frame
7
- */
8
- export default class AnimationFrameTicker implements Ticker {
9
- private _listeners;
10
- private _targets;
11
- running: boolean;
12
- private _previousTick;
13
- constructor();
14
- static global(): any;
15
- registerTarget(target: any): any;
16
- unregisterTarget(target: any): void;
17
- applyTargets(): void;
18
- add(fn: Callback): {
19
- remove: () => void;
20
- };
21
- remove(fn: Callback): void;
22
- _tick(elapsed: number): void;
23
- }
24
- export declare class GlobalTargets {
25
- private _targets;
26
- constructor();
27
- register(target: any): any;
28
- unregister(target: any): void;
29
- apply(): void;
30
- size(): number;
31
- }
32
- //# sourceMappingURL=AnimationFrameTicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnimationFrameTicker.d.ts","sourceRoot":"","sources":["../../src/timing/AnimationFrameTicker.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,MAAM;IAC1D,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAgB;IAEhC,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,aAAa,CAAgB;;IAWrC,MAAM,CAAC,MAAM;IAkBb,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B,gBAAgB,CAAC,MAAM,EAAE,GAAG;IAI5B,YAAY;IAIZ,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAezC,MAAM,CAAC,EAAE,EAAE,QAAQ;IAInB,KAAK,CAAC,OAAO,EAAE,MAAM;CA8BrB;AAoBD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAyC;;IAOzD,QAAQ,CAAC,MAAM,EAAE,GAAG;IAcpB,UAAU,CAAC,MAAM,EAAE,GAAG;IAOtB,KAAK;IASL,IAAI;CAKJ"}
@@ -1,134 +0,0 @@
1
- import { newTarget } from '../target/Target';
2
- /**
3
- * The ticker is the main driver for all animations
4
- *
5
- * it also manages all targets allowing to only call the dom api
6
- * at the end of every frame
7
- */
8
- export default class AnimationFrameTicker {
9
- _listeners;
10
- _targets;
11
- running;
12
- _previousTick;
13
- constructor() {
14
- this._listeners = new Set();
15
- this._targets = new GlobalTargets();
16
- this.running = false;
17
- this._previousTick = null;
18
- }
19
- static global() {
20
- // allow to define a test ticker
21
- // @ts-ignore
22
- if (typeof globalThis !== 'undefined' && globalThis.chnobliTicker)
23
- // @ts-ignore
24
- return globalThis.chnobliTicker;
25
- if (typeof window === 'undefined')
26
- throw new Error('can only be executed in a browser context');
27
- // @ts-ignore
28
- if (typeof window.chnobliTicker === 'undefined')
29
- // @ts-ignore
30
- window.chnobliTicker = new AnimationFrameTicker();
31
- // @ts-ignore
32
- return window.chnobliTicker;
33
- }
34
- registerTarget(target) {
35
- return this._targets.register(target);
36
- }
37
- unregisterTarget(target) {
38
- return this._targets.unregister(target);
39
- }
40
- applyTargets() {
41
- return this._targets.apply();
42
- }
43
- add(fn) {
44
- this._listeners.add(fn);
45
- if (!this.running) {
46
- this.running = true;
47
- requestAnimationFrame(a => this._tick(a));
48
- }
49
- return {
50
- remove: () => {
51
- this.remove(fn);
52
- },
53
- };
54
- }
55
- remove(fn) {
56
- this._listeners.delete(fn);
57
- }
58
- _tick(elapsed) {
59
- if (this._listeners.size === 0) {
60
- this.running = false;
61
- this._previousTick = null;
62
- return;
63
- }
64
- if (this._previousTick === null)
65
- this._previousTick = elapsed;
66
- let change = elapsed - this._previousTick;
67
- // lagSmoothing
68
- if (change > 500) {
69
- console.log('ticker lagged');
70
- change = 33;
71
- }
72
- this._previousTick = elapsed;
73
- // const changes = new PropertyChanges;
74
- for (const fn of this._listeners) {
75
- fn(change, {
76
- // changes,
77
- remove: () => this.remove(fn),
78
- });
79
- }
80
- this._targets.apply();
81
- requestAnimationFrame(a => this._tick(a));
82
- }
83
- }
84
- // class PropertyChanges {
85
- // constructor() {
86
- // this._targets = new Map;
87
- // }
88
- // // target is expected to be an html element
89
- // get(target) {
90
- // }
91
- // }
92
- // class TargetChanges {
93
- // constructor() {
94
- // // x, y, rotate, skew, scale
95
- // this.transform = {};
96
- // }
97
- // }
98
- export class GlobalTargets {
99
- _targets;
100
- constructor() {
101
- // {target, ref}
102
- this._targets = new Map();
103
- }
104
- register(target) {
105
- let storedTarget = this._targets.get(target);
106
- if (!storedTarget) {
107
- storedTarget = {
108
- target: newTarget(target),
109
- ref: 0,
110
- };
111
- this._targets.set(target, storedTarget);
112
- }
113
- storedTarget.ref += 1;
114
- return storedTarget.target;
115
- }
116
- unregister(target) {
117
- const storedTarget = this._targets.get(target);
118
- if (!storedTarget)
119
- return;
120
- storedTarget.ref -= 1;
121
- }
122
- apply() {
123
- for (const storedTarget of this._targets.values()) {
124
- const { target, ref } = storedTarget;
125
- target.apply();
126
- if (ref <= 0)
127
- this._targets.delete(target.target);
128
- }
129
- }
130
- size() {
131
- return this._targets.size;
132
- }
133
- }
134
- //# sourceMappingURL=AnimationFrameTicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnimationFrameTicker.js","sourceRoot":"","sources":["../../src/timing/AnimationFrameTicker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export default class Ease {
2
- fn: ((t: number) => number) | null;
3
- constructor(prop: any);
4
- apply(t: number): number;
5
- }
6
- //# sourceMappingURL=Ease.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ease.d.ts","sourceRoot":"","sources":["../../src/timing/Ease.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,IAAI;IACxB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;gBAEvB,IAAI,EAAE,GAAG;IAQrB,KAAK,CAAC,CAAC,EAAE,MAAM;CAKf"}
@@ -1,15 +0,0 @@
1
- export default class Ease {
2
- fn;
3
- constructor(prop) {
4
- // parse prop
5
- if (prop !== null && typeof prop !== 'function')
6
- throw new Error('ease needs to be a function');
7
- this.fn = prop;
8
- }
9
- apply(t) {
10
- if (this.fn === null)
11
- return t;
12
- return this.fn(t);
13
- }
14
- }
15
- //# sourceMappingURL=Ease.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ease.js","sourceRoot":"","sources":["../../src/timing/Ease.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,IAAI;IACxB,EAAE,CAAiC;IAEnC,YAAY,IAAS;QACpB,aAAa;QACb,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU;YAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEhD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAS;QACd,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;CACD"}
@@ -1,19 +0,0 @@
1
- import { GlobalTargets } from './AnimationFrameTicker';
2
- import Ticker, { Callback } from './Ticker';
3
- export default class TestTicker implements Ticker {
4
- private _listeners;
5
- targets: GlobalTargets;
6
- running: boolean;
7
- private _previousTick;
8
- constructor();
9
- registerTarget(target: any): any;
10
- unregisterTarget(target: any): void;
11
- applyTargets(): void;
12
- add(fn: Callback): {
13
- remove: () => void;
14
- };
15
- remove(fn: Callback): void;
16
- run(max?: number, step?: number): boolean;
17
- tick(elapsed: number): boolean;
18
- }
19
- //# sourceMappingURL=TestTicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestTicker.d.ts","sourceRoot":"","sources":["../../src/timing/TestTicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,MAAM;IAChD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,EAAE,aAAa,CAAC;IAEvB,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,aAAa,CAAgB;;IAcrC,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B,gBAAgB,CAAC,MAAM,EAAE,GAAG;IAI5B,YAAY;IAIZ,GAAG,CAAC,EAAE,EAAE,QAAQ;;;IAYhB,MAAM,CAAC,EAAE,EAAE,QAAQ;IAOnB,GAAG,CAAC,GAAG,SAAO,EAAE,IAAI,SAAI;IAgBxB,IAAI,CAAC,OAAO,EAAE,MAAM;CA8BpB"}
@@ -1,81 +0,0 @@
1
- import { GlobalTargets } from './AnimationFrameTicker';
2
- export default class TestTicker {
3
- _listeners;
4
- targets;
5
- running;
6
- _previousTick;
7
- constructor() {
8
- this._listeners = new Set();
9
- this.targets = new GlobalTargets();
10
- this.running = false;
11
- this._previousTick = null;
12
- // @ts-ignore
13
- globalThis.chnobliTicker = this;
14
- }
15
- registerTarget(target) {
16
- return this.targets.register(target);
17
- }
18
- unregisterTarget(target) {
19
- return this.targets.unregister(target);
20
- }
21
- applyTargets() {
22
- return this.targets.apply();
23
- }
24
- add(fn) {
25
- this._listeners.add(fn);
26
- if (!this.running)
27
- this.running = true;
28
- return {
29
- remove: () => {
30
- this.remove(fn);
31
- },
32
- };
33
- }
34
- remove(fn) {
35
- this._listeners.delete(fn);
36
- }
37
- /// max expects a number for how many ms the ticker should run
38
- ///
39
- /// runs until the ticker ends this allows to run
40
- run(max = 3000, step = 1) {
41
- if (!this.running)
42
- return true;
43
- if (this._previousTick === null)
44
- this.tick(0);
45
- let i = 0;
46
- const start = this._previousTick ?? 0;
47
- for (i = 1; i <= max; i += step) {
48
- if (!this.tick(start + i))
49
- return true;
50
- }
51
- return false;
52
- }
53
- // elapsed in ms
54
- tick(elapsed) {
55
- if (!this.running)
56
- return false;
57
- if (this._previousTick === null)
58
- this._previousTick = elapsed;
59
- let change = elapsed - this._previousTick;
60
- // lagSmoothing
61
- if (change > 500) {
62
- console.log('ticker lagged');
63
- change = 33;
64
- }
65
- this._previousTick = elapsed;
66
- for (const fn of this._listeners) {
67
- fn(change, {
68
- // changes,
69
- remove: () => this.remove(fn),
70
- });
71
- }
72
- this.targets.apply();
73
- if (this._listeners.size === 0) {
74
- this.running = false;
75
- this._previousTick = null;
76
- return false;
77
- }
78
- return true;
79
- }
80
- }
81
- //# sourceMappingURL=TestTicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestTicker.js","sourceRoot":"","sources":["../../src/timing/TestTicker.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Target } from '../target/Target';
2
- export type Callback = (change: number, api: {
3
- remove: () => void;
4
- }) => void;
5
- export default interface Ticker {
6
- registerTarget(target: any): Target;
7
- unregisterTarget(target: any): void;
8
- applyTargets(): void;
9
- add(fn: Callback): {
10
- remove: () => void;
11
- };
12
- remove(fn: Callback): void;
13
- }
14
- //# sourceMappingURL=Ticker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ticker.d.ts","sourceRoot":"","sources":["../../src/timing/Ticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,KAAK,IAAI,CAAC;AAE7E,MAAM,CAAC,OAAO,WAAW,MAAM;IAC9B,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;IACpC,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACpC,YAAY,IAAI,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Ticker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ticker.js","sourceRoot":"","sources":["../../src/timing/Ticker.ts"],"names":[],"mappings":""}