react-native-smooth-clip-view 0.2.2 → 0.2.5

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 (44) hide show
  1. package/README.md +52 -14
  2. package/android/CMakeLists.txt +4 -0
  3. package/android/build.gradle +1 -0
  4. package/android/src/main/cpp/SmoothClipRegistry.cpp +72 -53
  5. package/cpp/SmoothClipVelocityTracker.h +101 -0
  6. package/ios/SmoothClipView.mm +32 -74
  7. package/lib/module/drivers.android.js +3 -1
  8. package/lib/module/drivers.android.js.map +1 -1
  9. package/lib/module/drivers.ios.js +3 -377
  10. package/lib/module/drivers.ios.js.map +1 -1
  11. package/lib/module/drivers.js +8 -0
  12. package/lib/module/drivers.js.map +1 -1
  13. package/lib/module/drivers.native.js +401 -0
  14. package/lib/module/drivers.native.js.map +1 -0
  15. package/lib/module/easings.js +35 -0
  16. package/lib/module/easings.js.map +1 -0
  17. package/lib/module/index.js +1 -0
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/module/index.web.js +1 -0
  20. package/lib/module/index.web.js.map +1 -1
  21. package/lib/typescript/src/driverTypes.d.ts +34 -3
  22. package/lib/typescript/src/driverTypes.d.ts.map +1 -1
  23. package/lib/typescript/src/drivers.android.d.ts +2 -2
  24. package/lib/typescript/src/drivers.android.d.ts.map +1 -1
  25. package/lib/typescript/src/drivers.d.ts.map +1 -1
  26. package/lib/typescript/src/drivers.ios.d.ts +2 -4
  27. package/lib/typescript/src/drivers.ios.d.ts.map +1 -1
  28. package/lib/typescript/src/drivers.native.d.ts +5 -0
  29. package/lib/typescript/src/drivers.native.d.ts.map +1 -0
  30. package/lib/typescript/src/easings.d.ts +33 -0
  31. package/lib/typescript/src/easings.d.ts.map +1 -0
  32. package/lib/typescript/src/index.d.ts +1 -0
  33. package/lib/typescript/src/index.d.ts.map +1 -1
  34. package/lib/typescript/src/index.web.d.ts +1 -0
  35. package/lib/typescript/src/index.web.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/driverTypes.ts +53 -19
  38. package/src/drivers.android.ts +4 -2
  39. package/src/drivers.ios.ts +4 -661
  40. package/src/drivers.native.ts +698 -0
  41. package/src/drivers.ts +11 -0
  42. package/src/easings.ts +32 -0
  43. package/src/index.ts +1 -0
  44. package/src/index.web.ts +1 -0
