UNPKG

@anoki/fse-ui

Version:

FSE UI components library

3 lines (2 loc) 909 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),f=require("./index.cjs480.js");function S(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=S(b);function g({prop:e,defaultProp:o,onChange:t=()=>{}}){const[n,c]=v({defaultProp:o,onChange:t}),l=e!==void 0,i=l?e:n,u=f.useCallbackRef(t),d=s.useCallback(r=>{if(l){const a=typeof r=="function"?r(e):r;a!==e&&u(a)}else c(r)},[l,e,c,u]);return[i,d]}function v({defaultProp:e,onChange:o}){const t=s.useState(e),[n]=t,c=s.useRef(n),l=f.useCallbackRef(o);return s.useEffect(()=>{c.current!==n&&(l(n),c.current=n)},[n,c,l]),t}exports.useControllableState=g; //# sourceMappingURL=index.cjs473.js.map