@redocly/theme
Version:
Shared UI components lib
16 lines • 639 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useControlledState = useControlledState;
const react_1 = require("react");
function useControlledState(initialState, controlledValue) {
const [state, setState] = (0, react_1.useState)(initialState);
const isControlled = controlledValue !== undefined;
const value = isControlled ? controlledValue : state;
const setValue = (0, react_1.useCallback)((newValue) => {
if (!isControlled) {
setState(newValue);
}
}, [isControlled]);
return [value, setValue];
}
//# sourceMappingURL=use-controlled-state.js.map