@data-c/pro 0.2.51
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 +143 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +68 -0
- package/dist/index.mjs.map +1 -0
- package/license.md +20 -0
- package/package.json +47 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as _mui_x_data_grid_pro from '@mui/x-data-grid-pro';
|
|
4
|
+
import { DataGridProProps, GridRowsProp, GridRowSelectionModel, GridCallbackDetails, GridColDef as GridColDef$1, GridActionsCellItemProps } from '@mui/x-data-grid-pro';
|
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
+
import { StackProps, Breakpoint, ButtonProps as ButtonProps$1, TableFooterProps, TypographyProps } from '@mui/material';
|
|
7
|
+
import { PaginationProps as PaginationProps$1 } from '@data-c/hooks';
|
|
8
|
+
|
|
9
|
+
type GridColDef = GridColDef$1 & {
|
|
10
|
+
enableStickyColumns?: boolean;
|
|
11
|
+
};
|
|
12
|
+
interface TableProps<T> extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {
|
|
13
|
+
data?: GridRowsProp<{
|
|
14
|
+
[key: string | symbol]: any;
|
|
15
|
+
}>;
|
|
16
|
+
columns: GridColDef[];
|
|
17
|
+
error?: string;
|
|
18
|
+
isLoading?: boolean;
|
|
19
|
+
isFetching?: boolean;
|
|
20
|
+
stackProps?: StackProps;
|
|
21
|
+
controlledRowsSelectedId?: GridRowSelectionModel;
|
|
22
|
+
onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void;
|
|
23
|
+
onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void;
|
|
24
|
+
onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void;
|
|
25
|
+
onRowSelectionChange?: (rowSelectionModel: GridRowSelectionModel, details: GridCallbackDetails) => void;
|
|
26
|
+
}
|
|
27
|
+
declare function Table<T>(props: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
28
|
+
|
|
29
|
+
type DataTableActionProps = {} & GridActionsCellItemProps;
|
|
30
|
+
declare function DataTableAction(props: DataTableActionProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
type DataTableActionDeleteProps = {} & Omit<GridActionsCellItemProps, 'icon' | 'label'>;
|
|
33
|
+
declare function DataTableActionDelete(props: DataTableActionDeleteProps): react_jsx_runtime.JSX.Element;
|
|
34
|
+
|
|
35
|
+
type DataTableActionEditProps = {} & Omit<GridActionsCellItemProps, 'icon' | 'label'>;
|
|
36
|
+
declare function DataTableActionEdit(props: DataTableActionEditProps): react_jsx_runtime.JSX.Element;
|
|
37
|
+
|
|
38
|
+
interface ActionsProps {
|
|
39
|
+
breakpoints?: Breakpoint | number;
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
declare function Actions({ children, breakpoints }: ActionsProps): react_jsx_runtime.JSX.Element;
|
|
43
|
+
|
|
44
|
+
type DataTableActionTransportProps = {} & Omit<GridActionsCellItemProps, 'icon' | 'label'>;
|
|
45
|
+
declare function DataTableActionTransport(props: DataTableActionTransportProps): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
type ButtonProps = {
|
|
48
|
+
isLoading?: boolean;
|
|
49
|
+
} & ButtonProps$1;
|
|
50
|
+
declare function DataTableButton(props: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
51
|
+
|
|
52
|
+
type CellActionProps = {
|
|
53
|
+
event?: string;
|
|
54
|
+
onClick?: (event?: string) => void;
|
|
55
|
+
};
|
|
56
|
+
declare function CellAction(props: CellActionProps): react_jsx_runtime.JSX.Element;
|
|
57
|
+
|
|
58
|
+
interface CellActionDeleteProps {
|
|
59
|
+
onClick?: (event: 'delete') => void;
|
|
60
|
+
disabled?: boolean;
|
|
61
|
+
title?: string;
|
|
62
|
+
}
|
|
63
|
+
declare function CellActionDelete({ onClick, ...rest }: CellActionDeleteProps): react_jsx_runtime.JSX.Element;
|
|
64
|
+
|
|
65
|
+
interface CellActionEditProps {
|
|
66
|
+
disabled?: boolean;
|
|
67
|
+
title?: string;
|
|
68
|
+
onClick?: (event: 'edit') => void;
|
|
69
|
+
}
|
|
70
|
+
declare function CellActionEdit({ onClick, ...rest }: CellActionEditProps): react_jsx_runtime.JSX.Element;
|
|
71
|
+
|
|
72
|
+
interface CellActionsProps {
|
|
73
|
+
children: ReactNode;
|
|
74
|
+
onClick: (event: any) => void;
|
|
75
|
+
}
|
|
76
|
+
declare function CellActions(props: CellActionsProps): react_jsx_runtime.JSX.Element;
|
|
77
|
+
|
|
78
|
+
interface CellActionTransportProps {
|
|
79
|
+
disabled?: boolean;
|
|
80
|
+
title?: string;
|
|
81
|
+
onClick?: (event: 'transport') => void;
|
|
82
|
+
}
|
|
83
|
+
declare function CellActionTransport({ onClick, ...rest }: CellActionTransportProps): react_jsx_runtime.JSX.Element;
|
|
84
|
+
|
|
85
|
+
declare function Content(props: StackProps): react_jsx_runtime.JSX.Element;
|
|
86
|
+
|
|
87
|
+
declare function ExportCsvButton(): react_jsx_runtime.JSX.Element;
|
|
88
|
+
|
|
89
|
+
declare function Footer(props: TableFooterProps): react_jsx_runtime.JSX.Element;
|
|
90
|
+
|
|
91
|
+
interface PaginationProps {
|
|
92
|
+
pagination?: PaginationProps$1;
|
|
93
|
+
rowsPerPageOptions?: number[];
|
|
94
|
+
onChangePage?: (currentPage: number) => void;
|
|
95
|
+
onChangePageSize?: (numberOfRows: number) => void;
|
|
96
|
+
}
|
|
97
|
+
declare function Pagination(props: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
declare function Root({ children, height, ...rest }: StackProps): react_jsx_runtime.JSX.Element;
|
|
100
|
+
|
|
101
|
+
interface SelectionCounterProps {
|
|
102
|
+
countTitle?: string;
|
|
103
|
+
gender?: 'masculino' | 'feminino';
|
|
104
|
+
}
|
|
105
|
+
declare function SelectionCounter(props: SelectionCounterProps): react_jsx_runtime.JSX.Element;
|
|
106
|
+
|
|
107
|
+
interface TitleProps extends TypographyProps {
|
|
108
|
+
titleDivider?: boolean;
|
|
109
|
+
children: string;
|
|
110
|
+
}
|
|
111
|
+
declare function Title({ children, titleDivider, sx, }: TitleProps): react_jsx_runtime.JSX.Element;
|
|
112
|
+
|
|
113
|
+
interface ToolbarProps {
|
|
114
|
+
children?: ReactNode;
|
|
115
|
+
}
|
|
116
|
+
declare function Toolbar({ children }: ToolbarProps): react_jsx_runtime.JSX.Element;
|
|
117
|
+
|
|
118
|
+
declare const DataTablePro: {
|
|
119
|
+
CellActionTransport: typeof CellActionTransport;
|
|
120
|
+
SelectionCounter: typeof SelectionCounter;
|
|
121
|
+
CellActionDelete: typeof CellActionDelete;
|
|
122
|
+
ExportCsvButton: typeof ExportCsvButton;
|
|
123
|
+
CellActionEdit: typeof CellActionEdit;
|
|
124
|
+
CellActions: typeof CellActions;
|
|
125
|
+
CellAction: typeof CellAction;
|
|
126
|
+
Pagination: typeof Pagination;
|
|
127
|
+
Actions: typeof Actions;
|
|
128
|
+
Toolbar: typeof Toolbar;
|
|
129
|
+
Content: typeof Content;
|
|
130
|
+
Button: typeof DataTableButton;
|
|
131
|
+
Footer: typeof Footer;
|
|
132
|
+
Table: typeof Table;
|
|
133
|
+
Title: typeof Title;
|
|
134
|
+
Root: typeof Root;
|
|
135
|
+
Action: typeof DataTableAction;
|
|
136
|
+
ActionEdit: typeof DataTableActionEdit;
|
|
137
|
+
ActionDelete: typeof DataTableActionDelete;
|
|
138
|
+
ActionTransport: typeof DataTableActionTransport;
|
|
139
|
+
ColumnsPanelTrigger: react.ForwardRefExoticComponent<_mui_x_data_grid_pro.ColumnsPanelTriggerProps> | react.ForwardRefExoticComponent<Omit<_mui_x_data_grid_pro.ColumnsPanelTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
140
|
+
useGridApiRef: () => react.MutableRefObject<_mui_x_data_grid_pro.GridApiPro | null>;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export { DataTablePro as Button };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _xdatagridpro = require('@mui/x-data-grid-pro');var _react = require('react');var _iconsmaterial = require('@mui/icons-material');var _material = require('@mui/material');var _locales = require('@mui/x-data-grid-pro/locales');var _jsxruntime = require('react/jsx-runtime');function F(){return _jsxruntime.jsxs.call(void 0, _material.Stack,{alignItems:"center",justifyContent:"center",gap:2,padding:2,maxWidth:"400px",minWidth:"200px",children:[_jsxruntime.jsx.call(void 0, _material.Stack,{width:"250px",height:"250px",alignItems:"center",justifyContent:"center",borderRadius:"50%",sx:{background:"linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);"},children:_jsxruntime.jsx.call(void 0, "img",{src:"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg",alt:"Imagem de notifica\xE7\xE3o",width:"148px",height:"148px"})}),_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:1,textAlign:"center",children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h4",component:"h2",fontWeight:"600",children:"Nenhum registro encontrado"}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",whiteSpace:"normal",children:"Tente outra pesquisa ou adicione um novo registro."})]})]})}function T({errorMessage:e}){return _jsxruntime.jsxs.call(void 0, _material.Stack,{alignItems:"center",justifyContent:"center",gap:2,padding:2,maxWidth:"400px",minWidth:"200px",children:[_jsxruntime.jsx.call(void 0, _material.Stack,{width:"250px",height:"250px",alignItems:"center",justifyContent:"center",borderRadius:"50%",sx:{background:"linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);"},children:_jsxruntime.jsx.call(void 0, "img",{src:"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg",alt:"Imagem de erro",width:"148px",height:"148px"})}),_jsxruntime.jsxs.call(void 0, _material.Stack,{gap:1,textAlign:"center",children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h4",component:"h2",fontWeight:"600",children:"Ops! Algo deu errado"}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",children:e})]})]})}var le=_react.createContext.call(void 0, {});function y({children:e}){let[a,t]=_react.useState.call(void 0, {type:"include",ids:new Set}),[o,d]=_react.useState.call(void 0, !1),[l,u]=_react.useState.call(void 0, !1),f=_xdatagridpro.useGridApiRef.call(void 0, );function s(){t({type:"include",ids:new Set}),d(!0)}return _jsxruntime.jsx.call(void 0, le.Provider,{value:{apiRef:f,rowsSelectedId:a,clearCallback:o,breakpoint:l,setClearCallback:d,setBreakpoint:u,setRowsSelectedId:t,clearRowsSelectedId:s},children:e})}function p(){return _react.useContext.call(void 0, le)}var Qe=({apiRef:e})=>_xdatagridpro.gridFilteredSortedRowIdsSelector.call(void 0, e);function q(e){let{error:a,isLoading:t,isFetching:o,data:d,columns:l,controlledRowsSelectedId:u,onClearRowsSelectedId:f,onRowSelectionChange:s,onCellKeyDown:i,onRowDoubleClick:x,stackProps:c,slots:m,...Fe}=e,{rowsSelectedId:Re,setRowsSelectedId:ee,clearCallback:ae,setClearCallback:Te,apiRef:B}=p(),be=_react.useMemo.call(void 0, ()=>n=>n.map(r=>r.headerName==="A\xE7\xF5es"?{...r,minWidth:r.minWidth||80,maxWidth:r.maxWidth||r.width||80,headerClassName:"sticky-header",cellClassName:"sticky-cell"}:{...r,flex:r.flex||1,minWidth:r.minWidth||100,headerClassName:_optionalChain([r, 'optionalAccess', _2 => _2.enableStickyColumns])?"sticky-header":"",cellClassName:_optionalChain([r, 'optionalAccess', _3 => _3.enableStickyColumns])?"sticky-cell":""}),[l]);_react.useEffect.call(void 0, ()=>{u&&ee(u)},[u]),_react.useEffect.call(void 0, ()=>{ae&&(f&&f({type:"include",ids:new Set}),Te(!1))},[ae]);function ye(n,r,ve){switch(r.ctrlKey&&r.code==="KeyE"?"ctrl+e":r.code){case"Enter":r.preventDefault(),i&&i("edit",n.id);break;case"F3":r.preventDefault(),i&&i("edit",n.id);break;case"Delete":r.preventDefault(),i&&i("delete",n.id);break;case"ctrl+e":r.preventDefault(),(Ue=>{_optionalChain([B, 'optionalAccess', _4 => _4.current])&&B.current.exportDataAsCsv(Ue)})({getRowsToExport:Qe});break;default:break}}function qe(n,r,ve){x&&x("edit",n.id)}return _jsxruntime.jsxs.call(void 0, _material.Stack,{height:"100%",minHeight:"500px",position:"relative",...c,children:[!t&&o&&_jsxruntime.jsx.call(void 0, _material.LinearProgress,{sx:{position:"absolute",top:0,right:0,left:0,zIndex:999,height:"3px"}}),_jsxruntime.jsx.call(void 0, _xdatagridpro.DataGridPro,{apiRef:B,rows:d,columns:be(l),density:"compact",hideFooterPagination:!0,hideFooter:!0,loading:t,rowHeight:43,columnHeaderHeight:43,disableVirtualization:!0,onRowDoubleClick:qe,onCellKeyDown:ye,disableRowSelectionOnClick:!0,rowSelectionModel:Re,onRowSelectionModelChange:(n,r)=>{s&&s(n,r),!u&&ee(n)},slots:{booleanCellFalseIcon:()=>_jsxruntime.jsx.call(void 0, _iconsmaterial.Circle,{color:"error",sx:{fontSize:"10pt"}}),booleanCellTrueIcon:()=>_jsxruntime.jsx.call(void 0, _iconsmaterial.Circle,{color:"success",sx:{fontSize:"10pt"}}),noRowsOverlay:()=>!t&&a?_jsxruntime.jsx.call(void 0, T,{errorMessage:a}):_jsxruntime.jsx.call(void 0, F,{}),...m},slotProps:{loadingOverlay:{variant:"skeleton",noRowsVariant:"skeleton"}},disableColumnFilter:!0,localeText:_locales.ptBR.components.MuiDataGrid.defaultProps.localeText,sx:{border:"none",borderRadius:0,"--DataGridPro-rowBorderColor":"#edf2f9","--DataGridPro-containerBackground":"#f4f6fa",".MuiDataGridPro-overlayWrapperInner":{display:"flex",alignItems:"center",justifyContent:"center"},".MuiDataGridPro-row":{backgroundColor:"white","&:nth-of-type(even)":{backgroundColor:"#f9fafd"},":hover":{backgroundColor:"#e9e9e9"},"&.Mui-selected":{backgroundColor:"rgb(238, 249, 252)","&:hover":{backgroundColor:"rgb(222, 243, 249)"}}},".MuiDataGridPro-cell":{fontSize:"12px",color:"#0b0e14"},".MuiDataGridPro-columnHeaders":{border:"solid 1px #edf2f9"},".MuiDataGridPro-columnHeaderTitle":{fontSize:"12px",color:"#0b0e14",fontWeight:"600"},"& .sticky-cell":{position:"sticky",right:0,background:"inherit",zIndex:1},"& .sticky-header":{position:"sticky",right:0,background:"inherit",zIndex:2}},...Fe})]})}function v(e){let{ref:a,...t}=e;return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{...t,ref:a})}var se=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_e=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,t,o)=>o?o.toUpperCase():t.toLowerCase()),U=e=>{let a=_e(e);return a.charAt(0).toUpperCase()+a.slice(1)},A=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim(),ie=e=>{for(let a in e)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var ce={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var pe=_react.forwardRef.call(void 0, ({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:d="",children:l,iconNode:u,...f},s)=>_react.createElement.call(void 0, "svg",{ref:s,...ce,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:A("lucide",d),...!l&&!ie(f)&&{"aria-hidden":"true"},...f},[...u.map(([i,x])=>_react.createElement.call(void 0, i,x)),...Array.isArray(l)?l:[l]]));var I=(e,a)=>{let t=_react.forwardRef.call(void 0, ({className:o,...d},l)=>_react.createElement.call(void 0, pe,{ref:l,iconNode:a,className:A(`lucide-${se(U(e))}`,`lucide-${e}`,o),...d}));return t.displayName=U(e),t};var aa=[["path",{d:"M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z",key:"1eaqc3"}]],C=I("arrow-big-down",aa);var ta=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],g=I("pencil",ta);var oa=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],h=I("trash-2",oa);function O(e){let{ref:a,...t}=e;return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{color:"error",label:"Deletar",icon:_jsxruntime.jsx.call(void 0, h,{size:16}),...t,ref:a})}function H(e){let{ref:a,...t}=e;return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{label:"Editar",color:"primary",icon:_jsxruntime.jsx.call(void 0, g,{size:16}),...t,ref:a})}function G({children:e,breakpoints:a}){let{setBreakpoint:t}=p(),o=_material.useTheme.call(void 0, ),d=_material.useMediaQuery.call(void 0, o.breakpoints.down(a||"md"));return _react.useEffect.call(void 0, ()=>{t(d)},[d]),_jsxruntime.jsx.call(void 0, _material.Stack,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",gap:1,marginLeft:"auto",flexGrow:1,children:e})}function E(e){let{ref:a,...t}=e;return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{color:"primary",label:"Transportar",icon:_jsxruntime.jsx.call(void 0, C,{size:16}),...t,ref:a})}function w(e){let{isLoading:a,startIcon:t,children:o,title:d,...l}=e,{breakpoint:u}=p();return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:u?_jsxruntime.jsx.call(void 0, _material.Tooltip,{title:o,children:_jsxruntime.jsxs.call(void 0, _material.IconButton,{...l,color:"primary",disabled:a?!0:l.disabled,children:[t,a&&_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:14,sx:{position:"absolute",top:"25%",bottom:"25%",left:"25%",right:"25%",transform:"translate(-50%, -50%)"}})]})}):_jsxruntime.jsx.call(void 0, _material.Button,{startIcon:t,disabled:a?!0:l.disabled,sx:{position:"relative",height:"26px",minWidth:"70px",padding:"7px 8px 8px",border:"1px solid rgba(223, 226, 231, 0.8)",borderRadius:"6px",display:"flex",alignItems:"center",overflow:"hidden",whiteSpace:"nowrap",flexShrink:1,transition:"width 0.2s ease"},...l,children:_jsxruntime.jsxs.call(void 0, _material.Box,{component:"span",sx:{transition:"opacity 0.2s ease, width 0.2s ease",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:[a&&_jsxruntime.jsx.call(void 0, _material.CircularProgress,{color:"secondary",size:14,sx:{position:"absolute",top:"22%",left:"44%",transform:"translate(-50%, -50%)"}}),o]})})})}function W(e){let{event:a,onClick:t,...o}=e;return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{label:"A\xE7\xE3o",onClick:()=>{},icon:_jsxruntime.jsx.call(void 0, "span",{children:"\u{1F527}"})})}function V({onClick:e,...a}){return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{}),label:"Delete",color:"primary",onClick:()=>{e&&e("delete")},...a})}function z({onClick:e,...a}){return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Edit,{}),label:"Edit",color:"primary",onClick:()=>e&&e("edit"),...a})}function X(e){let{children:a,onClick:t}=e;return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:_react.Children.map(a,o=>{if(_react.isValidElement.call(void 0, o))return _react.cloneElement.call(void 0, o,{onClick:t})})})}function N({onClick:e,...a}){return _jsxruntime.jsx.call(void 0, _xdatagridpro.GridActionsCellItem,{icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.GetApp,{}),label:"Transport",color:"primary",onClick:()=>e&&e("transport"),...a})}function K(e){return _jsxruntime.jsx.call(void 0, _material.Stack,{direction:"row",width:"100%",flexGrow:1,alignItems:"center",gap:1.5,sx:{background:"#f4f"},...e})}var ya=({apiRef:e})=>_xdatagridpro.gridFilteredSortedRowIdsSelector.call(void 0, e);function Q(){let{apiRef:e}=p(),a=t=>{_optionalChain([e, 'optionalAccess', _5 => _5.current])&&e.current.exportDataAsCsv(t)};return _jsxruntime.jsx.call(void 0, w,{startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.FileDownload,{}),onClick:()=>a({getRowsToExport:ya}),children:"Exportar CSV"})}function Z(e){return _jsxruntime.jsx.call(void 0, _material.TableFooter,{...e,sx:{height:"54px",paddingX:"12px",gap:"12px",display:"flex",alignItems:"center",backgroundColor:"white",borderBottomLeftRadius:"8px",borderBottomRightRadius:"8px",borderTop:"1px solid #edf2f9"}})}var _hooks = require('@data-c/hooks');function J(e){let{onChangePageSize:a,onChangePage:t,pagination:o,rowsPerPageOptions:d=[15,50,100,200]}=e,{page:l,pageSize:u=15,totalRecords:f}=o||{},s=_react.useMemo.call(void 0, ()=>_optionalChain([o, 'optionalAccess', _6 => _6.lastPage])?o.lastPage:(f||0)<u?1:Math.max(Math.ceil((f||0)/u)),[f,u]),i=_react.useMemo.call(void 0, ()=>{if((f||0)<u)return`Exibindo ${_hooks.pluralizar.call(void 0, f||0,"registro","registros",!0)}`;let c=u;if(l===s){let m=(f||0)%u;c=m===0?u:m}return`Exibindo ${_hooks.pluralizar.call(void 0, c||0,"registro","registros",!0)} de ${f}`},[o,s]);return _jsxruntime.jsxs.call(void 0, _material.Stack,{width:"100%",direction:"row",alignItems:"center",gap:2,marginLeft:"auto",children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",fontSize:"13px",fontWeight:"500",whiteSpace:"nowrap",children:i}),!0&&_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",alignItems:"center",gap:2,marginLeft:"auto",children:[_jsxruntime.jsx.call(void 0, _material.TextField,{sx:{width:"78px",fontSize:"8pt"},size:"small",value:u||0,select:!0,onChange:c=>{a&&a(parseInt(c.target.value))},children:d.map(c=>_jsxruntime.jsx.call(void 0, _material.MenuItem,{value:c,children:c},c))}),_jsxruntime.jsx.call(void 0, _material.Pagination,{variant:"outlined",shape:"rounded",count:s||0,showFirstButton:!0,showLastButton:!0,onChange:(c,m)=>{t&&t(m)},page:l||0,color:"primary"})]})]})}function $({children:e,height:a,...t}){let o=_react.useRef.call(void 0, null),[d,l]=_react.useState.call(void 0, 500);return _react.useEffect.call(void 0, ()=>{let u=()=>{let f=o.current;if(!f)return;let s=f.getBoundingClientRect().top;l(window.innerHeight-s)};return u(),window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u)}},[]),_jsxruntime.jsx.call(void 0, _material.Stack,{ref:o,sx:{backgroundColor:"#f4f6fa",border:"1px solid #edf2f9",borderRadius:2,height:a||`calc(${d}px - 16px)`,...t.sx},...t,children:_jsxruntime.jsx.call(void 0, y,{children:e})})}function _(e){let{countTitle:a,gender:t}=e,{rowsSelectedId:o}=p(),d=_optionalChain([o, 'optionalAccess', _7 => _7.ids, 'access', _8 => _8.size])||0,l=_react.useMemo.call(void 0, ()=>{if(!a)return"";let u=t==="feminino"?"selecionada":"selecionado",f=t==="feminino"?"selecionadas":"selecionados",s=t==="feminino"?"Nenhuma":"Nenhum";return d===1?`${a} ${u}`:d&&d>1?`${a.split(" ").map(i=>`${i}s`).join(" ")} ${f}`:`${s} ${a} ${u}`},[d]);return _jsxruntime.jsx.call(void 0, _material.Stack,{children:_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",fontSize:"13px",fontWeight:"500",whiteSpace:"nowrap",children:[d&&d>0?d:""," ",l]})})}function Y({children:e,titleDivider:a=!1,sx:t}){let o=_material.useTheme.call(void 0, );return _jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h6",whiteSpace:"nowrap",sx:{borderRight:a?`solid 1px ${o.palette.grey[300]}`:"none",paddingRight:1.5,...t},children:e})}function j({children:e}){return _jsxruntime.jsx.call(void 0, _material.Stack,{component:_material.Paper,elevation:0,gap:1.5,flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:1,borderRadius:"8px 8px 0 0",sx:{width:"100%"},children:e})}var ot={CellActionTransport:N,SelectionCounter:_,CellActionDelete:V,ExportCsvButton:Q,CellActionEdit:z,CellActions:X,CellAction:W,Pagination:J,Actions:G,Toolbar:j,Content:K,Button:w,Footer:Z,Table:q,Title:Y,Root:$,Action:v,ActionEdit:H,ActionDelete:O,ActionTransport:E,ColumnsPanelTrigger:_xdatagridpro.ColumnsPanelTrigger,useGridApiRef:_xdatagridpro.useGridApiRef},ut= exports.Button =ot;exports.Button = ut;
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
5
|
+
(**
|
|
6
|
+
* @license lucide-react v0.536.0 - ISC
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the ISC license.
|
|
9
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10
|
+
*)
|
|
11
|
+
|
|
12
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
13
|
+
(**
|
|
14
|
+
* @license lucide-react v0.536.0 - ISC
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the ISC license.
|
|
17
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
18
|
+
*)
|
|
19
|
+
|
|
20
|
+
lucide-react/dist/esm/Icon.js:
|
|
21
|
+
(**
|
|
22
|
+
* @license lucide-react v0.536.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*)
|
|
27
|
+
|
|
28
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
29
|
+
(**
|
|
30
|
+
* @license lucide-react v0.536.0 - ISC
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the ISC license.
|
|
33
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
34
|
+
*)
|
|
35
|
+
|
|
36
|
+
lucide-react/dist/esm/icons/arrow-big-down.js:
|
|
37
|
+
(**
|
|
38
|
+
* @license lucide-react v0.536.0 - ISC
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the ISC license.
|
|
41
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
+
*)
|
|
43
|
+
|
|
44
|
+
lucide-react/dist/esm/icons/pencil.js:
|
|
45
|
+
(**
|
|
46
|
+
* @license lucide-react v0.536.0 - ISC
|
|
47
|
+
*
|
|
48
|
+
* This source code is licensed under the ISC license.
|
|
49
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
50
|
+
*)
|
|
51
|
+
|
|
52
|
+
lucide-react/dist/esm/icons/trash-2.js:
|
|
53
|
+
(**
|
|
54
|
+
* @license lucide-react v0.536.0 - ISC
|
|
55
|
+
*
|
|
56
|
+
* This source code is licensed under the ISC license.
|
|
57
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
58
|
+
*)
|
|
59
|
+
|
|
60
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
61
|
+
(**
|
|
62
|
+
* @license lucide-react v0.536.0 - ISC
|
|
63
|
+
*
|
|
64
|
+
* This source code is licensed under the ISC license.
|
|
65
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
66
|
+
*)
|
|
67
|
+
*/
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../../../node_modules/shared/src/utils.ts","../../../node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/lucide-react/src/Icon.ts","../../../node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/lucide-react/src/icons/arrow-big-down.ts","../../../node_modules/lucide-react/src/icons/pencil.ts","../../../node_modules/lucide-react/src/icons/trash-2.ts","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx"],"names":["ColumnsPanelTrigger","useGridApiRef","useEffect","useMemo","Circle","LinearProgress","Stack","DataGridPro","gridFilteredSortedRowIdsSelector","ptBR","Typography","jsx","jsxs","DataTableEmptyData","DataTableError","errorMessage","createContext","useContext","useState","TableRootContext","TableRootProvider","children","ids","setIds","clearCallback","setClearCallback","breakpoint","setBreakpoint","apiRef","handleClearRowsSelectedId","useTableRootContext","getFilteredRows","Table","props","error","isLoading","isFetching","data","columns","controlledRowsSelectedId","onClearRowsSelectedId","onRowSelectionChange","onCellKeyDown","onRowDoubleClick","stackProps","slots","rest","rowsSelectedId","setRowsSelectedId","parsedColumns","col","handleCellKeyDown","params","event","details","options","handleRowDoubleClick","_","rowSelectionModel","GridActionsCellItem","DataTableAction","ref","toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","className","index","array","hasA11yProp","prop","defaultAttributes","Icon","forwardRef","color","size","strokeWidth","absoluteStrokeWidth","iconNode","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","ArrowBigDown","Pencil","Trash2","DataTableActionDelete","DataTableActionEdit","useMediaQuery","useTheme","Actions","breakpoints","theme","DataTableActionTransport","MuiButton","CircularProgress","IconButton","Tooltip","Box","Fragment","DataTableButton","startIcon","title","CellAction","onClick","DeleteIcon","CellActionDelete","EditIcon","CellActionEdit","Children","cloneElement","isValidElement","CellActions","onItemClick","child","TransportIcon","CellActionTransport","Content","FileDownloadIcon","ExportCsvButton","handleExport","TableFooter","Footer","pluralizar","MenuItem","MuiPagination","TextField","Pagination","onChangePageSize","onChangePage","pagination","rowsPerPageOptions","page","pageSize","totalRecords","pages","totalRecordsLabel","registrosExibidos","ultimaPaginaRegistros","e","option","_page","useRef","Root","height","tableContainerRef","tableHeight","setTableHeight","calculateHeight","container","containerTop","SelectionCounter","countTitle","gender","countQuantidade","flexSufixCountTitle","selecionadoText","selecionadosText","nenhumText","item","Title","titleDivider","sx","Paper","Toolbar","DataTablePro","DataTable_default"],"mappings":"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","sourcesContent":["import { ColumnsPanelTrigger, useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\n\nconst DataTablePro = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger,\n useGridApiRef,\n}\n\nexport default DataTablePro\n","import { useEffect, useMemo } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridCallbackDetails,\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n GridEventLookup,\n gridFilteredSortedRowIdsSelector,\n GridRowParams,\n GridRowSelectionModel,\n GridRowsProp,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport { GridApi } from '@mui/x-data-grid-pro'\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\ninterface TableProps<T>\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function Table<T>(props: TableProps<T>) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const parsedColumns = useMemo(() => {\n return (columns: GridColDef[]) => {\n return columns.map((col) => {\n if (col.headerName === 'Ações') {\n return {\n ...col,\n minWidth: col.minWidth || 80,\n maxWidth: col.maxWidth || col.width || 80,\n headerClassName: 'sticky-header',\n cellClassName: 'sticky-cell',\n }\n }\n\n return {\n ...col,\n flex: col.flex || 1,\n minWidth: col.minWidth || 100,\n headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n }\n })\n }\n }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n function handleCellKeyDown(\n params: GridEventLookup['cellKeyDown']['params'],\n event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n details: GridCallbackDetails,\n ) {\n const eventCode =\n event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n switch (eventCode) {\n case 'Enter':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n // case 'F2':\n // event.preventDefault()\n // //Open Form\n // break\n case 'F3':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n case 'Delete':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('delete', params.id)\n break\n case 'ctrl+e':\n event.preventDefault()\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n handleExport({ getRowsToExport: getFilteredRows })\n break\n default:\n break\n }\n }\n\n function handleRowDoubleClick(\n params: GridRowParams,\n _: React.MouseEvent,\n details: GridCallbackDetails,\n ) {\n if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n }\n\n return (\n <Stack height=\"100%\" minHeight=\"500px\" position=\"relative\" {...stackProps}>\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.MutableRefObject<GridApi> | undefined}\n rows={data}\n columns={parsedColumns(columns)}\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n onRowDoubleClick={handleRowDoubleClick}\n onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGridPro-rowBorderColor': '#edf2f9',\n '--DataGridPro-containerBackground': '#f4f6fa',\n '.MuiDataGridPro-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGridPro-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGridPro-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGridPro-columnHeaders': {\n border: 'solid 1px #edf2f9',\n },\n '.MuiDataGridPro-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 2,\n },\n }}\n {...rest}\n />\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport { GridRowSelectionModel, useGridApiRef } from '@mui/x-data-grid-pro'\nimport { GridApiCommunity } from '@mui/x-data-grid-pro/internals'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiCommunity>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z',\n key: '1eaqc3',\n },\n ],\n];\n\n/**\n * @component @name ArrowBigDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/arrow-big-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowBigDown = createLucideIcon('arrow-big-down', __iconNode);\n\nexport default ArrowBigDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n];\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('pencil', __iconNode);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n )\n}\n"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import{ColumnsPanelTrigger as at,useGridApiRef as tt}from"@mui/x-data-grid-pro";import{useEffect as re,useMemo as We}from"react";import{Circle as fe}from"@mui/icons-material";import{LinearProgress as Ve,Stack as ze}from"@mui/material";import{DataGridPro as Xe,gridFilteredSortedRowIdsSelector as Ne}from"@mui/x-data-grid-pro";import{ptBR as Ke}from"@mui/x-data-grid-pro/locales";import{Stack as M,Typography as te}from"@mui/material";import{jsx as P,jsxs as oe}from"react/jsx-runtime";function F(){return oe(M,{alignItems:"center",justifyContent:"center",gap:2,padding:2,maxWidth:"400px",minWidth:"200px",children:[P(M,{width:"250px",height:"250px",alignItems:"center",justifyContent:"center",borderRadius:"50%",sx:{background:"linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);"},children:P("img",{src:"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg",alt:"Imagem de notifica\xE7\xE3o",width:"148px",height:"148px"})}),oe(M,{spacing:1,textAlign:"center",children:[P(te,{variant:"h4",component:"h2",fontWeight:"600",children:"Nenhum registro encontrado"}),P(te,{variant:"body2",whiteSpace:"normal",children:"Tente outra pesquisa ou adicione um novo registro."})]})]})}import{Stack as R,Typography as ue}from"@mui/material";import{jsx as k,jsxs as de}from"react/jsx-runtime";function T({errorMessage:e}){return de(R,{alignItems:"center",justifyContent:"center",gap:2,padding:2,maxWidth:"400px",minWidth:"200px",children:[k(R,{width:"250px",height:"250px",alignItems:"center",justifyContent:"center",borderRadius:"50%",sx:{background:"linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);"},children:k("img",{src:"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg",alt:"Imagem de erro",width:"148px",height:"148px"})}),de(R,{gap:1,textAlign:"center",children:[k(ue,{variant:"h4",component:"h2",fontWeight:"600",children:"Ops! Algo deu errado"}),k(ue,{variant:"body2",children:e})]})]})}import{createContext as Oe,useContext as He,useState as b}from"react";import{useGridApiRef as Ge}from"@mui/x-data-grid-pro";import{jsx as Ee}from"react/jsx-runtime";var le=Oe({});function y({children:e}){let[a,t]=b({type:"include",ids:new Set}),[o,d]=b(!1),[l,u]=b(!1),f=Ge();function s(){t({type:"include",ids:new Set}),d(!0)}return Ee(le.Provider,{value:{apiRef:f,rowsSelectedId:a,clearCallback:o,breakpoint:l,setClearCallback:d,setBreakpoint:u,setRowsSelectedId:t,clearRowsSelectedId:s},children:e})}function p(){return He(le)}import{jsx as L,jsxs as Ze}from"react/jsx-runtime";var Qe=({apiRef:e})=>Ne(e);function q(e){let{error:a,isLoading:t,isFetching:o,data:d,columns:l,controlledRowsSelectedId:u,onClearRowsSelectedId:f,onRowSelectionChange:s,onCellKeyDown:i,onRowDoubleClick:x,stackProps:c,slots:m,...Fe}=e,{rowsSelectedId:Re,setRowsSelectedId:ee,clearCallback:ae,setClearCallback:Te,apiRef:B}=p(),be=We(()=>n=>n.map(r=>r.headerName==="A\xE7\xF5es"?{...r,minWidth:r.minWidth||80,maxWidth:r.maxWidth||r.width||80,headerClassName:"sticky-header",cellClassName:"sticky-cell"}:{...r,flex:r.flex||1,minWidth:r.minWidth||100,headerClassName:r?.enableStickyColumns?"sticky-header":"",cellClassName:r?.enableStickyColumns?"sticky-cell":""}),[l]);re(()=>{u&&ee(u)},[u]),re(()=>{ae&&(f&&f({type:"include",ids:new Set}),Te(!1))},[ae]);function ye(n,r,ve){switch(r.ctrlKey&&r.code==="KeyE"?"ctrl+e":r.code){case"Enter":r.preventDefault(),i&&i("edit",n.id);break;case"F3":r.preventDefault(),i&&i("edit",n.id);break;case"Delete":r.preventDefault(),i&&i("delete",n.id);break;case"ctrl+e":r.preventDefault(),(Ue=>{B?.current&&B.current.exportDataAsCsv(Ue)})({getRowsToExport:Qe});break;default:break}}function qe(n,r,ve){x&&x("edit",n.id)}return Ze(ze,{height:"100%",minHeight:"500px",position:"relative",...c,children:[!t&&o&&L(Ve,{sx:{position:"absolute",top:0,right:0,left:0,zIndex:999,height:"3px"}}),L(Xe,{apiRef:B,rows:d,columns:be(l),density:"compact",hideFooterPagination:!0,hideFooter:!0,loading:t,rowHeight:43,columnHeaderHeight:43,disableVirtualization:!0,onRowDoubleClick:qe,onCellKeyDown:ye,disableRowSelectionOnClick:!0,rowSelectionModel:Re,onRowSelectionModelChange:(n,r)=>{s&&s(n,r),!u&&ee(n)},slots:{booleanCellFalseIcon:()=>L(fe,{color:"error",sx:{fontSize:"10pt"}}),booleanCellTrueIcon:()=>L(fe,{color:"success",sx:{fontSize:"10pt"}}),noRowsOverlay:()=>!t&&a?L(T,{errorMessage:a}):L(F,{}),...m},slotProps:{loadingOverlay:{variant:"skeleton",noRowsVariant:"skeleton"}},disableColumnFilter:!0,localeText:Ke.components.MuiDataGrid.defaultProps.localeText,sx:{border:"none",borderRadius:0,"--DataGridPro-rowBorderColor":"#edf2f9","--DataGridPro-containerBackground":"#f4f6fa",".MuiDataGridPro-overlayWrapperInner":{display:"flex",alignItems:"center",justifyContent:"center"},".MuiDataGridPro-row":{backgroundColor:"white","&:nth-of-type(even)":{backgroundColor:"#f9fafd"},":hover":{backgroundColor:"#e9e9e9"},"&.Mui-selected":{backgroundColor:"rgb(238, 249, 252)","&:hover":{backgroundColor:"rgb(222, 243, 249)"}}},".MuiDataGridPro-cell":{fontSize:"12px",color:"#0b0e14"},".MuiDataGridPro-columnHeaders":{border:"solid 1px #edf2f9"},".MuiDataGridPro-columnHeaderTitle":{fontSize:"12px",color:"#0b0e14",fontWeight:"600"},"& .sticky-cell":{position:"sticky",right:0,background:"inherit",zIndex:1},"& .sticky-header":{position:"sticky",right:0,background:"inherit",zIndex:2}},...Fe})]})}import{GridActionsCellItem as Je}from"@mui/x-data-grid-pro";import{jsx as $e}from"react/jsx-runtime";function v(e){let{ref:a,...t}=e;return $e(Je,{...t,ref:a})}import{GridActionsCellItem as ua}from"@mui/x-data-grid-pro";import{forwardRef as je,createElement as ea}from"react";var se=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_e=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,t,o)=>o?o.toUpperCase():t.toLowerCase()),U=e=>{let a=_e(e);return a.charAt(0).toUpperCase()+a.slice(1)},A=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim(),ie=e=>{for(let a in e)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};import{forwardRef as Ye,createElement as ne}from"react";var ce={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var pe=Ye(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:d="",children:l,iconNode:u,...f},s)=>ne("svg",{ref:s,...ce,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:A("lucide",d),...!l&&!ie(f)&&{"aria-hidden":"true"},...f},[...u.map(([i,x])=>ne(i,x)),...Array.isArray(l)?l:[l]]));var I=(e,a)=>{let t=je(({className:o,...d},l)=>ea(pe,{ref:l,iconNode:a,className:A(`lucide-${se(U(e))}`,`lucide-${e}`,o),...d}));return t.displayName=U(e),t};var aa=[["path",{d:"M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z",key:"1eaqc3"}]],C=I("arrow-big-down",aa);var ta=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],g=I("pencil",ta);var oa=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],h=I("trash-2",oa);import{jsx as me}from"react/jsx-runtime";function O(e){let{ref:a,...t}=e;return me(ua,{color:"error",label:"Deletar",icon:me(h,{size:16}),...t,ref:a})}import{GridActionsCellItem as da}from"@mui/x-data-grid-pro";import{jsx as Le}from"react/jsx-runtime";function H(e){let{ref:a,...t}=e;return Le(da,{label:"Editar",color:"primary",icon:Le(g,{size:16}),...t,ref:a})}import{useEffect as la}from"react";import{Stack as ra,useMediaQuery as fa,useTheme as sa}from"@mui/material";import{jsx as ia}from"react/jsx-runtime";function G({children:e,breakpoints:a}){let{setBreakpoint:t}=p(),o=sa(),d=fa(o.breakpoints.down(a||"md"));return la(()=>{t(d)},[d]),ia(ra,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",gap:1,marginLeft:"auto",flexGrow:1,children:e})}import{GridActionsCellItem as ca}from"@mui/x-data-grid-pro";import{jsx as Ie}from"react/jsx-runtime";function E(e){let{ref:a,...t}=e;return Ie(ca,{color:"primary",label:"Transportar",icon:Ie(C,{size:16}),...t,ref:a})}import{Button as na,CircularProgress as xe,IconButton as pa,Tooltip as ma,Box as La}from"@mui/material";import{Fragment as Ia,jsx as S,jsxs as Ce}from"react/jsx-runtime";function w(e){let{isLoading:a,startIcon:t,children:o,title:d,...l}=e,{breakpoint:u}=p();return S(Ia,{children:u?S(ma,{title:o,children:Ce(pa,{...l,color:"primary",disabled:a?!0:l.disabled,children:[t,a&&S(xe,{color:"secondary",size:14,sx:{position:"absolute",top:"25%",bottom:"25%",left:"25%",right:"25%",transform:"translate(-50%, -50%)"}})]})}):S(na,{startIcon:t,disabled:a?!0:l.disabled,sx:{position:"relative",height:"26px",minWidth:"70px",padding:"7px 8px 8px",border:"1px solid rgba(223, 226, 231, 0.8)",borderRadius:"6px",display:"flex",alignItems:"center",overflow:"hidden",whiteSpace:"nowrap",flexShrink:1,transition:"width 0.2s ease"},...l,children:Ce(La,{component:"span",sx:{transition:"opacity 0.2s ease, width 0.2s ease",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:[a&&S(xe,{color:"secondary",size:14,sx:{position:"absolute",top:"22%",left:"44%",transform:"translate(-50%, -50%)"}}),o]})})})}import{GridActionsCellItem as xa}from"@mui/x-data-grid-pro";import{jsx as ge}from"react/jsx-runtime";function W(e){let{event:a,onClick:t,...o}=e;return ge(xa,{label:"A\xE7\xE3o",onClick:()=>{},icon:ge("span",{children:"\u{1F527}"})})}import{Delete as Ca}from"@mui/icons-material";import{GridActionsCellItem as ga}from"@mui/x-data-grid-pro";import{jsx as he}from"react/jsx-runtime";function V({onClick:e,...a}){return he(ga,{icon:he(Ca,{}),label:"Delete",color:"primary",onClick:()=>{e&&e("delete")},...a})}import{Edit as ha}from"@mui/icons-material";import{GridActionsCellItem as Sa}from"@mui/x-data-grid-pro";import{jsx as Se}from"react/jsx-runtime";function z({onClick:e,...a}){return Se(Sa,{icon:Se(ha,{}),label:"Edit",color:"primary",onClick:()=>e&&e("edit"),...a})}import{Children as wa,cloneElement as Pa,isValidElement as ka}from"react";import{Fragment as Aa,jsx as Da}from"react/jsx-runtime";function X(e){let{children:a,onClick:t}=e;return Da(Aa,{children:wa.map(a,o=>{if(ka(o))return Pa(o,{onClick:t})})})}import{GetApp as Ba}from"@mui/icons-material";import{GridActionsCellItem as Ma}from"@mui/x-data-grid-pro";import{jsx as we}from"react/jsx-runtime";function N({onClick:e,...a}){return we(Ma,{icon:we(Ba,{}),label:"Transport",color:"primary",onClick:()=>e&&e("transport"),...a})}import{Stack as Fa}from"@mui/material";import{jsx as Ra}from"react/jsx-runtime";function K(e){return Ra(Fa,{direction:"row",width:"100%",flexGrow:1,alignItems:"center",gap:1.5,sx:{background:"#f4f"},...e})}import{FileDownload as Ta}from"@mui/icons-material";import{gridFilteredSortedRowIdsSelector as ba}from"@mui/x-data-grid-pro";import{jsx as Pe}from"react/jsx-runtime";var ya=({apiRef:e})=>ba(e);function Q(){let{apiRef:e}=p(),a=t=>{e?.current&&e.current.exportDataAsCsv(t)};return Pe(w,{startIcon:Pe(Ta,{}),onClick:()=>a({getRowsToExport:ya}),children:"Exportar CSV"})}import{TableFooter as qa}from"@mui/material";import{jsx as va}from"react/jsx-runtime";function Z(e){return va(qa,{...e,sx:{height:"54px",paddingX:"12px",gap:"12px",display:"flex",alignItems:"center",backgroundColor:"white",borderBottomLeftRadius:"8px",borderBottomRightRadius:"8px",borderTop:"1px solid #edf2f9"}})}import{pluralizar as ke}from"@data-c/hooks";import{MenuItem as Ua,Pagination as Oa,Stack as Ae,TextField as Ha,Typography as Ga}from"@mui/material";import{useMemo as De}from"react";import{jsx as D,jsxs as Be}from"react/jsx-runtime";function J(e){let{onChangePageSize:a,onChangePage:t,pagination:o,rowsPerPageOptions:d=[15,50,100,200]}=e,{page:l,pageSize:u=15,totalRecords:f}=o||{},s=De(()=>o?.lastPage?o.lastPage:(f||0)<u?1:Math.max(Math.ceil((f||0)/u)),[f,u]),i=De(()=>{if((f||0)<u)return`Exibindo ${ke(f||0,"registro","registros",!0)}`;let c=u;if(l===s){let m=(f||0)%u;c=m===0?u:m}return`Exibindo ${ke(c||0,"registro","registros",!0)} de ${f}`},[o,s]);return Be(Ae,{width:"100%",direction:"row",alignItems:"center",gap:2,marginLeft:"auto",children:[D(Ga,{variant:"body2",fontSize:"13px",fontWeight:"500",whiteSpace:"nowrap",children:i}),!0&&Be(Ae,{direction:"row",alignItems:"center",gap:2,marginLeft:"auto",children:[D(Ha,{sx:{width:"78px",fontSize:"8pt"},size:"small",value:u||0,select:!0,onChange:c=>{a&&a(parseInt(c.target.value))},children:d.map(c=>D(Ua,{value:c,children:c},c))}),D(Oa,{variant:"outlined",shape:"rounded",count:s||0,showFirstButton:!0,showLastButton:!0,onChange:(c,m)=>{t&&t(m)},page:l||0,color:"primary"})]})]})}import{useEffect as Ea,useRef as Wa,useState as Va}from"react";import{Stack as za}from"@mui/material";import{jsx as Me}from"react/jsx-runtime";function $({children:e,height:a,...t}){let o=Wa(null),[d,l]=Va(500);return Ea(()=>{let u=()=>{let f=o.current;if(!f)return;let s=f.getBoundingClientRect().top;l(window.innerHeight-s)};return u(),window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u)}},[]),Me(za,{ref:o,sx:{backgroundColor:"#f4f6fa",border:"1px solid #edf2f9",borderRadius:2,height:a||`calc(${d}px - 16px)`,...t.sx},...t,children:Me(y,{children:e})})}import{Stack as Xa,Typography as Na}from"@mui/material";import{useMemo as Ka}from"react";import{jsx as Za,jsxs as Qa}from"react/jsx-runtime";function _(e){let{countTitle:a,gender:t}=e,{rowsSelectedId:o}=p(),d=o?.ids.size||0,l=Ka(()=>{if(!a)return"";let u=t==="feminino"?"selecionada":"selecionado",f=t==="feminino"?"selecionadas":"selecionados",s=t==="feminino"?"Nenhuma":"Nenhum";return d===1?`${a} ${u}`:d&&d>1?`${a.split(" ").map(i=>`${i}s`).join(" ")} ${f}`:`${s} ${a} ${u}`},[d]);return Za(Xa,{children:Qa(Na,{variant:"body2",fontSize:"13px",fontWeight:"500",whiteSpace:"nowrap",children:[d&&d>0?d:""," ",l]})})}import{Typography as Ja,useTheme as $a}from"@mui/material";import{jsx as _a}from"react/jsx-runtime";function Y({children:e,titleDivider:a=!1,sx:t}){let o=$a();return _a(Ja,{variant:"h6",whiteSpace:"nowrap",sx:{borderRight:a?`solid 1px ${o.palette.grey[300]}`:"none",paddingRight:1.5,...t},children:e})}import{Paper as Ya,Stack as ja}from"@mui/material";import{jsx as et}from"react/jsx-runtime";function j({children:e}){return et(ja,{component:Ya,elevation:0,gap:1.5,flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:1,borderRadius:"8px 8px 0 0",sx:{width:"100%"},children:e})}var ot={CellActionTransport:N,SelectionCounter:_,CellActionDelete:V,ExportCsvButton:Q,CellActionEdit:z,CellActions:X,CellAction:W,Pagination:J,Actions:G,Toolbar:j,Content:K,Button:w,Footer:Z,Table:q,Title:Y,Root:$,Action:v,ActionEdit:H,ActionDelete:O,ActionTransport:E,ColumnsPanelTrigger:at,useGridApiRef:tt},ut=ot;export{ut as Button};
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
5
|
+
(**
|
|
6
|
+
* @license lucide-react v0.536.0 - ISC
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the ISC license.
|
|
9
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10
|
+
*)
|
|
11
|
+
|
|
12
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
13
|
+
(**
|
|
14
|
+
* @license lucide-react v0.536.0 - ISC
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the ISC license.
|
|
17
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
18
|
+
*)
|
|
19
|
+
|
|
20
|
+
lucide-react/dist/esm/Icon.js:
|
|
21
|
+
(**
|
|
22
|
+
* @license lucide-react v0.536.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*)
|
|
27
|
+
|
|
28
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
29
|
+
(**
|
|
30
|
+
* @license lucide-react v0.536.0 - ISC
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the ISC license.
|
|
33
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
34
|
+
*)
|
|
35
|
+
|
|
36
|
+
lucide-react/dist/esm/icons/arrow-big-down.js:
|
|
37
|
+
(**
|
|
38
|
+
* @license lucide-react v0.536.0 - ISC
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the ISC license.
|
|
41
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
+
*)
|
|
43
|
+
|
|
44
|
+
lucide-react/dist/esm/icons/pencil.js:
|
|
45
|
+
(**
|
|
46
|
+
* @license lucide-react v0.536.0 - ISC
|
|
47
|
+
*
|
|
48
|
+
* This source code is licensed under the ISC license.
|
|
49
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
50
|
+
*)
|
|
51
|
+
|
|
52
|
+
lucide-react/dist/esm/icons/trash-2.js:
|
|
53
|
+
(**
|
|
54
|
+
* @license lucide-react v0.536.0 - ISC
|
|
55
|
+
*
|
|
56
|
+
* This source code is licensed under the ISC license.
|
|
57
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
58
|
+
*)
|
|
59
|
+
|
|
60
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
61
|
+
(**
|
|
62
|
+
* @license lucide-react v0.536.0 - ISC
|
|
63
|
+
*
|
|
64
|
+
* This source code is licensed under the ISC license.
|
|
65
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
66
|
+
*)
|
|
67
|
+
*/
|
|
68
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../../../node_modules/shared/src/utils.ts","../../../node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/lucide-react/src/Icon.ts","../../../node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/lucide-react/src/icons/arrow-big-down.ts","../../../node_modules/lucide-react/src/icons/pencil.ts","../../../node_modules/lucide-react/src/icons/trash-2.ts","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx"],"sourcesContent":["import { ColumnsPanelTrigger, useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\n\nconst DataTablePro = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger,\n useGridApiRef,\n}\n\nexport default DataTablePro\n","import { useEffect, useMemo } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridCallbackDetails,\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n GridEventLookup,\n gridFilteredSortedRowIdsSelector,\n GridRowParams,\n GridRowSelectionModel,\n GridRowsProp,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport { GridApi } from '@mui/x-data-grid-pro'\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\ninterface TableProps<T>\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function Table<T>(props: TableProps<T>) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const parsedColumns = useMemo(() => {\n return (columns: GridColDef[]) => {\n return columns.map((col) => {\n if (col.headerName === 'Ações') {\n return {\n ...col,\n minWidth: col.minWidth || 80,\n maxWidth: col.maxWidth || col.width || 80,\n headerClassName: 'sticky-header',\n cellClassName: 'sticky-cell',\n }\n }\n\n return {\n ...col,\n flex: col.flex || 1,\n minWidth: col.minWidth || 100,\n headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n }\n })\n }\n }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n function handleCellKeyDown(\n params: GridEventLookup['cellKeyDown']['params'],\n event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n details: GridCallbackDetails,\n ) {\n const eventCode =\n event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n switch (eventCode) {\n case 'Enter':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n // case 'F2':\n // event.preventDefault()\n // //Open Form\n // break\n case 'F3':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n case 'Delete':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('delete', params.id)\n break\n case 'ctrl+e':\n event.preventDefault()\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n handleExport({ getRowsToExport: getFilteredRows })\n break\n default:\n break\n }\n }\n\n function handleRowDoubleClick(\n params: GridRowParams,\n _: React.MouseEvent,\n details: GridCallbackDetails,\n ) {\n if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n }\n\n return (\n <Stack height=\"100%\" minHeight=\"500px\" position=\"relative\" {...stackProps}>\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.MutableRefObject<GridApi> | undefined}\n rows={data}\n columns={parsedColumns(columns)}\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n onRowDoubleClick={handleRowDoubleClick}\n onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGridPro-rowBorderColor': '#edf2f9',\n '--DataGridPro-containerBackground': '#f4f6fa',\n '.MuiDataGridPro-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGridPro-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGridPro-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGridPro-columnHeaders': {\n border: 'solid 1px #edf2f9',\n },\n '.MuiDataGridPro-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 2,\n },\n }}\n {...rest}\n />\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport { GridRowSelectionModel, useGridApiRef } from '@mui/x-data-grid-pro'\nimport { GridApiCommunity } from '@mui/x-data-grid-pro/internals'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiCommunity>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z',\n key: '1eaqc3',\n },\n ],\n];\n\n/**\n * @component @name ArrowBigDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/arrow-big-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowBigDown = createLucideIcon('arrow-big-down', __iconNode);\n\nexport default ArrowBigDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n];\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('pencil', __iconNode);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n )\n}\n"],"mappings":"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","names":["ColumnsPanelTrigger","useGridApiRef","useEffect","useMemo","Circle","LinearProgress","Stack","DataGridPro","gridFilteredSortedRowIdsSelector","ptBR","Stack","Typography","jsx","jsxs","DataTableEmptyData","Stack","Typography","jsx","jsxs","DataTableError","errorMessage","createContext","useContext","useState","useGridApiRef","jsx","TableRootContext","TableRootProvider","children","ids","setIds","clearCallback","setClearCallback","breakpoint","setBreakpoint","apiRef","handleClearRowsSelectedId","useTableRootContext","jsx","jsxs","getFilteredRows","apiRef","gridFilteredSortedRowIdsSelector","Table","props","error","isLoading","isFetching","data","columns","controlledRowsSelectedId","onClearRowsSelectedId","onRowSelectionChange","onCellKeyDown","onRowDoubleClick","stackProps","slots","rest","rowsSelectedId","setRowsSelectedId","clearCallback","setClearCallback","useTableRootContext","parsedColumns","useMemo","col","useEffect","handleCellKeyDown","params","event","details","options","handleRowDoubleClick","_","Stack","LinearProgress","DataGridPro","rowSelectionModel","Circle","DataTableError","DataTableEmptyData","ptBR","GridActionsCellItem","jsx","DataTableAction","props","ref","rest","GridActionsCellItem","toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","className","index","array","hasA11yProp","props","prop","defaultAttributes","Icon","forwardRef","color","size","strokeWidth","absoluteStrokeWidth","className","children","iconNode","rest","ref","createElement","defaultAttributes","mergeClasses","hasA11yProp","tag","attrs","createLucideIcon","iconName","iconNode","Component","forwardRef","className","props","ref","createElement","Icon","mergeClasses","toKebabCase","toPascalCase","__iconNode","ArrowBigDown","createLucideIcon","__iconNode","Pencil","createLucideIcon","__iconNode","Trash2","createLucideIcon","jsx","DataTableActionDelete","props","ref","rest","GridActionsCellItem","Trash2","GridActionsCellItem","jsx","DataTableActionEdit","props","ref","rest","GridActionsCellItem","Pencil","useEffect","Stack","useMediaQuery","useTheme","jsx","Actions","children","breakpoints","setBreakpoint","useTableRootContext","theme","useTheme","breakpoint","useMediaQuery","useEffect","Stack","GridActionsCellItem","jsx","DataTableActionTransport","props","ref","rest","GridActionsCellItem","ArrowBigDown","MuiButton","CircularProgress","IconButton","Tooltip","Box","Fragment","jsx","jsxs","DataTableButton","props","isLoading","startIcon","children","title","rest","breakpoint","useTableRootContext","Tooltip","IconButton","CircularProgress","MuiButton","Box","GridActionsCellItem","jsx","CellAction","props","event","onClick","rest","DeleteIcon","GridActionsCellItem","jsx","CellActionDelete","onClick","rest","EditIcon","GridActionsCellItem","jsx","CellActionEdit","onClick","rest","Children","cloneElement","isValidElement","Fragment","jsx","CellActions","props","children","onItemClick","child","TransportIcon","GridActionsCellItem","jsx","CellActionTransport","onClick","rest","Stack","jsx","Content","props","FileDownloadIcon","gridFilteredSortedRowIdsSelector","jsx","getFilteredRows","apiRef","gridFilteredSortedRowIdsSelector","ExportCsvButton","useTableRootContext","handleExport","options","DataTableButton","FileDownloadIcon","TableFooter","jsx","Footer","props","pluralizar","MenuItem","MuiPagination","Stack","TextField","Typography","useMemo","jsx","jsxs","Pagination","props","onChangePageSize","onChangePage","pagination","rowsPerPageOptions","page","pageSize","totalRecords","pages","totalRecordsLabel","registrosExibidos","ultimaPaginaRegistros","e","option","_","_page","useEffect","useRef","useState","Stack","jsx","Root","children","height","rest","tableContainerRef","useRef","tableHeight","setTableHeight","useState","useEffect","calculateHeight","container","containerTop","Stack","TableRootProvider","Stack","Typography","useMemo","jsx","jsxs","SelectionCounter","props","countTitle","gender","rowsSelectedId","useTableRootContext","countQuantidade","flexSufixCountTitle","useMemo","selecionadoText","selecionadosText","nenhumText","item","Stack","Typography","Typography","useTheme","jsx","Title","children","titleDivider","sx","theme","Paper","Stack","jsx","Toolbar","children","DataTablePro","CellActionTransport","SelectionCounter","CellActionDelete","ExportCsvButton","CellActionEdit","CellActions","CellAction","Pagination","Actions","Toolbar","Content","DataTableButton","Footer","Table","Title","Root","DataTableAction","DataTableActionEdit","DataTableActionDelete","DataTableActionTransport","ColumnsPanelTrigger","useGridApiRef","DataTable_default"]}
|
package/license.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [year] [fullname]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@data-c/pro",
|
|
3
|
+
"version": "0.2.51",
|
|
4
|
+
"author": "Raphael <raphael@datac.com.br>",
|
|
5
|
+
"homepage": "https://gitlab.com/raphaelbsr/mio#readme",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"directories": {
|
|
10
|
+
"lib": "dist",
|
|
11
|
+
"test": "tests"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://gitlab.com/raphaelbsr/mio.git"
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsup --dts",
|
|
25
|
+
"test": "node ./tests/ui.test.js",
|
|
26
|
+
"chromatic": "npx chromatic --project-token=56b57633e12b --only-changed"
|
|
27
|
+
},
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://gitlab.com/raphaelbsr/mio/issues"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@data-c/hooks": "^0.2.51",
|
|
33
|
+
"@mui/material": "7.3.1",
|
|
34
|
+
"@mui/x-data-grid-pro": "^8.20.0",
|
|
35
|
+
"react": ">=18.0.0",
|
|
36
|
+
"react-dom": ">=18.0.0",
|
|
37
|
+
"typescript": "^4.9.4"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"react": ">=18.0.0",
|
|
41
|
+
"react-dom": ">=18.0.0"
|
|
42
|
+
},
|
|
43
|
+
"resolutions": {
|
|
44
|
+
"csstype": "3.1.2"
|
|
45
|
+
},
|
|
46
|
+
"gitHead": "90f2b8a6884c8c7ba47926a601fb3eda32766d19"
|
|
47
|
+
}
|