/** * @souscheflabs/reanimated-flashlist * * A high-performance animated FlashList with drag-to-reorder and entry/exit animations. * * @example * ```tsx * import { * AnimatedFlashList, * type AnimatedListItem, * } from '@souscheflabs/reanimated-flashlist'; * * interface MyItem extends AnimatedListItem { * title: string; * } * * * data={items} * keyExtractor={(item) => item.id} * renderItem={({ item, dragHandleProps, triggerExitAnimation }) => ( * * {item.title} * {dragHandleProps && ( * * * * )} * * )} * dragEnabled * onReorder={(itemId, from, to) => handleReorder(itemId, from, to)} * /> * ``` */ export { AnimatedFlashList } from './AnimatedFlashList'; export { AnimatedFlashListItem } from './AnimatedFlashListItem'; export { useBenchmark } from '@shopify/flash-list'; /** * Contexts for advanced usage. * @internal These are exported for advanced use cases where you need to build * custom implementations. Most users should use AnimatedFlashList directly. * Using these contexts outside of the AnimatedFlashList component tree will throw errors. */ export { DragStateProvider, useDragState, ListAnimationProvider, useListAnimation, useListAnimationOptional, } from './contexts'; /** * Hooks for advanced/custom implementations. * @internal These hooks are the building blocks used by AnimatedFlashListItem. * They require proper context providers and are intended for advanced users * building custom item components. Using these hooks outside of the proper * provider context will result in errors or unexpected behavior. */ export { useDragGesture, useDragShift, useDragAnimatedStyle, useDropCompensation, useListExitAnimation, useListEntryAnimation, } from './hooks'; export { DEFAULT_DRAG_CONFIG, createDragConfig, DEFAULT_EXIT_ANIMATION, FAST_EXIT_ANIMATION, DEFAULT_ENTRY_ANIMATION, getExitAnimationConfig, createEntryAnimationConfig, standardEasing, } from './constants'; export type { AnimatedListItem, AnimatedFlashListProps, AnimatedFlashListRef, AnimatedFlashListConfig, AnimatedRenderItemInfo, DragHandleProps, DragConfig, UseDragGestureConfig, UseDragGestureCallbacks, UseDragGestureResult, UseDragShiftConfig, UseDragShiftResult, UseDropCompensationConfig, UseDragAnimatedStyleResult, AnimationDirection, ExitAnimationPreset, ExitAnimationConfig, EntryAnimationConfig, PendingEntryAnimation, ExitAnimationTrigger, HapticFeedbackType, } from './types'; export type { DragStateContextValue, ListAnimationContextValue, } from './contexts'; /** * Performance monitoring hooks and utilities. * @internal These are intended for benchmarking and development purposes. * Only available in __DEV__ mode for production builds. * * @example * ```tsx * import { * useFPSMonitor, * useRenderProfiler, * useMemoryMonitor, * } from '@souscheflabs/reanimated-flashlist'; * * // Use in development/benchmark builds only * if (__DEV__) { * const fps = useFPSMonitor(); * fps.start(); * } * ``` */ export { useFPSMonitor, useRenderProfiler, useMemoryMonitor, useBenchmarkComparison, } from './performance'; export type { FPSMetrics, RenderMetrics, MemoryMetrics, BenchmarkResult, BaselineData, ScenarioMetrics, ComparisonResult, ComparisonDetail, ComparisonThresholds, FPSMonitorConfig, MemoryMonitorConfig, BenchmarkScenario, } from './performance'; //# sourceMappingURL=index.d.ts.map