@rafaelaugusto/jolt 0.1.0-beta.3 → 0.1.0-beta.4

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 (80) hide show
  1. package/README.md +55 -13
  2. package/dist/animate.d.ts.map +1 -1
  3. package/dist/animate.js +24 -2
  4. package/dist/animate.js.map +1 -1
  5. package/dist/color.d.ts +11 -0
  6. package/dist/color.d.ts.map +1 -0
  7. package/dist/color.js +73 -0
  8. package/dist/color.js.map +1 -0
  9. package/dist/driver/android-color.d.ts +17 -0
  10. package/dist/driver/android-color.d.ts.map +1 -0
  11. package/dist/driver/android-color.js +134 -0
  12. package/dist/driver/android-color.js.map +1 -0
  13. package/dist/driver/android.d.ts.map +1 -1
  14. package/dist/driver/android.js +6 -0
  15. package/dist/driver/android.js.map +1 -1
  16. package/dist/driver/index.d.ts +1 -1
  17. package/dist/driver/index.d.ts.map +1 -1
  18. package/dist/driver/index.js.map +1 -1
  19. package/dist/driver/ios-color.d.ts +14 -0
  20. package/dist/driver/ios-color.d.ts.map +1 -0
  21. package/dist/driver/ios-color.js +381 -0
  22. package/dist/driver/ios-color.js.map +1 -0
  23. package/dist/driver/ios.d.ts.map +1 -1
  24. package/dist/driver/ios.js +9 -1
  25. package/dist/driver/ios.js.map +1 -1
  26. package/dist/engine.d.ts.map +1 -1
  27. package/dist/engine.js +9 -5
  28. package/dist/engine.js.map +1 -1
  29. package/dist/index.d.ts +3 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/liquid-grid.d.ts +3 -0
  34. package/dist/liquid-grid.d.ts.map +1 -0
  35. package/dist/liquid-grid.js +24 -0
  36. package/dist/liquid-grid.js.map +1 -0
  37. package/dist/liquid.d.ts +18 -0
  38. package/dist/liquid.d.ts.map +1 -0
  39. package/dist/liquid.js +229 -0
  40. package/dist/liquid.js.map +1 -0
  41. package/dist/press.d.ts.map +1 -1
  42. package/dist/press.js +6 -1
  43. package/dist/press.js.map +1 -1
  44. package/dist/properties.d.ts +4 -2
  45. package/dist/properties.d.ts.map +1 -1
  46. package/dist/properties.js +12 -1
  47. package/dist/properties.js.map +1 -1
  48. package/dist/text.d.ts.map +1 -1
  49. package/dist/text.js +3 -0
  50. package/dist/text.js.map +1 -1
  51. package/dist/track.d.ts +1 -1
  52. package/dist/track.d.ts.map +1 -1
  53. package/dist/track.js +38 -2
  54. package/dist/track.js.map +1 -1
  55. package/dist/transition.d.ts.map +1 -1
  56. package/dist/transition.js +8 -2
  57. package/dist/transition.js.map +1 -1
  58. package/dist/types.d.ts +5 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +11 -2
  61. package/platforms/android/include.gradle +7 -0
  62. package/platforms/android/java/org/rafaelaugusto/jolt/ColorTarget.java +102 -0
  63. package/platforms/android/proguard-rules.pro +6 -0
  64. package/src/animate.ts +30 -4
  65. package/src/color.ts +101 -0
  66. package/src/driver/android-color.ts +168 -0
  67. package/src/driver/android.ts +8 -4
  68. package/src/driver/index.ts +6 -1
  69. package/src/driver/ios-color.ts +432 -0
  70. package/src/driver/ios.ts +13 -3
  71. package/src/engine.ts +9 -5
  72. package/src/index.ts +3 -0
  73. package/src/liquid-grid.ts +28 -0
  74. package/src/liquid.ts +282 -0
  75. package/src/press.ts +8 -2
  76. package/src/properties.ts +15 -5
  77. package/src/text.ts +2 -0
  78. package/src/track.ts +63 -2
  79. package/src/transition.ts +10 -2
  80. package/src/types.ts +5 -0
