UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

30 lines (26 loc) 971 B
"use client"; const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs'); const require_effect = require('../../utils/effect.cjs'); let react = require("react"); react = require_rolldown_runtime.__toESM(react); //#region src/hooks/use-mounted/index.ts function useMounted({ delay = 0, state = false } = {}) { const mountedRef = (0, react.useRef)(false); const [mounted, setMounted] = (0, react.useState)(false); require_effect.useSafeLayoutEffect(() => { mountedRef.current = true; let timeoutId = null; if (state) if (delay > 0) timeoutId = setTimeout(() => setMounted(true), delay); else setMounted(true); return () => { mountedRef.current = false; if (state) setMounted(false); if (timeoutId) clearTimeout(timeoutId); }; }, [delay, state]); if (state) return mounted; else return (0, react.useCallback)(() => mountedRef.current, []); } //#endregion exports.useMounted = useMounted; //# sourceMappingURL=index.cjs.map