in packages/core/src/effects/useContentEditableEffect.ts [69:93]
function onInputHandler(event: InputEvent) {
const node = globalState.activeElements.get(this)
event.stopPropagation()
event.preventDefault()
if (node) {
const target = event.target as Element
const handler = () => {
globalState.queue.length = 0
if (globalState.isComposition) return
const restore = createCaretCache(target)
Path.setIn(
node.props,
this.getAttribute(engine.props.contentEditableAttrName),
target?.textContent
)
requestIdle(() => {
node.takeSnapshot('update:node:props')
restore()
})
}
globalState.queue.push(handler)
clearTimeout(globalState.requestTimer)
globalState.requestTimer = setTimeout(handler, 600)
}
}