UNPKG

tdesign-react

Version:
45 lines (41 loc) 1.39 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import { useEffect } from 'react'; import { C as CHECKED_CODE_REG } from '../_chunks/dep-dbcf7b24.js'; import { on, off } from '../_util/listener.js'; import '../_chunks/dep-3a09424a.js'; import 'lodash-es'; function useKeyboard(radioGroupRef, setInnerValue) { var checkRadioInGroup = function checkRadioInGroup(e) { if (CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code)) { var inputNode = e.target.querySelector("input"); var data = (inputNode === null || inputNode === void 0 ? void 0 : inputNode.dataset) || {}; if (inputNode.checked && data.allowUncheck) { setInnerValue(void 0, { e: e }); } else { var value = !isNaN(Number(data.value)) ? Number(data.value) : data.value; value = typeof value === "string" && { "true": true, "false": false }[value] || value; value = typeof value === "string" && value[0] === "'" ? value.replace(/'/g, "") : value; setInnerValue(value, { e: e }); } } }; useEffect(function () { on(radioGroupRef.current, "keydown", checkRadioInGroup); return function () { off(radioGroupRef.current, "keydown", checkRadioInGroup); }; }, []); } export { useKeyboard as default }; //# sourceMappingURL=useKeyboard.js.map