diff --git a/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx b/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx index 2528ab754e58..33c17ae307f2 100644 --- a/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx +++ b/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx @@ -28,10 +28,11 @@ export type { GridPremiumSlotsComponent as GridSlots } from '../models'; const releaseInfo = getReleaseInfo(); -const dataGridPremiumPropValidators: PropValidator[] = [ - ...propValidatorsDataGrid, - ...propValidatorsDataGridPro, -]; +let dataGridPremiumPropValidators: PropValidator[]; + +if (process.env.NODE_ENV !== 'production') { + dataGridPremiumPropValidators = [...propValidatorsDataGrid, ...propValidatorsDataGridPro]; +} const DataGridPremiumRaw = React.forwardRef(function DataGridPremium( inProps: DataGridPremiumProps, @@ -42,7 +43,9 @@ const DataGridPremiumRaw = React.forwardRef(function DataGridPremium [] = [ - ...propValidatorsDataGrid, - // Only validate in MIT version - (props) => - (props.columns && - props.columns.some((column) => column.resizable) && - [ - `MUI X: \`column.resizable = true\` is not a valid prop.`, - 'Column resizing is not available in the MIT version.', - '', - 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.', - ].join('\n')) || - undefined, -]; +let propValidators: PropValidator[]; + +if (process.env.NODE_ENV !== 'production') { + propValidators = [ + ...propValidatorsDataGrid, + // Only validate in MIT version + (props) => + (props.columns && + props.columns.some((column) => column.resizable) && + [ + `MUI X: \`column.resizable = true\` is not a valid prop.`, + 'Column resizing is not available in the MIT version.', + '', + 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.', + ].join('\n')) || + undefined, + ]; +} const DataGridRaw = React.forwardRef(function DataGrid( inProps: DataGridProps, @@ -37,8 +41,9 @@ const DataGridRaw = React.forwardRef(function DataGrid [] = [ ]; const warnedOnceCache = new Set(); -const warnOnce = (message: string) => { +function warnOnce(message: string) { if (!warnedOnceCache.has(message)) { console.error(message); warnedOnceCache.add(message); } -}; +} -export const validateProps = (props: TProps, validators: PropValidator[]) => { - if (process.env.NODE_ENV === 'production') { - return; - } +export function validateProps(props: TProps, validators: PropValidator[]) { validators.forEach((validator) => { const warning = validator(props); if (warning) { warnOnce(warning); } }); -}; +} -export const clearWarningsCache = () => { +export function clearWarningsCache() { warnedOnceCache.clear(); -}; +}