@data-c/pro 0.2.53 → 0.2.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.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","../../../node_modules/shared/src/utils.ts","../../../node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/lucide-react/src/Icon.ts","../../../node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/lucide-react/src/icons/arrow-big-down.ts","../../../node_modules/lucide-react/src/icons/pencil.ts","../../../node_modules/lucide-react/src/icons/trash-2.ts","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx"],"names":["ColumnsPanelTrigger","useGridApiRef","useEffect","useMemo","Circle","LinearProgress","Stack","DataGridPro","gridFilteredSortedRowIdsSelector","ptBR","Typography","jsx","jsxs","DataTableEmptyData","DataTableError","errorMessage","createContext","useContext","useState","TableRootContext","TableRootProvider","children","ids","setIds","clearCallback","setClearCallback","breakpoint","setBreakpoint","apiRef","handleClearRowsSelectedId","useTableRootContext","getFilteredRows","Table","props","error","isLoading","isFetching","data","columns","controlledRowsSelectedId","onClearRowsSelectedId","onRowSelectionChange","onCellKeyDown","onRowDoubleClick","stackProps","slots","rest","rowsSelectedId","setRowsSelectedId","parsedColumns","col","handleCellKeyDown","params","event","details","options","handleRowDoubleClick","_","rowSelectionModel","GridActionsCellItem","DataTableAction","ref","toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","className","index","array","hasA11yProp","prop","defaultAttributes","Icon","forwardRef","color","size","strokeWidth","absoluteStrokeWidth","iconNode","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","ArrowBigDown","Pencil","Trash2","DataTableActionDelete","DataTableActionEdit","useMediaQuery","useTheme","Actions","breakpoints","theme","DataTableActionTransport","MuiButton","CircularProgress","IconButton","Tooltip","Box","Fragment","DataTableButton","startIcon","title","CellAction","onClick","DeleteIcon","CellActionDelete","EditIcon","CellActionEdit","Children","cloneElement","isValidElement","CellActions","onItemClick","child","TransportIcon","CellActionTransport","Content","FileDownloadIcon","ExportCsvButton","handleExport","TableFooter","Footer","pluralizar","MenuItem","MuiPagination","TextField","Pagination","onChangePageSize","onChangePage","pagination","rowsPerPageOptions","page","pageSize","totalRecords","pages","totalRecordsLabel","registrosExibidos","ultimaPaginaRegistros","e","option","_page","useRef","Root","height","tableContainerRef","tableHeight","setTableHeight","calculateHeight","container","containerTop","SelectionCounter","countTitle","gender","countQuantidade","flexSufixCountTitle","selecionadoText","selecionadosText","nenhumText","item","Title","titleDivider","sx","Paper","Toolbar","DataTable","DataTable_default"],"mappings":"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","sourcesContent":["import { ColumnsPanelTrigger, useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\n\nconst 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 Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger,\n useGridApiRef,\n}\n\nexport default DataTable\n","import { useEffect, useMemo } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridCallbackDetails,\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n GridEventLookup,\n gridFilteredSortedRowIdsSelector,\n GridRowParams,\n GridRowSelectionModel,\n GridRowsProp,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport { GridApi } from '@mui/x-data-grid-pro'\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\ninterface TableProps<T>\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function Table<T>(props: TableProps<T>) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const parsedColumns = useMemo(() => {\n return (columns: GridColDef[]) => {\n return columns.map((col) => {\n if (col.headerName === 'Ações') {\n return {\n ...col,\n minWidth: col.minWidth || 80,\n maxWidth: col.maxWidth || col.width || 80,\n headerClassName: 'sticky-header',\n cellClassName: 'sticky-cell',\n }\n }\n\n return {\n ...col,\n flex: col.flex || 1,\n minWidth: col.minWidth || 100,\n headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n }\n })\n }\n }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n function handleCellKeyDown(\n params: GridEventLookup['cellKeyDown']['params'],\n event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n details: GridCallbackDetails,\n ) {\n const eventCode =\n event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n switch (eventCode) {\n case 'Enter':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n // case 'F2':\n // event.preventDefault()\n // //Open Form\n // break\n case 'F3':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n case 'Delete':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('delete', params.id)\n break\n case 'ctrl+e':\n event.preventDefault()\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n handleExport({ getRowsToExport: getFilteredRows })\n break\n default:\n break\n }\n }\n\n function handleRowDoubleClick(\n params: GridRowParams,\n _: React.MouseEvent,\n details: GridCallbackDetails,\n ) {\n if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n }\n\n return (\n <Stack height=\"100%\" minHeight=\"500px\" position=\"relative\" {...stackProps}>\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.MutableRefObject<GridApi> | undefined}\n rows={data}\n columns={parsedColumns(columns)}\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n onRowDoubleClick={handleRowDoubleClick}\n onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGridPro-rowBorderColor': '#edf2f9',\n '--DataGridPro-containerBackground': '#f4f6fa',\n '.MuiDataGridPro-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGridPro-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGridPro-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGridPro-columnHeaders': {\n border: 'solid 1px #edf2f9',\n },\n '.MuiDataGridPro-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 2,\n },\n }}\n {...rest}\n />\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport { GridRowSelectionModel, useGridApiRef } from '@mui/x-data-grid-pro'\nimport { GridApiCommunity } from '@mui/x-data-grid-pro/internals'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiCommunity>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z',\n key: '1eaqc3',\n },\n ],\n];\n\n/**\n * @component @name ArrowBigDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTFhMSAxIDAgMCAwIDEgMWgyLjkzOWExIDEgMCAwIDEgLjc1IDEuODExbC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwNyAwTDQuMzEgMTMuODFhMSAxIDAgMCAxIC43NS0xLjgxMUg4YTEgMSAwIDAgMCAxLTFWNWExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-big-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowBigDown = createLucideIcon('arrow-big-down', __iconNode);\n\nexport default ArrowBigDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n];\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('pencil', __iconNode);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/DataTable/index.ts","../src/DataTable/DataTable.tsx","../src/DataTable/DataTableEmptyData.tsx","../src/DataTable/DataTableError.tsx","../src/DataTable/DataTableRootProvider.tsx","../src/DataTable/DataTableAction.tsx","../src/DataTable/DataTableActionDelete.tsx","../../../node_modules/shared/src/utils.ts","../../../node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/lucide-react/src/Icon.ts","../../../node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/lucide-react/src/icons/arrow-big-down.ts","../../../node_modules/lucide-react/src/icons/pencil.ts","../../../node_modules/lucide-react/src/icons/trash-2.ts","../src/DataTable/DataTableActionEdit.tsx","../src/DataTable/DataTableActions.tsx","../src/DataTable/DataTableActionTransport.tsx","../src/DataTable/DataTableButton.tsx","../src/DataTable/DataTableCellAction.tsx","../src/DataTable/DataTableCellActionDelete.tsx","../src/DataTable/DataTableCellActionEdit.tsx","../src/DataTable/DataTableCellActions.tsx","../src/DataTable/DataTableCellActionTransport.tsx","../src/DataTable/DataTableContent.tsx","../src/DataTable/DataTableExportCsvButton.tsx","../src/DataTable/DataTableFooter.tsx","../src/DataTable/DataTablePagination.tsx","../src/DataTable/DataTableRoot.tsx","../src/DataTable/DataTableSelectionCounter.tsx","../src/DataTable/DataTableTitle.tsx","../src/DataTable/DataTableToolbar.tsx"],"names":["useGridApiRef","Stack","Typography","jsx","jsxs","columns","GridActionsCellItem","forwardRef","createElement","__iconNode","useEffect","Fragment","gridFilteredSortedRowIdsSelector","getFilteredRows","useMemo","useState","useTheme"],"mappings":"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","sourcesContent":["import { ColumnsPanelTrigger, useGridApiRef } from '@mui/x-data-grid-pro'\n\nimport DataTableV3 from './DataTable'\nimport DataTableAction from './DataTableAction'\nimport DataTableActionDelete from './DataTableActionDelete'\nimport DataTableActionEdit from './DataTableActionEdit'\nimport DataTableActions from './DataTableActions'\nimport DataTableActionTransport from './DataTableActionTransport'\nimport DataTableButton from './DataTableButton'\nimport DataTableCellAction from './DataTableCellAction'\nimport DataTableCellActionDelete from './DataTableCellActionDelete'\nimport DataTableCellActionEdit from './DataTableCellActionEdit'\nimport DataTableCellActions from './DataTableCellActions'\nimport DataTableCellActionTransport from './DataTableCellActionTransport'\nimport DataTableContent from './DataTableContent'\nimport DataTableExportCsvButton from './DataTableExportCsvButton'\nimport DataTableFooter from './DataTableFooter'\nimport DataTablePagination from './DataTablePagination'\nimport DataTableRoot from './DataTableRoot'\nimport DataTableSelectionCounter from './DataTableSelectionCounter'\nimport DataTableTitle from './DataTableTitle'\nimport DataTableToolbar from './DataTableToolbar'\n\nconst 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 Content: DataTableContent,\n Button: DataTableButton,\n Footer: DataTableFooter,\n Table: DataTableV3,\n Title: DataTableTitle,\n Root: DataTableRoot,\n Action: DataTableAction,\n ActionEdit: DataTableActionEdit,\n ActionDelete: DataTableActionDelete,\n ActionTransport: DataTableActionTransport,\n ColumnsPanelTrigger,\n useGridApiRef,\n}\n\nexport default DataTable\n","import { useEffect, useMemo } from 'react'\n\nimport { Circle } from '@mui/icons-material'\nimport { LinearProgress, Stack, StackProps } from '@mui/material'\nimport {\n DataGridPro,\n DataGridProProps,\n GridCallbackDetails,\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n GridEventLookup,\n gridFilteredSortedRowIdsSelector,\n GridRowParams,\n GridRowSelectionModel,\n GridRowsProp,\n MuiEvent,\n GridColDef as MuiGridColDef,\n} from '@mui/x-data-grid-pro'\nimport { ptBR } from '@mui/x-data-grid-pro/locales'\n\nimport { GridApi } from '@mui/x-data-grid-pro'\nimport DataTableEmptyData from './DataTableEmptyData'\nimport DataTableError from './DataTableError'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nexport type GridColDef = MuiGridColDef & {\n enableStickyColumns?: boolean\n}\n\ninterface TableProps<T>\n extends Omit<DataGridProProps, 'onCellKeyDown' | 'onRowDoubleClick'> {\n data?: GridRowsProp<{\n [key: string | symbol]: any\n }>\n columns: GridColDef[]\n error?: string\n isLoading?: boolean\n isFetching?: boolean\n stackProps?: StackProps\n controlledRowsSelectedId?: GridRowSelectionModel\n onCellKeyDown?: (event: 'edit' | 'delete', id: number | string) => void\n onRowDoubleClick?: (event: 'edit' | 'delete', id: number | string) => void\n onClearRowsSelectedId?: (rowsSelectedId: GridRowSelectionModel) => void\n onRowSelectionChange?: (\n rowSelectionModel: GridRowSelectionModel,\n details: GridCallbackDetails,\n ) => void\n}\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function Table<T>(props: TableProps<T>) {\n const {\n error,\n isLoading,\n isFetching,\n data,\n columns,\n controlledRowsSelectedId,\n onClearRowsSelectedId,\n onRowSelectionChange,\n onCellKeyDown,\n onRowDoubleClick,\n stackProps,\n slots,\n ...rest\n } = props\n\n const {\n rowsSelectedId,\n setRowsSelectedId,\n clearCallback,\n setClearCallback,\n apiRef,\n } = useTableRootContext()\n\n const parsedColumns = useMemo(() => {\n return (columns: GridColDef[]) => {\n return columns.map((col) => {\n if (col.headerName === 'Ações') {\n return {\n ...col,\n minWidth: col.minWidth || 80,\n maxWidth: col.maxWidth || col.width || 80,\n headerClassName: 'sticky-header',\n cellClassName: 'sticky-cell',\n }\n }\n\n return {\n ...col,\n flex: col.flex || 1,\n minWidth: col.minWidth || 100,\n headerClassName: col?.enableStickyColumns ? 'sticky-header' : '',\n cellClassName: col?.enableStickyColumns ? 'sticky-cell' : '',\n }\n })\n }\n }, [columns])\n\n useEffect(() => {\n if (controlledRowsSelectedId) {\n setRowsSelectedId(controlledRowsSelectedId)\n }\n }, [controlledRowsSelectedId])\n\n useEffect(() => {\n if (clearCallback) {\n onClearRowsSelectedId &&\n onClearRowsSelectedId({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(false)\n }\n }, [clearCallback])\n\n function handleCellKeyDown(\n params: GridEventLookup['cellKeyDown']['params'],\n event: MuiEvent<GridEventLookup['cellKeyDown']['event']>,\n details: GridCallbackDetails,\n ) {\n const eventCode =\n event.ctrlKey && event.code === 'KeyE' ? 'ctrl+e' : event.code\n switch (eventCode) {\n case 'Enter':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n // case 'F2':\n // event.preventDefault()\n // //Open Form\n // break\n case 'F3':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('edit', params.id)\n break\n case 'Delete':\n event.preventDefault()\n if (onCellKeyDown) onCellKeyDown('delete', params.id)\n break\n case 'ctrl+e':\n event.preventDefault()\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n handleExport({ getRowsToExport: getFilteredRows })\n break\n default:\n break\n }\n }\n\n function handleRowDoubleClick(\n params: GridRowParams,\n _: React.MouseEvent,\n details: GridCallbackDetails,\n ) {\n if (onRowDoubleClick) onRowDoubleClick('edit', params.id)\n }\n\n return (\n <Stack height=\"100%\" minHeight=\"500px\" position=\"relative\" {...stackProps}>\n {!isLoading && isFetching && (\n <LinearProgress\n sx={{\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 999,\n height: '3px',\n }}\n />\n )}\n\n <DataGridPro\n apiRef={apiRef as React.MutableRefObject<GridApi> | undefined}\n rows={data}\n columns={parsedColumns(columns)}\n density=\"compact\"\n hideFooterPagination\n hideFooter\n loading={isLoading}\n rowHeight={43}\n columnHeaderHeight={43}\n disableVirtualization\n onRowDoubleClick={handleRowDoubleClick}\n onCellKeyDown={handleCellKeyDown}\n disableRowSelectionOnClick\n rowSelectionModel={rowsSelectedId}\n onRowSelectionModelChange={(rowSelectionModel, details) => {\n if (onRowSelectionChange) {\n onRowSelectionChange(rowSelectionModel, details)\n }\n\n if (controlledRowsSelectedId) return\n setRowsSelectedId(rowSelectionModel)\n }}\n slots={{\n booleanCellFalseIcon: () => (\n <Circle color=\"error\" sx={{ fontSize: '10pt' }} />\n ),\n booleanCellTrueIcon: () => (\n <Circle color=\"success\" sx={{ fontSize: '10pt' }} />\n ),\n noRowsOverlay: () =>\n !isLoading && !!error ? (\n <DataTableError errorMessage={error} />\n ) : (\n <DataTableEmptyData />\n ),\n ...slots,\n }}\n slotProps={{\n loadingOverlay: {\n variant: 'skeleton',\n noRowsVariant: 'skeleton',\n },\n }}\n disableColumnFilter\n localeText={ptBR.components.MuiDataGrid.defaultProps.localeText}\n sx={{\n border: 'none',\n borderRadius: 0,\n '--DataGrid-rowBorderColor': '#edf2f9',\n '--DataGrid-containerBackground': '#f4f6fa',\n '.MuiDataGrid-overlayWrapperInner': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n '.MuiDataGrid-row': {\n backgroundColor: 'white',\n '&:nth-of-type(even)': {\n backgroundColor: '#f9fafd',\n },\n ':hover': {\n backgroundColor: '#e9e9e9',\n },\n '&.Mui-selected': {\n backgroundColor: 'rgb(238, 249, 252)',\n '&:hover': {\n backgroundColor: 'rgb(222, 243, 249)',\n },\n },\n },\n '.MuiDataGrid-cell': {\n fontSize: '12px',\n color: '#0b0e14',\n },\n '.MuiDataGrid-columnHeaders': {\n border: 'solid 1px #edf2f9',\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeader': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaders .MuiDataGrid-filler': {\n backgroundColor: '#f4f6fa',\n },\n '.MuiDataGrid-columnHeaderTitle': {\n fontSize: '12px',\n color: '#0b0e14',\n fontWeight: '600',\n },\n '& .sticky-cell': {\n position: 'sticky',\n right: 0,\n background: 'inherit',\n zIndex: 1,\n },\n '& .sticky-header': {\n position: 'sticky',\n right: 0,\n backgroundColor: '#f4f6fa',\n zIndex: 2,\n },\n }}\n {...rest}\n />\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableEmptyData() {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/empty-data.svg\"\n alt=\"Imagem de notificação\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack spacing={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Nenhum registro encontrado\n </Typography>\n <Typography variant=\"body2\" whiteSpace=\"normal\">\n Tente outra pesquisa ou adicione um novo registro.\n </Typography>\n </Stack>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\n\nexport default function DataTableError({\n errorMessage,\n}: {\n errorMessage: string\n}) {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n padding={2}\n maxWidth=\"400px\"\n minWidth=\"200px\"\n >\n <Stack\n width=\"250px\"\n height=\"250px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius=\"50%\"\n sx={{\n background:\n 'linear-gradient(to top, #ffffff, #fdfcfd, #fafafa, #f8f7f8, #f5f5f6);',\n }}\n >\n <img\n src=\"https://datac-site-assets.s3.sa-east-1.amazonaws.com/error.svg\"\n alt=\"Imagem de erro\"\n width=\"148px\"\n height=\"148px\"\n />\n </Stack>\n <Stack gap={1} textAlign=\"center\">\n <Typography variant=\"h4\" component=\"h2\" fontWeight=\"600\">\n Ops! Algo deu errado\n </Typography>\n\n <Typography variant=\"body2\">{errorMessage}</Typography>\n </Stack>\n </Stack>\n )\n}\n","import {\n createContext,\n ReactNode,\n RefObject,\n useContext,\n useState,\n} from 'react'\n\nimport { GridRowSelectionModel, useGridApiRef } from '@mui/x-data-grid-pro'\nimport { GridApiCommunity } from '@mui/x-data-grid-pro/internals'\n\ninterface TableRootContextData {\n apiRef: RefObject<GridApiCommunity>\n rowsSelectedId: GridRowSelectionModel\n clearCallback: boolean\n breakpoint: boolean\n setBreakpoint: (breakpoint: boolean) => void\n setRowsSelectedId: (rowsSelectedId: GridRowSelectionModel) => void\n clearRowsSelectedId: () => void\n setClearCallback: (clearCallback: boolean) => void\n}\n\nexport const TableRootContext = createContext({} as TableRootContextData)\n\ninterface TableRootProviderProps {\n children: ReactNode\n}\n\nexport default function TableRootProvider({\n children,\n}: TableRootProviderProps) {\n const [ids, setIds] = useState<GridRowSelectionModel>({\n type: 'include',\n ids: new Set<string>(),\n })\n const [clearCallback, setClearCallback] = useState(false)\n const [breakpoint, setBreakpoint] = useState(false)\n\n const apiRef = useGridApiRef()\n\n function handleClearRowsSelectedId() {\n setIds({\n type: 'include',\n ids: new Set<string>(),\n })\n setClearCallback(true)\n }\n\n return (\n <TableRootContext.Provider\n value={{\n apiRef,\n rowsSelectedId: ids,\n clearCallback,\n breakpoint,\n setClearCallback,\n setBreakpoint,\n setRowsSelectedId: setIds,\n clearRowsSelectedId: handleClearRowsSelectedId,\n }}\n >\n {children}\n </TableRootContext.Provider>\n )\n}\n\nexport function useTableRootContext() {\n return useContext<TableRootContextData>(TableRootContext)\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\n\nexport type DataTableActionProps = {} & GridActionsCellItemProps\n\nexport default function DataTableAction(props: DataTableActionProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Trash2 } from 'lucide-react'\n\nexport type DataTableActionDeleteProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionDelete(\n props: DataTableActionDeleteProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"error\"\n label=\"Deletar\"\n icon={<Trash2 size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z',\n key: '1eaqc3',\n },\n ],\n];\n\n/**\n * @component @name ArrowBigDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTFhMSAxIDAgMCAwIDEgMWgyLjkzOWExIDEgMCAwIDEgLjc1IDEuODExbC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwNyAwTDQuMzEgMTMuODFhMSAxIDAgMCAxIC43NS0xLjgxMUg4YTEgMSAwIDAgMCAxLTFWNWExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-big-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowBigDown = createLucideIcon('arrow-big-down', __iconNode);\n\nexport default ArrowBigDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n];\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('pencil', __iconNode);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { Pencil } from 'lucide-react'\n\nexport type DataTableActionEditProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionEdit(props: DataTableActionEditProps) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n label=\"Editar\"\n color=\"primary\"\n icon={<Pencil size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import { ReactNode, useEffect } from 'react'\nimport { Breakpoint, Stack, useMediaQuery, useTheme } from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface ActionsProps {\n breakpoints?: Breakpoint | number\n children: ReactNode\n}\n\nexport default function Actions({ children, breakpoints }: ActionsProps) {\n const { setBreakpoint } = useTableRootContext()\n\n const theme = useTheme()\n const breakpoint = useMediaQuery(theme.breakpoints.down(breakpoints || 'md'))\n\n useEffect(() => {\n setBreakpoint(breakpoint)\n }, [breakpoint])\n\n return (\n <Stack\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={'flex-end'}\n // position=\"relative\"\n // overflow=\"hidden\"\n gap={1}\n marginLeft=\"auto\"\n flexGrow={1}\n >\n {children}\n </Stack>\n )\n}\n","import {\n GridActionsCellItem,\n GridActionsCellItemProps,\n} from '@mui/x-data-grid-pro'\nimport { ArrowBigDown } from 'lucide-react'\n\nexport type DataTableActionTransportProps = {} & Omit<\n GridActionsCellItemProps,\n 'icon' | 'label'\n>\n\nexport default function DataTableActionTransport(\n props: DataTableActionTransportProps,\n) {\n // Omit the ref property if present, or cast it to LegacyRef<HTMLElement>\n const { ref, ...rest } = props as any\n return (\n <GridActionsCellItem\n color=\"primary\"\n label=\"Transportar\"\n icon={<ArrowBigDown size={16} />}\n {...rest}\n ref={ref as React.LegacyRef<HTMLElement> | undefined}\n />\n )\n}\n","import {\n ButtonProps as MuiButtonProps,\n Button as MuiButton,\n CircularProgress,\n IconButton,\n Tooltip,\n Box,\n} from '@mui/material'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ntype ButtonProps = {\n isLoading?: boolean\n} & MuiButtonProps\n\nexport default function DataTableButton(props: ButtonProps) {\n const { isLoading, startIcon, children, title, ...rest } = props\n\n const { breakpoint } = useTableRootContext()\n\n return (\n <>\n {breakpoint ? (\n <Tooltip title={children}>\n <IconButton\n {...rest}\n color=\"primary\"\n disabled={isLoading ? true : rest.disabled}\n >\n {startIcon}\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '25%',\n bottom: '25%',\n left: '25%',\n right: '25%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <MuiButton\n startIcon={startIcon}\n disabled={isLoading ? true : rest.disabled}\n // variant=\"outlined\"\n sx={{\n position: 'relative',\n height: '26px',\n minWidth: '70px',\n padding: '7px 8px 8px',\n border: '1px solid rgba(223, 226, 231, 0.8)',\n borderRadius: '6px',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n transition: 'width 0.2s ease',\n }}\n {...rest}\n >\n <Box\n component=\"span\"\n sx={{\n transition: 'opacity 0.2s ease, width 0.2s ease',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading && (\n <CircularProgress\n color=\"secondary\"\n size={14}\n sx={{\n position: 'absolute',\n top: '22%',\n left: '44%',\n transform: 'translate(-50%, -50%)',\n }}\n />\n )}\n\n {children}\n </Box>\n </MuiButton>\n )}\n </>\n )\n}\n","import { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ntype CellActionProps = { event?: string; onClick?: (event?: string) => void }\n// & Omit<GridActionsCellItemProps, 'onClick'>\n\n/** @deprecated */\nexport default function CellAction(props: CellActionProps) {\n const { event, onClick, ...rest } = props\n\n return (\n <GridActionsCellItem\n label=\"Ação\"\n onClick={() => {}}\n icon={<span>🔧</span>} // Placeholder icon\n // color=\"primary\"\n // onClick={(event) => {}}\n // onClick={(_: any, __: any, ___: any) => {\n // onClick?.(event)\n // }}\n />\n )\n}\n","import { Delete as DeleteIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionDeleteProps {\n onClick?: (event: 'delete') => void\n disabled?: boolean\n title?: string\n}\n\n/** @deprecated */\nexport default function CellActionDelete({\n onClick,\n ...rest\n}: CellActionDeleteProps) {\n return (\n <GridActionsCellItem\n icon={<DeleteIcon />}\n label=\"Delete\"\n color=\"primary\"\n onClick={() => {\n if (onClick) onClick('delete')\n }}\n {...rest}\n />\n )\n}\n","import { Edit as EditIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionEditProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'edit') => void\n}\n\n/** @deprecated */\nexport default function CellActionEdit({\n onClick,\n ...rest\n}: CellActionEditProps) {\n return (\n <GridActionsCellItem\n icon={<EditIcon />}\n label=\"Edit\"\n color=\"primary\"\n onClick={() => onClick && onClick('edit')}\n {...rest}\n />\n )\n}\n","import { Children, cloneElement, isValidElement, ReactNode } from 'react'\n\ninterface CellActionsProps {\n children: ReactNode\n onClick: (event: any) => void\n}\n\n/** @deprecated */\nexport default function CellActions(props: CellActionsProps) {\n const { children, onClick: onItemClick } = props\n return (\n <>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, {\n onClick: onItemClick,\n })\n }\n })}\n </>\n )\n}\n","import { GetApp as TransportIcon } from '@mui/icons-material'\nimport { GridActionsCellItem } from '@mui/x-data-grid-pro'\n\ninterface CellActionTransportProps {\n disabled?: boolean\n title?: string\n onClick?: (event: 'transport') => void\n}\n\n/** @deprecated */\nexport default function CellActionTransport({\n onClick,\n ...rest\n}: CellActionTransportProps) {\n return (\n <GridActionsCellItem\n icon={<TransportIcon />}\n label=\"Transport\"\n color=\"primary\"\n onClick={() => onClick && onClick('transport')}\n {...rest}\n />\n )\n}\n","import { Stack, StackProps } from '@mui/material'\n\nexport default function Content(props: StackProps) {\n return (\n <Stack\n direction=\"row\"\n width={'100%'}\n flexGrow={1}\n alignItems=\"center\"\n gap={1.5}\n sx={{ background: '#f4f' }}\n {...props}\n />\n )\n}\n","import { FileDownload as FileDownloadIcon } from '@mui/icons-material'\nimport {\n GridCsvExportOptions,\n GridCsvGetRowsToExportParams,\n gridFilteredSortedRowIdsSelector,\n} from '@mui/x-data-grid-pro'\n\nimport Button from './DataTableButton'\nimport { useTableRootContext } from './DataTableRootProvider'\n\nconst getFilteredRows = ({ apiRef }: GridCsvGetRowsToExportParams) =>\n gridFilteredSortedRowIdsSelector(apiRef)\n\nexport default function ExportCsvButton() {\n const { apiRef } = useTableRootContext()\n\n const handleExport = (options: GridCsvExportOptions) => {\n if (apiRef?.current) {\n apiRef.current.exportDataAsCsv(options)\n }\n }\n\n return (\n <Button\n startIcon={<FileDownloadIcon />}\n onClick={() => handleExport({ getRowsToExport: getFilteredRows })}\n >\n Exportar CSV\n </Button>\n )\n}\n","import { TableFooterProps, TableFooter } from '@mui/material'\nexport default function Footer(props: TableFooterProps) {\n return (\n <TableFooter\n {...props}\n sx={{\n height: '54px',\n paddingX: '12px',\n gap: '12px',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'white',\n borderBottomLeftRadius: '8px',\n borderBottomRightRadius: '8px',\n borderTop: '1px solid #edf2f9',\n }}\n />\n )\n}\n","import {\n PaginationProps as MioPaginationProps,\n pluralizar,\n} from '@data-c/hooks'\nimport {\n MenuItem,\n Pagination as MuiPagination,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface PaginationProps {\n pagination?: MioPaginationProps\n rowsPerPageOptions?: number[]\n onChangePage?: (currentPage: number) => void\n onChangePageSize?: (numberOfRows: number) => void\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n onChangePageSize,\n onChangePage,\n pagination,\n rowsPerPageOptions = [15, 50, 100, 200],\n } = props\n const { page, pageSize = 15, totalRecords } = pagination || {}\n\n const pages = useMemo(() => {\n if (pagination?.lastPage) return pagination.lastPage\n\n if ((totalRecords || 0) < pageSize) return 1\n return Math.max(Math.ceil((totalRecords || 0) / pageSize))\n }, [totalRecords, pageSize])\n\n const totalRecordsLabel = useMemo(() => {\n if ((totalRecords || 0) < pageSize)\n return `Exibindo ${pluralizar(\n totalRecords || 0,\n 'registro',\n 'registros',\n true,\n )}`\n\n let registrosExibidos = pageSize\n if (page === pages) {\n const ultimaPaginaRegistros = (totalRecords || 0) % pageSize\n registrosExibidos =\n ultimaPaginaRegistros === 0 ? pageSize : ultimaPaginaRegistros\n }\n\n return `Exibindo ${pluralizar(\n registrosExibidos || 0,\n 'registro',\n 'registros',\n true,\n )} de ${totalRecords}`\n }, [pagination, pages])\n\n // const showPagination = Boolean((totalRecords || 0) > pageSize)\n const showPagination = true\n\n return (\n <Stack\n width=\"100%\"\n direction=\"row\"\n alignItems=\"center\"\n gap={2}\n marginLeft=\"auto\"\n >\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {totalRecordsLabel}\n </Typography>\n\n {showPagination && (\n <Stack direction=\"row\" alignItems=\"center\" gap={2} marginLeft=\"auto\">\n <TextField\n sx={{\n width: '78px',\n fontSize: '8pt',\n }}\n size=\"small\"\n value={pageSize || 0}\n select\n onChange={(e) => {\n if (onChangePageSize) {\n onChangePageSize(parseInt(e.target.value))\n }\n }}\n >\n {rowsPerPageOptions.map((option: number) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </TextField>\n <MuiPagination\n variant=\"outlined\"\n shape=\"rounded\"\n count={pages || 0}\n showFirstButton\n showLastButton\n onChange={(_, _page) => {\n if (onChangePage) onChangePage(_page)\n }}\n page={page || 0}\n color=\"primary\"\n />\n </Stack>\n )}\n </Stack>\n )\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Stack, StackProps } from '@mui/material'\nimport TableRootProvider from './DataTableRootProvider'\n\nexport default function Root({ children, height, ...rest }: StackProps) {\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const [tableHeight, setTableHeight] = useState<number>(500)\n\n useEffect(() => {\n const calculateHeight = () => {\n const container = tableContainerRef.current\n if (!container) return\n\n const containerTop = container.getBoundingClientRect().top\n setTableHeight(window.innerHeight - containerTop)\n }\n calculateHeight()\n window.addEventListener('resize', calculateHeight)\n return () => {\n window.removeEventListener('resize', calculateHeight)\n }\n }, [])\n\n return (\n <Stack\n ref={tableContainerRef}\n sx={{\n backgroundColor: '#f4f6fa',\n border: '1px solid #edf2f9',\n borderRadius: 2,\n height: height || `calc(${tableHeight}px - 16px)`,\n ...rest.sx,\n }}\n {...rest}\n >\n <TableRootProvider>{children}</TableRootProvider>\n </Stack>\n )\n}\n","import { Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\nimport { useTableRootContext } from './DataTableRootProvider'\n\ninterface SelectionCounterProps {\n countTitle?: string\n gender?: 'masculino' | 'feminino'\n}\n\nexport default function SelectionCounter(props: SelectionCounterProps) {\n const { countTitle, gender } = props\n\n const { rowsSelectedId } = useTableRootContext()\n const countQuantidade = rowsSelectedId?.ids.size || 0\n\n const flexSufixCountTitle = useMemo(() => {\n if (!countTitle) return ''\n\n const selecionadoText =\n gender === 'feminino' ? 'selecionada' : 'selecionado'\n const selecionadosText =\n gender === 'feminino' ? 'selecionadas' : 'selecionados'\n const nenhumText = gender === 'feminino' ? 'Nenhuma' : 'Nenhum'\n\n return countQuantidade === 1\n ? `${countTitle} ${selecionadoText}`\n : countQuantidade && countQuantidade > 1\n ? `${countTitle\n .split(' ')\n .map((item) => `${item}s`)\n .join(' ')} ${selecionadosText}`\n : `${nenhumText} ${countTitle} ${selecionadoText}`\n }, [countQuantidade])\n\n return (\n <Stack>\n <Typography\n variant=\"body2\"\n fontSize=\"13px\"\n fontWeight=\"500\"\n whiteSpace=\"nowrap\"\n >\n {countQuantidade && countQuantidade > 0 ? countQuantidade : ''}{' '}\n {flexSufixCountTitle}\n </Typography>\n </Stack>\n )\n}\n","import { Typography, TypographyProps, useTheme } from '@mui/material'\n\ninterface TitleProps extends TypographyProps {\n titleDivider?: boolean\n children: string\n}\n\nexport default function Title({\n children,\n titleDivider = false,\n sx,\n}: TitleProps) {\n const theme = useTheme()\n\n return (\n <Typography\n variant=\"h6\"\n whiteSpace=\"nowrap\"\n sx={{\n borderRight: titleDivider\n ? `solid 1px ${theme.palette.grey[300]}`\n : 'none',\n paddingRight: 1.5,\n ...sx,\n }}\n >\n {children}\n </Typography>\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { ReactNode } from 'react'\n\ninterface ToolbarProps {\n children?: ReactNode\n}\n\nexport default function Toolbar({ children }: ToolbarProps) {\n return (\n <Stack\n component={Paper}\n elevation={0}\n gap={1.5}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={1}\n // height={(theme) => `${theme.mixins.toolbar}px`}\n // height=\"52px\"\n borderRadius=\"8px 8px 0 0\"\n sx={{ width: '100%' }}\n >\n {children}\n </Stack>\n )\n}\n"]}