@ozen-ui/kit
Version:
React component library
16 lines (15 loc) • 781 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useBoolean = useBoolean;
var tslib_1 = require("tslib");
var react_1 = require("react");
function useBoolean(
/** Значение по умолчанию */
defaultValue) {
if (defaultValue === void 0) { defaultValue = false; }
var _a = tslib_1.__read((0, react_1.useState)(defaultValue), 2), value = _a[0], setValue = _a[1];
var on = (0, react_1.useCallback)(function () { return setValue(true); }, []);
var off = (0, react_1.useCallback)(function () { return setValue(false); }, []);
var toggle = (0, react_1.useCallback)(function () { return setValue(function (value) { return !value; }); }, []);
return [value, { on: on, off: off, toggle: toggle, set: setValue }];
}
;