index.js 1.2 KB

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