UNPKG

tdesign-vue-next

Version:
49 lines (45 loc) 1.47 kB
/** * tdesign v1.19.2 * (c) 2026 tdesign * @license MIT */ import { onMounted, onBeforeMount } from 'vue'; import { isString } from 'lodash-es'; import { o as on, c as off } from '../../_chunks/dep-d518fdfb.js'; import { C as CHECKED_CODE_REG } from '../../_chunks/dep-e9e05226.js'; import '../../_chunks/dep-c68ea098.js'; import '../../_chunks/dep-f0f392fb.js'; function useKeyboard(radioGroupRef, setInnerValue) { var checkRadioInGroup = function checkRadioInGroup(e) { var inputNode = e.target.querySelector("input"); if (!inputNode) return; var isCheckedCode = CHECKED_CODE_REG.test(e.key) || 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(value) && { "true": true, "false": false }[value] || value; value = isString(value) && value[0] === "'" ? value.replace(/'/g, "") : value; setInnerValue(value, { e: e }); } } }; onMounted(function () { on(radioGroupRef.value, "keydown", checkRadioInGroup); }); onBeforeMount(function () { off(radioGroupRef.value, "keydown", checkRadioInGroup); }); } export { useKeyboard }; //# sourceMappingURL=useKeyboard.js.map