{"version":3,"file":"useInput.mjs","sources":["../../../../../../packages/components/select-v2/src/useInput.ts"],"sourcesContent":["// @ts-nocheck\nimport { ref } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { isKorean } from '@bigin/utils'\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":";;;;;AAKO,SAAS,SAAS,WAA0C,EAAA;AACjE,EAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA,CAAA;AAE7B,EAAA,MAAM,yBAAyB,MAAM;AACnC,IAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AAAA,GACtB,CAAA;AAEA,EAAM,MAAA,uBAAA,GAA0B,CAAC,KAAU,KAAA;AACzC,IAAM,MAAA,IAAA,GAAO,MAAM,MAAO,CAAA,KAAA,CAAA;AAC1B,IAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,IAAK,CAAA,MAAA,GAAS,CAAM,CAAA,IAAA,EAAA,CAAA;AAC/C,IAAY,WAAA,CAAA,KAAA,GAAQ,CAAC,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,GAC7C,CAAA;AAEA,EAAM,MAAA,oBAAA,GAAuB,CAAC,KAAU,KAAA;AACtC,IAAA,IAAI,YAAY,KAAO,EAAA;AACrB,MAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AACpB,MAAI,IAAA,UAAA,CAAW,WAAW,CAAG,EAAA;AAC3B,QAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,OACnB;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,sBAAA;AAAA,IACA,uBAAA;AAAA,IACA,oBAAA;AAAA,GACF,CAAA;AACF;;;;"}