@ozen-ui/kit
Version:
React component library
20 lines (19 loc) • 952 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCounter = useCounter;
var tslib_1 = require("tslib");
var react_1 = require("react");
function useCounter(_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.initialValue, initialValue = _c === void 0 ? 0 : _c, _d = _b.step, step = _d === void 0 ? 1 : _d;
var _e = tslib_1.__read((0, react_1.useState)(initialValue), 2), count = _e[0], setCount = _e[1];
var increment = (0, react_1.useCallback)(function () { return setCount(function (x) { return x + step; }); }, [step]);
var decrement = (0, react_1.useCallback)(function () { return setCount(function (x) { return x - step; }); }, [step]);
var reset = (0, react_1.useCallback)(function () { return setCount(initialValue); }, [initialValue]);
return {
count: count,
increment: increment,
decrement: decrement,
reset: reset,
setCount: setCount,
};
}