UNPKG

@acrool/react-hooks

Version:

Common javascript utils methods for project development

3 lines (2 loc) 795 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),d=()=>{const e=n.useRef(null),[a,u]=n.useState(!1),s=n.useCallback(()=>u(!0),[]),c=n.useCallback(()=>u(!1),[]);return n.useEffect(()=>{var t,r;return e.current&&((t=e.current)==null||t.addEventListener("focus",s),(r=e.current)==null||r.addEventListener("blur",c)),()=>{e.current&&(e.current.removeEventListener("focus",s),e.current.removeEventListener("blur",c))}},[]),{inputRef:e,focus:(t=0)=>{var o;if(!e.current)return;const r=e.current.value.split(` `),i=t==="last"?r.length:t,l=r.slice(0,i).reduce((f,b)=>f+b.length+1,0)+(((o=r[t])==null?void 0:o.length)??0);e.current.focus(),e.current.setSelectionRange(l,l)},blur:()=>{e.current&&e.current.blur()},isFocus:a}};exports.useTextArea=d;