tdesign-react
Version:
TDesign Component for React
53 lines (47 loc) • 1.68 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var common = require('../_chunks/dep-4406837c.js');
var _util_listener = require('../_util/listener.js');
require('../_chunks/dep-381fa848.js');
require('../_chunks/dep-4ed9eda4.js');
require('../_chunks/dep-25585736.js');
require('../_chunks/dep-667ac7af.js');
require('../_chunks/dep-64577888.js');
require('../_chunks/dep-62e73936.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_listener.on(radioGroupRef.current, "keydown", checkRadioInGroup);
return function () {
_util_listener.off(radioGroupRef.current, "keydown", checkRadioInGroup);
};
}, []);
}
exports["default"] = useKeyboard;
//# sourceMappingURL=useKeyboard.js.map