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