@data-c/ui 0.0.34-alpha.0 → 0.0.35-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -117,26 +117,6 @@ interface FilterProviderProps<T = unknown> {
117
117
  declare function FilterProvider<T>(props: FilterProviderProps<T>): JSX.Element;
118
118
  declare function useFilter<T = unknown, D = unknown>(): FilterContextProps<T, D>;
119
119
 
120
- interface PageDataContextProps<T = unknown> {
121
- formValues: T;
122
- isOpen: boolean;
123
- isSubmitting: boolean;
124
- }
125
- declare const PageDataContext: React.Context<PageDataContextProps<unknown>>;
126
- interface PageApiContextProps<T = unknown> {
127
- openForm: (formValues: T) => void;
128
- closeForm: () => void;
129
- onChangeFormValue: (e: React.ChangeEvent<HTMLInputElement>) => void;
130
- toggleSubmit: (isSubmitting: boolean) => void;
131
- }
132
- declare const PageApiContext: React.Context<PageApiContextProps<unknown>>;
133
- interface PageProviderProps {
134
- children: ReactNode;
135
- }
136
- declare function FormProvider(props: PageProviderProps): JSX.Element;
137
- declare function useFormData<T>(): PageDataContextProps<T>;
138
- declare function useFormApi<T>(): PageApiContextProps<T>;
139
-
140
120
  declare function FilterControl(): JSX.Element;
141
121
 
142
122
  interface FilterProps {
@@ -163,4 +143,4 @@ declare module '@mui/material/styles' {
163
143
  }
164
144
  declare const theme: _mui_material_styles.Theme;
165
145
 
166
- export { Button, DataTable, DataTableOptions, DataTableOptionsProps, DataTableProps, Dialog, DialogProps, Filter, FilterContext, FilterContextProps, FilterControl, FilterOptions, FilterProps, FilterProvider, FilterProviderProps, FormContainer, FormContainerProps, FormProvider, OptionStyles, PageApiContext, PageApiContextProps, PageDataContext, PageDataContextProps, PageProviderProps, PageTitle, Tooltip, TooltipProps, theme, useFilter, useFormApi, useFormData };
146
+ export { Button, DataTable, DataTableOptions, DataTableOptionsProps, DataTableProps, Dialog, DialogProps, Filter, FilterContext, FilterContextProps, FilterControl, FilterOptions, FilterProps, FilterProvider, FilterProviderProps, FormContainer, FormContainerProps, OptionStyles, PageTitle, Tooltip, TooltipProps, theme, useFilter };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Be=Object.defineProperty,Se=Object.defineProperties;var ke=Object.getOwnPropertyDescriptors;var R=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var ae=(o,e,t)=>e in o?Be(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,i=(o,e)=>{for(var t in e||(e={}))ne.call(e,t)&&ae(o,t,e[t]);if(R)for(var t of R(e))ie.call(e,t)&&ae(o,t,e[t]);return o},p=(o,e)=>Se(o,ke(e));var C=(o,e)=>{var t={};for(var r in o)ne.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&R)for(var r of R(o))e.indexOf(r)<0&&ie.call(o,r)&&(t[r]=o[r]);return t};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var Ie=o=>{let n=o,{isLoading:e,children:t}=n,r=C(n,["isLoading","children"]);return _jsxruntime.jsx.call(void 0, _material.Button,p(i({},r),{disabled:e?!0:r.disabled,children:e?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:22}):t}))},h= exports.Button =Ie;function ue(o){let{title:e,children:t,typographyProps:r}=o,n=_material.useMediaQuery.call(void 0, a=>a.breakpoints.down("sm"));return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:n?"column":"row",justifyContent:"space-between",alignItems:"center",gap:2,marginBottom:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{component:"h1",variant:"h2",sx:{fontWeight:"700"},children:e}),_jsxruntime.jsx.call(void 0, _material.Box,{children:t})]})}var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _muidatatables = require('mui-datatables'); var _muidatatables2 = _interopRequireDefault(_muidatatables);var _e=o=>{let{count:e,rowsPerPage:t,page:r,changePage:n,changeRowsPerPage:a,rowsPerPageOptions:s}=o,d=_react.useMemo.call(void 0, ()=>Math.max(0,Math.ceil(e/t)),[e,t]);return _jsxruntime.jsx.call(void 0, _material.TableFooter,{children:_jsxruntime.jsx.call(void 0, _material.TableRow,{children:_jsxruntime.jsxs.call(void 0, _material.TableCell,{colSpan:1e3,sx:{display:"flex",justifyContent:"flex-end",padding:"12px 12px 12px 12px"},children:[_jsxruntime.jsx.call(void 0, _material.TextField,{sx:{width:"128px",fontSize:"8pt"},label:"Tamanho da p\xE1gina",size:"small",value:t,select:!0,onChange:u=>{a(u.target.value)},children:s.map(u=>_jsxruntime.jsx.call(void 0, _material.MenuItem,{value:u,children:u},u))}),_jsxruntime.jsx.call(void 0, _material.Pagination,{variant:"outlined",shape:"rounded",count:d,showFirstButton:!0,showLastButton:!0,onChange:(u,c)=>{n(c)},page:r,color:"primary"})]})})})},ce=_e;var Je={body:{noMatch:"Nenhum registro encontrado",toolTip:"Ordenar"},pagination:{next:"Pr\xF3ximo",previous:"Anterior",rowsPerPage:"Linhas por p\xE1g:",displayRows:"de"},toolbar:{search:"Procurar",downloadCsv:"Download CSV",print:"Imprimir",viewColumns:"Colunas",filterTable:"Procurar na Tabela"},filter:{all:"Todos",title:"Filtros",reset:"Limpar"},viewColumns:{title:"Visualizar Colunas",titleAria:"Mostrar/Ocultar Colunas da Tabela"},selectedRows:{text:"Linhas Selecionadas",delete:"Remover",deleteAria:"Remover Linhas Selecionadas"}},M={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:Je,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[15,50,100],rowsPerPage:15},Ke=o=>{let{tableTitle:e,isLoading:t,isFetching:r,data:n,columns:a,options:s,pagination:d,changePage:u,changePageSize:c}=o,l=s||{};return l&&(u&&(l.onChangePage=u),c&&(l.onChangeRowsPerPage=c),l.customFooter=(S,P,oe,te,m,g)=>!d||t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, ce,{count:d.totalRecords,page:d.page,rowsPerPage:d.pageSize,rowsPerPageOptions:(l==null?void 0:l.rowsPerPageOptions)||(M==null?void 0:M.rowsPerPageOptions),changeRowsPerPage:l==null?void 0:l.onChangeRowsPerPage,changePage:l==null?void 0:l.onChangePage,textLabels:g})),_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[r&&_jsxruntime.jsx.call(void 0, _material.LinearProgress,{}),_jsxruntime.jsx.call(void 0, _muidatatables2.default,{title:e,data:n,columns:a,options:i(i({},M),l)})]})},Xe= exports.DataTable =Ke;var ao=_material.styled.call(void 0, (0, _material.Dialog))(({theme:o})=>({"& .MuiDialogContent-root":{paddingTop:"16px"},"& .MuiDialog-paper":{borderRadius:"6px"}}));function D(o){let{title:e,children:t,actions:r}=o;return _jsxruntime.jsxs.call(void 0, ao,p(i({},o),{children:[_jsxruntime.jsx.call(void 0, _material.DialogTitle,{variant:"h3",children:e}),_jsxruntime.jsx.call(void 0, _material.DialogContent,{children:t}),_jsxruntime.jsx.call(void 0, _material.DialogActions,{children:r})]}))}D.defaultProps={fullWidth:!0};var _iconsmaterial = require('@mui/icons-material');var _styles = require('@mui/material/styles');var mo=_styles.styled.call(void 0, t=>{var r=t,{className:o}=r,e=C(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,p(i({},e),{classes:{popper:o}}))})(({theme:o})=>({[`& .${_material.tooltipClasses.tooltip}`]:{backgroundColor:"#f5f5f9",color:"rgba(0, 0, 0, 0.87)",maxWidth:320,minWidth:180,fontSize:o.typography.pxToRem(12),border:"1px solid #dadde9"}})),fo={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},go=o=>{let{title:e,type:t}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mt:.5},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",alignContent:"center"},children:[_jsxruntime.jsx.call(void 0, _material.Icon,{color:t,fontSize:"small",children:t})," ",_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"subtitle2",sx:{ml:.5},children:fo[t]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:e})]})},me=o=>{let a=o,{type:e,children:t,title:r}=a,n=C(a,["type","children","title"]);return _jsxruntime.jsx.call(void 0, mo,p(i({arrow:!0,title:_jsxruntime.jsx.call(void 0, go,{title:r||"",type:e}),enterDelay:300},n),{children:t}))};me.defaultProps={type:"info"};var w=me;var Vt=()=>({style:{width:"80px",textAlign:"center"}});function q(o){let{onClick:e,value:t,extraOptions:r,displayUpdateButton:n,displayDeleteButton:a,disableTooltip:s}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{children:[r&&r.map(({id:d,icon:u,iconButtonProps:c,tooltip:l})=>_jsxruntime.jsxs.call(void 0, _material.IconButton,p(i({onClick:()=>e(d,t),size:"small"},c),{children:[l&&_jsxruntime.jsx.call(void 0, w,{type:l.type,title:l.content,children:_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:u})}),!l&&_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:u})]}),d)),n&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",color:"primary",onClick:()=>e("edit",t),children:[s&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"}),!s&&_jsxruntime.jsx.call(void 0, w,{type:"info",title:_jsxruntime.jsx.call(void 0, _material.Box,{children:"Clique para editar este registro."}),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"})})]}),a&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",onClick:()=>e("delete",t),color:"primary",children:[s&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"}),!s&&_jsxruntime.jsx.call(void 0, w,{type:"warning",title:_jsxruntime.jsx.call(void 0, _material.Box,{children:"Clique para remover este registro."}),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"})})]})]})}q.defaultProps={displayUpdateButton:!0,displayDeleteButton:!0,disableTooltip:!0};function bo(o,e){switch(e.type){case"updateFormValues":return p(i({},o),{formValues:e.formValues});case"updateFormValue":return p(i({},o),{formValues:p(i({},o.formValues),{[e.payload.name]:e.payload.value})});case"updateFormValues":return p(i({},o),{formValues:e.formValues});case"updateIsOpen":return p(i({},o),{isOpen:e.isOpen});case"updateIsSubmitting":return p(i({},o),{isSubmitting:e.isSubmitting})}}var he=_react2.default.createContext({}),Fe= exports.PageApiContext =_react2.default.createContext({});function Te(o){let{children:e}=o,[t,r]=_react.useReducer.call(void 0, bo,{formValues:{}}),n=_react.useMemo.call(void 0, ()=>{function a(c){r({type:"updateFormValues",formValues:c}),r({type:"updateIsOpen",isOpen:!0})}function s(){r({type:"updateIsOpen",isOpen:!1})}function d(c){let l=c.target.type,S=c.target.name,P;switch(l){case"text":P=c.target.value;break;case"checkbox":P=c.target.checked;break;default:P=c.target.value}r({type:"updateFormValue",payload:{name:S,value:P}})}function u(c){r({type:"updateIsSubmitting",isSubmitting:c})}return{openForm:a,closeForm:s,onChangeFormValue:d,toggleSubmit:u}},[]);return _jsxruntime.jsx.call(void 0, Fe.Provider,{value:n,children:_jsxruntime.jsx.call(void 0, he.Provider,{value:t,children:e})})}function O(){return _react.useContext.call(void 0, he)}function V(){return _react.useContext.call(void 0, Fe)}function $(o){let{formValues:e,isSubmitting:t}=O(),{closeForm:r}=V(),{onSubmitForm:n}=o;return _jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-end",alignItems:"center",spacing:2,children:[_jsxruntime.jsx.call(void 0, h,{color:"error",onClick:r,children:"Cancelar"}),_jsxruntime.jsx.call(void 0, h,{isLoading:t,variant:"contained",onClick:()=>{n(e)},children:"Salvar"})]})}var Co=()=>{let{openForm:o}=V();return _jsxruntime.jsx.call(void 0, h,{variant:"contained",onClick:()=>{o({})},children:"Adicionar"})};function G(o){let{view:e,children:t,title:r,actions:n,onSubmitForm:a,triggerButton:s}=o,{isOpen:d}=O();console.log("ON submut",a);let u=n||_jsxruntime.jsx.call(void 0, $,{onSubmitForm:a||(()=>{throw new Error("Nenhuma a\xE7\xE3o foi definida para ser executada em onsSubmitForm")})}),c=s==="none"?null:s||_jsxruntime.jsx.call(void 0, Co,{});return e==="dialog"?_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[c,_jsxruntime.jsx.call(void 0, D,{open:d,title:r,children:t,actions:u})]}):_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:2,children:[t,u]})}G.defaultProps={view:"dialog"};var De=_react2.default.createContext({filterValues:{},appliedValues:null,openFilter:()=>{},closeFilter:()=>{},applyFilterValues:()=>{}});function E(o){let{filterValues:e,children:t}=o,[r,n]=_react.useState.call(void 0, e),[a,s]=_react.useState.call(void 0, {}),[d,u]=_react.useState.call(void 0, !1);_react.useEffect.call(void 0, ()=>{l()},[e]);function c(m){let g=m.target.type,y=m.target.name,k;switch(g){case"text":k=m.target.value;break;case"checkbox":k=m.target.checked;break;default:k=m.target.value}n(re=>p(i({},re),{[y]:p(i({},re[y]),{value:k})}))}function l(){let m=Object.keys(r),g={};m.forEach(y=>{r[y].value!==void 0&&(g[y]=r[y].value)}),s(g)}function S(m){delete a[m],delete r[m].value,s(g=>i(i({},g),a)),n(g=>i(i({},g),r))}function P(){s({}),n(e)}function oe(){u(!0)}function te(){u(!1)}return _jsxruntime.jsx.call(void 0, De.Provider,{value:{filterValues:r,appliedValues:a,isOpen:d,openFilter:oe,closeFilter:te,onChangeFilterValue:c,applyFilterValues:l,removeFilterValue:S,removeAllFilterValues:P},children:t})}function F(){return _react.useContext.call(void 0, De)}function L(){let{filterValues:o,appliedValues:e,removeFilterValue:t,removeAllFilterValues:r}=F();return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between"},children:[_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:Object.keys(e||{}).map(n=>_jsxruntime.jsx.call(void 0, _material.Chip,{size:"small",label:`${o[n].label} - ${e&&e[n]}`,onDelete:()=>{t&&t(n)},variant:"outlined"},n))}),Object.keys(e||{}).length>0&&_jsxruntime.jsx.call(void 0, _material.Box,{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>{r&&r()},children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{fontSize:"small",color:"error"})})})]})}function N(o){let{title:e,actions:t,onClose:r,children:n}=o;return _jsxruntime.jsx.call(void 0, _material.Drawer,p(i({PaperProps:{style:{borderRadius:"12px 0 0 12px"}}},o),{children:_jsxruntime.jsxs.call(void 0, _material.Stack,{sx:{width:"360px",height:"100%",justifyContent:"space-between",backgroundColor:a=>a.palette.background.paper},children:[_jsxruntime.jsxs.call(void 0, _material.Stack,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",alignContent:"center",height:"48px",borderBottom:a=>`solid 1px ${a.palette.grey[300]}`},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{component:"h1",variant:"h5",sx:{pl:a=>a.spacing(2)},children:e}),r&&_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:r,children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{color:"error"})})]}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{padding:a=>a.spacing(2)},children:n})]}),t&&_jsxruntime.jsx.call(void 0, _material.Box,{sx:{pt:a=>a.spacing(1),pb:a=>a.spacing(1),pl:a=>a.spacing(2),pr:a=>a.spacing(2),borderTop:a=>`solid 1px ${a.palette.grey[300]}`},children:t})]})}))}N.defaultProps={anchor:"right"};var Ho=o=>{let{label:e}=o,{openFilter:t}=F();return _jsxruntime.jsx.call(void 0, _material.Button,{variant:"outlined",onClick:()=>{t()},startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Search,{}),children:e})},Wo=()=>{let{applyFilterValues:o,closeFilter:e}=F();function t(){e()}function r(){o(),e()}return _jsxruntime.jsxs.call(void 0, _material.Stack,{sx:{flexDirection:"row",justifyContent:"space-between"},children:[_jsxruntime.jsx.call(void 0, _material.Button,{onClick:t,color:"error",children:"Cancelar"}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:"contained",onClick:r,children:"Aplicar Filtros"})]})},_o=o=>{let{title:e,children:t,onApplyFilters:r}=o,{isOpen:n,closeFilter:a,appliedValues:s}=F();return _react.useEffect.call(void 0, ()=>{r&&r(s)},[s]),_jsxruntime.jsx.call(void 0, N,{title:e,open:n,children:t,onClose:()=>a(),actions:_jsxruntime.jsx.call(void 0, Wo,{})})};function j(o){let{buttonLabel:e,title:t,filterValues:r,children:n,onApplyFilters:a,internalProviderDisabled:s}=o,d=_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",direction:"row",justifyContent:"flex-end",alignItems:"center",alignContent:"center"},children:[_jsxruntime.jsx.call(void 0, L,{}),_jsxruntime.jsx.call(void 0, Ho,{label:e})]}),_jsxruntime.jsx.call(void 0, _o,{onApplyFilters:a,title:t||"",children:n})]});return s?d:_jsxruntime.jsx.call(void 0, E,{filterValues:r,children:d})}j.defaultProps={buttonLabel:"Pesquisar",title:"Pesquisar",internalProviderDisabled:!1};var ee="#59C3E0",Go={palette:{text:{primary:"#262626",secondary:"#808080"},primary:{light:"#83EDFF",main:ee,dark:"#2C96B3"},background:{default:"#F2F2F2",paper:"#FAFAFA"},error:{main:"#F44336",dark:"#BE0D00",light:"#FF6C5F"},warning:{main:"#FFCD38",dark:"#C29000",light:"#FFED58"},success:{main:"#4CAF50",dark:"#187B1C",light:"#7DE081"},grey:{800:"#202024",700:"#262626",600:"#333333",500:"#808080",400:"#BBBBBA",300:"#E0E0E0",200:"#F2F2F2",100:"#FAFAFA"}},typography:{h1:{fontSize:"2rem",fontFamily:"Poppins"},h2:{fontSize:"1.75rem"},h3:{fontSize:"1.5rem"},h4:{fontSize:"1.25rem"},h5:{fontSize:"1rem"},h6:{fontSize:"0.875rem"},button:{fontSize:"0.875rem",fontWeight:"bold",textTransform:"none"},body1:{fontSize:"1rem",color:"#262626"},body2:{fontSize:"0.875rem",color:"#808080"},fontFamily:["sans-serif","Roboto","Poppins"].join(",")},components:{MuiContainer:{defaultProps:{maxWidth:!1},styleOverrides:{root:{paddingTop:"16px",paddingBottom:"16px"}}},MuiButton:{defaultProps:{size:"small",variant:"outlined"},styleOverrides:{root:{textTransform:"none",fontWeight:"bold",boxShadow:"2px 3px 4px -2px rgb(32 32 36 / 30%)",":disabled":{background:"rgba(89 195 224 / 30%)",color:"rgb(128 128 128 / 60%)"}},contained:{color:"rgba(255,255,255,0.85)"},outlined:{background:"white",":disabled":{background:"none",boxShadow:"none",borderColor:"#E0E0E0"}}}},MuiTextField:{defaultProps:{size:"small",fullWidth:!0},styleOverrides:{root:{"& label":{color:"#808080"}}}},MuiInputLabel:{styleOverrides:{root:{fontSize:"0.875rem"}}},MuiSvgIcon:{defaultProps:{fontSize:"small",color:"inherit"}},MuiIconButton:{defaultProps:{size:"small"},styleOverrides:{root:{}}},MuiPopover:{styleOverrides:{paper:{borderRadius:"12px"}}},MuiMenuItem:{styleOverrides:{root:{"&.Mui-selected":{"& .MuiIcon-root":{color:ee},"& .MuiTypography-root":{color:ee}},":hover":{borderRadius:"6px",background:"rgba(89, 195, 224, 15%)"}}}},MuiTableCell:{styleOverrides:{root:{padding:0,"&.selected":{backgroundColor:"#199"}},head:{backgroundColor:"#FAFAFA",border:"1px solid #D0D0D0",color:"#808080","& span":{color:"#808080"},"& div":{marginLeft:"4px"}},body:{backgroundColor:"#ffffff00",border:"1px solid #D0D0D0",borderTop:"none",borderBottom:"none","& > div":{fontSize:"9pt",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px"}}}},MuiTableRow:{styleOverrides:{root:{backgroundColor:"#FFFFFF",height:"30px","&.MuiTableRow-hover":{"&:hover":{backgroundColor:"#ffffde"}}},head:{borderRadius:"4px","& div":{fontWeight:"600",fontSize:"13px",padding:"2px"}}}},MUIDataTableHeadCell:{styleOverrides:{toolButton:{height:"48px"}}},MUIDataTableBodyRow:{styleOverrides:{root:{"&:hover":{backgroundColor:"#333"},"&:nth-of-type(even)":{backgroundColor:"#F5F5F5"},"&:last-child":{borderBottom:"1px solid #D0D0D0"}}}},MuiTableHead:{styleOverrides:{root:{height:"48px"}}},MuiDrawer:{styleOverrides:{paper:{}}}}},Qo=_styles.createTheme.call(void 0, Go),Jo=_styles.responsiveFontSizes.call(void 0, Qo),Ko= exports.theme =Jo;exports.Button = h; exports.DataTable = Xe; exports.DataTableOptions = q; exports.Dialog = D; exports.Filter = j; exports.FilterContext = De; exports.FilterControl = L; exports.FilterProvider = E; exports.FormContainer = G; exports.FormProvider = Te; exports.OptionStyles = Vt; exports.PageApiContext = Fe; exports.PageDataContext = he; exports.PageTitle = ue; exports.Tooltip = w; exports.theme = Ko; exports.useFilter = F; exports.useFormApi = V; exports.useFormData = O;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Pe=Object.defineProperty,Fe=Object.defineProperties;var ye=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable;var te=(o,e,t)=>e in o?Pe(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,s=(o,e)=>{for(var t in e||(e={}))re.call(e,t)&&te(o,t,e[t]);if(k)for(var t of k(e))ne.call(e,t)&&te(o,t,e[t]);return o},d=(o,e)=>Fe(o,ye(e));var T=(o,e)=>{var t={};for(var r in o)re.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&k)for(var r of k(o))e.indexOf(r)<0&&ne.call(o,r)&&(t[r]=o[r]);return t};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var ve=o=>{let a=o,{isLoading:e,children:t}=a,r=T(a,["isLoading","children"]);return _jsxruntime.jsx.call(void 0, _material.Button,d(s({},r),{disabled:e?!0:r.disabled,children:e?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:22}):t}))},P= exports.Button =ve;function se(o){let{title:e,children:t,typographyProps:r}=o,a=_material.useMediaQuery.call(void 0, n=>n.breakpoints.down("sm"));return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:a?"column":"row",justifyContent:"space-between",alignItems:"center",gap:2,marginBottom:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{component:"h1",variant:"h2",sx:{fontWeight:"700"},children:e}),_jsxruntime.jsx.call(void 0, _material.Box,{children:t})]})}var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _muidatatables = require('mui-datatables'); var _muidatatables2 = _interopRequireDefault(_muidatatables);var ze=o=>{let{count:e,rowsPerPage:t,page:r,changePage:a,changeRowsPerPage:n,rowsPerPageOptions:l}=o,c=_react.useMemo.call(void 0, ()=>Math.max(0,Math.ceil(e/t)),[e,t]);return _jsxruntime.jsx.call(void 0, _material.TableFooter,{children:_jsxruntime.jsx.call(void 0, _material.TableRow,{children:_jsxruntime.jsxs.call(void 0, _material.TableCell,{colSpan:1e3,sx:{display:"flex",justifyContent:"flex-end",padding:"12px 12px 12px 12px"},children:[_jsxruntime.jsx.call(void 0, _material.TextField,{sx:{width:"128px",fontSize:"8pt"},label:"Tamanho da p\xE1gina",size:"small",value:t,select:!0,onChange:p=>{n(p.target.value)},children:l.map(p=>_jsxruntime.jsx.call(void 0, _material.MenuItem,{value:p,children:p},p))}),_jsxruntime.jsx.call(void 0, _material.Pagination,{variant:"outlined",shape:"rounded",count:c,showFirstButton:!0,showLastButton:!0,onChange:(p,m)=>{a(m)},page:r,color:"primary"})]})})})},pe=ze;var Ue={body:{noMatch:"Nenhum registro encontrado",toolTip:"Ordenar"},pagination:{next:"Pr\xF3ximo",previous:"Anterior",rowsPerPage:"Linhas por p\xE1g:",displayRows:"de"},toolbar:{search:"Procurar",downloadCsv:"Download CSV",print:"Imprimir",viewColumns:"Colunas",filterTable:"Procurar na Tabela"},filter:{all:"Todos",title:"Filtros",reset:"Limpar"},viewColumns:{title:"Visualizar Colunas",titleAria:"Mostrar/Ocultar Colunas da Tabela"},selectedRows:{text:"Linhas Selecionadas",delete:"Remover",deleteAria:"Remover Linhas Selecionadas"}},S={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:Ue,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[15,50,100],rowsPerPage:15},We=o=>{let{tableTitle:e,isLoading:t,isFetching:r,data:a,columns:n,options:l,pagination:c,changePage:p,changePageSize:m}=o,i=l||{};return i&&(p&&(i.onChangePage=p),m&&(i.onChangeRowsPerPage=m),i.customFooter=(Y,Z,j,ee,u,g)=>!c||t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, pe,{count:c.totalRecords,page:c.page,rowsPerPage:c.pageSize,rowsPerPageOptions:(i==null?void 0:i.rowsPerPageOptions)||(S==null?void 0:S.rowsPerPageOptions),changeRowsPerPage:i==null?void 0:i.onChangeRowsPerPage,changePage:i==null?void 0:i.onChangePage,textLabels:g})),_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[r&&_jsxruntime.jsx.call(void 0, _material.LinearProgress,{}),_jsxruntime.jsx.call(void 0, _muidatatables2.default,{title:e,data:a,columns:n,options:s(s({},S),i)})]})},_e= exports.DataTable =We;var Xe=_material.styled.call(void 0, (0, _material.Dialog))(({theme:o})=>({"& .MuiDialogContent-root":{paddingTop:"16px"},"& .MuiDialog-paper":{borderRadius:"6px"}}));function v(o){let{title:e,children:t,actions:r}=o;return _jsxruntime.jsxs.call(void 0, Xe,d(s({},o),{children:[_jsxruntime.jsx.call(void 0, _material.DialogTitle,{variant:"h3",children:e}),_jsxruntime.jsx.call(void 0, _material.DialogContent,{children:t}),_jsxruntime.jsx.call(void 0, _material.DialogActions,{children:r})]}))}v.defaultProps={fullWidth:!0};var _iconsmaterial = require('@mui/icons-material');var _styles = require('@mui/material/styles');var no=_styles.styled.call(void 0, t=>{var r=t,{className:o}=r,e=T(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,d(s({},e),{classes:{popper:o}}))})(({theme:o})=>({[`& .${_material.tooltipClasses.tooltip}`]:{backgroundColor:"#f5f5f9",color:"rgba(0, 0, 0, 0.87)",maxWidth:320,minWidth:180,fontSize:o.typography.pxToRem(12),border:"1px solid #dadde9"}})),ao={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},io=o=>{let{title:e,type:t}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mt:.5},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",alignContent:"center"},children:[_jsxruntime.jsx.call(void 0, _material.Icon,{color:t,fontSize:"small",children:t})," ",_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"subtitle2",sx:{ml:.5},children:ao[t]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:e})]})},de=o=>{let n=o,{type:e,children:t,title:r}=n,a=T(n,["type","children","title"]);return _jsxruntime.jsx.call(void 0, no,d(s({arrow:!0,title:_jsxruntime.jsx.call(void 0, io,{title:r||"",type:e}),enterDelay:300},a),{children:t}))};de.defaultProps={type:"info"};var w=de;var kt=()=>({style:{width:"80px",textAlign:"center"}});function U(o){let{onClick:e,value:t,extraOptions:r,displayUpdateButton:a,displayDeleteButton:n,disableTooltip:l}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{children:[r&&r.map(({id:c,icon:p,iconButtonProps:m,tooltip:i})=>_jsxruntime.jsxs.call(void 0, _material.IconButton,d(s({onClick:()=>e(c,t),size:"small"},m),{children:[i&&_jsxruntime.jsx.call(void 0, w,{type:i.type,title:i.content,children:_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})}),!i&&_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})]}),c)),a&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",color:"primary",onClick:()=>e("edit",t),children:[l&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"}),!l&&_jsxruntime.jsx.call(void 0, w,{type:"info",title:_jsxruntime.jsx.call(void 0, _material.Box,{children:"Clique para editar este registro."}),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"})})]}),n&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",onClick:()=>e("delete",t),color:"primary",children:[l&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"}),!l&&_jsxruntime.jsx.call(void 0, w,{type:"warning",title:_jsxruntime.jsx.call(void 0, _material.Box,{children:"Clique para remover este registro."}),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"})})]})]})}U.defaultProps={displayUpdateButton:!0,displayDeleteButton:!0,disableTooltip:!0};var _providers = require('@data-c/providers');function W(o){let{formValues:e,isSubmitting:t}=_providers.useFormData.call(void 0, ),{closeForm:r}=_providers.useFormApi.call(void 0, ),{onSubmitForm:a}=o;return _jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-end",alignItems:"center",spacing:2,children:[_jsxruntime.jsx.call(void 0, P,{color:"error",onClick:r,children:"Cancelar"}),_jsxruntime.jsx.call(void 0, P,{isLoading:t,variant:"contained",onClick:()=>{a(e)},children:"Salvar"})]})}var xo=()=>{let{openForm:o}=_providers.useFormApi.call(void 0, );return _jsxruntime.jsx.call(void 0, P,{variant:"contained",onClick:()=>{o({})},children:"Adicionar"})};function _(o){let{view:e,children:t,title:r,actions:a,onSubmitForm:n,triggerButton:l}=o,{isOpen:c}=_providers.useFormData.call(void 0, );console.log("ON submut",n);let p=a||_jsxruntime.jsx.call(void 0, W,{onSubmitForm:n||(()=>{throw new Error("Nenhuma a\xE7\xE3o foi definida para ser executada em onsSubmitForm")})}),m=l==="none"?null:l||_jsxruntime.jsx.call(void 0, xo,{});return e==="dialog"?_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[m,_jsxruntime.jsx.call(void 0, v,{open:c,title:r,children:t,actions:p})]}):_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:2,children:[t,p]})}_.defaultProps={view:"dialog"};var he=_react2.default.createContext({filterValues:{},appliedValues:null,openFilter:()=>{},closeFilter:()=>{},applyFilterValues:()=>{}});function A(o){let{filterValues:e,children:t}=o,[r,a]=_react.useState.call(void 0, e),[n,l]=_react.useState.call(void 0, {}),[c,p]=_react.useState.call(void 0, !1);_react.useEffect.call(void 0, ()=>{i()},[e]);function m(u){let g=u.target.type,b=u.target.name,B;switch(g){case"text":B=u.target.value;break;case"checkbox":B=u.target.checked;break;default:B=u.target.value}a(oe=>d(s({},oe),{[b]:d(s({},oe[b]),{value:B})}))}function i(){let u=Object.keys(r),g={};u.forEach(b=>{r[b].value!==void 0&&(g[b]=r[b].value)}),l(g)}function Y(u){delete n[u],delete r[u].value,l(g=>s(s({},g),n)),a(g=>s(s({},g),r))}function Z(){l({}),a(e)}function j(){p(!0)}function ee(){p(!1)}return _jsxruntime.jsx.call(void 0, he.Provider,{value:{filterValues:r,appliedValues:n,isOpen:c,openFilter:j,closeFilter:ee,onChangeFilterValue:m,applyFilterValues:i,removeFilterValue:Y,removeAllFilterValues:Z},children:t})}function F(){return _react.useContext.call(void 0, he)}function O(){let{filterValues:o,appliedValues:e,removeFilterValue:t,removeAllFilterValues:r}=F();return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between"},children:[_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:Object.keys(e||{}).map(a=>_jsxruntime.jsx.call(void 0, _material.Chip,{size:"small",label:`${o[a].label} - ${e&&e[a]}`,onDelete:()=>{t&&t(a)},variant:"outlined"},a))}),Object.keys(e||{}).length>0&&_jsxruntime.jsx.call(void 0, _material.Box,{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>{r&&r()},children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{fontSize:"small",color:"error"})})})]})}function z(o){let{title:e,actions:t,onClose:r,children:a}=o;return _jsxruntime.jsx.call(void 0, _material.Drawer,d(s({PaperProps:{style:{borderRadius:"12px 0 0 12px"}}},o),{children:_jsxruntime.jsxs.call(void 0, _material.Stack,{sx:{width:"360px",height:"100%",justifyContent:"space-between",backgroundColor:n=>n.palette.background.paper},children:[_jsxruntime.jsxs.call(void 0, _material.Stack,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",alignContent:"center",height:"48px",borderBottom:n=>`solid 1px ${n.palette.grey[300]}`},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{component:"h1",variant:"h5",sx:{pl:n=>n.spacing(2)},children:e}),r&&_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:r,children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{color:"error"})})]}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{padding:n=>n.spacing(2)},children:a})]}),t&&_jsxruntime.jsx.call(void 0, _material.Box,{sx:{pt:n=>n.spacing(1),pb:n=>n.spacing(1),pl:n=>n.spacing(2),pr:n=>n.spacing(2),borderTop:n=>`solid 1px ${n.palette.grey[300]}`},children:t})]})}))}z.defaultProps={anchor:"right"};var Oo=o=>{let{label:e}=o,{openFilter:t}=F();return _jsxruntime.jsx.call(void 0, _material.Button,{variant:"outlined",onClick:()=>{t()},startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Search,{}),children:e})},zo=()=>{let{applyFilterValues:o,closeFilter:e}=F();function t(){e()}function r(){o(),e()}return _jsxruntime.jsxs.call(void 0, _material.Stack,{sx:{flexDirection:"row",justifyContent:"space-between"},children:[_jsxruntime.jsx.call(void 0, _material.Button,{onClick:t,color:"error",children:"Cancelar"}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:"contained",onClick:r,children:"Aplicar Filtros"})]})},Vo=o=>{let{title:e,children:t,onApplyFilters:r}=o,{isOpen:a,closeFilter:n,appliedValues:l}=F();return _react.useEffect.call(void 0, ()=>{r&&r(l)},[l]),_jsxruntime.jsx.call(void 0, z,{title:e,open:a,children:t,onClose:()=>n(),actions:_jsxruntime.jsx.call(void 0, zo,{})})};function K(o){let{buttonLabel:e,title:t,filterValues:r,children:a,onApplyFilters:n,internalProviderDisabled:l}=o,c=_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",direction:"row",justifyContent:"flex-end",alignItems:"center",alignContent:"center"},children:[_jsxruntime.jsx.call(void 0, O,{}),_jsxruntime.jsx.call(void 0, Oo,{label:e})]}),_jsxruntime.jsx.call(void 0, Vo,{onApplyFilters:n,title:t||"",children:a})]});return l?c:_jsxruntime.jsx.call(void 0, A,{filterValues:r,children:c})}K.defaultProps={buttonLabel:"Pesquisar",title:"Pesquisar",internalProviderDisabled:!1};var X="#59C3E0",No={palette:{text:{primary:"#262626",secondary:"#808080"},primary:{light:"#83EDFF",main:X,dark:"#2C96B3"},background:{default:"#F2F2F2",paper:"#FAFAFA"},error:{main:"#F44336",dark:"#BE0D00",light:"#FF6C5F"},warning:{main:"#FFCD38",dark:"#C29000",light:"#FFED58"},success:{main:"#4CAF50",dark:"#187B1C",light:"#7DE081"},grey:{800:"#202024",700:"#262626",600:"#333333",500:"#808080",400:"#BBBBBA",300:"#E0E0E0",200:"#F2F2F2",100:"#FAFAFA"}},typography:{h1:{fontSize:"2rem",fontFamily:"Poppins"},h2:{fontSize:"1.75rem"},h3:{fontSize:"1.5rem"},h4:{fontSize:"1.25rem"},h5:{fontSize:"1rem"},h6:{fontSize:"0.875rem"},button:{fontSize:"0.875rem",fontWeight:"bold",textTransform:"none"},body1:{fontSize:"1rem",color:"#262626"},body2:{fontSize:"0.875rem",color:"#808080"},fontFamily:["sans-serif","Roboto","Poppins"].join(",")},components:{MuiContainer:{defaultProps:{maxWidth:!1},styleOverrides:{root:{paddingTop:"16px",paddingBottom:"16px"}}},MuiButton:{defaultProps:{size:"small",variant:"outlined"},styleOverrides:{root:{textTransform:"none",fontWeight:"bold",boxShadow:"2px 3px 4px -2px rgb(32 32 36 / 30%)",":disabled":{background:"rgba(89 195 224 / 30%)",color:"rgb(128 128 128 / 60%)"}},contained:{color:"rgba(255,255,255,0.85)"},outlined:{background:"white",":disabled":{background:"none",boxShadow:"none",borderColor:"#E0E0E0"}}}},MuiTextField:{defaultProps:{size:"small",fullWidth:!0},styleOverrides:{root:{"& label":{color:"#808080"}}}},MuiInputLabel:{styleOverrides:{root:{fontSize:"0.875rem"}}},MuiSvgIcon:{defaultProps:{fontSize:"small",color:"inherit"}},MuiIconButton:{defaultProps:{size:"small"},styleOverrides:{root:{}}},MuiPopover:{styleOverrides:{paper:{borderRadius:"12px"}}},MuiMenuItem:{styleOverrides:{root:{"&.Mui-selected":{"& .MuiIcon-root":{color:X},"& .MuiTypography-root":{color:X}},":hover":{borderRadius:"6px",background:"rgba(89, 195, 224, 15%)"}}}},MuiTableCell:{styleOverrides:{root:{padding:0,"&.selected":{backgroundColor:"#199"}},head:{backgroundColor:"#FAFAFA",border:"1px solid #D0D0D0",color:"#808080","& span":{color:"#808080"},"& div":{marginLeft:"4px"}},body:{backgroundColor:"#ffffff00",border:"1px solid #D0D0D0",borderTop:"none",borderBottom:"none","& > div":{fontSize:"9pt",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px"}}}},MuiTableRow:{styleOverrides:{root:{backgroundColor:"#FFFFFF",height:"30px","&.MuiTableRow-hover":{"&:hover":{backgroundColor:"#ffffde"}}},head:{borderRadius:"4px","& div":{fontWeight:"600",fontSize:"13px",padding:"2px"}}}},MUIDataTableHeadCell:{styleOverrides:{toolButton:{height:"48px"}}},MUIDataTableBodyRow:{styleOverrides:{root:{"&:hover":{backgroundColor:"#333"},"&:nth-of-type(even)":{backgroundColor:"#F5F5F5"},"&:last-child":{borderBottom:"1px solid #D0D0D0"}}}},MuiTableHead:{styleOverrides:{root:{height:"48px"}}},MuiDrawer:{styleOverrides:{paper:{}}}}},Uo=_styles.createTheme.call(void 0, No),Wo=_styles.responsiveFontSizes.call(void 0, Uo),_o= exports.theme =Wo;exports.Button = P; exports.DataTable = _e; exports.DataTableOptions = U; exports.Dialog = v; exports.Filter = K; exports.FilterContext = he; exports.FilterControl = O; exports.FilterProvider = A; exports.FormContainer = _; exports.OptionStyles = kt; exports.PageTitle = se; exports.Tooltip = w; exports.theme = _o; exports.useFilter = F;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Button/index.tsx","../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/Dialog/index.tsx","../src/DataTableOptions/index.tsx","../src/Tooltip/index.tsx","../src/FormContainer/index.tsx","../src/FormProvider/index.tsx","../src/FormActions/index.tsx","../src/FilterProvider/index.tsx","../src/FilterControl/index.tsx","../src/Filter/index.tsx","../src/DrawerContainer/index.tsx","../src/theme.tsx"],"names":["MuiButton","CircularProgress","jsx","Button","props","_a","isLoading","children","rest","__objRest","__spreadProps","__spreadValues","Button_default","Box","Typography","useMediaQuery","jsxs","PageTitle","title","typographyProps","isSmall","theme","React","LinearProgress","MUIDataTable","useMemo","TableFooter","TableRow","TableCell","MuiPagination","TextField","MenuItem","PaginationFooter","_count","rowsPerPage","page","changePage","changeRowsPerPage","rowsPerPageOptions","countOfPages","e","option","_","_page","Pagination_default","Fragment","DataGridTextLabels","defaultOptions","DataTable","tableTitle","isFetching","data","columns","options","pagination","changePageSize","internalOptions","_rowCount","_rowsPerPage","_changeRowsPerPage","_changePage","textLabels","DataTable_default","MuiDialog","DialogTitle","DialogContent","styled","DialogActions","StyledDialog","Dialog","actions","IconButton","Icon","Editicon","DeleteIcon","MuiTooltip","tooltipClasses","Divider","CustomizedTooltip","_b","className","titleMaps","Title","type","Tooltip","Tooltip_default","OptionStyles","DataTableOptions","onClick","value","extraOptions","displayUpdateButton","displayDeleteButton","disableTooltip","id","icon","iconButtonProps","tooltip","Stack","useContext","useReducer","reducer","state","action","PageDataContext","PageApiContext","FormProvider","dispatch","api","openForm","formValues","closeForm","onChangeFormValue","name","toggleSubmit","isSubmitting","useFormData","useFormApi","FormActions","onSubmitForm","FormTriggerButton","FormContainer","view","triggerButton","isOpen","formActions","_triggerButton","useEffect","useState","FilterContext","FilterProvider","_filters","filterValues","setFilters","appliedValues","setAppliedFilters","setOpen","applyFilterValues","onChangeFilterValue","oldState","keys","newValues","k","removeFilterValue","filterName","removeAllFilterValues","openFilter","closeFilter","useFilter","Chip","CancelIcon","FilterControl","SearchIcon","MuiDrawer","DrawerContainer","onClose","ButtonPesquisar","label","FilterDrawerActions","handleCancelFilter","handleApplyFilter","FilterDrawerContainer","onApplyFilters","Filter","buttonLabel","internalProviderDisabled","ch","createTheme","responsiveFontSizes","primaryColor","themeOptions","preparedTheme","theme_default"],"mappings":"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","sourcesContent":["import {\n Button as MuiButton,\n ButtonProps as MuiButtonProps,\n CircularProgress,\n} from '@mui/material'\n\ninterface ButtonProps extends MuiButtonProps {\n isLoading?: boolean\n}\n\nconst Button = (props: ButtonProps) => {\n const { isLoading, children, ...rest } = props\n\n return (\n <MuiButton {...rest} disabled={isLoading ? true : rest.disabled}>\n {isLoading ? <CircularProgress color=\"secondary\" size={22} /> : children}\n </MuiButton>\n )\n}\n\nexport default Button\n","import React, { ReactNode } from 'react'\nimport {\n Box,\n Theme,\n Typography,\n TypographyProps,\n useMediaQuery,\n} from '@mui/material'\n\ninterface PageTitleProps {\n title: string\n children?: ReactNode\n typographyProps?: TypographyProps\n}\n\nexport default function PageTitle(props: PageTitleProps) {\n const { title, children, typographyProps } = props\n\n const isSmall = useMediaQuery((theme: Theme) => theme.breakpoints.down('sm'))\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: !isSmall ? 'row' : 'column',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 2,\n marginBottom: 2,\n }}\n >\n <Typography component=\"h1\" variant=\"h2\" sx={{ fontWeight: '700' }}>\n {title}\n </Typography>\n\n <Box>{children}</Box>\n </Box>\n )\n}\n","import React from 'react'\nimport { LinearProgress } from '@mui/material'\n\nimport MUIDataTable, {\n MUIDataTableOptions,\n MUIDataTableProps,\n} from 'mui-datatables'\nimport { PaginationProps } from '@data-c/hooks'\nimport PaginationFooter from './components/Pagination'\n\nexport interface DataTableProps extends Omit<MUIDataTableProps, 'title'> {\n isLoading?: boolean\n isFetching?: boolean\n tableTitle?: string\n pagination?: PaginationProps\n changePage?: (page: number) => void\n changePageSize?: (pageSize: number) => void\n}\n\nconst DataGridTextLabels = {\n body: {\n noMatch: 'Nenhum registro encontrado',\n toolTip: 'Ordenar',\n },\n pagination: {\n next: 'Próximo',\n previous: 'Anterior',\n rowsPerPage: 'Linhas por pág:',\n displayRows: 'de',\n },\n toolbar: {\n search: 'Procurar',\n downloadCsv: 'Download CSV',\n print: 'Imprimir',\n viewColumns: 'Colunas',\n filterTable: 'Procurar na Tabela',\n },\n filter: {\n all: 'Todos',\n title: 'Filtros',\n reset: 'Limpar',\n },\n viewColumns: {\n title: 'Visualizar Colunas',\n titleAria: 'Mostrar/Ocultar Colunas da Tabela',\n },\n selectedRows: {\n text: 'Linhas Selecionadas',\n delete: 'Remover',\n deleteAria: 'Remover Linhas Selecionadas',\n },\n}\n\nconst defaultOptions: MUIDataTableOptions = {\n filterType: 'textField',\n selectableRows: 'none',\n elevation: 0,\n responsive: 'vertical',\n print: false,\n download: false,\n filter: false,\n search: false,\n sort: false,\n viewColumns: false,\n textLabels: DataGridTextLabels,\n serverSide: true,\n fixedHeader: false,\n rowsPerPageOptions: [15, 50, 100],\n rowsPerPage: 15,\n}\n\nconst DataTable = (props: DataTableProps) => {\n const {\n tableTitle,\n isLoading,\n isFetching,\n data,\n columns,\n options,\n pagination,\n changePage,\n changePageSize,\n } = props\n\n let internalOptions = options ? options : {}\n if (internalOptions) {\n if (changePage) {\n internalOptions.onChangePage = changePage\n }\n\n if (changePageSize) {\n internalOptions.onChangeRowsPerPage = changePageSize\n }\n\n internalOptions.customFooter = (\n _rowCount,\n _page,\n _rowsPerPage,\n _changeRowsPerPage,\n _changePage,\n textLabels,\n ) => {\n if (!pagination || isLoading) return <></>\n return (\n <PaginationFooter\n count={pagination.totalRecords}\n page={pagination.page}\n rowsPerPage={pagination.pageSize}\n rowsPerPageOptions={\n internalOptions?.rowsPerPageOptions ||\n defaultOptions?.rowsPerPageOptions\n }\n changeRowsPerPage={internalOptions?.onChangeRowsPerPage}\n changePage={internalOptions?.onChangePage}\n textLabels={textLabels}\n />\n )\n }\n }\n\n return (\n <React.Fragment>\n {isFetching && <LinearProgress />}\n <MUIDataTable\n title={tableTitle}\n data={data}\n columns={columns}\n options={{ ...defaultOptions, ...internalOptions }}\n />\n </React.Fragment>\n )\n}\n\nexport default DataTable\n","import { useMemo } from 'react'\nimport {\n TableFooter,\n TableRow,\n TableCell,\n Pagination as MuiPagination,\n TextField,\n MenuItem,\n} from '@mui/material'\n\nconst PaginationFooter = (props: any) => {\n const {\n count: _count,\n rowsPerPage,\n page,\n changePage,\n changeRowsPerPage,\n rowsPerPageOptions,\n } = props\n\n const countOfPages = useMemo(() => {\n return Math.max(0, Math.ceil(_count / rowsPerPage))\n }, [_count, rowsPerPage])\n return (\n <TableFooter>\n <TableRow>\n <TableCell\n colSpan={1000}\n sx={{\n display: 'flex',\n justifyContent: 'flex-end',\n padding: '12px 12px 12px 12px',\n }}\n >\n <TextField\n sx={{\n width: '128px',\n fontSize: '8pt',\n }}\n label=\"Tamanho da página\"\n size=\"small\"\n value={rowsPerPage}\n select\n onChange={(e) => {\n changeRowsPerPage(e.target.value)\n }}\n >\n {rowsPerPageOptions.map((option: string) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={countOfPages}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n changePage(_page)\n }}\n page={page}\n color=\"primary\"\n />\n </TableCell>\n </TableRow>\n </TableFooter>\n )\n}\n\nexport default PaginationFooter\n","import {\n Dialog as MuiDialog,\n DialogTitle,\n DialogContent,\n DialogProps as MuiDialogProps,\n styled,\n DialogActions,\n} from '@mui/material'\nimport { ReactNode } from 'react'\n\nconst StyledDialog = styled(MuiDialog)(({ theme }) => ({\n '& .MuiDialogContent-root': {\n paddingTop: '16px',\n },\n '& .MuiDialog-paper': {\n borderRadius: '6px',\n },\n}))\n\nexport interface DialogProps extends MuiDialogProps {\n actions?: ReactNode\n}\n\nexport default function Dialog(props: DialogProps) {\n const { title, children, actions } = props\n return (\n <StyledDialog {...props}>\n <DialogTitle variant=\"h3\">{title}</DialogTitle>\n <DialogContent children={children} />\n <DialogActions>{actions}</DialogActions>\n </StyledDialog>\n )\n}\n\nDialog.defaultProps = {\n fullWidth: true,\n}\n","import { Box, IconButton, Icon, IconButtonProps } from '@mui/material'\nimport { Edit as Editicon, Delete as DeleteIcon } from '@mui/icons-material'\nimport Tooltip from '../Tooltip'\nimport React from 'react'\n\ninterface TooltipProps {\n type: 'warning' | 'info'\n content: NonNullable<React.ReactNode>\n}\n\ninterface ExtraOptionsProps {\n id: string\n icon: string\n iconButtonProps?: IconButtonProps\n tooltip?: TooltipProps\n}\n\nexport interface DataTableOptionsProps<T> {\n onClick(event: string, value: T): any\n value: T\n extraOptions?: Array<ExtraOptionsProps>\n displayUpdateButton?: boolean\n displayDeleteButton?: boolean\n disableTooltip: boolean\n}\n\nexport const OptionStyles = () => ({\n style: {\n width: '80px',\n textAlign: 'center',\n },\n})\n\nexport default function DataTableOptions<T extends unknown>(\n props: DataTableOptionsProps<T>,\n) {\n const {\n onClick,\n value,\n extraOptions,\n displayUpdateButton,\n displayDeleteButton,\n disableTooltip,\n } = props\n\n return (\n <Box>\n {extraOptions &&\n extraOptions.map(\n ({ id, icon, iconButtonProps, tooltip }: ExtraOptionsProps) => (\n <IconButton\n key={id}\n onClick={() => onClick(id, value)}\n size=\"small\"\n {...iconButtonProps}\n >\n {tooltip && (\n <Tooltip type={tooltip.type} title={tooltip.content}>\n <Icon fontSize=\"small\">{icon}</Icon>\n </Tooltip>\n )}\n\n {!tooltip && <Icon fontSize=\"small\">{icon}</Icon>}\n </IconButton>\n ),\n )}\n\n {displayUpdateButton && (\n <IconButton\n size=\"small\"\n color=\"primary\"\n onClick={() => onClick('edit', value)}\n >\n {disableTooltip && <Editicon fontSize=\"small\" />}\n {!disableTooltip && (\n <Tooltip\n type=\"info\"\n title={<Box>Clique para editar este registro.</Box>}\n >\n <Editicon fontSize=\"small\" />\n </Tooltip>\n )}\n </IconButton>\n )}\n\n {displayDeleteButton && (\n <IconButton\n size=\"small\"\n onClick={() => onClick('delete', value)}\n color=\"primary\"\n >\n {disableTooltip && <DeleteIcon fontSize=\"small\" />}\n {!disableTooltip && (\n <Tooltip\n type=\"warning\"\n title={<Box>Clique para remover este registro.</Box>}\n >\n <DeleteIcon fontSize=\"small\" />\n </Tooltip>\n )}\n </IconButton>\n )}\n </Box>\n )\n}\n\nDataTableOptions.defaultProps = {\n displayUpdateButton: true,\n displayDeleteButton: true,\n disableTooltip: true,\n}\n","import {\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n tooltipClasses,\n Box,\n Icon,\n Typography,\n Divider,\n} from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport React from 'react'\n\nexport interface TooltipProps extends MuiTooltipProps {\n type: 'warning' | 'info'\n}\n\nconst CustomizedTooltip = styled(({ className, ...props }: MuiTooltipProps) => (\n <MuiTooltip {...props} classes={{ popper: className }} />\n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: '#f5f5f9',\n color: 'rgba(0, 0, 0, 0.87)',\n maxWidth: 320,\n minWidth: 180,\n fontSize: theme.typography.pxToRem(12),\n border: '1px solid #dadde9',\n },\n}))\n\nconst titleMaps = {\n info: 'Informação',\n warning: 'Atenção',\n}\n\nconst Title = (props: {\n title: NonNullable<React.ReactNode>\n type: 'warning' | 'info'\n}) => {\n const { title, type } = props\n return (\n <Box sx={{ mt: 0.5 }}>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignContent: 'center',\n }}\n >\n <Icon color={type} fontSize=\"small\">\n {type}\n </Icon>{' '}\n <Typography variant=\"subtitle2\" sx={{ ml: 0.5 }}>\n {titleMaps[type]}\n </Typography>\n </Box>\n <Divider sx={{ mt: 0.5 }} />\n <Box sx={{ mt: 1 }}>{title}</Box>\n </Box>\n )\n}\n\nconst Tooltip = (props: TooltipProps) => {\n const { type, children, title, ...rest } = props\n return (\n <CustomizedTooltip\n arrow\n title={<Title title={title || ''} type={type} />}\n enterDelay={300}\n {...rest}\n >\n {children}\n </CustomizedTooltip>\n )\n}\n\nTooltip.defaultProps = {\n type: 'info',\n}\n\nexport default Tooltip\n","import { Stack } from '@mui/material'\nimport Button from '../Button'\nimport React, { ReactNode } from 'react'\nimport Dialog from '../Dialog'\nimport { useFormData, useFormApi } from '../FormProvider'\nimport FormActions from '../FormActions'\n\nconst FormTriggerButton = () => {\n const { openForm } = useFormApi()\n return (\n <Button\n variant=\"contained\"\n onClick={() => {\n openForm({} as unknown)\n }}\n >\n Adicionar\n </Button>\n )\n}\n\nexport interface FormContainerProps {\n title?: string\n children: ReactNode\n onSubmitForm?: (formValues: any) => void\n view?: 'dialog' | 'plain'\n triggerButton?: 'none' | React.ReactNode\n actions?: ReactNode\n}\n\nexport default function FormContainer(props: FormContainerProps) {\n const { view, children, title, actions, onSubmitForm, triggerButton } = props\n const { isOpen } = useFormData()\n console.log('ON submut', onSubmitForm)\n const formActions = actions || (\n <FormActions\n onSubmitForm={\n onSubmitForm\n ? onSubmitForm\n : () => {\n throw new Error(\n 'Nenhuma ação foi definida para ser executada em onsSubmitForm',\n )\n }\n }\n />\n )\n\n const _triggerButton =\n triggerButton === 'none' ? null : triggerButton || <FormTriggerButton />\n\n if (view === 'dialog') {\n return (\n <React.Fragment>\n {_triggerButton}\n <Dialog\n open={isOpen}\n title={title}\n children={children}\n actions={formActions}\n />\n </React.Fragment>\n )\n }\n\n return (\n <Stack spacing={2}>\n {children}\n {formActions}\n </Stack>\n )\n}\n\nFormContainer.defaultProps = {\n view: 'dialog',\n}\n","import React, { ReactNode, useContext, useMemo, useReducer } from 'react'\n\ntype ActionsType<T> =\n | { type: 'updateFormValues'; formValues: T }\n | { type: 'updateFormValue'; payload: { name: string; value: any } }\n | { type: 'updateIsOpen'; isOpen: boolean }\n | { type: 'updateIsSubmitting'; isSubmitting: boolean }\n\nfunction reducer<T>(\n state: PageDataContextProps,\n action: ActionsType<T>,\n): PageDataContextProps {\n switch (action.type) {\n case 'updateFormValues':\n return { ...state, formValues: action.formValues }\n case 'updateFormValue':\n return {\n ...state,\n formValues: {\n ...(state.formValues as object),\n [action.payload.name]: action.payload.value,\n },\n }\n case 'updateFormValues':\n return { ...state, formValues: action.formValues }\n case 'updateIsOpen':\n return { ...state, isOpen: action.isOpen }\n case 'updateIsSubmitting':\n return { ...state, isSubmitting: action.isSubmitting }\n }\n}\n\nexport interface PageDataContextProps<T = unknown> {\n formValues: T\n isOpen: boolean\n isSubmitting: boolean\n}\nexport const PageDataContext = React.createContext<PageDataContextProps>(\n {} as PageDataContextProps,\n)\n\nexport interface PageApiContextProps<T = unknown> {\n openForm: (formValues: T) => void\n closeForm: () => void\n onChangeFormValue: (e: React.ChangeEvent<HTMLInputElement>) => void\n toggleSubmit: (isSubmitting: boolean) => void\n}\nexport const PageApiContext = React.createContext<PageApiContextProps>(\n {} as PageApiContextProps,\n)\n\nexport interface PageProviderProps {\n children: ReactNode\n}\nexport default function FormProvider(props: PageProviderProps) {\n const { children } = props\n const [state, dispatch] = useReducer(reducer, {\n formValues: {},\n } as PageDataContextProps)\n\n const api: PageApiContextProps = useMemo(() => {\n function openForm(formValues: any) {\n dispatch({ type: 'updateFormValues', formValues })\n dispatch({ type: 'updateIsOpen', isOpen: true })\n }\n function closeForm() {\n dispatch({ type: 'updateIsOpen', isOpen: false })\n }\n function onChangeFormValue(e: React.ChangeEvent<HTMLInputElement>) {\n const type = e.target.type\n const name = e.target.name\n let value: string | boolean | number\n switch (type) {\n case 'text':\n value = e.target.value\n break\n case 'checkbox':\n value = e.target.checked\n break\n default:\n value = e.target.value\n }\n dispatch({ type: 'updateFormValue', payload: { name, value } })\n }\n function toggleSubmit(isSubmitting: boolean) {\n dispatch({ type: 'updateIsSubmitting', isSubmitting })\n }\n return {\n openForm,\n closeForm,\n onChangeFormValue,\n toggleSubmit,\n }\n }, [])\n\n return (\n <PageApiContext.Provider value={api}>\n <PageDataContext.Provider value={state}>\n {children}\n </PageDataContext.Provider>\n </PageApiContext.Provider>\n )\n}\n\nexport function useFormData<T>() {\n return useContext<PageDataContextProps<T>>(PageDataContext as any)\n}\n\nexport function useFormApi<T>() {\n return useContext<PageApiContextProps<T>>(PageApiContext as any)\n}\n","import { Stack } from '@mui/material'\nimport Button from '../Button'\nimport { useFormApi, useFormData } from '../FormProvider'\n\ninterface FormActionsProps {\n onSubmitForm: (formValues: any) => void\n}\n\nexport default function FormActions(props: FormActionsProps) {\n const { formValues, isSubmitting } = useFormData()\n const { closeForm } = useFormApi()\n const { onSubmitForm } = props\n return (\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n spacing={2}\n >\n <Button color=\"error\" onClick={closeForm}>\n Cancelar\n </Button>\n <Button\n isLoading={isSubmitting}\n variant=\"contained\"\n onClick={() => {\n onSubmitForm(formValues)\n }}\n >\n Salvar\n </Button>\n </Stack>\n )\n}\n","import React, { ReactNode, useContext, useEffect, useState } from 'react'\n\nexport interface FilterOptions<T> {\n label?: string\n value?: T\n}\n\nexport interface FilterContextProps<T = unknown, D = unknown> {\n filterValues: T\n appliedValues?: D\n isOpen?: boolean\n openFilter: () => void\n closeFilter: () => void\n onChangeFilterValue?: (e: React.ChangeEvent<HTMLInputElement>) => void\n applyFilterValues: () => void\n removeFilterValue?: (filterName: string) => void\n removeAllFilterValues?: () => void\n}\n\nexport const FilterContext = React.createContext<FilterContextProps>({\n filterValues: {},\n appliedValues: null,\n openFilter: () => {},\n closeFilter: () => {},\n applyFilterValues: () => {},\n})\n\nexport interface FilterProviderProps<T = unknown> {\n children: ReactNode\n filterValues: T\n}\n\nexport default function FilterProvider<T>(props: FilterProviderProps<T>) {\n const { filterValues: _filters, children } = props\n const [filterValues, setFilters] = useState(_filters)\n const [appliedValues, setAppliedFilters] = useState({})\n const [isOpen, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n applyFilterValues()\n }, [_filters])\n\n function onChangeFilterValue(e: React.ChangeEvent<HTMLInputElement>) {\n const type = e.target.type\n const name = e.target.name\n let value: string | boolean | number\n switch (type) {\n case 'text':\n value = e.target.value\n break\n case 'checkbox':\n value = e.target.checked\n break\n default:\n value = e.target.value\n }\n setFilters((oldState) => ({\n ...oldState,\n [name]: {\n ...oldState[name],\n value,\n },\n }))\n }\n\n function applyFilterValues() {\n const keys = Object.keys(filterValues as {})\n const newValues = {}\n keys.forEach((k) => {\n if (filterValues[k].value !== undefined) {\n newValues[k] = filterValues[k].value\n }\n })\n setAppliedFilters(newValues)\n }\n\n function removeFilterValue(filterName: string) {\n delete appliedValues[filterName]\n delete filterValues[filterName].value\n setAppliedFilters((oldState) => ({ ...oldState, ...appliedValues }))\n setFilters((oldState) => ({ ...oldState, ...filterValues }))\n }\n\n function removeAllFilterValues() {\n setAppliedFilters({})\n setFilters(_filters)\n }\n\n function openFilter() {\n setOpen(true)\n }\n\n function closeFilter() {\n setOpen(false)\n }\n\n return (\n <FilterContext.Provider\n value={{\n filterValues,\n appliedValues,\n isOpen,\n openFilter,\n closeFilter,\n onChangeFilterValue,\n applyFilterValues,\n removeFilterValue,\n removeAllFilterValues,\n }}\n >\n {children}\n </FilterContext.Provider>\n )\n}\n\nexport function useFilter<T = unknown, D = unknown>() {\n return useContext<FilterContextProps<T, D>>(FilterContext as any)\n}\n","import { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\nimport { Apply, Filters } from '../Filter/Filter.stories'\nimport { useFilter } from '../FilterProvider'\n\nexport default function FilterControl() {\n const {\n filterValues,\n appliedValues,\n removeFilterValue,\n removeAllFilterValues,\n } = useFilter<Filters, Apply>()\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {Object.keys(appliedValues || {}).map((filterName: string) => (\n <Chip\n key={filterName}\n size=\"small\"\n label={`${filterValues[filterName].label} - ${\n appliedValues && appliedValues[filterName]\n }`}\n onDelete={() => {\n if (removeFilterValue) removeFilterValue(filterName)\n }}\n variant=\"outlined\"\n />\n ))}\n </Box>\n\n {Object.keys(appliedValues || {}).length > 0 && (\n <Box>\n <IconButton\n onClick={() => {\n if (removeAllFilterValues) removeAllFilterValues()\n }}\n >\n <CancelIcon fontSize=\"small\" color=\"error\" />\n </IconButton>\n </Box>\n )}\n </Box>\n )\n}\n","import React, { ReactNode, useEffect } from 'react'\n\nimport { Box, Button, Stack } from '@mui/material'\nimport { Search as SearchIcon } from '@mui/icons-material'\nimport FilterProvider, { useFilter } from '../FilterProvider'\nimport DrawerContainer from '../DrawerContainer'\nimport FilterControl from '../FilterControl'\n\ninterface ButtonPesquisarProps {\n label?: string\n}\nconst ButtonPesquisar = (props: ButtonPesquisarProps) => {\n const { label } = props\n const { openFilter } = useFilter()\n return (\n <Button\n variant=\"outlined\"\n onClick={() => {\n openFilter()\n }}\n startIcon={<SearchIcon />}\n >\n {label}\n </Button>\n )\n}\n\n// interface FilterDrawerActionsProps {\n// }\nconst FilterDrawerActions = () => {\n const { applyFilterValues, closeFilter } = useFilter()\n\n function handleCancelFilter() {\n closeFilter()\n }\n\n function handleApplyFilter() {\n applyFilterValues()\n closeFilter()\n }\n\n return (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'space-between',\n }}\n >\n <Button onClick={handleCancelFilter} color=\"error\">\n Cancelar\n </Button>\n <Button variant=\"contained\" onClick={handleApplyFilter}>\n Aplicar Filtros\n </Button>\n </Stack>\n )\n}\n\ninterface FilterDrawerContainer {\n children: ReactNode\n title: string\n onApplyFilters?: <T>(filters: T) => void\n}\nconst FilterDrawerContainer = (props: FilterDrawerContainer) => {\n const { title, children, onApplyFilters } = props\n const { isOpen, closeFilter, appliedValues } = useFilter()\n\n useEffect(() => {\n if (onApplyFilters) onApplyFilters(appliedValues)\n }, [appliedValues])\n\n return (\n <DrawerContainer\n title={title}\n open={isOpen}\n children={children}\n onClose={() => closeFilter()}\n actions={<FilterDrawerActions />}\n />\n )\n}\n\nexport interface FilterProps {\n internalProviderDisabled?: boolean\n filterValues?: any\n children: ReactNode\n buttonLabel?: string\n title?: string\n onApplyFilters?: <T>(filters: T) => void\n}\nexport default function Filter(props: FilterProps) {\n const {\n buttonLabel,\n title,\n filterValues,\n children,\n onApplyFilters,\n internalProviderDisabled,\n } = props\n\n const ch = (\n <React.Fragment>\n <Box\n sx={{\n display: 'flex',\n direction: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n alignContent: 'center',\n }}\n >\n <FilterControl />\n <ButtonPesquisar label={buttonLabel} />\n </Box>\n <FilterDrawerContainer\n onApplyFilters={onApplyFilters}\n title={title || ''}\n children={children}\n />\n </React.Fragment>\n )\n\n if (!internalProviderDisabled) {\n return <FilterProvider filterValues={filterValues} children={ch} />\n }\n\n return ch\n}\n\nFilter.defaultProps = {\n buttonLabel: 'Pesquisar',\n title: 'Pesquisar',\n internalProviderDisabled: false,\n}\n","// import { ReactNode } from 'react'\nimport {\n Box,\n Stack,\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n Typography,\n IconButton,\n} from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\nimport { ReactNode } from 'react'\n\ninterface DrawerProps extends MuiDrawerProps {\n title: string\n actions?: ReactNode\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n children: ReactNode\n}\n\nexport default function DrawerContainer(props: DrawerProps) {\n const { title, actions, onClose, children } = props\n return (\n <MuiDrawer\n PaperProps={{\n style: {\n borderRadius: '12px 0 0 12px',\n // boxShadow:\n // '0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)',\n },\n }}\n {...props}\n >\n <Stack\n sx={{\n width: '360px',\n height: '100%',\n justifyContent: 'space-between',\n backgroundColor: (theme) => theme.palette.background.paper,\n }}\n >\n <Stack>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n alignContent: 'center',\n height: '48px',\n borderBottom: (theme) => `solid 1px ${theme.palette.grey[300]}`,\n }}\n >\n <Typography\n component=\"h1\"\n variant=\"h5\"\n sx={{ pl: (theme) => theme.spacing(2) }}\n >\n {title}\n </Typography>\n\n {onClose && (\n <IconButton onClick={onClose}>\n <CancelIcon color=\"error\" />\n </IconButton>\n )}\n </Box>\n\n <Box sx={{ padding: (theme) => theme.spacing(2) }}>{children}</Box>\n </Stack>\n\n {actions && (\n <Box\n sx={{\n // padding: '0 16px 24px',\n pt: (theme) => theme.spacing(1),\n pb: (theme) => theme.spacing(1),\n pl: (theme) => theme.spacing(2),\n pr: (theme) => theme.spacing(2),\n borderTop: (theme) => `solid 1px ${theme.palette.grey[300]}`,\n }}\n >\n {actions}\n </Box>\n )}\n </Stack>\n </MuiDrawer>\n )\n}\n\nDrawerContainer.defaultProps = {\n anchor: 'right',\n}\n","import {\n createTheme,\n responsiveFontSizes,\n ThemeOptions,\n} from '@mui/material/styles'\n\nconst primaryColor = '#59C3E0'\n\ndeclare module '@mui/material/styles' {\n interface Components {\n [key: string]: any\n }\n}\n\nconst themeOptions: ThemeOptions = {\n palette: {\n text: {\n primary: '#262626',\n secondary: '#808080',\n },\n primary: {\n light: '#83EDFF',\n main: primaryColor,\n dark: '#2C96B3',\n },\n background: {\n default: '#F2F2F2',\n paper: '#FAFAFA',\n },\n error: {\n main: '#F44336',\n dark: '#BE0D00',\n light: '#FF6C5F',\n },\n warning: {\n main: '#FFCD38',\n dark: '#C29000',\n light: '#FFED58',\n },\n success: {\n main: '#4CAF50',\n dark: '#187B1C',\n light: '#7DE081',\n },\n grey: {\n '800': '#202024',\n '700': '#262626',\n '600': '#333333',\n '500': '#808080',\n '400': '#BBBBBA',\n '300': '#E0E0E0',\n '200': '#F2F2F2',\n '100': '#FAFAFA',\n },\n },\n typography: {\n h1: {\n fontSize: '2rem',\n fontFamily: 'Poppins',\n },\n h2: {\n fontSize: '1.75rem',\n },\n h3: {\n fontSize: '1.5rem',\n },\n h4: {\n fontSize: '1.25rem',\n },\n h5: {\n fontSize: '1rem',\n },\n h6: {\n fontSize: '0.875rem',\n },\n button: {\n fontSize: '0.875rem',\n fontWeight: 'bold',\n textTransform: 'none',\n },\n body1: {\n fontSize: '1rem',\n color: '#262626',\n },\n body2: {\n fontSize: '0.875rem',\n color: '#808080',\n },\n // htmlFontSize: 10,\n fontFamily: ['sans-serif', 'Roboto', 'Poppins'].join(','),\n },\n components: {\n MuiContainer: {\n defaultProps: {\n maxWidth: false,\n },\n styleOverrides: {\n root: {\n paddingTop: '16px',\n paddingBottom: '16px',\n },\n },\n },\n MuiButton: {\n defaultProps: {\n size: 'small',\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n textTransform: 'none',\n fontWeight: 'bold',\n boxShadow: '2px 3px 4px -2px rgb(32 32 36 / 30%)',\n ':disabled': {\n background: 'rgba(89 195 224 / 30%)',\n color: 'rgb(128 128 128 / 60%)',\n },\n },\n contained: {\n color: 'rgba(255,255,255,0.85)',\n },\n outlined: {\n background: 'white',\n ':disabled': {\n background: 'none',\n boxShadow: 'none',\n borderColor: '#E0E0E0',\n },\n },\n },\n },\n MuiTextField: {\n defaultProps: {\n size: 'small',\n fullWidth: true,\n },\n styleOverrides: {\n root: {\n '& label': {\n color: '#808080',\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: '0.875rem',\n },\n },\n },\n MuiSvgIcon: {\n defaultProps: {\n fontSize: 'small',\n color: 'inherit',\n },\n },\n MuiIconButton: {\n defaultProps: {\n size: 'small',\n },\n styleOverrides: {\n root: {\n // boxShadow: '2px 3px 4px -2px rgb(32 32 36 / 30%)',\n // backgroundColor: primaryColor,\n // '&:hover': { backgroundColor: '#2C96B3' },\n },\n },\n },\n MuiPopover: {\n styleOverrides: {\n paper: {\n borderRadius: '12px',\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n '& .MuiIcon-root': {\n color: primaryColor,\n },\n '& .MuiTypography-root': {\n color: primaryColor,\n },\n },\n ':hover': {\n borderRadius: '6px',\n background: 'rgba(89, 195, 224, 15%)',\n },\n },\n },\n },\n\n MuiTableCell: {\n styleOverrides: {\n root: {\n padding: 0,\n '&.selected': {\n backgroundColor: '#199',\n },\n // '&:hover': {\n // backgroundColor: '#333',\n // },\n },\n head: {\n backgroundColor: '#FAFAFA',\n border: '1px solid #D0D0D0',\n color: '#808080',\n '& span': {\n color: '#808080',\n },\n '& div': {\n marginLeft: '4px',\n },\n },\n body: {\n backgroundColor: '#ffffff00',\n border: '1px solid #D0D0D0',\n borderTop: 'none',\n borderBottom: 'none',\n '& > div': {\n fontSize: '9pt',\n paddingLeft: '6px',\n paddingRight: '6px',\n paddingTop: '2px',\n paddingBottom: '2px',\n },\n },\n },\n },\n\n MuiTableRow: {\n styleOverrides: {\n root: {\n backgroundColor: '#FFFFFF',\n height: '30px',\n '&.MuiTableRow-hover': {\n '&:hover': {\n backgroundColor: '#ffffde',\n },\n },\n },\n\n head: {\n borderRadius: '4px',\n '& div': {\n fontWeight: '600',\n fontSize: '13px',\n padding: '2px',\n },\n },\n },\n },\n\n MUIDataTableHeadCell: {\n styleOverrides: {\n toolButton: {\n height: '48px',\n },\n // sortActive: {\n // color: primaryContrastText,\n // },\n // sortAction: {\n // '& path': {\n // color: primaryContrastText,\n // },\n // },\n },\n },\n\n MUIDataTableBodyRow: {\n styleOverrides: {\n root: {\n '&:hover': {\n backgroundColor: '#333',\n },\n '&:nth-of-type(even)': {\n backgroundColor: '#F5F5F5',\n },\n '&:last-child': {\n borderBottom: '1px solid #D0D0D0',\n },\n },\n },\n },\n\n MuiTableHead: {\n styleOverrides: {\n root: {\n height: '48px',\n },\n },\n },\n\n MuiDrawer: {\n styleOverrides: {\n paper: {},\n },\n },\n },\n}\n\nconst preparedTheme = createTheme(themeOptions)\nconst theme = responsiveFontSizes(preparedTheme)\n\nexport default theme\n"]}
1
+ {"version":3,"sources":["../src/Button/index.tsx","../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/Dialog/index.tsx","../src/DataTableOptions/index.tsx","../src/Tooltip/index.tsx","../src/FormContainer/index.tsx","../src/FormActions/index.tsx","../src/FilterProvider/index.tsx","../src/FilterControl/index.tsx","../src/Filter/index.tsx","../src/DrawerContainer/index.tsx","../src/theme.tsx"],"names":["MuiButton","CircularProgress","jsx","Button","props","_a","isLoading","children","rest","__objRest","__spreadProps","__spreadValues","Button_default","Box","Typography","useMediaQuery","jsxs","PageTitle","title","typographyProps","isSmall","theme","React","LinearProgress","MUIDataTable","useMemo","TableFooter","TableRow","TableCell","MuiPagination","TextField","MenuItem","PaginationFooter","_count","rowsPerPage","page","changePage","changeRowsPerPage","rowsPerPageOptions","countOfPages","e","option","_","_page","Pagination_default","Fragment","DataGridTextLabels","defaultOptions","DataTable","tableTitle","isFetching","data","columns","options","pagination","changePageSize","internalOptions","_rowCount","_rowsPerPage","_changeRowsPerPage","_changePage","textLabels","DataTable_default","MuiDialog","DialogTitle","DialogContent","styled","DialogActions","StyledDialog","Dialog","actions","IconButton","Icon","Editicon","DeleteIcon","MuiTooltip","tooltipClasses","Divider","CustomizedTooltip","_b","className","titleMaps","Title","type","Tooltip","Tooltip_default","OptionStyles","DataTableOptions","onClick","value","extraOptions","displayUpdateButton","displayDeleteButton","disableTooltip","id","icon","iconButtonProps","tooltip","Stack","useFormData","useFormApi","FormActions","formValues","isSubmitting","closeForm","onSubmitForm","FormTriggerButton","openForm","FormContainer","view","triggerButton","isOpen","formActions","_triggerButton","useContext","useEffect","useState","FilterContext","FilterProvider","_filters","filterValues","setFilters","appliedValues","setAppliedFilters","setOpen","applyFilterValues","onChangeFilterValue","name","oldState","keys","newValues","k","removeFilterValue","filterName","removeAllFilterValues","openFilter","closeFilter","useFilter","Chip","CancelIcon","FilterControl","SearchIcon","MuiDrawer","DrawerContainer","onClose","ButtonPesquisar","label","FilterDrawerActions","handleCancelFilter","handleApplyFilter","FilterDrawerContainer","onApplyFilters","Filter","buttonLabel","internalProviderDisabled","ch","createTheme","responsiveFontSizes","primaryColor","themeOptions","preparedTheme","theme_default"],"mappings":"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","sourcesContent":["import {\n Button as MuiButton,\n ButtonProps as MuiButtonProps,\n CircularProgress,\n} from '@mui/material'\n\ninterface ButtonProps extends MuiButtonProps {\n isLoading?: boolean\n}\n\nconst Button = (props: ButtonProps) => {\n const { isLoading, children, ...rest } = props\n\n return (\n <MuiButton {...rest} disabled={isLoading ? true : rest.disabled}>\n {isLoading ? <CircularProgress color=\"secondary\" size={22} /> : children}\n </MuiButton>\n )\n}\n\nexport default Button\n","import React, { ReactNode } from 'react'\nimport {\n Box,\n Theme,\n Typography,\n TypographyProps,\n useMediaQuery,\n} from '@mui/material'\n\ninterface PageTitleProps {\n title: string\n children?: ReactNode\n typographyProps?: TypographyProps\n}\n\nexport default function PageTitle(props: PageTitleProps) {\n const { title, children, typographyProps } = props\n\n const isSmall = useMediaQuery((theme: Theme) => theme.breakpoints.down('sm'))\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: !isSmall ? 'row' : 'column',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 2,\n marginBottom: 2,\n }}\n >\n <Typography component=\"h1\" variant=\"h2\" sx={{ fontWeight: '700' }}>\n {title}\n </Typography>\n\n <Box>{children}</Box>\n </Box>\n )\n}\n","import React from 'react'\nimport { LinearProgress } from '@mui/material'\n\nimport MUIDataTable, {\n MUIDataTableOptions,\n MUIDataTableProps,\n} from 'mui-datatables'\nimport { PaginationProps } from '@data-c/hooks'\nimport PaginationFooter from './components/Pagination'\n\nexport interface DataTableProps extends Omit<MUIDataTableProps, 'title'> {\n isLoading?: boolean\n isFetching?: boolean\n tableTitle?: string\n pagination?: PaginationProps\n changePage?: (page: number) => void\n changePageSize?: (pageSize: number) => void\n}\n\nconst DataGridTextLabels = {\n body: {\n noMatch: 'Nenhum registro encontrado',\n toolTip: 'Ordenar',\n },\n pagination: {\n next: 'Próximo',\n previous: 'Anterior',\n rowsPerPage: 'Linhas por pág:',\n displayRows: 'de',\n },\n toolbar: {\n search: 'Procurar',\n downloadCsv: 'Download CSV',\n print: 'Imprimir',\n viewColumns: 'Colunas',\n filterTable: 'Procurar na Tabela',\n },\n filter: {\n all: 'Todos',\n title: 'Filtros',\n reset: 'Limpar',\n },\n viewColumns: {\n title: 'Visualizar Colunas',\n titleAria: 'Mostrar/Ocultar Colunas da Tabela',\n },\n selectedRows: {\n text: 'Linhas Selecionadas',\n delete: 'Remover',\n deleteAria: 'Remover Linhas Selecionadas',\n },\n}\n\nconst defaultOptions: MUIDataTableOptions = {\n filterType: 'textField',\n selectableRows: 'none',\n elevation: 0,\n responsive: 'vertical',\n print: false,\n download: false,\n filter: false,\n search: false,\n sort: false,\n viewColumns: false,\n textLabels: DataGridTextLabels,\n serverSide: true,\n fixedHeader: false,\n rowsPerPageOptions: [15, 50, 100],\n rowsPerPage: 15,\n}\n\nconst DataTable = (props: DataTableProps) => {\n const {\n tableTitle,\n isLoading,\n isFetching,\n data,\n columns,\n options,\n pagination,\n changePage,\n changePageSize,\n } = props\n\n let internalOptions = options ? options : {}\n if (internalOptions) {\n if (changePage) {\n internalOptions.onChangePage = changePage\n }\n\n if (changePageSize) {\n internalOptions.onChangeRowsPerPage = changePageSize\n }\n\n internalOptions.customFooter = (\n _rowCount,\n _page,\n _rowsPerPage,\n _changeRowsPerPage,\n _changePage,\n textLabels,\n ) => {\n if (!pagination || isLoading) return <></>\n return (\n <PaginationFooter\n count={pagination.totalRecords}\n page={pagination.page}\n rowsPerPage={pagination.pageSize}\n rowsPerPageOptions={\n internalOptions?.rowsPerPageOptions ||\n defaultOptions?.rowsPerPageOptions\n }\n changeRowsPerPage={internalOptions?.onChangeRowsPerPage}\n changePage={internalOptions?.onChangePage}\n textLabels={textLabels}\n />\n )\n }\n }\n\n return (\n <React.Fragment>\n {isFetching && <LinearProgress />}\n <MUIDataTable\n title={tableTitle}\n data={data}\n columns={columns}\n options={{ ...defaultOptions, ...internalOptions }}\n />\n </React.Fragment>\n )\n}\n\nexport default DataTable\n","import { useMemo } from 'react'\nimport {\n TableFooter,\n TableRow,\n TableCell,\n Pagination as MuiPagination,\n TextField,\n MenuItem,\n} from '@mui/material'\n\nconst PaginationFooter = (props: any) => {\n const {\n count: _count,\n rowsPerPage,\n page,\n changePage,\n changeRowsPerPage,\n rowsPerPageOptions,\n } = props\n\n const countOfPages = useMemo(() => {\n return Math.max(0, Math.ceil(_count / rowsPerPage))\n }, [_count, rowsPerPage])\n return (\n <TableFooter>\n <TableRow>\n <TableCell\n colSpan={1000}\n sx={{\n display: 'flex',\n justifyContent: 'flex-end',\n padding: '12px 12px 12px 12px',\n }}\n >\n <TextField\n sx={{\n width: '128px',\n fontSize: '8pt',\n }}\n label=\"Tamanho da página\"\n size=\"small\"\n value={rowsPerPage}\n select\n onChange={(e) => {\n changeRowsPerPage(e.target.value)\n }}\n >\n {rowsPerPageOptions.map((option: string) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={countOfPages}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n changePage(_page)\n }}\n page={page}\n color=\"primary\"\n />\n </TableCell>\n </TableRow>\n </TableFooter>\n )\n}\n\nexport default PaginationFooter\n","import {\n Dialog as MuiDialog,\n DialogTitle,\n DialogContent,\n DialogProps as MuiDialogProps,\n styled,\n DialogActions,\n} from '@mui/material'\nimport { ReactNode } from 'react'\n\nconst StyledDialog = styled(MuiDialog)(({ theme }) => ({\n '& .MuiDialogContent-root': {\n paddingTop: '16px',\n },\n '& .MuiDialog-paper': {\n borderRadius: '6px',\n },\n}))\n\nexport interface DialogProps extends MuiDialogProps {\n actions?: ReactNode\n}\n\nexport default function Dialog(props: DialogProps) {\n const { title, children, actions } = props\n return (\n <StyledDialog {...props}>\n <DialogTitle variant=\"h3\">{title}</DialogTitle>\n <DialogContent children={children} />\n <DialogActions>{actions}</DialogActions>\n </StyledDialog>\n )\n}\n\nDialog.defaultProps = {\n fullWidth: true,\n}\n","import { Box, IconButton, Icon, IconButtonProps } from '@mui/material'\nimport { Edit as Editicon, Delete as DeleteIcon } from '@mui/icons-material'\nimport Tooltip from '../Tooltip'\nimport React from 'react'\n\ninterface TooltipProps {\n type: 'warning' | 'info'\n content: NonNullable<React.ReactNode>\n}\n\ninterface ExtraOptionsProps {\n id: string\n icon: string\n iconButtonProps?: IconButtonProps\n tooltip?: TooltipProps\n}\n\nexport interface DataTableOptionsProps<T> {\n onClick(event: string, value: T): any\n value: T\n extraOptions?: Array<ExtraOptionsProps>\n displayUpdateButton?: boolean\n displayDeleteButton?: boolean\n disableTooltip: boolean\n}\n\nexport const OptionStyles = () => ({\n style: {\n width: '80px',\n textAlign: 'center',\n },\n})\n\nexport default function DataTableOptions<T extends unknown>(\n props: DataTableOptionsProps<T>,\n) {\n const {\n onClick,\n value,\n extraOptions,\n displayUpdateButton,\n displayDeleteButton,\n disableTooltip,\n } = props\n\n return (\n <Box>\n {extraOptions &&\n extraOptions.map(\n ({ id, icon, iconButtonProps, tooltip }: ExtraOptionsProps) => (\n <IconButton\n key={id}\n onClick={() => onClick(id, value)}\n size=\"small\"\n {...iconButtonProps}\n >\n {tooltip && (\n <Tooltip type={tooltip.type} title={tooltip.content}>\n <Icon fontSize=\"small\">{icon}</Icon>\n </Tooltip>\n )}\n\n {!tooltip && <Icon fontSize=\"small\">{icon}</Icon>}\n </IconButton>\n ),\n )}\n\n {displayUpdateButton && (\n <IconButton\n size=\"small\"\n color=\"primary\"\n onClick={() => onClick('edit', value)}\n >\n {disableTooltip && <Editicon fontSize=\"small\" />}\n {!disableTooltip && (\n <Tooltip\n type=\"info\"\n title={<Box>Clique para editar este registro.</Box>}\n >\n <Editicon fontSize=\"small\" />\n </Tooltip>\n )}\n </IconButton>\n )}\n\n {displayDeleteButton && (\n <IconButton\n size=\"small\"\n onClick={() => onClick('delete', value)}\n color=\"primary\"\n >\n {disableTooltip && <DeleteIcon fontSize=\"small\" />}\n {!disableTooltip && (\n <Tooltip\n type=\"warning\"\n title={<Box>Clique para remover este registro.</Box>}\n >\n <DeleteIcon fontSize=\"small\" />\n </Tooltip>\n )}\n </IconButton>\n )}\n </Box>\n )\n}\n\nDataTableOptions.defaultProps = {\n displayUpdateButton: true,\n displayDeleteButton: true,\n disableTooltip: true,\n}\n","import {\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n tooltipClasses,\n Box,\n Icon,\n Typography,\n Divider,\n} from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport React from 'react'\n\nexport interface TooltipProps extends MuiTooltipProps {\n type: 'warning' | 'info'\n}\n\nconst CustomizedTooltip = styled(({ className, ...props }: MuiTooltipProps) => (\n <MuiTooltip {...props} classes={{ popper: className }} />\n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: '#f5f5f9',\n color: 'rgba(0, 0, 0, 0.87)',\n maxWidth: 320,\n minWidth: 180,\n fontSize: theme.typography.pxToRem(12),\n border: '1px solid #dadde9',\n },\n}))\n\nconst titleMaps = {\n info: 'Informação',\n warning: 'Atenção',\n}\n\nconst Title = (props: {\n title: NonNullable<React.ReactNode>\n type: 'warning' | 'info'\n}) => {\n const { title, type } = props\n return (\n <Box sx={{ mt: 0.5 }}>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignContent: 'center',\n }}\n >\n <Icon color={type} fontSize=\"small\">\n {type}\n </Icon>{' '}\n <Typography variant=\"subtitle2\" sx={{ ml: 0.5 }}>\n {titleMaps[type]}\n </Typography>\n </Box>\n <Divider sx={{ mt: 0.5 }} />\n <Box sx={{ mt: 1 }}>{title}</Box>\n </Box>\n )\n}\n\nconst Tooltip = (props: TooltipProps) => {\n const { type, children, title, ...rest } = props\n return (\n <CustomizedTooltip\n arrow\n title={<Title title={title || ''} type={type} />}\n enterDelay={300}\n {...rest}\n >\n {children}\n </CustomizedTooltip>\n )\n}\n\nTooltip.defaultProps = {\n type: 'info',\n}\n\nexport default Tooltip\n","import { Stack } from '@mui/material'\nimport Button from '../Button'\nimport React, { ReactNode } from 'react'\nimport Dialog from '../Dialog'\nimport { useFormData, useFormApi } from '@data-c/providers'\nimport FormActions from '../FormActions'\n\nconst FormTriggerButton = () => {\n const { openForm } = useFormApi()\n return (\n <Button\n variant=\"contained\"\n onClick={() => {\n openForm({} as unknown)\n }}\n >\n Adicionar\n </Button>\n )\n}\n\nexport interface FormContainerProps {\n title?: string\n children: ReactNode\n onSubmitForm?: (formValues: any) => void\n view?: 'dialog' | 'plain'\n triggerButton?: 'none' | React.ReactNode\n actions?: ReactNode\n}\n\nexport default function FormContainer(props: FormContainerProps) {\n const { view, children, title, actions, onSubmitForm, triggerButton } = props\n const { isOpen } = useFormData()\n console.log('ON submut', onSubmitForm)\n const formActions = actions || (\n <FormActions\n onSubmitForm={\n onSubmitForm\n ? onSubmitForm\n : () => {\n throw new Error(\n 'Nenhuma ação foi definida para ser executada em onsSubmitForm',\n )\n }\n }\n />\n )\n\n const _triggerButton =\n triggerButton === 'none' ? null : triggerButton || <FormTriggerButton />\n\n if (view === 'dialog') {\n return (\n <React.Fragment>\n {_triggerButton}\n <Dialog\n open={isOpen}\n title={title}\n children={children}\n actions={formActions}\n />\n </React.Fragment>\n )\n }\n\n return (\n <Stack spacing={2}>\n {children}\n {formActions}\n </Stack>\n )\n}\n\nFormContainer.defaultProps = {\n view: 'dialog',\n}\n","import { Stack } from '@mui/material'\nimport Button from '../Button'\nimport { useFormApi, useFormData } from '@data-c/providers'\n\ninterface FormActionsProps {\n onSubmitForm: (formValues: any) => void\n}\n\nexport default function FormActions(props: FormActionsProps) {\n const { formValues, isSubmitting } = useFormData()\n const { closeForm } = useFormApi()\n const { onSubmitForm } = props\n return (\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n spacing={2}\n >\n <Button color=\"error\" onClick={closeForm}>\n Cancelar\n </Button>\n <Button\n isLoading={isSubmitting}\n variant=\"contained\"\n onClick={() => {\n onSubmitForm(formValues)\n }}\n >\n Salvar\n </Button>\n </Stack>\n )\n}\n","import React, { ReactNode, useContext, useEffect, useState } from 'react'\n\nexport interface FilterOptions<T> {\n label?: string\n value?: T\n}\n\nexport interface FilterContextProps<T = unknown, D = unknown> {\n filterValues: T\n appliedValues?: D\n isOpen?: boolean\n openFilter: () => void\n closeFilter: () => void\n onChangeFilterValue?: (e: React.ChangeEvent<HTMLInputElement>) => void\n applyFilterValues: () => void\n removeFilterValue?: (filterName: string) => void\n removeAllFilterValues?: () => void\n}\n\nexport const FilterContext = React.createContext<FilterContextProps>({\n filterValues: {},\n appliedValues: null,\n openFilter: () => {},\n closeFilter: () => {},\n applyFilterValues: () => {},\n})\n\nexport interface FilterProviderProps<T = unknown> {\n children: ReactNode\n filterValues: T\n}\n\nexport default function FilterProvider<T>(props: FilterProviderProps<T>) {\n const { filterValues: _filters, children } = props\n const [filterValues, setFilters] = useState(_filters)\n const [appliedValues, setAppliedFilters] = useState({})\n const [isOpen, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n applyFilterValues()\n }, [_filters])\n\n function onChangeFilterValue(e: React.ChangeEvent<HTMLInputElement>) {\n const type = e.target.type\n const name = e.target.name\n let value: string | boolean | number\n switch (type) {\n case 'text':\n value = e.target.value\n break\n case 'checkbox':\n value = e.target.checked\n break\n default:\n value = e.target.value\n }\n setFilters((oldState) => ({\n ...oldState,\n [name]: {\n ...oldState[name],\n value,\n },\n }))\n }\n\n function applyFilterValues() {\n const keys = Object.keys(filterValues as {})\n const newValues = {}\n keys.forEach((k) => {\n if (filterValues[k].value !== undefined) {\n newValues[k] = filterValues[k].value\n }\n })\n setAppliedFilters(newValues)\n }\n\n function removeFilterValue(filterName: string) {\n delete appliedValues[filterName]\n delete filterValues[filterName].value\n setAppliedFilters((oldState) => ({ ...oldState, ...appliedValues }))\n setFilters((oldState) => ({ ...oldState, ...filterValues }))\n }\n\n function removeAllFilterValues() {\n setAppliedFilters({})\n setFilters(_filters)\n }\n\n function openFilter() {\n setOpen(true)\n }\n\n function closeFilter() {\n setOpen(false)\n }\n\n return (\n <FilterContext.Provider\n value={{\n filterValues,\n appliedValues,\n isOpen,\n openFilter,\n closeFilter,\n onChangeFilterValue,\n applyFilterValues,\n removeFilterValue,\n removeAllFilterValues,\n }}\n >\n {children}\n </FilterContext.Provider>\n )\n}\n\nexport function useFilter<T = unknown, D = unknown>() {\n return useContext<FilterContextProps<T, D>>(FilterContext as any)\n}\n","import { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\nimport { Apply, Filters } from '../Filter/Filter.stories'\nimport { useFilter } from '../FilterProvider'\n\nexport default function FilterControl() {\n const {\n filterValues,\n appliedValues,\n removeFilterValue,\n removeAllFilterValues,\n } = useFilter<Filters, Apply>()\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {Object.keys(appliedValues || {}).map((filterName: string) => (\n <Chip\n key={filterName}\n size=\"small\"\n label={`${filterValues[filterName].label} - ${\n appliedValues && appliedValues[filterName]\n }`}\n onDelete={() => {\n if (removeFilterValue) removeFilterValue(filterName)\n }}\n variant=\"outlined\"\n />\n ))}\n </Box>\n\n {Object.keys(appliedValues || {}).length > 0 && (\n <Box>\n <IconButton\n onClick={() => {\n if (removeAllFilterValues) removeAllFilterValues()\n }}\n >\n <CancelIcon fontSize=\"small\" color=\"error\" />\n </IconButton>\n </Box>\n )}\n </Box>\n )\n}\n","import React, { ReactNode, useEffect } from 'react'\n\nimport { Box, Button, Stack } from '@mui/material'\nimport { Search as SearchIcon } from '@mui/icons-material'\nimport FilterProvider, { useFilter } from '../FilterProvider'\nimport DrawerContainer from '../DrawerContainer'\nimport FilterControl from '../FilterControl'\n\ninterface ButtonPesquisarProps {\n label?: string\n}\nconst ButtonPesquisar = (props: ButtonPesquisarProps) => {\n const { label } = props\n const { openFilter } = useFilter()\n return (\n <Button\n variant=\"outlined\"\n onClick={() => {\n openFilter()\n }}\n startIcon={<SearchIcon />}\n >\n {label}\n </Button>\n )\n}\n\n// interface FilterDrawerActionsProps {\n// }\nconst FilterDrawerActions = () => {\n const { applyFilterValues, closeFilter } = useFilter()\n\n function handleCancelFilter() {\n closeFilter()\n }\n\n function handleApplyFilter() {\n applyFilterValues()\n closeFilter()\n }\n\n return (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'space-between',\n }}\n >\n <Button onClick={handleCancelFilter} color=\"error\">\n Cancelar\n </Button>\n <Button variant=\"contained\" onClick={handleApplyFilter}>\n Aplicar Filtros\n </Button>\n </Stack>\n )\n}\n\ninterface FilterDrawerContainer {\n children: ReactNode\n title: string\n onApplyFilters?: <T>(filters: T) => void\n}\nconst FilterDrawerContainer = (props: FilterDrawerContainer) => {\n const { title, children, onApplyFilters } = props\n const { isOpen, closeFilter, appliedValues } = useFilter()\n\n useEffect(() => {\n if (onApplyFilters) onApplyFilters(appliedValues)\n }, [appliedValues])\n\n return (\n <DrawerContainer\n title={title}\n open={isOpen}\n children={children}\n onClose={() => closeFilter()}\n actions={<FilterDrawerActions />}\n />\n )\n}\n\nexport interface FilterProps {\n internalProviderDisabled?: boolean\n filterValues?: any\n children: ReactNode\n buttonLabel?: string\n title?: string\n onApplyFilters?: <T>(filters: T) => void\n}\nexport default function Filter(props: FilterProps) {\n const {\n buttonLabel,\n title,\n filterValues,\n children,\n onApplyFilters,\n internalProviderDisabled,\n } = props\n\n const ch = (\n <React.Fragment>\n <Box\n sx={{\n display: 'flex',\n direction: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n alignContent: 'center',\n }}\n >\n <FilterControl />\n <ButtonPesquisar label={buttonLabel} />\n </Box>\n <FilterDrawerContainer\n onApplyFilters={onApplyFilters}\n title={title || ''}\n children={children}\n />\n </React.Fragment>\n )\n\n if (!internalProviderDisabled) {\n return <FilterProvider filterValues={filterValues} children={ch} />\n }\n\n return ch\n}\n\nFilter.defaultProps = {\n buttonLabel: 'Pesquisar',\n title: 'Pesquisar',\n internalProviderDisabled: false,\n}\n","// import { ReactNode } from 'react'\nimport {\n Box,\n Stack,\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n Typography,\n IconButton,\n} from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\nimport { ReactNode } from 'react'\n\ninterface DrawerProps extends MuiDrawerProps {\n title: string\n actions?: ReactNode\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n children: ReactNode\n}\n\nexport default function DrawerContainer(props: DrawerProps) {\n const { title, actions, onClose, children } = props\n return (\n <MuiDrawer\n PaperProps={{\n style: {\n borderRadius: '12px 0 0 12px',\n // boxShadow:\n // '0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)',\n },\n }}\n {...props}\n >\n <Stack\n sx={{\n width: '360px',\n height: '100%',\n justifyContent: 'space-between',\n backgroundColor: (theme) => theme.palette.background.paper,\n }}\n >\n <Stack>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n alignContent: 'center',\n height: '48px',\n borderBottom: (theme) => `solid 1px ${theme.palette.grey[300]}`,\n }}\n >\n <Typography\n component=\"h1\"\n variant=\"h5\"\n sx={{ pl: (theme) => theme.spacing(2) }}\n >\n {title}\n </Typography>\n\n {onClose && (\n <IconButton onClick={onClose}>\n <CancelIcon color=\"error\" />\n </IconButton>\n )}\n </Box>\n\n <Box sx={{ padding: (theme) => theme.spacing(2) }}>{children}</Box>\n </Stack>\n\n {actions && (\n <Box\n sx={{\n // padding: '0 16px 24px',\n pt: (theme) => theme.spacing(1),\n pb: (theme) => theme.spacing(1),\n pl: (theme) => theme.spacing(2),\n pr: (theme) => theme.spacing(2),\n borderTop: (theme) => `solid 1px ${theme.palette.grey[300]}`,\n }}\n >\n {actions}\n </Box>\n )}\n </Stack>\n </MuiDrawer>\n )\n}\n\nDrawerContainer.defaultProps = {\n anchor: 'right',\n}\n","import {\n createTheme,\n responsiveFontSizes,\n ThemeOptions,\n} from '@mui/material/styles'\n\nconst primaryColor = '#59C3E0'\n\ndeclare module '@mui/material/styles' {\n interface Components {\n [key: string]: any\n }\n}\n\nconst themeOptions: ThemeOptions = {\n palette: {\n text: {\n primary: '#262626',\n secondary: '#808080',\n },\n primary: {\n light: '#83EDFF',\n main: primaryColor,\n dark: '#2C96B3',\n },\n background: {\n default: '#F2F2F2',\n paper: '#FAFAFA',\n },\n error: {\n main: '#F44336',\n dark: '#BE0D00',\n light: '#FF6C5F',\n },\n warning: {\n main: '#FFCD38',\n dark: '#C29000',\n light: '#FFED58',\n },\n success: {\n main: '#4CAF50',\n dark: '#187B1C',\n light: '#7DE081',\n },\n grey: {\n '800': '#202024',\n '700': '#262626',\n '600': '#333333',\n '500': '#808080',\n '400': '#BBBBBA',\n '300': '#E0E0E0',\n '200': '#F2F2F2',\n '100': '#FAFAFA',\n },\n },\n typography: {\n h1: {\n fontSize: '2rem',\n fontFamily: 'Poppins',\n },\n h2: {\n fontSize: '1.75rem',\n },\n h3: {\n fontSize: '1.5rem',\n },\n h4: {\n fontSize: '1.25rem',\n },\n h5: {\n fontSize: '1rem',\n },\n h6: {\n fontSize: '0.875rem',\n },\n button: {\n fontSize: '0.875rem',\n fontWeight: 'bold',\n textTransform: 'none',\n },\n body1: {\n fontSize: '1rem',\n color: '#262626',\n },\n body2: {\n fontSize: '0.875rem',\n color: '#808080',\n },\n // htmlFontSize: 10,\n fontFamily: ['sans-serif', 'Roboto', 'Poppins'].join(','),\n },\n components: {\n MuiContainer: {\n defaultProps: {\n maxWidth: false,\n },\n styleOverrides: {\n root: {\n paddingTop: '16px',\n paddingBottom: '16px',\n },\n },\n },\n MuiButton: {\n defaultProps: {\n size: 'small',\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n textTransform: 'none',\n fontWeight: 'bold',\n boxShadow: '2px 3px 4px -2px rgb(32 32 36 / 30%)',\n ':disabled': {\n background: 'rgba(89 195 224 / 30%)',\n color: 'rgb(128 128 128 / 60%)',\n },\n },\n contained: {\n color: 'rgba(255,255,255,0.85)',\n },\n outlined: {\n background: 'white',\n ':disabled': {\n background: 'none',\n boxShadow: 'none',\n borderColor: '#E0E0E0',\n },\n },\n },\n },\n MuiTextField: {\n defaultProps: {\n size: 'small',\n fullWidth: true,\n },\n styleOverrides: {\n root: {\n '& label': {\n color: '#808080',\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: '0.875rem',\n },\n },\n },\n MuiSvgIcon: {\n defaultProps: {\n fontSize: 'small',\n color: 'inherit',\n },\n },\n MuiIconButton: {\n defaultProps: {\n size: 'small',\n },\n styleOverrides: {\n root: {\n // boxShadow: '2px 3px 4px -2px rgb(32 32 36 / 30%)',\n // backgroundColor: primaryColor,\n // '&:hover': { backgroundColor: '#2C96B3' },\n },\n },\n },\n MuiPopover: {\n styleOverrides: {\n paper: {\n borderRadius: '12px',\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n '& .MuiIcon-root': {\n color: primaryColor,\n },\n '& .MuiTypography-root': {\n color: primaryColor,\n },\n },\n ':hover': {\n borderRadius: '6px',\n background: 'rgba(89, 195, 224, 15%)',\n },\n },\n },\n },\n\n MuiTableCell: {\n styleOverrides: {\n root: {\n padding: 0,\n '&.selected': {\n backgroundColor: '#199',\n },\n // '&:hover': {\n // backgroundColor: '#333',\n // },\n },\n head: {\n backgroundColor: '#FAFAFA',\n border: '1px solid #D0D0D0',\n color: '#808080',\n '& span': {\n color: '#808080',\n },\n '& div': {\n marginLeft: '4px',\n },\n },\n body: {\n backgroundColor: '#ffffff00',\n border: '1px solid #D0D0D0',\n borderTop: 'none',\n borderBottom: 'none',\n '& > div': {\n fontSize: '9pt',\n paddingLeft: '6px',\n paddingRight: '6px',\n paddingTop: '2px',\n paddingBottom: '2px',\n },\n },\n },\n },\n\n MuiTableRow: {\n styleOverrides: {\n root: {\n backgroundColor: '#FFFFFF',\n height: '30px',\n '&.MuiTableRow-hover': {\n '&:hover': {\n backgroundColor: '#ffffde',\n },\n },\n },\n\n head: {\n borderRadius: '4px',\n '& div': {\n fontWeight: '600',\n fontSize: '13px',\n padding: '2px',\n },\n },\n },\n },\n\n MUIDataTableHeadCell: {\n styleOverrides: {\n toolButton: {\n height: '48px',\n },\n // sortActive: {\n // color: primaryContrastText,\n // },\n // sortAction: {\n // '& path': {\n // color: primaryContrastText,\n // },\n // },\n },\n },\n\n MUIDataTableBodyRow: {\n styleOverrides: {\n root: {\n '&:hover': {\n backgroundColor: '#333',\n },\n '&:nth-of-type(even)': {\n backgroundColor: '#F5F5F5',\n },\n '&:last-child': {\n borderBottom: '1px solid #D0D0D0',\n },\n },\n },\n },\n\n MuiTableHead: {\n styleOverrides: {\n root: {\n height: '48px',\n },\n },\n },\n\n MuiDrawer: {\n styleOverrides: {\n paper: {},\n },\n },\n },\n}\n\nconst preparedTheme = createTheme(themeOptions)\nconst theme = responsiveFontSizes(preparedTheme)\n\nexport default theme\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-c/ui",
3
- "version": "0.0.34-alpha.0",
3
+ "version": "0.0.35-alpha.0",
4
4
  "description": "> TODO: description",
5
5
  "author": "Raphael <raphael@datac.com.br>",
6
6
  "homepage": "https://gitlab.com/raphaelbsr/mio#readme",
@@ -49,6 +49,7 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@data-c/hooks": "^0.0.28-alpha.0",
52
+ "@data-c/providers": "^0.0.35-alpha.0",
52
53
  "@emotion/react": "^11.10.5",
53
54
  "@emotion/styled": "^11.10.5",
54
55
  "@mui/icons-material": "^5.11.0",
@@ -57,5 +58,5 @@
57
58
  "react": "^18.2.0",
58
59
  "react-dom": "^18.2.0"
59
60
  },
60
- "gitHead": "5798c72c34bcc568535410342805957bbcdb0411"
61
+ "gitHead": "22b61118e382495e8831b2f1821a3e0a02cea845"
61
62
  }