@@ -1,380 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useRef } from 'react';
4
- import { useSharedValue } from 'react-native-reanimated';
5
- import { isRNRuntime, scheduleOnRN, scheduleOnUI } from 'react-native-worklets';
6
- import NativeSmoothClipModule from './smoothClipNative';
7
- import { allocateDriverId, attachDriverState, createDriverState, detachDriverState, getDriverState, setDriverState } from "./driverState.js";
8
- import { completeNativeAnimation, synchronizeNativeCompletion } from "./nativeCompletion.js";
9
- import { clipPresentationEquals, createClipPresentation, isFiniteClipPresentation } from "./geometry.js";
10
- import { createReactRequest, rejectDriverRequests, resolveReactRequest } from "./reactRequests.js";
11
- const INTERACTIVE = 0;
12
- const NATIVE = 1;
13
- const setPresentationHostFunction = NativeSmoothClipModule.setClipPresentation;
14
- const beginInteractionHostFunction = NativeSmoothClipModule.beginInteraction;
15
- const animateTimingHostFunction = NativeSmoothClipModule.animateTiming;
16
- const animateSpringHostFunction = NativeSmoothClipModule.animateSpring;
17
- const animateKeyframesHostFunction = NativeSmoothClipModule.animateKeyframes;
18
- const rejectAnimationHostFunction = NativeSmoothClipModule.rejectAnimation;
19
- const cancelAnimationHostFunction = NativeSmoothClipModule.cancelAnimation;
20
- const destroyDriverHostFunction = NativeSmoothClipModule.destroyDriver;
21
-
22
- // Workaround for react-native-worklets 0.10: the RN-side serialization cache
23
- // hands out one remote-function registry id per function forever, but the
24
- // registry entry is deleted as soon as any transient UI-side proxy of that
25
- // function is garbage collected. A later scheduleOnRN for the same function
26
- // then reads `undefined` from the registry and aborts in Value::getObject.
27
- // Pinning one UI-side reference for the app lifetime keeps the proxy — and
28
- // with it the registry entry — alive. Remove once worklets decouples registry
29
- // cleanup from proxy lifetime.
30
- scheduleOnUI(resolver => {
31
- 'worklet';
32
-
33
- globalThis.__smoothClipPinnedResolver = resolver;
34
- }, resolveReactRequest);
35
- function reduceMotionCode(value) {
36
- switch (value) {
37
- case 'always':
38
- return 1;
39
- case 'never':
40
- return 2;
41
- default:
42
- return 0;
43
- }
44
- }
45
- function animationIsFinite(target, animation) {
46
- 'worklet';
47
-
48
- if (animation.type === 'timing') {
49
- return Number.isFinite(animation.duration) && animation.controlPoints.every(Number.isFinite);
50
- }
51
- if (animation.type === 'spring') {
52
- return [animation.mass ?? 1, animation.stiffness ?? 100, animation.damping ?? 10, animation.initialVelocity === 'inherit' ? 0 : animation.initialVelocity ?? 0].every(Number.isFinite);
53
- }
54
- if (!Number.isFinite(animation.duration) || animation.frames.length < 2) {
55
- return false;
56
- }
57
- let previousOffset = -1;
58
- for (const frame of animation.frames) {
59
- if (!Number.isFinite(frame.offset) || frame.offset < 0 || frame.offset > 1 || frame.offset <= previousOffset || !isFiniteClipPresentation(frame.presentation)) {
60
- return false;
61
- }
62
- previousOffset = frame.offset;
63
- }
64
- return animation.frames[0]?.offset === 0 && previousOffset === 1 && clipPresentationEquals(animation.frames[animation.frames.length - 1]?.presentation ?? null, target);
65
- }
66
- function presentationFromNative(values, fallback, offset = 0) {
67
- 'worklet';
68
-
69
- if (values.length < offset + 7) return fallback;
70
- const presentation = {
71
- clip: {
72
- x: values[offset],
73
- y: values[offset + 1],
74
- width: values[offset + 2],
75
- height: values[offset + 3],
76
- radius: values[offset + 4]
77
- },
78
- contentTranslateX: values[offset + 5],
79
- contentTranslateY: values[offset + 6]
80
- };
81
- return isFiniteClipPresentation(presentation) ? presentation : fallback;
82
- }
83
- function flattenedKeyframes(animation) {
84
- 'worklet';
85
-
86
- const values = [];
87
- for (const frame of animation.frames) {
88
- const {
89
- clip,
90
- contentTranslateX,
91
- contentTranslateY
92
- } = frame.presentation;
93
- values.push(frame.offset, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY);
94
- }
95
- return values;
96
- }
97
- function uiOnly() {
98
- 'worklet';
99
-
100
- throw new Error('[SmoothClipView] driver.ui methods must run on the UI runtime. Use driver.react from React code.');
101
- }
102
- export function useSmoothClipDriver(initialValue, options = {}) {
103
- const initialPresentation = 'clip' in initialValue ? initialValue : createClipPresentation(initialValue);
104
- const presentation = useSharedValue(initialPresentation);
105
- const ownership = useSharedValue(INTERACTIVE);
106
- const suppressDeliveries = useSharedValue(0);
107
- const activeAnimationId = useSharedValue(0);
108
- // Non-zero after a setScalars hot write: driver.presentation is then stale,
109
- // so animateTo must start from the native registry's latest value instead
110
- // of snapping back to the stale SharedValue.
111
- const scalarsStale = useSharedValue(0);
112
- const callbackRef = useRef(options.onAnimationComplete);
113
- const driverRef = useRef(null);
114
- callbackRef.current = options.onAnimationComplete;
115
- if (driverRef.current === null) {
116
- const driverId = allocateDriverId();
117
- const reduceMotion = reduceMotionCode(options.reduceMotion ?? 'system');
118
- const seedPresentation = next => {
119
- 'worklet';
120
-
121
- if (!clipPresentationEquals(presentation.value, next)) {
122
- suppressDeliveries.value += 1;
123
- presentation.value = next;
124
- }
125
- };
126
- const beginOnUI = () => {
127
- 'worklet';
128
-
129
- const current = presentationFromNative(beginInteractionHostFunction(driverId), presentation.value);
130
- activeAnimationId.value = 0;
131
- ownership.value = INTERACTIVE;
132
- scalarsStale.value = 0;
133
- seedPresentation(current);
134
- return current;
135
- };
136
- const setOnUI = next => {
137
- 'worklet';
138
-
139
- if (!isFiniteClipPresentation(next)) return;
140
- activeAnimationId.value = 0;
141
- ownership.value = INTERACTIVE;
142
- scalarsStale.value = 0;
143
- const {
144
- clip,
145
- contentTranslateX,
146
- contentTranslateY
147
- } = next;
148
- setPresentationHostFunction(driverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, true);
149
- seedPresentation(next);
150
- };
151
- const setScalarsOnUI = (x, y, width, height, radius, contentTranslateX, contentTranslateY) => {
152
- 'worklet';
153
-
154
- if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(width) || !Number.isFinite(height) || !Number.isFinite(radius) || !Number.isFinite(contentTranslateX) || !Number.isFinite(contentTranslateY)) {
155
- return;
156
- }
157
- if (activeAnimationId.value !== 0) activeAnimationId.value = 0;
158
- if (ownership.value !== INTERACTIVE) ownership.value = INTERACTIVE;
159
- if (scalarsStale.value === 0) scalarsStale.value = 1;
160
- setPresentationHostFunction(driverId, x, y, width, height, radius, contentTranslateX, contentTranslateY, true);
161
- };
162
- const animateOnUI = (target, animation) => {
163
- 'worklet';
164
-
165
- if (!isFiniteClipPresentation(target) || !animationIsFinite(target, animation)) {
166
- return rejectAnimationHostFunction(driverId);
167
- }
168
-
169
- // After a setScalars hot write the SharedValue no longer matches what
170
- // is on screen; passing it as the start would snap the animation back.
171
- // Without an interactive start, native resolves the start from its own
172
- // latest value instead.
173
- const scalarsWereStale = scalarsStale.value !== 0;
174
- const hasInteractiveStart = ownership.value === INTERACTIVE && !scalarsWereStale;
175
- const start = presentation.value;
176
- ownership.value = NATIVE;
177
- presentation.value = target;
178
- scalarsStale.value = 0;
179
- const startClip = start.clip;
180
- const targetClip = target.clip;
181
- let animationId;
182
- if (animation.type === 'timing') {
183
- const [x1, y1, x2, y2] = animation.controlPoints;
184
- animationId = animateTimingHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0, animation.duration), x1, y1, x2, y2, reduceMotion);
185
- } else if (animation.type === 'spring') {
186
- const inheritVelocity = animation.initialVelocity === undefined || animation.initialVelocity === 'inherit';
187
- animationId = animateSpringHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0.0001, animation.mass ?? 1), Math.max(0.0001, animation.stiffness ?? 100), Math.max(0, animation.damping ?? 10), inheritVelocity ? 0 : animation.initialVelocity, inheritVelocity, reduceMotion);
188
- } else {
189
- animationId = animateKeyframesHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0, animation.duration), flattenedKeyframes(animation), reduceMotion);
190
- }
191
- if (animationId === 0) {
192
- // Native rejected the transition after ownership was transferred.
193
- // Restore interactive ownership and the pre-animation value, then
194
- // emit a standalone finished:false completion so completion-driven
195
- // state machines observe exactly one result per animateTo call.
196
- ownership.value = INTERACTIVE;
197
- presentation.value = start;
198
- if (scalarsWereStale) scalarsStale.value = 1;
199
- activeAnimationId.value = 0;
200
- return rejectAnimationHostFunction(driverId);
201
- }
202
- activeAnimationId.value = animationId;
203
- return animationId;
204
- };
205
- const cancelOnUI = (animationId = 0, behavior = 'current') => {
206
- 'worklet';
207
-
208
- const values = cancelAnimationHostFunction(driverId, animationId, behavior === 'target' ? 1 : 0);
209
- if (values.length < 8 || values[0] !== 1) return presentation.value;
210
- const current = presentationFromNative(values, presentation.value, 1);
211
- activeAnimationId.value = 0;
212
- ownership.value = INTERACTIVE;
213
- scalarsStale.value = 0;
214
- seedPresentation(current);
215
- return current;
216
- };
217
- const driver = {
218
- kind: 'hybrid',
219
- presentation,
220
- ui: {
221
- beginInteraction() {
222
- 'worklet';
223
-
224
- if (isRNRuntime()) return uiOnly();
225
- return beginOnUI();
226
- },
227
- set(next) {
228
- 'worklet';
229
-
230
- if (isRNRuntime()) return uiOnly();
231
- setOnUI(next);
232
- },
233
- setScalars(x, y, width, height, radius, contentTranslateX, contentTranslateY) {
234
- 'worklet';
235
-
236
- if (isRNRuntime()) return uiOnly();
237
- setScalarsOnUI(x, y, width, height, radius, contentTranslateX, contentTranslateY);
238
- },
239
- animateTo(target, animation) {
240
- 'worklet';
241
-
242
- if (isRNRuntime()) return uiOnly();
243
- return animateOnUI(target, animation);
244
- },
245
- cancel(animationId = 0, behavior = 'current') {
246
- 'worklet';
247
-
248
- if (isRNRuntime()) return uiOnly();
249
- return cancelOnUI(animationId, behavior);
250
- }
251
- },
252
- react: {
253
- beginInteraction() {
254
- const {
255
- requestId,
256
- promise
257
- } = createReactRequest(driverId);
258
- scheduleOnUI(() => {
259
- 'worklet';
260
-
261
- const result = beginOnUI();
262
- scheduleOnRN(resolveReactRequest, driverId, requestId, result);
263
- });
264
- return promise;
265
- },
266
- set(next) {
267
- const {
268
- requestId,
269
- promise
270
- } = createReactRequest(driverId);
271
- scheduleOnUI(() => {
272
- 'worklet';
273
-
274
- setOnUI(next);
275
- scheduleOnRN(resolveReactRequest, driverId, requestId, undefined);
276
- });
277
- return promise;
278
- },
279
- animateTo(target, animation) {
280
- const {
281
- requestId,
282
- promise
283
- } = createReactRequest(driverId, true);
284
- scheduleOnUI(() => {
285
- 'worklet';
286
-
287
- const result = animateOnUI(target, animation);
288
- scheduleOnRN(resolveReactRequest, driverId, requestId, result, true);
289
- });
290
- return promise;
291
- },
292
- cancel(animationId = 0, behavior = 'current') {
293
- const {
294
- requestId,
295
- promise
296
- } = createReactRequest(driverId, true);
297
- scheduleOnUI(() => {
298
- 'worklet';
299
-
300
- const result = cancelOnUI(animationId, behavior);
301
- scheduleOnRN(resolveReactRequest, driverId, requestId, result, true);
302
- });
303
- return promise;
304
- }
305
- }
306
- };
307
- setDriverState(driver, createDriverState(driverId, initialPresentation, presentation, callbackRef, activeAnimationId, ownership));
308
- driverRef.current = driver;
309
- }
310
- const driver = driverRef.current;
311
- useEffect(() => {
312
- const currentDriver = driverRef.current;
313
- if (!currentDriver) return undefined;
314
- const state = getDriverState(currentDriver);
315
- const {
316
- driverId
317
- } = state;
318
- // Re-attach on every effect run: StrictMode/<Activity> replay the effect
319
- // after its cleanup detached this state and destroyed the native driver.
320
- // The authoritative seed below recreates the native entry in that case.
321
- attachDriverState(state);
322
- const subscription = NativeSmoothClipModule.onClipAnimationComplete(result => {
323
- if (result.driverId !== driverId) return;
324
- synchronizeNativeCompletion(activeAnimationId, ownership, result.animationId, result.finished);
325
- completeNativeAnimation(driverId, result.animationId, result.finished);
326
- });
327
- scheduleOnUI((source, listenerId, nativeDriverId, owner, suppressed, active, stale, setter) => {
328
- 'worklet';
329
-
330
- let last = null;
331
- const deliver = next => {
332
- if (!isFiniteClipPresentation(next) || clipPresentationEquals(last, next)) {
333
- return;
334
- }
335
- // Record `last` only for values native has actually observed:
336
- // deliveries dropped during native ownership must stay eligible
337
- // for re-delivery once interactive ownership returns.
338
- if (owner.value !== INTERACTIVE) return;
339
- if (suppressed.value > 0) {
340
- suppressed.value -= 1;
341
- last = next;
342
- return;
343
- }
344
- last = next;
345
- if (stale.value !== 0) stale.value = 0;
346
- const {
347
- clip,
348
- contentTranslateX,
349
- contentTranslateY
350
- } = next;
351
- setter(nativeDriverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, false);
352
- };
353
- source.addListener(listenerId, deliver);
354
- // Authoritative take-ownership seed. Creates the native entry before
355
- // any view mounts on the first run, and revives a driver destroyed by
356
- // an effect-replay cleanup (StrictMode/<Activity>) on later runs.
357
- const current = source.value;
358
- if (isFiniteClipPresentation(current)) {
359
- active.value = 0;
360
- owner.value = INTERACTIVE;
361
- stale.value = 0;
362
- last = current;
363
- setter(nativeDriverId, current.clip.x, current.clip.y, current.clip.width, current.clip.height, current.clip.radius, current.contentTranslateX, current.contentTranslateY, true);
364
- }
365
- }, presentation, driverId, driverId, ownership, suppressDeliveries, activeAnimationId, scalarsStale, setPresentationHostFunction);
366
- return () => {
367
- subscription.remove();
368
- rejectDriverRequests(driverId);
369
- detachDriverState(state);
370
- scheduleOnUI((source, listenerId, nativeDriverId, destroy) => {
371
- 'worklet';
372
-
373
- source.removeListener(listenerId);
374
- destroy(nativeDriverId);
375
- }, presentation, driverId, driverId, destroyDriverHostFunction);
376
- };
377
- }, [activeAnimationId, ownership, presentation, scalarsStale, suppressDeliveries]);
378
- return driver;
379
- }
3
+ // Platform re-export only — the implementation is shared with Android.
4
+ // Edit drivers.native.ts, not this file.
5
+ export { useSmoothClipDriver } from "./drivers.native.js";
380
6
  //# sourceMappingURL=drivers.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","allocateDriverId","attachDriverState","createDriverState","detachDriverState","getDriverState","setDriverState","completeNativeAnimation","synchronizeNativeCompletion","clipPresentationEquals","createClipPresentation","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","INTERACTIVE","NATIVE","setPresentationHostFunction","setClipPresentation","beginInteractionHostFunction","beginInteraction","animateTimingHostFunction","animateTiming","animateSpringHostFunction","animateSpring","animateKeyframesHostFunction","animateKeyframes","rejectAnimationHostFunction","rejectAnimation","cancelAnimationHostFunction","cancelAnimation","destroyDriverHostFunction","destroyDriver","resolver","globalThis","__smoothClipPinnedResolver","reduceMotionCode","value","animationIsFinite","target","animation","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","frames","length","previousOffset","frame","offset","presentation","presentationFromNative","values","fallback","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","flattenedKeyframes","push","uiOnly","Error","useSmoothClipDriver","initialValue","options","initialPresentation","ownership","suppressDeliveries","activeAnimationId","scalarsStale","callbackRef","onAnimationComplete","driverRef","current","driverId","reduceMotion","seedPresentation","next","beginOnUI","setOnUI","setScalarsOnUI","animateOnUI","scalarsWereStale","hasInteractiveStart","start","startClip","targetClip","animationId","x1","y1","x2","y2","Math","max","inheritVelocity","undefined","cancelOnUI","behavior","driver","kind","ui","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state","subscription","onClipAnimationComplete","finished","source","listenerId","nativeDriverId","owner","suppressed","active","stale","setter","last","deliver","addListener","remove","destroy","removeListener"],"sourceRoot":"../../src","sources":["drivers.ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSmoothClipDriver"],"sourceRoot":"../../src","sources":["drivers.ios.ts"],"mappings":";;AAAA;AACA;AACA,SAASA,mBAAmB,QAAQ,qBAAkB","ignoreList":[]}
