chnobli 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierignore +4 -0
- package/.prettierrc +6 -0
- package/.vscode/settings.json +4 -0
- package/auto-docs/easing.js.html +342 -0
- package/auto-docs/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-Bold-webfont.svg +1830 -0
- package/auto-docs/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/auto-docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
- package/auto-docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/auto-docs/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-Italic-webfont.svg +1830 -0
- package/auto-docs/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/auto-docs/fonts/OpenSans-Light-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-Light-webfont.svg +1831 -0
- package/auto-docs/fonts/OpenSans-Light-webfont.woff +0 -0
- package/auto-docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
- package/auto-docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/auto-docs/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/auto-docs/fonts/OpenSans-Regular-webfont.svg +1831 -0
- package/auto-docs/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/auto-docs/global.html +4810 -0
- package/auto-docs/index.html +65 -0
- package/auto-docs/scripts/linenumber.js +25 -0
- package/auto-docs/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/auto-docs/scripts/prettify/lang-css.js +2 -0
- package/auto-docs/scripts/prettify/prettify.js +28 -0
- package/auto-docs/styles/jsdoc-default.css +358 -0
- package/auto-docs/styles/prettify-jsdoc.css +111 -0
- package/auto-docs/styles/prettify-tomorrow.css +132 -0
- package/dist/animation/Animation.d.ts +36 -0
- package/dist/animation/Animation.d.ts.map +1 -0
- package/dist/animation/Animation.js +230 -0
- package/dist/animation/Animation.js.map +1 -0
- package/dist/animation/animation.d.ts +36 -0
- package/dist/animation/animation.d.ts.map +1 -0
- package/dist/animation/animation.js +230 -0
- package/dist/animation/animation.js.map +1 -0
- package/dist/animation/public.d.ts +55 -0
- package/dist/animation/public.d.ts.map +1 -0
- package/dist/animation/public.js +104 -0
- package/dist/animation/public.js.map +1 -0
- package/dist/chnobli.d.ts +15 -0
- package/dist/chnobli.d.ts.map +1 -0
- package/dist/chnobli.js +63 -0
- package/dist/chnobli.js.map +1 -0
- package/dist/property/BasicProperty.d.ts +38 -0
- package/dist/property/BasicProperty.d.ts.map +1 -0
- package/dist/property/BasicProperty.js +72 -0
- package/dist/property/BasicProperty.js.map +1 -0
- package/dist/property/ClassProperty.d.ts +32 -0
- package/dist/property/ClassProperty.d.ts.map +1 -0
- package/dist/property/ClassProperty.js +108 -0
- package/dist/property/ClassProperty.js.map +1 -0
- package/dist/property/Property.d.ts +13 -0
- package/dist/property/Property.d.ts.map +1 -0
- package/dist/property/Property.js +20 -0
- package/dist/property/Property.js.map +1 -0
- package/dist/property/StyleProperty.d.ts +25 -0
- package/dist/property/StyleProperty.d.ts.map +1 -0
- package/dist/property/StyleProperty.js +221 -0
- package/dist/property/StyleProperty.js.map +1 -0
- package/dist/property/TransformProperty.d.ts +15 -0
- package/dist/property/TransformProperty.d.ts.map +1 -0
- package/dist/property/TransformProperty.js +43 -0
- package/dist/property/TransformProperty.js.map +1 -0
- package/dist/property/TransformXYProperty.d.ts +28 -0
- package/dist/property/TransformXYProperty.d.ts.map +1 -0
- package/dist/property/TransformXYProperty.js +65 -0
- package/dist/property/TransformXYProperty.js.map +1 -0
- package/dist/responsive/ResponsiveEvent.d.ts +17 -0
- package/dist/responsive/ResponsiveEvent.d.ts.map +1 -0
- package/dist/responsive/ResponsiveEvent.js +45 -0
- package/dist/responsive/ResponsiveEvent.js.map +1 -0
- package/dist/responsive/TestEvent.d.ts +11 -0
- package/dist/responsive/TestEvent.d.ts.map +1 -0
- package/dist/responsive/TestEvent.js +26 -0
- package/dist/responsive/TestEvent.js.map +1 -0
- package/dist/responsive/event.d.ts +10 -0
- package/dist/responsive/event.d.ts.map +1 -0
- package/dist/responsive/event.js +39 -0
- package/dist/responsive/event.js.map +1 -0
- package/dist/scroll/Scroll.d.ts +27 -0
- package/dist/scroll/Scroll.d.ts.map +1 -0
- package/dist/scroll/Scroll.js +132 -0
- package/dist/scroll/Scroll.js.map +1 -0
- package/dist/scroll/ScrollEvent.d.ts +17 -0
- package/dist/scroll/ScrollEvent.d.ts.map +1 -0
- package/dist/scroll/ScrollEvent.js +39 -0
- package/dist/scroll/ScrollEvent.js.map +1 -0
- package/dist/scroll/public.d.ts +7 -0
- package/dist/scroll/public.d.ts.map +1 -0
- package/dist/scroll/public.js +17 -0
- package/dist/scroll/public.js.map +1 -0
- package/dist/stagger/stagger.d.ts +13 -0
- package/dist/stagger/stagger.d.ts.map +1 -0
- package/dist/stagger/stagger.js +35 -0
- package/dist/stagger/stagger.js.map +1 -0
- package/dist/target/BaseTarget.old.d.ts +33 -0
- package/dist/target/BaseTarget.old.d.ts.map +1 -0
- package/dist/target/BaseTarget.old.js +73 -0
- package/dist/target/BaseTarget.old.js.map +1 -0
- package/dist/target/DomTarget.d.ts +41 -0
- package/dist/target/DomTarget.d.ts.map +1 -0
- package/dist/target/DomTarget.js +230 -0
- package/dist/target/DomTarget.js.map +1 -0
- package/dist/target/Target.d.ts +22 -0
- package/dist/target/Target.d.ts.map +1 -0
- package/dist/target/Target.js +21 -0
- package/dist/target/Target.js.map +1 -0
- package/dist/target/TestDomNode.d.ts +14 -0
- package/dist/target/TestDomNode.d.ts.map +1 -0
- package/dist/target/TestDomNode.js +55 -0
- package/dist/target/TestDomNode.js.map +1 -0
- package/dist/timeline/Nested.d.ts +30 -0
- package/dist/timeline/Nested.d.ts.map +1 -0
- package/dist/timeline/Nested.js +51 -0
- package/dist/timeline/Nested.js.map +1 -0
- package/dist/timeline/TimeLine.d.ts +32 -0
- package/dist/timeline/TimeLine.d.ts.map +1 -0
- package/dist/timeline/TimeLine.js +288 -0
- package/dist/timeline/TimeLine.js.map +1 -0
- package/dist/timeline/public.d.ts +120 -0
- package/dist/timeline/public.d.ts.map +1 -0
- package/dist/timeline/public.js +301 -0
- package/dist/timeline/public.js.map +1 -0
- package/dist/timing/AnimationFrameTicker.d.ts +32 -0
- package/dist/timing/AnimationFrameTicker.d.ts.map +1 -0
- package/dist/timing/AnimationFrameTicker.js +134 -0
- package/dist/timing/AnimationFrameTicker.js.map +1 -0
- package/dist/timing/Ease.d.ts +6 -0
- package/dist/timing/Ease.d.ts.map +1 -0
- package/dist/timing/Ease.js +15 -0
- package/dist/timing/Ease.js.map +1 -0
- package/dist/timing/TestTicker.d.ts +19 -0
- package/dist/timing/TestTicker.d.ts.map +1 -0
- package/dist/timing/TestTicker.js +81 -0
- package/dist/timing/TestTicker.js.map +1 -0
- package/dist/timing/Ticker.d.ts +14 -0
- package/dist/timing/Ticker.d.ts.map +1 -0
- package/dist/timing/Ticker.js +2 -0
- package/dist/timing/Ticker.js.map +1 -0
- package/dist/timing/Timing.d.ts +62 -0
- package/dist/timing/Timing.d.ts.map +1 -0
- package/dist/timing/Timing.js +257 -0
- package/dist/timing/Timing.js.map +1 -0
- package/dist/timing/easing.d.ts +158 -0
- package/dist/timing/easing.d.ts.map +1 -0
- package/dist/timing/easing.js +273 -0
- package/dist/timing/easing.js.map +1 -0
- package/dist/utils/Events.d.ts +9 -0
- package/dist/utils/Events.d.ts.map +1 -0
- package/dist/utils/Events.js +35 -0
- package/dist/utils/Events.js.map +1 -0
- package/dist/utils/internal.d.ts +2 -0
- package/dist/utils/internal.d.ts.map +1 -0
- package/dist/utils/internal.js +6 -0
- package/dist/utils/internal.js.map +1 -0
- package/dist/utils/motionpath.d.ts +16 -0
- package/dist/utils/motionpath.d.ts.map +1 -0
- package/dist/utils/motionpath.js +41 -0
- package/dist/utils/motionpath.js.map +1 -0
- package/dist/utils/utils.d.ts +43 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +93 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/values/ColorValue.d.ts +12 -0
- package/dist/values/ColorValue.d.ts.map +1 -0
- package/dist/values/ColorValue.js +133 -0
- package/dist/values/ColorValue.js.map +1 -0
- package/dist/values/StyleValue.d.ts +40 -0
- package/dist/values/StyleValue.d.ts.map +1 -0
- package/dist/values/StyleValue.js +149 -0
- package/dist/values/StyleValue.js.map +1 -0
- package/dist/values/Value.d.ts +13 -0
- package/dist/values/Value.d.ts.map +1 -0
- package/dist/values/Value.js +38 -0
- package/dist/values/Value.js.map +1 -0
- package/dist/values/defaultcolors.d.ts +2 -0
- package/dist/values/defaultcolors.d.ts.map +1 -0
- package/dist/values/defaultcolors.js +149 -0
- package/dist/values/defaultcolors.js.map +1 -0
- package/package.json +11 -7
- package/src/animation/{animation.js → Animation.ts} +56 -54
- package/src/animation/{public.js → public.ts} +23 -18
- package/src/{chnobli.js → chnobli.ts} +11 -12
- package/src/property/BasicProperty.ts +91 -0
- package/src/property/ClassProperty.ts +132 -0
- package/src/property/Property.ts +33 -0
- package/src/property/StyleProperty.ts +273 -0
- package/src/property/TransformProperty.ts +56 -0
- package/src/property/TransformXYProperty.ts +88 -0
- package/src/responsive/ResponsiveEvent.ts +60 -0
- package/src/responsive/{testevent.js → TestEvent.ts} +12 -10
- package/src/scroll/{scroll.js → Scroll.ts} +53 -35
- package/src/scroll/ScrollEvent.ts +53 -0
- package/src/scroll/public.ts +20 -0
- package/src/stagger/stagger.ts +45 -0
- package/src/target/{basetarget.js → BaseTarget.old.ts} +25 -26
- package/src/target/DomTarget.ts +281 -0
- package/src/target/Target.ts +48 -0
- package/src/target/{testdomnode.js → TestDomNode.ts} +18 -15
- package/src/tests/{properties.test.js → properties.test.ts} +54 -49
- package/src/tests/timeline.test.ts +290 -0
- package/src/tests/{timing.test.js → timing.test.ts} +25 -22
- package/src/tests/{usecases.test.js → usecases.test.ts} +13 -10
- package/src/tests/{values.test.js → values.test.ts} +21 -21
- package/src/timeline/Nested.ts +67 -0
- package/src/timeline/{timeline.js → TimeLine.ts} +126 -56
- package/src/timeline/{public.js → public.ts} +112 -73
- package/src/timing/{ticker.js → AnimationFrameTicker.ts} +36 -21
- package/src/timing/{ease.js → Ease.ts} +6 -5
- package/src/timing/{testticker.js → TestTicker.ts} +27 -24
- package/src/timing/Ticker.ts +11 -0
- package/src/timing/{timing.js → Timing.ts} +72 -63
- package/src/timing/{easing.js → easing.ts} +52 -43
- package/src/utils/{events.js → Events.ts} +12 -11
- package/src/utils/internal.ts +10 -0
- package/src/utils/{motionpath.js → motionpath.ts} +36 -13
- package/src/utils/utils.ts +110 -0
- package/src/values/{colorvalue.js → ColorValue.ts} +46 -47
- package/src/values/StyleValue.ts +186 -0
- package/src/values/{value.js → Value.ts} +14 -12
- package/src/values/{defaultcolors.js → defaultcolors.ts} +2 -2
- package/tsconfig.build.json +19 -0
- package/tsconfig.json +17 -108
- package/src/animation/property.js +0 -556
- package/src/responsive/event.js +0 -46
- package/src/scroll/event.js +0 -41
- package/src/scroll/public.js +0 -17
- package/src/stagger/stagger.js +0 -42
- package/src/target/domtarget.js +0 -266
- package/src/target/target.js +0 -22
- package/src/tests/timeline.test.js +0 -234
- package/src/utils/internal.js +0 -7
- package/src/utils/utils.js +0 -75
- package/src/values/stylevalue.js +0 -148
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { newTiming, STATE_BEFORE, STATE_AFTER } from '../timing/Timing';
|
|
2
|
+
import { newProperty } from '../property/Property';
|
|
3
|
+
export default class Animation {
|
|
4
|
+
timing;
|
|
5
|
+
target;
|
|
6
|
+
props;
|
|
7
|
+
_ticker;
|
|
8
|
+
_prevTimingState;
|
|
9
|
+
_props;
|
|
10
|
+
_initialized;
|
|
11
|
+
/*
|
|
12
|
+
props
|
|
13
|
+
*/
|
|
14
|
+
constructor(target, ticker, props = {}) {
|
|
15
|
+
this.timing = newTiming(props);
|
|
16
|
+
this._ticker = ticker;
|
|
17
|
+
this.target = ticker.registerTarget(target);
|
|
18
|
+
this._prevTimingState = this.timing.state;
|
|
19
|
+
this._props = [];
|
|
20
|
+
this._initialized = false;
|
|
21
|
+
this.props = {};
|
|
22
|
+
for (const prop in props) {
|
|
23
|
+
this.props[prop] = new PropertyAnimation(prop, props[prop], this);
|
|
24
|
+
this._props.push(this.props[prop]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
advance(change) {
|
|
28
|
+
this._prevTimingState = this.timing.state;
|
|
29
|
+
this.timing.advance(change);
|
|
30
|
+
}
|
|
31
|
+
seekMs(ms) {
|
|
32
|
+
this._prevTimingState = this.timing.state;
|
|
33
|
+
this.timing.seekMs(ms);
|
|
34
|
+
}
|
|
35
|
+
seek(pos) {
|
|
36
|
+
this._prevTimingState = this.timing.state;
|
|
37
|
+
this.timing.seek(pos);
|
|
38
|
+
}
|
|
39
|
+
isFinite() {
|
|
40
|
+
return this.timing.isFinite();
|
|
41
|
+
}
|
|
42
|
+
get duration() {
|
|
43
|
+
return this.timing.duration;
|
|
44
|
+
}
|
|
45
|
+
init(reset = false) {
|
|
46
|
+
if (this._initialized && !reset)
|
|
47
|
+
return;
|
|
48
|
+
this._initialized = true;
|
|
49
|
+
for (const prop of this._props) {
|
|
50
|
+
prop.init(this.target);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
if (this.timing.state === STATE_BEFORE) {
|
|
55
|
+
// console.log('render before');
|
|
56
|
+
for (const prop of this._props) {
|
|
57
|
+
prop.restoreBefore(this.target);
|
|
58
|
+
}
|
|
59
|
+
// to render before we need to remove
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
else if (this.timing.state === STATE_AFTER) {
|
|
63
|
+
// console.log('render after');
|
|
64
|
+
// return;
|
|
65
|
+
}
|
|
66
|
+
const pos = this.timing.position;
|
|
67
|
+
// now render
|
|
68
|
+
for (const prop of this._props) {
|
|
69
|
+
prop.render(pos, this.target);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
destroy() {
|
|
73
|
+
for (const prop of this._props) {
|
|
74
|
+
prop.restoreBefore(this.target);
|
|
75
|
+
}
|
|
76
|
+
this._ticker.unregisterTarget(this.target.inner());
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function maybeResponsiveValue(prop, val) {
|
|
80
|
+
if (typeof val === 'object' && 'responsive' in val)
|
|
81
|
+
return val.responsive;
|
|
82
|
+
return prop.parseValue(val);
|
|
83
|
+
}
|
|
84
|
+
class PropertyAnimation {
|
|
85
|
+
prop;
|
|
86
|
+
staticValueFn;
|
|
87
|
+
valueFn;
|
|
88
|
+
iniResponsive;
|
|
89
|
+
iniFrom;
|
|
90
|
+
iniTo;
|
|
91
|
+
constructor(prop, value, animation) {
|
|
92
|
+
this.prop = newProperty(prop, animation.target.type());
|
|
93
|
+
// we will get the from the targets
|
|
94
|
+
this.staticValueFn = false;
|
|
95
|
+
this.valueFn = null;
|
|
96
|
+
this.iniResponsive = null;
|
|
97
|
+
this.iniFrom = null;
|
|
98
|
+
this.iniTo = null;
|
|
99
|
+
if (typeof value === 'object') {
|
|
100
|
+
if ('from' in value)
|
|
101
|
+
this.iniFrom = maybeResponsiveValue(this.prop, value.from);
|
|
102
|
+
if ('to' in value)
|
|
103
|
+
this.iniTo = maybeResponsiveValue(this.prop, value.to);
|
|
104
|
+
if ('responsive' in value)
|
|
105
|
+
this.iniResponsive = value.responsive;
|
|
106
|
+
if (!this.iniFrom && !this.iniTo && !this.iniResponsive)
|
|
107
|
+
throw new Error('from or to expected');
|
|
108
|
+
}
|
|
109
|
+
else if (typeof value === 'function') {
|
|
110
|
+
if (!this.prop.allowsValueFn()) {
|
|
111
|
+
throw new Error('prop ' + prop + ' does not allow value functions');
|
|
112
|
+
}
|
|
113
|
+
this.staticValueFn = true;
|
|
114
|
+
this.valueFn = value;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.iniTo = this.prop.parseValue(value);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// calculate from and to position
|
|
121
|
+
init(target) {
|
|
122
|
+
// there is nothing to initialize since on every render we call the
|
|
123
|
+
// value Fn
|
|
124
|
+
if (this.staticValueFn)
|
|
125
|
+
return;
|
|
126
|
+
this.valueFn = null;
|
|
127
|
+
let from = null;
|
|
128
|
+
let to = null;
|
|
129
|
+
// init via responsive fn
|
|
130
|
+
if (this.iniResponsive) {
|
|
131
|
+
// todo this access to target can't be
|
|
132
|
+
const value = this.iniResponsive(target.target);
|
|
133
|
+
if (typeof value === 'object') {
|
|
134
|
+
if ('from' in value)
|
|
135
|
+
from = this.prop.parseValue(value.from);
|
|
136
|
+
if ('to' in value)
|
|
137
|
+
to = this.prop.parseValue(value.to);
|
|
138
|
+
if (!from && !to)
|
|
139
|
+
throw new Error('from or to expected');
|
|
140
|
+
}
|
|
141
|
+
else if (typeof value === 'function') {
|
|
142
|
+
if (!this.prop.allowsValueFn()) {
|
|
143
|
+
throw new Error(`prop ${this.prop.name} does not allow value functions`);
|
|
144
|
+
}
|
|
145
|
+
this.valueFn = value;
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
to = this.prop.parseValue(value);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// init from
|
|
153
|
+
if (!from) {
|
|
154
|
+
if (typeof this.iniFrom === 'function')
|
|
155
|
+
from = this.prop.parseValue(this.iniFrom(target.inner()));
|
|
156
|
+
else
|
|
157
|
+
from = this.iniFrom;
|
|
158
|
+
}
|
|
159
|
+
// init to
|
|
160
|
+
if (!to) {
|
|
161
|
+
if (typeof this.iniTo === 'function')
|
|
162
|
+
to = this.prop.parseValue(this.iniTo(target.inner()));
|
|
163
|
+
else
|
|
164
|
+
to = this.iniTo;
|
|
165
|
+
}
|
|
166
|
+
this.prop.init(target, from, to);
|
|
167
|
+
}
|
|
168
|
+
restoreBefore(target) {
|
|
169
|
+
// todo this might not be enough
|
|
170
|
+
this.prop.removeValue(target);
|
|
171
|
+
}
|
|
172
|
+
render(pos, target) {
|
|
173
|
+
if (this.valueFn) {
|
|
174
|
+
this.prop.setValue(target, this.prop.parseValue(this.valueFn(pos)));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
this.prop.setValue(target, this.prop.interpolate(pos));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/*
|
|
181
|
+
|
|
182
|
+
animate(target, {
|
|
183
|
+
|
|
184
|
+
// special
|
|
185
|
+
// translate
|
|
186
|
+
x
|
|
187
|
+
y
|
|
188
|
+
scale
|
|
189
|
+
scaleX
|
|
190
|
+
scaleY
|
|
191
|
+
rotation
|
|
192
|
+
skew
|
|
193
|
+
skewX
|
|
194
|
+
skewY
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
// stagger
|
|
199
|
+
repeatDelay
|
|
200
|
+
stagger: {
|
|
201
|
+
// wrap advanced options in an object
|
|
202
|
+
each: 0.1,
|
|
203
|
+
from: "center",
|
|
204
|
+
grid: "auto",
|
|
205
|
+
ease: "power2.inOut",
|
|
206
|
+
repeat: -1, // Repeats immediately, not waiting for the other staggered animations to finish
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
ease,
|
|
211
|
+
duration,
|
|
212
|
+
repeat, true|false|0-x
|
|
213
|
+
repeatDelay?
|
|
214
|
+
delay,
|
|
215
|
+
alternate
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
const tl new Timeline;
|
|
220
|
+
|
|
221
|
+
tl.add([
|
|
222
|
+
animation()
|
|
223
|
+
], 100)
|
|
224
|
+
|
|
225
|
+
tl.addGroup()
|
|
226
|
+
|
|
227
|
+
tl.add()
|
|
228
|
+
|
|
229
|
+
*/
|
|
230
|
+
//# sourceMappingURL=Animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/animation/Animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Timing from '../timing/Timing';
|
|
2
|
+
import Property from '../property/Property';
|
|
3
|
+
import Ticker from '@/timing/Ticker';
|
|
4
|
+
import { Target } from '@/target/Target';
|
|
5
|
+
export default class Animation {
|
|
6
|
+
timing: Timing;
|
|
7
|
+
target: Target;
|
|
8
|
+
props: Record<string, PropertyAnimation<any>>;
|
|
9
|
+
private _ticker;
|
|
10
|
+
private _prevTimingState;
|
|
11
|
+
private _props;
|
|
12
|
+
private _initialized;
|
|
13
|
+
constructor(target: any, ticker: Ticker, props?: Record<string, any>);
|
|
14
|
+
advance(change: number): void;
|
|
15
|
+
seekMs(ms: number): void;
|
|
16
|
+
seek(pos: number): void;
|
|
17
|
+
isFinite(): boolean;
|
|
18
|
+
get duration(): number;
|
|
19
|
+
init(reset?: boolean): void;
|
|
20
|
+
render(): void;
|
|
21
|
+
destroy(): void;
|
|
22
|
+
}
|
|
23
|
+
declare class PropertyAnimation<V> {
|
|
24
|
+
prop: Property<V>;
|
|
25
|
+
private staticValueFn;
|
|
26
|
+
private valueFn;
|
|
27
|
+
private iniResponsive;
|
|
28
|
+
private iniFrom;
|
|
29
|
+
private iniTo;
|
|
30
|
+
constructor(prop: string, value: any, animation: Animation);
|
|
31
|
+
init(target: Target): void;
|
|
32
|
+
restoreBefore(target: Target): void;
|
|
33
|
+
render(pos: number, target: Target): void;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=animation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../src/animation/animation.ts"],"names":[],"mappings":"AAAA,OAAO,MAAgD,MAAM,kBAAkB,CAAC;AAEhF,OAAO,QAAyC,MAAM,sBAAsB,CAAC;AAC7E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,YAAY,CAAU;gBAKlB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAiBxE,OAAO,CAAC,MAAM,EAAE,MAAM;IAKtB,MAAM,CAAC,EAAE,EAAE,MAAM;IAKjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAKhB,QAAQ,IAAI,OAAO;IAInB,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,CAAC,KAAK,UAAQ;IASlB,MAAM;IAwBN,OAAO;CAOP;AAOD,cAAM,iBAAiB,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElB,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAA2C;IAE1D,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,KAAK,CAAW;gBAEZ,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;IAoC1D,IAAI,CAAC,MAAM,EAAE,MAAM;IAkDnB,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQlC"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { newTiming, STATE_BEFORE, STATE_AFTER } from '../timing/Timing';
|
|
2
|
+
import { newProperty } from '../property/Property';
|
|
3
|
+
export default class Animation {
|
|
4
|
+
timing;
|
|
5
|
+
target;
|
|
6
|
+
props;
|
|
7
|
+
_ticker;
|
|
8
|
+
_prevTimingState;
|
|
9
|
+
_props;
|
|
10
|
+
_initialized;
|
|
11
|
+
/*
|
|
12
|
+
props
|
|
13
|
+
*/
|
|
14
|
+
constructor(target, ticker, props = {}) {
|
|
15
|
+
this.timing = newTiming(props);
|
|
16
|
+
this._ticker = ticker;
|
|
17
|
+
this.target = ticker.registerTarget(target);
|
|
18
|
+
this._prevTimingState = this.timing.state;
|
|
19
|
+
this._props = [];
|
|
20
|
+
this._initialized = false;
|
|
21
|
+
this.props = {};
|
|
22
|
+
for (const prop in props) {
|
|
23
|
+
this.props[prop] = new PropertyAnimation(prop, props[prop], this);
|
|
24
|
+
this._props.push(this.props[prop]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
advance(change) {
|
|
28
|
+
this._prevTimingState = this.timing.state;
|
|
29
|
+
this.timing.advance(change);
|
|
30
|
+
}
|
|
31
|
+
seekMs(ms) {
|
|
32
|
+
this._prevTimingState = this.timing.state;
|
|
33
|
+
this.timing.seekMs(ms);
|
|
34
|
+
}
|
|
35
|
+
seek(pos) {
|
|
36
|
+
this._prevTimingState = this.timing.state;
|
|
37
|
+
this.timing.seek(pos);
|
|
38
|
+
}
|
|
39
|
+
isFinite() {
|
|
40
|
+
return this.timing.isFinite();
|
|
41
|
+
}
|
|
42
|
+
get duration() {
|
|
43
|
+
return this.timing.duration;
|
|
44
|
+
}
|
|
45
|
+
init(reset = false) {
|
|
46
|
+
if (this._initialized && !reset)
|
|
47
|
+
return;
|
|
48
|
+
this._initialized = true;
|
|
49
|
+
for (const prop of this._props) {
|
|
50
|
+
prop.init(this.target);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
if (this.timing.state === STATE_BEFORE) {
|
|
55
|
+
// console.log('render before');
|
|
56
|
+
for (const prop of this._props) {
|
|
57
|
+
prop.restoreBefore(this.target);
|
|
58
|
+
}
|
|
59
|
+
// to render before we need to remove
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
else if (this.timing.state === STATE_AFTER) {
|
|
63
|
+
// console.log('render after');
|
|
64
|
+
// return;
|
|
65
|
+
}
|
|
66
|
+
const pos = this.timing.position;
|
|
67
|
+
// now render
|
|
68
|
+
for (const prop of this._props) {
|
|
69
|
+
prop.render(pos, this.target);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
destroy() {
|
|
73
|
+
for (const prop of this._props) {
|
|
74
|
+
prop.restoreBefore(this.target);
|
|
75
|
+
}
|
|
76
|
+
this._ticker.unregisterTarget(this.target.inner());
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function maybeResponsiveValue(prop, val) {
|
|
80
|
+
if (typeof val === 'object' && 'responsive' in val)
|
|
81
|
+
return val.responsive;
|
|
82
|
+
return prop.parseValue(val);
|
|
83
|
+
}
|
|
84
|
+
class PropertyAnimation {
|
|
85
|
+
prop;
|
|
86
|
+
staticValueFn;
|
|
87
|
+
valueFn;
|
|
88
|
+
iniResponsive;
|
|
89
|
+
iniFrom;
|
|
90
|
+
iniTo;
|
|
91
|
+
constructor(prop, value, animation) {
|
|
92
|
+
this.prop = newProperty(prop, animation.target.type());
|
|
93
|
+
// we will get the from the targets
|
|
94
|
+
this.staticValueFn = false;
|
|
95
|
+
this.valueFn = null;
|
|
96
|
+
this.iniResponsive = null;
|
|
97
|
+
this.iniFrom = null;
|
|
98
|
+
this.iniTo = null;
|
|
99
|
+
if (typeof value === 'object') {
|
|
100
|
+
if ('from' in value)
|
|
101
|
+
this.iniFrom = maybeResponsiveValue(this.prop, value.from);
|
|
102
|
+
if ('to' in value)
|
|
103
|
+
this.iniTo = maybeResponsiveValue(this.prop, value.to);
|
|
104
|
+
if ('responsive' in value)
|
|
105
|
+
this.iniResponsive = value.responsive;
|
|
106
|
+
if (!this.iniFrom && !this.iniTo && !this.iniResponsive)
|
|
107
|
+
throw new Error('from or to expected');
|
|
108
|
+
}
|
|
109
|
+
else if (typeof value === 'function') {
|
|
110
|
+
if (!this.prop.allowsValueFn()) {
|
|
111
|
+
throw new Error('prop ' + prop + ' does not allow value functions');
|
|
112
|
+
}
|
|
113
|
+
this.staticValueFn = true;
|
|
114
|
+
this.valueFn = value;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.iniTo = this.prop.parseValue(value);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// calculate from and to position
|
|
121
|
+
init(target) {
|
|
122
|
+
// there is nothing to initialize since on every render we call the
|
|
123
|
+
// value Fn
|
|
124
|
+
if (this.staticValueFn)
|
|
125
|
+
return;
|
|
126
|
+
this.valueFn = null;
|
|
127
|
+
let from = null;
|
|
128
|
+
let to = null;
|
|
129
|
+
// init via responsive fn
|
|
130
|
+
if (this.iniResponsive) {
|
|
131
|
+
// todo this access to target can't be
|
|
132
|
+
const value = this.iniResponsive(target.target);
|
|
133
|
+
if (typeof value === 'object') {
|
|
134
|
+
if ('from' in value)
|
|
135
|
+
from = this.prop.parseValue(value.from);
|
|
136
|
+
if ('to' in value)
|
|
137
|
+
to = this.prop.parseValue(value.to);
|
|
138
|
+
if (!from && !to)
|
|
139
|
+
throw new Error('from or to expected');
|
|
140
|
+
}
|
|
141
|
+
else if (typeof value === 'function') {
|
|
142
|
+
if (!this.prop.allowsValueFn()) {
|
|
143
|
+
throw new Error(`prop ${this.prop.name} does not allow value functions`);
|
|
144
|
+
}
|
|
145
|
+
this.valueFn = value;
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
to = this.prop.parseValue(value);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// init from
|
|
153
|
+
if (!from) {
|
|
154
|
+
if (typeof this.iniFrom === 'function')
|
|
155
|
+
from = this.prop.parseValue(this.iniFrom(target.inner()));
|
|
156
|
+
else
|
|
157
|
+
from = this.iniFrom;
|
|
158
|
+
}
|
|
159
|
+
// init to
|
|
160
|
+
if (!to) {
|
|
161
|
+
if (typeof this.iniTo === 'function')
|
|
162
|
+
to = this.prop.parseValue(this.iniTo(target.inner()));
|
|
163
|
+
else
|
|
164
|
+
to = this.iniTo;
|
|
165
|
+
}
|
|
166
|
+
this.prop.init(target, from, to);
|
|
167
|
+
}
|
|
168
|
+
restoreBefore(target) {
|
|
169
|
+
// todo this might not be enough
|
|
170
|
+
this.prop.removeValue(target);
|
|
171
|
+
}
|
|
172
|
+
render(pos, target) {
|
|
173
|
+
if (this.valueFn) {
|
|
174
|
+
this.prop.setValue(target, this.prop.parseValue(this.valueFn(pos)));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
this.prop.setValue(target, this.prop.interpolate(pos));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/*
|
|
181
|
+
|
|
182
|
+
animate(target, {
|
|
183
|
+
|
|
184
|
+
// special
|
|
185
|
+
// translate
|
|
186
|
+
x
|
|
187
|
+
y
|
|
188
|
+
scale
|
|
189
|
+
scaleX
|
|
190
|
+
scaleY
|
|
191
|
+
rotation
|
|
192
|
+
skew
|
|
193
|
+
skewX
|
|
194
|
+
skewY
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
// stagger
|
|
199
|
+
repeatDelay
|
|
200
|
+
stagger: {
|
|
201
|
+
// wrap advanced options in an object
|
|
202
|
+
each: 0.1,
|
|
203
|
+
from: "center",
|
|
204
|
+
grid: "auto",
|
|
205
|
+
ease: "power2.inOut",
|
|
206
|
+
repeat: -1, // Repeats immediately, not waiting for the other staggered animations to finish
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
ease,
|
|
211
|
+
duration,
|
|
212
|
+
repeat, true|false|0-x
|
|
213
|
+
repeatDelay?
|
|
214
|
+
delay,
|
|
215
|
+
alternate
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
const tl new Timeline;
|
|
220
|
+
|
|
221
|
+
tl.add([
|
|
222
|
+
animation()
|
|
223
|
+
], 100)
|
|
224
|
+
|
|
225
|
+
tl.addGroup()
|
|
226
|
+
|
|
227
|
+
tl.add()
|
|
228
|
+
|
|
229
|
+
*/
|
|
230
|
+
//# sourceMappingURL=animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/animation/animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The animation consist of a timeline with just one animation
|
|
3
|
+
* This allows to reuse a lot of code
|
|
4
|
+
*
|
|
5
|
+
* ## Props
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export default class PublicAnimation {
|
|
9
|
+
private _tl;
|
|
10
|
+
constructor(targets: any, props?: Record<string, any>);
|
|
11
|
+
play(): void;
|
|
12
|
+
pause(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Seeks to a position in the timeline
|
|
15
|
+
*/
|
|
16
|
+
seekMs(ms: number): void;
|
|
17
|
+
/**
|
|
18
|
+
* Seeks to a normalized position in the timeline
|
|
19
|
+
*
|
|
20
|
+
* @param pos = number between 0 and 1
|
|
21
|
+
*/
|
|
22
|
+
seek(pos: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Resets the current timeline to the start
|
|
25
|
+
* without changing anything
|
|
26
|
+
*/
|
|
27
|
+
reset(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Resets every used prop to it's previous value
|
|
30
|
+
*/
|
|
31
|
+
resetProps(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Recalculates all values this should be called for example after a resize
|
|
34
|
+
*/
|
|
35
|
+
update(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Returns wether the timeline is set to reversed
|
|
38
|
+
*/
|
|
39
|
+
isReversed(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Set's the timeline to a specific direction
|
|
42
|
+
*/
|
|
43
|
+
setReversed(reversed: boolean): void;
|
|
44
|
+
/**
|
|
45
|
+
* Reverses the order of the current timeline
|
|
46
|
+
*/
|
|
47
|
+
reverse(): void;
|
|
48
|
+
on(event: string, fn: (...args: any[]) => void): () => void;
|
|
49
|
+
onPromise(event: string): any;
|
|
50
|
+
/**
|
|
51
|
+
* Destroys this timeline and resets all props
|
|
52
|
+
*/
|
|
53
|
+
destroy(): void;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/animation/public.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC,OAAO,CAAC,GAAG,CAAW;gBAEV,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsBzD,IAAI;IAIJ,KAAK;IAIL;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IAIjB;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM;IAIhB;;;OAGG;IACH,KAAK;IAIL;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B;;OAEG;IACH,OAAO;IAIP,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAK9C,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB;;OAEG;IACH,OAAO;CAKP"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { takeProp } from '../utils/internal';
|
|
2
|
+
import Timeline from '../timeline/public';
|
|
3
|
+
import { staggerMap } from '../stagger/stagger';
|
|
4
|
+
/**
|
|
5
|
+
* The animation consist of a timeline with just one animation
|
|
6
|
+
* This allows to reuse a lot of code
|
|
7
|
+
*
|
|
8
|
+
* ## Props
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export default class PublicAnimation {
|
|
12
|
+
_tl;
|
|
13
|
+
constructor(targets, props = {}) {
|
|
14
|
+
const autoplay = parseAutoplay(takeProp(props, 'autoplay', true));
|
|
15
|
+
const delay = takeProp(props, 'delay', 0);
|
|
16
|
+
// we don't wan't the ease and duration on the timeline
|
|
17
|
+
const ease = takeProp(props, 'ease', null);
|
|
18
|
+
const duration = takeProp(props, 'duration', null);
|
|
19
|
+
this._tl = new Timeline(props);
|
|
20
|
+
props.ease = ease;
|
|
21
|
+
props.duration = duration;
|
|
22
|
+
this._tl.add(targets, props, staggerMap(delay, v => '+=' + v));
|
|
23
|
+
if (autoplay)
|
|
24
|
+
this._tl.play();
|
|
25
|
+
}
|
|
26
|
+
play() {
|
|
27
|
+
this._tl.play();
|
|
28
|
+
}
|
|
29
|
+
pause() {
|
|
30
|
+
this._tl.pause();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Seeks to a position in the timeline
|
|
34
|
+
*/
|
|
35
|
+
seekMs(ms) {
|
|
36
|
+
this._tl.seekMs(ms);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Seeks to a normalized position in the timeline
|
|
40
|
+
*
|
|
41
|
+
* @param pos = number between 0 and 1
|
|
42
|
+
*/
|
|
43
|
+
seek(pos) {
|
|
44
|
+
this._tl.seek(pos);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resets the current timeline to the start
|
|
48
|
+
* without changing anything
|
|
49
|
+
*/
|
|
50
|
+
reset() {
|
|
51
|
+
this._tl.reset();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resets every used prop to it's previous value
|
|
55
|
+
*/
|
|
56
|
+
resetProps() {
|
|
57
|
+
this._tl.resetProps();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Recalculates all values this should be called for example after a resize
|
|
61
|
+
*/
|
|
62
|
+
update() {
|
|
63
|
+
this._tl.update();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns wether the timeline is set to reversed
|
|
67
|
+
*/
|
|
68
|
+
isReversed() {
|
|
69
|
+
return this._tl.isReversed();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Set's the timeline to a specific direction
|
|
73
|
+
*/
|
|
74
|
+
setReversed(reversed) {
|
|
75
|
+
this._tl.setReversed(reversed);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Reverses the order of the current timeline
|
|
79
|
+
*/
|
|
80
|
+
reverse() {
|
|
81
|
+
this._tl.reverse();
|
|
82
|
+
}
|
|
83
|
+
on(event, fn) {
|
|
84
|
+
return this._tl.on(event, fn);
|
|
85
|
+
}
|
|
86
|
+
// not wroking
|
|
87
|
+
onPromise(event) {
|
|
88
|
+
return this._tl.onPromise(event);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Destroys this timeline and resets all props
|
|
92
|
+
*/
|
|
93
|
+
destroy() {
|
|
94
|
+
this._tl.destroy();
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
this._tl = null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function parseAutoplay(autoplay) {
|
|
100
|
+
if (autoplay !== true && autoplay !== false)
|
|
101
|
+
throw new Error('autoplay needs to be true|false');
|
|
102
|
+
return autoplay;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=public.js.map
|