// @ts-nocheck
import { ref } from 'vue'
import { isFunction } from '@vue/shared'
// import { isKorean } from '@element-plus/utils'
import { isKorean } from 'element-plus/es/utils/index.mjs'

export function useInput(handleInput: (event: InputEvent) => void) {
	const isComposing = ref(false)

	const handleCompositionStart = () => {
		isComposing.value = true
	}

	const handleCompositionUpdate = event => {
		const text = event.target.value
		const lastCharacter = text[text.length - 1] || ''
		isComposing.value = !isKorean(lastCharacter)
	}

	const handleCompositionEnd = event => {
		if (isComposing.value) {
			isComposing.value = false
			if (isFunction(handleInput)) {
				handleInput(event)
			}
		}
	}

	return {
		handleCompositionStart,
		handleCompositionUpdate,
		handleCompositionEnd
	}
}
