in src/renderers/react/useAutoAnimate.ts [26:53]
export function useAutoAnimate<T extends Element>(
options?: Partial<AutoAnimateOptions> | AutoAnimationPlugin
): [RefCallback<T>, (enabled: boolean) => void] {
const [controller, setController] = useState<
AnimationController | undefined
>();
const memoizedOptions = useMemo(() => options, []);
const element = useCallback(
(node: T) => {
if (node instanceof HTMLElement) {
setController(autoAnimate(node, memoizedOptions));
} else {
setController(undefined);
}
},
[memoizedOptions]
);
const setEnabled = useCallback(
(enabled: boolean) => {
if (controller) {
enabled ? controller.enable() : controller.disable();
}
},
[controller]
);
return [element, setEnabled];
}