UNPKG

@nodeject/ui-components

Version:

UI library for non-trivial components

25 lines (24 loc) 879 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useToggle = void 0; var react_1 = require("react"); var useToggle = function (args) { var initialToggleState = (args === null || args === void 0 ? void 0 : args.initialState) !== undefined ? args.initialState : false; var _a = react_1.useState(initialToggleState), active = _a[0], setActive = _a[1]; var toggleOff = react_1.useCallback(function () { setActive(false); }, []); var toggleOn = react_1.useCallback(function () { setActive(true); }, []); var toggle = react_1.useCallback(function () { setActive(function (active) { return !active; }); }, []); return { active: active, toggle: toggle, toggleOff: toggleOff, toggleOn: toggleOn }; }; exports.useToggle = useToggle;