@iqmo/browser
Version:
Browser Stlite
2 lines (1 loc) • 960 B
JavaScript
import{r as g,K as M}from"./index-C9lG8Cnd.js";import{u as F}from"./FormClearHelper-CzLLXFUf.js";function S({getStateFromWidgetMgr:f,getDefaultState:r,updateWidgetMgrState:l,element:t,widgetMgr:e,fragmentId:n,onFormCleared:m}){const[d,u]=g.useState(()=>f(e,t)??r(e,t)),[o,a]=g.useState({value:d,fromUi:!1});g.useEffect(()=>{M(o)||(a(null),u(o.value),l(t,e,o,n))},[o,l,t,e,n]);const i=g.useCallback(()=>{a({value:r(e,t),fromUi:!0}),m==null||m()},[a,t,r,e,m]);return F({widgetMgr:e,element:t,onFormCleared:i}),[d,a]}function p({getStateFromWidgetMgr:f,getDefaultStateFromProto:r,getCurrStateFromProto:l,updateWidgetMgrState:t,element:e,widgetMgr:n,fragmentId:m,onFormCleared:d}){const u=g.useCallback((i,s)=>r(s),[r]),[o,a]=S({getStateFromWidgetMgr:f,getDefaultState:u,updateWidgetMgrState:t,element:e,widgetMgr:n,fragmentId:m,onFormCleared:d});return g.useEffect(()=>{e.setValue&&(e.setValue=!1,a({value:l(e),fromUi:!1}))},[e,l,a]),[o,a]}export{p as a,S as u};