tdesign-react
Version:
TDesign Component for React
54 lines (48 loc) • 1.65 kB
JavaScript
/**
* tdesign v1.16.6
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var common = require('../_chunks/dep-d42cbde8.js');
var _util_listener = require('../_util/listener.js');
require('../_chunks/dep-2bbded38.js');
require('../_chunks/dep-202d6c73.js');
require('../_chunks/dep-615c149d.js');
require('../_chunks/dep-90a93885.js');
require('../_chunks/dep-a8d5081a.js');
require('../_chunks/dep-0173c82c.js');
function useKeyboard(radioGroupRef, setInnerValue) {
var checkRadioInGroup = function checkRadioInGroup(e) {
if (common.CHECKED_CODE_REG.test(e.key) || common.CHECKED_CODE_REG.test(e.code)) {
var inputNode = e.target.querySelector("input");
if (!inputNode) return;
var data = 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
});
}
}
};
React.useEffect(function () {
_util_listener.on(radioGroupRef.current, "keydown", checkRadioInGroup);
return function () {
_util_listener.off(radioGroupRef.current, "keydown", checkRadioInGroup);
};
}, []);
}
exports["default"] = useKeyboard;
//# sourceMappingURL=useKeyboard.js.map