@rootnative/inertia 0.0.7 → 0.0.8

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 (55) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +1 -1
  3. package/dist/chunk-24NUL23E.js +8 -0
  4. package/dist/chunk-4XBX7KOD.js +8 -0
  5. package/dist/{chunk-OBRGJAST.js → chunk-6AN5X3YE.js} +3 -3
  6. package/dist/{chunk-WGCF3WQG.js → chunk-6NOCY764.js} +2 -2
  7. package/dist/{chunk-KBFN4TRO.mjs → chunk-6YIUETBF.mjs} +1 -1
  8. package/dist/{chunk-6V7MOBXO.js → chunk-E3ALFSH2.js} +64 -33
  9. package/dist/{chunk-ZOBOKLAS.mjs → chunk-EN4PN7X3.mjs} +1 -1
  10. package/dist/{chunk-RUIOM2YZ.mjs → chunk-GSUC4HWP.mjs} +1 -1
  11. package/dist/{chunk-QJYFTTM2.js → chunk-IHVMNOS4.js} +2 -2
  12. package/dist/{chunk-HPJMIBBK.mjs → chunk-IX6SEOSK.mjs} +41 -12
  13. package/dist/{chunk-52QSN2VQ.mjs → chunk-JBK5ZLMH.mjs} +1 -1
  14. package/dist/{chunk-OW5XTGVN.mjs → chunk-L4JFECXU.mjs} +2 -2
  15. package/dist/{chunk-VSK2E35J.mjs → chunk-M4766VUV.mjs} +1 -1
  16. package/dist/{chunk-Z3HCJ43H.mjs → chunk-MFAFB4K7.mjs} +1 -1
  17. package/dist/{chunk-4NAMD62I.js → chunk-MUT6BTZS.js} +7 -7
  18. package/dist/{chunk-WMLS4TMX.mjs → chunk-QNLSCOR5.mjs} +1 -1
  19. package/dist/{chunk-REYL77RE.mjs → chunk-W7NTRSPD.mjs} +17 -10
  20. package/dist/{chunk-PM6CVGXJ.js → chunk-WNVHPMBI.js} +16 -8
  21. package/dist/chunk-Z5USXWTE.js +8 -0
  22. package/dist/{chunk-QYR66E2G.js → chunk-ZBHQPVWE.js} +2 -2
  23. package/dist/gestureLayer/index.js +10 -10
  24. package/dist/gestureLayer/index.mjs +3 -3
  25. package/dist/index.d.mts +73 -2
  26. package/dist/index.d.ts +73 -2
  27. package/dist/index.js +64 -52
  28. package/dist/index.mjs +19 -19
  29. package/dist/motion/FlatList.js +5 -5
  30. package/dist/motion/FlatList.mjs +4 -4
  31. package/dist/motion/Image.js +5 -5
  32. package/dist/motion/Image.mjs +4 -4
  33. package/dist/motion/Pressable.js +5 -5
  34. package/dist/motion/Pressable.mjs +4 -4
  35. package/dist/motion/ScrollView.js +5 -5
  36. package/dist/motion/ScrollView.mjs +4 -4
  37. package/dist/motion/Text.js +5 -5
  38. package/dist/motion/Text.mjs +4 -4
  39. package/dist/motion/View.js +5 -5
  40. package/dist/motion/View.mjs +4 -4
  41. package/dist/touch/index.js +3 -3
  42. package/dist/touch/index.mjs +1 -1
  43. package/llms.txt +18 -1
  44. package/package.json +1 -1
  45. package/src/index.ts +4 -0
  46. package/src/motion/createMotionComponent.tsx +45 -10
  47. package/src/stagger/Stagger.tsx +75 -0
  48. package/src/stagger/StaggerContext.ts +25 -0
  49. package/src/stagger/index.ts +2 -0
  50. package/src/transitions/index.ts +6 -1
  51. package/src/transitions/resolve.ts +7 -1
  52. package/src/transitions/runtime.ts +22 -7
  53. package/dist/chunk-NPJ46457.js +0 -8
  54. package/dist/chunk-YUTS6JRU.js +0 -8
  55. package/dist/chunk-ZSOCRHU3.js +0 -8
@@ -212,26 +212,33 @@ function bezier(x1, y1, x2, y2, source) {
212
212
  return reactNativeReanimated.Easing.bezier(x1, y1, x2, y2);
213
213
  }
214
214
  var DEFAULT_TIMING_DURATION2 = 250;
