UNPKG

@nodeject/ui-components

Version:

UI library for non-trivial components

21 lines (20 loc) 729 B
import { useCallback, useState } from 'react'; export var useToggle = function (args) { var initialToggleState = (args === null || args === void 0 ? void 0 : args.initialState) !== undefined ? args.initialState : false; var _a = useState(initialToggleState), active = _a[0], setActive = _a[1]; var toggleOff = useCallback(function () { setActive(false); }, []); var toggleOn = useCallback(function () { setActive(true); }, []); var toggle = useCallback(function () { setActive(function (active) { return !active; }); }, []); return { active: active, toggle: toggle, toggleOff: toggleOff, toggleOn: toggleOn }; };