UNPKG

@mirawision/reactive-hooks

Version:

A comprehensive collection of 50+ React hooks for state management, UI interactions, device APIs, async operations, drag & drop, audio/speech, and more. Full TypeScript support with SSR safety.

33 lines (32 loc) 905 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useToggle = useToggle; const react_1 = require("react"); /** * Hook that manages boolean state with toggle functionality * * @param initialValue - Initial boolean value * @returns Tuple with current state and actions */ function useToggle(initialValue) { const [value, setValue] = (0, react_1.useState)(initialValue); const set = (newValue) => { setValue(newValue); }; const enable = () => setValue(true); const disable = () => setValue(false); const toggle = () => setValue(!value); const pulse = (time) => { const currentValue = value; setValue(!currentValue); setTimeout(() => setValue(currentValue), time); }; const actions = { set, enable, disable, toggle, pulse, }; return [value, actions]; }