@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
22 lines (21 loc) • 739 B
JavaScript
"use client";
let react = require("react");
//#region packages/@mantine/hooks/src/use-input-state/use-input-state.ts
function getInputOnChange(setValue) {
return (val) => {
if (!val) setValue(val);
else if (typeof val === "function") setValue(val);
else if (typeof val === "object" && "nativeEvent" in val) {
const { currentTarget } = val;
if (currentTarget.type === "checkbox") setValue(currentTarget.checked);
else setValue(currentTarget.value);
} else setValue(val);
};
}
function useInputState(initialState) {
const [value, setValue] = (0, react.useState)(initialState);
return [value, getInputOnChange(setValue)];
}
//#endregion
exports.useInputState = useInputState;
//# sourceMappingURL=use-input-state.cjs.map