chnobli 0.1.8 → 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 (202) hide show
  1. package/package.json +9 -5
  2. package/src/animation/Animation.ts +2 -2
  3. package/src/animation/public.ts +39 -5
  4. package/src/chnobli.ts +15 -11
  5. package/src/property/Property.ts +2 -0
  6. package/src/property/StyleProperty.ts +2 -2
  7. package/src/scroll/Scroll.ts +172 -88
  8. package/src/scroll/index.ts +8 -0
  9. package/src/scroll/public.ts +23 -12
  10. package/src/stagger/stagger.ts +28 -14
  11. package/src/target/ObjectTarget.ts +124 -0
  12. package/src/target/Target.ts +13 -0
  13. package/src/tests/properties.test.ts +51 -1
  14. package/src/timeline/Nested.ts +1 -1
  15. package/src/timeline/{TimeLine.ts → Timeline.ts} +21 -1
  16. package/src/timeline/public.ts +168 -47
  17. package/src/timing/Timing.ts +37 -3
  18. package/src/utils/internal.ts +6 -3
  19. package/src/utils/utils.ts +16 -7
  20. package/src/values/StyleValue.ts +13 -1
  21. package/tsconfig.json +0 -1
  22. package/.editorconfig +0 -11
  23. package/.github/workflows/ci.yaml +0 -34
  24. package/.prettierignore +0 -4
  25. package/.prettierrc +0 -6
  26. package/.vscode/settings.json +0 -4
  27. package/LICENSE.md +0 -21
  28. package/README.md +0 -5
  29. package/auto-docs/easing.js.html +0 -342
  30. package/auto-docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  31. package/auto-docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  32. package/auto-docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  33. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  34. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  35. package/auto-docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  36. package/auto-docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  37. package/auto-docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  38. package/auto-docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  39. package/auto-docs/fonts/OpenSans-Light-webfont.eot +0 -0
  40. package/auto-docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  41. package/auto-docs/fonts/OpenSans-Light-webfont.woff +0 -0
  42. package/auto-docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  43. package/auto-docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  44. package/auto-docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  45. package/auto-docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  46. package/auto-docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  47. package/auto-docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  48. package/auto-docs/global.html +0 -4810
  49. package/auto-docs/index.html +0 -65
  50. package/auto-docs/scripts/linenumber.js +0 -25
  51. package/auto-docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  52. package/auto-docs/scripts/prettify/lang-css.js +0 -2
  53. package/auto-docs/scripts/prettify/prettify.js +0 -28
  54. package/auto-docs/styles/jsdoc-default.css +0 -358
  55. package/auto-docs/styles/prettify-jsdoc.css +0 -111
  56. package/auto-docs/styles/prettify-tomorrow.css +0 -132
  57. package/dist/animation/Animation.d.ts +0 -36
  58. package/dist/animation/Animation.d.ts.map +0 -1
  59. package/dist/animation/Animation.js +0 -230
  60. package/dist/animation/Animation.js.map +0 -1
  61. package/dist/animation/public.d.ts +0 -58
  62. package/dist/animation/public.d.ts.map +0 -1
  63. package/dist/animation/public.js +0 -107
  64. package/dist/animation/public.js.map +0 -1
  65. package/dist/chnobli.d.ts +0 -16
  66. package/dist/chnobli.d.ts.map +0 -1
  67. package/dist/chnobli.js +0 -63
  68. package/dist/chnobli.js.map +0 -1
  69. package/dist/property/BasicProperty.d.ts +0 -38
  70. package/dist/property/BasicProperty.d.ts.map +0 -1
  71. package/dist/property/BasicProperty.js +0 -72
  72. package/dist/property/BasicProperty.js.map +0 -1
  73. package/dist/property/ClassProperty.d.ts +0 -32
  74. package/dist/property/ClassProperty.d.ts.map +0 -1
  75. package/dist/property/ClassProperty.js +0 -108
  76. package/dist/property/ClassProperty.js.map +0 -1
  77. package/dist/property/Property.d.ts +0 -13
  78. package/dist/property/Property.d.ts.map +0 -1
  79. package/dist/property/Property.js +0 -20
  80. package/dist/property/Property.js.map +0 -1
  81. package/dist/property/StyleProperty.d.ts +0 -25
  82. package/dist/property/StyleProperty.d.ts.map +0 -1
  83. package/dist/property/StyleProperty.js +0 -221
  84. package/dist/property/StyleProperty.js.map +0 -1
  85. package/dist/property/TransformProperty.d.ts +0 -15
  86. package/dist/property/TransformProperty.d.ts.map +0 -1
  87. package/dist/property/TransformProperty.js +0 -43
  88. package/dist/property/TransformProperty.js.map +0 -1
  89. package/dist/property/TransformXYProperty.d.ts +0 -28
  90. package/dist/property/TransformXYProperty.d.ts.map +0 -1
  91. package/dist/property/TransformXYProperty.js +0 -65
  92. package/dist/property/TransformXYProperty.js.map +0 -1
  93. package/dist/responsive/ResponsiveEvent.d.ts +0 -17
  94. package/dist/responsive/ResponsiveEvent.d.ts.map +0 -1
  95. package/dist/responsive/ResponsiveEvent.js +0 -45
  96. package/dist/responsive/ResponsiveEvent.js.map +0 -1
  97. package/dist/responsive/TestEvent.d.ts +0 -11
  98. package/dist/responsive/TestEvent.d.ts.map +0 -1
  99. package/dist/responsive/TestEvent.js +0 -26
  100. package/dist/responsive/TestEvent.js.map +0 -1
  101. package/dist/scroll/Scroll.d.ts +0 -27
  102. package/dist/scroll/Scroll.d.ts.map +0 -1
  103. package/dist/scroll/Scroll.js +0 -132
  104. package/dist/scroll/Scroll.js.map +0 -1
  105. package/dist/scroll/ScrollEvent.d.ts +0 -17
  106. package/dist/scroll/ScrollEvent.d.ts.map +0 -1
  107. package/dist/scroll/ScrollEvent.js +0 -39
  108. package/dist/scroll/ScrollEvent.js.map +0 -1
  109. package/dist/scroll/public.d.ts +0 -7
  110. package/dist/scroll/public.d.ts.map +0 -1
  111. package/dist/scroll/public.js +0 -17
  112. package/dist/scroll/public.js.map +0 -1
  113. package/dist/stagger/stagger.d.ts +0 -19
  114. package/dist/stagger/stagger.d.ts.map +0 -1
  115. package/dist/stagger/stagger.js +0 -41
  116. package/dist/stagger/stagger.js.map +0 -1
  117. package/dist/target/BaseTarget.old.d.ts +0 -33
  118. package/dist/target/BaseTarget.old.d.ts.map +0 -1
  119. package/dist/target/BaseTarget.old.js +0 -73
  120. package/dist/target/BaseTarget.old.js.map +0 -1
  121. package/dist/target/DomTarget.d.ts +0 -41
  122. package/dist/target/DomTarget.d.ts.map +0 -1
  123. package/dist/target/DomTarget.js +0 -230
  124. package/dist/target/DomTarget.js.map +0 -1
  125. package/dist/target/Target.d.ts +0 -22
  126. package/dist/target/Target.d.ts.map +0 -1
  127. package/dist/target/Target.js +0 -21
  128. package/dist/target/Target.js.map +0 -1
  129. package/dist/target/TestDomNode.d.ts +0 -14
  130. package/dist/target/TestDomNode.d.ts.map +0 -1
  131. package/dist/target/TestDomNode.js +0 -55
  132. package/dist/target/TestDomNode.js.map +0 -1
  133. package/dist/timeline/Nested.d.ts +0 -30
  134. package/dist/timeline/Nested.d.ts.map +0 -1
  135. package/dist/timeline/Nested.js +0 -51
  136. package/dist/timeline/Nested.js.map +0 -1
  137. package/dist/timeline/TimeLine.d.ts +0 -32
  138. package/dist/timeline/TimeLine.d.ts.map +0 -1
  139. package/dist/timeline/TimeLine.js +0 -288
  140. package/dist/timeline/TimeLine.js.map +0 -1
  141. package/dist/timeline/public.d.ts +0 -135
  142. package/dist/timeline/public.d.ts.map +0 -1
  143. package/dist/timeline/public.js +0 -316
  144. package/dist/timeline/public.js.map +0 -1
  145. package/dist/timing/AnimationFrameTicker.d.ts +0 -32
  146. package/dist/timing/AnimationFrameTicker.d.ts.map +0 -1
  147. package/dist/timing/AnimationFrameTicker.js +0 -134
  148. package/dist/timing/AnimationFrameTicker.js.map +0 -1
  149. package/dist/timing/Ease.d.ts +0 -6
  150. package/dist/timing/Ease.d.ts.map +0 -1
  151. package/dist/timing/Ease.js +0 -15
  152. package/dist/timing/Ease.js.map +0 -1
  153. package/dist/timing/TestTicker.d.ts +0 -19
  154. package/dist/timing/TestTicker.d.ts.map +0 -1
  155. package/dist/timing/TestTicker.js +0 -81
  156. package/dist/timing/TestTicker.js.map +0 -1
  157. package/dist/timing/Ticker.d.ts +0 -14
  158. package/dist/timing/Ticker.d.ts.map +0 -1
  159. package/dist/timing/Ticker.js +0 -2
  160. package/dist/timing/Ticker.js.map +0 -1
  161. package/dist/timing/Timing.d.ts +0 -62
  162. package/dist/timing/Timing.d.ts.map +0 -1
  163. package/dist/timing/Timing.js +0 -257
  164. package/dist/timing/Timing.js.map +0 -1
  165. package/dist/timing/easing.d.ts +0 -158
  166. package/dist/timing/easing.d.ts.map +0 -1
  167. package/dist/timing/easing.js +0 -273
  168. package/dist/timing/easing.js.map +0 -1
  169. package/dist/utils/Events.d.ts +0 -9
  170. package/dist/utils/Events.d.ts.map +0 -1
  171. package/dist/utils/Events.js +0 -35
  172. package/dist/utils/Events.js.map +0 -1
  173. package/dist/utils/internal.d.ts +0 -2
  174. package/dist/utils/internal.d.ts.map +0 -1
  175. package/dist/utils/internal.js +0 -6
  176. package/dist/utils/internal.js.map +0 -1
  177. package/dist/utils/motionpath.d.ts +0 -16
  178. package/dist/utils/motionpath.d.ts.map +0 -1
  179. package/dist/utils/motionpath.js +0 -41
  180. package/dist/utils/motionpath.js.map +0 -1
  181. package/dist/utils/utils.d.ts +0 -43
  182. package/dist/utils/utils.d.ts.map +0 -1
  183. package/dist/utils/utils.js +0 -93
  184. package/dist/utils/utils.js.map +0 -1
  185. package/dist/values/ColorValue.d.ts +0 -12
  186. package/dist/values/ColorValue.d.ts.map +0 -1
  187. package/dist/values/ColorValue.js +0 -133
  188. package/dist/values/ColorValue.js.map +0 -1
  189. package/dist/values/StyleValue.d.ts +0 -40
  190. package/dist/values/StyleValue.d.ts.map +0 -1
  191. package/dist/values/StyleValue.js +0 -149
  192. package/dist/values/StyleValue.js.map +0 -1
  193. package/dist/values/Value.d.ts +0 -13
  194. package/dist/values/Value.d.ts.map +0 -1
  195. package/dist/values/Value.js +0 -38
  196. package/dist/values/Value.js.map +0 -1
  197. package/dist/values/defaultcolors.d.ts +0 -2
  198. package/dist/values/defaultcolors.d.ts.map +0 -1
  199. package/dist/values/defaultcolors.js +0 -149
  200. package/dist/values/defaultcolors.js.map +0 -1
  201. package/docs/INDEX.md +0 -15
  202. package/jsr.json +0 -9
