@lanaco/lnc-react-ui
Version:
React component library
14 lines (13 loc) • 4.71 kB
JavaScript
"use strict";const e=require("react/jsx-runtime"),W=require("react"),r=require("./index-BPVoEhTF.cjs"),g=require("./emotion-styled.browser.esm-Cle7tAM9.cjs"),$=require("./FlexGrid.cjs"),M=require("./FlexGridItem.cjs"),b=require("./Button.cjs"),m=require("./IconButton.cjs"),Y=require("./TextInput.cjs"),U=require("./CheckBoxInput.cjs"),H=require("./RadioGroup.cjs"),J=require("./NumberInput.cjs"),K=require("./DecimalInput.cjs"),L=require("./PasswordInput.cjs"),Q=require("./TextAreaInput.cjs"),X=require("./TimeInput.cjs"),Z=require("./ColorInput.cjs"),z=require("./FileInput.cjs"),ee=require("./RangeSlider.cjs"),x=require("./utils-NZLCh-J5.cjs"),re=require("./FormField.cjs"),te=require("./emotion-element-f0de968e.browser.esm-B7k6i6lC.cjs"),oe=g.newStyled.div`
display: flex;
justify-content: space-between;
`,se=g.newStyled.form`
display: flex;
flex-direction: column;
gap: 1rem;
box-shadow: ${l=>x.getComponentPropValue(l.theme,"Popover",l.color,"enabled","boxShadow")};
border-radius: ${l=>x.getBorderRadiusValueWithUnits(l.theme,l.borderRadius)};
border-top: 1px solid rgba(0, 0, 0, 0.04);
padding: 12px;
background-color: ${l=>x.getColorRgbaValue(l.theme,"Popover","default","enabled","bg")};
`,ne=(l,s,i,n,a,o)=>{var c;switch(l||""){case"text":return e.jsx(Y,{name:i,color:a,size:o,...s,defaultValue:n});case"checkbox":return e.jsx(U,{color:a,size:o,name:i,...s});case"radioGroup":return e.jsx(H,{color:a,size:o,value:n,radioProps:s.radioProps,name:i,items:[...(c=s.items)==null?void 0:c.map(d=>({value:d.value,label:d.label}))]});case"number":return e.jsx(J,{color:a,size:o,name:i,...s,defaultValue:n});case"decimal":return e.jsx(K,{name:i,color:a,size:o,...s,defaultValue:n});case"file":return e.jsx(z,{name:i,color:a,size:o,...s,defaultValue:n});case"password":return e.jsx(L,{name:i,color:a,...s,defaultValue:n});case"textArea":return e.jsx(Q,{name:i,color:a,size:o,...s,defaultValue:n});case"time":return e.jsx(X,{name:i,color:a,size:o,...s,defaultValue:n});case"color":return e.jsx(Z,{name:i,color:a,size:o,...s,defaultValue:n});case"range":return e.jsx(ee,{name:i,color:a,size:o,...s,defaultValue:n});default:return n}},y=W.forwardRef((l,s)=>{const{__TYPE__:i="FORM_VIEW",goToPreviousView:n,id:a,data:o,fields:c=[],errors:d={},flexGridProps:f,goBackText:P="Go back",backActive:j=!0,nextActive:h=!0,previousActive:q=!0,editActive:ae,disableGoBack:k=!1,disableNext:w=!1,disablePrevious:v=!1,disableEdit:ie,disableDiscard:I=!1,disableSave:V=!1,discardText:_="Discard",saveText:F="Save",goToNext:S=()=>{},goToPrevious:B=()=>{},onEdit:le=()=>{},goBack:R=()=>{},onSubmit:A=()=>{},onDiscard:C=()=>{},className:de="",style:ce={},color:p="primary",size:T="small",children:G,...E}=l,N=te.useTheme(),D=(t,u)=>{n&&n(),R(t,u)},O=()=>e.jsx(e.Fragment,{children:G||e.jsx($,{spacing:10,...f,children:c.map((t,u)=>e.jsx(M,{...t,children:e.jsx(re,{label:t.label,text:d[t.accessor],color:d[t.accessor]?"danger":p,size:T,children:t.type=="custom"?t.element:ne(t.type,t.inputProps,t.accessor,o[t.accessor],d[t.accessor]?"danger":p,T)},u)},u))})});return e.jsxs(se,{ref:s,theme:N,color:p,borderRadius:"regular",...E,children:[j&&e.jsx(b,{leadingIcon:"arrow-circle-left",text:P,btnType:"outline",style:{width:"fit-content"},onClick:t=>D(t,o),disabled:k,type:"button"},0),O(),e.jsxs(oe,{children:[e.jsxs("div",{children:[h&&e.jsxs(e.Fragment,{children:[e.jsx(m,{btnType:"outline",icon:"angle-left",disabled:v,onClick:t=>B(o,t),type:"button"})," "]}),q&&e.jsx(m,{btnType:"outline",icon:"angle-right",disabled:w,onClick:t=>S(o,t),type:"button"})]}),e.jsxs("div",{children:[e.jsx(b,{leadingIcon:"eraser",btnType:"outline",color:"warning",text:_,disabled:I,onClick:C,type:"button"})," ",e.jsx(b,{leadingIcon:"floppy-disk",btnType:"tinted",color:"success",text:F,disabled:V,onClick:A})]})]})]},a)});y.propTypes={__TYPE__:r.PropTypes.string,goBackText:r.PropTypes.string,fields:r.PropTypes.array,data:r.PropTypes.object,errors:r.PropTypes.object,backActive:r.PropTypes.bool,nextActive:r.PropTypes.bool,disableGoBack:r.PropTypes.bool,disableNext:r.PropTypes.bool,disablePrevious:r.PropTypes.bool,previousActive:r.PropTypes.bool,editActive:r.PropTypes.bool,flexGridProps:r.PropTypes.any,disableDiscard:r.PropTypes.bool,disableSave:r.PropTypes.bool,discardText:r.PropTypes.string,saveText:r.PropTypes.string,goToNext:r.PropTypes.func,goToPrevious:r.PropTypes.func,onEdit:r.PropTypes.func,goBack:r.PropTypes.func,onSubmit:r.PropTypes.func,className:r.PropTypes.string,style:r.PropTypes.object,color:r.PropTypes.oneOf(["primary","secondary","success","warning","danger","information","neutral","gray"]),size:r.PropTypes.oneOf(["small","medium","large"])};y.displayName="FORM_VIEW";module.exports=y;