{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\nimport { useGridLogger } from '../../utils/useGridLogger';\nimport { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsMetaSelector, gridColumnsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';\nimport { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';\nimport { useGridRegisterPipeProcessor, useGridRegisterPipeApplier } from '../../core/pipeProcessing';\nimport { hydrateColumnsWidth, computeColumnTypes, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';\nimport { GridPreferencePanelsValue } from '../preferencesPanel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const columnsStateInitializer = (state, props, apiRef) => {\n var _props$initialState, _props$initialState$c, _props$initialState2, _ref, _props$columnVisibili, _props$initialState3, _props$initialState3$;\n const isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!((_props$initialState = props.initialState) != null && (_props$initialState$c = _props$initialState.columns) != null && _props$initialState$c.columnVisibilityModel);\n apiRef.current.unstable_caches.columns = {\n isUsingColumnVisibilityModel\n };\n const columnsTypes = computeColumnTypes(props.columnTypes);\n const columnsState = createColumnsState({\n apiRef,\n columnTypes: columnsTypes,\n columnsToUpsert: props.columns,\n initialState: (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.columns,\n shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,\n currentColumnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState3 = props.initialState) == null ? void 0 : (_props$initialState3$ = _props$initialState3.columns) == null ? void 0 : _props$initialState3$.columnVisibilityModel) != null ? _ref : {},\n keepOnlyColumnsToUpsert: true\n });\n return _extends({}, state, {\n columns: columnsState\n });\n};\n/**\n * @requires useGridParamsApi (method)\n * @requires useGridDimensions (method, event) - can be after\n * TODO: Impossible priority - useGridParamsApi also needs to be after useGridColumns\n */\n\nexport function useGridColumns(apiRef, props) {\n var _props$initialState5, _props$componentsProp2;\n const logger = useGridLogger(apiRef, 'useGridColumns');\n const columnTypes = React.useMemo(() => computeColumnTypes(props.columnTypes), [props.columnTypes]);\n const previousColumnsProp = React.useRef(props.columns);\n const previousColumnTypesProp = React.useRef(columnTypes);\n apiRef.current.unstable_registerControlState({\n stateId: 'visibleColumns',\n propModel: props.columnVisibilityModel,\n propOnChange: props.onColumnVisibilityModelChange,\n stateSelector: gridColumnVisibilityModelSelector,\n changeEvent: 'columnVisibilityModelChange'\n });\n const setGridColumnsState = React.useCallback(columnsState => {\n logger.debug('Updating columns state.');\n apiRef.current.setState(mergeColumnsState(columnsState));\n apiRef.current.forceUpdate();\n apiRef.current.publishEvent('columnsChange', columnsState.all);\n }, [logger, apiRef]);\n /**\n * API METHODS\n */\n\n const getColumn = React.useCallback(field => gridColumnLookupSelector(apiRef)[field], [apiRef]);\n const getAllColumns = React.useCallback(() => gridColumnDefinitionsSelector(apiRef), [apiRef]);\n const getVisibleColumns = React.useCallback(() => gridVisibleColumnDefinitionsSelector(apiRef), [apiRef]);\n const getColumnsMeta = React.useCallback(() => gridColumnsMetaSelector(apiRef), [apiRef]);\n const getColumnIndex = React.useCallback((field, useVisibleColumns = true) => {\n const columns = useVisibleColumns ? gridVisibleColumnDefinitionsSelector(apiRef) : gridColumnDefinitionsSelector(apiRef);\n return columns.findIndex(col => col.field === field);\n }, [apiRef]);\n const getColumnPosition = React.useCallback(field => {\n const index = getColumnIndex(field);\n return gridColumnPositionsSelector(apiRef)[index];\n }, [apiRef, getColumnIndex]);\n const setColumnVisibilityModel = React.useCallback(model => {\n const currentModel = gridColumnVisibilityModelSelector(apiRef);\n if (currentModel !== model) {\n apiRef.current.setState(state => _extends({}, state, {\n columns: createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: false,\n currentColumnVisibilityModel: model,\n keepOnlyColumnsToUpsert: false\n })\n }));\n apiRef.current.forceUpdate();\n }\n }, [apiRef, columnTypes]);\n const updateColumns = React.useCallback(columns => {\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: columns,\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: true,\n keepOnlyColumnsToUpsert: false\n });\n setGridColumnsState(columnsState);\n }, [apiRef, setGridColumnsState, columnTypes]);\n const updateColumn = React.useCallback(column => apiRef.current.updateColumns([column]), [apiRef]);\n const setColumnVisibility = React.useCallback((field, isVisible) => {\n // We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.\n // `updateColumns` take care of updating the model itself if needs be.\n // TODO v6: stop using the `hide` field even when the model is not defined\n if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {\n var _columnVisibilityMode;\n const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);\n const isCurrentlyVisible = (_columnVisibilityMode = columnVisibilityModel[field]) != null ? _columnVisibilityMode : true;\n if (isVisible !== isCurrentlyVisible) {\n const newModel = _extends({}, columnVisibilityModel, {\n [field]: isVisible\n });\n apiRef.current.setColumnVisibilityModel(newModel);\n }\n } else {\n const column = apiRef.current.getColumn(field);\n const newColumn = _extends({}, column, {\n hide: !isVisible\n });\n apiRef.current.updateColumns([newColumn]);\n const params = {\n field,\n colDef: newColumn,\n isVisible\n };\n apiRef.current.publishEvent('columnVisibilityChange', params);\n }\n }, [apiRef]);\n const setColumnIndex = React.useCallback((field, targetIndexPosition) => {\n const allColumns = gridColumnFieldsSelector(apiRef);\n const oldIndexPosition = allColumns.findIndex(col => col === field);\n if (oldIndexPosition === targetIndexPosition) {\n return;\n }\n logger.debug(`Moving column ${field} to index ${targetIndexPosition}`);\n const updatedColumns = [...allColumns];\n const fieldRemoved = updatedColumns.splice(oldIndexPosition, 1)[0];\n updatedColumns.splice(targetIndexPosition, 0, fieldRemoved);\n setGridColumnsState(_extends({}, gridColumnsSelector(apiRef.current.state), {\n all: updatedColumns\n }));\n const params = {\n field,\n element: apiRef.current.getColumnHeaderElement(field),\n colDef: apiRef.current.getColumn(field),\n targetIndex: targetIndexPosition,\n oldIndex: oldIndexPosition\n };\n apiRef.current.publishEvent('columnOrderChange', params);\n }, [apiRef, logger, setGridColumnsState]);\n const setColumnWidth = React.useCallback((field, width) => {\n logger.debug(`Updating column ${field} width to ${width}`);\n const column = apiRef.current.getColumn(field);\n const newColumn = _extends({}, column, {\n width\n });\n apiRef.current.updateColumns([newColumn]);\n apiRef.current.publishEvent('columnWidthChange', {\n element: apiRef.current.getColumnHeaderElement(field),\n colDef: newColumn,\n width\n });\n }, [apiRef, logger]);\n const columnApi = {\n getColumn,\n getAllColumns,\n getColumnIndex,\n getColumnPosition,\n getVisibleColumns,\n getColumnsMeta,\n updateColumn,\n updateColumns,\n setColumnVisibilityModel,\n setColumnVisibility,\n setColumnIndex,\n setColumnWidth\n };\n useGridApiMethod(apiRef, columnApi, 'GridColumnApi');\n /**\n * PRE-PROCESSING\n */\n\n const stateExportPreProcessing = React.useCallback((prevState, context) => {\n const columnsStateToExport = {};\n if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {\n var _props$initialState$c2, _props$initialState4, _props$initialState4$;\n const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);\n const shouldExportColumnVisibilityModel =\n // Always export if the `exportOnlyDirtyModels` property is activated\n !context.exportOnlyDirtyModels ||\n // Always export if the model is controlled\n props.columnVisibilityModel != null ||\n // Always export if the model has been initialized\n // TODO v6 Do a nullish check instead to export even if the initial model equals \"{}\"\n Object.keys((_props$initialState$c2 = (_props$initialState4 = props.initialState) == null ? void 0 : (_props$initialState4$ = _props$initialState4.columns) == null ? void 0 : _props$initialState4$.columnVisibilityModel) != null ? _props$initialState$c2 : {}).length > 0 ||\n // Always export if the model is not empty\n Object.keys(columnVisibilityModelToExport).length > 0;\n if (shouldExportColumnVisibilityModel) {\n columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;\n }\n }\n columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);\n const columns = gridColumnDefinitionsSelector(apiRef);\n const dimensions = {};\n columns.forEach(colDef => {\n if (colDef.hasBeenResized) {\n const colDefDimensions = {};\n COLUMNS_DIMENSION_PROPERTIES.forEach(propertyName => {\n let propertyValue = colDef[propertyName];\n if (propertyValue === Infinity) {\n propertyValue = -1;\n }\n colDefDimensions[propertyName] = propertyValue;\n });\n dimensions[colDef.field] = colDefDimensions;\n }\n });\n if (Object.keys(dimensions).length > 0) {\n columnsStateToExport.dimensions = dimensions;\n }\n return _extends({}, prevState, {\n columns: columnsStateToExport\n });\n }, [apiRef, props.columnVisibilityModel, (_props$initialState5 = props.initialState) == null ? void 0 : _props$initialState5.columns]);\n const stateRestorePreProcessing = React.useCallback((params, context) => {\n var _context$stateToResto;\n const columnVisibilityModelToImport = apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel ? (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel : undefined;\n const initialState = context.stateToRestore.columns;\n if (columnVisibilityModelToImport == null && initialState == null) {\n return params;\n }\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState,\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n currentColumnVisibilityModel: columnVisibilityModelToImport,\n keepOnlyColumnsToUpsert: false\n });\n apiRef.current.setState(mergeColumnsState(columnsState));\n if (initialState != null) {\n apiRef.current.publishEvent('columnsChange', columnsState.all);\n }\n return params;\n }, [apiRef, columnTypes]);\n const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {\n if (value === GridPreferencePanelsValue.columns) {\n var _props$componentsProp;\n const ColumnsPanel = props.components.ColumnsPanel;\n return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, (_props$componentsProp = props.componentsProps) == null ? void 0 : _props$componentsProp.columnsPanel));\n }\n return initialValue;\n }, [props.components.ColumnsPanel, (_props$componentsProp2 = props.componentsProps) == null ? void 0 : _props$componentsProp2.columnsPanel]);\n useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);\n /**\n * EVENTS\n */\n\n const prevInnerWidth = React.useRef(null);\n const handleGridSizeChange = viewportInnerSize => {\n if (prevInnerWidth.current !== viewportInnerSize.width) {\n prevInnerWidth.current = viewportInnerSize.width;\n setGridColumnsState(hydrateColumnsWidth(gridColumnsSelector(apiRef.current.state), viewportInnerSize.width));\n }\n };\n useGridApiEventHandler(apiRef, 'viewportInnerSizeChange', handleGridSizeChange);\n useGridApiOptionHandler(apiRef, 'columnVisibilityChange', props.onColumnVisibilityChange);\n /**\n * APPLIERS\n */\n\n const hydrateColumns = React.useCallback(() => {\n logger.info(`Columns pipe processing have changed, regenerating the columns`);\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n keepOnlyColumnsToUpsert: false\n });\n setGridColumnsState(columnsState);\n }, [apiRef, logger, setGridColumnsState, columnTypes]);\n useGridRegisterPipeApplier(apiRef, 'hydrateColumns', hydrateColumns);\n /**\n * EFFECTS\n */\n // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`\n // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one\n\n const isFirstRender = React.useRef(true);\n React.useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n logger.info(`GridColumns have changed, new length ${props.columns.length}`);\n if (previousColumnsProp.current === props.columns && previousColumnTypesProp.current === columnTypes) {\n return;\n }\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n initialState: undefined,\n // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n columnsToUpsert: props.columns,\n keepOnlyColumnsToUpsert: true\n });\n previousColumnsProp.current = props.columns;\n previousColumnTypesProp.current = columnTypes;\n setGridColumnsState(columnsState);\n }, [logger, apiRef, setGridColumnsState, props.columns, columnTypes]);\n React.useEffect(() => {\n if (props.columnVisibilityModel !== undefined) {\n apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);\n }\n }, [apiRef, logger, props.columnVisibilityModel]);\n}","map":{"version":3,"names":["_extends","React","useGridApiMethod","useGridLogger","gridColumnFieldsSelector","gridColumnDefinitionsSelector","gridColumnLookupSelector","gridColumnsMetaSelector","gridColumnsSelector","gridColumnVisibilityModelSelector","gridVisibleColumnDefinitionsSelector","gridColumnPositionsSelector","useGridApiEventHandler","useGridApiOptionHandler","useGridRegisterPipeProcessor","useGridRegisterPipeApplier","hydrateColumnsWidth","computeColumnTypes","createColumnsState","mergeColumnsState","COLUMNS_DIMENSION_PROPERTIES","GridPreferencePanelsValue","jsx","_jsx","columnsStateInitializer","state","props","apiRef","_props$initialState","_props$initialState$c","_props$initialState2","_ref","_props$columnVisibili","_props$initialState3","_props$initialState3$","isUsingColumnVisibilityModel","columnVisibilityModel","initialState","columns","current","unstable_caches","columnsTypes","columnTypes","columnsState","columnsToUpsert","shouldRegenColumnVisibilityModelFromColumns","currentColumnVisibilityModel","keepOnlyColumnsToUpsert","useGridColumns","_props$initialState5","_props$componentsProp2","logger","useMemo","previousColumnsProp","useRef","previousColumnTypesProp","unstable_registerControlState","stateId","propModel","propOnChange","onColumnVisibilityModelChange","stateSelector","changeEvent","setGridColumnsState","useCallback","debug","setState","forceUpdate","publishEvent","all","getColumn","field","getAllColumns","getVisibleColumns","getColumnsMeta","getColumnIndex","useVisibleColumns","findIndex","col","getColumnPosition","index","setColumnVisibilityModel","model","currentModel","undefined","updateColumns","updateColumn","column","setColumnVisibility","isVisible","_columnVisibilityMode","isCurrentlyVisible","newModel","newColumn","hide","params","colDef","setColumnIndex","targetIndexPosition","allColumns","oldIndexPosition","updatedColumns","fieldRemoved","splice","element","getColumnHeaderElement","targetIndex","oldIndex","setColumnWidth","width","columnApi","stateExportPreProcessing","prevState","context","columnsStateToExport","_props$initialState$c2","_props$initialState4","_props$initialState4$","columnVisibilityModelToExport","shouldExportColumnVisibilityModel","exportOnlyDirtyModels","Object","keys","length","orderedFields","dimensions","forEach","hasBeenResized","colDefDimensions","propertyName","propertyValue","Infinity","stateRestorePreProcessing","_context$stateToResto","columnVisibilityModelToImport","stateToRestore","preferencePanelPreProcessing","initialValue","value","_props$componentsProp","ColumnsPanel","components","componentsProps","columnsPanel","prevInnerWidth","handleGridSizeChange","viewportInnerSize","onColumnVisibilityChange","hydrateColumns","info","isFirstRender","useEffect"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@mui/x-data-grid/hooks/features/columns/useGridColumns.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\nimport { useGridLogger } from '../../utils/useGridLogger';\nimport { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsMetaSelector, gridColumnsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';\nimport { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';\nimport { useGridRegisterPipeProcessor, useGridRegisterPipeApplier } from '../../core/pipeProcessing';\nimport { hydrateColumnsWidth, computeColumnTypes, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';\nimport { GridPreferencePanelsValue } from '../preferencesPanel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const columnsStateInitializer = (state, props, apiRef) => {\n var _props$initialState, _props$initialState$c, _props$initialState2, _ref, _props$columnVisibili, _props$initialState3, _props$initialState3$;\n\n const isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!((_props$initialState = props.initialState) != null && (_props$initialState$c = _props$initialState.columns) != null && _props$initialState$c.columnVisibilityModel);\n apiRef.current.unstable_caches.columns = {\n isUsingColumnVisibilityModel\n };\n const columnsTypes = computeColumnTypes(props.columnTypes);\n const columnsState = createColumnsState({\n apiRef,\n columnTypes: columnsTypes,\n columnsToUpsert: props.columns,\n initialState: (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.columns,\n shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,\n currentColumnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState3 = props.initialState) == null ? void 0 : (_props$initialState3$ = _props$initialState3.columns) == null ? void 0 : _props$initialState3$.columnVisibilityModel) != null ? _ref : {},\n keepOnlyColumnsToUpsert: true\n });\n return _extends({}, state, {\n columns: columnsState\n });\n};\n/**\n * @requires useGridParamsApi (method)\n * @requires useGridDimensions (method, event) - can be after\n * TODO: Impossible priority - useGridParamsApi also needs to be after useGridColumns\n */\n\nexport function useGridColumns(apiRef, props) {\n var _props$initialState5, _props$componentsProp2;\n\n const logger = useGridLogger(apiRef, 'useGridColumns');\n const columnTypes = React.useMemo(() => computeColumnTypes(props.columnTypes), [props.columnTypes]);\n const previousColumnsProp = React.useRef(props.columns);\n const previousColumnTypesProp = React.useRef(columnTypes);\n apiRef.current.unstable_registerControlState({\n stateId: 'visibleColumns',\n propModel: props.columnVisibilityModel,\n propOnChange: props.onColumnVisibilityModelChange,\n stateSelector: gridColumnVisibilityModelSelector,\n changeEvent: 'columnVisibilityModelChange'\n });\n const setGridColumnsState = React.useCallback(columnsState => {\n logger.debug('Updating columns state.');\n apiRef.current.setState(mergeColumnsState(columnsState));\n apiRef.current.forceUpdate();\n apiRef.current.publishEvent('columnsChange', columnsState.all);\n }, [logger, apiRef]);\n /**\n * API METHODS\n */\n\n const getColumn = React.useCallback(field => gridColumnLookupSelector(apiRef)[field], [apiRef]);\n const getAllColumns = React.useCallback(() => gridColumnDefinitionsSelector(apiRef), [apiRef]);\n const getVisibleColumns = React.useCallback(() => gridVisibleColumnDefinitionsSelector(apiRef), [apiRef]);\n const getColumnsMeta = React.useCallback(() => gridColumnsMetaSelector(apiRef), [apiRef]);\n const getColumnIndex = React.useCallback((field, useVisibleColumns = true) => {\n const columns = useVisibleColumns ? gridVisibleColumnDefinitionsSelector(apiRef) : gridColumnDefinitionsSelector(apiRef);\n return columns.findIndex(col => col.field === field);\n }, [apiRef]);\n const getColumnPosition = React.useCallback(field => {\n const index = getColumnIndex(field);\n return gridColumnPositionsSelector(apiRef)[index];\n }, [apiRef, getColumnIndex]);\n const setColumnVisibilityModel = React.useCallback(model => {\n const currentModel = gridColumnVisibilityModelSelector(apiRef);\n\n if (currentModel !== model) {\n apiRef.current.setState(state => _extends({}, state, {\n columns: createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: false,\n currentColumnVisibilityModel: model,\n keepOnlyColumnsToUpsert: false\n })\n }));\n apiRef.current.forceUpdate();\n }\n }, [apiRef, columnTypes]);\n const updateColumns = React.useCallback(columns => {\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: columns,\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: true,\n keepOnlyColumnsToUpsert: false\n });\n setGridColumnsState(columnsState);\n }, [apiRef, setGridColumnsState, columnTypes]);\n const updateColumn = React.useCallback(column => apiRef.current.updateColumns([column]), [apiRef]);\n const setColumnVisibility = React.useCallback((field, isVisible) => {\n // We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.\n // `updateColumns` take care of updating the model itself if needs be.\n // TODO v6: stop using the `hide` field even when the model is not defined\n if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {\n var _columnVisibilityMode;\n\n const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);\n const isCurrentlyVisible = (_columnVisibilityMode = columnVisibilityModel[field]) != null ? _columnVisibilityMode : true;\n\n if (isVisible !== isCurrentlyVisible) {\n const newModel = _extends({}, columnVisibilityModel, {\n [field]: isVisible\n });\n\n apiRef.current.setColumnVisibilityModel(newModel);\n }\n } else {\n const column = apiRef.current.getColumn(field);\n\n const newColumn = _extends({}, column, {\n hide: !isVisible\n });\n\n apiRef.current.updateColumns([newColumn]);\n const params = {\n field,\n colDef: newColumn,\n isVisible\n };\n apiRef.current.publishEvent('columnVisibilityChange', params);\n }\n }, [apiRef]);\n const setColumnIndex = React.useCallback((field, targetIndexPosition) => {\n const allColumns = gridColumnFieldsSelector(apiRef);\n const oldIndexPosition = allColumns.findIndex(col => col === field);\n\n if (oldIndexPosition === targetIndexPosition) {\n return;\n }\n\n logger.debug(`Moving column ${field} to index ${targetIndexPosition}`);\n const updatedColumns = [...allColumns];\n const fieldRemoved = updatedColumns.splice(oldIndexPosition, 1)[0];\n updatedColumns.splice(targetIndexPosition, 0, fieldRemoved);\n setGridColumnsState(_extends({}, gridColumnsSelector(apiRef.current.state), {\n all: updatedColumns\n }));\n const params = {\n field,\n element: apiRef.current.getColumnHeaderElement(field),\n colDef: apiRef.current.getColumn(field),\n targetIndex: targetIndexPosition,\n oldIndex: oldIndexPosition\n };\n apiRef.current.publishEvent('columnOrderChange', params);\n }, [apiRef, logger, setGridColumnsState]);\n const setColumnWidth = React.useCallback((field, width) => {\n logger.debug(`Updating column ${field} width to ${width}`);\n const column = apiRef.current.getColumn(field);\n\n const newColumn = _extends({}, column, {\n width\n });\n\n apiRef.current.updateColumns([newColumn]);\n apiRef.current.publishEvent('columnWidthChange', {\n element: apiRef.current.getColumnHeaderElement(field),\n colDef: newColumn,\n width\n });\n }, [apiRef, logger]);\n const columnApi = {\n getColumn,\n getAllColumns,\n getColumnIndex,\n getColumnPosition,\n getVisibleColumns,\n getColumnsMeta,\n updateColumn,\n updateColumns,\n setColumnVisibilityModel,\n setColumnVisibility,\n setColumnIndex,\n setColumnWidth\n };\n useGridApiMethod(apiRef, columnApi, 'GridColumnApi');\n /**\n * PRE-PROCESSING\n */\n\n const stateExportPreProcessing = React.useCallback((prevState, context) => {\n const columnsStateToExport = {};\n\n if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {\n var _props$initialState$c2, _props$initialState4, _props$initialState4$;\n\n const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);\n const shouldExportColumnVisibilityModel = // Always export if the `exportOnlyDirtyModels` property is activated\n !context.exportOnlyDirtyModels || // Always export if the model is controlled\n props.columnVisibilityModel != null || // Always export if the model has been initialized\n // TODO v6 Do a nullish check instead to export even if the initial model equals \"{}\"\n Object.keys((_props$initialState$c2 = (_props$initialState4 = props.initialState) == null ? void 0 : (_props$initialState4$ = _props$initialState4.columns) == null ? void 0 : _props$initialState4$.columnVisibilityModel) != null ? _props$initialState$c2 : {}).length > 0 || // Always export if the model is not empty\n Object.keys(columnVisibilityModelToExport).length > 0;\n\n if (shouldExportColumnVisibilityModel) {\n columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;\n }\n }\n\n columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);\n const columns = gridColumnDefinitionsSelector(apiRef);\n const dimensions = {};\n columns.forEach(colDef => {\n if (colDef.hasBeenResized) {\n const colDefDimensions = {};\n COLUMNS_DIMENSION_PROPERTIES.forEach(propertyName => {\n let propertyValue = colDef[propertyName];\n\n if (propertyValue === Infinity) {\n propertyValue = -1;\n }\n\n colDefDimensions[propertyName] = propertyValue;\n });\n dimensions[colDef.field] = colDefDimensions;\n }\n });\n\n if (Object.keys(dimensions).length > 0) {\n columnsStateToExport.dimensions = dimensions;\n }\n\n return _extends({}, prevState, {\n columns: columnsStateToExport\n });\n }, [apiRef, props.columnVisibilityModel, (_props$initialState5 = props.initialState) == null ? void 0 : _props$initialState5.columns]);\n const stateRestorePreProcessing = React.useCallback((params, context) => {\n var _context$stateToResto;\n\n const columnVisibilityModelToImport = apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel ? (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel : undefined;\n const initialState = context.stateToRestore.columns;\n\n if (columnVisibilityModelToImport == null && initialState == null) {\n return params;\n }\n\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState,\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n currentColumnVisibilityModel: columnVisibilityModelToImport,\n keepOnlyColumnsToUpsert: false\n });\n apiRef.current.setState(mergeColumnsState(columnsState));\n\n if (initialState != null) {\n apiRef.current.publishEvent('columnsChange', columnsState.all);\n }\n\n return params;\n }, [apiRef, columnTypes]);\n const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {\n if (value === GridPreferencePanelsValue.columns) {\n var _props$componentsProp;\n\n const ColumnsPanel = props.components.ColumnsPanel;\n return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, (_props$componentsProp = props.componentsProps) == null ? void 0 : _props$componentsProp.columnsPanel));\n }\n\n return initialValue;\n }, [props.components.ColumnsPanel, (_props$componentsProp2 = props.componentsProps) == null ? void 0 : _props$componentsProp2.columnsPanel]);\n useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);\n /**\n * EVENTS\n */\n\n const prevInnerWidth = React.useRef(null);\n\n const handleGridSizeChange = viewportInnerSize => {\n if (prevInnerWidth.current !== viewportInnerSize.width) {\n prevInnerWidth.current = viewportInnerSize.width;\n setGridColumnsState(hydrateColumnsWidth(gridColumnsSelector(apiRef.current.state), viewportInnerSize.width));\n }\n };\n\n useGridApiEventHandler(apiRef, 'viewportInnerSizeChange', handleGridSizeChange);\n useGridApiOptionHandler(apiRef, 'columnVisibilityChange', props.onColumnVisibilityChange);\n /**\n * APPLIERS\n */\n\n const hydrateColumns = React.useCallback(() => {\n logger.info(`Columns pipe processing have changed, regenerating the columns`);\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n columnsToUpsert: [],\n initialState: undefined,\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n keepOnlyColumnsToUpsert: false\n });\n setGridColumnsState(columnsState);\n }, [apiRef, logger, setGridColumnsState, columnTypes]);\n useGridRegisterPipeApplier(apiRef, 'hydrateColumns', hydrateColumns);\n /**\n * EFFECTS\n */\n // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`\n // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one\n\n const isFirstRender = React.useRef(true);\n React.useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n\n logger.info(`GridColumns have changed, new length ${props.columns.length}`);\n\n if (previousColumnsProp.current === props.columns && previousColumnTypesProp.current === columnTypes) {\n return;\n }\n\n const columnsState = createColumnsState({\n apiRef,\n columnTypes,\n initialState: undefined,\n // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`\n shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,\n columnsToUpsert: props.columns,\n keepOnlyColumnsToUpsert: true\n });\n previousColumnsProp.current = props.columns;\n previousColumnTypesProp.current = columnTypes;\n setGridColumnsState(columnsState);\n }, [logger, apiRef, setGridColumnsState, props.columns, columnTypes]);\n React.useEffect(() => {\n if (props.columnVisibilityModel !== undefined) {\n apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);\n }\n }, [apiRef, logger, props.columnVisibilityModel]);\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}