@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
26 lines (23 loc) • 601 B
JavaScript
'use client';
import { useState } from 'react';
function useUncontrolled({
value,
defaultValue,
finalValue,
onChange = () => {
}
}) {
const [uncontrolledValue, setUncontrolledValue] = useState(
defaultValue !== void 0 ? defaultValue : finalValue
);
const handleUncontrolledChange = (val, ...payload) => {
setUncontrolledValue(val);
onChange?.(val, ...payload);
};
if (value !== void 0) {
return [value, onChange, true];
}
return [uncontrolledValue, handleUncontrolledChange, false];
}
export { useUncontrolled };
//# sourceMappingURL=use-uncontrolled.mjs.map