@@ -0,0 +1,14 @@
1
+ import { type View } from '@nativescript/core';
2
+ import { type ColorProperty } from '../color.js';
3
+ import type { Track } from '../track.js';
4
+ interface ColorHandle {
5
+ stop(): void;
6
+ presented(): number | undefined;
7
+ }
8
+ export declare function presentedIOSColor(view: View, property: ColorProperty): number | undefined;
9
+ /** Glyph entrances and color masks cannot own the same UILabel paint at once. */
10
+ export declare function stopIOSColorText(view: View): void;
11
+ /** Core Animation paints a solid layer through an exact UILabel alpha mask. */
12
+ export declare function playIOSColor(view: View, track: Track, startedAt: number, onEnd: (finished?: boolean) => void): ColorHandle;
13
+ export {};
14
+ //# sourceMappingURL=ios-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios-color.d.ts","sourceRoot":"","sources":["../../src/driver/ios-color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAexC,UAAU,WAAW;IACnB,IAAI,IAAI,IAAI,CAAA;IACZ,SAAS,IAAI,MAAM,GAAG,SAAS,CAAA;CAChC;AAWD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,aAAa,GACtB,MAAM,GAAG,SAAS,CAQpB;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,QAE1C;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,GAClC,WAAW,CAqOb"}
@@ -0,0 +1,381 @@
1
+ import { Color } from '@nativescript/core';
2
+ import { colorProperty } from '@nativescript/core/ui/styling/style-properties';
3
+ import { formattedTextProperty, textProperty } from '@nativescript/core/ui/text-base';
4
+ import { readColor } from '../color.js';
5
+ const playing = new WeakMap();
6
+ const labelOf = (view) => {
7
+ const native = view.nativeViewProtected;
8
+ return native instanceof UILabel
9
+ ? native
10
+ : native instanceof UIButton
11
+ ? native.titleLabel
12
+ : undefined;
13
+ };
14
+ export function presentedIOSColor(view, property) {
15
+ const current = playing.get(view)?.get(property)?.presented();
16
+ if (current !== undefined)
17
+ return current;
18
+ if (property === 'color' && !view.color) {
19
+ const label = labelOf(view);
20
+ if (label?.textColor)
21
+ return Color.fromIosColor(label.textColor).argb >>> 0;
22
+ }
23
+ return readColor(view, property);
24
+ }
25
+ /** Glyph entrances and color masks cannot own the same UILabel paint at once. */
26
+ export function stopIOSColorText(view) {
27
+ playing.get(view)?.get('color')?.stop();
28
+ }
29
+ /** Core Animation paints a solid layer through an exact UILabel alpha mask. */
30
+ export function playIOSColor(view, track, startedAt, onEnd) {
31
+ const property = track.property;
32
+ let target;
33
+ let restore;
34
+ let stopped = false;
35
+ let queued = false;
36
+ let attached = false;
37
+ let generation = 0;
38
+ let textGeometry;
39
+ const native = view.nativeViewProtected;
40
+ const label = property === 'color' ? labelOf(view) : undefined;
41
+ const key = `jolt:${property}`;
42
+ const listeners = [];
43
+ const listen = (object, name, callback) => {
44
+ object.on(name, callback);
45
+ listeners.push([object, name, callback]);
46
+ };
47
+ const cleanup = () => {
48
+ if (stopped)
49
+ return;
50
+ stopped = true;
51
+ generation++;
52
+ for (const [object, name, callback] of listeners)
53
+ object.off(name, callback);
54
+ target?.layer.removeAnimationForKey(key);
55
+ restore?.();
56
+ if (playing.get(view)?.get(property) === handle)
57
+ playing.get(view)?.delete(property);
58
+ };
59
+ const cancel = () => {
60
+ if (stopped)
61
+ return;
62
+ cleanup();
63
+ onEnd(false);
64
+ };
65
+ const scheduleCancel = () => {
66
+ if (stopped || queued)
67
+ return;
68
+ queued = true;
69
+ void Promise.resolve().then(() => {
70
+ queued = false;
71
+ if (!stopped)
72
+ cancel();
73
+ });
74
+ };
75
+ const handle = {
76
+ stop: cancel,
77
+ presented() {
78
+ if (!target)
79
+ return track.values[0];
80
+ const layer = target.layer.presentationLayer();
81
+ // Before CA commits its first frame, the model already contains the target.
82
+ if (!layer)
83
+ return track.valueAt(CACurrentMediaTime() * 1000 - startedAt);
84
+ const color = layer[target.path];
85
+ return color
86
+ ? Color.fromIosColor(UIColor.colorWithCGColor(color)).argb >>> 0
87
+ : undefined;
88
+ },
89
+ };
90
+ let entries = playing.get(view);
91
+ if (!entries)
92
+ playing.set(view, (entries = new Map()));
93
+ entries.set(property, handle);
94
+ listen(view, 'unloaded', cancel);
95
+ for (const name of property === 'borderColor'
96
+ ? [
97
+ 'borderTopColorChange',
98
+ 'borderRightColorChange',
99
+ 'borderBottomColorChange',
100
+ 'borderLeftColorChange',
101
+ ]
102
+ : [`${property}Change`])
103
+ listen(view.style, name, scheduleCancel);
104
+ if (property === 'backgroundColor')
105
+ listen(view.style, 'backgroundImageChange', scheduleCancel);
106
+ const start = () => {
107
+ if (stopped || attached)
108
+ return;
109
+ if (property === 'color') {
110
+ if (!label ||
111
+ !label.window ||
112
+ label.bounds.size.width <= 0 ||
113
+ label.bounds.size.height <= 0)
114
+ return;
115
+ let paint;
116
+ try {
117
+ paint = textPaint(view, label);
118
+ }
119
+ catch {
120
+ return cancel();
121
+ }
122
+ if (!paint)
123
+ return cancel();
124
+ target = { layer: paint.layer, path: 'backgroundColor' };
125
+ restore = paint.restore;
126
+ }
127
+ else {
128
+ // Core rasterizes an image together with its background into a pattern.
129
+ // Replacing that CGColor would erase the image.
130
+ if (property === 'backgroundColor' &&
131
+ typeof view.backgroundImage === 'string' &&
132
+ view.backgroundImage)
133
+ return cancel();
134
+ target =
135
+ property === 'borderColor' && native.borderLayer
136
+ ? { layer: native.borderLayer, path: 'fillColor' }
137
+ : { layer: native.layer, path: property };
138
+ }
139
+ attached = true;
140
+ if (label)
141
+ textGeometry = geometry(label);
142
+ attach();
143
+ };
144
+ const attach = () => {
145
+ if (!target || stopped)
146
+ return;
147
+ const instance = ++generation;
148
+ const { layer, path } = target;
149
+ CATransaction.begin();
150
+ CATransaction.setDisableActions(true);
151
+ layer[path] = new Color(track.to).ios.CGColor;
152
+ CATransaction.commit();
153
+ const animation = CAKeyframeAnimation.animationWithKeyPath(path);
154
+ animation.values = NSArray.arrayWithArray(track.values.map((color) => new Color(color).ios.CGColor));
155
+ animation.keyTimes = NSArray.arrayWithArray(track.times);
156
+ animation.duration = Math.max(track.duration, 1) / 1000;
157
+ animation.beginTime = layer.convertTimeFromLayer((startedAt + track.delay) / 1000, null);
158
+ animation.fillMode = kCAFillModeBackwards;
159
+ animation.removedOnCompletion = track.repeat !== Infinity;
160
+ if (animation.respondsToSelector('setPreferredFrameRateRange:')) {
161
+ const maximum = Math.min(120, native.window?.screen.maximumFramesPerSecond ??
162
+ UIScreen.mainScreen.maximumFramesPerSecond);
163
+ animation.preferredFrameRateRange = CAFrameRateRangeMake(Math.min(80, maximum), maximum, maximum);
164
+ }
165
+ if (track.repeat > 0) {
166
+ animation.autoreverses = track.reverse;
167
+ animation.repeatCount = track.reverse ? (track.repeat + 1) / 2 : track.repeat + 1;
168
+ }
169
+ CATransaction.begin();
170
+ if (track.repeat !== Infinity)
171
+ CATransaction.setCompletionBlock(() => {
172
+ if (!stopped && instance === generation) {
173
+ cleanup();
174
+ onEnd();
175
+ }
176
+ });
177
+ layer.addAnimationForKey(animation, key);
178
+ CATransaction.commit();
179
+ };
180
+ if (property === 'color') {
181
+ for (const name of ['textChange', 'formattedTextChange', 'isEnabledChange'])
182
+ listen(view, name, scheduleCancel);
183
+ for (const name of [
184
+ 'fontInternalChange',
185
+ 'textTransformChange',
186
+ 'whiteSpaceChange',
187
+ 'textOverflowChange',
188
+ 'maxLinesChange',
189
+ 'textStrokeChange',
190
+ 'directionChange',
191
+ 'visibilityChange',
192
+ 'paddingLeftChange',
193
+ 'paddingRightChange',
194
+ 'paddingTopChange',
195
+ 'paddingBottomChange',
196
+ 'textAlignmentChange',
197
+ 'letterSpacingChange',
198
+ 'textDecorationChange',
199
+ 'textShadowChange',
200
+ 'lineHeightChange',
201
+ ])
202
+ listen(view.style, name, scheduleCancel);
203
+ listen(view, 'layoutChanged', () => {
204
+ if (attached) {
205
+ // Core can relayout after rebuilding an identical attributed string.
206
+ // Only changed glyph geometry invalidates the captured mask.
207
+ if (label && geometry(label) !== textGeometry)
208
+ scheduleCancel();
209
+ }
210
+ else
211
+ start();
212
+ });
213
+ const formatted = view.formattedText;
214
+ if (formatted) {
215
+ const object = formatted;
216
+ listen(object, 'propertyChange', scheduleCancel);
217
+ }
218
+ }
219
+ else if (property === 'borderColor') {
220
+ // Core may rebuild its border layer after a background or geometry change.
221
+ // Reattach on the same native timeline, without cancelling sibling colors.
222
+ let pending = false;
223
+ const followBorder = () => {
224
+ if (stopped || pending)
225
+ return;
226
+ pending = true;
227
+ void Promise.resolve().then(() => {
228
+ pending = false;
229
+ if (stopped || !attached || !target)
230
+ return;
231
+ const next = native.borderLayer
232
+ ? { layer: native.borderLayer, path: 'fillColor' }
233
+ : { layer: native.layer, path: 'borderColor' };
234
+ if (next.layer === target.layer && next.path === target.path)
235
+ return;
236
+ const previous = target;
237
+ target = next;
238
+ generation++;
239
+ previous.layer.removeAnimationForKey(key);
240
+ attach();
241
+ });
242
+ };
243
+ listen(view, 'layoutChanged', followBorder);
244
+ listen(view.style, 'backgroundInternalChange', followBorder);
245
+ }
246
+ start();
247
+ return handle;
248
+ }
249
+ function textPaint(view, native) {
250
+ const owner = view.nativeViewProtected;
251
+ const original = native.attributedText;
252
+ const text = original?.string ?? native.text ?? '';
253
+ const bounds = native.bounds;
254
+ const scale = native.window?.screen.scale ?? UIScreen.mainScreen.scale;
255
+ if (!text ||
256
+ Array.from(text).some((char) => {
257
+ const cp = char.codePointAt(0);
258
+ return ((cp >= 0x1f000 && cp <= 0x1faff) ||
259
+ (cp >= 0x2600 && cp <= 0x27bf) ||
260
+ cp === 0x200d ||
261
+ cp === 0x20e3 ||
262
+ cp === 0xfe0f);
263
+ }) ||
264
+ (native.shadowColor && CGColorGetAlpha(native.shadowColor.CGColor) > 0) ||
265
+ bounds.size.width * bounds.size.height * scale * scale > 4_000_000)
266
+ return undefined;
267
+ const source = original
268
+ ? NSMutableAttributedString.alloc().initWithAttributedString(original)
269
+ : NSMutableAttributedString.alloc().initWithString(text);
270
+ const full = { location: 0, length: source.length };
271
+ let unsupported = false;
272
+ for (const attribute of [NSAttachmentAttributeName, NSShadowAttributeName])
273
+ source.enumerateAttributeInRangeOptionsUsingBlock(attribute, full, 0, (value) => {
274
+ if (attribute === NSShadowAttributeName) {
275
+ const color = value?.shadowColor;
276
+ if (color && CGColorGetAlpha(color.CGColor) > 0)
277
+ unsupported = true;
278
+ }
279
+ else if (value != null)
280
+ unsupported = true;
281
+ });
282
+ if (unsupported)
283
+ return undefined;
284
+ const ranges = [];
285
+ const ownColor = (style) => (style[colorProperty.sourceKey] ?? 0) >= 2;
286
+ const formatted = view.formattedText;
287
+ if (formatted) {
288
+ let offset = 0;
289
+ for (let i = 0; i < formatted.spans.length; i++) {
290
+ const span = formatted.spans.getItem(i);
291
+ if (!ownColor(formatted.style) && !ownColor(span.style))
292
+ ranges.push({ location: offset, length: span.text.length });
293
+ offset += span.text.length;
294
+ }
295
+ }
296
+ else
297
+ ranges.push(full);
298
+ const maskText = NSMutableAttributedString.alloc().initWithAttributedString(source);
299
+ const hidden = NSMutableAttributedString.alloc().initWithAttributedString(source);
300
+ maskText.addAttributeValueRange(NSFontAttributeName, native.font, full);
301
+ // Keep per-span fonts, weights and paragraph metrics exactly as UILabel uses them.
302
+ if (original)
303
+ original.enumerateAttributeInRangeOptionsUsingBlock(NSFontAttributeName, full, 0, (font, range) => {
304
+ if (font)
305
+ maskText.addAttributeValueRange(NSFontAttributeName, font, range);
306
+ });
307
+ for (const name of [
308
+ NSForegroundColorAttributeName,
309
+ NSBackgroundColorAttributeName,
310
+ NSUnderlineColorAttributeName,
311
+ NSStrikethroughColorAttributeName,
312
+ NSStrokeColorAttributeName,
313
+ ])
314
+ maskText.addAttributeValueRange(name, UIColor.clearColor, full);
315
+ for (const range of ranges)
316
+ for (const name of [
317
+ NSForegroundColorAttributeName,
318
+ NSUnderlineColorAttributeName,
319
+ NSStrikethroughColorAttributeName,
320
+ NSStrokeColorAttributeName,
321
+ ]) {
322
+ maskText.addAttributeValueRange(name, UIColor.whiteColor, range);
323
+ hidden.addAttributeValueRange(name, UIColor.clearColor, range);
324
+ }
325
+ let image;
326
+ try {
327
+ native.attributedText = maskText;
328
+ UIGraphicsBeginImageContextWithOptions(bounds.size, false, scale);
329
+ try {
330
+ CGContextTranslateCTM(UIGraphicsGetCurrentContext(), -bounds.origin.x, -bounds.origin.y);
331
+ native.drawTextInRect(bounds);
332
+ image = UIGraphicsGetImageFromCurrentImageContext();
333
+ }
334
+ finally {
335
+ UIGraphicsEndImageContext();
336
+ }
337
+ }
338
+ finally {
339
+ if (original)
340
+ native.attributedText = original;
341
+ else
342
+ native.text = text;
343
+ }
344
+ if (!image?.CGImage)
345
+ return undefined;
346
+ const mask = CALayer.new();
347
+ mask.frame = CGRectMake(0, 0, bounds.size.width, bounds.size.height);
348
+ mask.contents = image.CGImage;
349
+ mask.contentsScale = scale;
350
+ const layer = CALayer.new();
351
+ layer.frame = bounds;
352
+ layer.name = 'jolt:color';
353
+ layer.mask = mask;
354
+ native.attributedText = hidden;
355
+ native.layer.addSublayer(layer);
356
+ return {
357
+ layer,
358
+ restore() {
359
+ layer.removeFromSuperlayer();
360
+ if (view.nativeViewProtected !== owner)
361
+ return;
362
+ const property = view.formattedText ? formattedTextProperty : textProperty;
363
+ view[property.setNative](view.formattedText ?? view.text);
364
+ },
365
+ };
366
+ }
367
+ function geometry(label) {
368
+ const bounds = label.bounds;
369
+ const text = label.textRectForBoundsLimitedToNumberOfLines(bounds, label.numberOfLines);
370
+ return [
371
+ bounds.origin.x,
372
+ bounds.origin.y,
373
+ bounds.size.width,
374
+ bounds.size.height,
375
+ text.origin.x,
376
+ text.origin.y,
377
+ text.size.width,
378
+ text.size.height,
379
+ ].join(',');
380
+ }
381
+ //# sourceMappingURL=ios-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios-color.js","sourceRoot":"","sources":["../../src/driver/ios-color.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/driver/ios.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AA4C/C,wBAAgB,eAAe,IAAI,MAAM,CA6DxC"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/driver/ios.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AA6C/C,wBAAgB,eAAe,IAAI,MAAM,CAoExC"}
@@ -1,3 +1,5 @@
1
+ import { isColorProperty } from '../color.js';
2
+ import { playIOSColor, presentedIOSColor } from './ios-color.js';
1
3
  import { after } from './index.js';
