@data-c/pro 0.2.57 → 0.2.58

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.js CHANGED
@@ -200,12 +200,17 @@ var _DataTable = _react2.default.forwardRef(
200
200
  {}
201
201
  );
202
202
  if (Object.keys(cleanState).length > 0) {
203
- console.log("Restaurando estado da tabela:", cleanState);
204
- apiRef.current.restoreState(cleanState);
203
+ window.setTimeout(() => {
204
+ if (_optionalChain([apiRef, 'optionalAccess', _3 => _3.current])) {
205
+ console.log("Restaurando estado da tabela:", cleanState);
206
+ apiRef.current.restoreState(cleanState);
207
+ hasRestoredStateRef.current = true;
208
+ }
209
+ }, 150);
205
210
  }
206
211
  },
207
212
  exportState: () => {
208
- return _optionalChain([apiRef, 'optionalAccess', _3 => _3.current, 'optionalAccess', _4 => _4.exportState, 'call', _5 => _5({
213
+ return _optionalChain([apiRef, 'optionalAccess', _4 => _4.current, 'optionalAccess', _5 => _5.exportState, 'call', _6 => _6({
209
214
  exportOnlyDirtyModels: true
210
215
  })]);
211
216
  }
@@ -214,6 +219,7 @@ var _DataTable = _react2.default.forwardRef(
214
219
  );
215
220
  const columnWidthDebounceRef = _react2.default.useRef(null);
216
221
  const ignoreWarmupRef = _react2.default.useRef(true);
222
+ const hasRestoredStateRef = _react2.default.useRef(false);
217
223
  _react2.default.useEffect(() => {
218
224
  const timeoutId = window.setTimeout(() => {
219
225
  ignoreWarmupRef.current = false;
@@ -230,18 +236,27 @@ var _DataTable = _react2.default.forwardRef(
230
236
  return;
231
237
  if (!restoreFromState)
232
238
  return;
233
- const cleanState = Object.entries(restoreFromState).reduce(
234
- (acc, [key, value]) => {
235
- if (value !== null) {
236
- acc[key] = value;
237
- }
238
- return acc;
239
- },
240
- {}
241
- );
242
- if (Object.keys(cleanState).length > 0) {
243
- apiRef.current.restoreState(cleanState);
244
- }
239
+ if (hasRestoredStateRef.current)
240
+ return;
241
+ const timeoutId = window.setTimeout(() => {
242
+ if (!apiRef.current)
243
+ return;
244
+ const cleanState = Object.entries(restoreFromState).reduce(
245
+ (acc, [key, value]) => {
246
+ if (value !== null) {
247
+ acc[key] = value;
248
+ }
249
+ return acc;
250
+ },
251
+ {}
252
+ );
253
+ if (Object.keys(cleanState).length > 0) {
254
+ console.log("Restaurando estado:", cleanState);
255
+ apiRef.current.restoreState(cleanState);
256
+ hasRestoredStateRef.current = true;
257
+ }
258
+ }, 150);
259
+ return () => window.clearTimeout(timeoutId);
245
260
  }, [apiRef, restoreFromState]);
246
261
  const emitColumnChange = _react2.default.useCallback(
247
262
  (meta) => {
@@ -250,12 +265,12 @@ var _DataTable = _react2.default.forwardRef(
250
265
  const state = apiRef.current.exportState({
251
266
  exportOnlyDirtyModels: true
252
267
  });
253
- _optionalChain([onColumnChange, 'optionalCall', _6 => _6({ state, meta })]);
268
+ _optionalChain([onColumnChange, 'optionalCall', _7 => _7({ state, meta })]);
254
269
  },
255
270
  [apiRef, onColumnChange]
256
271
  );
257
272
  function _onColumnOrderChange(params, event, details) {
258
- _optionalChain([onColumnOrderChange, 'optionalCall', _7 => _7(params, event, details)]);
273
+ _optionalChain([onColumnOrderChange, 'optionalCall', _8 => _8(params, event, details)]);
259
274
  emitColumnChange({
260
275
  reason: "order"
261
276
  });
@@ -264,11 +279,11 @@ var _DataTable = _react2.default.forwardRef(
264
279
  if (ignoreWarmupRef.current) {
265
280
  return;
266
281
  }
267
- _optionalChain([onColumnWidthChange, 'optionalCall', _8 => _8(params, event, details)]);
282
+ _optionalChain([onColumnWidthChange, 'optionalCall', _9 => _9(params, event, details)]);
268
283
  emitColumnWidthChangeDebounced();
269
284
  }
270
285
  function _onColumnVisibilityModelChange(params, details) {
271
- _optionalChain([onColumnVisibilityModelChange, 'optionalCall', _9 => _9(params, details)]);
286
+ _optionalChain([onColumnVisibilityModelChange, 'optionalCall', _10 => _10(params, details)]);
272
287
  emitColumnChange({
273
288
  reason: "visibility"
274
289
  });
@@ -756,7 +771,7 @@ var getFilteredRows = ({ apiRef }) => _xdatagridpro.gridFilteredSortedRowIdsSele
756
771
  function ExportCsvButton() {
757
772
  const { apiRef } = useTableRootContext();
758
773
  const handleExport = (options) => {
759
- if (_optionalChain([apiRef, 'optionalAccess', _10 => _10.current])) {
774
+ if (_optionalChain([apiRef, 'optionalAccess', _11 => _11.current])) {
760
775
  apiRef.current.exportDataAsCsv(options);
761
776
  }
762
777
  };
@@ -815,7 +830,7 @@ function Pagination(props) {
815
830
  } = props;
816
831
  const { page, pageSize = 15, totalRecords } = pagination || {};
817
832
  const pages = _react.useMemo.call(void 0, () => {
818
- if (_optionalChain([pagination, 'optionalAccess', _11 => _11.lastPage]))
833
+ if (_optionalChain([pagination, 'optionalAccess', _12 => _12.lastPage]))
819
834
  return pagination.lastPage;
820
835
  if ((totalRecords || 0) < pageSize)
821
836
  return 1;
@@ -947,7 +962,7 @@ function Root({ children, height, ...rest }) {
947
962
  function SelectionCounter(props) {
948
963
  const { countTitle, gender } = props;
949
964
  const { rowsSelectedId } = useTableRootContext();
950
- const countQuantidade = _optionalChain([rowsSelectedId, 'optionalAccess', _12 => _12.ids, 'access', _13 => _13.size]) || 0;
965
+ const countQuantidade = _optionalChain([rowsSelectedId, 'optionalAccess', _13 => _13.ids, 'access', _14 => _14.size]) || 0;
951
966
  const flexSufixCountTitle = _react.useMemo.call(void 0, () => {
952
967
  if (!countTitle)
953
968
  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, { 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 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}\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 controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: (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(\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 console.log('Restaurando estado da tabela:', cleanState)\n apiRef.current.restoreState(cleanState)\n }\n },\n\n exportState: () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n },\n }),\n [apiRef],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\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 }, 100) // 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 }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) 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 }\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 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 // const parsedColumns = useMemo(() => {\n // return (columns: GridColDef[]) => {\n // return columns.map((col) => {\n // if (col.headerName === 'Ações') {\n // return {\n // ...col,\n // minWidth: col.minWidth || 80,\n // maxWidth: col.maxWidth || col.width || 80,\n // headerClassName: 'sticky-header',\n // cellClassName: 'sticky-cell',\n // }\n // }\n\n // return {\n // ...col,\n // flex: col.flex || 1,\n // minWidth: col.minWidth || 100,\n // headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n // cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n // }\n // })\n // }\n // }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\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.MutableRefObject<GridApiPro> | undefined}\n rows={data}\n // columns={parsedColumns(columns)}\n columns={columns}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\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 disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\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 '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\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, { 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 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}\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 controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: (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(\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 // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n console.log('Restaurando estado da tabela:', cleanState)\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, 150)\n }\n },\n\n exportState: () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n },\n }),\n [apiRef],\n )\n\n const columnWidthDebounceRef = 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 }, 100) // 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 }\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 console.log('Restaurando estado:', cleanState)\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, 150) // 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 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 // const parsedColumns = useMemo(() => {\n // return (columns: GridColDef[]) => {\n // return columns.map((col) => {\n // if (col.headerName === 'Ações') {\n // return {\n // ...col,\n // minWidth: col.minWidth || 80,\n // maxWidth: col.maxWidth || col.width || 80,\n // headerClassName: 'sticky-header',\n // cellClassName: 'sticky-cell',\n // }\n // }\n\n // return {\n // ...col,\n // flex: col.flex || 1,\n // minWidth: col.minWidth || 100,\n // headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n // cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n // }\n // })\n // }\n // }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\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.MutableRefObject<GridApiPro> | undefined}\n rows={data}\n // columns={parsedColumns(columns)}\n columns={columns}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\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 disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\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 '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\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
@@ -200,8 +200,13 @@ var _DataTable = React.forwardRef(
200
200
  {}
201
201
  );
202
202
  if (Object.keys(cleanState).length > 0) {
203
- console.log("Restaurando estado da tabela:", cleanState);
204
- apiRef.current.restoreState(cleanState);
203
+ window.setTimeout(() => {
204
+ if (apiRef?.current) {
205
+ console.log("Restaurando estado da tabela:", cleanState);
206
+ apiRef.current.restoreState(cleanState);
207
+ hasRestoredStateRef.current = true;
208
+ }
209
+ }, 150);
205
210
  }
206
211
  },
207
212
  exportState: () => {
@@ -214,6 +219,7 @@ var _DataTable = React.forwardRef(
214
219
  );
215
220
  const columnWidthDebounceRef = React.useRef(null);
216
221
  const ignoreWarmupRef = React.useRef(true);
222
+ const hasRestoredStateRef = React.useRef(false);
217
223
  React.useEffect(() => {
218
224
  const timeoutId = window.setTimeout(() => {
219
225
  ignoreWarmupRef.current = false;
@@ -230,18 +236,27 @@ var _DataTable = React.forwardRef(
230
236
  return;
231
237
  if (!restoreFromState)
232
238
  return;
233
- const cleanState = Object.entries(restoreFromState).reduce(
234
- (acc, [key, value]) => {
235
- if (value !== null) {
236
- acc[key] = value;
237
- }
238
- return acc;
239
- },
240
- {}
241
- );
242
- if (Object.keys(cleanState).length > 0) {
243
- apiRef.current.restoreState(cleanState);
244
- }
239
+ if (hasRestoredStateRef.current)
240
+ return;
241
+ const timeoutId = window.setTimeout(() => {
242
+ if (!apiRef.current)
243
+ return;
244
+ const cleanState = Object.entries(restoreFromState).reduce(
245
+ (acc, [key, value]) => {
246
+ if (value !== null) {
247
+ acc[key] = value;
248
+ }
249
+ return acc;
250
+ },
251
+ {}
252
+ );
253
+ if (Object.keys(cleanState).length > 0) {
254
+ console.log("Restaurando estado:", cleanState);
255
+ apiRef.current.restoreState(cleanState);
256
+ hasRestoredStateRef.current = true;
257
+ }
258
+ }, 150);
259
+ return () => window.clearTimeout(timeoutId);
245
260
  }, [apiRef, restoreFromState]);
246
261
  const emitColumnChange = React.useCallback(
247
262
  (meta) => {
@@ -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, { 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 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}\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 controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: (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(\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 console.log('Restaurando estado da tabela:', cleanState)\n apiRef.current.restoreState(cleanState)\n }\n },\n\n exportState: () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n },\n }),\n [apiRef],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\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 }, 100) // 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 }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) 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 }\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 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 // const parsedColumns = useMemo(() => {\n // return (columns: GridColDef[]) => {\n // return columns.map((col) => {\n // if (col.headerName === 'Ações') {\n // return {\n // ...col,\n // minWidth: col.minWidth || 80,\n // maxWidth: col.maxWidth || col.width || 80,\n // headerClassName: 'sticky-header',\n // cellClassName: 'sticky-cell',\n // }\n // }\n\n // return {\n // ...col,\n // flex: col.flex || 1,\n // minWidth: col.minWidth || 100,\n // headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n // cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n // }\n // })\n // }\n // }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\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.MutableRefObject<GridApiPro> | undefined}\n rows={data}\n // columns={parsedColumns(columns)}\n columns={columns}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\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 disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\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 '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\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, { 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 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}\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 controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n restoreFromState,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: (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(\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 // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n console.log('Restaurando estado da tabela:', cleanState)\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, 150)\n }\n },\n\n exportState: () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n },\n }),\n [apiRef],\n )\n\n const columnWidthDebounceRef = 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 }, 100) // 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 }\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 console.log('Restaurando estado:', cleanState)\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, 150) // 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 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 // const parsedColumns = useMemo(() => {\n // return (columns: GridColDef[]) => {\n // return columns.map((col) => {\n // if (col.headerName === 'Ações') {\n // return {\n // ...col,\n // minWidth: col.minWidth || 80,\n // maxWidth: col.maxWidth || col.width || 80,\n // headerClassName: 'sticky-header',\n // cellClassName: 'sticky-cell',\n // }\n // }\n\n // return {\n // ...col,\n // flex: col.flex || 1,\n // minWidth: col.minWidth || 100,\n // headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n // cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n // }\n // })\n // }\n // }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\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.MutableRefObject<GridApiPro> | undefined}\n rows={data}\n // columns={parsedColumns(columns)}\n columns={columns}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\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 disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\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 '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\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.57",
3
+ "version": "0.2.58",
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": "b03a27c9245fee3000398fbdcede6b3fa882da50"
48
+ "gitHead": "33f2ed16fc3260491ae80edf0396bbc5c240b400"
49
49
  }