@@ -19,6 +19,9 @@ function toReanimatedReduceMotion(value) {
19
19
  function animationIsFinite(animation) {
20
20
  'worklet';
21
21
 
22
+ if (animation.from !== undefined && !isFiniteClipPresentation(animation.from)) {
23
+ return false;
24
+ }
22
25
  if (animation.type === 'timing') {
23
26
  return Number.isFinite(animation.duration) && animation.controlPoints.every(Number.isFinite);
24
27
  }
@@ -113,6 +116,11 @@ export function useSmoothClipDriver(initialValue, options = {}) {
113
116
  scheduleOnRN(finishFallback, driverId, animationId, false);
114
117
  return animationId;
115
118
  }
119
+ if (animation.from !== undefined) {
120
+ // Fused explicit start: on the fallback driver the setScalars hot
121
+ // path is a plain presentation write, so the desugar is the same.
122
+ presentation.value = animation.from;
123
+ }
116
124
  activeAnimationId.value = animationId;
117
125
  animationStart.value = presentation.value;
118
126
  latestTarget.value = next;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","cancelAnimation","cancelReanimatedAnimation","Easing","ReduceMotion","useAnimatedReaction","useSharedValue","withSpring","withTiming","scheduleOnRN","scheduleOnUI","allocateDriverId","attachDriverState","createDriverState","deliverDriverCompletion","detachDriverState","finishDriverAnimation","getDriverState","setDriverState","snapshotDriverViews","createClipPresentation","clipPresentationEquals","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","toReanimatedReduceMotion","value","Always","Never","System","animationIsFinite","animation","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","previousOffset","frames","length","frame","offset","presentation","interpolatePresentation","from","to","progress","mix","start","end","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","finishFallback","driverId","animationId","finished","useSmoothClipDriver","initialValue","options","initialPresentation","activeAnimationId","nextAnimationId","latestTarget","animationStart","animationProgress","keyframes","callbackRef","onAnimationComplete","driverRef","current","upperIndex","lower","upper","span","localProgress","Math","min","max","reduceMotion","beginOnUI","setOnUI","next","animateOnUI","onComplete","x1","y1","x2","y2","easing","bezier","configuredVelocity","velocity","linear","cancelOnUI","behavior","setScalarsOnUI","driver","kind","ui","beginInteraction","set","setScalars","animateTo","cancel","react","requestId","promise","result","undefined","currentDriver","state"],"sourceRoot":"../../src","sources":["drivers.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SACEC,eAAe,IAAIC,yBAAyB,EAC5CC,MAAM,EACNC,YAAY,EACZC,mBAAmB,EACnBC,cAAc,EACdC,UAAU,EACVC,UAAU,QACL,yBAAyB;AAChC,SAASC,YAAY,EAAEC,YAAY,QAAQ,uBAAuB;AAUlE,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,uBAAuB,EACvBC,iBAAiB,EACjBC,qBAAqB,EACrBC,cAAc,EACdC,cAAc,EACdC,mBAAmB,QACd,kBAAe;AACtB,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,wBAAwB,QAGnB,eAAY;AACnB,SACEC,kBAAkB,EAClBC,oBAAoB,EACpBC,mBAAmB,QACd,oBAAiB;AAExB,SAASC,wBAAwBA,CAACC,KAAuB,EAAgB;EACvE,QAAQA,KAAK;IACX,KAAK,QAAQ;MACX,OAAOvB,YAAY,CAACwB,MAAM;IAC5B,KAAK,OAAO;MACV,OAAOxB,YAAY,CAACyB,KAAK;IAC3B;MACE,OAAOzB,YAAY,CAAC0B,MAAM;EAC9B;AACF;AAEA,SAASC,iBAAiBA,CAACC,SAA8B,EAAW;EAClE,SAAS;;EACT,IAAIA,SAAS,CAACC,IAAI,KAAK,QAAQ,EAAE;IAC/B,OACEC,MAAM,CAACC,QAAQ,CAACH,SAAS,CAACI,QAAQ,CAAC,IACnCJ,SAAS,CAACK,aAAa,CAACC,KAAK,CAACJ,MAAM,CAACC,QAAQ,CAAC;EAElD;EACA,IAAIH,SAAS,CAACC,IAAI,KAAK,QAAQ,EAAE;IAC/B,OAAO,CACLD,SAAS,CAACO,IAAI,IAAI,CAAC,EACnBP,SAAS,CAACQ,SAAS,IAAI,GAAG,EAC1BR,SAAS,CAACS,OAAO,IAAI,EAAE,EACvBT,SAAS,CAACU,eAAe,KAAK,SAAS,GACnC,CAAC,GACAV,SAAS,CAACU,eAAe,IAAI,CAAE,CACrC,CAACJ,KAAK,CAACJ,MAAM,CAACC,QAAQ,CAAC;EAC1B;EACA,IAAIQ,cAAc,GAAG,CAAC,CAAC;EACvB,IAAI,CAACT,MAAM,CAACC,QAAQ,CAACH,SAAS,CAACI,QAAQ,CAAC,IAAIJ,SAAS,CAACY,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;IACvE,OAAO,KAAK;EACd;EACA,KAAK,MAAMC,KAAK,IAAId,SAAS,CAACY,MAAM,EAAE;IACpC,IACE,CAACV,MAAM,CAACC,QAAQ,CAACW,KAAK,CAACC,MAAM,CAAC,IAC9BD,KAAK,CAACC,MAAM,GAAG,CAAC,IAChBD,KAAK,CAACC,MAAM,GAAG,CAAC,IAChBD,KAAK,CAACC,MAAM,IAAIJ,cAAc,IAC9B,CAACrB,wBAAwB,CAACwB,KAAK,CAACE,YAAY,CAAC,EAC7C;MACA,OAAO,KAAK;IACd;IACAL,cAAc,GAAGG,KAAK,CAACC,MAAM;EAC/B;EACA,OAAOf,SAAS,CAACY,MAAM,CAAC,CAAC,CAAC,EAAEG,MAAM,KAAK,CAAC,IAAIJ,cAAc,KAAK,CAAC;AAClE;AAEA,SAASM,uBAAuBA,CAC9BC,IAA4B,EAC5BC,EAA0B,EAC1BC,QAAgB,EACQ;EACxB,SAAS;;EACT,MAAMC,GAAG,GAAGA,CAACC,KAAa,EAAEC,GAAW,KAAKD,KAAK,GAAG,CAACC,GAAG,GAAGD,KAAK,IAAIF,QAAQ;EAC5E,OAAO;IACLI,IAAI,EAAE;MACJC,CAAC,EAAEJ,GAAG,CAACH,IAAI,CAACM,IAAI,CAACC,CAAC,EAAEN,EAAE,CAACK,IAAI,CAACC,CAAC,CAAC;MAC9BC,CAAC,EAAEL,GAAG,CAACH,IAAI,CAACM,IAAI,CAACE,CAAC,EAAEP,EAAE,CAACK,IAAI,CAACE,CAAC,CAAC;MAC9BC,KAAK,EAAEN,GAAG,CAACH,IAAI,CAACM,IAAI,CAACG,KAAK,EAAER,EAAE,CAACK,IAAI,CAACG,KAAK,CAAC;MAC1CC,MAAM,EAAEP,GAAG,CAACH,IAAI,CAACM,IAAI,CAACI,MAAM,EAAET,EAAE,CAACK,IAAI,CAACI,MAAM,CAAC;MAC7CC,MAAM,EAAER,GAAG,CAACH,IAAI,CAACM,IAAI,CAACK,MAAM,EAAEV,EAAE,CAACK,IAAI,CAACK,MAAM;IAC9C,CAAC;IACDC,iBAAiB,EAAET,GAAG,CAACH,IAAI,CAACY,iBAAiB,EAAEX,EAAE,CAACW,iBAAiB,CAAC;IACpEC,iBAAiB,EAAEV,GAAG,CAACH,IAAI,CAACa,iBAAiB,EAAEZ,EAAE,CAACY,iBAAiB;EACrE,CAAC;AACH;AAEA,SAASC,cAAcA,CACrBC,QAAgB,EAChBC,WAAmB,EACnBC,QAAiB,EACX;EACNrD,uBAAuB,CACrBmD,QAAQ,EACRC,WAAW,EACXlD,qBAAqB,CAACiD,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,CACvD,CAAC;AACH;AAEA,OAAO,SAASC,mBAAmBA,CACjCC,YAAmD,EACnDC,OAAgC,GAAG,CAAC,CAAC,EACnB;EAClB,MAAMC,mBAAmB,GACvB,MAAM,IAAIF,YAAY,GAClBA,YAAY,GACZjD,sBAAsB,CAACiD,YAAY,CAAC;EAC1C,MAAMrB,YAAY,GAAG1C,cAAc,CAACiE,mBAAmB,CAAC;EACxD,MAAMC,iBAAiB,GAAGlE,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMmE,eAAe,GAAGnE,cAAc,CAAC,CAAC,CAAC;EACzC,MAAMoE,YAAY,GAAGpE,cAAc,CAACiE,mBAAmB,CAAC;EACxD,MAAMI,cAAc,GAAGrE,cAAc,CAACiE,mBAAmB,CAAC;EAC1D,MAAMK,iBAAiB,GAAGtE,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMuE,SAAS,GAAGvE,cAAc,CAK9B,EAAE,CAAC;EACL,MAAMwE,WAAW,GAAG9E,MAAM,CAACsE,OAAO,CAACS,mBAAmB,CAAC;EACvD,MAAMC,SAAS,GAAGhF,MAAM,CAA0B,IAAI,CAAC;EACvD8E,WAAW,CAACG,OAAO,GAAGX,OAAO,CAACS,mBAAmB;EAEjD1E,mBAAmB,CACjB,MAAMuE,iBAAiB,CAACjD,KAAK,EAC5ByB,QAAQ,IAAK;IACZ,MAAMR,MAAM,GAAGiC,SAAS,CAAClD,KAAK;IAC9B,IAAIiB,MAAM,CAACC,MAAM,IAAI,CAAC,EAAE;MACtB,IAAIqC,UAAU,GAAG,CAAC;MAClB,OACEA,UAAU,GAAGtC,MAAM,CAACC,MAAM,GAAG,CAAC,IAC9BO,QAAQ,IAAIR,MAAM,CAACsC,UAAU,CAAC,EAAEnC,MAAM,IAAI,CAAC,CAAC,EAC5C;QACAmC,UAAU,IAAI,CAAC;MACjB;MACA,MAAMC,KAAK,GAAGvC,MAAM,CAACsC,UAAU,GAAG,CAAC,CAAC;MACpC,MAAME,KAAK,GAAGxC,MAAM,CAACsC,UAAU,CAAC;MAChC,IAAI,CAACC,KAAK,IAAI,CAACC,KAAK,EAAE;MACtB,MAAMC,IAAI,GAAGD,KAAK,CAACrC,MAAM,GAAGoC,KAAK,CAACpC,MAAM;MACxC,MAAMuC,aAAa,GAAGD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAACjC,QAAQ,GAAG+B,KAAK,CAACpC,MAAM,IAAIsC,IAAI;MACtErC,YAAY,CAACrB,KAAK,GAAGsB,uBAAuB,CAC1CkC,KAAK,CAACnC,YAAY,EAClBoC,KAAK,CAACpC,YAAY,EAClBuC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEH,aAAa,CAAC,CACxC,CAAC;MACD;IACF;IACAtC,YAAY,CAACrB,KAAK,GAAGsB,uBAAuB,CAC1C0B,cAAc,CAAChD,KAAK,EACpB+C,YAAY,CAAC/C,KAAK,EAClByB,QACF,CAAC;EACH,CAAC,EACD,CAACwB,iBAAiB,EAAED,cAAc,EAAEE,SAAS,EAAEH,YAAY,EAAE1B,YAAY,CAC3E,CAAC;EAED,IAAIgC,SAAS,CAACC,OAAO,KAAK,IAAI,EAAE;IAC9B,MAAMhB,QAAQ,GAAGtD,gBAAgB,CAAC,CAAC;IACnC,MAAM+E,YAAY,GAAGhE,wBAAwB,CAC3C4C,OAAO,CAACoB,YAAY,IAAI,QAC1B,CAAC;IAED,MAAMC,SAAS,GAAGA,CAAA,KAA8B;MAC9C,SAAS;;MACTzF,yBAAyB,CAAC0E,iBAAiB,CAAC;MAC5CJ,iBAAiB,CAAC7C,KAAK,GAAG,CAAC;MAC3B,OAAOqB,YAAY,CAACrB,KAAK;IAC3B,CAAC;IAED,MAAMiE,OAAO,GAAIC,IAA4B,IAAW;MACtD,SAAS;;MACT,IAAI,CAACvE,wBAAwB,CAACuE,IAAI,CAAC,EAAE;MACrC3F,yBAAyB,CAAC0E,iBAAiB,CAAC;MAC5CJ,iBAAiB,CAAC7C,KAAK,GAAG,CAAC;MAC3B+C,YAAY,CAAC/C,KAAK,GAAGkE,IAAI;MACzB7C,YAAY,CAACrB,KAAK,GAAGkE,IAAI;IAC3B,CAAC;IAED,MAAMC,WAAW,GAAGA,CAClBD,IAA4B,EAC5B7D,SAA8B,KACnB;MACX,SAAS;;MACTyC,eAAe,CAAC9C,KAAK,GAAI8C,eAAe,CAAC9C,KAAK,GAAG,UAAU,GAAI,CAAC;MAChE,MAAMuC,WAAW,GAAGO,eAAe,CAAC9C,KAAK;MACzC,IAAI,CAACL,wBAAwB,CAACuE,IAAI,CAAC,IAAI,CAAC9D,iBAAiB,CAACC,SAAS,CAAC,EAAE;QACpEvB,YAAY,CAACuD,cAAc,EAAEC,QAAQ,EAAEC,WAAW,EAAE,KAAK,CAAC;QAC1D,OAAOA,WAAW;MACpB;MAEAM,iBAAiB,CAAC7C,KAAK,GAAGuC,WAAW;MACrCS,cAAc,CAAChD,KAAK,GAAGqB,YAAY,CAACrB,KAAK;MACzC+C,YAAY,CAAC/C,KAAK,GAAGkE,IAAI;MACzBhB,SAAS,CAAClD,KAAK,GAAG,EAAE;MACpBiD,iBAAiB,CAACjD,KAAK,GAAG,CAAC;MAC3BlB,YAAY,CAACU,mBAAmB,EAAE8C,QAAQ,EAAEC,WAAW,CAAC;MACxD,MAAM6B,UAAU,GAAI5B,QAAkB,IAAK;QACzC,SAAS;;QACT,IAAIK,iBAAiB,CAAC7C,KAAK,KAAKuC,WAAW,EAAE;UAC3CM,iBAAiB,CAAC7C,KAAK,GAAG,CAAC;QAC7B;QACAlB,YAAY,CAACuD,cAAc,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,KAAK,IAAI,CAAC;MACxE,CAAC;MAED,IAAInC,SAAS,CAACC,IAAI,KAAK,QAAQ,EAAE;QAC/B,MAAM,CAAC+D,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC,GAAGnE,SAAS,CAACK,aAAa;QAChDuC,iBAAiB,CAACjD,KAAK,GAAGnB,UAAU,CAClC,CAAC,EACD;UACE4B,QAAQ,EAAEmD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEzD,SAAS,CAACI,QAAQ,CAAC;UACzCgE,MAAM,EAAEjG,MAAM,CAACkG,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;UACrCT;QACF,CAAC,EACDK,UACF,CAAC;MACH,CAAC,MAAM,IAAI/D,SAAS,CAACC,IAAI,KAAK,QAAQ,EAAE;QACtC,MAAMqE,kBAAkB,GAAGtE,SAAS,CAACU,eAAe;QACpDkC,iBAAiB,CAACjD,KAAK,GAAGpB,UAAU,CAClC,CAAC,EACD;UACEkC,OAAO,EAAET,SAAS,CAACS,OAAO,IAAI,EAAE;UAChCF,IAAI,EAAEP,SAAS,CAACO,IAAI,IAAI,CAAC;UACzBmD,YAAY;UACZlD,SAAS,EAAER,SAAS,CAACQ,SAAS,IAAI,GAAG;UACrC;UACA;UACA+D,QAAQ,EACN,OAAOD,kBAAkB,KAAK,QAAQ,GAAGA,kBAAkB,GAAG;QAClE,CAAC,EACDP,UACF,CAAC;MACH,CAAC,MAAM;QACL,IACE,CAAC1E,sBAAsB,CACrBW,SAAS,CAACY,MAAM,CAACZ,SAAS,CAACY,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,EAAEG,YAAY,IAAI,IAAI,EACnE6C,IACF,CAAC,EACD;UACApF,YAAY,CAACuD,cAAc,EAAEC,QAAQ,EAAEC,WAAW,EAAE,KAAK,CAAC;UAC1DM,iBAAiB,CAAC7C,KAAK,GAAG,CAAC;UAC3B,OAAOuC,WAAW;QACpB;QACAW,SAAS,CAAClD,KAAK,GAAGK,SAAS,CAACY,MAAM;QAClCgC,iBAAiB,CAACjD,KAAK,GAAGnB,UAAU,CAClC,CAAC,EACD;UACE4B,QAAQ,EAAEmD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEzD,SAAS,CAACI,QAAQ,CAAC;UACzCgE,MAAM,EAAEjG,MAAM,CAACqG,MAAM;UACrBd;QACF,CAAC,EACDK,UACF,CAAC;MACH;MACA,OAAO7B,WAAW;IACpB,CAAC;IAED,MAAMuC,UAAU,GAAGA,CACjBvC,WAAW,GAAG,CAAC,EACfwC,QAA8B,GAAG,SAAS,KACf;MAC3B,SAAS;;MACT,IAAIxC,WAAW,KAAK,CAAC,IAAIA,WAAW,KAAKM,iBAAiB,CAAC7C,KAAK,EAAE;QAChE,OAAOqB,YAAY,CAACrB,KAAK;MAC3B;MACAzB,yBAAyB,CAAC0E,iBAAiB,CAAC;MAC5CJ,iBAAiB,CAAC7C,KAAK,GAAG,CAAC;MAC3B,IAAI+E,QAAQ,KAAK,QAAQ,EAAE1D,YAAY,CAACrB,KAAK,GAAG+C,YAAY,CAAC/C,KAAK;MAClE,OAAOqB,YAAY,CAACrB,KAAK;IAC3B,CAAC;IAED,MAAMgF,cAAc,GAAGA,CACrBlD,CAAS,EACTC,CAAS,EACTC,KAAa,EACbC,MAAc,EACdC,MAAc,EACdC,iBAAyB,EACzBC,iBAAyB,KAChB;MACT,SAAS;;MACT6B,OAAO,CAAC;QACNpC,IAAI,EAAE;UAAEC,CAAC;UAAEC,CAAC;UAAEC,KAAK;UAAEC,MAAM;UAAEC;QAAO,CAAC;QACrCC,iBAAiB;QACjBC;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAM6C,MAAwB,GAAG;MAC/BC,IAAI,EAAE,QAAQ;MACd7D,YAAY;MACZ;MACA;MACA;MACA8D,EAAE,EAAE;QACFC,gBAAgB,EAAEpB,SAAS;QAC3BqB,GAAG,EAAEpB,OAAO;QACZqB,UAAU,EAAEN,cAAc;QAC1BO,SAAS,EAAEpB,WAAW;QACtBqB,MAAM,EAAEV;MACV,CAAC;MACDW,KAAK,EAAE;QACLL,gBAAgBA,CAAA,EAAG;UACjB,MAAM;YAAEM,SAAS;YAAEC;UAAQ,CAAC,GAC1B/F,kBAAkB,CAAyB0C,QAAQ,CAAC;UACtDvD,YAAY,CAAC,MAAM;YACjB,SAAS;;YACT,MAAM6G,MAAM,GAAG5B,SAAS,CAAC,CAAC;YAC1BlF,YAAY,CAACgB,mBAAmB,EAAEwC,QAAQ,EAAEoD,SAAS,EAAEE,MAAM,CAAC;UAChE,CAAC,CAAC;UACF,OAAOD,OAAO;QAChB,CAAC;QACDN,GAAGA,CAACnB,IAAI,EAAE;UACR,MAAM;YAAEwB,SAAS;YAAEC;UAAQ,CAAC,GAAG/F,kBAAkB,CAAO0C,QAAQ,CAAC;UACjEvD,YAAY,CAAC,MAAM;YACjB,SAAS;;YACTkF,OAAO,CAACC,IAAI,CAAC;YACbpF,YAAY,CAACgB,mBAAmB,EAAEwC,QAAQ,EAAEoD,SAAS,EAAEG,SAAS,CAAC;UACnE,CAAC,CAAC;UACF,OAAOF,OAAO;QAChB,CAAC;QACDJ,SAASA,CAACrB,IAAI,EAAE7D,SAAS,EAAE;UACzB,MAAM;YAAEqF,SAAS;YAAEC;UAAQ,CAAC,GAAG/F,kBAAkB,CAC/C0C,QAAQ,EACR,IACF,CAAC;UACDvD,YAAY,CAAC,MAAM;YACjB,SAAS;;YACT,MAAM6G,MAAM,GAAGzB,WAAW,CAACD,IAAI,EAAE7D,SAAS,CAAC;YAC3CvB,YAAY,CACVgB,mBAAmB,EACnBwC,QAAQ,EACRoD,SAAS,EACTE,MAAM,EACN,IACF,CAAC;UACH,CAAC,CAAC;UACF,OAAOD,OAAO;QAChB,CAAC;QACDH,MAAMA,CAACjD,WAAW,GAAG,CAAC,EAAEwC,QAAQ,GAAG,SAAS,EAAE;UAC5C,MAAM;YAAEW,SAAS;YAAEC;UAAQ,CAAC,GAC1B/F,kBAAkB,CAAyB0C,QAAQ,EAAE,IAAI,CAAC;UAC5DvD,YAAY,CAAC,MAAM;YACjB,SAAS;;YACT,MAAM6G,MAAM,GAAGd,UAAU,CAACvC,WAAW,EAAEwC,QAAQ,CAAC;YAChDjG,YAAY,CACVgB,mBAAmB,EACnBwC,QAAQ,EACRoD,SAAS,EACTE,MAAM,EACN,IACF,CAAC;UACH,CAAC,CAAC;UACF,OAAOD,OAAO;QAChB;MACF;IACF,CAAC;IACDpG,cAAc,CACZ0F,MAAM,EACN/F,iBAAiB,CACfoD,QAAQ,EACRM,mBAAmB,EACnBvB,YAAY,EACZ8B,WAAW,EACXN,iBACF,CACF,CAAC;IACDQ,SAAS,CAACC,OAAO,GAAG2B,MAAM;EAC5B;EAEA,MAAMA,MAAM,GAAG5B,SAAS,CAACC,OAAO;EAChClF,SAAS,CAAC,MAAM;IACd,MAAM0H,aAAa,GAAGzC,SAAS,CAACC,OAAO;IACvC,IAAI,CAACwC,aAAa,EAAE,OAAOD,SAAS;IACpC,MAAME,KAAK,GAAGzG,cAAc,CAACwG,aAAa,CAAC;IAC3C;IACA;IACA7G,iBAAiB,CAAC8G,KAAK,CAAC;IACxB,OAAO,MAAM;MACXxH,yBAAyB,CAAC0E,iBAAiB,CAAC;MAC5CpD,oBAAoB,CAACkG,KAAK,CAACzD,QAAQ,CAAC;MACpClD,iBAAiB,CAAC2G,KAAK,CAAC;IAC1B,CAAC;EACH,CAAC,EAAE,CAAC9C,iBAAiB,CAAC,CAAC;EACvB,OAAOgC,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","cancelAnimation","cancelReanimatedAnimation","Easing","ReduceMotion","useAnimatedReaction","useSharedValue","withSpring","withTiming","scheduleOnRN","scheduleOnUI","allocateDriverId","attachDriverState","createDriverState","deliverDriverCompletion","detachDriverState","finishDriverAnimation","getDriverState","setDriverState","snapshotDriverViews","createClipPresentation","clipPresentationEquals","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","toReanimatedReduceMotion","value","Always","Never","System","animationIsFinite","animation","from","undefined","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","previousOffset","frames","length","frame","offset","presentation","interpolatePresentation","to","progress","mix","start","end","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","finishFallback","driverId","animationId","finished","useSmoothClipDriver","initialValue","options","initialPresentation","activeAnimationId","nextAnimationId","latestTarget","animationStart","animationProgress","keyframes","callbackRef","onAnimationComplete","driverRef","current","upperIndex","lower","upper","span","localProgress","Math","min","max","reduceMotion","beginOnUI","setOnUI","next","animateOnUI","onComplete","x1","y1","x2","y2","easing","bezier","configuredVelocity","velocity","linear","cancelOnUI","behavior","setScalarsOnUI","driver","kind","ui","beginInteraction","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state"],"sourceRoot":"../../src","sources":["drivers.ts"],"mappings":"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","ignoreList":[]}