chnobli 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/animation/Animation.d.ts +36 -0
  2. package/dist/animation/Animation.d.ts.map +1 -0
  3. package/dist/animation/Animation.js +230 -0
  4. package/dist/animation/Animation.js.map +1 -0
  5. package/dist/animation/public.d.ts +68 -0
  6. package/dist/animation/public.d.ts.map +1 -0
  7. package/dist/animation/public.js +115 -0
  8. package/dist/animation/public.js.map +1 -0
  9. package/dist/chnobli.d.ts +15 -0
  10. package/dist/chnobli.d.ts.map +1 -0
  11. package/dist/chnobli.js +59 -0
  12. package/dist/chnobli.js.map +1 -0
  13. package/dist/property/BasicProperty.d.ts +38 -0
  14. package/dist/property/BasicProperty.d.ts.map +1 -0
  15. package/dist/property/BasicProperty.js +72 -0
  16. package/dist/property/BasicProperty.js.map +1 -0
  17. package/dist/property/ClassProperty.d.ts +32 -0
  18. package/dist/property/ClassProperty.d.ts.map +1 -0
  19. package/dist/property/ClassProperty.js +108 -0
  20. package/dist/property/ClassProperty.js.map +1 -0
  21. package/dist/property/Property.d.ts +13 -0
  22. package/dist/property/Property.d.ts.map +1 -0
  23. package/dist/property/Property.js +22 -0
  24. package/dist/property/Property.js.map +1 -0
  25. package/dist/property/StyleProperty.d.ts +25 -0
  26. package/dist/property/StyleProperty.d.ts.map +1 -0
  27. package/dist/property/StyleProperty.js +221 -0
  28. package/dist/property/StyleProperty.js.map +1 -0
  29. package/dist/property/TransformProperty.d.ts +15 -0
  30. package/dist/property/TransformProperty.d.ts.map +1 -0
  31. package/dist/property/TransformProperty.js +43 -0
  32. package/dist/property/TransformProperty.js.map +1 -0
  33. package/dist/property/TransformXYProperty.d.ts +28 -0
  34. package/dist/property/TransformXYProperty.d.ts.map +1 -0
  35. package/dist/property/TransformXYProperty.js +65 -0
  36. package/dist/property/TransformXYProperty.js.map +1 -0
  37. package/dist/responsive/ResponsiveEvent.d.ts +17 -0
  38. package/dist/responsive/ResponsiveEvent.d.ts.map +1 -0
  39. package/dist/responsive/ResponsiveEvent.js +45 -0
  40. package/dist/responsive/ResponsiveEvent.js.map +1 -0
  41. package/dist/responsive/TestEvent.d.ts +11 -0
  42. package/dist/responsive/TestEvent.d.ts.map +1 -0
  43. package/dist/responsive/TestEvent.js +26 -0
  44. package/dist/responsive/TestEvent.js.map +1 -0
  45. package/dist/scroll/Scroll.d.ts +40 -0
  46. package/dist/scroll/Scroll.d.ts.map +1 -0
  47. package/dist/scroll/Scroll.js +168 -0
  48. package/dist/scroll/Scroll.js.map +1 -0
  49. package/dist/scroll/ScrollEvent.d.ts +17 -0
  50. package/dist/scroll/ScrollEvent.d.ts.map +1 -0
  51. package/dist/scroll/ScrollEvent.js +39 -0
  52. package/dist/scroll/ScrollEvent.js.map +1 -0
  53. package/dist/scroll/index.d.ts +6 -0
  54. package/dist/scroll/index.d.ts.map +1 -0
  55. package/dist/scroll/index.js +8 -0
  56. package/dist/scroll/index.js.map +1 -0
  57. package/dist/scroll/public.d.ts +17 -0
  58. package/dist/scroll/public.d.ts.map +1 -0
  59. package/dist/scroll/public.js +25 -0
  60. package/dist/scroll/public.js.map +1 -0
  61. package/dist/stagger/stagger.d.ts +20 -0
  62. package/dist/stagger/stagger.d.ts.map +1 -0
  63. package/dist/stagger/stagger.js +43 -0
  64. package/dist/stagger/stagger.js.map +1 -0
  65. package/dist/target/BaseTarget.old.d.ts +33 -0
  66. package/dist/target/BaseTarget.old.d.ts.map +1 -0
  67. package/dist/target/BaseTarget.old.js +73 -0
  68. package/dist/target/BaseTarget.old.js.map +1 -0
  69. package/dist/target/DomTarget.d.ts +41 -0
  70. package/dist/target/DomTarget.d.ts.map +1 -0
  71. package/dist/target/DomTarget.js +230 -0
  72. package/dist/target/DomTarget.js.map +1 -0
  73. package/dist/target/ObjectTarget.d.ts +30 -0
  74. package/dist/target/ObjectTarget.d.ts.map +1 -0
  75. package/dist/target/ObjectTarget.js +101 -0
  76. package/dist/target/ObjectTarget.js.map +1 -0
  77. package/dist/target/Target.d.ts +25 -0
  78. package/dist/target/Target.d.ts.map +1 -0
  79. package/dist/target/Target.js +25 -0
  80. package/dist/target/Target.js.map +1 -0
  81. package/dist/target/TestDomNode.d.ts +14 -0
  82. package/dist/target/TestDomNode.d.ts.map +1 -0
  83. package/dist/target/TestDomNode.js +55 -0
  84. package/dist/target/TestDomNode.js.map +1 -0
  85. package/dist/timeline/Nested.d.ts +30 -0
  86. package/dist/timeline/Nested.d.ts.map +1 -0
  87. package/dist/timeline/Nested.js +51 -0
  88. package/dist/timeline/Nested.js.map +1 -0
  89. package/dist/timeline/Timeline.d.ts +41 -0
  90. package/dist/timeline/Timeline.d.ts.map +1 -0
  91. package/dist/timeline/Timeline.js +306 -0
  92. package/dist/timeline/Timeline.js.map +1 -0
  93. package/dist/timeline/public.d.ts +160 -0
  94. package/dist/timeline/public.d.ts.map +1 -0
  95. package/dist/timeline/public.js +388 -0
  96. package/dist/timeline/public.js.map +1 -0
  97. package/dist/timing/AnimationFrameTicker.d.ts +32 -0
  98. package/dist/timing/AnimationFrameTicker.d.ts.map +1 -0
  99. package/dist/timing/AnimationFrameTicker.js +134 -0
  100. package/dist/timing/AnimationFrameTicker.js.map +1 -0
  101. package/dist/timing/Ease.d.ts +6 -0
  102. package/dist/timing/Ease.d.ts.map +1 -0
  103. package/dist/timing/Ease.js +15 -0
  104. package/dist/timing/Ease.js.map +1 -0
  105. package/dist/timing/TestTicker.d.ts +19 -0
  106. package/dist/timing/TestTicker.d.ts.map +1 -0
  107. package/dist/timing/TestTicker.js +81 -0
  108. package/dist/timing/TestTicker.js.map +1 -0
  109. package/dist/timing/Ticker.d.ts +14 -0
  110. package/dist/timing/Ticker.d.ts.map +1 -0
  111. package/dist/timing/Ticker.js +2 -0
  112. package/dist/timing/Ticker.js.map +1 -0
  113. package/dist/timing/Timing.d.ts +71 -0
  114. package/dist/timing/Timing.d.ts.map +1 -0
  115. package/dist/timing/Timing.js +276 -0
  116. package/dist/timing/Timing.js.map +1 -0
  117. package/dist/timing/easing.d.ts +158 -0
  118. package/dist/timing/easing.d.ts.map +1 -0
  119. package/dist/timing/easing.js +273 -0
  120. package/dist/timing/easing.js.map +1 -0
  121. package/dist/utils/Events.d.ts +9 -0
  122. package/dist/utils/Events.d.ts.map +1 -0
  123. package/dist/utils/Events.js +35 -0
  124. package/dist/utils/Events.js.map +1 -0
  125. package/dist/utils/internal.d.ts +5 -0
  126. package/dist/utils/internal.d.ts.map +1 -0
  127. package/dist/utils/internal.js +9 -0
  128. package/dist/utils/internal.js.map +1 -0
  129. package/dist/utils/motionpath.d.ts +16 -0
  130. package/dist/utils/motionpath.d.ts.map +1 -0
  131. package/dist/utils/motionpath.js +41 -0
  132. package/dist/utils/motionpath.js.map +1 -0
  133. package/dist/utils/utils.d.ts +44 -0
  134. package/dist/utils/utils.d.ts.map +1 -0
  135. package/dist/utils/utils.js +96 -0
  136. package/dist/utils/utils.js.map +1 -0
  137. package/dist/values/ColorValue.d.ts +12 -0
  138. package/dist/values/ColorValue.d.ts.map +1 -0
  139. package/dist/values/ColorValue.js +133 -0
  140. package/dist/values/ColorValue.js.map +1 -0
  141. package/dist/values/StyleValue.d.ts +41 -0
  142. package/dist/values/StyleValue.d.ts.map +1 -0
  143. package/dist/values/StyleValue.js +159 -0
  144. package/dist/values/StyleValue.js.map +1 -0
  145. package/dist/values/Value.d.ts +13 -0
  146. package/dist/values/Value.d.ts.map +1 -0
  147. package/dist/values/Value.js +38 -0
  148. package/dist/values/Value.js.map +1 -0
  149. package/dist/values/defaultcolors.d.ts +2 -0
  150. package/dist/values/defaultcolors.d.ts.map +1 -0
  151. package/dist/values/defaultcolors.js +149 -0
  152. package/dist/values/defaultcolors.js.map +1 -0
  153. package/package.json +1 -1
