manuthecoder-react-native-spotlight-tour
Version:
React Native library to implement a highly customizable app tour feature with an awesome spotlight effect
36 lines (35 loc) • 1.14 kB
TypeScript
import { Animated, type LayoutRectangle, type MeasureInWindowOnSuccessCallback } from "react-native";
import type { Motion } from "../lib/SpotlightTour.context";
import type { RefObject } from "react";
interface RefNode {
measure: (callback: MeasureInWindowOnSuccessCallback) => void;
}
export interface ShapeProps {
motion: Motion;
padding: number;
setReference: (node?: RefNode) => void;
spot: LayoutRectangle;
useNativeDriver: boolean;
}
interface Point {
x: number;
y: number;
}
interface BaseTransitionOptions {
motion: Motion;
nextOrigin: Point;
opacity: RefObject<Animated.Value>;
origin: RefObject<Animated.ValueXY>;
useNativeDriver: boolean;
}
interface ValueTransitionOptions extends BaseTransitionOptions {
nextSize: number;
size: RefObject<Animated.Value>;
}
interface PointTransitionOptions extends BaseTransitionOptions {
nextSize: Point;
size: RefObject<Animated.ValueXY>;
}
type TransitionOptions = PointTransitionOptions | ValueTransitionOptions;
export declare function transitionOf(options: TransitionOptions): Animated.CompositeAnimation;
export {};