@data-c/pro 0.2.75 → 0.2.77
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 +0 -1
- package/dist/index.js +12 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,6 @@ interface DataTableProps extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRow
|
|
|
45
45
|
restoreFromState?: GridViewState | null;
|
|
46
46
|
warmUpMs?: number;
|
|
47
47
|
stateMs?: number;
|
|
48
|
-
localStorageKey?: string;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
type DataTableActionProps = {} & GridActionsCellItemProps;
|
package/dist/index.js
CHANGED
|
@@ -172,6 +172,7 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
172
172
|
onRowSelectionChange,
|
|
173
173
|
onCellKeyDown,
|
|
174
174
|
onRowDoubleClick,
|
|
175
|
+
onSortModelChange,
|
|
175
176
|
stackProps,
|
|
176
177
|
slots,
|
|
177
178
|
restoreFromState,
|
|
@@ -182,8 +183,6 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
182
183
|
sortingMode = "server",
|
|
183
184
|
disableColumnPinning = true,
|
|
184
185
|
disableColumnFilter = true,
|
|
185
|
-
localStorageKey,
|
|
186
|
-
initialState,
|
|
187
186
|
...rest
|
|
188
187
|
} = props;
|
|
189
188
|
const {
|
|
@@ -299,6 +298,12 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
299
298
|
reason: "visibility"
|
|
300
299
|
});
|
|
301
300
|
}
|
|
301
|
+
function _onSortModelChange(state, details) {
|
|
302
|
+
if (ignoreWarmupRef.current) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
_optionalChain([onSortModelChange, 'optionalCall', _11 => _11(state, details)]);
|
|
306
|
+
}
|
|
302
307
|
function _onStateChange(state, event, details) {
|
|
303
308
|
if (ignoreWarmupRef.current) {
|
|
304
309
|
return;
|
|
@@ -319,10 +324,7 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
319
324
|
window.clearTimeout(stateChangeDebounceRef.current);
|
|
320
325
|
}
|
|
321
326
|
stateChangeDebounceRef.current = window.setTimeout(() => {
|
|
322
|
-
_optionalChain([onStateChange, 'optionalCall',
|
|
323
|
-
if (localStorageKey) {
|
|
324
|
-
localStorage.setItem(localStorageKey, JSON.stringify(exportState()));
|
|
325
|
-
}
|
|
327
|
+
_optionalChain([onStateChange, 'optionalCall', _12 => _12(state, event, details)]);
|
|
326
328
|
}, stateMs);
|
|
327
329
|
},
|
|
328
330
|
[onStateChange]
|
|
@@ -341,20 +343,6 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
341
343
|
setClearCallback(false);
|
|
342
344
|
}
|
|
343
345
|
}, [clearCallback]);
|
|
344
|
-
const _initialState = _react2.default.useMemo(() => {
|
|
345
|
-
if (localStorageKey) {
|
|
346
|
-
const raw = localStorage.getItem(localStorageKey);
|
|
347
|
-
if (raw) {
|
|
348
|
-
return JSON.parse(raw);
|
|
349
|
-
} else {
|
|
350
|
-
return null;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
return null;
|
|
354
|
-
}, [localStorageKey]);
|
|
355
|
-
_react.useEffect.call(void 0, () => {
|
|
356
|
-
restore(_initialState);
|
|
357
|
-
}, [_initialState]);
|
|
358
346
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
359
347
|
_material.Stack,
|
|
360
348
|
{
|
|
@@ -380,7 +368,6 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
380
368
|
_xdatagridpro.DataGridPro,
|
|
381
369
|
{
|
|
382
370
|
apiRef,
|
|
383
|
-
initialState: initialState || _initialState || void 0,
|
|
384
371
|
rows: data,
|
|
385
372
|
columns,
|
|
386
373
|
pinnedColumns: { ...pinnedColumns, right: ["id", "uuid"], left: [] },
|
|
@@ -390,6 +377,7 @@ var _DataTable = _react2.default.forwardRef(
|
|
|
390
377
|
onColumnWidthChange: _onColumnWidthChange,
|
|
391
378
|
onColumnVisibilityModelChange: _onColumnVisibilityModelChange,
|
|
392
379
|
onStateChange: _onStateChange,
|
|
380
|
+
onSortModelChange: _onSortModelChange,
|
|
393
381
|
density: "compact",
|
|
394
382
|
hideFooterPagination: true,
|
|
395
383
|
hideFooter: true,
|
|
@@ -836,7 +824,7 @@ var getFilteredRows = ({ apiRef }) => _xdatagridpro.gridFilteredSortedRowIdsSele
|
|
|
836
824
|
function ExportCsvButton() {
|
|
837
825
|
const { apiRef } = useTableRootContext();
|
|
838
826
|
const handleExport = (options) => {
|
|
839
|
-
if (_optionalChain([apiRef, 'optionalAccess',
|
|
827
|
+
if (_optionalChain([apiRef, 'optionalAccess', _13 => _13.current])) {
|
|
840
828
|
apiRef.current.exportDataAsCsv(options);
|
|
841
829
|
}
|
|
842
830
|
};
|
|
@@ -895,7 +883,7 @@ function Pagination(props) {
|
|
|
895
883
|
} = props;
|
|
896
884
|
const { page, pageSize = 15, totalRecords } = pagination || {};
|
|
897
885
|
const pages = _react.useMemo.call(void 0, () => {
|
|
898
|
-
if (_optionalChain([pagination, 'optionalAccess',
|
|
886
|
+
if (_optionalChain([pagination, 'optionalAccess', _14 => _14.lastPage]))
|
|
899
887
|
return pagination.lastPage;
|
|
900
888
|
if ((totalRecords || 0) < pageSize)
|
|
901
889
|
return 1;
|
|
@@ -1027,7 +1015,7 @@ function Root({ children, height, ...rest }) {
|
|
|
1027
1015
|
function SelectionCounter(props) {
|
|
1028
1016
|
const { countTitle, gender } = props;
|
|
1029
1017
|
const { rowsSelectedId } = useTableRootContext();
|
|
1030
|
-
const countQuantidade = _optionalChain([rowsSelectedId, 'optionalAccess',
|
|
1018
|
+
const countQuantidade = _optionalChain([rowsSelectedId, 'optionalAccess', _15 => _15.ids, 'access', _16 => _16.size]) || 0;
|
|
1031
1019
|
const flexSufixCountTitle = _react.useMemo.call(void 0, () => {
|
|
1032
1020
|
if (!countTitle)
|
|
1033
1021
|
return "";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +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","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.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/DataTableColumnsPanelTrigger.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","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"names":["useGridApiRef","Stack","Typography","jsx","jsxs","GridActionsCellItem","useEffect","useTheme","Fragment","ToolbarButton","gridFilteredSortedRowIdsSelector","useState","useMemo","DataTable_default"],"mappings":"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","sourcesContent":["import { 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 DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\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 DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\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'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\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 ToolbarActionsContainer: DataTableToolbarActionsContainer,\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: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\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 onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\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 restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n localStorageKey?: string\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n localStorageKey,\n initialState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n if (localStorageKey) {\n localStorage.setItem(localStorageKey, JSON.stringify(exportState()))\n }\n }, stateMs)\n },\n [onStateChange],\n )\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 const _initialState = React.useMemo(() => {\n if (localStorageKey) {\n const raw = localStorage.getItem(localStorageKey)\n if (raw) {\n return JSON.parse(raw)\n } else {\n return null\n }\n }\n return null\n }, [localStorageKey])\n\n useEffect(() => {\n restore(_initialState)\n }, [_initialState])\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\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\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.RefObject<GridApiPro> | undefined}\n initialState={initialState || _initialState || undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n // Revisar parametros abaixo\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 localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-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 '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\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 {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\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 {\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 { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\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 { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\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 { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\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 )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"]}
|
|
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","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.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/DataTableColumnsPanelTrigger.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","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"names":["useGridApiRef","Stack","Typography","jsx","jsxs","GridActionsCellItem","useEffect","useTheme","Fragment","ToolbarButton","gridFilteredSortedRowIdsSelector","useState","useMemo","DataTable_default"],"mappings":"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","sourcesContent":["import { 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 DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\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 DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\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'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\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 ToolbarActionsContainer: DataTableToolbarActionsContainer,\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: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\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 onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\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 restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n onSortModelChange?.(state, details)\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\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\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\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.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\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 localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-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 '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\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 {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\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 {\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 { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\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 { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\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 { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\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 )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -172,6 +172,7 @@ var _DataTable = React.forwardRef(
|
|
|
172
172
|
onRowSelectionChange,
|
|
173
173
|
onCellKeyDown,
|
|
174
174
|
onRowDoubleClick,
|
|
175
|
+
onSortModelChange,
|
|
175
176
|
stackProps,
|
|
176
177
|
slots,
|
|
177
178
|
restoreFromState,
|
|
@@ -182,8 +183,6 @@ var _DataTable = React.forwardRef(
|
|
|
182
183
|
sortingMode = "server",
|
|
183
184
|
disableColumnPinning = true,
|
|
184
185
|
disableColumnFilter = true,
|
|
185
|
-
localStorageKey,
|
|
186
|
-
initialState,
|
|
187
186
|
...rest
|
|
188
187
|
} = props;
|
|
189
188
|
const {
|
|
@@ -299,6 +298,12 @@ var _DataTable = React.forwardRef(
|
|
|
299
298
|
reason: "visibility"
|
|
300
299
|
});
|
|
301
300
|
}
|
|
301
|
+
function _onSortModelChange(state, details) {
|
|
302
|
+
if (ignoreWarmupRef.current) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
onSortModelChange?.(state, details);
|
|
306
|
+
}
|
|
302
307
|
function _onStateChange(state, event, details) {
|
|
303
308
|
if (ignoreWarmupRef.current) {
|
|
304
309
|
return;
|
|
@@ -320,9 +325,6 @@ var _DataTable = React.forwardRef(
|
|
|
320
325
|
}
|
|
321
326
|
stateChangeDebounceRef.current = window.setTimeout(() => {
|
|
322
327
|
onStateChange?.(state, event, details);
|
|
323
|
-
if (localStorageKey) {
|
|
324
|
-
localStorage.setItem(localStorageKey, JSON.stringify(exportState()));
|
|
325
|
-
}
|
|
326
328
|
}, stateMs);
|
|
327
329
|
},
|
|
328
330
|
[onStateChange]
|
|
@@ -341,20 +343,6 @@ var _DataTable = React.forwardRef(
|
|
|
341
343
|
setClearCallback(false);
|
|
342
344
|
}
|
|
343
345
|
}, [clearCallback]);
|
|
344
|
-
const _initialState = React.useMemo(() => {
|
|
345
|
-
if (localStorageKey) {
|
|
346
|
-
const raw = localStorage.getItem(localStorageKey);
|
|
347
|
-
if (raw) {
|
|
348
|
-
return JSON.parse(raw);
|
|
349
|
-
} else {
|
|
350
|
-
return null;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
return null;
|
|
354
|
-
}, [localStorageKey]);
|
|
355
|
-
useEffect(() => {
|
|
356
|
-
restore(_initialState);
|
|
357
|
-
}, [_initialState]);
|
|
358
346
|
return /* @__PURE__ */ jsxs3(
|
|
359
347
|
Stack3,
|
|
360
348
|
{
|
|
@@ -380,7 +368,6 @@ var _DataTable = React.forwardRef(
|
|
|
380
368
|
DataGridPro,
|
|
381
369
|
{
|
|
382
370
|
apiRef,
|
|
383
|
-
initialState: initialState || _initialState || void 0,
|
|
384
371
|
rows: data,
|
|
385
372
|
columns,
|
|
386
373
|
pinnedColumns: { ...pinnedColumns, right: ["id", "uuid"], left: [] },
|
|
@@ -390,6 +377,7 @@ var _DataTable = React.forwardRef(
|
|
|
390
377
|
onColumnWidthChange: _onColumnWidthChange,
|
|
391
378
|
onColumnVisibilityModelChange: _onColumnVisibilityModelChange,
|
|
392
379
|
onStateChange: _onStateChange,
|
|
380
|
+
onSortModelChange: _onSortModelChange,
|
|
393
381
|
density: "compact",
|
|
394
382
|
hideFooterPagination: true,
|
|
395
383
|
hideFooter: true,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +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","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.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/DataTableColumnsPanelTrigger.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","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"sourcesContent":["import { 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 DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\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 DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\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'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\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 ToolbarActionsContainer: DataTableToolbarActionsContainer,\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: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\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 onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\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 restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n localStorageKey?: string\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n localStorageKey,\n initialState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n if (localStorageKey) {\n localStorage.setItem(localStorageKey, JSON.stringify(exportState()))\n }\n }, stateMs)\n },\n [onStateChange],\n )\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 const _initialState = React.useMemo(() => {\n if (localStorageKey) {\n const raw = localStorage.getItem(localStorageKey)\n if (raw) {\n return JSON.parse(raw)\n } else {\n return null\n }\n }\n return null\n }, [localStorageKey])\n\n useEffect(() => {\n restore(_initialState)\n }, [_initialState])\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\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\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.RefObject<GridApiPro> | undefined}\n initialState={initialState || _initialState || undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n // Revisar parametros abaixo\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 localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-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 '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\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 {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\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 {\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 { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\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 { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\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 { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\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 )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"],"mappings":"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","names":["useGridApiRef","Stack","Stack","Typography","jsx","jsxs","jsx","jsx","jsxs","jsxs","Stack","jsx","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","useEffect","Stack","jsx","useEffect","Stack","GridActionsCellItem","jsx","useTheme","jsx","jsx","jsxs","GridActionsCellItem","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","Fragment","jsx","GridActionsCellItem","jsx","useTheme","ToolbarButton","jsx","Stack","jsx","gridFilteredSortedRowIdsSelector","jsx","gridFilteredSortedRowIdsSelector","jsx","Stack","Typography","jsx","jsxs","useEffect","useState","Stack","jsx","useState","useEffect","Stack","Stack","Typography","useMemo","jsx","jsxs","useMemo","Stack","Typography","Typography","useTheme","jsx","Stack","jsx","Stack","jsx","useGridApiRef","DataTable_default"]}
|
|
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","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.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/DataTableColumnsPanelTrigger.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","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"sourcesContent":["import { 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 DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\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 DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\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'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\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 ToolbarActionsContainer: DataTableToolbarActionsContainer,\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: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\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 onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\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 restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n onSortModelChange?.(state, details)\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\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\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\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.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\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 localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-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 '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\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 {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\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 {\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 { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\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 { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\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 { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\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 )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"],"mappings":"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","names":["useGridApiRef","Stack","Stack","Typography","jsx","jsxs","jsx","jsx","jsxs","jsxs","Stack","jsx","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","useEffect","Stack","jsx","useEffect","Stack","GridActionsCellItem","jsx","useTheme","jsx","jsx","jsxs","GridActionsCellItem","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","Fragment","jsx","GridActionsCellItem","jsx","useTheme","ToolbarButton","jsx","Stack","jsx","gridFilteredSortedRowIdsSelector","jsx","gridFilteredSortedRowIdsSelector","jsx","Stack","Typography","jsx","jsxs","useEffect","useState","Stack","jsx","useState","useEffect","Stack","Stack","Typography","useMemo","jsx","jsxs","useMemo","Stack","Typography","Typography","useTheme","jsx","Stack","jsx","Stack","jsx","useGridApiRef","DataTable_default"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-c/pro",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.77",
|
|
4
4
|
"author": "Raphael <raphael@datac.com.br>",
|
|
5
5
|
"homepage": "https://gitlab.com/raphaelbsr/mio#readme",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"resolutions": {
|
|
46
46
|
"csstype": "3.1.2"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "f47332b3040aaed29949ac215885de1550584d06"
|
|
49
49
|
}
|