@data-c/pro 0.2.77 → 0.2.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ type ColumnChangeMeta = {
14
14
  reason: 'width';
15
15
  } | {
16
16
  reason: 'visibility';
17
+ } | {
18
+ reason: 'sort';
17
19
  };
18
20
  type GridWrapperApi = {
19
21
  apiRef: GridApiPro | null;
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var _xdatagridpro = require('@mui/x-data-grid-pro');
3
3
 
4
4
  // src/DataTable/DataTable.tsx
5
5
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
6
- var _iconsmaterial = require('@mui/icons-material');
6
+ var _Circle = require('@mui/icons-material/Circle'); var _Circle2 = _interopRequireDefault(_Circle);
7
7
  var _material = require('@mui/material');
8
8
 
9
9
 
@@ -299,10 +299,10 @@ var _DataTable = _react2.default.forwardRef(
299
299
  });
300
300
  }
301
301
  function _onSortModelChange(state, details) {
302
- if (ignoreWarmupRef.current) {
303
- return;
304
- }
305
302
  _optionalChain([onSortModelChange, 'optionalCall', _11 => _11(state, details)]);
303
+ emitColumnChange({
304
+ reason: "sort"
305
+ });
306
306
  }
307
307
  function _onStateChange(state, event, details) {
308
308
  if (ignoreWarmupRef.current) {
@@ -396,8 +396,8 @@ var _DataTable = _react2.default.forwardRef(
396
396
  setRowsSelectedId(rowSelectionModel);
397
397
  },
398
398
  slots: {
399
- booleanCellFalseIcon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.Circle, { color: "error", sx: { fontSize: "10pt" } }),
400
- booleanCellTrueIcon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.Circle, { color: "success", sx: { fontSize: "10pt" } }),
399
+ booleanCellFalseIcon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Circle2.default, { color: "error", sx: { fontSize: "10pt" } }),
400
+ booleanCellTrueIcon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Circle2.default, { color: "success", sx: { fontSize: "10pt" } }),
401
401
  noRowsOverlay: () => !isLoading && !!error ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableError, { errorMessage: error }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableEmptyData, {}),
402
402
  ...slots
403
403
  },
@@ -710,7 +710,7 @@ function CellAction(props) {
710
710
  }
711
711
 
712
712
  // src/DataTable/DataTableCellActionDelete.tsx
713
-
713
+ var _Delete = require('@mui/icons-material/Delete'); var _Delete2 = _interopRequireDefault(_Delete);
714
714
 
715
715
 
