tdesign-vue-next
Version:
TDesign Component for vue-next
59 lines (53 loc) • 1.83 kB
JavaScript
/**
* tdesign v1.15.2
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var Vue = require('vue');
var dom = require('../../_chunks/dep-0a9c2d75.js');
var common = require('../../_chunks/dep-4045ff88.js');
var isString = require('../../_chunks/dep-c6c5ec69.js');
require('../../_chunks/dep-040b3cbb.js');
require('../../_chunks/dep-0f5dd876.js');
require('../../_chunks/dep-3e1aa2e0.js');
require('../../_chunks/dep-79f734cc.js');
require('@babel/runtime/helpers/typeof');
require('../../_chunks/dep-63ff6e12.js');
require('../../_chunks/dep-ce0157af.js');
require('../../_chunks/dep-41b6fe49.js');
function useKeyboard(radioGroupRef, setInnerValue) {
var checkRadioInGroup = function checkRadioInGroup(e) {
var inputNode = e.target.querySelector("input");
if (!inputNode) return;
var isCheckedCode = common.CHECKED_CODE_REG.test(e.key) || common.CHECKED_CODE_REG.test(e.code);
if (isCheckedCode) {
e.preventDefault();
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 = isString.isString(value) && {
"true": true,
"false": false
}[value] || value;
value = isString.isString(value) && value[0] === "'" ? value.replace(/'/g, "") : value;
setInnerValue(value, {
e: e
});
}
}
};
Vue.onMounted(function () {
dom.on(radioGroupRef.value, "keydown", checkRadioInGroup);
});
Vue.onBeforeMount(function () {
dom.off(radioGroupRef.value, "keydown", checkRadioInGroup);
});
}
exports.useKeyboard = useKeyboard;
//# sourceMappingURL=useKeyboard.js.map