@data-c/ui 0.0.38-alpha.0 → 0.0.39-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
@@ -14,6 +14,29 @@ interface ButtonContainerProps {
14
14
  }
15
15
  declare function ButtonContainer({ children }: ButtonContainerProps): JSX.Element;
16
16
 
17
+ interface DialogProps extends DialogProps$1 {
18
+ actions?: 'none' | ReactNode;
19
+ type?: 'content' | 'info' | 'warning' | 'error' | 'success';
20
+ onConfirm?: () => void;
21
+ }
22
+ declare function Dialog(props: DialogProps): JSX.Element;
23
+ declare namespace Dialog {
24
+ var defaultProps: {
25
+ fullWidth: boolean;
26
+ };
27
+ }
28
+
29
+ interface DeleteContainerProps extends DialogProps {
30
+ title: string;
31
+ children: ReactNode;
32
+ onDelete?: (formValues: any) => void;
33
+ type?: 'warning' | 'error';
34
+ }
35
+ declare function DeleteContainer(props: DeleteContainerProps): JSX.Element;
36
+ declare namespace DeleteContainer {
37
+ var defaultProps: DialogProps;
38
+ }
39
+
17
40
  interface PageTitleProps {
18
41
  title: string;
19
42
  children?: ReactNode;
@@ -30,18 +53,6 @@ interface DataTableProps extends Omit<MUIDataTableProps, 'title'> {
30
53
  }
31
54
  declare const DataTable: (props: DataTableProps) => JSX.Element;
32
55
 
33
- interface DialogProps extends DialogProps$1 {
34
- actions?: 'none' | ReactNode;
35
- type?: 'content' | 'info' | 'warning' | 'error' | 'success';
36
- onConfirm?: () => void;
37
- }
38
- declare function Dialog(props: DialogProps): JSX.Element;
39
- declare namespace Dialog {
40
- var defaultProps: {
41
- fullWidth: boolean;
42
- };
43
- }
44
-
45
56
  interface TooltipProps$1 {
46
57
  type: 'warning' | 'info';
47
58
  content: NonNullable<React.ReactNode>;
@@ -127,4 +138,4 @@ declare module '@mui/material/styles' {
127
138
  }
128
139
  declare const theme: _mui_material_styles.Theme;
129
140
 
130
- export { Button, ButtonContainer, ButtonContainerProps, DataTable, DataTableOptions, DataTableOptionsProps, DataTableProps, Dialog, DialogProps, FilterContainer, FilterControl, FilterProps, FormContainer, FormContainerProps, OptionStyles, PageTitle, Tooltip, TooltipProps, theme };
141
+ export { Button, ButtonContainer, ButtonContainerProps, DataTable, DataTableOptions, DataTableOptionsProps, DataTableProps, DeleteContainer, DeleteContainerProps, Dialog, DialogProps, FilterContainer, FilterControl, FilterProps, FormContainer, FormContainerProps, OptionStyles, PageTitle, Tooltip, TooltipProps, theme };
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 Po=Object.defineProperty,ho=Object.defineProperties;var bo=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var X=(o,e,t)=>e in o?Po(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,s=(o,e)=>{for(var t in e||(e={}))Y.call(e,t)&&X(o,t,e[t]);if(w)for(var t of w(e))Z.call(e,t)&&X(o,t,e[t]);return o},c=(o,e)=>ho(o,bo(e));var y=(o,e)=>{var t={};for(var r in o)Y.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&w)for(var r of w(o))e.indexOf(r)<0&&Z.call(o,r)&&(t[r]=o[r]);return t};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var Bo=o=>{let i=o,{isLoading:e,children:t}=i,r=y(i,["isLoading","children"]);return _jsxruntime.jsx.call(void 0, _material.Button,c(s({},r),{disabled:e?!0:r.disabled,children:e?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:22}):t}))},P= exports.Button =Bo;function D({children:o}){return _jsxruntime.jsx.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-end",alignItems:"center",spacing:1,children:o})}function to(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 Oo=o=>{let{count:e,rowsPerPage:t,page:r,changePage:i,changeRowsPerPage:n,rowsPerPageOptions:a}=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:p=>{n(p.target.value)},children:a.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:d,showFirstButton:!0,showLastButton:!0,onChange:(p,f)=>{i(f)},page:r,color:"primary"})]})})})},ro=Oo;var Wo={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"}},v={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:Wo,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[15,50,100],rowsPerPage:15},_o=o=>{let{tableTitle:e,isLoading:t,isFetching:r,data:i,columns:n,options:a,pagination:d,changePage:p,changePageSize:f}=o,l=a||{};return l&&(p&&(l.onChangePage=p),f&&(l.onChangeRowsPerPage=f),l.customFooter=(I,J,He,$e,qe,xo)=>!d||t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, ro,{count:d.totalRecords,page:d.page,rowsPerPage:d.pageSize,rowsPerPageOptions:(l==null?void 0:l.rowsPerPageOptions)||(v==null?void 0:v.rowsPerPageOptions),changeRowsPerPage:l==null?void 0:l.onChangeRowsPerPage,changePage:l==null?void 0:l.onChangePage,textLabels:xo})),_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:n,options:s(s({},v),l)})]})},Uo= exports.DataTable =_o;var _iconsmaterial = require('@mui/icons-material');var no={content:{cancel:"error",confirm:"primary"},info:{cancel:"error",confirm:"info"},success:{cancel:"error",confirm:"success"},warning:{cancel:"error",confirm:"warning"},error:{cancel:"primary",confirm:"error"}};function h(o){let{cancelLabel:e,confirmLabel:t,type:r,onCancel:i,onConfirm:n,isLoadingConfirmButton:a}=o;return _jsxruntime.jsxs.call(void 0, D,{children:[i&&_jsxruntime.jsx.call(void 0, P,{onClick:()=>{i()},color:no[r||"content"].cancel,children:e}),_jsxruntime.jsx.call(void 0, P,{onClick:()=>{n&&n()},color:no[r||"content"].confirm,variant:"contained",isLoading:a,children:t})]})}var qo={cancelLabel:"Cancelar",confirmLabel:"Ok",type:"content",isLoadingConfirmButton:!1};h.defaultProps=qo;function B(o){let{title:e,children:t,actions:r,onClose:i,onConfirm:n,type:a}=o,d=r==="none"?null:r||_jsxruntime.jsx.call(void 0, h,{onCancel:()=>{i&&i({},"backdropClick")},onConfirm:()=>{n&&n()},type:a}),p=_react.useMemo.call(void 0, ()=>a==="error"?"error_outlined":a==="warning"?"error_amber":a==="info"||a==="success"?"info":!1,[a]),f=_react.useMemo.call(void 0, ()=>a!=="content"?a:"primary",[a]);return _jsxruntime.jsxs.call(void 0, _material.Dialog,c(s({},o),{children:[_jsxruntime.jsx.call(void 0, _material.DialogTitle,{children:_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"space-between",alignItems:"center",spacing:2,children:[_jsxruntime.jsx.call(void 0, _material.Typography,{sx:{color:l=>{if(a!=="content")return l.palette[f||"primary"].main}},variant:"h4",children:_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-start",alignItems:"center",children:[p&&_jsxruntime.jsx.call(void 0, _material.Icon,{sx:{mr:1},fontSize:"small",children:p}),e]})}),i&&_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>i({},"escapeKeyDown"),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Close,{})})]})}),_jsxruntime.jsx.call(void 0, _material.DialogContent,{children:_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:t})}),_jsxruntime.jsx.call(void 0, _material.DialogActions,{children:d})]}))}B.defaultProps={fullWidth:!0};var _styles = require('@mui/material/styles');var se=_styles.styled.call(void 0, t=>{var r=t,{className:o}=r,e=y(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,c(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"}})),pe={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},ce=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:pe[t]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:e})]})},po=o=>{let n=o,{type:e,children:t,title:r}=n,i=y(n,["type","children","title"]);return _jsxruntime.jsx.call(void 0, se,c(s({arrow:!0,title:_jsxruntime.jsx.call(void 0, ce,{title:r||"",type:e}),enterDelay:300},i),{children:t}))};po.defaultProps={type:"info"};var F=po;var Ut=()=>({style:{width:"80px",textAlign:"center"}});function N(o){let{onClick:e,value:t,extraOptions:r,displayUpdateButton:i,displayDeleteButton:n,disableTooltip:a}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{children:[r&&r.map(({id:d,icon:p,iconButtonProps:f,tooltip:l})=>_jsxruntime.jsxs.call(void 0, _material.IconButton,c(s({onClick:()=>e(d,t),size:"small"},f),{children:[l&&_jsxruntime.jsx.call(void 0, F,{type:l.type,title:l.content,children:_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})}),!l&&_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})]}),d)),i&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",color:"primary",onClick:()=>e("edit",t),children:[a&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"}),!a&&_jsxruntime.jsx.call(void 0, F,{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:[a&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"}),!a&&_jsxruntime.jsx.call(void 0, F,{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"})})]})]})}N.defaultProps={displayUpdateButton:!0,displayDeleteButton:!0,disableTooltip:!0};var _providers = require('@data-c/providers');function E(o){let{formValues:e,isSubmitting:t}=_providers.useFormData.call(void 0, ),{closeForm:r}=_providers.useFormApi.call(void 0, ),{onSubmitForm:i,hideCancelButton:n}=o;return _jsxruntime.jsx.call(void 0, h,{confirmLabel:"Salvar",onConfirm:()=>i(e),onCancel:n?void 0:()=>r(),isLoadingConfirmButton:t})}function W(o){let{view:e,children:t,actions:r,onSubmitForm:i,triggerButton:n,dialogProps:a,triggerButtonLabel:d}=o,{isOpen:p}=_providers.useFormData.call(void 0, ),{closeForm:f,openForm:l}=_providers.useFormApi.call(void 0, ),I=r||_jsxruntime.jsx.call(void 0, E,{hideCancelButton:e==="plain",onSubmitForm:i||(()=>{throw new Error("Nenhuma a\xE7\xE3o foi definida para ser executada em onsSubmitForm")})}),J=n==="none"?null:n||_jsxruntime.jsx.call(void 0, P,{variant:"contained",onClick:()=>{l({})},children:d||"Adicionar"});return e==="dialog"?_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[J,_jsxruntime.jsx.call(void 0, B,c(s({},a),{onClose:()=>{f()},open:p,children:t,actions:I}))]}):_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:2,children:[t,I]})}var he={view:"dialog",dialogProps:{maxWidth:"md",fullWidth:!0}};W.defaultProps=he;function k(){let{deleteFilterValue:o,deleteAllFilterValues:e}=_providers.useFilterApi.call(void 0, ),{filterValues:t,appliedValues:r}=_providers.useFilterData.call(void 0, );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(r||{}).map(i=>_jsxruntime.jsx.call(void 0, _material.Chip,{size:"small",label:`${t[i].label} - ${r&&r[i]}`,onDelete:()=>{o&&o(i)},variant:"outlined"},i))}),Object.keys(r||{}).length>0&&_jsxruntime.jsx.call(void 0, _material.Box,{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>{e&&e()},children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{fontSize:"small",color:"error"})})})]})}function R(o){let{drawerTitle:e,actions:t,onClose:r,children:i}=o;return _jsxruntime.jsx.call(void 0, _material.Drawer,c(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:i})]}),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})]})}))}R.defaultProps={anchor:"right"};var Oe=()=>{let{applyFilterValues:o,closeFilter:e}=_providers.useFilterApi.call(void 0, );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"})]})},Le=o=>{let{title:e,children:t,onApplyFilters:r}=o,{isOpen:i,appliedValues:n}=_providers.useFilterData.call(void 0, ),{closeFilter:a}=_providers.useFilterApi.call(void 0, );return _react.useEffect.call(void 0, ()=>{r&&r(n)},[n]),_jsxruntime.jsx.call(void 0, R,{drawerTitle:e,open:i,children:t,onClose:()=>a(),actions:_jsxruntime.jsx.call(void 0, Oe,{})})};function K(o){let{triggerButtonLabel:e,triggerButtonProps:t,title:r,children:i,onApplyFilters:n}=o,{openFilter:a}=_providers.useFilterApi.call(void 0, );return _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, k,{}),_jsxruntime.jsx.call(void 0, _material.Button,c(s({onClick:()=>{a()}},t),{children:e}))]}),_jsxruntime.jsx.call(void 0, Le,{onApplyFilters:n,title:r||"",children:i})]})}K.defaultProps={triggerButtonLabel:"Pesquisar",triggerButtonProps:{variant:"contained",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Search,{})},title:"Pesquisar"};var Q="#59C3E0",Ve={palette:{text:{primary:"#262626",secondary:"#808080"},primary:{light:"#83EDFF",main:Q,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:Q},"& .MuiTypography-root":{color:Q}},":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:{}}},MuiDialog:{styleOverrides:{paper:{borderRadius:"6px"}}},MuiDialogContent:{styleOverrides:{root:{}}}}},We=_styles.createTheme.call(void 0, Ve),_e=_styles.responsiveFontSizes.call(void 0, We),Ue= exports.theme =_e;exports.Button = P; exports.ButtonContainer = D; exports.DataTable = Uo; exports.DataTableOptions = N; exports.Dialog = B; exports.FilterContainer = K; exports.FilterControl = k; exports.FormContainer = W; exports.OptionStyles = Ut; exports.PageTitle = to; exports.Tooltip = F; exports.theme = Ue;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Co=Object.defineProperty,bo=Object.defineProperties;var Do=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,oo=Object.prototype.propertyIsEnumerable;var Z=(o,e,t)=>e in o?Co(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,s=(o,e)=>{for(var t in e||(e={}))j.call(e,t)&&Z(o,t,e[t]);if(T)for(var t of T(e))oo.call(e,t)&&Z(o,t,e[t]);return o},c=(o,e)=>bo(o,Do(e));var b=(o,e)=>{var t={};for(var r in o)j.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&T)for(var r of T(o))e.indexOf(r)<0&&oo.call(o,r)&&(t[r]=o[r]);return t};var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var To=o=>{let i=o,{isLoading:e,children:t}=i,r=b(i,["isLoading","children"]);return _jsxruntime.jsx.call(void 0, _material.Button,c(s({},r),{disabled:e?!0:r.disabled,children:e?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:22}):t}))},h= exports.Button =To;function w({children:o}){return _jsxruntime.jsx.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-end",alignItems:"center",spacing:1,children:o})}var _iconsmaterial = require('@mui/icons-material');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var to={content:{cancel:"error",confirm:"primary"},info:{cancel:"error",confirm:"info"},success:{cancel:"error",confirm:"success"},warning:{cancel:"primary",confirm:"warning"},error:{cancel:"primary",confirm:"error"}};function g(o){let{cancelLabel:e,confirmLabel:t,type:r,onCancel:i,onConfirm:n,isLoadingConfirmButton:a}=o;return _jsxruntime.jsxs.call(void 0, w,{children:[i&&_jsxruntime.jsx.call(void 0, h,{onClick:()=>{i()},color:to[r||"content"].cancel,children:e}),_jsxruntime.jsx.call(void 0, h,{onClick:()=>{n&&n()},color:to[r||"content"].confirm,variant:"contained",isLoading:a,children:t})]})}var So={cancelLabel:"Cancelar",confirmLabel:"Ok",type:"content",isLoadingConfirmButton:!1};g.defaultProps=So;function P(o){let{title:e,children:t,actions:r,onClose:i,onConfirm:n,type:a}=o,d=r==="none"?null:r||_jsxruntime.jsx.call(void 0, g,{onCancel:()=>{i&&i({},"backdropClick")},onConfirm:()=>{n&&n()},type:a}),p=_react.useMemo.call(void 0, ()=>a==="error"?"error_outlined":a==="warning"?"error_amber":a==="info"||a==="success"?"info":!1,[a]),f=_react.useMemo.call(void 0, ()=>a!=="content"?a:"primary",[a]);return _jsxruntime.jsxs.call(void 0, _material.Dialog,c(s({},o),{children:[_jsxruntime.jsx.call(void 0, _material.DialogTitle,{children:_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"space-between",alignItems:"center",spacing:2,children:[_jsxruntime.jsx.call(void 0, _material.Typography,{sx:{color:l=>{if(a!=="content")return l.palette[f||"primary"].main}},variant:"h4",children:_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",justifyContent:"flex-start",alignItems:"center",children:[p&&_jsxruntime.jsx.call(void 0, _material.Icon,{sx:{mr:1},fontSize:"small",children:p}),e]})}),i&&_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>i({},"escapeKeyDown"),children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Close,{})})]})}),_jsxruntime.jsx.call(void 0, _material.DialogContent,{children:_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:t})}),_jsxruntime.jsx.call(void 0, _material.DialogActions,{children:d})]}))}P.defaultProps={fullWidth:!0};var _providers = require('@data-c/providers');function z(o){let{formValues:e,isSubmitting:t}=_providers.useFormData.call(void 0, ),{closeConfirm:r}=_providers.useFormApi.call(void 0, ),{onDelete:i,hideCancelButton:n,type:a}=o;return _jsxruntime.jsx.call(void 0, g,{type:a,confirmLabel:"Deletar",onConfirm:()=>i(e),onCancel:n?void 0:()=>r(),isLoadingConfirmButton:t})}function O(o){let{isOpenConfirm:e}=_providers.useFormData.call(void 0, ),{type:t,title:r,children:i,actions:n,onDelete:a}=o;return _jsxruntime.jsx.call(void 0, P,{type:t,open:e,title:r,actions:n||_jsxruntime.jsx.call(void 0, z,{type:t,onDelete:a||(()=>{throw new Error("Nenhuma a\xE7\xE3o foi definida para ser executada em onDelete")})}),children:i})}var Ho={open:!1,title:"Deletar Registro?",children:""};O.defaultProps=Ho;function po(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 _muidatatables = require('mui-datatables'); var _muidatatables2 = _interopRequireDefault(_muidatatables);var oe=o=>{let{count:e,rowsPerPage:t,page:r,changePage:i,changeRowsPerPage:n,rowsPerPageOptions:a}=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:p=>{n(p.target.value)},children:a.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:d,showFirstButton:!0,showLastButton:!0,onChange:(p,f)=>{i(f)},page:r,color:"primary"})]})})})},co=oe;var ie={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"}},v={filterType:"textField",selectableRows:"none",elevation:0,responsive:"vertical",print:!1,download:!1,filter:!1,search:!1,sort:!1,viewColumns:!1,textLabels:ie,serverSide:!0,fixedHeader:!1,rowsPerPageOptions:[15,50,100],rowsPerPage:15},ae=o=>{let{tableTitle:e,isLoading:t,isFetching:r,data:i,columns:n,options:a,pagination:d,changePage:p,changePageSize:f}=o,l=a||{};return l&&(p&&(l.onChangePage=p),f&&(l.onChangeRowsPerPage=f),l.customFooter=(A,Y,Ye,Ze,je,ho)=>!d||t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{}):_jsxruntime.jsx.call(void 0, co,{count:d.totalRecords,page:d.page,rowsPerPage:d.pageSize,rowsPerPageOptions:(l==null?void 0:l.rowsPerPageOptions)||(v==null?void 0:v.rowsPerPageOptions),changeRowsPerPage:l==null?void 0:l.onChangeRowsPerPage,changePage:l==null?void 0:l.onChangePage,textLabels:ho})),_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:n,options:s(s({},v),l)})]})},le= exports.DataTable =ae;var _styles = require('@mui/material/styles');var xe=_styles.styled.call(void 0, t=>{var r=t,{className:o}=r,e=b(r,["className"]);return _jsxruntime.jsx.call(void 0, _material.Tooltip,c(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"}})),Pe={info:"Informa\xE7\xE3o",warning:"Aten\xE7\xE3o"},ye=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:Pe[t]})]}),_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{mt:.5}}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:1},children:e})]})},fo=o=>{let n=o,{type:e,children:t,title:r}=n,i=b(n,["type","children","title"]);return _jsxruntime.jsx.call(void 0, xe,c(s({arrow:!0,title:_jsxruntime.jsx.call(void 0, ye,{title:r||"",type:e}),enterDelay:300},i),{children:t}))};fo.defaultProps={type:"info"};var B=fo;var ar=()=>({style:{width:"80px",textAlign:"center"}});function V(o){let{onClick:e,value:t,extraOptions:r,displayUpdateButton:i,displayDeleteButton:n,disableTooltip:a}=o;return _jsxruntime.jsxs.call(void 0, _material.Box,{children:[r&&r.map(({id:d,icon:p,iconButtonProps:f,tooltip:l})=>_jsxruntime.jsxs.call(void 0, _material.IconButton,c(s({onClick:()=>e(d,t),size:"small"},f),{children:[l&&_jsxruntime.jsx.call(void 0, B,{type:l.type,title:l.content,children:_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})}),!l&&_jsxruntime.jsx.call(void 0, _material.Icon,{fontSize:"small",children:p})]}),d)),i&&_jsxruntime.jsxs.call(void 0, _material.IconButton,{size:"small",color:"primary",onClick:()=>e("edit",t),children:[a&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{fontSize:"small"}),!a&&_jsxruntime.jsx.call(void 0, B,{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:[a&&_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{fontSize:"small"}),!a&&_jsxruntime.jsx.call(void 0, B,{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"})})]})]})}V.defaultProps={displayUpdateButton:!0,displayDeleteButton:!0,disableTooltip:!0};function W(o){let{formValues:e,isSubmitting:t}=_providers.useFormData.call(void 0, ),{closeForm:r}=_providers.useFormApi.call(void 0, ),{onSubmitForm:i,hideCancelButton:n}=o;return _jsxruntime.jsx.call(void 0, g,{confirmLabel:"Salvar",onConfirm:()=>i(e),onCancel:n?void 0:()=>r(),isLoadingConfirmButton:t})}function U(o){let{view:e,children:t,actions:r,onSubmitForm:i,triggerButton:n,dialogProps:a,triggerButtonLabel:d}=o,{isOpen:p}=_providers.useFormData.call(void 0, ),{closeForm:f,openForm:l}=_providers.useFormApi.call(void 0, ),A=r||_jsxruntime.jsx.call(void 0, W,{hideCancelButton:e==="plain",onSubmitForm:i||(()=>{throw new Error("Nenhuma a\xE7\xE3o foi definida para ser executada em onsSubmitForm")})}),Y=n==="none"?null:n||_jsxruntime.jsx.call(void 0, h,{variant:"contained",onClick:()=>{l({})},children:d||"Adicionar"});return e==="dialog"?_jsxruntime.jsxs.call(void 0, _react2.default.Fragment,{children:[Y,_jsxruntime.jsx.call(void 0, P,c(s({},a),{onClose:()=>{f()},open:p,children:t,actions:A}))]}):_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:2,children:[t,A]})}var we={view:"dialog",dialogProps:{maxWidth:"md",fullWidth:!0}};U.defaultProps=we;function R(){let{deleteFilterValue:o,deleteAllFilterValues:e}=_providers.useFilterApi.call(void 0, ),{filterValues:t,appliedValues:r}=_providers.useFilterData.call(void 0, );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(r||{}).map(i=>_jsxruntime.jsx.call(void 0, _material.Chip,{size:"small",label:`${t[i].label} - ${r&&r[i]}`,onDelete:()=>{o&&o(i)},variant:"outlined"},i))}),Object.keys(r||{}).length>0&&_jsxruntime.jsx.call(void 0, _material.Box,{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:()=>{e&&e()},children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{fontSize:"small",color:"error"})})})]})}function k(o){let{drawerTitle:e,actions:t,onClose:r,children:i}=o;return _jsxruntime.jsx.call(void 0, _material.Drawer,c(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:i})]}),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})]})}))}k.defaultProps={anchor:"right"};var He=()=>{let{applyFilterValues:o,closeFilter:e}=_providers.useFilterApi.call(void 0, );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"})]})},$e=o=>{let{title:e,children:t,onApplyFilters:r}=o,{isOpen:i,appliedValues:n}=_providers.useFilterData.call(void 0, ),{closeFilter:a}=_providers.useFilterApi.call(void 0, );return _react.useEffect.call(void 0, ()=>{r&&r(n)},[n]),_jsxruntime.jsx.call(void 0, k,{drawerTitle:e,open:i,children:t,onClose:()=>a(),actions:_jsxruntime.jsx.call(void 0, He,{})})};function J(o){let{triggerButtonLabel:e,triggerButtonProps:t,title:r,children:i,onApplyFilters:n}=o,{openFilter:a}=_providers.useFilterApi.call(void 0, );return _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, R,{}),_jsxruntime.jsx.call(void 0, _material.Button,c(s({onClick:()=>{a()}},t),{children:e}))]}),_jsxruntime.jsx.call(void 0, $e,{onApplyFilters:n,title:r||"",children:i})]})}J.defaultProps={triggerButtonLabel:"Pesquisar",triggerButtonProps:{variant:"contained",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Search,{})},title:"Pesquisar"};var X="#59C3E0",Ke={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:{}}},MuiDialog:{styleOverrides:{paper:{borderRadius:"6px"}}},MuiDialogContent:{styleOverrides:{root:{}}}}},Qe=_styles.createTheme.call(void 0, Ke),Je=_styles.responsiveFontSizes.call(void 0, Qe),Xe= exports.theme =Je;exports.Button = h; exports.ButtonContainer = w; exports.DataTable = le; exports.DataTableOptions = V; exports.DeleteContainer = O; exports.Dialog = P; exports.FilterContainer = J; exports.FilterControl = R; exports.FormContainer = U; exports.OptionStyles = ar; exports.PageTitle = po; exports.Tooltip = B; exports.theme = Xe;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Button/index.tsx","../src/ButtonContainer/index.tsx","../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/Dialog/index.tsx","../src/DialogActions/index.tsx","../src/DataTableOptions/index.tsx","../src/Tooltip/index.tsx","../src/FormContainer/index.tsx","../src/FormActions/index.tsx","../src/FilterControl/index.tsx","../src/FilterContainer/index.tsx","../src/DrawerContainer/index.tsx","../src/theme.tsx"],"names":["MuiButton","CircularProgress","jsx","Button","props","_a","isLoading","children","rest","__objRest","__spreadProps","__spreadValues","Button_default","Stack","ButtonContainer","Box","Typography","useMediaQuery","jsxs","PageTitle","title","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","Close","MuiDialog","DialogTitle","DialogContent","MuiDialogActions","IconButton","Icon","buttonColors","DialogActions","cancelLabel","confirmLabel","type","onCancel","onConfirm","isLoadingConfirmButton","defaultProps","Dialog","actions","onClose","_actions","icon","color","Editicon","DeleteIcon","MuiTooltip","tooltipClasses","Divider","styled","CustomizedTooltip","_b","className","titleMaps","Title","Tooltip","Tooltip_default","OptionStyles","DataTableOptions","onClick","value","extraOptions","displayUpdateButton","displayDeleteButton","disableTooltip","id","iconButtonProps","tooltip","useFormData","useFormApi","FormActions","formValues","isSubmitting","closeForm","onSubmitForm","hideCancelButton","FormContainer","view","triggerButton","dialogProps","triggerButtonLabel","isOpen","openForm","formActions","_triggerButton","Chip","CancelIcon","useFilterData","useFilterApi","FilterControl","deleteFilterValue","deleteAllFilterValues","filterValues","appliedValues","filterName","useEffect","SearchIcon","MuiDrawer","DrawerContainer","drawerTitle","FilterDrawerActions","applyFilterValues","closeFilter","handleCancelFilter","handleApplyFilter","FilterDrawerContainer","onApplyFilters","FilterContainer","triggerButtonProps","openFilter","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 { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\nexport interface ButtonContainerProps {\n children: ReactNode\n}\n\nexport default function ButtonContainer({ children }: ButtonContainerProps) {\n return (\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n spacing={1}\n children={children}\n />\n )\n}\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}\n\nexport default function PageTitle(props: PageTitleProps) {\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: [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 { Close } from '@mui/icons-material'\nimport {\n Dialog as MuiDialog,\n DialogTitle,\n DialogContent,\n DialogProps as MuiDialogProps,\n DialogActions as MuiDialogActions,\n Typography,\n IconButton,\n Icon,\n Stack,\n Box,\n} from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport DialogActions from '../DialogActions'\n\nexport interface DialogProps extends MuiDialogProps {\n actions?: 'none' | ReactNode\n type?: 'content' | 'info' | 'warning' | 'error' | 'success'\n onConfirm?: () => void\n}\n\nexport default function Dialog(props: DialogProps) {\n const { title, children, actions, onClose, onConfirm, type } = props\n\n const _actions =\n actions === 'none'\n ? null\n : actions || (\n <DialogActions\n onCancel={() => {\n if (onClose) onClose({}, 'backdropClick')\n }}\n onConfirm={() => {\n if (onConfirm) onConfirm()\n }}\n type={type}\n />\n )\n\n const icon = useMemo(() => {\n if (type === 'error') return 'error_outlined'\n if (type === 'warning') return 'error_amber'\n if (type === 'info') return 'info'\n if (type === 'success') return 'info'\n\n return false\n }, [type])\n\n const color = useMemo(() => {\n if (type !== 'content') return type\n return 'primary'\n }, [type])\n\n return (\n <MuiDialog {...props}>\n <DialogTitle>\n <Stack\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={2}\n >\n <Typography\n sx={{\n color: (theme) => {\n if (type !== 'content') {\n return theme.palette[color || 'primary'].main\n }\n },\n }}\n variant=\"h4\"\n >\n <Stack\n direction=\"row\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n {icon && (\n <Icon sx={{ mr: 1 }} fontSize=\"small\">\n {icon}\n </Icon>\n )}\n {title}\n </Stack>\n </Typography>\n\n {onClose && (\n <IconButton onClick={() => onClose({}, 'escapeKeyDown')}>\n <Close />\n </IconButton>\n )}\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Box sx={{ mt: 1 }}>{children}</Box>\n </DialogContent>\n <MuiDialogActions>{_actions}</MuiDialogActions>\n </MuiDialog>\n )\n}\n\nDialog.defaultProps = {\n fullWidth: true,\n}\n","import { useMemo } from '@storybook/addons'\nimport Button from '../Button'\nimport ButtonContainer from '../ButtonContainer'\n\ntype Colors =\n | 'inherit'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'error'\n | 'info'\n | 'warning'\n\ninterface ButtonColors {\n cancel: Colors\n confirm: Colors\n}\n\nconst buttonColors: Record<string, ButtonColors> = {\n content: {\n cancel: 'error',\n confirm: 'primary',\n },\n info: {\n cancel: 'error',\n confirm: 'info',\n },\n success: {\n cancel: 'error',\n confirm: 'success',\n },\n warning: {\n cancel: 'error',\n confirm: 'warning',\n },\n error: {\n cancel: 'primary',\n confirm: 'error',\n },\n}\n\nexport interface DialogActionsProps {\n cancelLabel?: string\n confirmLabel?: string\n type?: 'content' | 'info' | 'warning' | 'error' | 'success'\n onCancel?: () => void\n onConfirm?: () => void\n isLoadingConfirmButton?: boolean\n}\n\nexport default function DialogActions(props: DialogActionsProps) {\n const {\n cancelLabel,\n confirmLabel,\n type,\n onCancel,\n onConfirm,\n isLoadingConfirmButton,\n } = props\n\n return (\n <ButtonContainer>\n {onCancel && (\n <Button\n onClick={() => {\n onCancel()\n }}\n color={buttonColors[type || 'content'].cancel}\n >\n {cancelLabel}\n </Button>\n )}\n\n <Button\n onClick={() => {\n if (onConfirm) onConfirm()\n }}\n color={buttonColors[type || 'content'].confirm}\n variant=\"contained\"\n isLoading={isLoadingConfirmButton}\n >\n {confirmLabel}\n </Button>\n </ButtonContainer>\n )\n}\n\nconst defaultProps: DialogActionsProps = {\n cancelLabel: 'Cancelar',\n confirmLabel: 'Ok',\n type: 'content',\n isLoadingConfirmButton: false,\n}\n\nDialogActions.defaultProps = defaultProps\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, DialogProps as MuiDialogProps } 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\nexport interface FormContainerProps {\n children: ReactNode\n onSubmitForm?: (formValues: any) => void\n view?: 'dialog' | 'plain'\n triggerButton?: 'none' | React.ReactNode\n triggerButtonLabel?: string\n actions?: ReactNode\n dialogProps?: Omit<MuiDialogProps, 'open'>\n}\n\nexport default function FormContainer(props: FormContainerProps) {\n const {\n view,\n children,\n actions,\n onSubmitForm,\n triggerButton,\n dialogProps,\n triggerButtonLabel,\n } = props\n const { isOpen } = useFormData()\n const { closeForm, openForm } = useFormApi()\n\n const formActions = actions || (\n <FormActions\n hideCancelButton={view === 'plain'}\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'\n ? null\n : triggerButton || (\n <Button\n variant=\"contained\"\n onClick={() => {\n openForm({} as unknown)\n }}\n >\n {triggerButtonLabel || 'Adicionar'}\n </Button>\n )\n\n if (view === 'dialog') {\n return (\n <React.Fragment>\n {_triggerButton}\n <Dialog\n {...dialogProps}\n onClose={() => {\n closeForm()\n }}\n open={isOpen}\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\nconst defaultProps: Omit<FormContainerProps, 'children'> = {\n view: 'dialog',\n dialogProps: {\n maxWidth: 'md',\n fullWidth: true,\n },\n}\n\nFormContainer.defaultProps = defaultProps\n","import { useFormApi, useFormData } from '@data-c/providers'\nimport DialogActions from '../DialogActions'\n\ninterface FormActionsProps {\n onSubmitForm: (formValues: any) => void\n hideCancelButton?: boolean\n}\n\nexport default function FormActions(props: FormActionsProps) {\n const { formValues, isSubmitting } = useFormData()\n const { closeForm } = useFormApi()\n const { onSubmitForm, hideCancelButton } = props\n return (\n <DialogActions\n confirmLabel=\"Salvar\"\n onConfirm={() => onSubmitForm(formValues)}\n onCancel={hideCancelButton ? undefined : () => closeForm()}\n isLoadingConfirmButton={isSubmitting}\n />\n )\n}\n","import { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\n\nimport { useFilterData, useFilterApi } from '@data-c/providers'\n\nexport default function FilterControl() {\n const { deleteFilterValue, deleteAllFilterValues } = useFilterApi()\n\n const { filterValues, appliedValues } = useFilterData()\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 (deleteFilterValue) deleteFilterValue(filterName)\n }}\n variant=\"outlined\"\n />\n ))}\n </Box>\n\n {Object.keys(appliedValues || {}).length > 0 && (\n <Box>\n <IconButton\n onClick={() => {\n if (deleteAllFilterValues) deleteAllFilterValues()\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, ButtonProps, Stack } from '@mui/material'\nimport { Search as SearchIcon } from '@mui/icons-material'\nimport { useFilterApi, useFilterData } from '@data-c/providers'\nimport DrawerContainer from '../DrawerContainer'\nimport FilterControl from '../FilterControl'\n\nconst FilterDrawerActions = () => {\n const { applyFilterValues, closeFilter } = useFilterApi()\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, appliedValues } = useFilterData()\n const { closeFilter } = useFilterApi()\n\n useEffect(() => {\n if (onApplyFilters) onApplyFilters(appliedValues)\n }, [appliedValues])\n\n return (\n <DrawerContainer\n drawerTitle={title}\n open={isOpen}\n children={children}\n onClose={() => closeFilter()}\n actions={<FilterDrawerActions />}\n />\n )\n}\n\nexport interface FilterProps {\n children: ReactNode\n triggerButtonLabel?: string\n triggerButtonProps?: ButtonProps\n title?: string\n onApplyFilters?: <T>(filters: T) => void\n}\nexport default function FilterContainer(props: FilterProps) {\n const {\n triggerButtonLabel,\n triggerButtonProps,\n title,\n children,\n onApplyFilters,\n } = props\n const { openFilter } = useFilterApi()\n return (\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 <Button\n onClick={() => {\n openFilter()\n }}\n {...triggerButtonProps}\n >\n {triggerButtonLabel}\n </Button>\n </Box>\n <FilterDrawerContainer\n onApplyFilters={onApplyFilters}\n title={title || ''}\n children={children}\n />\n </React.Fragment>\n )\n}\n\nFilterContainer.defaultProps = {\n triggerButtonLabel: 'Pesquisar',\n triggerButtonProps: {\n variant: 'contained',\n startIcon: <SearchIcon />,\n },\n title: 'Pesquisar',\n}\n","import {\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 drawerTitle?: string\n actions?: ReactNode\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n children: ReactNode\n}\n\nexport default function DrawerContainer(props: DrawerProps) {\n const { drawerTitle, 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 {drawerTitle}\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 MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: '6px',\n },\n },\n },\n\n MuiDialogContent: {\n styleOverrides: {\n root: {\n // backgroundColor: '#454',\n },\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/ButtonContainer/index.tsx","../src/Dialog/index.tsx","../src/DialogActions/index.tsx","../src/DeleteContainer/index.tsx","../src/DeleteActions/index.tsx","../src/PageTitle/index.tsx","../src/DataTable/index.tsx","../src/DataTable/components/Pagination/index.tsx","../src/DataTableOptions/index.tsx","../src/Tooltip/index.tsx","../src/FormContainer/index.tsx","../src/FormActions/index.tsx","../src/FilterControl/index.tsx","../src/FilterContainer/index.tsx","../src/DrawerContainer/index.tsx","../src/theme.tsx"],"names":["MuiButton","CircularProgress","jsx","Button","props","_a","isLoading","children","rest","__objRest","__spreadProps","__spreadValues","Button_default","Stack","ButtonContainer","Close","MuiDialog","DialogTitle","DialogContent","MuiDialogActions","Typography","IconButton","Icon","Box","useMemo","jsxs","buttonColors","DialogActions","cancelLabel","confirmLabel","type","onCancel","onConfirm","isLoadingConfirmButton","defaultProps","Dialog","title","actions","onClose","_actions","icon","color","theme","useFormData","useFormApi","DeleteActions","formValues","isSubmitting","closeConfirm","onDelete","hideCancelButton","DeleteContainer","isOpenConfirm","useMediaQuery","PageTitle","isSmall","React","LinearProgress","MUIDataTable","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","Editicon","DeleteIcon","MuiTooltip","tooltipClasses","Divider","styled","CustomizedTooltip","_b","className","titleMaps","Title","Tooltip","Tooltip_default","OptionStyles","DataTableOptions","onClick","value","extraOptions","displayUpdateButton","displayDeleteButton","disableTooltip","id","iconButtonProps","tooltip","FormActions","closeForm","onSubmitForm","FormContainer","view","triggerButton","dialogProps","triggerButtonLabel","isOpen","openForm","formActions","_triggerButton","Chip","CancelIcon","useFilterData","useFilterApi","FilterControl","deleteFilterValue","deleteAllFilterValues","filterValues","appliedValues","filterName","useEffect","SearchIcon","MuiDrawer","DrawerContainer","drawerTitle","FilterDrawerActions","applyFilterValues","closeFilter","handleCancelFilter","handleApplyFilter","FilterDrawerContainer","onApplyFilters","FilterContainer","triggerButtonProps","openFilter","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 { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\nexport interface ButtonContainerProps {\n children: ReactNode\n}\n\nexport default function ButtonContainer({ children }: ButtonContainerProps) {\n return (\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n spacing={1}\n children={children}\n />\n )\n}\n","import { Close } from '@mui/icons-material'\nimport {\n Dialog as MuiDialog,\n DialogTitle,\n DialogContent,\n DialogProps as MuiDialogProps,\n DialogActions as MuiDialogActions,\n Typography,\n IconButton,\n Icon,\n Stack,\n Box,\n} from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport DialogActions from '../DialogActions'\n\nexport interface DialogProps extends MuiDialogProps {\n actions?: 'none' | ReactNode\n type?: 'content' | 'info' | 'warning' | 'error' | 'success'\n onConfirm?: () => void\n}\n\nexport default function Dialog(props: DialogProps) {\n const { title, children, actions, onClose, onConfirm, type } = props\n\n const _actions =\n actions === 'none'\n ? null\n : actions || (\n <DialogActions\n onCancel={() => {\n if (onClose) onClose({}, 'backdropClick')\n }}\n onConfirm={() => {\n if (onConfirm) onConfirm()\n }}\n type={type}\n />\n )\n\n const icon = useMemo(() => {\n if (type === 'error') return 'error_outlined'\n if (type === 'warning') return 'error_amber'\n if (type === 'info') return 'info'\n if (type === 'success') return 'info'\n\n return false\n }, [type])\n\n const color = useMemo(() => {\n if (type !== 'content') return type\n return 'primary'\n }, [type])\n\n return (\n <MuiDialog {...props}>\n <DialogTitle>\n <Stack\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={2}\n >\n <Typography\n sx={{\n color: (theme) => {\n if (type !== 'content') {\n return theme.palette[color || 'primary'].main\n }\n },\n }}\n variant=\"h4\"\n >\n <Stack\n direction=\"row\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n {icon && (\n <Icon sx={{ mr: 1 }} fontSize=\"small\">\n {icon}\n </Icon>\n )}\n {title}\n </Stack>\n </Typography>\n\n {onClose && (\n <IconButton onClick={() => onClose({}, 'escapeKeyDown')}>\n <Close />\n </IconButton>\n )}\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Box sx={{ mt: 1 }}>{children}</Box>\n </DialogContent>\n <MuiDialogActions>{_actions}</MuiDialogActions>\n </MuiDialog>\n )\n}\n\nDialog.defaultProps = {\n fullWidth: true,\n}\n","import { useMemo } from '@storybook/addons'\nimport Button from '../Button'\nimport ButtonContainer from '../ButtonContainer'\n\ntype Colors =\n | 'inherit'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'error'\n | 'info'\n | 'warning'\n\ninterface ButtonColors {\n cancel: Colors\n confirm: Colors\n}\n\nconst buttonColors: Record<string, ButtonColors> = {\n content: {\n cancel: 'error',\n confirm: 'primary',\n },\n info: {\n cancel: 'error',\n confirm: 'info',\n },\n success: {\n cancel: 'error',\n confirm: 'success',\n },\n warning: {\n cancel: 'primary',\n confirm: 'warning',\n },\n error: {\n cancel: 'primary',\n confirm: 'error',\n },\n}\n\nexport interface DialogActionsProps {\n cancelLabel?: string\n confirmLabel?: string\n type?: 'content' | 'info' | 'warning' | 'error' | 'success'\n onCancel?: () => void\n onConfirm?: () => void\n isLoadingConfirmButton?: boolean\n}\n\nexport default function DialogActions(props: DialogActionsProps) {\n const {\n cancelLabel,\n confirmLabel,\n type,\n onCancel,\n onConfirm,\n isLoadingConfirmButton,\n } = props\n\n return (\n <ButtonContainer>\n {onCancel && (\n <Button\n onClick={() => {\n onCancel()\n }}\n color={buttonColors[type || 'content'].cancel}\n >\n {cancelLabel}\n </Button>\n )}\n\n <Button\n onClick={() => {\n if (onConfirm) onConfirm()\n }}\n color={buttonColors[type || 'content'].confirm}\n variant=\"contained\"\n isLoading={isLoadingConfirmButton}\n >\n {confirmLabel}\n </Button>\n </ButtonContainer>\n )\n}\n\nconst defaultProps: DialogActionsProps = {\n cancelLabel: 'Cancelar',\n confirmLabel: 'Ok',\n type: 'content',\n isLoadingConfirmButton: false,\n}\n\nDialogActions.defaultProps = defaultProps\n","import { ReactNode } from 'react'\nimport Dialog, { DialogProps } from '../Dialog'\nimport { useFormData } from '@data-c/providers'\nimport DeleteActions from '../DeleteActions'\n\nexport interface DeleteContainerProps extends DialogProps {\n title: string\n children: ReactNode\n onDelete?: (formValues: any) => void\n type?: 'warning' | 'error'\n}\n\nexport default function DeleteContainer(props: DeleteContainerProps) {\n const { isOpenConfirm } = useFormData()\n const { type, title, children, actions, onDelete } = props\n\n const deleteActions = actions || (\n <DeleteActions\n type={type}\n onDelete={\n onDelete\n ? onDelete\n : () => {\n throw new Error(\n 'Nenhuma ação foi definida para ser executada em onDelete',\n )\n }\n }\n />\n )\n\n return (\n <Dialog\n type={type}\n open={isOpenConfirm}\n title={title}\n actions={deleteActions}\n >\n {children}\n </Dialog>\n )\n}\n\nconst defaultProps: DialogProps = {\n open: false,\n title: 'Deletar Registro?',\n children: '',\n}\n\nDeleteContainer.defaultProps = defaultProps\n","import { useFormApi, useFormData } from '@data-c/providers'\nimport DialogActions from '../DialogActions'\n\ninterface DeleteActionsProps {\n onDelete: (formValues: any) => void\n hideCancelButton?: boolean\n type?: 'warning' | 'error'\n}\n\nexport default function DeleteActions(props: DeleteActionsProps) {\n const { formValues, isSubmitting } = useFormData()\n const { closeConfirm } = useFormApi()\n const { onDelete, hideCancelButton, type } = props\n return (\n <DialogActions\n type={type}\n confirmLabel=\"Deletar\"\n onConfirm={() => onDelete(formValues)}\n onCancel={hideCancelButton ? undefined : () => closeConfirm()}\n isLoadingConfirmButton={isSubmitting}\n />\n )\n}\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}\n\nexport default function PageTitle(props: PageTitleProps) {\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: [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 { 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, DialogProps as MuiDialogProps } 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\nexport interface FormContainerProps {\n children: ReactNode\n onSubmitForm?: (formValues: any) => void\n view?: 'dialog' | 'plain'\n triggerButton?: 'none' | React.ReactNode\n triggerButtonLabel?: string\n actions?: ReactNode\n dialogProps?: Omit<MuiDialogProps, 'open'>\n}\n\nexport default function FormContainer(props: FormContainerProps) {\n const {\n view,\n children,\n actions,\n onSubmitForm,\n triggerButton,\n dialogProps,\n triggerButtonLabel,\n } = props\n const { isOpen } = useFormData()\n const { closeForm, openForm } = useFormApi()\n\n const formActions = actions || (\n <FormActions\n hideCancelButton={view === 'plain'}\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'\n ? null\n : triggerButton || (\n <Button\n variant=\"contained\"\n onClick={() => {\n openForm({} as unknown)\n }}\n >\n {triggerButtonLabel || 'Adicionar'}\n </Button>\n )\n\n if (view === 'dialog') {\n return (\n <React.Fragment>\n {_triggerButton}\n <Dialog\n {...dialogProps}\n onClose={() => {\n closeForm()\n }}\n open={isOpen}\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\nconst defaultProps: Omit<FormContainerProps, 'children'> = {\n view: 'dialog',\n dialogProps: {\n maxWidth: 'md',\n fullWidth: true,\n },\n}\n\nFormContainer.defaultProps = defaultProps\n","import { useFormApi, useFormData } from '@data-c/providers'\nimport DialogActions from '../DialogActions'\n\ninterface FormActionsProps {\n onSubmitForm: (formValues: any) => void\n hideCancelButton?: boolean\n}\n\nexport default function FormActions(props: FormActionsProps) {\n const { formValues, isSubmitting } = useFormData()\n const { closeForm } = useFormApi()\n const { onSubmitForm, hideCancelButton } = props\n return (\n <DialogActions\n confirmLabel=\"Salvar\"\n onConfirm={() => onSubmitForm(formValues)}\n onCancel={hideCancelButton ? undefined : () => closeForm()}\n isLoadingConfirmButton={isSubmitting}\n />\n )\n}\n","import { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { Cancel as CancelIcon } from '@mui/icons-material'\n\nimport { useFilterData, useFilterApi } from '@data-c/providers'\n\nexport default function FilterControl() {\n const { deleteFilterValue, deleteAllFilterValues } = useFilterApi()\n\n const { filterValues, appliedValues } = useFilterData()\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 (deleteFilterValue) deleteFilterValue(filterName)\n }}\n variant=\"outlined\"\n />\n ))}\n </Box>\n\n {Object.keys(appliedValues || {}).length > 0 && (\n <Box>\n <IconButton\n onClick={() => {\n if (deleteAllFilterValues) deleteAllFilterValues()\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, ButtonProps, Stack } from '@mui/material'\nimport { Search as SearchIcon } from '@mui/icons-material'\nimport { useFilterApi, useFilterData } from '@data-c/providers'\nimport DrawerContainer from '../DrawerContainer'\nimport FilterControl from '../FilterControl'\n\nconst FilterDrawerActions = () => {\n const { applyFilterValues, closeFilter } = useFilterApi()\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, appliedValues } = useFilterData()\n const { closeFilter } = useFilterApi()\n\n useEffect(() => {\n if (onApplyFilters) onApplyFilters(appliedValues)\n }, [appliedValues])\n\n return (\n <DrawerContainer\n drawerTitle={title}\n open={isOpen}\n children={children}\n onClose={() => closeFilter()}\n actions={<FilterDrawerActions />}\n />\n )\n}\n\nexport interface FilterProps {\n children: ReactNode\n triggerButtonLabel?: string\n triggerButtonProps?: ButtonProps\n title?: string\n onApplyFilters?: <T>(filters: T) => void\n}\nexport default function FilterContainer(props: FilterProps) {\n const {\n triggerButtonLabel,\n triggerButtonProps,\n title,\n children,\n onApplyFilters,\n } = props\n const { openFilter } = useFilterApi()\n return (\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 <Button\n onClick={() => {\n openFilter()\n }}\n {...triggerButtonProps}\n >\n {triggerButtonLabel}\n </Button>\n </Box>\n <FilterDrawerContainer\n onApplyFilters={onApplyFilters}\n title={title || ''}\n children={children}\n />\n </React.Fragment>\n )\n}\n\nFilterContainer.defaultProps = {\n triggerButtonLabel: 'Pesquisar',\n triggerButtonProps: {\n variant: 'contained',\n startIcon: <SearchIcon />,\n },\n title: 'Pesquisar',\n}\n","import {\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 drawerTitle?: string\n actions?: ReactNode\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n children: ReactNode\n}\n\nexport default function DrawerContainer(props: DrawerProps) {\n const { drawerTitle, 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 {drawerTitle}\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 MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: '6px',\n },\n },\n },\n\n MuiDialogContent: {\n styleOverrides: {\n root: {\n // backgroundColor: '#454',\n },\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.38-alpha.0",
3
+ "version": "0.0.39-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,7 +49,7 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@data-c/hooks": "^0.0.28-alpha.0",
52
- "@data-c/providers": "^0.0.38-alpha.0",
52
+ "@data-c/providers": "^0.0.39-alpha.0",
53
53
  "@emotion/react": "^11.10.5",
54
54
  "@emotion/styled": "^11.10.5",
55
55
  "@mui/icons-material": "^5.11.0",
@@ -58,5 +58,5 @@
58
58
  "react": "^18.2.0",
59
59
  "react-dom": "^18.2.0"
60
60
  },
61
- "gitHead": "1f8ff1643765e3880ef1aad2290c6912c0a733eb"
61
+ "gitHead": "55f97c55aee93725f39c8493cf94078a9759c0b0"
62
62
  }