716
716
  function CellActionDelete({
@@ -720,7 +720,7 @@ function CellActionDelete({
720
720
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
721
721
  _xdatagridpro.GridActionsCellItem,
722
722
  {
723
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.Delete, {}),
723
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Delete2.default, {}),
724
724
  label: "Delete",
725
725
  color: "primary",
726
726
  onClick: () => {
@@ -733,7 +733,7 @@ function CellActionDelete({
733
733
  }
734
734
 
735
735
  // src/DataTable/DataTableCellActionEdit.tsx
736
-
736
+ var _Edit = require('@mui/icons-material/Edit'); var _Edit2 = _interopRequireDefault(_Edit);
737
737
 
738
738
 
739
739
  function CellActionEdit({
@@ -743,7 +743,7 @@ function CellActionEdit({
743
743
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
744
744
  _xdatagridpro.GridActionsCellItem,
745
745
  {
746
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.Edit, {}),
746
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Edit2.default, {}),
747
747
  label: "Edit",
748
748
  color: "primary",
749
749
  onClick: () => onClick && onClick("edit"),
@@ -767,7 +767,7 @@ function CellActions(props) {
767
767
  }
768
768
 
769
769
  // src/DataTable/DataTableCellActionTransport.tsx
770
-
770
+ var _GetApp = require('@mui/icons-material/GetApp'); var _GetApp2 = _interopRequireDefault(_GetApp);
771
771
 
772
772
 
773
773
  function CellActionTransport({
@@ -777,7 +777,7 @@ function CellActionTransport({
777
777
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
778
778
  _xdatagridpro.GridActionsCellItem,
779
779
  {
780
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.GetApp, {}),
780
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _GetApp2.default, {}),
781
781
  label: "Transport",
782
782
  color: "primary",
783
783
  onClick: () => onClick && onClick("transport"),
@@ -815,7 +815,7 @@ function Content(props) {
815
815
  }
816
816
 
817
817
  // src/DataTable/DataTableExportCsvButton.tsx
818
-
818
+ var _FileDownload = require('@mui/icons-material/FileDownload'); var _FileDownload2 = _interopRequireDefault(_FileDownload);
819
819
 
820
820
 
821
821
 
@@ -831,7 +831,7 @@ function ExportCsvButton() {
831
831
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
832
832
  DataTableButton,
833
833
  {
834
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _iconsmaterial.FileDownload, {}),
834
+ startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FileDownload2.default, {}),
835
835
  onClick: () => handleExport({ getRowsToExport: getFilteredRows }),
836
836
  children: "Exportar CSV"
837
837
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableColumnsPanelTrigger.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"names":["useGridApiRef","Stack","Typography","jsx","jsxs","GridActionsCellItem","useEffect","useTheme","Fragment","ToolbarButton","gridFilteredSortedRowIdsSelector","useState","useMemo","DataTable_default"],"mappings":"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","sourcesContent":["import { useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n ToolbarActionsContainer: DataTableToolbarActionsContainer,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n onSortModelChange?.(state, details)\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n // onRowDoubleClick={handleRowDoubleClick}\n // onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n }\n />\n )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableColumnsPanelTrigger.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"names":["useGridApiRef","Stack","Typography","jsx","jsxs","GridActionsCellItem","useEffect","useTheme","Fragment","ToolbarButton","gridFilteredSortedRowIdsSelector","useState","useMemo","DataTable_default"],"mappings":"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","sourcesContent":["import { useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n ToolbarActionsContainer: DataTableToolbarActionsContainer,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport Circle from '@mui/icons-material/Circle'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n onSortModelChange?.(state, details)\n emitColumnChange({\n reason: 'sort',\n })\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n // onRowDoubleClick={handleRowDoubleClick}\n // onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import DeleteIcon from '@mui/icons-material/Delete'\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 EditIcon from '@mui/icons-material/Edit'\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 TransportIcon from '@mui/icons-material/GetApp'\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 FileDownloadIcon from '@mui/icons-material/FileDownload'\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
@@ -3,7 +3,7 @@ import { useGridApiRef as useGridApiRef2 } from "@mui/x-data-grid-pro";
3
3
 
4
4
  // src/DataTable/DataTable.tsx
5
5
  import React, { useCallback, useEffect } from "react";
6
- import { Circle } from "@mui/icons-material";
6
+ import Circle from "@mui/icons-material/Circle";
7
7
  import { LinearProgress, Stack as Stack3 } from "@mui/material";
8
8
  import {
9
9
  DataGridPro,
@@ -299,10 +299,10 @@ var _DataTable = React.forwardRef(
299
299
  });
300
300
  }
301
301
  function _onSortModelChange(state, details) {
302
- if (ignoreWarmupRef.current) {
303
- return;
304
- }
305
302
  onSortModelChange?.(state, details);
303
+ emitColumnChange({
304
+ reason: "sort"
305
+ });
306
306
  }
307
307
  function _onStateChange(state, event, details) {
308
308
  if (ignoreWarmupRef.current) {
@@ -710,7 +710,7 @@ function CellAction(props) {
710
710
  }
711
711
 
712
712
  // src/DataTable/DataTableCellActionDelete.tsx
713
- import { Delete as DeleteIcon } from "@mui/icons-material";
713
+ import DeleteIcon from "@mui/icons-material/Delete";
714
714
  import { GridActionsCellItem as GridActionsCellItem6 } from "@mui/x-data-grid-pro";
715
715
  import { jsx as jsx13 } from "react/jsx-runtime";
716
716
  function CellActionDelete({
@@ -733,7 +733,7 @@ function CellActionDelete({
733
733
  }
734
734
 
735
735
  // src/DataTable/DataTableCellActionEdit.tsx
736
- import { Edit as EditIcon } from "@mui/icons-material";
736
+ import EditIcon from "@mui/icons-material/Edit";
737
737
  import { GridActionsCellItem as GridActionsCellItem7 } from "@mui/x-data-grid-pro";
738
738
  import { jsx as jsx14 } from "react/jsx-runtime";
739
739
  function CellActionEdit({
@@ -767,7 +767,7 @@ function CellActions(props) {
767
767
  }
768
768
 
769
769
  // src/DataTable/DataTableCellActionTransport.tsx
770
- import { GetApp as TransportIcon } from "@mui/icons-material";
770
+ import TransportIcon from "@mui/icons-material/GetApp";
771
771
  import { GridActionsCellItem as GridActionsCellItem8 } from "@mui/x-data-grid-pro";
772
772
  import { jsx as jsx16 } from "react/jsx-runtime";
773
773
  function CellActionTransport({
@@ -815,7 +815,7 @@ function Content(props) {
815
815
  }
816
816
 
817
817
  // src/DataTable/DataTableExportCsvButton.tsx
818
- import { FileDownload as FileDownloadIcon } from "@mui/icons-material";
818
+ import FileDownloadIcon from "@mui/icons-material/FileDownload";
819
819
  import {
820
820
  gridFilteredSortedRowIdsSelector as gridFilteredSortedRowIdsSelector2
821
821
  } from "@mui/x-data-grid-pro";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableColumnsPanelTrigger.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"sourcesContent":["import { useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n ToolbarActionsContainer: DataTableToolbarActionsContainer,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n onSortModelChange?.(state, details)\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n // onRowDoubleClick={handleRowDoubleClick}\n // onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ColumnsPanelTrigger, ToolbarButton } from '@mui/x-data-grid-pro'\nimport { Columns3Cog } from 'lucide-react'\n\nexport default function DataTableColumnsPanelTrigger() {\n const theme = useTheme()\n return (\n <ColumnsPanelTrigger render={<ToolbarButton />}>\n <Columns3Cog color={theme.palette.primary.main} size={18} />\n </ColumnsPanelTrigger>\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { Toolbar as MuiToolbar } from '@mui/x-data-grid-pro'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <MuiToolbar\n render={\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n }\n />\n )\n}\n","import { Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarActionsContainerProps {\n children?: ReactNode\n}\n\nexport default function ToolbarActionsContainer({\n children,\n}: ToolbarActionsContainerProps) {\n return (\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"flex-end\">\n {children}\n </Stack>\n )\n}\n"],"mappings":"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","names":["useGridApiRef","Stack","Stack","Typography","jsx","jsxs","jsx","jsx","jsxs","jsxs","Stack","jsx","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","useEffect","Stack","jsx","useEffect","Stack","GridActionsCellItem","jsx","useTheme","jsx","jsx","jsxs","GridActionsCellItem","jsx","GridActionsCellItem","jsx","GridActionsCellItem","jsx","Fragment","jsx","GridActionsCellItem","jsx","useTheme","ToolbarButton","jsx","Stack","jsx","gridFilteredSortedRowIdsSelector","jsx","gridFilteredSortedRowIdsSelector","jsx","Stack","Typography","jsx","jsxs","useEffect","useState","Stack","jsx","useState","useEffect","Stack","Stack","Typography","useMemo","jsx","jsxs","useMemo","Stack","Typography","Typography","useTheme","jsx","Stack","jsx","Stack","jsx","useGridApiRef","DataTable_default"]}
1
+ {"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableAddPanelTrigger.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableColumnsPanelTrigger.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx","../src/DataTable/DataTableToolbarActionsContainer.tsx"],"sourcesContent":["import { useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableAddPanelTrigger from './DataTableAddPanelTrigger'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableColumnsPanelTrigger from './DataTableColumnsPanelTrigger'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\nimport DataTableToolbarActionsContainer from './DataTableToolbarActionsContainer'\nimport { GridViewState, GridWrapperApi } from './types'\n\nconst DataTable = {\n CellActionTransport: DataTableCellActionTransport,\n SelectionCounter: DataTableSelectionCounter,\n CellActionDelete: DataTableCellActionDelete,\n ExportCsvButton: DataTableExportCsvButton,\n CellActionEdit: DataTableCellActionEdit,\n CellActions: DataTableCellActions,\n CellAction: DataTableCellAction,\n Pagination: DataTablePagination,\n Actions: DataTableActions,\n Toolbar: DataTableToolbar,\n ToolbarActionsContainer: DataTableToolbarActionsContainer,\n Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger: DataTableColumnsPanelTrigger,\n AddPanelTrigger: DataTableAddPanelTrigger,\n useGridApiRef,\n}\n\nexport type { GridViewState, GridWrapperApi }\n\nexport default DataTable\n","import React, { useCallback, useEffect } from 'react'\n\nimport Circle from '@mui/icons-material/Circle'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridApiPro,\n GridCallbackDetails,\n GridColumnOrderChangeParams,\n GridColumnResizeParams,\n GridColumnVisibilityModel,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n GridRowSelectionModel,\n GridRowsProp,\n GridSortModel,\n GridState,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\nimport { ColumnChangeMeta, GridViewState, GridWrapperApi } from './types'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\nexport interface DataTableProps\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n onColumnChange?: (payload: {\n state: GridViewState\n meta: ColumnChangeMeta\n }) => void\n //Revisar os métodos abaixo\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n restoreFromState?: GridViewState | null\n warmUpMs?: number\n stateMs?: number\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nconst _DataTable = React.forwardRef<GridWrapperApi, DataTableProps>(\n function Table(props, ref) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n onColumnChange,\n onColumnVisibilityModelChange,\n onColumnOrderChange,\n onColumnWidthChange,\n onStateChange,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n onSortModelChange,\n stackProps,\n slots,\n restoreFromState,\n warmUpMs = 150,\n stateMs = 500,\n pinnedColumns,\n sx,\n sortingMode = 'server',\n disableColumnPinning = true,\n disableColumnFilter = true,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const restore = (state: any) => {\n if (!apiRef?.current || !state) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(state).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n }, {} as any)\n\n if (Object.keys(cleanState).length > 0) {\n // Aguarda um momento para garantir que o grid está pronto\n window.setTimeout(() => {\n if (apiRef?.current) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs)\n }\n }\n\n const exportState = () => {\n return apiRef?.current?.exportState({\n exportOnlyDirtyModels: true,\n })\n }\n\n React.useImperativeHandle(\n ref,\n () => ({\n apiRef: apiRef.current,\n\n restoreState: restore,\n\n exportState: exportState,\n }),\n [apiRef, restore],\n )\n\n const columnWidthDebounceRef = React.useRef<number | null>(null)\n const stateChangeDebounceRef = React.useRef<number | null>(null)\n const ignoreWarmupRef = React.useRef(true)\n const hasRestoredStateRef = React.useRef(false)\n\n // Ignore warmup: ignora eventos de largura de coluna no primeiro carregamento\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n ignoreWarmupRef.current = false\n }, warmUpMs) // Aguarda 100ms após montagem para considerar warmup concluído\n\n return () => {\n window.clearTimeout(timeoutId)\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!apiRef.current) return\n if (!restoreFromState) return\n if (hasRestoredStateRef.current) return\n\n // Aguarda o próximo tick para garantir que o DataGrid está completamente montado\n const timeoutId = window.setTimeout(() => {\n if (!apiRef.current) return\n\n // Filter out null values from the state to prevent errors\n const cleanState = Object.entries(restoreFromState).reduce(\n (acc, [key, value]) => {\n if (value !== null) {\n acc[key] = value\n }\n return acc\n },\n {} as any,\n )\n\n if (Object.keys(cleanState).length > 0) {\n apiRef.current.restoreState(cleanState)\n hasRestoredStateRef.current = true\n }\n }, warmUpMs) // Aguarda após o warmup + tempo de autosize\n\n return () => window.clearTimeout(timeoutId)\n }, [apiRef, restoreFromState])\n\n const emitColumnChange = React.useCallback(\n (meta: ColumnChangeMeta) => {\n if (!apiRef.current) return\n\n const state = apiRef.current.exportState({\n exportOnlyDirtyModels: true,\n })\n onColumnChange?.({ state, meta })\n },\n [apiRef, onColumnChange],\n )\n\n function _onColumnOrderChange(\n params: GridColumnOrderChangeParams,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n onColumnOrderChange?.(params, event, details)\n emitColumnChange({\n reason: 'order',\n })\n }\n\n function _onColumnWidthChange(\n params: GridColumnResizeParams,\n event: MuiEvent<{} | MouseEvent>,\n details: GridCallbackDetails,\n ) {\n // Ignora eventos durante o warmup (primeiro carregamento)\n if (ignoreWarmupRef.current) {\n return\n }\n\n onColumnWidthChange?.(params, event, details)\n emitColumnWidthChangeDebounced()\n }\n\n function _onColumnVisibilityModelChange(\n params: GridColumnVisibilityModel,\n details: GridCallbackDetails,\n ) {\n onColumnVisibilityModelChange?.(params, details)\n emitColumnChange({\n reason: 'visibility',\n })\n }\n\n function _onSortModelChange(\n state: GridSortModel,\n details: GridCallbackDetails,\n ) {\n onSortModelChange?.(state, details)\n emitColumnChange({\n reason: 'sort',\n })\n }\n\n function _onStateChange(\n state: GridState,\n event: MuiEvent<{}>,\n details: GridCallbackDetails,\n ) {\n if (ignoreWarmupRef.current) {\n return\n }\n handleStateChangeDebounced(state, event, details)\n }\n\n const emitColumnWidthChangeDebounced = React.useCallback(() => {\n if (columnWidthDebounceRef.current) {\n window.clearTimeout(columnWidthDebounceRef.current)\n }\n\n columnWidthDebounceRef.current = window.setTimeout(() => {\n emitColumnChange({ reason: 'width' })\n }, 250) // ajuste aqui se quiser\n }, [emitColumnChange])\n\n // Debounce para onStateChange\n const handleStateChangeDebounced = useCallback(\n (state: GridState, event: MuiEvent<{}>, details: GridCallbackDetails) => {\n if (stateChangeDebounceRef.current) {\n window.clearTimeout(stateChangeDebounceRef.current)\n }\n\n stateChangeDebounceRef.current = window.setTimeout(() => {\n onStateChange?.(state, event, details)\n }, stateMs)\n },\n [onStateChange],\n )\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n // function handleCellKeyDown(\n // params: GridEventLookup['cellKeyDown']['params'],\n // event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n // details: GridCallbackDetails,\n // ) {\n // const eventCode =\n // event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n // switch (eventCode) {\n // case 'Enter':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // // case 'F2':\n // // event.preventDefault()\n // // //Open Form\n // // break\n // case 'F3':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('edit', params.id)\n // break\n // case 'Delete':\n // event.preventDefault()\n // if (onCellKeyDown) onCellKeyDown('delete', params.id)\n // break\n // case 'ctrl+e':\n // event.preventDefault()\n // const handleExport = (options: GridCsvExportOptions) => {\n // if (apiRef?.current) {\n // apiRef.current.exportDataAsCsv(options)\n // }\n // }\n\n // handleExport({ getRowsToExport: getFilteredRows })\n // break\n // default:\n // break\n // }\n // }\n\n // function handleRowDoubleClick(\n // params: GridRowParams,\n // _: React.MouseEvent,\n // details: GridCallbackDetails,\n // ) {\n // if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n // }\n\n return (\n <Stack\n height=\"100%\"\n minHeight=\"500px\"\n position=\"relative\"\n {...stackProps}\n >\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.RefObject<GridApiPro> | undefined}\n rows={data}\n columns={columns}\n pinnedColumns={{ ...pinnedColumns, right: ['id', 'uuid'], left: [] }}\n disableColumnPinning={disableColumnPinning}\n disableColumnFilter={disableColumnFilter}\n onColumnOrderChange={_onColumnOrderChange}\n onColumnWidthChange={_onColumnWidthChange}\n onColumnVisibilityModelChange={_onColumnVisibilityModelChange}\n onStateChange={_onStateChange}\n onSortModelChange={_onSortModelChange}\n // Revisar parametros abaixo\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n // onRowDoubleClick={handleRowDoubleClick}\n // onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sortingMode={sortingMode}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'white',\n },\n '& .MuiDataGrid-row:nth-of-type(even) .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: '#f9fafd',\n },\n '& .MuiDataGrid-row:hover .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: '#e9e9e9',\n },\n '& .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell--pinnedRight': {\n backgroundColor: 'rgb(238, 249, 252)',\n },\n '& .MuiDataGrid-row.Mui-selected:hover .MuiDataGrid-cell--pinnedRight':\n {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n ...(sx as any),\n }}\n {...rest}\n />\n </Stack>\n )\n },\n)\n\nexport default _DataTable\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport {\n GridApiPro,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiPro>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { useTheme } from '@mui/material'\nimport { ToolbarButton } from '@mui/x-data-grid-pro'\nimport { SquarePlus } from 'lucide-react'\n\nexport interface DataTableAddPanelTriggerProps {\n onClick?: React.MouseEventHandler<HTMLElement> | undefined\n}\n\nexport default function DataTableAddPanelTrigger({\n onClick,\n}: DataTableAddPanelTriggerProps) {\n const theme = useTheme()\n return (\n <ToolbarButton onClick={onClick}>\n <SquarePlus color={theme.palette.primary.main} size={18} />\n </ToolbarButton>\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import DeleteIcon from '@mui/icons-material/Delete'\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 EditIcon from '@mui/icons-material/Edit'\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 TransportIcon from '@mui/icons-material/GetApp'\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 FileDownloadIcon from '@mui/icons-material/FileDownload'\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.77",
3
+ "version": "0.2.81",
4
4
  "author": "Raphael <raphael@datac.com.br>",
5
5
  "homepage": "https://gitlab.com/raphaelbsr/mio#readme",
6
6
  "main": "dist/index.js",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@data-c/hooks": "^0.2.69",
33
- "@data-c/ui": "^0.2.69",
33
+ "@data-c/ui": "^0.2.81",
34
34
  "@mui/material": "7.3.6",
35
35
  "@mui/x-data-grid-pro": "^8.20.0",
36
36
  "lucide-react": "^0.536.0",
@@ -45,5 +45,5 @@
45
45
  "resolutions": {
46
46
  "csstype": "3.1.2"
47
47
  },
48
- "gitHead": "f47332b3040aaed29949ac215885de1550584d06"
48
+ "gitHead": "9e3bc9fd337fec89851e8ece154b5aca72846ba3"
49
49
  }