215
- function buildReleaseAnimation(transition, toValue) {
215
+ function buildReleaseAnimation(transition, toValue, callback) {
216
216
  "worklet";
217
- if (transition.type === "no-animation") return toValue;
217
+ if (transition.type === "no-animation") {
218
+ if (callback) callback(true, toValue);
219
+ return toValue;
220
+ }
218
221
  if (transition.type === "decay") {
219
222
  const cfg = { velocity: transition.velocity ?? 0 };
220
223
  if (transition.deceleration !== void 0) {
221
224
  cfg.deceleration = transition.deceleration;
222
225
  }
223
226
  if (transition.clamp !== void 0) cfg.clamp = transition.clamp;
224
- return reactNativeReanimated.withDecay(cfg);
227
+ return reactNativeReanimated.withDecay(cfg, callback);
225
228
  }
226
229
  if (transition.type === "timing") {
227
230
  const e = transition.easing;
228
231
  const easingFn = e && typeof e === "object" && "factory" in e ? e.factory() : e ?? reactNativeReanimated.Easing.inOut(reactNativeReanimated.Easing.ease);
229
- return reactNativeReanimated.withTiming(toValue, {
230
- duration: transition.duration ?? DEFAULT_TIMING_DURATION2,
231
- easing: easingFn
232
- });
232
+ return reactNativeReanimated.withTiming(
233
+ toValue,
234
+ {
235
+ duration: transition.duration ?? DEFAULT_TIMING_DURATION2,
236
+ easing: easingFn
237
+ },
238
+ callback
239
+ );
233
240
  }
234
- return reactNativeReanimated.withSpring(toValue, springToReanimated(transition));
241
+ return reactNativeReanimated.withSpring(toValue, springToReanimated(transition), callback);
235
242
  }
236
243
 
237
244
  // src/transitions/keys.ts
@@ -280,6 +287,7 @@ function stableStringify(v) {
280
287
  }
281
288
 
282
289
  exports.DEFAULT_SPRING = DEFAULT_SPRING;
290
+ exports.applyDelay = applyDelay;
283
291
  exports.buildReleaseAnimation = buildReleaseAnimation;
284
292
  exports.cubicBezier = cubicBezier;
285
293
  exports.ensureWorkletEasing = ensureWorkletEasing;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var chunkE3ALFSH2_js = require('./chunk-E3ALFSH2.js');
4
+ var reactNative = require('react-native');
5
+
6
+ var MotionImage = chunkE3ALFSH2_js.createMotionComponent(reactNative.Image);
7
+
8
+ exports.MotionImage = MotionImage;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk6V7MOBXO_js = require('./chunk-6V7MOBXO.js');
3
+ var chunkE3ALFSH2_js = require('./chunk-E3ALFSH2.js');
4
4
  var reactNative = require('react-native');
5
5
 
6
- var MotionScrollView = chunk6V7MOBXO_js.createMotionComponent(reactNative.ScrollView);
6
+ var MotionScrollView = chunkE3ALFSH2_js.createMotionComponent(reactNative.ScrollView);
7
7
 
8
8
  exports.MotionScrollView = MotionScrollView;
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
- var chunk4NAMD62I_js = require('../chunk-4NAMD62I.js');
4
- var chunkOBRGJAST_js = require('../chunk-OBRGJAST.js');
5
- var chunkPM6CVGXJ_js = require('../chunk-PM6CVGXJ.js');
3
+ var chunkMUT6BTZS_js = require('../chunk-MUT6BTZS.js');
4
+ var chunk6AN5X3YE_js = require('../chunk-6AN5X3YE.js');
5
+ var chunkWNVHPMBI_js = require('../chunk-WNVHPMBI.js');
6
6
  var react = require('react');
7
7
  var reactNativeReanimated = require('react-native-reanimated');
8
8
 
9
9
  function useGestureLayer(states, options = {}) {
10
10
  const { disabled: isDisabled = false, transition: transitionInput } = options;
11
- const shouldReduceMotion = chunkOBRGJAST_js.useShouldReduceMotion();
12
- const transition = chunkOBRGJAST_js.resolveNamedTransitionProp(
11
+ const shouldReduceMotion = chunk6AN5X3YE_js.useShouldReduceMotion();
12
+ const transition = chunk6AN5X3YE_js.resolveNamedTransitionProp(
13
13
  transitionInput,
14
- chunkOBRGJAST_js.useNamedTransitions()
14
+ chunk6AN5X3YE_js.useNamedTransitions()
15
15
  );
16
- const gesture = chunk4NAMD62I_js.useGesture(transition);
16
+ const gesture = chunkMUT6BTZS_js.useGesture(transition);
17
17
  const disabledProgress = reactNativeReanimated.useSharedValue(0);
18
- const transitionSig = chunkPM6CVGXJ_js.stableSig(transition);
18
+ const transitionSig = chunkWNVHPMBI_js.stableSig(transition);
19
19
  react.useEffect(() => {
20
20
  const target = isDisabled ? 1 : 0;
21
21
  const cfg = shouldReduceMotion ? { type: "no-animation" } : disabledTransition(transition) ?? { type: "spring" };
22
- disabledProgress.value = chunkPM6CVGXJ_js.resolveTransition(cfg, target);
22
+ disabledProgress.value = chunkWNVHPMBI_js.resolveTransition(cfg, target);
23
23
  }, [isDisabled, shouldReduceMotion, transitionSig, disabledProgress]);
24
24
  const meta = react.useMemo(() => {
25
25
  const layers = {
@@ -154,7 +154,7 @@ function useGestureLayer(states, options = {}) {
154
154
  }
155
155
  function disabledTransition(transition) {
156
156
  if (!transition) return void 0;
157
- if (chunkPM6CVGXJ_js.isTopLevelTransition(transition)) return transition;
157
+ if (chunkWNVHPMBI_js.isTopLevelTransition(transition)) return transition;
158
158
  return void 0;
159
159
  }
160
160
 
@@ -1,6 +1,6 @@
1
- import { useGesture } from '../chunk-OW5XTGVN.mjs';
2
- import { useShouldReduceMotion, resolveNamedTransitionProp, useNamedTransitions } from '../chunk-Z3HCJ43H.mjs';
3
- import { stableSig, resolveTransition, isTopLevelTransition } from '../chunk-REYL77RE.mjs';
1
+ import { useGesture } from '../chunk-L4JFECXU.mjs';
2
+ import { useShouldReduceMotion, resolveNamedTransitionProp, useNamedTransitions } from '../chunk-MFAFB4K7.mjs';
3
+ import { stableSig, resolveTransition, isTopLevelTransition } from '../chunk-W7NTRSPD.mjs';
4
4
  import { useEffect, useMemo } from 'react';
5
5
  import { useSharedValue, useAnimatedStyle, interpolateColor } from 'react-native-reanimated';
6
6
 
package/dist/index.d.mts CHANGED
@@ -174,6 +174,64 @@ interface PresenceContextValue {
174
174
  */
175
175
  declare function usePresence(): PresenceContextValue | null;
176
176
 
177
+ interface StaggerProps {
178
+ children?: ReactNode;
179
+ /**
180
+ * Milliseconds between consecutive children. Child `i` (in render order)
181
+ * receives a delay of `delay + i * interval`.
182
+ */
183
+ interval: number;
184
+ /**
185
+ * Base delay in milliseconds applied to every child before the interval,
186
+ * so the whole cascade can start late without pushing the spacing into
187
+ * each child. Defaults to `0`.
188
+ */
189
+ delay?: number;
190
+ /**
191
+ * Which end of the child list starts the cascade. `'first'` (default)
192
+ * staggers top-down in render order; `'last'` reverses it, so the final
193
+ * child animates first.
194
+ */
195
+ from?: 'first' | 'last';
196
+ /**
197
+ * Turn the stagger on or off in one place. When `false`, every child gets
198
+ * a delay of `0` — the single-switch escape hatch for "cascade in, but
199
+ * not back out": pass `enabled={revealed}` and the hide direction snaps
200
+ * together. Defaults to `true`.
201
+ */
202
+ enabled?: boolean;
203
+ }
204
+ /**
205
+ * Assign each child a stagger delay from its position, so a list entrance
206
+ * cascades without every child computing `index * ms` itself.
207
+ *
208
+ * The parent owns the timing: reordering, filtering, or reversing the list
209
+ * re-derives every delay from the new render order, and `enabled` turns the
210
+ * whole cascade off in one place. Each child slot gets its own provider, so
211
+ * a `Motion.*` primitive anywhere inside child `i`'s subtree inherits child
212
+ * `i`'s delay.
213
+ *
214
+ * The delay applies to the declarative animations of the `Motion.*`
215
+ * primitives underneath — the mount animation (`initial` → `animate`) and
216
+ * any later `animate` change. It deliberately does not delay `gesture`
217
+ * feedback, `<Presence>` exits, or reduced-motion snaps.
218
+ *
219
+ * `<Stagger>` renders no host view — only per-child context providers.
220
+ */
221
+ declare function Stagger({ children, interval, delay, from, enabled, }: StaggerProps): react.JSX.Element;
222
+
223
+ /**
224
+ * The stagger delay (in milliseconds) assigned to this element's child slot
225
+ * by the nearest `<Stagger>` ancestor. `0` when there is none, when the
226
+ * stagger is disabled, or for the first child of a zero-`delay` stagger.
227
+ *
228
+ * The `Motion.*` primitives consume this automatically. Custom animated
229
+ * components built on `resolveTransition` / `resolveAnimatableValue` call
230
+ * this hook and add the returned value to their animation delay so they
231
+ * participate in a `<Stagger>` the same way the built-in primitives do.
232
+ */
233
+ declare function useStaggerDelay(): number;
234
+
177
235
  /**
178
236
  * UI-thread callback Reanimated invokes when an animation settles. Must be a
179
237
  * worklet — callers either author one with `'worklet'` or build one via
@@ -187,6 +245,13 @@ type AnimationCallback = (finished?: boolean, current?: number | string) => void
187
245
  * `withDecay` call.
188
246
  */
189
247
  type CallbackFactory = (phase: 'step' | 'animation', step: number | undefined) => AnimationCallback | undefined;
248
+ /**
249
+ * Wrap an animation in `withDelay`. A missing / zero / negative delay is a
250
+ * pass-through. Exported for the factory's stagger wrap, which must delay a
251
+ * fully-resolved animation exactly once — merging the delay into the base
252
+ * config instead would re-apply it per sequence step.
253
+ */
254
+ declare function applyDelay(animation: unknown, delay: number | undefined): unknown;
190
255
  /**
191
256
  * Build a Reanimated animation for a single property. Runs on the JS thread
192
257
  * once per change and produces a baked `withSpring` / `withTiming` /
@@ -293,8 +358,14 @@ declare function ensureWorkletEasing(easing: EasingInput | undefined): ((t: numb
293
358
  *
294
359
  * For decay transitions, `toValue` is ignored — decay decelerates from the
295
360
  * SV's current position via its own physics. Pass `0` if you don't have one.
361
+ *
362
+ * `callback`, when provided, fires once when the animation settles — the same
363
+ * `(finished) => void` shape Reanimated's `with*` factories accept. It runs on
364
+ * the UI thread, so bridge to JS with `runOnJS(...)` inside it. For
365
+ * `no-animation` the callback fires synchronously with `finished: true`, since
366
+ * a direct assignment has no settle point of its own.
296
367
  */
297
- declare function buildReleaseAnimation(transition: TransitionConfig, toValue: number): unknown;
368
+ declare function buildReleaseAnimation(transition: TransitionConfig, toValue: number, callback?: AnimationCallback): unknown;
298
369
 
299
370
  /**
300
371
  * The one colour spelling Reanimated's animation drivers cannot accept.
@@ -905,4 +976,4 @@ declare function useShadow({ from, to, progress, }: UseShadowOptions): ReturnTyp
905
976
  */
906
977
  declare function useVariants<V extends Readonly<Record<string, object>>>(variants: V, initial?: keyof V & string): VariantController<keyof V & string>;
907
978
 
908
- export { AnimatableValue, type Animator, type BoxShadowLayer, type ColorCascadeLayer, type ColorStyleKey, EasingInput, type ExtrapolationMode, type InterpolatedStyleMap, Motion, MotionComponent, MotionConfig, type MotionConfigProps, type MotionConfigValue, MotionProps, NamedTransitions, type NumericStyleKey, Presence, type PresenceContextValue, type ReducedMotion, type ShadowConfig, SpringTransition, TRANSPARENT, type TransformKey, TransitionConfig, TransitionInput, TransitionName, type UseColorCascadeOptions, type UseColorTransitionOptions, type UseInterpolatedStyleOptions, type UseScrollResult, type UseShadowOptions, type UseTransformOptions, VariantController, VariantsMap, buildReleaseAnimation, createMotionComponent, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveNamedTransition, resolveTransition, useAnimation, useAnimator, useBooleanSpring, useColorCascade, useColorTransition, useInterpolatedStyle, useMotionConfig, useMotionValue, useNamedTransitions, usePresence, useScroll, useShadow, useShouldReduceMotion, useSpring, useTransform, useVariants };
979
+ export { AnimatableValue, type AnimationCallback, type Animator, type BoxShadowLayer, type ColorCascadeLayer, type ColorStyleKey, EasingInput, type ExtrapolationMode, type InterpolatedStyleMap, Motion, MotionComponent, MotionConfig, type MotionConfigProps, type MotionConfigValue, MotionProps, NamedTransitions, type NumericStyleKey, Presence, type PresenceContextValue, type ReducedMotion, type ShadowConfig, SpringTransition, Stagger, type StaggerProps, TRANSPARENT, type TransformKey, TransitionConfig, TransitionInput, TransitionName, type UseColorCascadeOptions, type UseColorTransitionOptions, type UseInterpolatedStyleOptions, type UseScrollResult, type UseShadowOptions, type UseTransformOptions, VariantController, VariantsMap, applyDelay, buildReleaseAnimation, createMotionComponent, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveNamedTransition, resolveTransition, useAnimation, useAnimator, useBooleanSpring, useColorCascade, useColorTransition, useInterpolatedStyle, useMotionConfig, useMotionValue, useNamedTransitions, usePresence, useScroll, useShadow, useShouldReduceMotion, useSpring, useStaggerDelay, useTransform, useVariants };
package/dist/index.d.ts CHANGED
@@ -174,6 +174,64 @@ interface PresenceContextValue {
174
174
  */
175
175
  declare function usePresence(): PresenceContextValue | null;
176
176
 
177
+ interface StaggerProps {
178
+ children?: ReactNode;
179
+ /**
180
+ * Milliseconds between consecutive children. Child `i` (in render order)
181
+ * receives a delay of `delay + i * interval`.
182
+ */
183
+ interval: number;
184
+ /**
185
+ * Base delay in milliseconds applied to every child before the interval,
186
+ * so the whole cascade can start late without pushing the spacing into
187
+ * each child. Defaults to `0`.
188
+ */
189
+ delay?: number;
190
+ /**
191
+ * Which end of the child list starts the cascade. `'first'` (default)
192
+ * staggers top-down in render order; `'last'` reverses it, so the final
193
+ * child animates first.
194
+ */
195
+ from?: 'first' | 'last';
196
+ /**
197
+ * Turn the stagger on or off in one place. When `false`, every child gets
198
+ * a delay of `0` — the single-switch escape hatch for "cascade in, but
199
+ * not back out": pass `enabled={revealed}` and the hide direction snaps
200
+ * together. Defaults to `true`.
201
+ */
202
+ enabled?: boolean;
203
+ }
204
+ /**
205
+ * Assign each child a stagger delay from its position, so a list entrance
206
+ * cascades without every child computing `index * ms` itself.
207
+ *
208
+ * The parent owns the timing: reordering, filtering, or reversing the list
209
+ * re-derives every delay from the new render order, and `enabled` turns the
210
+ * whole cascade off in one place. Each child slot gets its own provider, so
211
+ * a `Motion.*` primitive anywhere inside child `i`'s subtree inherits child
212
+ * `i`'s delay.
213
+ *
214
+ * The delay applies to the declarative animations of the `Motion.*`
215
+ * primitives underneath — the mount animation (`initial` → `animate`) and
216
+ * any later `animate` change. It deliberately does not delay `gesture`
217
+ * feedback, `<Presence>` exits, or reduced-motion snaps.
218
+ *
219
+ * `<Stagger>` renders no host view — only per-child context providers.
220
+ */
221
+ declare function Stagger({ children, interval, delay, from, enabled, }: StaggerProps): react.JSX.Element;
222
+
223
+ /**
224
+ * The stagger delay (in milliseconds) assigned to this element's child slot
225
+ * by the nearest `<Stagger>` ancestor. `0` when there is none, when the
226
+ * stagger is disabled, or for the first child of a zero-`delay` stagger.
227
+ *
228
+ * The `Motion.*` primitives consume this automatically. Custom animated
229
+ * components built on `resolveTransition` / `resolveAnimatableValue` call
230
+ * this hook and add the returned value to their animation delay so they
231
+ * participate in a `<Stagger>` the same way the built-in primitives do.
232
+ */
233
+ declare function useStaggerDelay(): number;
234
+
177
235
  /**
178
236
  * UI-thread callback Reanimated invokes when an animation settles. Must be a
179
237
  * worklet — callers either author one with `'worklet'` or build one via
@@ -187,6 +245,13 @@ type AnimationCallback = (finished?: boolean, current?: number | string) => void
187
245
  * `withDecay` call.
188
246
  */
189
247
  type CallbackFactory = (phase: 'step' | 'animation', step: number | undefined) => AnimationCallback | undefined;
248
+ /**
249
+ * Wrap an animation in `withDelay`. A missing / zero / negative delay is a
250
+ * pass-through. Exported for the factory's stagger wrap, which must delay a
251
+ * fully-resolved animation exactly once — merging the delay into the base
252
+ * config instead would re-apply it per sequence step.
253
+ */
254
+ declare function applyDelay(animation: unknown, delay: number | undefined): unknown;
190
255
  /**
191
256
  * Build a Reanimated animation for a single property. Runs on the JS thread
192
257
  * once per change and produces a baked `withSpring` / `withTiming` /
@@ -293,8 +358,14 @@ declare function ensureWorkletEasing(easing: EasingInput | undefined): ((t: numb
293
358
  *
294
359
  * For decay transitions, `toValue` is ignored — decay decelerates from the
295
360
  * SV's current position via its own physics. Pass `0` if you don't have one.
361
+ *
362
+ * `callback`, when provided, fires once when the animation settles — the same
363
+ * `(finished) => void` shape Reanimated's `with*` factories accept. It runs on
364
+ * the UI thread, so bridge to JS with `runOnJS(...)` inside it. For
365
+ * `no-animation` the callback fires synchronously with `finished: true`, since
366
+ * a direct assignment has no settle point of its own.
296
367
  */
297
- declare function buildReleaseAnimation(transition: TransitionConfig, toValue: number): unknown;
368
+ declare function buildReleaseAnimation(transition: TransitionConfig, toValue: number, callback?: AnimationCallback): unknown;
298
369
 
299
370
  /**
300
371
  * The one colour spelling Reanimated's animation drivers cannot accept.
@@ -905,4 +976,4 @@ declare function useShadow({ from, to, progress, }: UseShadowOptions): ReturnTyp
905
976
  */
906
977
  declare function useVariants<V extends Readonly<Record<string, object>>>(variants: V, initial?: keyof V & string): VariantController<keyof V & string>;
907
978
 
908
- export { AnimatableValue, type Animator, type BoxShadowLayer, type ColorCascadeLayer, type ColorStyleKey, EasingInput, type ExtrapolationMode, type InterpolatedStyleMap, Motion, MotionComponent, MotionConfig, type MotionConfigProps, type MotionConfigValue, MotionProps, NamedTransitions, type NumericStyleKey, Presence, type PresenceContextValue, type ReducedMotion, type ShadowConfig, SpringTransition, TRANSPARENT, type TransformKey, TransitionConfig, TransitionInput, TransitionName, type UseColorCascadeOptions, type UseColorTransitionOptions, type UseInterpolatedStyleOptions, type UseScrollResult, type UseShadowOptions, type UseTransformOptions, VariantController, VariantsMap, buildReleaseAnimation, createMotionComponent, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveNamedTransition, resolveTransition, useAnimation, useAnimator, useBooleanSpring, useColorCascade, useColorTransition, useInterpolatedStyle, useMotionConfig, useMotionValue, useNamedTransitions, usePresence, useScroll, useShadow, useShouldReduceMotion, useSpring, useTransform, useVariants };
979
+ export { AnimatableValue, type AnimationCallback, type Animator, type BoxShadowLayer, type ColorCascadeLayer, type ColorStyleKey, EasingInput, type ExtrapolationMode, type InterpolatedStyleMap, Motion, MotionComponent, MotionConfig, type MotionConfigProps, type MotionConfigValue, MotionProps, NamedTransitions, type NumericStyleKey, Presence, type PresenceContextValue, type ReducedMotion, type ShadowConfig, SpringTransition, Stagger, type StaggerProps, TRANSPARENT, type TransformKey, TransitionConfig, TransitionInput, TransitionName, type UseColorCascadeOptions, type UseColorTransitionOptions, type UseInterpolatedStyleOptions, type UseScrollResult, type UseShadowOptions, type UseTransformOptions, VariantController, VariantsMap, applyDelay, buildReleaseAnimation, createMotionComponent, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveNamedTransition, resolveTransition, useAnimation, useAnimator, useBooleanSpring, useColorCascade, useColorTransition, useInterpolatedStyle, useMotionConfig, useMotionValue, useNamedTransitions, usePresence, useScroll, useShadow, useShouldReduceMotion, useSpring, useStaggerDelay, useTransform, useVariants };
package/dist/index.js CHANGED
@@ -1,36 +1,36 @@
1
1
  'use strict';
2
2
 
3
- var chunk4NAMD62I_js = require('./chunk-4NAMD62I.js');
4
- var chunkNPJ46457_js = require('./chunk-NPJ46457.js');
5
- var chunkZSOCRHU3_js = require('./chunk-ZSOCRHU3.js');
6
- var chunkYUTS6JRU_js = require('./chunk-YUTS6JRU.js');
7
- var chunkWGCF3WQG_js = require('./chunk-WGCF3WQG.js');
8
- var chunkQYR66E2G_js = require('./chunk-QYR66E2G.js');
9
- var chunkQJYFTTM2_js = require('./chunk-QJYFTTM2.js');
10
- var chunk6V7MOBXO_js = require('./chunk-6V7MOBXO.js');
11
- var chunkOBRGJAST_js = require('./chunk-OBRGJAST.js');
12
- var chunkPM6CVGXJ_js = require('./chunk-PM6CVGXJ.js');
3
+ var chunkMUT6BTZS_js = require('./chunk-MUT6BTZS.js');
4
+ var chunk24NUL23E_js = require('./chunk-24NUL23E.js');
5
+ var chunk4XBX7KOD_js = require('./chunk-4XBX7KOD.js');
6
+ var chunkZ5USXWTE_js = require('./chunk-Z5USXWTE.js');
7
+ var chunk6NOCY764_js = require('./chunk-6NOCY764.js');
8
+ var chunkZBHQPVWE_js = require('./chunk-ZBHQPVWE.js');
9
+ var chunkIHVMNOS4_js = require('./chunk-IHVMNOS4.js');
10
+ var chunkE3ALFSH2_js = require('./chunk-E3ALFSH2.js');
11
+ var chunk6AN5X3YE_js = require('./chunk-6AN5X3YE.js');
12
+ var chunkWNVHPMBI_js = require('./chunk-WNVHPMBI.js');
13
13
  var react = require('react');
14
14
  var reactNativeReanimated = require('react-native-reanimated');
15
15
  var reactNativeWorklets = require('react-native-worklets');
16
16
 
17
17
  // src/motion/index.ts
18
18
  var Motion = {
19
- View: chunkNPJ46457_js.MotionView,
20
- Text: chunkZSOCRHU3_js.MotionText,
21
- Image: chunkYUTS6JRU_js.MotionImage,
22
- Pressable: chunkWGCF3WQG_js.MotionPressable,
23
- ScrollView: chunkQYR66E2G_js.MotionScrollView,
24
- FlatList: chunkQJYFTTM2_js.MotionFlatList
19
+ View: chunk24NUL23E_js.MotionView,
20
+ Text: chunk4XBX7KOD_js.MotionText,
21
+ Image: chunkZ5USXWTE_js.MotionImage,
22
+ Pressable: chunk6NOCY764_js.MotionPressable,
23
+ ScrollView: chunkZBHQPVWE_js.MotionScrollView,
24
+ FlatList: chunkIHVMNOS4_js.MotionFlatList
25
25
  };
26
26
  function useAnimation(target, transition) {
27
27
  const output = reactNativeReanimated.useSharedValue(target);
28
- const shouldReduceMotion = chunkOBRGJAST_js.useShouldReduceMotion();
29
- const resolved = chunkOBRGJAST_js.resolveNamedTransition(transition, chunkOBRGJAST_js.useNamedTransitions());
30
- const cfgSig = chunkPM6CVGXJ_js.stableSig(resolved);
28
+ const shouldReduceMotion = chunk6AN5X3YE_js.useShouldReduceMotion();
29
+ const resolved = chunk6AN5X3YE_js.resolveNamedTransition(transition, chunk6AN5X3YE_js.useNamedTransitions());
30
+ const cfgSig = chunkWNVHPMBI_js.stableSig(resolved);
31
31
  react.useEffect(() => {
32
32
  const cfg = shouldReduceMotion ? { type: "no-animation" } : resolved ?? { type: "spring" };
33
- output.value = chunkPM6CVGXJ_js.resolveTransition(cfg, target);
33
+ output.value = chunkWNVHPMBI_js.resolveTransition(cfg, target);
34
34
  }, [target, cfgSig, shouldReduceMotion]);
35
35
  react.useEffect(
36
36
  () => () => reactNativeReanimated.cancelAnimation(output),
@@ -41,22 +41,22 @@ function useAnimation(target, transition) {
41
41
  return output;
42
42
  }
43
43
  function useAnimator() {
44
- const registry = chunkOBRGJAST_js.useNamedTransitions();
45
- const shouldReduceMotion = chunkOBRGJAST_js.useShouldReduceMotion();
44
+ const registry = chunk6AN5X3YE_js.useNamedTransitions();
45
+ const shouldReduceMotion = chunk6AN5X3YE_js.useShouldReduceMotion();
46
46
  const registryRef = react.useRef(registry);
47
47
  registryRef.current = registry;
48
48
  const reduceMotionRef = react.useRef(shouldReduceMotion);
49
49
  reduceMotionRef.current = shouldReduceMotion;
50
50
  return react.useCallback((value, to, transition) => {
51
- const resolved = chunkOBRGJAST_js.resolveNamedTransition(transition, registryRef.current);
51
+ const resolved = chunk6AN5X3YE_js.resolveNamedTransition(transition, registryRef.current);
52
52
  const cfg = reduceMotionRef.current ? { type: "no-animation" } : resolved ?? { type: "spring" };
53
- value.value = chunkPM6CVGXJ_js.resolveTransition(cfg, to);
53
+ value.value = chunkWNVHPMBI_js.resolveTransition(cfg, to);
54
54
  }, []);
55
55
  }
56
56
  function useSpring(target, config) {
57
- const spring = resolveSpringInput(config, chunkOBRGJAST_js.useNamedTransitions());
57
+ const spring = resolveSpringInput(config, chunk6AN5X3YE_js.useNamedTransitions());
58
58
  const reanimConfig = react.useMemo(
59
- () => chunkPM6CVGXJ_js.springToReanimated(spring ?? {}),
59
+ () => chunkWNVHPMBI_js.springToReanimated(spring ?? {}),
60
60
  // Keyed on the resolved primitive fields rather than the `config` object
61
61
  // identity: callers routinely pass a fresh object literal each render, so
62
62
  // depending on `config` itself would rebuild the Reanimated config on
@@ -101,7 +101,7 @@ function useSpring(target, config) {
101
101
  }
102
102
  function resolveSpringInput(config, registry) {
103
103
  if (typeof config !== "string") return config;
104
- const cfg = chunkOBRGJAST_js.lookupNamedTransition(config, registry);
104
+ const cfg = chunk6AN5X3YE_js.lookupNamedTransition(config, registry);
105
105
  if (cfg.type === void 0 || cfg.type === "spring") return cfg;
106
106
  if (__DEV__) {
107
107
  console.warn(
@@ -298,7 +298,7 @@ function useTransform(arg1, inputRange, outputRange, options) {
298
298
  if (reactNativeWorklets.isWorkletFunction(userFn)) {
299
299
  producer = userFn;
300
300
  } else {
301
- chunkPM6CVGXJ_js.warnNonWorkletOnce(
301
+ chunkWNVHPMBI_js.warnNonWorkletOnce(
302
302
  "useTransform-transformer",
303
303
  "[inertia] useTransform: the transformer is not a worklet, so the shared values it reads can't be tracked as dependencies \u2014 the derived value will only refresh on React re-renders, and native builds reject plain functions on the UI thread. Add the 'worklet' directive as the first statement of the transformer."
304
304
  );
@@ -364,9 +364,9 @@ function useShadow({
364
364
  const hasElevation = from.elevation !== void 0 || to.elevation !== void 0;
365
365
  const hasColor = from.shadowColor !== void 0 || to.shadowColor !== void 0;
366
366
  const hasOffset = from.shadowOffset !== void 0 || to.shadowOffset !== void 0;
367
- const boxShadowPairs = from.boxShadow !== void 0 || to.boxShadow !== void 0 ? chunk6V7MOBXO_js.pairBoxShadowLayers(
368
- chunk6V7MOBXO_js.resolveBoxShadowInput(from.boxShadow),
369
- chunk6V7MOBXO_js.resolveBoxShadowInput(to.boxShadow)
367
+ const boxShadowPairs = from.boxShadow !== void 0 || to.boxShadow !== void 0 ? chunkE3ALFSH2_js.pairBoxShadowLayers(
368
+ chunkE3ALFSH2_js.resolveBoxShadowInput(from.boxShadow),
369
+ chunkE3ALFSH2_js.resolveBoxShadowInput(to.boxShadow)
370
370
  ) : [];
371
371
  const opacityFrom = from.shadowOpacity ?? 0;
372
372
  const opacityTo = to.shadowOpacity ?? 0;
@@ -465,87 +465,99 @@ function useVariants(variants, initial) {
465
465
 
466
466
  Object.defineProperty(exports, "useGesture", {
467
467
  enumerable: true,
468
- get: function () { return chunk4NAMD62I_js.useGesture; }
468
+ get: function () { return chunkMUT6BTZS_js.useGesture; }
469
469
  });
470
470
  Object.defineProperty(exports, "MotionView", {
471
471
  enumerable: true,
472
- get: function () { return chunkNPJ46457_js.MotionView; }
472
+ get: function () { return chunk24NUL23E_js.MotionView; }
473
473
  });
474
474
  Object.defineProperty(exports, "MotionText", {
475
475
  enumerable: true,
476
- get: function () { return chunkZSOCRHU3_js.MotionText; }
476
+ get: function () { return chunk4XBX7KOD_js.MotionText; }
477
477
  });
478
478
  Object.defineProperty(exports, "MotionImage", {
479
479
  enumerable: true,
480
- get: function () { return chunkYUTS6JRU_js.MotionImage; }
480
+ get: function () { return chunkZ5USXWTE_js.MotionImage; }
481
481
  });
482
482
  Object.defineProperty(exports, "MotionPressable", {
483
483
  enumerable: true,
484
- get: function () { return chunkWGCF3WQG_js.MotionPressable; }
484
+ get: function () { return chunk6NOCY764_js.MotionPressable; }
485
485
  });
486
486
  Object.defineProperty(exports, "MotionScrollView", {
487
487
  enumerable: true,
488
- get: function () { return chunkQYR66E2G_js.MotionScrollView; }
488
+ get: function () { return chunkZBHQPVWE_js.MotionScrollView; }
489
489
  });
490
490
  Object.defineProperty(exports, "MotionFlatList", {
491
491
  enumerable: true,
492
- get: function () { return chunkQJYFTTM2_js.MotionFlatList; }
492
+ get: function () { return chunkIHVMNOS4_js.MotionFlatList; }
493
493
  });
494
494
  Object.defineProperty(exports, "Presence", {
495
495
  enumerable: true,
496
- get: function () { return chunk6V7MOBXO_js.Presence; }
496
+ get: function () { return chunkE3ALFSH2_js.Presence; }
497
+ });
498
+ Object.defineProperty(exports, "Stagger", {
499
+ enumerable: true,
500
+ get: function () { return chunkE3ALFSH2_js.Stagger; }
497
501
  });
498
502
  Object.defineProperty(exports, "TRANSPARENT", {
499
503
  enumerable: true,
500
- get: function () { return chunk6V7MOBXO_js.TRANSPARENT; }
504
+ get: function () { return chunkE3ALFSH2_js.TRANSPARENT; }
501
505
  });
502
506
  Object.defineProperty(exports, "createMotionComponent", {
503
507
  enumerable: true,
504
- get: function () { return chunk6V7MOBXO_js.createMotionComponent; }
508
+ get: function () { return chunkE3ALFSH2_js.createMotionComponent; }
505
509
  });
506
510
  Object.defineProperty(exports, "usePresence", {
507
511
  enumerable: true,
508
- get: function () { return chunk6V7MOBXO_js.usePresence; }
512
+ get: function () { return chunkE3ALFSH2_js.usePresence; }
513
+ });
514
+ Object.defineProperty(exports, "useStaggerDelay", {
515
+ enumerable: true,
516
+ get: function () { return chunkE3ALFSH2_js.useStaggerDelay; }
509
517
  });
510
518
  Object.defineProperty(exports, "MotionConfig", {
511
519
  enumerable: true,
512
- get: function () { return chunkOBRGJAST_js.MotionConfig; }
520
+ get: function () { return chunk6AN5X3YE_js.MotionConfig; }
513
521
  });
514
522
  Object.defineProperty(exports, "resolveNamedTransition", {
515
523
  enumerable: true,
516
- get: function () { return chunkOBRGJAST_js.resolveNamedTransition; }
524
+ get: function () { return chunk6AN5X3YE_js.resolveNamedTransition; }
517
525
  });
518
526
  Object.defineProperty(exports, "useMotionConfig", {
519
527
  enumerable: true,
520
- get: function () { return chunkOBRGJAST_js.useMotionConfig; }
528
+ get: function () { return chunk6AN5X3YE_js.useMotionConfig; }
521
529
  });
522
530
  Object.defineProperty(exports, "useNamedTransitions", {
523
531
  enumerable: true,
524
- get: function () { return chunkOBRGJAST_js.useNamedTransitions; }
532
+ get: function () { return chunk6AN5X3YE_js.useNamedTransitions; }
525
533
  });
526
534
  Object.defineProperty(exports, "useShouldReduceMotion", {
527
535
  enumerable: true,
528
- get: function () { return chunkOBRGJAST_js.useShouldReduceMotion; }
536
+ get: function () { return chunk6AN5X3YE_js.useShouldReduceMotion; }
537
+ });
538
+ Object.defineProperty(exports, "applyDelay", {
539
+ enumerable: true,
540
+ get: function () { return chunkWNVHPMBI_js.applyDelay; }
529
541
  });
530
542
  Object.defineProperty(exports, "buildReleaseAnimation", {
531
543
  enumerable: true,
532
- get: function () { return chunkPM6CVGXJ_js.buildReleaseAnimation; }
544
+ get: function () { return chunkWNVHPMBI_js.buildReleaseAnimation; }
533
545
  });
534
546
  Object.defineProperty(exports, "cubicBezier", {
535
547
  enumerable: true,
536
- get: function () { return chunkPM6CVGXJ_js.cubicBezier; }
548
+ get: function () { return chunkWNVHPMBI_js.cubicBezier; }
537
549
  });
538
550
  Object.defineProperty(exports, "ensureWorkletEasing", {
539
551
  enumerable: true,
540
- get: function () { return chunkPM6CVGXJ_js.ensureWorkletEasing; }
552
+ get: function () { return chunkWNVHPMBI_js.ensureWorkletEasing; }
541
553
  });
542
554
  Object.defineProperty(exports, "resolveAnimatableValue", {
543
555
  enumerable: true,
544
- get: function () { return chunkPM6CVGXJ_js.resolveAnimatableValue; }
556
+ get: function () { return chunkWNVHPMBI_js.resolveAnimatableValue; }
545
557
  });
546
558
  Object.defineProperty(exports, "resolveTransition", {
547
559
  enumerable: true,
548
- get: function () { return chunkPM6CVGXJ_js.resolveTransition; }
560
+ get: function () { return chunkWNVHPMBI_js.resolveTransition; }
549
561
  });
550
562
  exports.Motion = Motion;
551
563
  exports.useAnimation = useAnimation;
package/dist/index.mjs CHANGED
@@ -1,22 +1,22 @@
1
- export { useGesture } from './chunk-OW5XTGVN.mjs';
2
- import { MotionView } from './chunk-RUIOM2YZ.mjs';
3
- export { MotionView } from './chunk-RUIOM2YZ.mjs';
4
- import { MotionText } from './chunk-WMLS4TMX.mjs';
5
- export { MotionText } from './chunk-WMLS4TMX.mjs';
6
- import { MotionImage } from './chunk-KBFN4TRO.mjs';
7
- export { MotionImage } from './chunk-KBFN4TRO.mjs';
8
- import { MotionPressable } from './chunk-52QSN2VQ.mjs';
9
- export { MotionPressable } from './chunk-52QSN2VQ.mjs';
10
- import { MotionScrollView } from './chunk-VSK2E35J.mjs';
11
- export { MotionScrollView } from './chunk-VSK2E35J.mjs';
12
- import { MotionFlatList } from './chunk-ZOBOKLAS.mjs';
13
- export { MotionFlatList } from './chunk-ZOBOKLAS.mjs';
14
- import { pairBoxShadowLayers, resolveBoxShadowInput } from './chunk-HPJMIBBK.mjs';
15
- export { Presence, TRANSPARENT, createMotionComponent, usePresence } from './chunk-HPJMIBBK.mjs';
16
- import { useShouldReduceMotion, resolveNamedTransition, useNamedTransitions, lookupNamedTransition } from './chunk-Z3HCJ43H.mjs';
17
- export { MotionConfig, resolveNamedTransition, useMotionConfig, useNamedTransitions, useShouldReduceMotion } from './chunk-Z3HCJ43H.mjs';
18
- import { stableSig, resolveTransition, springToReanimated, warnNonWorkletOnce } from './chunk-REYL77RE.mjs';
19
- export { buildReleaseAnimation, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveTransition } from './chunk-REYL77RE.mjs';
1
+ export { useGesture } from './chunk-L4JFECXU.mjs';
2
+ import { MotionView } from './chunk-GSUC4HWP.mjs';
3
+ export { MotionView } from './chunk-GSUC4HWP.mjs';
4
+ import { MotionText } from './chunk-QNLSCOR5.mjs';
5
+ export { MotionText } from './chunk-QNLSCOR5.mjs';
6
+ import { MotionImage } from './chunk-6YIUETBF.mjs';
7
+ export { MotionImage } from './chunk-6YIUETBF.mjs';
8
+ import { MotionPressable } from './chunk-JBK5ZLMH.mjs';
9
+ export { MotionPressable } from './chunk-JBK5ZLMH.mjs';
10
+ import { MotionScrollView } from './chunk-M4766VUV.mjs';
11
+ export { MotionScrollView } from './chunk-M4766VUV.mjs';
12
+ import { MotionFlatList } from './chunk-EN4PN7X3.mjs';
13
+ export { MotionFlatList } from './chunk-EN4PN7X3.mjs';
14
+ import { pairBoxShadowLayers, resolveBoxShadowInput } from './chunk-IX6SEOSK.mjs';
15
+ export { Presence, Stagger, TRANSPARENT, createMotionComponent, usePresence, useStaggerDelay } from './chunk-IX6SEOSK.mjs';
16
+ import { useShouldReduceMotion, resolveNamedTransition, useNamedTransitions, lookupNamedTransition } from './chunk-MFAFB4K7.mjs';
17
+ export { MotionConfig, resolveNamedTransition, useMotionConfig, useNamedTransitions, useShouldReduceMotion } from './chunk-MFAFB4K7.mjs';
18
+ import { stableSig, resolveTransition, springToReanimated, warnNonWorkletOnce } from './chunk-W7NTRSPD.mjs';
19
+ export { applyDelay, buildReleaseAnimation, cubicBezier, ensureWorkletEasing, resolveAnimatableValue, resolveTransition } from './chunk-W7NTRSPD.mjs';
20
20
  import { useEffect, useRef, useCallback, useMemo } from 'react';
21
21
  import { useSharedValue, cancelAnimation, withSpring, useAnimatedReaction, useAnimatedStyle, interpolateColor, interpolate, useDerivedValue, Extrapolation, useAnimatedScrollHandler } from 'react-native-reanimated';
22
22
  import { isWorkletFunction } from 'react-native-worklets';
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkQJYFTTM2_js = require('../chunk-QJYFTTM2.js');
4
- require('../chunk-6V7MOBXO.js');
5
- require('../chunk-OBRGJAST.js');
6
- require('../chunk-PM6CVGXJ.js');
3
+ var chunkIHVMNOS4_js = require('../chunk-IHVMNOS4.js');
4
+ require('../chunk-E3ALFSH2.js');
5
+ require('../chunk-6AN5X3YE.js');
6
+ require('../chunk-WNVHPMBI.js');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "MotionFlatList", {
11
11
  enumerable: true,
12
- get: function () { return chunkQJYFTTM2_js.MotionFlatList; }
12
+ get: function () { return chunkIHVMNOS4_js.MotionFlatList; }
13
13
  });
@@ -1,4 +1,4 @@
1
- export { MotionFlatList } from '../chunk-ZOBOKLAS.mjs';
2
- import '../chunk-HPJMIBBK.mjs';
3
- import '../chunk-Z3HCJ43H.mjs';
4
- import '../chunk-REYL77RE.mjs';
1
+ export { MotionFlatList } from '../chunk-EN4PN7X3.mjs';
2
+ import '../chunk-IX6SEOSK.mjs';
3
+ import '../chunk-MFAFB4K7.mjs';
4
+ import '../chunk-W7NTRSPD.mjs';