2
4
  const keyPaths = {
3
5
  opacity: 'opacity',
@@ -33,6 +35,8 @@ export function createIOSDriver() {
33
35
  return {
34
36
  now: () => CACurrentMediaTime() * 1000,
35
37
  play(view, track, startedAt, onEnd) {
38
+ if (isColorProperty(track.property))
39
+ return { layers: [], key: '', color: playIOSColor(view, track, startedAt, onEnd) };
36
40
  const layers = layersOf(view);
37
41
  const key = `jolt:${track.property}`;
38
42
  const rotation = track.property.startsWith('rotate');
@@ -72,12 +76,16 @@ export function createIOSDriver() {
72
76
  stop(_view, handle) {
73
77
  const playing = handle;
74
78
  const { layers, key, onStop } = playing;
79
+ if (playing.color) {
80
+ playing.color.stop();
81
+ return;
82
+ }
75
83
  playing.onStop = undefined;
76
84
  for (const layer of layers)
77
85
  layer.removeAnimationForKey(key);
78
86
  onStop?.();
79
87
  },
80
- presented: () => undefined,
88
+ presented: (view, property) => isColorProperty(property) ? presentedIOSColor(view, property) : undefined,
81
89
  after,
82
90
  };
83
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../src/driver/ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../src/driver/ios.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,OAAO,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,+FAA+F;IAC/F,IAAI,IAAI,IAAI,CAAA;CACb;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,8EAA8E;IAC9E,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IACrC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAaD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhE;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAEzE;AAED,qBAAa,aAAc,YAAW,SAAS;IAa3C,QAAQ,CAAC,IAAI,EAAE,IAAI;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAd1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,OAAO,CAAgC;IAE/C,YACW,IAAI,EAAE,IAAI,EACnB,KAAK,EAAE,SAAS,IAAI,EAAE,EACL,MAAM,CAAC,EAAE,aAAa,YAAA,EAMxC;IAED,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,EACzB,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAChE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAC5D,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAEhB;IAED,IAAI,SAUH;IAED,KAAK,CAAC,QAAQ,EAAE,OAAO,QAMtB;IAED,OAAO,CAAC,KAAK;IAiEb,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,MAAM;CAUf;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,SAAS,QAAQ,EAAE,QAOpE"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGzD,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,OAAO,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,+FAA+F;IAC/F,IAAI,IAAI,IAAI,CAAA;CACb;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,8EAA8E;IAC9E,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IACrC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAaD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhE;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAEzE;AAED,qBAAa,aAAc,YAAW,SAAS;IAa3C,QAAQ,CAAC,IAAI,EAAE,IAAI;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAd1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,OAAO,CAAgC;IAE/C,YACW,IAAI,EAAE,IAAI,EACnB,KAAK,EAAE,SAAS,IAAI,EAAE,EACL,MAAM,CAAC,EAAE,aAAa,YAAA,EAMxC;IAED,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,EACzB,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAChE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAC5D,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAEhB;IAED,IAAI,SAUH;IAED,KAAK,CAAC,QAAQ,EAAE,OAAO,QAMtB;IAED,OAAO,CAAC,KAAK;IAoEb,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,MAAM;CAUf;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,SAAS,QAAQ,EAAE,QAOpE"}
package/dist/engine.js CHANGED
@@ -2,6 +2,7 @@ import { getDriver } from './driver/index.js';
2
2
  import { playHaptics } from './haptics.js';
3
3
  import { readValue, writeValue } from './properties.js';
4
4
  import { createTrack } from './track.js';
5
+ import { isColorProperty } from './color.js';
5
6
  const running = new WeakMap();
6
7
  const arrivals = new WeakMap();
7
8
  /**
@@ -76,12 +77,15 @@ export class ViewAnimation {
76
77
  release(previous, now, false);
77
78
  }
78
79
  else {
79
- current = readValue(this.view, property);
80
+ current =
81
+ (isColorProperty(property)
82
+ ? driver.presented(this.view, property)
83
+ : undefined) ?? readValue(this.view, property);
80
84
  }
81
85
  return createTrack(property, keyframes.map((value) => {
82
86
  if (value === null)
83
87
  return current;
84
- if (!relative)
88
+ if (!relative || isColorProperty(property))
85
89
  return value;
86
90
  return property === 'opacity' || property.startsWith('scale')
87
91
  ? current * value
@@ -106,12 +110,12 @@ export class ViewAnimation {
106
110
  }
107
111
  this.haptics = playHaptics(this.view, tracks, this.haptic, driver, now);
108
112
  for (const entry of this.entries) {
109
- entry.handle = driver.play(this.view, entry.track, now, () => {
113
+ entry.handle = driver.play(this.view, entry.track, now, (finished = true) => {
110
114
  if (entry.done)
111
115
  return;
112
116
  entry.done = true;
113
117
  forget(entry);
114
- this.ended(true);
118
+ this.ended(finished);
115
119
  });
116
120
  }
117
121
  const arrival = Math.max(...this.entries.map((entry) => entry.track.arrival));
@@ -123,7 +127,7 @@ export class ViewAnimation {
123
127
  }
124
128
  waitForLoad(plans) {
125
129
  for (const { property, keyframes, relative } of plans) {
126
- if (relative)
130
+ if (relative && !isColorProperty(property))
127
131
  continue;
128
132
  const first = keyframes[0];
129
133
  if (first !== null && first !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ export { confetti, particles } from './particles.js';
7
7
  export type { ConfettiOptions, ParticleOptions } from './particles.js';
8
8
  export { shimmer } from './shimmer.js';
9
9
  export type { ShimmerOptions } from './shimmer.js';
10
+ export { liquid } from './liquid.js';
11
+ export type { LiquidOptions, LiquidEffect } from './liquid.js';
10
12
  export { loader } from './loader.js';
11
13
  export type { LoaderOptions, LoaderStyle } from './loader.js';
12
14
  export { reveal, conceal } from './reveal.js';
@@ -22,5 +24,6 @@ export type { Spring, SpringName, Timing, Transition, Tween } from './transition
22
24
  export { cubicBezier } from './easing.js';
23
25
  export type { CubicBezier, Easing, EasingFunction, EasingName } from './easing.js';
24
26
  export type { Animation } from './engine.js';
27
+ export type { ColorValue, ColorKeyframes } from './color.js';
25
28
  export type * from './types.js';
26
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACpD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,mBAAmB,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACpD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,mBAAmB,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export { sequence } from './sequence.js';
3
3
  export { press } from './press.js';
4
4
  export { confetti, particles } from './particles.js';
5
5
  export { shimmer } from './shimmer.js';
6
+ export { liquid } from './liquid.js';
6
7
  export { loader } from './loader.js';
7
8
  export { reveal, conceal } from './reveal.js';
8
9
  export { animateText } from './text.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAMjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAMjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** A periodic displacement field. The fixed boundary keeps transparent edges in bounds. */
2
+ export declare function liquidGrid(columns: number, rows: number, phase: number, intensity: number): Float32Array<ArrayBuffer>;
3
+ //# sourceMappingURL=liquid-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquid-grid.d.ts","sourceRoot":"","sources":["../src/liquid-grid.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,6BAsBlB"}