UNPKG

rsuite

Version:

A suite of react components

38 lines 783 B
'use client'; import { useState } from 'react'; import { useEventCallback } from "../internals/hooks/index.js"; const useActive = props => { const { onOpen, onClose, target, setSearchKeyword } = props; // Use component active state to support keyboard events. const [active, setActive] = useState(false); const onEnter = useEventCallback(node => { props.onEnter?.(node); if (!target.current) { return; } onOpen?.(); setActive(true); }); const onExit = useEventCallback(node => { props.onExit?.(node); if (!target.current) { return; } onClose?.(); setActive(false); setSearchKeyword(''); }); return { active, events: { onEnter, onExit } }; }; export default useActive;