@@ -0,0 +1,36 @@
1
+ import Timing from '../timing/Timing.js';
2
+ import Property from '../property/Property.js';
3
+ import Ticker from '../timing/Ticker.js';
4
+ import { Target } from '../target/Target.js';
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,MAIN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,QAAyC,MAAM,yBAAyB,CAAC;AAChF,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,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;IAE3B,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;IAiDnB,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.js';
2
+ import { newProperty } from '../property/Property.js';
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
+ // todo i don't think the types match here?
90
+ iniFrom;
91
+ iniTo;
92
+ constructor(prop, value, animation) {
93
+ this.prop = newProperty(prop, animation.target.type());
94
+ // we will get the from the targets
95
+ this.staticValueFn = false;
96
+ this.valueFn = null;
97
+ this.iniResponsive = null;
98
+ this.iniFrom = null;
99
+ this.iniTo = null;
100
+ if (typeof value === 'object') {
101
+ if ('from' in value)
102
+ this.iniFrom = maybeResponsiveValue(this.prop, value.from);
103
+ if ('to' in value)
104
+ this.iniTo = maybeResponsiveValue(this.prop, value.to);
105
+ if ('responsive' in value)
106
+ this.iniResponsive = value.responsive;
107
+ if (!this.iniFrom && !this.iniTo && !this.iniResponsive)
108
+ throw new Error('from or to expected');
109
+ }
110
+ else if (typeof value === 'function') {
111
+ if (!this.prop.allowsValueFn()) {
112
+ throw new Error('prop ' + prop + ' does not allow value functions');
113
+ }
114
+ this.staticValueFn = true;
115
+ this.valueFn = value;
116
+ }
117
+ else {
118
+ this.iniTo = this.prop.parseValue(value);
119
+ }
120
+ }
121
+ // calculate from and to position
122
+ init(target) {
123
+ // there is nothing to initialize since on every render we call the
124
+ // value Fn
125
+ if (this.staticValueFn)
126
+ return;
127
+ this.valueFn = null;
128
+ let from = null;
129
+ let to = null;
130
+ // init via responsive fn
131
+ if (this.iniResponsive) {
132
+ const value = this.iniResponsive(target.inner());
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,68 @@
1
+ import Stagger from '../stagger/stagger.js';
2
+ import { Targets } from '../chnobli.js';
3
+ export type AnimationProps = {
4
+ autoplay?: boolean;
5
+ delay?: number | string | Stagger<number | string>;
6
+ ease?: (t: number) => number;
7
+ onStart?: () => void;
8
+ onEnd?: () => void;
9
+ [key: string]: any;
10
+ };
11
+ /**
12
+ * The animation consist of a timeline with just one animation
13
+ * This allows to reuse a lot of code
14
+ *
15
+ * ## Props
16
+ *
17
+ */
18
+ export default class PublicAnimation {
19
+ private _tl;
20
+ constructor(targets: Targets, props?: AnimationProps);
21
+ play(): void;
22
+ pause(): void;
23
+ /**
24
+ * Seeks to a position in the timeline
25
+ */
26
+ seekMs(ms: number): void;
27
+ /**
28
+ * Seeks to a normalized position in the timeline
29
+ *
30
+ * @param pos = number between 0 and 1
31
+ */
32
+ seek(pos: number): void;
33
+ /**
34
+ * Resets the current timeline to the start
35
+ * without changing anything
36
+ */
37
+ reset(): void;
38
+ /**
39
+ * Resets every used prop to it's previous value
40
+ */
41
+ resetProps(): void;
42
+ /**
43
+ * Recalculates all values this should be called for example after a resize
44
+ */
45
+ update(): void;
46
+ /**
47
+ * Returns wether the timeline is set to reversed
48
+ */
49
+ isReversed(): boolean;
50
+ /**
51
+ * Set's the timeline to a specific direction
52
+ */
53
+ setReversed(reversed: boolean): void;
54
+ /**
55
+ * Reverses the order of the current timeline
56
+ */
57
+ reverse(): void;
58
+ /**
59
+ * @returns a function to call to unregister the event
60
+ */
61
+ on(event: string, fn: (...args: any[]) => void): () => void;
62
+ onPromise(event: string): Promise<unknown>;
63
+ /**
64
+ * Destroys this timeline and resets all props
65
+ */
66
+ destroy(): void;
67
+ }
68
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/animation/public.ts"],"names":[],"mappings":"AAEA,OAAO,OAAuB,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEnD,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAGnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC,OAAO,CAAC,GAAG,CAAW;gBAEV,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB;IA0CxD,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,IAAI,OAAO;IAIrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAK3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1C;;OAEG;IACH,OAAO;CAKP"}
@@ -0,0 +1,115 @@
1
+ import { takeProp } from '../utils/internal.js';
2
+ import Timeline from '../timeline/public.js';
3
+ import { staggerMap } from '../stagger/stagger.js';
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', undefined);
18
+ const duration = takeProp(props, 'duration', undefined);
19
+ this._tl = new Timeline(props);
20
+ // events
21
+ const onStart = takeProp(props, 'onStart', undefined);
22
+ if (onStart)
23
+ this._tl.on('start', onStart);
24
+ // events
25
+ const onEnd = takeProp(props, 'onEnd', undefined);
26
+ if (onEnd)
27
+ this._tl.on('end', onEnd);
28
+ props.ease = ease;
29
+ props.duration = duration;
30
+ this._tl.add(targets, props, staggerMap(delay, v => '+=' + v));
31
+ if (autoplay)
32
+ this._tl.play();
33
+ }
34
+ play() {
35
+ this._tl.play();
36
+ }
37
+ pause() {
38
+ this._tl.pause();
39
+ }
40
+ /**
41
+ * Seeks to a position in the timeline
42
+ */
43
+ seekMs(ms) {
44
+ this._tl.seekMs(ms);
45
+ }
46
+ /**
47
+ * Seeks to a normalized position in the timeline
48
+ *
49
+ * @param pos = number between 0 and 1
50
+ */
51
+ seek(pos) {
52
+ this._tl.seek(pos);
53
+ }
54
+ /**
55
+ * Resets the current timeline to the start
56
+ * without changing anything
57
+ */
58
+ reset() {
59
+ this._tl.reset();
60
+ }
61
+ /**
62
+ * Resets every used prop to it's previous value
63
+ */
64
+ resetProps() {
65
+ this._tl.resetProps();
66
+ }
67
+ /**
68
+ * Recalculates all values this should be called for example after a resize
69
+ */
70
+ update() {
71
+ this._tl.update();
72
+ }
73
+ /**
74
+ * Returns wether the timeline is set to reversed
75
+ */
76
+ isReversed() {
77
+ return this._tl.isReversed();
78
+ }
79
+ /**
80
+ * Set's the timeline to a specific direction
81
+ */
82
+ setReversed(reversed) {
83
+ this._tl.setReversed(reversed);
84
+ }
85
+ /**
86
+ * Reverses the order of the current timeline
87
+ */
88
+ reverse() {
89
+ this._tl.reverse();
90
+ }
91
+ /**
92
+ * @returns a function to call to unregister the event
93
+ */
94
+ on(event, fn) {
95
+ return this._tl.on(event, fn);
96
+ }
97
+ // not wroking
98
+ onPromise(event) {
99
+ return this._tl.onPromise(event);
100
+ }
101
+ /**
102
+ * Destroys this timeline and resets all props
103
+ */
104
+ destroy() {
105
+ this._tl.destroy();
106
+ // @ts-ignore
107
+ this._tl = null;
108
+ }
109
+ }
110
+ function parseAutoplay(autoplay) {
111
+ if (autoplay !== true && autoplay !== false)
112
+ throw new Error('autoplay needs to be true|false');
113
+ return autoplay;
114
+ }
115
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/animation/public.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import Animation, { AnimationProps } from './animation/public.js';
2
+ import Timeline from './timeline/public.js';
3
+ import Stagger, { type StaggerValue } from './stagger/stagger.js';
4
+ import type { Targets, AnimationTarget } from './target/Target.js';
5
+ export type { Animation, Timeline, Stagger, Targets, AnimationTarget, StaggerValue, AnimationProps, };
6
+ /**
7
+ * Creates a simple animation
8
+ *
9
+ * ## Properties
10
+ *
11
+ */
12
+ export declare function animate(targets: Targets, props?: AnimationProps): Animation;
13
+ export declare function timeline(props?: Record<string, any>): Timeline;
14
+ export declare function stagger<O>(value: StaggerValue<O>): Stagger<O>;
15
+ //# sourceMappingURL=chnobli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chnobli.d.ts","sourceRoot":"","sources":["../src/chnobli.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEnE,YAAY,EACX,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,eAAe,EACf,YAAY,EACZ,cAAc,GACd,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,OAAO,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,cAAmB,GACxB,SAAS,CAEX;AAED,wBAAgB,QAAQ,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,QAAQ,CAElE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE7D"}
@@ -0,0 +1,59 @@
1
+ import Animation from './animation/public.js';
2
+ import Timeline from './timeline/public.js';
3
+ import Stagger from './stagger/stagger.js';
4
+ // todo maybe add, to, from and fromTo to the animate function
5
+ /**
6
+ * Creates a simple animation
7
+ *
8
+ * ## Properties
9
+ *
10
+ */
11
+ export function animate(targets, props = {}) {
12
+ return new Animation(targets, props);
13
+ }
14
+ export function timeline(props = {}) {
15
+ return new Timeline(props);
16
+ }
17
+ export function stagger(value) {
18
+ return new Stagger(value);
19
+ }
20
+ /*
21
+
22
+ animate(target, {
23
+
24
+ // special
25
+ // translate
26
+ x
27
+ y
28
+ scale
29
+ scaleX
30
+ scaleY
31
+ rotation
32
+ skew
33
+ skewX
34
+ skewY
35
+
36
+
37
+
38
+ // stagger
39
+ repeatDelay
40
+ stagger: {
41
+ // wrap advanced options in an object
42
+ each: 0.1,
43
+ from: "center",
44
+ grid: "auto",
45
+ ease: "power2.inOut",
46
+ repeat: -1, // Repeats immediately, not waiting for the other staggered animations to finish
47
+ },
48
+
49
+
50
+ ease,
51
+ duration,
52
+ repeat, (-1?)
53
+ repeatDelay?
54
+ delay,
55
+ alternate
56
+ })
57
+
58
+ */
59
+ //# sourceMappingURL=chnobli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chnobli.js","sourceRoot":"","sources":["../src/chnobli.ts"],"names":[],"mappings":"AAAA,OAAO,SAA6B,MAAM,uBAAuB,CAAC;AAClE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAA8B,MAAM,sBAAsB,CAAC;AAalE,8DAA8D;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACtB,OAAgB,EAChB,QAAwB,EAAE;IAE1B,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAA6B,EAAE;IACvD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,KAAsB;IAChD,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCE"}
@@ -0,0 +1,38 @@
1
+ import Value from '../values/Value.js';
2
+ import Property, { ParseableValue } from './Property.js';
3
+ import { Target } from '../target/Target.js';
4
+ export default class BasicProperty implements Property<Value> {
5
+ /**
6
+ * The name of the property
7
+ */
8
+ name: string;
9
+ /**
10
+ * The value at the start
11
+ */
12
+ from: Value | null;
13
+ /**
14
+ * The value at the end
15
+ */
16
+ to: Value | null;
17
+ constructor(name: string);
18
+ allowsValueFn(): boolean;
19
+ /**
20
+ * From or to might be null
21
+ */
22
+ init(target: Target, from: Value | null, to: Value | null): void;
23
+ /**
24
+ * Gets called with the value of a property
25
+ *
26
+ * For examply during initializiation
27
+ */
28
+ parseValue(val: ParseableValue): Value;
29
+ defaultValue(): Value;
30
+ getValue(target: Target): Value;
31
+ /**
32
+ * Pos needs to be between 0 and 1
33
+ */
34
+ interpolate(pos: number): Value;
35
+ setValue(target: Target, val: Value): void;
36
+ removeValue(target: Target): void;
37
+ }
38
+ //# sourceMappingURL=BasicProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicProperty.d.ts","sourceRoot":"","sources":["../../src/property/BasicProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,KAAK,CAAC;IAC5D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAEnB;;OAEG;IACH,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;gBAEL,IAAI,EAAE,MAAM;IAQxB,aAAa;IAIb;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI;IAczD;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK;IAOtC,YAAY,IAAI,KAAK;IAKrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAQ/B;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAM/B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;IAInC,WAAW,CAAC,MAAM,EAAE,MAAM;CAG1B"}
@@ -0,0 +1,72 @@
1
+ import Value from '../values/Value.js';
2
+ export default class BasicProperty {
3
+ /**
4
+ * The name of the property
5
+ */
6
+ name;
7
+ /**
8
+ * The value at the start
9
+ */
10
+ from;
11
+ /**
12
+ * The value at the end
13
+ */
14
+ to;
15
+ constructor(name) {
16
+ // this is the property name
17
+ this.name = name;
18
+ this.from = null;
19
+ this.to = null;
20
+ }
21
+ allowsValueFn() {
22
+ return true;
23
+ }
24
+ /**
25
+ * From or to might be null
26
+ */
27
+ init(target, from, to) {
28
+ if (!from)
29
+ from = this.getValue(target);
30
+ if (!to)
31
+ to = this.getValue(target);
32
+ if (!from || !to)
33
+ throw new Error('could not determine from or to value');
34
+ const [nFrom, nTo] = target.unifyValues(this.name, from, to);
35
+ this.from = nFrom;
36
+ this.to = nTo;
37
+ }
38
+ /**
39
+ * Gets called with the value of a property
40
+ *
41
+ * For examply during initializiation
42
+ */
43
+ parseValue(val) {
44
+ if (typeof val !== 'string')
45
+ throw new Error('only strings are supported');
46
+ return Value.parse(val);
47
+ }
48
+ defaultValue() {
49
+ throw new Error('default value for ' + this.name + ' not known');
50
+ }
51
+ // try to access the value from the target
52
+ getValue(target) {
53
+ const val = target.getValue(this.name);
54
+ if (typeof val === 'undefined' || val === null)
55
+ return this.defaultValue();
56
+ return val;
57
+ }
58
+ /**
59
+ * Pos needs to be between 0 and 1
60
+ */
61
+ interpolate(pos) {
62
+ const dif = this.to.num - this.from.num;
63
+ return this.from.cloneAdd(pos * dif);
64
+ }
65
+ setValue(target, val) {
66
+ return target.setValue(this.name, val);
67
+ }
68
+ removeValue(target) {
69
+ return target.removeValue(this.name);
70
+ }
71
+ }
72
+ //# sourceMappingURL=BasicProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicProperty.js","sourceRoot":"","sources":["../../src/property/BasicProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;OAEG;IACH,IAAI,CAAS;IAEb;;OAEG;IACH,IAAI,CAAe;IAEnB;;OAEG;IACH,EAAE,CAAe;IAEjB,YAAY,IAAY;QACvB,4BAA4B;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAc,EAAE,IAAkB,EAAE,EAAgB;QACxD,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,EAAE;YAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAEzD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAmB;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ;YAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,YAAY;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,0CAA0C;IAC1C,QAAQ,CAAC,MAAc;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI;YAC7C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC;QAE1C,OAAO,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,GAAU;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,MAAc;QACzB,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACD"}