'use client'; import * as React from 'react'; import { useEventCallback } from '../utils'; const useTouchRipple = props => { const { disabled, disableFocusRipple, disableRipple, disableTouchRipple, focusVisible, rippleRef } = props; React.useEffect(() => { if (focusVisible && !disableFocusRipple && !disableRipple) { var _rippleRef$current; (_rippleRef$current = rippleRef.current) == null || _rippleRef$current.pulsate(); } }, [rippleRef, focusVisible, disableFocusRipple, disableRipple]); function useRippleHandler(rippleAction, skipRippleAction = disableTouchRipple) { return useEventCallback(event => { if (!skipRippleAction && rippleRef.current) { rippleRef.current[rippleAction](event); } return true; }); } const keydownRef = React.useRef(false); const handleKeyDown = useEventCallback(event => { if (!disableFocusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') { keydownRef.current = true; rippleRef.current.stop(event, () => { var _rippleRef$current2; rippleRef == null || (_rippleRef$current2 = rippleRef.current) == null || _rippleRef$current2.start(event); }); } }); const handleKeyUp = useEventCallback(event => { // calling preventDefault in keyUp on a