@data-c/ui 0.0.19-alpha.0 → 0.0.25-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
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { MUIDataTableProps } from 'mui-datatables';
3
3
  import { PaginationProps } from '@data-c/hooks';
4
4
  import { TooltipProps as TooltipProps$1 } from '@mui/material';
@@ -30,6 +30,46 @@ declare const Tooltip: {
30
30
  };
31
31
  };
32
32
 
33
+ interface FilterOptions<T> {
34
+ label?: string;
35
+ value?: T;
36
+ }
37
+ interface FilterContextProps<T = unknown, D = unknown> {
38
+ filterValues: T;
39
+ appliedValues?: D;
40
+ isOpen?: boolean;
41
+ openFilter: () => void;
42
+ closeFilter: () => void;
43
+ onChangeFilterValue?: (e: React.ChangeEvent<HTMLInputElement>) => void;
44
+ applyFilterValues: () => void;
45
+ removeFilterValue?: (filterName: string) => void;
46
+ removeAllFilterValues?: () => void;
47
+ }
48
+ declare const FilterContext: React.Context<FilterContextProps<unknown, unknown>>;
49
+ interface FilterProviderProps<T = unknown> {
50
+ children: ReactNode;
51
+ filterValues: T;
52
+ }
53
+ declare function FilterProvider<T>(props: FilterProviderProps<T>): JSX.Element;
54
+ declare function useFilter<T = unknown, D = unknown>(): FilterContextProps<T, D>;
55
+
56
+ declare function FilterControl(): JSX.Element;
57
+
58
+ interface FilterProps {
59
+ filterValues: any;
60
+ children: ReactNode;
61
+ buttonLabel?: string;
62
+ title?: string;
63
+ onApplyFilters: <T>(filters: T) => void;
64
+ }
65
+ declare function Filter(props: FilterProps): JSX.Element;
66
+ declare namespace Filter {
67
+ var defaultProps: {
68
+ buttonLabel: string;
69
+ title: string;
70
+ };
71
+ }
72
+
33
73
  declare module '@mui/material/styles' {
34
74
  interface Components {
35
75
  [key: string]: any;
@@ -37,4 +77,4 @@ declare module '@mui/material/styles' {
37
77
  }
38
78
  declare const theme: _mui_material_styles.Theme;
39
79
 
40
- export { DataTable, DataTableProps, PageTitle, Tooltip, theme };
80
+ export { DataTable, DataTableProps, Filter, FilterContext, FilterContextProps, FilterControl, FilterOptions, FilterProps, FilterProvider, FilterProviderProps, PageTitle, Tooltip, 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 B=Object.defineProperty,z=Object.defineProperties;var O=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var T=(e,t,o)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,d=(e,t)=>{for(var o in t||(t={}))y.call(t,o)&&T(e,o,t[o]);if(f)for(var o of f(t))F.call(t,o)&&T(e,o,t[o]);return e},b=(e,t)=>z(e,O(t));var x=(e,t)=>{var o={};for(var r in e)y.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&f)for(var r of f(e))t.indexOf(r)<0&&F.call(e,r)&&(o[r]=e[r]);return o};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');function w(e){let{title:t,children:o}=e,r=_material.useMediaQuery.call(void 0, n=>n.breakpoints.down("sm"));return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:r?"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:t}),_jsxruntime.jsx.call(void 0, _material.Box,{children:o})]})}var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _muidatatables = require('mui-datatables'); var _muidatatables2 = _interopRequireDefault(_muidatatables);var H=e=>{let{count:t,rowsPerPage:o,page:r,changePage:n,changeRowsPerPage:s,rowsPerPageOptions:a}=e,p=_react.useMemo.call(void 0, ()=>Math.max(0,Math.ceil(t/o)),[t,o]);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.Select,{size:"small",value:o,native:!0,onChange:i=>{s(i.target.value)},children:a.map(i=>_jsxruntime.jsx.call(void 0, "option",{value:i,children:i},i))}),_jsxruntime.jsx.call(void 0, _material.Pagination,{count:p,showFirstButton:!0,showLastButton:!0,onChange:(i,m)=>{n(m)},page:r,color:"secondary"})]})})})},M=H;var q={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"}},u={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:q,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[20,50,100]},J=e=>{let{tableTitle:t,isLoading:o,isFetching:r,data:n,columns:s,options:a,pagination:p,changePage:i,changePageSize:m}=e;return a&&(i&&(a.onChangePage=i),m&&(a.onChangeRowsPerPage=m),a.customFooter=(fe,ue,he,be,xe,R)=>!p||o?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, M,{count:p.totalRecords,page:p.page,rowsPerPage:p.pageSize,rowsPerPageOptions:(a==null?void 0:a.rowsPerPageOptions)||(u==null?void 0:u.rowsPerPageOptions),changeRowsPerPage:a==null?void 0:a.onChangeRowsPerPage,changePage:a==null?void 0:a.onChangePage,textLabels:R})),_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:t,data:n,columns:s,options:d(d({},u),a)})]})},K= exports.DataTable =J;var _styles = require('@mui/material/styles');var ae=_styles.styled.call(void 0, o=>{var r=o,{className:e}=r,t=x(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,b(d({},t),{classes:{popper:e}}))})(({theme:e})=>({[`& .${_material.tooltipClasses.tooltip}`]:{backgroundColor:"#f5f5f9",color:"rgba(0, 0, 0, 0.87)",maxWidth:320,minWidth:180,fontSize:e.typography.pxToRem(12),border:"1px solid #dadde9"}})),ie={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},ne=e=>{let{title:t,type:o}=e;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:o,fontSize:"small",children:o})," ",_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"subtitle2",sx:{ml:.5},children:ie[o]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:t})]})},S=e=>{let s=e,{type:t,children:o,title:r}=s,n=x(s,["type","children","title"]);return _jsxruntime.jsx.call(void 0, ae,b(d({arrow:!0,title:_jsxruntime.jsx.call(void 0, ne,{title:r||"",type:t}),enterDelay:300},n),{children:o}))};S.defaultProps={type:"info"};var le=S;var c="#59C3E0",de={palette:{text:{primary:"#262626",secondary:"#808080"},primary:{light:"#83EDFF",main:c,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:"medium"},styleOverrides:{root:{textTransform:"none",height:"36px",color:"#FAFAFA",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%)"}},outlined:{borderColor:c,color:c,":hover":{color:"#2C96B3",borderColor:"#2C96B3",background:"rgb(89 195 224 / 15%)"},":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",color:"inherit"}},MuiPopover:{styleOverrides:{paper:{borderRadius:"12px"}}},MuiMenuItem:{styleOverrides:{root:{"&.Mui-selected":{"& .MuiIcon-root":{color:c},"& .MuiTypography-root":{color:c}},":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"}}}}},ge=_styles.createTheme.call(void 0, de),ce=_styles.responsiveFontSizes.call(void 0, ge),me= exports.theme =ce;exports.DataTable = K; exports.PageTitle = w; exports.Tooltip = le; exports.theme = me;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var oe=Object.defineProperty,te=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var q=(o,e,t)=>e in o?oe(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,l=(o,e)=>{for(var t in e||(e={}))$.call(e,t)&&q(o,t,e[t]);if(C)for(var t of C(e))j.call(e,t)&&q(o,t,e[t]);return o},f=(o,e)=>te(o,re(e));var M=(o,e)=>{var t={};for(var r in o)$.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&C)for(var r of C(o))e.indexOf(r)<0&&j.call(o,r)&&(t[r]=o[r]);return t};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');function J(o){let{title:e,children:t}=o,r=_material.useMediaQuery.call(void 0, i=>i.breakpoints.down("sm"));return _jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:r?"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 fe=o=>{let{count:e,rowsPerPage:t,page:r,changePage:i,changeRowsPerPage:a,rowsPerPageOptions:n}=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.Select,{size:"small",value:t,native:!0,onChange:s=>{a(s.target.value)},children:n.map(s=>_jsxruntime.jsx.call(void 0, "option",{value:s,children:s},s))}),_jsxruntime.jsx.call(void 0, _material.Pagination,{count:d,showFirstButton:!0,showLastButton:!0,onChange:(s,m)=>{i(m)},page:r,color:"secondary"})]})})})},K=fe;var be={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"}},T={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:be,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[20,50,100],rowsPerPage:20},Fe=o=>{let{tableTitle:e,isLoading:t,isFetching:r,data:i,columns:a,options:n,pagination:d,changePage:s,changePageSize:m}=o;return n&&(s&&(n.onChangePage=s),m&&(n.onChangeRowsPerPage=m),n.customFooter=(k,N,H,W,_,p)=>!d||t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, K,{count:d.totalRecords,page:d.page,rowsPerPage:d.pageSize,rowsPerPageOptions:(n==null?void 0:n.rowsPerPageOptions)||(T==null?void 0:T.rowsPerPageOptions),changeRowsPerPage:n==null?void 0:n.onChangeRowsPerPage,changePage:n==null?void 0:n.onChangePage,textLabels:p})),_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:i,columns:a,options:l(l({},T),n)})]})},Pe= exports.DataTable =Fe;var _styles = require('@mui/material/styles');var Me=_styles.styled.call(void 0, t=>{var r=t,{className:o}=r,e=M(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,f(l({},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"}})),Re={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},Se=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:Re[t]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:e})]})},Y=o=>{let a=o,{type:e,children:t,title:r}=a,i=M(a,["type","children","title"]);return _jsxruntime.jsx.call(void 0, Me,f(l({arrow:!0,title:_jsxruntime.jsx.call(void 0, Se,{title:r||"",type:e}),enterDelay:300},i),{children:t}))};Y.defaultProps={type:"info"};var Oe=Y;var Z=_react2.default.createContext({filterValues:{},appliedValues:null,openFilter:()=>{},closeFilter:()=>{},applyFilterValues:()=>{}});function w(o){let{filterValues:e,children:t}=o,[r,i]=_react.useState.call(void 0, e),[a,n]=_react.useState.call(void 0, {}),[d,s]=_react.useState.call(void 0, !1);_react.useEffect.call(void 0, ()=>{k()},[e]);function m(p){let u=p.target.type,x=p.target.name,y;switch(u){case"text":y=p.target.value;break;case"checkbox":y=p.target.checked;break;default:y=p.target.value}i(U=>f(l({},U),{[x]:f(l({},U[x]),{value:y})}))}function k(){let p=Object.keys(r),u={};p.forEach(x=>{r[x].value!==void 0&&(u[x]=r[x].value)}),n(u)}function N(p){delete a[p],delete r[p].value,n(u=>l(l({},u),a)),i(u=>l(l({},u),r))}function H(){n({}),i(e)}function W(){s(!0)}function _(){s(!1)}return _jsxruntime.jsx.call(void 0, Z.Provider,{value:{filterValues:r,appliedValues:a,isOpen:d,openFilter:W,closeFilter:_,onChangeFilterValue:m,applyFilterValues:k,removeFilterValue:N,removeAllFilterValues:H},children:t})}function h(){return _react.useContext.call(void 0, Z)}var _iconsmaterial = require('@mui/icons-material');function D(){let{filterValues:o,appliedValues:e,removeFilterValue:t,removeAllFilterValues:r}=h();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(i=>_jsxruntime.jsx.call(void 0, _material.Chip,{size:"small",label:`${o[i].label} - ${e&&e[i]}`,onDelete:()=>{t&&t(i)},variant:"outlined"},i))}),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 B(o){let{title:e,actions:t,onClose:r,children:i}=o;return _jsxruntime.jsx.call(void 0, _material.Drawer,f(l({},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:"36px",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:i})]}),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})]})}))}B.defaultProps={anchor:"right"};var Je=o=>{let{label:e}=o,{openFilter:t}=h();return _jsxruntime.jsx.call(void 0, _material.Button,{variant:"outlined",onClick:()=>{t()},startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Search,{}),children:e})},Ke=()=>{let{applyFilterValues:o,closeFilter:e}=h();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"})]})},Xe=o=>{let{title:e,children:t,onApplyFilters:r}=o,{isOpen:i,closeFilter:a,appliedValues:n}=h();return _react.useEffect.call(void 0, ()=>{r(n)},[n]),_jsxruntime.jsx.call(void 0, B,{title:e,open:i,children:t,onClose:()=>a(),actions:_jsxruntime.jsx.call(void 0, Ke,{})})};function E(o){let{buttonLabel:e,title:t,filterValues:r,children:i,onApplyFilters:a}=o;return _jsxruntime.jsxs.call(void 0, w,{filterValues:r,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, D,{}),_jsxruntime.jsx.call(void 0, Je,{label:e})]}),_jsxruntime.jsx.call(void 0, Xe,{onApplyFilters:a,title:t||"",children:i})]})}E.defaultProps={buttonLabel:"Pesquisar",title:"Pesquisar"};var L="#59C3E0",eo={palette:{text:{primary:"#262626",secondary:"#808080"},primary:{light:"#83EDFF",main:L,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:{":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:L},"& .MuiTypography-root":{color:L}},":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:{}}}}},oo=_styles.createTheme.call(void 0, eo),to=_styles.responsiveFontSizes.call(void 0, oo),ro= exports.theme =to;exports.DataTable = Pe; exports.Filter = E; exports.FilterContext = Z; exports.FilterControl = D; exports.FilterProvider = w; exports.PageTitle = J; exports.Tooltip = Oe; exports.theme = ro; exports.useFilter = h;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/Tooltip/index.tsx","../src/theme.tsx"],"names":["Box","Typography","useMediaQuery","jsx","jsxs","PageTitle","props","title","children","isSmall","theme","React","LinearProgress","MUIDataTable","useMemo","TableFooter","TableRow","TableCell","Select","MuiPagination","PaginationFooter","_count","rowsPerPage","page","changePage","changeRowsPerPage","rowsPerPageOptions","countOfPages","e","option","_","_page","Pagination_default","Fragment","DataGridTextLabels","defaultOptions","DataTable","tableTitle","isLoading","isFetching","data","columns","options","pagination","changePageSize","_rowCount","_rowsPerPage","_changeRowsPerPage","_changePage","textLabels","__spreadValues","DataTable_default","MuiTooltip","tooltipClasses","Icon","Divider","styled","CustomizedTooltip","_a","_b","className","__objRest","__spreadProps","titleMaps","Title","type","Tooltip","rest","Tooltip_default","createTheme","responsiveFontSizes","primaryColor","themeOptions","preparedTheme","theme_default"],"mappings":"+kBACA,OAAS,OAAAA,EAAY,cAAAC,EAAY,iBAAAC,MAAqB,gBAalD,OAUE,OAAAC,EAVF,QAAAC,MAAA,oBANW,SAARC,EAA2BC,EAAwB,CACxD,GAAM,CAAE,MAAAC,EAAO,SAAAC,CAAS,EAAIF,EAEtBG,EAAUP,EAAeQ,GAAiBA,EAAM,YAAY,KAAK,IAAI,CAAC,EAE5E,OACEN,EAACJ,EAAA,CACC,GAAI,CACF,QAAS,OACT,cAAgBS,EAAkB,SAAR,MAC1B,eAAgB,gBAChB,WAAY,SACZ,IAAK,EACL,aAAc,CAChB,EAEA,UAAAN,EAACF,EAAA,CAAW,UAAU,KAAK,QAAQ,KAAK,GAAI,CAAE,WAAY,KAAM,EAC7D,SAAAM,EACH,EAEAJ,EAACH,EAAA,CAAK,SAAAQ,EAAS,GACjB,CAEJ,CC/BA,OAAOG,MAAW,QAClB,OAAS,kBAAAC,MAAsB,gBAE/B,OAAOC,MAGA,iBCNP,OAAS,WAAAC,MAAe,QACxB,OACE,eAAAC,EACA,YAAAC,EACA,aAAAC,EACA,UAAAC,EACA,cAAcC,MACT,gBAmBC,OAiBM,OAAAhB,EAjBN,QAAAC,MAAA,oBAjBR,IAAMgB,EAAoBd,GAAe,CACvC,GAAM,CACJ,MAAOe,EACP,YAAAC,EACA,KAAAC,EACA,WAAAC,EACA,kBAAAC,EACA,mBAAAC,CACF,EAAIpB,EAEEqB,EAAeb,EAAQ,IACpB,KAAK,IAAI,EAAG,KAAK,KAAKO,EAASC,CAAW,CAAC,EACjD,CAACD,EAAQC,CAAW,CAAC,EAExB,OACEnB,EAACY,EAAA,CACC,SAAAZ,EAACa,EAAA,CACC,SAAAZ,EAACa,EAAA,CACC,QAAS,IACT,GAAI,CACF,QAAS,OACT,eAAgB,WAChB,QAAS,qBACX,EAEA,UAAAd,EAACe,EAAA,CACC,KAAK,QACL,MAAOI,EACP,OAAM,GACN,SAAWM,GAAM,CACfH,EAAkBG,EAAE,OAAO,KAAK,CAClC,EAEC,SAAAF,EAAmB,IAAKG,GACvB1B,EAAC,UAAoB,MAAO0B,EACzB,SAAAA,GADUA,CAEb,CACD,EACH,EACA1B,EAACgB,EAAA,CACC,MAAOQ,EACP,gBAAe,GACf,eAAc,GACd,SAAU,CAACG,EAAGC,IAAU,CACtBP,EAAWO,CAAK,CAClB,EACA,KAAMR,EACN,MAAM,YACR,GACF,EACF,EACF,CAEJ,EAEOS,EAAQZ,EDoC4B,mBAAAa,EAAA,OAAA9B,EAkBvC,QAAAC,MAlBuC,oBAjF3C,IAAM8B,EAAqB,CACzB,KAAM,CACJ,QAAS,6BACT,QAAS,SACX,EACA,WAAY,CACV,KAAM,aACN,SAAU,WACV,YAAa,qBACb,YAAa,IACf,EACA,QAAS,CACP,OAAQ,WACR,YAAa,eACb,MAAO,WACP,YAAa,UACb,YAAa,oBACf,EACA,OAAQ,CACN,IAAK,QACL,MAAO,UACP,MAAO,QACT,EACA,YAAa,CACX,MAAO,qBACP,UAAW,mCACb,EACA,aAAc,CACZ,KAAM,sBACN,OAAQ,UACR,WAAY,6BACd,CACF,EAEMC,EAAsC,CAC1C,WAAY,YACZ,eAAgB,OAChB,UAAW,EACX,WAAY,WACZ,MAAO,GACP,SAAU,GACV,OAAQ,GACR,OAAQ,GACR,KAAM,GACN,YAAa,GACb,WAAYD,EACZ,WAAY,GACZ,YAAa,GACb,mBAAoB,CAAC,GAAI,GAAI,GAAG,CAClC,EAEME,EAAa9B,GAA0B,CAC3C,GAAM,CACJ,WAAA+B,EACA,UAAAC,EACA,WAAAC,EACA,KAAAC,EACA,QAAAC,EACA,QAAAC,EACA,WAAAC,EACA,WAAAnB,EACA,eAAAoB,CACF,EAAItC,EAEJ,OAAIoC,IACElB,IACFkB,EAAQ,aAAelB,GAGrBoB,IACFF,EAAQ,oBAAsBE,GAGhCF,EAAQ,aAAe,CACrBG,GACAd,GACAe,GACAC,GACAC,GACAC,IAEI,CAACN,GAAcL,EAAkBnC,EAAA8B,EAAA,EAAE,EAErC9B,EAAC6B,EAAA,CACC,MAAOW,EAAW,aAClB,KAAMA,EAAW,KACjB,YAAaA,EAAW,SACxB,oBACED,GAAA,YAAAA,EAAS,sBAAsBP,GAAA,YAAAA,EAAgB,oBAEjD,kBAAmBO,GAAA,YAAAA,EAAS,oBAC5B,WAAYA,GAAA,YAAAA,EAAS,aACrB,WAAYO,EACd,GAMJ7C,EAACO,EAAM,SAAN,CACE,UAAA4B,GAAcpC,EAACS,EAAA,EAAe,EAC/BT,EAACU,EAAA,CACC,MAAOwB,EACP,KAAMG,EACN,QAASC,EACT,QAASS,IAAA,GAAKf,GAAmBO,GACnC,GACF,CAEJ,EAEOS,EAAQf,EElIf,OACE,WAAWgB,EAEX,kBAAAC,EACA,OAAArD,EACA,QAAAsD,GACA,cAAArD,GACA,WAAAsD,OACK,gBACP,OAAS,UAAAC,OAAc,uBAQrB,cAAArD,EAwBI,QAAAC,MAxBJ,oBADF,IAAMqD,GAAoBD,GAAQE,GAA0C,CAA1C,IAAAC,EAAAD,EAAE,WAAAE,CAhBpC,EAgBkCD,EAAgBrD,EAAAuD,EAAhBF,EAAgB,CAAd,cAClC,OAAAxD,EAACiD,EAAAU,EAAAZ,EAAA,GAAe5C,GAAf,CAAsB,QAAS,CAAE,OAAQsD,CAAU,GAAG,EACxD,EAAE,CAAC,CAAE,MAAAlD,CAAM,KAAO,CACjB,CAAC,MAAM2C,EAAe,WAAY,CAChC,gBAAiB,UACjB,MAAO,sBACP,SAAU,IACV,SAAU,IACV,SAAU3C,EAAM,WAAW,QAAQ,EAAE,EACrC,OAAQ,mBACV,CACF,EAAE,EAEIqD,GAAY,CAChB,KAAM,mBACN,QAAS,eACX,EAEMC,GAAS1D,GAGT,CACJ,GAAM,CAAE,MAAAC,EAAO,KAAA0D,CAAK,EAAI3D,EACxB,OACEF,EAACJ,EAAA,CAAI,GAAI,CAAE,GAAI,EAAI,EACjB,UAAAI,EAACJ,EAAA,CACC,GAAI,CACF,QAAS,OACT,cAAe,MACf,WAAY,SACZ,aAAc,QAChB,EAEA,UAAAG,EAACmD,GAAA,CAAK,MAAOW,EAAM,SAAS,QACzB,SAAAA,EACH,EAAQ,IACR9D,EAACF,GAAA,CAAW,QAAQ,YAAY,GAAI,CAAE,GAAI,EAAI,EAC3C,SAAA8D,GAAUE,GACb,GACF,EACA9D,EAACoD,GAAA,CAAQ,GAAI,CAAE,GAAI,EAAI,EAAG,EAC1BpD,EAACH,EAAA,CAAI,GAAI,CAAE,GAAI,CAAE,EAAI,SAAAO,EAAM,GAC7B,CAEJ,EAEM2D,EAAW5D,GAAwB,CACvC,IAA2CoD,EAAApD,EAAnC,MAAA2D,EAAM,SAAAzD,EAAU,MAAAD,CA/D1B,EA+D6CmD,EAATS,EAAAN,EAASH,EAAT,CAA1B,OAAM,WAAU,UACxB,OACEvD,EAACsD,GAAAK,EAAAZ,EAAA,CACC,MAAK,GACL,MAAO/C,EAAC6D,GAAA,CAAM,MAAOzD,GAAS,GAAI,KAAM0D,EAAM,EAC9C,WAAY,KACRE,GAJL,CAME,SAAA3D,GACH,CAEJ,EAEA0D,EAAQ,aAAe,CACrB,KAAM,MACR,EAEA,IAAOE,GAAQF,EChFf,OACE,eAAAG,GACA,uBAAAC,OAEK,uBAEP,IAAMC,EAAe,UAQfC,GAA6B,CACjC,QAAS,CACP,KAAM,CACJ,QAAS,UACT,UAAW,SACb,EACA,QAAS,CACP,MAAO,UACP,KAAMD,EACN,KAAM,SACR,EACA,WAAY,CACV,QAAS,UACT,MAAO,SACT,EACA,MAAO,CACL,KAAM,UACN,KAAM,UACN,MAAO,SACT,EACA,QAAS,CACP,KAAM,UACN,KAAM,UACN,MAAO,SACT,EACA,QAAS,CACP,KAAM,UACN,KAAM,UACN,MAAO,SACT,EACA,KAAM,CACJ,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,SACT,CACF,EACA,WAAY,CACV,GAAI,CACF,SAAU,OACV,WAAY,SACd,EACA,GAAI,CACF,SAAU,SACZ,EACA,GAAI,CACF,SAAU,QACZ,EACA,GAAI,CACF,SAAU,SACZ,EACA,GAAI,CACF,SAAU,MACZ,EACA,GAAI,CACF,SAAU,UACZ,EACA,OAAQ,CACN,SAAU,WACV,WAAY,OACZ,cAAe,MACjB,EACA,MAAO,CACL,SAAU,OACV,MAAO,SACT,EACA,MAAO,CACL,SAAU,WACV,MAAO,SACT,EAEA,WAAY,CAAC,aAAc,SAAU,SAAS,EAAE,KAAK,GAAG,CAC1D,EACA,WAAY,CACV,aAAc,CACZ,aAAc,CACZ,SAAU,EACZ,EACA,eAAgB,CACd,KAAM,CACJ,WAAY,OACZ,cAAe,MACjB,CACF,CACF,EACA,UAAW,CACT,aAAc,CACZ,KAAM,QACR,EACA,eAAgB,CACd,KAAM,CACJ,cAAe,OACf,OAAQ,OACR,MAAO,UACP,WAAY,OACZ,UAAW,uCACX,YAAa,CACX,WAAY,yBACZ,MAAO,wBACT,CACF,EACA,SAAU,CACR,YAAaA,EACb,MAAOA,EACP,SAAU,CACR,MAAO,UACP,YAAa,UACb,WAAY,uBACd,EACA,YAAa,CACX,WAAY,OACZ,UAAW,OACX,YAAa,SACf,CACF,CACF,CACF,EACA,aAAc,CACZ,aAAc,CACZ,KAAM,QACN,UAAW,EACb,EACA,eAAgB,CACd,KAAM,CACJ,UAAW,CACT,MAAO,SACT,CACF,CACF,CACF,EACA,cAAe,CACb,eAAgB,CACd,KAAM,CACJ,SAAU,UACZ,CACF,CACF,EACA,WAAY,CACV,aAAc,CACZ,SAAU,QACV,MAAO,SACT,CACF,EACA,cAAe,CACb,aAAc,CACZ,KAAM,QACN,MAAO,SACT,CACF,EACA,WAAY,CACV,eAAgB,CACd,MAAO,CACL,aAAc,MAChB,CACF,CACF,EACA,YAAa,CACX,eAAgB,CACd,KAAM,CACJ,iBAAkB,CAChB,kBAAmB,CACjB,MAAOA,CACT,EACA,wBAAyB,CACvB,MAAOA,CACT,CACF,EACA,SAAU,CACR,aAAc,MACd,WAAY,yBACd,CACF,CACF,CACF,EAEA,aAAc,CACZ,eAAgB,CACd,KAAM,CACJ,QAAS,EACT,aAAc,CACZ,gBAAiB,MACnB,CAIF,EACA,KAAM,CACJ,gBAAiB,UACjB,OAAQ,oBACR,MAAO,UACP,SAAU,CACR,MAAO,SACT,EACA,QAAS,CACP,WAAY,KACd,CACF,EACA,KAAM,CACJ,gBAAiB,YACjB,OAAQ,oBACR,UAAW,OACX,aAAc,OACd,UAAW,CACT,SAAU,MACV,YAAa,MACb,aAAc,MACd,WAAY,MACZ,cAAe,KACjB,CACF,CACF,CACF,EAEA,YAAa,CACX,eAAgB,CACd,KAAM,CACJ,gBAAiB,UACjB,OAAQ,OACR,sBAAuB,CACrB,UAAW,CACT,gBAAiB,SACnB,CACF,CACF,EAEA,KAAM,CACJ,aAAc,MACd,QAAS,CACP,WAAY,MACZ,SAAU,OACV,QAAS,KACX,CACF,CACF,CACF,EAEA,qBAAsB,CACpB,eAAgB,CACd,WAAY,CACV,OAAQ,MACV,CASF,CACF,EAEA,oBAAqB,CACnB,eAAgB,CACd,KAAM,CACJ,UAAW,CACT,gBAAiB,MACnB,EACA,sBAAuB,CACrB,gBAAiB,SACnB,EACA,eAAgB,CACd,aAAc,mBAChB,CACF,CACF,CACF,EAEA,aAAc,CACZ,eAAgB,CACd,KAAM,CACJ,OAAQ,MACV,CACF,CACF,CACF,CACF,EAEME,GAAgBJ,GAAYG,EAAY,EACxC9D,GAAQ4D,GAAoBG,EAAa,EAExCC,GAAQhE","sourcesContent":["import React, { ReactNode } from \"react\";\nimport { Box, Theme, Typography, useMediaQuery } from \"@mui/material\";\n\ninterface PageHeaderProps {\n title: string;\n children?: ReactNode;\n}\n\nexport default function PageTitle(props: PageHeaderProps) {\n const { title, children } = 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: [20, 50, 100],\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 if (options) {\n if (changePage) {\n options.onChangePage = changePage\n }\n\n if (changePageSize) {\n options.onChangeRowsPerPage = changePageSize\n }\n\n options.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 options?.rowsPerPageOptions || defaultOptions?.rowsPerPageOptions\n }\n changeRowsPerPage={options?.onChangeRowsPerPage}\n changePage={options?.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, ...options }}\n />\n </React.Fragment>\n )\n}\n\nexport default DataTable\n","import { useMemo } from 'react'\nimport {\n TableFooter,\n TableRow,\n TableCell,\n Select,\n Pagination as MuiPagination,\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\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 <Select\n size=\"small\"\n value={rowsPerPage}\n native\n onChange={(e) => {\n changeRowsPerPage(e.target.value)\n }}\n >\n {rowsPerPageOptions.map((option: string) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </Select>\n <MuiPagination\n count={countOfPages}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n changePage(_page)\n }}\n page={page}\n color=\"secondary\"\n />\n </TableCell>\n </TableRow>\n </TableFooter>\n )\n}\n\nexport default PaginationFooter\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\ninterface 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 {\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: 'medium',\n },\n styleOverrides: {\n root: {\n textTransform: 'none',\n height: '36px',\n color: '#FAFAFA',\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 outlined: {\n borderColor: primaryColor,\n color: primaryColor,\n ':hover': {\n color: '#2C96B3',\n borderColor: '#2C96B3',\n background: 'rgb(89 195 224 / 15%)',\n },\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 color: 'inherit',\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}\n\nconst preparedTheme = createTheme(themeOptions)\nconst theme = responsiveFontSizes(preparedTheme)\n\nexport default theme\n"]}
1
+ {"version":3,"sources":["../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/Tooltip/index.tsx","../src/FilterProvider/index.tsx","../src/FilterControl/index.tsx","../src/Filter/index.tsx","../src/DrawerContainer/index.tsx","../src/theme.tsx"],"names":["Box","Typography","useMediaQuery","jsx","jsxs","PageTitle","props","title","children","isSmall","theme","React","LinearProgress","MUIDataTable","useMemo","TableFooter","TableRow","TableCell","Select","MuiPagination","PaginationFooter","_count","rowsPerPage","page","changePage","changeRowsPerPage","rowsPerPageOptions","countOfPages","e","option","_","_page","Pagination_default","Fragment","DataGridTextLabels","defaultOptions","DataTable","tableTitle","isLoading","isFetching","data","columns","options","pagination","changePageSize","_rowCount","_rowsPerPage","_changeRowsPerPage","_changePage","textLabels","__spreadValues","DataTable_default","MuiTooltip","tooltipClasses","Icon","Divider","styled","CustomizedTooltip","_a","_b","className","__objRest","__spreadProps","titleMaps","Title","type","Tooltip","rest","Tooltip_default","useContext","useEffect","useState","FilterContext","FilterProvider","_filters","filterValues","setFilters","appliedValues","setAppliedFilters","isOpen","setOpen","applyFilterValues","onChangeFilterValue","name","value","oldState","keys","newValues","k","removeFilterValue","filterName","removeAllFilterValues","openFilter","closeFilter","useFilter","Chip","IconButton","CancelIcon","FilterControl","Button","Stack","SearchIcon","MuiDrawer","DrawerContainer","actions","onClose","ButtonPesquisar","label","FilterDrawerActions","handleCancelFilter","handleApplyFilter","FilterDrawerContainer","onApplyFilters","Filter","buttonLabel","createTheme","responsiveFontSizes","primaryColor","themeOptions","preparedTheme","theme_default"],"mappings":"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","sourcesContent":["import React, { ReactNode } from \"react\";\nimport { Box, Theme, Typography, useMediaQuery } from \"@mui/material\";\n\ninterface PageHeaderProps {\n title: string;\n children?: ReactNode;\n}\n\nexport default function PageTitle(props: PageHeaderProps) {\n const { title, children } = 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: [20, 50, 100],\n rowsPerPage: 20,\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 if (options) {\n if (changePage) {\n options.onChangePage = changePage\n }\n\n if (changePageSize) {\n options.onChangeRowsPerPage = changePageSize\n }\n\n options.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 options?.rowsPerPageOptions || defaultOptions?.rowsPerPageOptions\n }\n changeRowsPerPage={options?.onChangeRowsPerPage}\n changePage={options?.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, ...options }}\n />\n </React.Fragment>\n )\n}\n\nexport default DataTable\n","import { useMemo } from 'react'\nimport {\n TableFooter,\n TableRow,\n TableCell,\n Select,\n Pagination as MuiPagination,\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\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 <Select\n size=\"small\"\n value={rowsPerPage}\n native\n onChange={(e) => {\n changeRowsPerPage(e.target.value)\n }}\n >\n {rowsPerPageOptions.map((option: string) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </Select>\n <MuiPagination\n count={countOfPages}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n changePage(_page)\n }}\n page={page}\n color=\"secondary\"\n />\n </TableCell>\n </TableRow>\n </TableFooter>\n )\n}\n\nexport default PaginationFooter\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\ninterface 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 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 { Box, Button, Stack } from '@mui/material'\n\nimport { Search as SearchIcon } from '@mui/icons-material'\nimport FilterProvider, { useFilter } from '../FilterProvider'\nimport DrawerContainer from '../DrawerContainer'\nimport { ReactNode, useEffect } from 'react'\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 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 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 { buttonLabel, title, filterValues, children, onApplyFilters } = props\n return (\n <FilterProvider filterValues={filterValues}>\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 </FilterProvider>\n )\n}\n\nFilter.defaultProps = {\n buttonLabel: 'Pesquisar',\n title: 'Pesquisar',\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 // width: '412px',\n // alignItems: 'flex-end',\n // backgroundColor: 'transparent',\n // boxShadow: 'none',\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: '36px',\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 // color: '#FAFAFA',\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 // borderColor: primaryColor,\n // color: primaryColor,\n // ':hover': {\n // color: '#2C96B3',\n // borderColor: '#2C96B3',\n // background: 'rgb(89 195 224 / 15%)',\n // },\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.19-alpha.0",
3
+ "version": "0.0.25-alpha.0",
4
4
  "description": "> TODO: description",
5
5
  "author": "Raphael <raphael@datac.com.br>",
6
6
  "homepage": "https://gitlab.com/raphaelbsr/mio#readme",
@@ -48,7 +48,7 @@
48
48
  "typescript": "^4.9.4"
49
49
  },
50
50
  "dependencies": {
51
- "@data-c/hooks": "^0.0.19-alpha.0",
51
+ "@data-c/hooks": "^0.0.25-alpha.0",
52
52
  "@emotion/react": "^11.10.5",
53
53
  "@emotion/styled": "^11.10.5",
54
54
  "@mui/icons-material": "^5.11.0",
@@ -57,5 +57,5 @@
57
57
  "react": "^18.2.0",
58
58
  "react-dom": "^18.2.0"
59
59
  },
60
- "gitHead": "d10146304b7063c56868f6527ad0c5c6bc40ee99"
60
+ "gitHead": "8ad5a4a928e74bc7a7251278639784689092358c"
61
61
  }