{"version":3,"file":"useInput.mjs","sources":["../../../../../../packages/components/select-v2/src/useInput.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { isKorean } from '@element-plus/utils/isDef'\n\nexport function useInput(handleInput: (event: InputEvent) => void) {\n  const isComposing = ref(false)\n\n  const handleCompositionStart = () => {\n    isComposing.value = true\n  }\n\n  const handleCompositionUpdate = (event) => {\n    const text = event.target.value\n    const lastCharacter = text[text.length - 1] || ''\n    isComposing.value = !isKorean(lastCharacter)\n  }\n\n  const handleCompositionEnd = (event) => {\n    if (isComposing.value) {\n      isComposing.value = false\n      if (isFunction(handleInput)) {\n        handleInput(event)\n      }\n    }\n  }\n\n  return {\n    handleCompositionStart,\n    handleCompositionUpdate,\n    handleCompositionEnd,\n  }\n}\n"],"names":[],"mappings":";;;;kBAIyB,aAA0C;AACjE,QAAM,cAAc,IAAI;AAExB,QAAM,yBAAyB,MAAM;AACnC,gBAAY,QAAQ;AAAA;AAGtB,QAAM,0BAA0B,CAAC,UAAU;AACzC,UAAM,OAAO,MAAM,OAAO;AAC1B,UAAM,gBAAgB,KAAK,KAAK,SAAS,MAAM;AAC/C,gBAAY,QAAQ,CAAC,SAAS;AAAA;AAGhC,QAAM,uBAAuB,CAAC,UAAU;AACtC,QAAI,YAAY,OAAO;AACrB,kBAAY,QAAQ;AACpB,UAAI,WAAW,cAAc;AAC3B,oBAAY;AAAA;AAAA;AAAA;AAKlB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;;;;"}