@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
38 lines (37 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const event = require("../_utils/event.js");
function useComposition({ el } = {}) {
const isComposing = vue.ref(false);
const onCompositionStart = () => {
isComposing.value = true;
};
const onCompositionEnd = (e) => {
if (!isComposing.value) {
return;
}
isComposing.value = false;
event.trigger(e.target, "input");
};
vue.onMounted(() => {
if (!(el == null ? void 0 : el.value)) {
return;
}
el.value.addEventListener("compositionstart", onCompositionStart);
el.value.addEventListener("compositionend", onCompositionEnd);
});
vue.onUnmounted(() => {
if (!(el == null ? void 0 : el.value)) {
return;
}
el.value.removeEventListener("compositionstart", onCompositionStart);
el.value.removeEventListener("compositionend", onCompositionEnd);
});
return {
isComposing,
onCompositionStart,
onCompositionEnd
};
}
exports.useComposition = useComposition;