24 lines
447 B
JavaScript
24 lines
447 B
JavaScript
|
/*
|
||
|
* Copyright (c) 2021 The ZMK Contributors
|
||
|
*
|
||
|
* SPDX-License-Identifier: MIT
|
||
|
*/
|
||
|
|
||
|
import { useState } from "react";
|
||
|
|
||
|
export const useInput = (initialValue) => {
|
||
|
const [value, setValue] = useState(initialValue);
|
||
|
|
||
|
return {
|
||
|
value,
|
||
|
setValue,
|
||
|
bind: {
|
||
|
value,
|
||
|
onChange: (event) => {
|
||
|
const target = event.target;
|
||
|
setValue(target.type === "checkbox" ? target.checked : target.value);
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
};
|