ivt
Version:
Ivt Components Library
3 lines (2 loc) • 752 B
JavaScript
import*as e from"react";import{u as t}from"./index-C99OdH8-.mjs";var r=e[" useInsertionEffect ".trim().toString()]||t;function n({prop:t,defaultProp:n,onChange:o=()=>{},caller:u}){const[c,f,s]=function({defaultProp:t,onChange:n}){const[o,u]=e.useState(t),c=e.useRef(o),f=e.useRef(n);return r((()=>{f.current=n}),[n]),e.useEffect((()=>{c.current!==o&&(f.current?.(o),c.current=o)}),[o,c]),[o,u,f]}({defaultProp:n,onChange:o}),a=void 0!==t,i=a?t:c;{const r=e.useRef(void 0!==t);e.useEffect((()=>{const e=r.current;if(e!==a){}r.current=a}),[a,u])}const p=e.useCallback((e=>{if(a){const r=function(e){return"function"==typeof e}(e)?e(t):e;r!==t&&s.current?.(r)}else f(e)}),[a,t,f,s]);return[i,p]}export{n as u};
//# sourceMappingURL=index-CJw5YZXp.mjs.map