UNPKG

foxact

Version:

React Hooks/Utils done right. For browser, SSR, and React Server Components.

1 lines 498 B
"use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.cjs");function t(){return{c:!1,e:!1}}exports.useCompositionInput=function(n){const u=r.useSingleton(t),c=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(n(r),u.current.e=!0)}},[n,u]),i=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),s=e.useCallback(e=>{u.current.c=!1,u.current.e||c(e)},[u,c]);return{onChange:c,onCompositionStart:i,onCompositionEnd:s}};