@onlynative/inertia 0.0.1-alpha.7 → 0.0.1-alpha.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 (69) hide show
  1. package/README.md +1 -1
  2. package/dist/gestureLayer/index.d.mts +119 -0
  3. package/dist/gestureLayer/index.d.ts +119 -0
  4. package/dist/gestureLayer/index.js +1745 -0
  5. package/dist/gestureLayer/index.js.map +1 -0
  6. package/dist/gestureLayer/index.mjs +1743 -0
  7. package/dist/gestureLayer/index.mjs.map +1 -0
  8. package/dist/index.d.mts +114 -74
  9. package/dist/index.d.ts +114 -74
  10. package/dist/index.js +279 -41
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs +279 -44
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/motion/Image.d.mts +1 -1
  15. package/dist/motion/Image.d.ts +1 -1
  16. package/dist/motion/Image.js +178 -4
  17. package/dist/motion/Image.js.map +1 -1
  18. package/dist/motion/Image.mjs +180 -6
  19. package/dist/motion/Image.mjs.map +1 -1
  20. package/dist/motion/Pressable.d.mts +1 -1
  21. package/dist/motion/Pressable.d.ts +1 -1
  22. package/dist/motion/Pressable.js +178 -4
  23. package/dist/motion/Pressable.js.map +1 -1
  24. package/dist/motion/Pressable.mjs +180 -6
  25. package/dist/motion/Pressable.mjs.map +1 -1
  26. package/dist/motion/ScrollView.d.mts +1 -1
  27. package/dist/motion/ScrollView.d.ts +1 -1
  28. package/dist/motion/ScrollView.js +178 -4
  29. package/dist/motion/ScrollView.js.map +1 -1
  30. package/dist/motion/ScrollView.mjs +180 -6
  31. package/dist/motion/ScrollView.mjs.map +1 -1
  32. package/dist/motion/Text.d.mts +1 -1
  33. package/dist/motion/Text.d.ts +1 -1
  34. package/dist/motion/Text.js +178 -4
  35. package/dist/motion/Text.js.map +1 -1
  36. package/dist/motion/Text.mjs +180 -6
  37. package/dist/motion/Text.mjs.map +1 -1
  38. package/dist/motion/View.d.mts +1 -1
  39. package/dist/motion/View.d.ts +1 -1
  40. package/dist/motion/View.js +178 -4
  41. package/dist/motion/View.js.map +1 -1
  42. package/dist/motion/View.mjs +180 -6
  43. package/dist/motion/View.mjs.map +1 -1
  44. package/dist/touch/index.d.mts +146 -0
  45. package/dist/touch/index.d.ts +146 -0
  46. package/dist/touch/index.js +166 -0
  47. package/dist/touch/index.js.map +1 -0
  48. package/dist/touch/index.mjs +164 -0
  49. package/dist/touch/index.mjs.map +1 -0
  50. package/dist/{types-NmNeJjo1.d.mts → types-BwyvoH2V.d.mts} +24 -4
  51. package/dist/{types-NmNeJjo1.d.ts → types-BwyvoH2V.d.ts} +24 -4
  52. package/dist/useGesture-BPPp9LhV.d.ts +84 -0
  53. package/dist/useGesture-BnBF4OtT.d.mts +84 -0
  54. package/llms.txt +12 -3
  55. package/package.json +15 -1
  56. package/src/gestureLayer/index.ts +21 -0
  57. package/src/gestureLayer/useGestureLayer.ts +285 -0
  58. package/src/index.ts +7 -0
  59. package/src/layout/index.ts +15 -0
  60. package/src/layout/sharedRegistry.ts +108 -0
  61. package/src/layout/useSharedLayout.ts +289 -0
  62. package/src/motion/createMotionComponent.tsx +60 -4
  63. package/src/touch/index.ts +18 -0
  64. package/src/touch/useTouchDrag.ts +289 -0
  65. package/src/types.ts +23 -3
  66. package/src/values/index.ts +11 -0
  67. package/src/values/useBooleanSpring.ts +33 -0
  68. package/src/values/useColorTransition.ts +72 -0
  69. package/src/values/useShadow.ts +116 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/config/MotionConfigContext.ts","../../../../node_modules/react-native-worklets/logger.ts","../../../../node_modules/react-native-worklets/runtimeKind.ts","../../../../node_modules/react-native-worklets/WorkletsError.ts","../../../../node_modules/react-native-worklets/bundleUnpacker.ts","../../../../node_modules/react-native-worklets/callGuard.ts","../../../../node_modules/react-native-worklets/errors.ts","../../../../node_modules/react-native-worklets/PlatformChecker/PlatformChecker.ts","../../../../node_modules/react-native-worklets/PlatformChecker/index.ts","../../../../node_modules/react-native-worklets/runLoop/common/setImmediatePolyfill.ts","../../../../node_modules/react-native-worklets/runLoop/common/setIntervalPolyfill.ts","../../../../node_modules/react-native-worklets/runLoop/uiRuntime/mockedRequestAnimationFrame.ts","../../../../node_modules/react-native-worklets/isSynchronizable.ts","../../../../node_modules/react-native-worklets/serializableMappingCache.ts","../../../../node_modules/react-native-worklets/utils/jsVersion.ts","../../../../node_modules/react-native-worklets/workletFunction.ts","../../../../node_modules/react-native-worklets/WorkletsModule/JSWorklets.ts","../../../../node_modules/react-native-worklets/specs/NativeWorkletsModule.ts","../../../../node_modules/react-native-worklets/specs/index.ts","../../../../node_modules/react-native-worklets/utils/checkCppVersion.ts","../../../../node_modules/react-native-worklets/WorkletsModule/NativeWorklets.ts","../../../../node_modules/react-native-worklets/WorkletsModule/workletsModuleInstance.ts","../../../../node_modules/react-native-worklets/serializable.ts","../../../../node_modules/react-native-worklets/threads.ts","../../../../node_modules/react-native-worklets/runLoop/uiRuntime/requestAnimationFrame.ts","../../../../node_modules/react-native-worklets/runLoop/uiRuntime/setTimeoutPolyfill.ts","../../../../node_modules/react-native-worklets/synchronizableUnpacker.ts","../../../../node_modules/react-native-worklets/initializers.ts","../../../../node_modules/react-native-worklets/workletRuntimeEntry.ts","../../../../node_modules/react-native-worklets/featureFlags/index.ts","../../../../node_modules/react-native-worklets/index.ts","../../src/transitions/easing.ts","../../src/transitions/spring.ts","../../src/transitions/resolve.ts","../../src/transitions/keys.ts","../../src/gestures/focusVisibility.ts","../../src/values/useGesture.ts","../../src/gestureLayer/useGestureLayer.ts"],"names":["PREFIX","formatMessage","message","logger","warn","console","error","RuntimeKind","globalThis","__RUNTIME_KIND","undefined","ReactNative","WorkletsErrorConstructor","prefix","errorInstance","Error","name","registerWorkletsError","WorkletsError","handleCache","WeakMap","bundleValueUnpacker","objectToUnpack","category","remoteFunctionName","workletHash","__workletHash","getWorklet","__closure","__init","value","get","set","remoteFunctionHolder","label","__remoteFunction","_toString","closureVariables","worklet","__DEV__","getWorkletFromMetroRequire","_e","metroRequire","__r","factory","default","callGuardDEV","fn","args","__workletsModuleProxy","stack","jsEngine","reportFatalErrorOnJS","setupCallGuard","__callGuardDEV","_workletStackDetails","Map","registerWorkletStackDetails","hash","stackDetails","getBundleOffset","frame","split","parsedFrame","exec","file","line","col","Number","processStack","workletStackEntries","match","result","forEach","origLine","origCol","map","errorDetails","lineOffset","colOffset","bundleFile","bundleLine","bundleCol","replace","reportFatalRemoteError","force","ErrorUtils","reportFatalError","registerReportFatalRemoteError","__reportFatalRemoteError","IS_JEST","process","env","JEST_WORKER_ID","IS_WEB","Platform","OS","IS_WINDOWS","SHOULD_BE_USE_WEB","RN_IS_JEST","RN_SHOULD_BE_USE_WEB","setupSetImmediate","setImmediatePolyfill","callback","setTimeout","clearImmediatePolyfill","immediateHandle","clearTimeout","setImmediate","clearImmediate","setupSetInterval","intervalHandleToTimeoutHandle","setIntervalPolyfill","delay","intervalHandle","repeatingCallback","timeoutHandle","clearIntervalPolyfill","delete","setInterval","clearInterval","mockedRequestAnimationFrame","performance","now","isSynchronizable","__synchronizableRef","serializableMappingFlag","cache","serializableMappingCache","serializable","serializableRef","bind","jsVersion","isWorkletFunction","createJSWorkletsModule","JSWorklets","requestAnimationFrameImpl","requestAnimationFrame","createSerializable","createSerializableString","createSerializableNumber","createSerializableBoolean","createSerializableBigInt","createSerializableUndefined","createSerializableNull","createSerializableTurboModuleLike","createSerializableObject","createSerializableMap","createSerializableSet","createSerializableImport","createSerializableHostObject","createSerializableArray","createSerializableInitializer","createSerializableFunction","createSerializableWorklet","scheduleOnUI","executeOnUIRuntimeSync","createWorkletRuntime","scheduleOnRuntime","createSynchronizable","synchronizableGetDirty","synchronizableGetBlocking","synchronizableSetBlocking","synchronizableLock","synchronizableUnlock","getStaticFeatureFlag","setDynamicFeatureFlag","TurboModuleRegistry","WorkletsTurboModule","RNWorkletsTurboModule","checkCppVersion","cppVersion","global","_WORKLETS_VERSION_CPP","ok","matchVersion","version1","version2","major1","minor1","major2","minor2","createNativeWorkletsModule","NativeWorklets","constructor","_WORKLETS_VERSION_JS","installTurboModule","shouldPersistRemote","nativeStateSource","from","to","str","num","bool","bigInt","props","proto","obj","shouldRetainRemote","array","keys","values","func","initializer","useDefaultQueue","customQueue","enableEventLoop","workletRuntime","serializableWorklet","synchronizableRef","WorkletsModule","MAGIC_KEY","isHostObject","isPlainJSObject","object","Object","getPrototypeOf","prototype","isTurboModuleLike","getFromCache","cached","INACCESSIBLE_OBJECT","Proxy","_","prop","String","VALID_ARRAY_VIEWS_NAMES","DETECT_CYCLIC_OBJECT_DEPTH_THRESHOLD","processedObjectAtThresholdDepth","createSerializableWeb","createSerializableNative","depth","detectCyclicObject","isObject","isFunction","cloneString","cloneNumber","cloneBoolean","cloneBigInt","cloneUndefined","cloneNull","clonePrimitive","Array","isArray","cloneArray","_WORKLETS_BUNDLE_MODE","__bundleData","cloneImport","cloneRemoteFunction","cloneTurboModuleLike","cloneHostObject","cloneInitializer","__workletContextObjectFactory","cloneContextObject","cloneWorklet","cloneSynchronizable","clonePlainJSObject","Set","cloneSet","cloneMap","RegExp","cloneRegExp","cloneError","ArrayBuffer","cloneArrayBuffer","isView","cloneArrayBufferView","inaccessibleObject","imported","source","require","resolveWeak","cloneObjectProperties","clonedProps","key","element","entries","__initData","clonedElements","clone","freezeObjectInDev","babelVersion","__pluginVersion","getWorkletCode","__stackDetails","workletContextObjectFactory","handle","clonedKeys","clonedValues","push","pattern","flags","buffer","typeName","includes","WORKLET_CODE_THRESHOLD","code","length","substring","isRemoteFunction","descriptor","getOwnPropertyDescriptor","configurable","defineProperty","preventExtensions","makeShareableCloneOnUIRecursiveLEGACY","cloneRecursive","_createSerializableHostObject","_createSerializableArray","_createSerializableSynchronizable","toAdapt","_createSerializable","_createSerializableString","_createSerializableNumber","_createSerializableBoolean","_createSerializableBigInt","_createSerializableUndefined","_createSerializableNull","makeShareableCloneOnUIRecursive","runOnUIQueue","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","queueMicrotask","_microtaskQueueFinalizers","__callMicrotasks","index","finalizer","callMicrotasksOnUIThread","callMicrotasks","runOnUI","enqueueUI","runOnUIWorklet","serializableRunOnUIWorklet","runWorkletOnJS","runOnJS","fun","scheduleOnJS","_scheduleHostFunctionOnJS","_scheduleRemoteFunctionOnJS","runOnUIAsync","Promise","resolve","runOnUIAsyncWorklet","serializableRunOnUIAsyncWorklet","job","flushUIQueue","queue","workletFunction","workletArgs","jobResolve","setupRequestAnimationFrame","nativeRequestAnimationFrame","queuedCallbacks","queuedCallbacksBegin","queuedCallbacksEnd","flushedCallbacks","flushedCallbacksBegin","flushedCallbacksEnd","flushRequested","__flushAnimationFrame","timestamp","__frameTimestamp","cancelAnimationFrame","setupSetTimeout","timeoutHandleToRafHandle","setTimeoutPolyfill","start","rafCallback","rafHandle","clearTimeoutPolyfill","__installUnpacker","serializer","_WORKLET","synchronizableUnpacker","synchronizable","proxy","getDirty","getBlocking","setBlocking","valueOrFunction","newValue","lock","prev","unlock","__synchronizableUnpacker","capturableConsole","getMemorySafeCapturableConsole","consoleCopy","fromEntries","methodName","method","methodWrapper","writable","setupConsole","boundCapturableConsole","assert","debug","log","info","initialized","init","initializeRuntime","initializeRuntimeOnWeb","initializeWorkletRuntime","initializeRNRuntime","installRNBindingsOnUIRuntime","__valueUnpacker","installSynchronizableUnpacker","testWorklet","Refresh","modules","getModules","ReactNativeModuleId","_global","_require","_importDefault","_importAll","module","_exports","_dependencyMap","exports","_target","mod","dependencyMap","hasError","importedAll","importedDefault","isInitialized","publicModule","_log","_getAnimationTimestamp","runtimeBoundCapturableConsole","bundleModeInit","runtimeKind","DynamicFlags","EXAMPLE_DYNAMIC_FLAG","setFlag","_ALWAYS_FALSE","useSharedValue","useMemo"],"mappings":"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","file":"index.mjs","sourcesContent":["import { createContext, useContext } from 'react'\nimport { useReducedMotion } from 'react-native-reanimated'\n\n/**\n * How descendant Motion primitives should treat reduced-motion preferences.\n *\n * - `'user'` (default): defer to the OS accessibility setting via\n * Reanimated's `useReducedMotion()`. This is the only value that respects\n * user choice and is the right default for app-level wrappers.\n * - `'never'`: animate regardless of OS setting. Use sparingly — e.g. for\n * onboarding transitions you've decided are essential.\n * - `'always'`: never animate, regardless of OS setting. Useful for tests\n * and snapshots.\n */\nexport type ReducedMotion = 'user' | 'never' | 'always'\n\nexport interface MotionConfigValue {\n reducedMotion: ReducedMotion\n}\n\n/**\n * Default config used when a Motion primitive is rendered without a\n * `<MotionConfig>` ancestor. `'user'` means respect the OS setting.\n */\nexport const DEFAULT_MOTION_CONFIG: MotionConfigValue = {\n reducedMotion: 'user',\n}\n\nexport const MotionConfigContext = createContext<MotionConfigValue>(\n DEFAULT_MOTION_CONFIG,\n)\n\n/**\n * Read the active `<MotionConfig>` from a descendant. Returns the default\n * (`'user'`) when no provider is present.\n */\nexport function useMotionConfig(): MotionConfigValue {\n return useContext(MotionConfigContext)\n}\n\n/**\n * Resolve the active reduced-motion mode to a boolean. `'user'` consults\n * Reanimated's OS-backed hook; `'always'` / `'never'` shortcut. Motion\n * primitives call this to decide whether to swap transitions for\n * `no-animation`.\n */\nexport function useShouldReduceMotion(): boolean {\n const { reducedMotion } = useMotionConfig()\n const osReduced = useReducedMotion()\n if (reducedMotion === 'never') return false\n if (reducedMotion === 'always') return true\n return osReduced\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// `isWorkletFunction` lives in `react-native-worklets` (the Reanimated 4 peer\n// dep); Reanimated's own re-export is deprecated.\nimport { isWorkletFunction } from 'react-native-worklets'\nimport { type EasingInput } from '../types'\n\n/**\n * Reanimated 3.9+ validates that easing functions used in nested-transition\n * contexts (variants, sequences, per-property maps) are worklets, and crashes\n * with `[Reanimated] The easing function is not a worklet` otherwise. The\n * library accepts plain functions on the public surface; this helper wraps\n * them so consumers don't have to think about the worklet boundary.\n *\n * If the input is already a worklet (has been processed by the worklets babel\n * plugin), it's returned as-is. Otherwise it's wrapped in a function whose\n * body declares the `'worklet'` directive — when our source is processed by\n * the consumer's worklets babel plugin (the default Expo/RN setup), the\n * wrapper becomes a real worklet that captures the user fn via closure.\n *\n * Reanimated 4 changed `Easing.bezier(...)` to return an\n * `EasingFunctionFactory` (`{ factory: () => EasingFunction }`) rather than\n * the function itself. The helper accepts both shapes — `EasingFunction` and\n * `EasingFunctionFactory` — and unwraps the factory automatically so\n * consumers don't have to call `.factory()` manually.\n *\n * The user fn must be pure: no JS-thread captured refs, no shared mutable\n * state, no calls to non-worklet APIs.\n */\nexport function ensureWorkletEasing(\n easing: EasingInput | undefined,\n): ((t: number) => number) | undefined {\n if (!easing) return undefined\n // Reanimated 4 `EasingFunctionFactory` — unwrap via `.factory()` before\n // checking worklet status, so the wrapped fn (not the factory wrapper)\n // ends up in the transition config.\n const fn = isEasingFactory(easing) ? easing.factory() : easing\n if (isWorkletFunction(fn)) return fn\n const wrapped = (t: number) => {\n 'worklet'\n return fn(t)\n }\n return wrapped\n}\n\nfunction isEasingFactory(\n value: EasingInput,\n): value is { factory: () => (t: number) => number } {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'factory' in value &&\n typeof (value as { factory: unknown }).factory === 'function'\n )\n}\n","import { type SpringTransition } from '../types'\n\n/**\n * Default spring physics, expressed in react-spring vocabulary.\n *\n * `tension: 170` / `friction: 26` / `mass: 1` was picked over Reanimated's\n * raw `stiffness: 100` / `damping: 10` default because the raw default\n * overshoots noticeably for the small (~100px) translates that dominate\n * UI work — buttons, sheets, popovers. These numbers settle in ~350ms with\n * a single, almost-imperceptible overshoot, which matches the perceptual\n * target the rest of the library is tuned against.\n */\nexport const DEFAULT_SPRING: Required<\n Pick<SpringTransition, 'tension' | 'friction' | 'mass'>\n> = {\n tension: 170,\n friction: 26,\n mass: 1,\n}\n\n/**\n * Convert public react-spring vocabulary (`tension` / `friction` / `mass`)\n * to Reanimated's raw `stiffness` / `damping` / `mass`. This is the single\n * place the mapping lives; resolvers, value hooks, and any future surface\n * that needs a Reanimated spring config import from here.\n *\n * The mapping is identity (tension ≡ stiffness, friction ≡ damping) — the\n * names differ but the underlying physics constants are the same. We don't\n * surface the raw names publicly because the react-spring vocabulary is\n * what designers and prior-art consumers expect.\n */\nexport function springToReanimated(t: SpringTransition) {\n 'worklet'\n return {\n stiffness: t.tension ?? DEFAULT_SPRING.tension,\n damping: t.friction ?? DEFAULT_SPRING.friction,\n mass: t.mass ?? DEFAULT_SPRING.mass,\n velocity: t.velocity,\n restSpeedThreshold: t.restSpeedThreshold,\n restDisplacementThreshold: t.restDisplacementThreshold,\n }\n}\n","import {\n Easing,\n withDecay,\n withDelay,\n withRepeat,\n withSequence,\n withSpring,\n withTiming,\n} from 'react-native-reanimated'\nimport { ensureWorkletEasing } from './easing'\nimport { springToReanimated } from './spring'\nimport {\n type AnimatableValue,\n type DecayTransition,\n type RepeatConfig,\n type SequenceStep,\n type SpringTransition,\n type TimingTransition,\n type TransitionConfig,\n} from '../types'\n\n/**\n * UI-thread callback Reanimated invokes when an animation settles. Must be a\n * worklet — callers either author one with `'worklet'` or build one via\n * `runOnJS(...)` to bridge to JS-thread code.\n */\nexport type AnimationCallback = (\n finished?: boolean,\n current?: number | string,\n) => void\n\n/**\n * Per-step callback factory. Resolvers call this with the step's phase and\n * sequence index (or `undefined` for non-sequence animations) and attach the\n * resulting callback to the underlying `withSpring` / `withTiming` /\n * `withDecay` call.\n */\nexport type CallbackFactory = (\n phase: 'step' | 'animation',\n step: number | undefined,\n) => AnimationCallback | undefined\n\nconst DEFAULT_TIMING_DURATION = 250\n\nfunction buildSpring(\n cfg: SpringTransition,\n toValue: number | string,\n cb?: AnimationCallback,\n) {\n return withSpring(toValue as number, springToReanimated(cfg), cb as never)\n}\n\nfunction buildTiming(\n cfg: TimingTransition,\n toValue: number | string,\n cb?: AnimationCallback,\n) {\n return withTiming(\n toValue as number,\n {\n duration: cfg.duration ?? DEFAULT_TIMING_DURATION,\n easing: ensureWorkletEasing(cfg.easing) ?? Easing.inOut(Easing.ease),\n },\n cb as never,\n )\n}\n\nfunction buildDecay(cfg: DecayTransition, cb?: AnimationCallback) {\n return withDecay(\n {\n velocity: cfg.velocity ?? 0,\n deceleration: cfg.deceleration,\n clamp: cfg.clamp,\n },\n cb as never,\n )\n}\n\n/**\n * Build a single-step animation (no repeat / no delay / no sequence) for a\n * given config + target. Pulled out so sequence steps can compose without\n * recursing into repeat/delay handling per step. The callback is forwarded\n * to Reanimated; for `no-animation` the callback is fired synchronously\n * since there's nothing to wait for.\n */\nfunction buildOne(\n cfg: TransitionConfig,\n toValue: number | string,\n cb?: AnimationCallback,\n): unknown {\n if (cfg.type === 'no-animation') {\n if (cb) cb(true, toValue)\n return toValue\n }\n if (cfg.type === 'decay') return buildDecay(cfg, cb)\n if (cfg.type === 'timing') return buildTiming(cfg, toValue, cb)\n return buildSpring(cfg as SpringTransition, toValue, cb)\n}\n\n/**\n * Wrap an animation in `withRepeat` per the unified `repeat` shape:\n * - `number` → finite count, alternating direction\n * - `'infinite'` → endless, alternating direction\n * - `{ count, alternate }`→ explicit; `alternate` defaults to `true`\n */\nfunction applyRepeat(animation: unknown, repeat: RepeatConfig | undefined) {\n if (repeat === undefined) return animation\n if (repeat === 'infinite') {\n return withRepeat(animation as never, -1, true)\n }\n if (typeof repeat === 'number') {\n return withRepeat(animation as never, repeat, true)\n }\n const count = repeat.count === 'infinite' ? -1 : repeat.count\n const alternate = repeat.alternate ?? true\n return withRepeat(animation as never, count, alternate)\n}\n\nfunction applyDelay(animation: unknown, delay: number | undefined) {\n if (!delay || delay <= 0) return animation\n return withDelay(delay, animation as never)\n}\n\n/**\n * Build a Reanimated animation for a single property. Runs on the JS thread\n * once per change and produces a baked `withSpring` / `withTiming` /\n * `withDecay` (optionally wrapped in `withDelay` / `withRepeat`) call. The\n * worklet body only consumes the result.\n *\n * `callback`, when provided, fires once when the underlying single-shot\n * animation settles. Repeat-wrapped animations forward the callback to\n * `withRepeat`, so it fires once per iteration as Reanimated does.\n */\nexport function resolveTransition(\n config: TransitionConfig | undefined,\n toValue: number | string,\n callback?: AnimationCallback,\n): unknown {\n const cfg = config ?? ({ type: 'spring' } as SpringTransition)\n const base = buildOne(cfg, toValue, callback)\n const repeated = applyRepeat(base, repeatOf(cfg))\n return applyDelay(repeated, delayOf(cfg))\n}\n\nfunction repeatOf(cfg: TransitionConfig): RepeatConfig | undefined {\n if (cfg.type === 'no-animation' || cfg.type === 'decay') return undefined\n return cfg.repeat\n}\n\n/**\n * Return `cfg` minus its `repeat` field. Used when peeling top-level repeat\n * off a base transition before passing it down to per-sequence-step\n * resolution — the sequence as a whole is what should repeat, not each step.\n */\nfunction stripRepeat(\n cfg: TransitionConfig | undefined,\n): TransitionConfig | undefined {\n if (!cfg) return cfg\n if (cfg.type === 'no-animation' || cfg.type === 'decay') return cfg\n if (cfg.repeat === undefined) return cfg\n const next = { ...cfg }\n delete next.repeat\n return next\n}\n\nfunction delayOf(cfg: TransitionConfig): number | undefined {\n if (cfg.type === 'no-animation') return undefined\n return cfg.delay\n}\n\n/**\n * True when the value is a `{ to, ...transitionOverride }` sequence step.\n * Plain numbers and plain transition objects fail this check.\n */\nfunction isStepObject<V>(\n v: SequenceStep<V> | V,\n): v is Extract<SequenceStep<V>, { to: V }> {\n return (\n typeof v === 'object' &&\n v !== null &&\n !Array.isArray(v) &&\n 'to' in (v as object)\n )\n}\n\n/**\n * Resolve a per-property `animate` value into a Reanimated animation.\n *\n * Handles the three shapes of `AnimatableValue`:\n * 1. plain value → single `resolveTransition` call\n * 2. `{ to, ...over }` → single step with the override merged into `base`\n * 3. array of either → `withSequence` of resolved steps, with the\n * top-level `repeat` applied at the **sequence level** (not per step).\n * Per-step `repeat` overrides remain step-local.\n */\nexport function resolveAnimatableValue<V extends number | string>(\n value: AnimatableValue<V>,\n base: TransitionConfig | undefined,\n factory?: CallbackFactory,\n): unknown {\n if (Array.isArray(value)) {\n const steps = value as ReadonlyArray<SequenceStep<V>>\n const stepBase = stripRepeat(base)\n const animations = steps.map((step, i) =>\n resolveStep(step, stepBase, factory?.('step', i)),\n )\n const seq = withSequence(...(animations as never[]))\n return applyRepeat(seq, base ? repeatOf(base) : undefined)\n }\n const step = value as SequenceStep<V>\n const cb = factory?.('animation', undefined)\n if (isStepObject<V>(step)) {\n return resolveStep(step, base, cb)\n }\n return resolveTransition(base, step as V, cb)\n}\n\nfunction resolveStep<V extends number | string>(\n step: SequenceStep<V>,\n base: TransitionConfig | undefined,\n cb?: AnimationCallback,\n): unknown {\n if (isStepObject<V>(step)) {\n const { to, ...override } = step as { to: V } & Partial<TransitionConfig>\n const merged = mergeTransition(base, override as Partial<TransitionConfig>)\n return resolveTransition(merged, to, cb)\n }\n return resolveTransition(base, step as V, cb)\n}\n\nfunction mergeTransition(\n base: TransitionConfig | undefined,\n override: Partial<TransitionConfig>,\n): TransitionConfig {\n // If the override declares a `type`, it wins outright — mixing fields from\n // a spring base into a timing override produces garbage. Otherwise inherit\n // the base's type and shallow-merge the rest.\n if (override.type && base && override.type !== base.type) {\n return override as TransitionConfig\n }\n return { ...(base ?? { type: 'spring' }), ...override } as TransitionConfig\n}\n","import { type TransitionConfig } from '../types'\n\n/**\n * Field names that may appear on a `TransitionConfig` (spring / timing /\n * decay / no-animation). Used as a structural discriminator: if every key on\n * an object is in this set, the object is treated as a top-level transition;\n * otherwise it's a per-property / per-layer transition map.\n *\n * Adding a new field to `TransitionConfig` requires adding the name here.\n */\nexport const TRANSITION_CONFIG_KEYS = new Set([\n 'type',\n 'tension',\n 'friction',\n 'mass',\n 'velocity',\n 'restSpeedThreshold',\n 'restDisplacementThreshold',\n 'duration',\n 'easing',\n 'delay',\n 'repeat',\n 'deceleration',\n 'clamp',\n])\n\nexport function isTopLevelTransition(t: unknown): t is TransitionConfig {\n if (t === null || typeof t !== 'object') return false\n const keys = Object.keys(t as object)\n if (keys.length === 0) return false\n return keys.every((k) => TRANSITION_CONFIG_KEYS.has(k))\n}\n","import { Platform } from 'react-native'\n\n/**\n * Input-modality tracker for the `focusVisible` gesture sub-state.\n *\n * Implements the W3C `:focus-visible` heuristic: a focus event counts as\n * \"visible\" only when the most recent user input was keyboard-driven. Mouse,\n * pointer, and touch events flip the modality to `'pointer'`; keyboard events\n * flip it back to `'keyboard'`.\n *\n * On native platforms there is no pointer-vs-keyboard distinction — focus\n * arrives via D-pad, screen reader, or hardware keyboard, all of which are\n * keyboard-equivalent — so `isFocusVisible()` is unconditionally `true`.\n *\n * The web listeners attach lazily on first call (capture phase, so they run\n * before the focus event reaches the focused element) and stay installed for\n * the lifetime of the document. They are passive and idle-cheap; the cost is\n * one boolean read per `onFocus` dispatch.\n */\n\ntype InputModality = 'keyboard' | 'pointer'\n\n// Default to `'keyboard'` so a programmatic / autofocus that happens before\n// any user input still draws a focus ring — matches the W3C polyfill default.\nlet modality: InputModality = 'keyboard'\nlet installed = false\n\nfunction setKeyboard() {\n modality = 'keyboard'\n}\n\nfunction setPointer() {\n modality = 'pointer'\n}\n\nfunction ensureInstalled(): void {\n if (installed) return\n if (Platform.OS !== 'web') return\n if (typeof document === 'undefined') return\n document.addEventListener('keydown', setKeyboard, true)\n document.addEventListener('mousedown', setPointer, true)\n document.addEventListener('pointerdown', setPointer, true)\n document.addEventListener('touchstart', setPointer, true)\n installed = true\n}\n\n/**\n * `true` if the next `onFocus` should be treated as \"focus-visible\" (keyboard\n * focus). On native, always `true`. On web, reflects the most recent user\n * input modality.\n */\nexport function isFocusVisible(): boolean {\n if (Platform.OS !== 'web') return true\n ensureInstalled()\n return modality === 'keyboard'\n}\n\n/** @internal — test-only hook to reset module state between cases. */\nexport function __resetFocusVisibilityForTests(next: InputModality): void {\n modality = next\n}\n","import { useCallback, useMemo } from 'react'\nimport { useSharedValue, type SharedValue } from 'react-native-reanimated'\nimport { useShouldReduceMotion } from '../config'\nimport { isFocusVisible } from '../gestures'\nimport { isTopLevelTransition, resolveTransition } from '../transitions'\nimport { type GestureLayerTransitions, type TransitionConfig } from '../types'\n\ntype LayerName = 'pressed' | 'focused' | 'focusVisible' | 'hovered'\n\n/**\n * Handler bag returned by `useGesture`. Spread on a `Pressable` to drive the\n * shared values returned alongside.\n *\n * Hover handlers use `Pressable`'s own `onHoverIn` / `onHoverOut` names (web\n * only — no-ops on native). `onFocus` consults `isFocusVisible()` before\n * raising the keyboard-only `focusVisible` layer; `focused` always raises.\n */\nexport interface UseGestureHandlers {\n onPressIn: () => void\n onPressOut: () => void\n onHoverIn: () => void\n onHoverOut: () => void\n onFocus: () => void\n onBlur: () => void\n}\n\nexport interface UseGestureResult {\n /** 0↔1 progress for the pressed layer. */\n pressed: SharedValue<number>\n /** 0↔1 progress for the focused layer (any focus modality). */\n focused: SharedValue<number>\n /** 0↔1 progress for the focusVisible layer (keyboard focus only). */\n focusVisible: SharedValue<number>\n /** 0↔1 progress for the hovered layer (web only — stays at 0 on native). */\n hovered: SharedValue<number>\n /** Handlers to spread on the receiving `Pressable`. */\n handlers: UseGestureHandlers\n}\n\n/**\n * Build a gesture-layer controller. The hook-form of the `gesture` prop —\n * reach for it when you need to drive multiple animated views from the same\n * gesture state (a focus ring + state-layer halo + content tint all on one\n * Pressable), which the prop-form's \"animate the receiver's own style\" model\n * can't express.\n *\n * Returns four 0↔1 shared values (one per layer) and a handler bag to spread\n * on a `Pressable`. The shared values are stable across renders — feed them\n * into any number of `useAnimatedStyle` blocks anywhere in the tree.\n *\n * Transitions follow the same shape as the `gesture` prop's accompanying\n * `transition`: pass a single `TransitionConfig` to use for every layer, or a\n * `GestureLayerTransitions` map to give each layer its own. Layers without an\n * explicit transition fall back to the library default spring.\n *\n * Reduced motion (via `<MotionConfig reducedMotion>`) collapses every\n * transition to `no-animation` so state changes snap instead of interpolating\n * — same behaviour the gesture prop applies.\n *\n * @example\n * ```tsx\n * import { useAnimatedStyle } from 'react-native-reanimated'\n * import { useGesture } from '@onlynative/inertia'\n *\n * function Card() {\n * const { pressed, focused, hovered, handlers } = useGesture({\n * pressed: { type: 'timing', duration: 100 },\n * hovered: { type: 'timing', duration: 150 },\n * focused: { type: 'timing', duration: 200 },\n * })\n *\n * const ringStyle = useAnimatedStyle(() => ({ opacity: focused.value }))\n * const haloStyle = useAnimatedStyle(() => ({\n * opacity: Math.max(\n * hovered.value * 0.08,\n * focused.value * 0.10,\n * pressed.value * 0.10,\n * ),\n * }))\n *\n * return (\n * <Pressable {...handlers}>\n * <Animated.View style={ringStyle} />\n * <Animated.View style={haloStyle} />\n * </Pressable>\n * )\n * }\n * ```\n */\nexport function useGesture(\n transition?: TransitionConfig | GestureLayerTransitions,\n): UseGestureResult {\n const pressed = useSharedValue(0)\n const focused = useSharedValue(0)\n const focusVisible = useSharedValue(0)\n const hovered = useSharedValue(0)\n const shouldReduceMotion = useShouldReduceMotion()\n\n const setLayer = useCallback(\n (sv: SharedValue<number>, layer: LayerName, target: 0 | 1) => {\n const cfg = shouldReduceMotion\n ? ({ type: 'no-animation' } as const)\n : (layerTransition(layer, transition) ?? ({ type: 'spring' } as const))\n sv.value = resolveTransition(cfg, target) as never\n },\n // The transition is intentionally read on every call rather than cooked\n // into the dep array — a fresh literal each render would otherwise\n // rebuild the handler bag and break composing consumers that key off\n // handler identity. `transition` is read inside the callback closure;\n // shared values are stable so the only dep that matters is the reduce-\n // motion flag.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [shouldReduceMotion],\n )\n\n const handlers = useMemo<UseGestureHandlers>(\n () => ({\n onPressIn: () => setLayer(pressed, 'pressed', 1),\n onPressOut: () => setLayer(pressed, 'pressed', 0),\n onHoverIn: () => setLayer(hovered, 'hovered', 1),\n onHoverOut: () => setLayer(hovered, 'hovered', 0),\n onFocus: () => {\n setLayer(focused, 'focused', 1)\n if (isFocusVisible()) setLayer(focusVisible, 'focusVisible', 1)\n },\n onBlur: () => {\n setLayer(focused, 'focused', 0)\n setLayer(focusVisible, 'focusVisible', 0)\n },\n }),\n [setLayer, pressed, focused, focusVisible, hovered],\n )\n\n return { pressed, focused, focusVisible, hovered, handlers }\n}\n\nfunction layerTransition(\n layer: LayerName,\n transition: TransitionConfig | GestureLayerTransitions | undefined,\n): TransitionConfig | undefined {\n if (!transition) return undefined\n if (isTopLevelTransition(transition)) return transition\n return (transition as GestureLayerTransitions)[layer]\n}\n","import { useEffect, useMemo } from 'react'\nimport {\n interpolateColor,\n useAnimatedStyle,\n useSharedValue,\n type AnimatedStyle,\n} from 'react-native-reanimated'\nimport { useShouldReduceMotion } from '../config'\nimport { isTopLevelTransition, resolveTransition } from '../transitions'\nimport { useGesture, type UseGestureHandlers } from '../values/useGesture'\nimport { type GestureLayerTransitions, type TransitionConfig } from '../types'\n\n/**\n * A single gesture-layer style — a flat map of style keys to a value. Numeric\n * values participate in clamped-max composition (the \"strongest active layer\n * wins\" model used by MD3 state-layer haloes); string values are treated as\n * colors and composed via priority cascade with `interpolateColor`.\n *\n * The hook does not validate that string values are valid colors — passing\n * something like `borderStyle: 'solid'` will crash inside the worklet. Keep\n * string values to color strings.\n */\nexport type GestureLayerStyle = {\n [key: string]: number | string | undefined\n}\n\n/**\n * Per-state style maps. Every key is optional; missing layers default to\n * `rest` (or `0` / `'transparent'` if `rest` is also absent for that key).\n *\n * - `rest` — base values, applied when no other layer is active.\n * - `hovered` / `focused` / `focusVisible` / `pressed` — gesture-driven\n * states tracked via the underlying `useGesture` hook. Each owns an\n * independent 0↔1 progress that fades the layer in/out per the configured\n * transition.\n * - `disabled` — gated by the JS-side `options.disabled` flag rather than a\n * gesture. Sits at the top of the priority cascade and overrides every\n * gesture layer when active.\n */\nexport interface GestureLayerStates {\n rest?: GestureLayerStyle\n hovered?: GestureLayerStyle\n focused?: GestureLayerStyle\n focusVisible?: GestureLayerStyle\n pressed?: GestureLayerStyle\n disabled?: GestureLayerStyle\n}\n\nexport interface UseGestureLayerOptions {\n /**\n * When `true`, the `disabled` layer becomes active (or `rest` if `disabled`\n * is undefined). Animates via the top-level transition or the library\n * default spring; per-layer transitions (`GestureLayerTransitions`) do not\n * apply to `disabled`.\n */\n disabled?: boolean\n /**\n * Transition forwarded to the underlying `useGesture` hook. Either a single\n * `TransitionConfig` for every gesture layer, or a `GestureLayerTransitions`\n * map for per-layer fades. Reduced motion collapses every transition to\n * `no-animation`.\n */\n transition?: TransitionConfig | GestureLayerTransitions\n}\n\nexport interface UseGestureLayerResult {\n /**\n * Animated style produced by `useAnimatedStyle` — spread on an\n * `Animated.View` or pass through `<Motion.View style={...} />`.\n */\n style: AnimatedStyle<Record<string, unknown>>\n /** Handlers to spread on the receiving `Pressable`. */\n handlers: UseGestureHandlers\n}\n\n/**\n * A \"strongest active layer wins\" interactive-feedback primitive. Sits one\n * step above `useGesture()` — the consumer supplies the per-state target\n * values, the hook handles the four gesture progress shared values, the\n * disabled override, the worklet, and the transition.\n *\n * Composition model:\n *\n * - **Numeric keys** (opacity, scale, borderWidth, etc.) compose via\n * clamped-max with `rest` as the floor:\n * `out = max(rest, ...for each active gesture layer: lerp(rest, layer, progress))`.\n * This matches the MD3 state-layer halo pattern — multiple states active\n * simultaneously raise the value to the strongest, not the sum.\n * - **Color keys** (any string value) compose via priority cascade with\n * `interpolateColor`, lowest priority first: `hovered → focused →\n * focusVisible → pressed`. Clamped-max doesn't apply to colors; this\n * matches the cascade used by the declarative `gesture` prop.\n * - **Disabled** sits at the top of the cascade for both numeric and color\n * keys — when active, it lerps the composed value toward the `disabled`\n * target.\n *\n * Reach for this when you want MD3 / iOS-translucent state-layer overlays\n * without rewriting the worklet by hand for every consumer; reach for plain\n * `useGesture()` when you need a composition model this hook doesn't\n * express (additive, multiply, per-key custom blends).\n *\n * @example MD3 state-layer halo\n * ```tsx\n * import { useGestureLayer } from '@onlynative/inertia/gesture-layer'\n * import Animated from 'react-native-reanimated'\n * import { Pressable } from 'react-native'\n *\n * function SwitchHalo({ disabled }: { disabled?: boolean }) {\n * const { style, handlers } = useGestureLayer(\n * {\n * rest: { opacity: 0, backgroundColor: 'transparent' },\n * hovered: { opacity: 0.08, backgroundColor: '#000' },\n * focused: { opacity: 0.10, backgroundColor: '#000' },\n * pressed: { opacity: 0.12, backgroundColor: '#000' },\n * },\n * { disabled, transition: { type: 'timing', duration: 150 } },\n * )\n *\n * return (\n * <Pressable {...handlers}>\n * <Animated.View style={style} />\n * </Pressable>\n * )\n * }\n * ```\n */\nexport function useGestureLayer(\n states: GestureLayerStates,\n options: UseGestureLayerOptions = {},\n): UseGestureLayerResult {\n const { disabled: isDisabled = false, transition } = options\n const shouldReduceMotion = useShouldReduceMotion()\n const gesture = useGesture(transition)\n const disabledProgress = useSharedValue(0)\n\n useEffect(() => {\n const target = isDisabled ? 1 : 0\n const cfg = shouldReduceMotion\n ? ({ type: 'no-animation' } as const)\n : (disabledTransition(transition) ?? ({ type: 'spring' } as const))\n disabledProgress.value = resolveTransition(cfg, target) as never\n }, [isDisabled, shouldReduceMotion, transition, disabledProgress])\n\n // JS-thread precompute: union of keys across all layers, per-key type\n // (number vs color), and a rest-fallback table. The worklet body reads\n // from `meta` instead of probing each layer per frame — the type check\n // only runs when layer identities change.\n const meta = useMemo(() => {\n const layers = {\n rest: states.rest,\n hovered: states.hovered,\n focused: states.focused,\n focusVisible: states.focusVisible,\n pressed: states.pressed,\n disabled: states.disabled,\n }\n const sources = [\n layers.rest,\n layers.hovered,\n layers.focused,\n layers.focusVisible,\n layers.pressed,\n layers.disabled,\n ]\n const keySet = new Set<string>()\n for (const src of sources) {\n if (!src) continue\n for (const k in src) if (src[k] !== undefined) keySet.add(k)\n }\n const keys = Array.from(keySet)\n const types: Record<string, 'number' | 'color'> = {}\n const restValues: Record<string, number | string> = {}\n for (const k of keys) {\n let firstDefined: number | string | undefined\n for (const src of sources) {\n if (src && src[k] !== undefined) {\n firstDefined = src[k]\n break\n }\n }\n const isColor = typeof firstDefined === 'string'\n types[k] = isColor ? 'color' : 'number'\n const restRaw = layers.rest ? layers.rest[k] : undefined\n restValues[k] =\n restRaw !== undefined ? restRaw : isColor ? 'transparent' : 0\n }\n return { layers, keys, types, restValues }\n }, [\n states.rest,\n states.hovered,\n states.focused,\n states.focusVisible,\n states.pressed,\n states.disabled,\n ])\n\n const style = useAnimatedStyle(() => {\n const { layers, keys, types, restValues } = meta\n const ph = gesture.hovered.value\n const pf = gesture.focused.value\n const pfv = gesture.focusVisible.value\n const pp = gesture.pressed.value\n const pd = disabledProgress.value\n\n const hoveredLayer = layers.hovered\n const focusedLayer = layers.focused\n const focusVisibleLayer = layers.focusVisible\n const pressedLayer = layers.pressed\n const disabledLayer = layers.disabled\n\n const out: Record<string, unknown> = {}\n\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i]!\n const isColor = types[k] === 'color'\n const rest = restValues[k]!\n\n if (isColor) {\n let v = rest as string\n if (hoveredLayer && ph > 0 && hoveredLayer[k] !== undefined) {\n v = interpolateColor(ph, [0, 1], [v, hoveredLayer[k] as string])\n }\n if (focusedLayer && pf > 0 && focusedLayer[k] !== undefined) {\n v = interpolateColor(pf, [0, 1], [v, focusedLayer[k] as string])\n }\n if (\n focusVisibleLayer &&\n pfv > 0 &&\n focusVisibleLayer[k] !== undefined\n ) {\n v = interpolateColor(pfv, [0, 1], [v, focusVisibleLayer[k] as string])\n }\n if (pressedLayer && pp > 0 && pressedLayer[k] !== undefined) {\n v = interpolateColor(pp, [0, 1], [v, pressedLayer[k] as string])\n }\n if (disabledLayer && pd > 0 && disabledLayer[k] !== undefined) {\n v = interpolateColor(pd, [0, 1], [v, disabledLayer[k] as string])\n }\n out[k] = v\n } else {\n const base = rest as number\n let m = base\n if (hoveredLayer && ph > 0 && hoveredLayer[k] !== undefined) {\n const c = base + ((hoveredLayer[k] as number) - base) * ph\n if (c > m) m = c\n }\n if (focusedLayer && pf > 0 && focusedLayer[k] !== undefined) {\n const c = base + ((focusedLayer[k] as number) - base) * pf\n if (c > m) m = c\n }\n if (\n focusVisibleLayer &&\n pfv > 0 &&\n focusVisibleLayer[k] !== undefined\n ) {\n const c = base + ((focusVisibleLayer[k] as number) - base) * pfv\n if (c > m) m = c\n }\n if (pressedLayer && pp > 0 && pressedLayer[k] !== undefined) {\n const c = base + ((pressedLayer[k] as number) - base) * pp\n if (c > m) m = c\n }\n if (disabledLayer && pd > 0 && disabledLayer[k] !== undefined) {\n m = m + ((disabledLayer[k] as number) - m) * pd\n }\n out[k] = m\n }\n }\n\n return out\n })\n\n return {\n style: style as AnimatedStyle<Record<string, unknown>>,\n handlers: gesture.handlers,\n }\n}\n\nfunction disabledTransition(\n transition: TransitionConfig | GestureLayerTransitions | undefined,\n): TransitionConfig | undefined {\n if (!transition) return undefined\n if (isTopLevelTransition(transition)) return transition\n return undefined\n}\n"]}
package/dist/index.d.mts CHANGED
@@ -2,9 +2,10 @@ import * as react from 'react';
2
2
  import { ComponentType, ReactNode } from 'react';
3
3
  import * as react_native from 'react-native';
4
4
  import { NativeSyntheticEvent, NativeScrollEvent } from 'react-native';
5
- import { M as MotionComponent, A as AnimatableValue, T as TransitionConfig, E as EasingInput, G as GestureLayerTransitions, S as SpringTransition, V as VariantController } from './types-NmNeJjo1.mjs';
6
- export { a as AnimateStyle, b as AnimationCallbackInfo, D as DecayTransition, c as GestureSubStates, d as MotionProps, N as NoAnimationTransition, P as PerPropertyTransition, R as RepeatConfig, e as SequenceStep, f as TimingTransition, g as Transition, h as VariantsMap } from './types-NmNeJjo1.mjs';
7
- import { SharedValue } from 'react-native-reanimated';
5
+ import { M as MotionComponent, A as AnimatableValue, T as TransitionConfig, E as EasingInput, S as SpringTransition, V as VariantController } from './types-BwyvoH2V.mjs';
6
+ export { a as AnimateStyle, b as AnimationCallbackInfo, D as DecayTransition, G as GestureSubStates, c as MotionProps, N as NoAnimationTransition, P as PerPropertyTransition, R as RepeatConfig, d as SequenceStep, e as TimingTransition, f as Transition, g as VariantsMap } from './types-BwyvoH2V.mjs';
7
+ import { SharedValue, useAnimatedStyle } from 'react-native-reanimated';
8
+ export { U as UseGestureHandlers, a as UseGestureResult, u as useGesture } from './useGesture-BnBF4OtT.mjs';
8
9
  export { MotionImage } from './motion/Image.mjs';
9
10
  export { MotionPressable } from './motion/Pressable.mjs';
10
11
  export { MotionScrollView } from './motion/ScrollView.mjs';
@@ -243,84 +244,68 @@ declare function buildReleaseAnimation(transition: TransitionConfig, toValue: nu
243
244
  declare function useAnimation(target: number, transition?: TransitionConfig): SharedValue<number>;
244
245
 
245
246
  /**
246
- * Handler bag returned by `useGesture`. Spread on a `Pressable` to drive the
247
- * shared values returned alongside.
247
+ * Toggle a 0↔1 progress value with a spring whenever `active` flips.
248
248
  *
249
- * Hover handlers use `Pressable`'s own `onHoverIn` / `onHoverOut` names (web
250
- * only no-ops on native). `onFocus` consults `isFocusVisible()` before
251
- * raising the keyboard-only `focusVisible` layer; `focused` always raises.
249
+ * This is the recurring shape behind checkbox checks, accordion expansions,
250
+ * drawer open/closed states, focus rings, and every other binary UI flip
251
+ * that wants spring physics rather than a hard cut. The returned shared
252
+ * value sits at `0` when `active` is `false` and animates toward `1` when
253
+ * `active` flips to `true` (and back again on the reverse flip). Feed it to
254
+ * a `useTransform`, `useShadow`, or a hand-rolled `useAnimatedStyle` to
255
+ * drive whatever the boolean controls visually.
256
+ *
257
+ * ```tsx
258
+ * const progress = useBooleanSpring(isChecked)
259
+ * const indicatorStyle = useAnimatedStyle(() => ({
260
+ * opacity: progress.value,
261
+ * transform: [{ scale: progress.value }],
262
+ * }))
263
+ * ```
264
+ *
265
+ * The spring config follows the same react-spring vocabulary as the rest of
266
+ * the library (`tension` / `friction` / `mass`); omit it to take the
267
+ * library's defaults.
252
268
  */
253
- interface UseGestureHandlers {
254
- onPressIn: () => void;
255
- onPressOut: () => void;
256
- onHoverIn: () => void;
257
- onHoverOut: () => void;
258
- onFocus: () => void;
259
- onBlur: () => void;
260
- }
261
- interface UseGestureResult {
262
- /** 0↔1 progress for the pressed layer. */
263
- pressed: SharedValue<number>;
264
- /** 0↔1 progress for the focused layer (any focus modality). */
265
- focused: SharedValue<number>;
266
- /** 0↔1 progress for the focusVisible layer (keyboard focus only). */
267
- focusVisible: SharedValue<number>;
268
- /** 0↔1 progress for the hovered layer (web only — stays at 0 on native). */
269
- hovered: SharedValue<number>;
270
- /** Handlers to spread on the receiving `Pressable`. */
271
- handlers: UseGestureHandlers;
269
+ declare function useBooleanSpring(active: boolean, springConfig?: SpringTransition): SharedValue<number>;
270
+
271
+ /**
272
+ * Color style keys understood by React Native that this hook can target.
273
+ * Sticks to the keys that exist on the v0.1 animatable surface so the
274
+ * returned style fragment is always a legal RN style.
275
+ */
276
+ type ColorStyleKey = 'backgroundColor' | 'color' | 'borderColor' | 'borderTopColor' | 'borderRightColor' | 'borderBottomColor' | 'borderLeftColor' | 'tintColor' | 'shadowColor';
277
+ interface UseColorTransitionOptions {
278
+ /**
279
+ * Which style slot the interpolated color is emitted under. Defaults to
280
+ * `backgroundColor` the dominant case for state-layer haloes, card
281
+ * fills, and chip surfaces. Override for ring colors (`borderColor`),
282
+ * text colors (`color`), image tints (`tintColor`), etc.
283
+ */
284
+ key?: ColorStyleKey;
272
285
  }
273
286
  /**
274
- * Build a gesture-layer controller. The hook-form of the `gesture` prop
275
- * reach for it when you need to drive multiple animated views from the same
276
- * gesture state (a focus ring + state-layer halo + content tint all on one
277
- * Pressable), which the prop-form's "animate the receiver's own style" model
278
- * can't express.
279
- *
280
- * Returns four 0↔1 shared values (one per layer) and a handler bag to spread
281
- * on a `Pressable`. The shared values are stable across renders — feed them
282
- * into any number of `useAnimatedStyle` blocks anywhere in the tree.
283
- *
284
- * Transitions follow the same shape as the `gesture` prop's accompanying
285
- * `transition`: pass a single `TransitionConfig` to use for every layer, or a
286
- * `GestureLayerTransitions` map to give each layer its own. Layers without an
287
- * explicit transition fall back to the library default spring.
287
+ * Interpolate a single color channel between `from` and `to` as `progress`
288
+ * moves 0→1, returning an animated style fragment that can be spread onto
289
+ * any Reanimated-aware view.
288
290
  *
289
- * Reduced motion (via `<MotionConfig reducedMotion>`) collapses every
290
- * transition to `no-animation` so state changes snap instead of interpolating
291
- * — same behaviour the gesture prop applies.
292
- *
293
- * @example
294
291
  * ```tsx
295
- * import { useAnimatedStyle } from 'react-native-reanimated'
296
- * import { useGesture } from '@onlynative/inertia'
297
- *
298
- * function Card() {
299
- * const { pressed, focused, hovered, handlers } = useGesture({
300
- * pressed: { type: 'timing', duration: 100 },
301
- * hovered: { type: 'timing', duration: 150 },
302
- * focused: { type: 'timing', duration: 200 },
303
- * })
304
- *
305
- * const ringStyle = useAnimatedStyle(() => ({ opacity: focused.value }))
306
- * const haloStyle = useAnimatedStyle(() => ({
307
- * opacity: Math.max(
308
- * hovered.value * 0.08,
309
- * focused.value * 0.10,
310
- * pressed.value * 0.10,
311
- * ),
312
- * }))
313
- *
314
- * return (
315
- * <Pressable {...handlers}>
316
- * <Animated.View style={ringStyle} />
317
- * <Animated.View style={haloStyle} />
318
- * </Pressable>
319
- * )
320
- * }
292
+ * const progress = useBooleanSpring(isPressed)
293
+ * const fillStyle = useColorTransition(progress, [colors.surface, colors.pressed])
294
+ * const ringStyle = useColorTransition(progress, [colors.outline, colors.primary], {
295
+ * key: 'borderColor',
296
+ * })
297
+ *
298
+ * return <Motion.View style={[styles.chip, fillStyle, ringStyle]} />
321
299
  * ```
300
+ *
301
+ * This is a pure interpolator: it does not animate on its own. Drive
302
+ * `progress` upstream with a `useSpring`, `useBooleanSpring`, gesture
303
+ * progress, or scroll-derived `useTransform`. Values outside `[0, 1]`
304
+ * clamp. For a raw `SharedValue<string>` (e.g. to feed a gradient or
305
+ * compose into a hand-rolled `useAnimatedStyle`), use `useTransform`
306
+ * directly with a color output range.
322
307
  */
323
- declare function useGesture(transition?: TransitionConfig | GestureLayerTransitions): UseGestureResult;
308
+ declare function useColorTransition(progress: SharedValue<number>, range: readonly [string, string], options?: UseColorTransitionOptions): ReturnType<typeof useAnimatedStyle>;
324
309
 
325
310
  /**
326
311
  * Create an animatable value owned by JS but readable from worklets.
@@ -450,6 +435,61 @@ interface UseScrollResult {
450
435
  */
451
436
  declare function useScroll(): UseScrollResult;
452
437
 
438
+ /**
439
+ * Shape accepted on either end of a `useShadow` tween. Every field is
440
+ * optional — only keys present on at least one side participate in the
441
+ * output style. Mirrors the flat shadow keys on `Motion.View`'s `animate`
442
+ * surface, plus the nested `shadowOffset` source.
443
+ */
444
+ interface ShadowConfig {
445
+ shadowOpacity?: number;
446
+ shadowRadius?: number;
447
+ shadowOffset?: {
448
+ width?: number;
449
+ height?: number;
450
+ };
451
+ /** Android elevation. iOS shadow consumers can leave this off. */
452
+ elevation?: number;
453
+ shadowColor?: string;
454
+ }
455
+ interface UseShadowOptions {
456
+ /** Shadow state at `progress === 0`. */
457
+ from: ShadowConfig;
458
+ /** Shadow state at `progress === 1`. */
459
+ to: ShadowConfig;
460
+ /**
461
+ * Driver — typically 0→1. Whatever produces it (a `useSpring`, a gesture
462
+ * progress value, a scroll-derived `useTransform`) is the caller's
463
+ * concern. The hook is a pure interpolator; it does not animate on its
464
+ * own. Values outside `[0, 1]` clamp.
465
+ */
466
+ progress: SharedValue<number>;
467
+ }
468
+ /**
469
+ * Interpolate between two shadow configs as `progress` moves 0→1, returning
470
+ * an animated style fragment that can be spread onto any Reanimated-aware
471
+ * view (including `Motion.*` primitives and a hand-rolled `Animated.View`).
472
+ *
473
+ * ```tsx
474
+ * const progress = useSpring(isElevated ? 1 : 0)
475
+ * const shadowStyle = useShadow({
476
+ * from: { shadowOpacity: 0.08, shadowRadius: 2, shadowOffset: { width: 0, height: 1 }, elevation: 1 },
477
+ * to: { shadowOpacity: 0.24, shadowRadius: 12, shadowOffset: { width: 0, height: 8 }, elevation: 8 },
478
+ * progress,
479
+ * })
480
+ *
481
+ * return <Motion.View style={[styles.card, shadowStyle]} />
482
+ * ```
483
+ *
484
+ * Only keys present on either `from` or `to` are emitted. A key present on
485
+ * one side and absent on the other tweens from the present value to the
486
+ * absent side's natural zero (`0` for numbers, `'transparent'` for
487
+ * `shadowColor`, `{ width: 0, height: 0 }` for `shadowOffset`). This is a
488
+ * pure interpolator — to "animate" the shadow, drive `progress` with a
489
+ * spring, timing, or gesture upstream.
490
+ */
491
+ declare function useShadow({ from, to, progress, }: UseShadowOptions): ReturnType<typeof useAnimatedStyle>;
492
+
453
493
  /**
454
494
  * Build a controller for a variants map. The controller is the imperative
455
495
  * escape hatch — pass it to a Motion primitive via `controller={...}` and
@@ -463,4 +503,4 @@ declare function useScroll(): UseScrollResult;
463
503
  */
464
504
  declare function useVariants<V extends Readonly<Record<string, object>>>(variants: V, initial?: keyof V & string): VariantController<keyof V & string>;
465
505
 
466
- export { AnimatableValue, type ExtrapolationMode, Motion, MotionComponent, MotionConfig, type MotionConfigValue, Presence, type PresenceContextValue, type ReducedMotion, SpringTransition, TransitionConfig, type UseGestureHandlers, type UseGestureResult, type UseScrollResult, type UseTransformOptions, VariantController, buildReleaseAnimation, createMotionComponent, ensureWorkletEasing, resolveAnimatableValue, resolveTransition, useAnimation, useGesture, useMotionConfig, useMotionValue, usePresence, useScroll, useShouldReduceMotion, useSpring, useTransform, useVariants };
506
+ export { AnimatableValue, type ColorStyleKey, type ExtrapolationMode, Motion, MotionComponent, MotionConfig, type MotionConfigValue, Presence, type PresenceContextValue, type ReducedMotion, type ShadowConfig, SpringTransition, TransitionConfig, type UseColorTransitionOptions, type UseScrollResult, type UseShadowOptions, type UseTransformOptions, VariantController, buildReleaseAnimation, createMotionComponent, ensureWorkletEasing, resolveAnimatableValue, resolveTransition, useAnimation, useBooleanSpring, useColorTransition, useMotionConfig, useMotionValue, usePresence, useScroll, useShadow, useShouldReduceMotion, useSpring, useTransform, useVariants };