@nodeject/ui-components
Version:
UI library for non-trivial components
25 lines (24 loc) • 879 B
JavaScript
;
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;