ponchojs
Version:
Poncho
3 lines (2 loc) • 1.94 kB
JavaScript
import{a as t,j as e,F as s}from"./emotion-react-jsx-runtime.esm-991ce217.js";import{makeStyles as i}from"@material-ui/styles";import{useFormikContext as n}from"formik";import{createContext as r,useContext as a,useState as o,useEffect as l,useCallback as m}from"react";import{u as c,b as d}from"./useFormContext-57a22edf.js";import{Button as b}from"./button.js";const u=r({}),x=()=>a(u),g=e=>{const{children:s,noBtns:i,size:n,submitText:r,subtitle:a,title:m,btns:c,resetText:d,disableBtns:b,extraBtns:x}=e,[g,p]=o({noBtns:i,size:n,submitText:r,subtitle:a,title:m,resetText:d,btns:c,disableBtns:b,extraBtns:x});return l((()=>{p((t=>Object.assign(Object.assign({},t),{noBtns:i,size:n,submitText:r,subtitle:a,title:m,btns:c,resetText:d,disableBtns:b,extraBtns:x})))}),[i,n,r,a,m,c,d,b,x]),t(u.Provider,Object.assign({value:g},{children:s}),void 0)},p=()=>{var i=v();const{loading:r,steps:a,actualStep:o}=c(),{noBtns:l,submitText:u,btns:g,resetText:p,disableBtns:f,extraBtns:B}=x(),j=u||"Enviar",h=p||"Deshacer cambios",{handleSubmit:T,resetForm:O}=n(),{nextStep:C,prevStep:S}=d(),k=m((()=>{var i=1<a.length;const n=o===a.length-1;return i?e(s,{children:[0!==o&&t(b,Object.assign({onClick:S,disabled:r||f},{children:"Anterior"}),void 0),t(b,Object.assign({loading:r,variant:"success",className:"ml-2",disabled:f,onClick:()=>{(n?T:C)()}},{children:n?j:"Siguiente"}),void 0)]},void 0):null===(i=g||["submit"])||void 0===i?void 0:i.sort(((t,e)=>t.localeCompare(e))).map((e=>t(b,Object.assign({loading:r,disabled:f,variant:"reset"===e?"link":"success",className:"ml-2",onClick:()=>{("reset"===e?O:T)()}},{children:"reset"===e?h:j}),e)))}),[T,r,a,j,o,C,S,g,h,O,f]);return l?null:e("div",Object.assign({className:i.btnRoot},{children:[B,k()]}),void 0)},v=i((()=>({formRoot:{display:"flex",flexDirection:"column"},btnRoot:{alignSelf:"flex-end",marginTop:16,marginBottom:16}})));export{g as C,p as F,x as u};
//# sourceMappingURL=FormBtns-45e4c6a4.js.map