index.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
  2. let vue = require("vue");
  3. //#region ../../packages/hooks/use-composition/index.ts
  4. function useComposition({ afterComposition, emit }) {
  5. const isComposing = (0, vue.ref)(false);
  6. const handleCompositionStart = (event) => {
  7. emit?.("compositionstart", event);
  8. isComposing.value = true;
  9. };
  10. const handleCompositionUpdate = (event) => {
  11. emit?.("compositionupdate", event);
  12. isComposing.value = true;
  13. };
  14. const handleCompositionEnd = (event) => {
  15. emit?.("compositionend", event);
  16. if (isComposing.value) {
  17. isComposing.value = false;
  18. (0, vue.nextTick)(() => afterComposition(event));
  19. }
  20. };
  21. const handleComposition = (event) => {
  22. event.type === "compositionend" ? handleCompositionEnd(event) : handleCompositionUpdate(event);
  23. };
  24. return {
  25. isComposing,
  26. handleComposition,
  27. handleCompositionStart,
  28. handleCompositionUpdate,
  29. handleCompositionEnd
  30. };
  31. }
  32. //#endregion
  33. exports.useComposition = useComposition;
  34. //# sourceMappingURL=index.js.map