tdesign-react
Version:
TDesign Component for React
54 lines (48 loc) • 1.66 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var common = require('../_chunks/dep-90f4ef78.js');
var _util_dom = require('../_util/dom.js');
require('raf');
require('../_util/easing.js');
require('../_chunks/dep-3c8023f1.js');
require('../_chunks/dep-6e34d7d7.js');
require('../_chunks/dep-5b35215f.js');
require('../_chunks/dep-ec3beb8d.js');
require('../_chunks/dep-d45b3350.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");
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
});
}
}
};
React.useEffect(function () {
_util_dom.on(radioGroupRef.current, "keydown", checkRadioInGroup);
return function () {
_util_dom.off(radioGroupRef.current, "keydown", checkRadioInGroup);
};
}, []);
}
exports["default"] = useKeyboard;
//# sourceMappingURL=useKeyboard.js.map