foxact
Version:
React Hooks/Utils done right. For browser, SSR, and React Server Components.
1 lines • 470 B
JavaScript
import"client-only";import{useCallback as r}from"react";import{useSingleton as t}from"../use-singleton/index.mjs";function e(){return{c:!1,e:!1}}function n(n){const c=t(e),u=r(r=>{if("value"in r.target){const t=r.target.value;c.current.c?c.current.e=!1:(n(t),c.current.e=!0)}},[n,c]),o=r(()=>{c.current.c=!0,c.current.e=!1},[c]),i=r(r=>{c.current.c=!1,c.current.e||u(r)},[c,u]);return{onChange:u,onCompositionStart:o,onCompositionEnd:i}}export{n as useCompositionInput};