@@ -1,316 +0,0 @@
1
- import { takeProp } from '../utils/internal.js';
2
- import Timeline from './TimeLine.js';
3
- import { STATE_ENDED } from '../timing/Timing.js';
4
- import { callStagger } from '../stagger/stagger.js';
5
- import Events from '../utils/Events.js';
6
- import ResponsiveEvent from '../responsive/ResponsiveEvent.js';
7
- import NestedTimeline from './Nested.js';
8
- const STATE_PAUSED = 0;
9
- const STATE_RENDER_ONCE = 1;
10
- const STATE_PLAYING = 2;
11
- export default class PublicTimeline {
12
- /**
13
- * @ignore
14
- */
15
- _defaults;
16
- _responsive;
17
- /**
18
- * @ignore
19
- */
20
- _inner;
21
- _events;
22
- _state;
23
- _renderedOnce;
24
- _runningTicker;
25
- _responsiveBlocks;
26
- _responsiveEvent;
27
- constructor(props = {}) {
28
- this._defaults = takeProp(props, 'defaults', {});
29
- this._responsive = takeProp(props, 'responsive', true);
30
- if (typeof this._responsive !== 'boolean')
31
- throw new Error('responsive can only be a boolean');
32
- if ('duration' in props)
33
- throw new Error('a timeline does not accept a duration');
34
- this._inner = new Timeline(props);
35
- // 'start', 'end'
36
- this._events = new Events();
37
- this._state = STATE_PAUSED;
38
- this._renderedOnce = false;
39
- this._runningTicker = null;
40
- this._responsiveBlocks = [];
41
- if (this._responsive) {
42
- this._responsiveEvent = ResponsiveEvent.global()?.add((a, b) => {
43
- this._onResponsive(a, b);
44
- });
45
- // setup callback so we can notify our listeners
46
- this._inner.setBeforeResponsiveFn(() => {
47
- this._responsiveBlocks.forEach(block => {
48
- block.responsive();
49
- });
50
- });
51
- }
52
- else {
53
- this._responsiveEvent = null;
54
- }
55
- }
56
- /**
57
- * Set's properties
58
- * offset can be staggered, a number, a label or a string `+=10`
59
- */
60
- set(targets, props, offset = null) {
61
- // for the moment let's just add as usual but set the duration to 0
62
- return this.add(targets, { ...props, duration: 0 }, offset);
63
- }
64
- /**
65
- * Add an animation to the timeline
66
- *
67
- * offset can be staggered, a number, a label or a string `+=10`
68
- */
69
- add(targets, props, offset = null) {
70
- timelineAdd(this, targets, props, offset);
71
- return this;
72
- }
73
- /**
74
- * Adds a label at to the current nOffse
75
- *
76
- * This label can then be used in offsets
77
- */
78
- label(label, offset = null) {
79
- this._inner.label(label, offset);
80
- return this;
81
- }
82
- /**
83
- * Allows to nest timelines
84
- *
85
- * fn: (timeline)
86
- */
87
- // todo probably tl should be an interface
88
- nest(fn, opts = {}, offset = null) {
89
- const tl = new NestedTimeline(opts);
90
- fn(tl);
91
- this._inner.addTimeline(tl._inner, offset);
92
- return this;
93
- }
94
- /**
95
- * Adds a responsive function call which get's called before the responsive
96
- * functions in properties
97
- */
98
- addResponsive(responsive) {
99
- if (!this._responsiveEvent)
100
- throw new Error('this timeline is not responsive');
101
- if (Array.isArray(responsive)) {
102
- responsive.forEach(resp => this.addResponsive(resp));
103
- return this;
104
- }
105
- if (typeof responsive.responsive !== 'function')
106
- throw new Error('expected a responsive() function');
107
- this._responsiveBlocks.push(responsive);
108
- return this;
109
- }
110
- /**
111
- * Starts to play the timeline if it hasn't started
112
- */
113
- play() {
114
- if (this._state === STATE_PLAYING)
115
- return this;
116
- this._state = STATE_PLAYING;
117
- this._startTicker();
118
- return this;
119
- }
120
- /**
121
- * Pause the timeline at the current position
122
- */
123
- pause() {
124
- if (this._state === STATE_PAUSED)
125
- return;
126
- this._state = STATE_PAUSED;
127
- this._stopTicker();
128
- }
129
- /**
130
- * Seeks to a position in the timeline
131
- */
132
- seekMs(ms) {
133
- this._inner.init();
134
- this._inner.seekMs(ms);
135
- if (this._state !== STATE_PLAYING)
136
- this._state = STATE_RENDER_ONCE;
137
- this._startTicker();
138
- }
139
- /**
140
- * Seeks to a normalized position in the timeline
141
- *
142
- * @param pos = number between 0 and 1
143
- */
144
- seek(pos) {
145
- this._inner.init();
146
- this._inner.seek(pos);
147
- if (this._state !== STATE_PLAYING)
148
- this._state = STATE_RENDER_ONCE;
149
- this._startTicker();
150
- }
151
- // seek in Range (useful for scroll timelines)
152
- // seek(startOffset, endOffset, pos)
153
- /**
154
- * Resets the current timeline to the start
155
- * without changing anything
156
- */
157
- reset() {
158
- this._inner.seek(0);
159
- }
160
- /**
161
- * Resets every used prop to it's previous value
162
- */
163
- resetProps() {
164
- const reversed = this._inner.timing.reverse;
165
- this._inner.timing.reversed = false;
166
- this._inner.seek(-1);
167
- this._inner.render();
168
- this._inner.ticker.applyTargets();
169
- this._inner.timing.reverse = reversed;
170
- this._inner.seek(-1);
171
- }
172
- /**
173
- * Recalculates all values this should be called for example after a resize
174
- */
175
- update() {
176
- this._inner.update();
177
- }
178
- /**
179
- * Returns wether the timeline is set to reversed
180
- */
181
- isReversed() {
182
- return this._inner.timing.reversed;
183
- }
184
- /**
185
- * Set's the timeline to a specific direction
186
- */
187
- setReversed(reversed) {
188
- if (this.isReversed() == reversed)
189
- return;
190
- this.reverse();
191
- }
192
- /**
193
- * Reverses the order of the current timeline
194
- */
195
- reverse() {
196
- this._inner.timing.reverse();
197
- }
198
- /**
199
- * Listen on events
200
- *
201
- * returns a function to remove the event listener
202
- *
203
- * ## Events
204
- *
205
- * ### end
206
- * Get's executed once the timeline comes to the end
207
- * Does not get executed during seeking
208
- *
209
- */
210
- on(event, fn) {
211
- return this._events.add(event, fn);
212
- }
213
- // not working
214
- onPromise(event) {
215
- return this._events.wait(event);
216
- }
217
- /**
218
- * Destroys this timeline and resets all props
219
- */
220
- destroy() {
221
- this._stopTicker();
222
- this._inner.destroy();
223
- this._events.destroy();
224
- this._responsiveEvent?.remove();
225
- this._responsiveBlocks = [];
226
- // @ts-ignore
227
- this._inner = null;
228
- }
229
- /**
230
- * @ignore
231
- */
232
- _startTicker() {
233
- if (this._runningTicker)
234
- return;
235
- this._inner.init();
236
- this._runningTicker = this._inner.ticker.add(change => {
237
- if (this._inner.timing.state >= STATE_ENDED) {
238
- if (!this._renderedOnce) {
239
- this._renderedOnce = true;
240
- this._inner.render();
241
- }
242
- if (this._state === STATE_PLAYING)
243
- this._events.trigger('end');
244
- this._state = STATE_PAUSED;
245
- this._stopTicker();
246
- return;
247
- }
248
- // if (this._inner.timing.state <= STATE_START) {
249
- // this._events.trigger('start');
250
- // }
251
- // if (this._inner.timing.state >= STATE_ENDED) {
252
- // this._stopTicker();
253
- // this._events.trigger('end');
254
- // return;
255
- // }
256
- if (this._state === STATE_PLAYING)
257
- this._inner.advance(change);
258
- // todo when we add smooth seeks we need to update this
259
- this._inner.render();
260
- if (this._inner.timing.state >= STATE_ENDED) {
261
- if (this._state === STATE_PLAYING)
262
- this._events.trigger('end');
263
- this._state = STATE_PAUSED;
264
- this._stopTicker();
265
- return;
266
- }
267
- // we rendered once let's stop
268
- if (this._state === STATE_RENDER_ONCE) {
269
- this._state = STATE_PAUSED;
270
- this._stopTicker();
271
- }
272
- });
273
- }
274
- /**
275
- * @ignore
276
- */
277
- _stopTicker() {
278
- if (!this._runningTicker)
279
- return;
280
- this._runningTicker.remove();
281
- this._runningTicker = null;
282
- }
283
- /**
284
- * @ignore
285
- */
286
- _onResponsive(a, b) {
287
- // // make sure we don't render something if we never did
288
- // if (!this._renderedOnce)
289
- // return;
290
- this._inner.update();
291
- }
292
- }
293
- /**
294
- * Add an animation to the timeline
295
- * tl needs to have _defaults, and _inner
296
- */
297
- export function timelineAdd(tl, targets, props, offset = null) {
298
- if (Array.from(targets).length === 0)
299
- targets = [targets];
300
- else
301
- targets = Array.from(targets);
302
- let i = -1;
303
- for (const target of targets) {
304
- i++;
305
- const nProps = {
306
- ...tl._defaults,
307
- ...props,
308
- };
309
- for (const prop in nProps) {
310
- nProps[prop] = callStagger(nProps[prop], i, targets.length);
311
- }
312
- const nOffset = callStagger(offset, i);
313
- tl._inner.add(target, nProps, nOffset, i);
314
- }
315
- }
316
- //# 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.js';
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,aAAa,CAAC;AAE/C;;;;;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.js';
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.js';
2
- import Ticker, { Callback } from './Ticker.js';
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,2BAA2B,CAAC;AAC1D,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE/C,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.js';
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.js';
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,qBAAqB,CAAC;AAE7C,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":""}