@korautils/forms
Version:

9 lines (8 loc) • 1.5 kB
JavaScript
import {d,a as a$1}from'./chunk-6DPEEXVJ.mjs';import*as a from'react';import {createElement}from'react';import x from'@mui/material/Tabs';import {styled,Tab,Box}from'@mui/material';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var T=styled(Tab)``,v=styled("div")`
display: block;
width: 100%;
.MuiTabs-root {
background-color: #f8f8f8;
}
`;var E=({children:t,value:n,currentValue:r,...l})=>jsx("div",{role:"tabpanel",style:{display:n===r?"block":"none"},id:`simple-tabpanel-${r}`,"aria-labelledby":`simple-tab-${r}`,...l,children:jsx(Box,{sx:{padding:"10px 0"},children:t})}),V=t=>({id:`simple-tab-${t}`,"aria-controls":`simple-tabpanel-${t}`,value:t}),w=a.forwardRef(function({name:n=a$1(),options:r=[],value:l={},onChange:i,formHandler:c={}},P){let {tabValue:b=r?.[0]?.value}=l,{watch:d$1}=c;d$1();let f=d$1(n),h=a.useCallback((e,o)=>{i({target:{name:n,value:{...f,tabValue:o}}});},[n,i,f]),p=r.filter(e=>e.visible!=!1);return jsx(v,{className:"TabsRendererWrapper",ref:P,children:jsxs(Fragment,{children:[jsx(x,{value:b,onChange:h,children:!d(r)&&p.map((e,o)=>createElement(T,{label:e.label,...V(e.value),wrapped:!0,key:o}))}),!d(p)&&p.map((e,o)=>jsxs(E,{value:e.value,currentValue:b,children:[typeof e.children=="string"&&e.children,a.isValidElement(e.children)&&a.cloneElement(e.children,{formHandler:c,parentName:n})]},o))]})})}),R=a.memo(w);var D=R;export{D as default};//# sourceMappingURL=TabsRenderer-RZDA6NEF.mjs.map
//# sourceMappingURL=TabsRenderer-RZDA6NEF.mjs.map