{"version":3,"file":"react/js/vendor.mui@current-6f00ab14.045f652e051448c9613b.js","mappings":"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","sources":["webpack:///./node_modules/@mui/x-data-grid/hooks/core/gridCoreSelector.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/strategyProcessing/useGridStrategyProcessing.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridLoggerFactory.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridApiInitialization.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridStateInitialization.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridInitialization.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridRefs.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridTheme.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/pipeProcessing/useGridPipeProcessing.js","webpack:///./node_modules/@mui/x-data-grid/hooks/core/useGridLocaleText.js"],"sourcesContent":["/**\n * Get the theme state\n * @category Core\n */\nexport const gridThemeSelector = state => state.theme;","import * as React from 'react';\nimport { useFirstRender } from '../../utils/useFirstRender';\nexport const useGridRegisterPipeApplier = (apiRef, group, callback) => {\n const cleanup = React.useRef();\n const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`);\n const registerPreProcessor = React.useCallback(() => {\n cleanup.current = apiRef.current.registerPipeApplier(group, id.current, callback);\n }, [apiRef, callback, group]);\n useFirstRender(() => {\n registerPreProcessor();\n });\n const isFirstRender = React.useRef(true);\n React.useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n } else {\n registerPreProcessor();\n }\n return () => {\n if (cleanup.current) {\n cleanup.current();\n cleanup.current = null;\n }\n };\n }, [registerPreProcessor]);\n};","import * as React from 'react';\nimport { useFirstRender } from '../../utils/useFirstRender';\nexport const useGridRegisterPipeProcessor = (apiRef, group, callback) => {\n const cleanup = React.useRef();\n const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`);\n const registerPreProcessor = React.useCallback(() => {\n cleanup.current = apiRef.current.registerPipeProcessor(group, id.current, callback);\n }, [apiRef, callback, group]);\n useFirstRender(() => {\n registerPreProcessor();\n });\n const isFirstRender = React.useRef(true);\n React.useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n } else {\n registerPreProcessor();\n }\n return () => {\n if (cleanup.current) {\n cleanup.current();\n cleanup.current = null;\n }\n };\n }, [registerPreProcessor]);\n};","import * as React from 'react';\nimport { useFirstRender } from '../../utils/useFirstRender';\nexport const useGridRegisterStrategyProcessor = (apiRef, strategyName, group, processor) => {\n const registerPreProcessor = React.useCallback(() => {\n apiRef.current.registerStrategyProcessor(strategyName, group, processor);\n }, [apiRef, processor, group, strategyName]);\n useFirstRender(() => {\n registerPreProcessor();\n });\n const isFirstRender = React.useRef(true);\n React.useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n } else {\n registerPreProcessor();\n }\n }, [registerPreProcessor]);\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _toPropertyKey from \"@babel/runtime/helpers/esm/toPropertyKey\";\nimport * as React from 'react';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\nexport const GRID_DEFAULT_STRATEGY = 'none';\nexport const GRID_STRATEGIES_PROCESSORS = {\n rowTreeCreation: 'rowTree',\n filtering: 'rowTree',\n sorting: 'rowTree',\n visibleRowsLookupCreation: 'rowTree'\n};\n/**\n * Implements a variant of the Strategy Pattern (see https://en.wikipedia.org/wiki/Strategy_pattern)\n *\n * More information and detailed example in (TODO add link to technical doc when ready)\n *\n * Some plugins contains custom logic that must only be applied if the right strategy is active.\n * For instance, the row grouping plugin has a custom filtering algorithm.\n * This algorithm must be applied by the filtering plugin if the row grouping is the current way of grouping rows,\n * but not if the tree data is the current way of grouping rows.\n *\n * =====================================================================================================================\n *\n * The plugin containing the custom logic must use:\n *\n * - `useGridRegisterStrategyProcessor` to register their processor.\n * When the processor of the active strategy changes, it will fire `\"activeStrategyProcessorChange\"` to re-apply the processor.\n *\n * - `apiRef.current.setStrategyAvailability` to tell if their strategy can be used.\n *\n * =====================================================================================================================\n *\n * The plugin or component that needs to apply the custom logic of the current strategy must use:\n *\n * - `apiRef.current.applyStrategyProcessor` to run the processor of the active strategy for a given processor name.\n *\n * - the \"strategyAvailabilityChange\" event to update something when the active strategy changes.\n * Warning: Be careful not to apply the processor several times.\n * For instance \"rowsSet\" is fired by `useGridRows` whenever the active strategy changes.\n * So listening to both would most likely run your logic twice.\n *\n * - The \"activeStrategyProcessorChange\" event to update something when the processor of the active strategy changes.\n *\n * =====================================================================================================================\n *\n * Each processor name is part of a strategy group which can only have one active strategy at the time.\n * For now, there is only one strategy group named `rowTree` which customize\n * - row tree creation algorithm.\n * - sorting algorithm.\n * - filtering algorithm.\n */\nexport const useGridStrategyProcessing = apiRef => {\n const availableStrategies = React.useRef(new Map());\n const strategiesCache = React.useRef({});\n const registerStrategyProcessor = React.useCallback((strategyName, processorName, processor) => {\n const cleanup = () => {\n const _ref = strategiesCache.current[processorName],\n otherProcessors = _objectWithoutPropertiesLoose(_ref, [strategyName].map(_toPropertyKey));\n strategiesCache.current[processorName] = otherProcessors;\n };\n if (!strategiesCache.current[processorName]) {\n strategiesCache.current[processorName] = {};\n }\n const groupPreProcessors = strategiesCache.current[processorName];\n const previousProcessor = groupPreProcessors[strategyName];\n groupPreProcessors[strategyName] = processor;\n if (!previousProcessor || previousProcessor === processor) {\n return cleanup;\n }\n if (strategyName === apiRef.current.getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName])) {\n apiRef.current.publishEvent('activeStrategyProcessorChange', processorName);\n }\n return cleanup;\n }, [apiRef]);\n const applyStrategyProcessor = React.useCallback((processorName, params) => {\n const activeStrategy = apiRef.current.getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName]);\n if (activeStrategy == null) {\n throw new Error(\"Can't apply a strategy processor before defining an active strategy\");\n }\n const groupCache = strategiesCache.current[processorName];\n if (!groupCache || !groupCache[activeStrategy]) {\n throw new Error(`No processor found for processor \"${processorName}\" on strategy \"${activeStrategy}\"`);\n }\n const processor = groupCache[activeStrategy];\n return processor(params);\n }, [apiRef]);\n const getActiveStrategy = React.useCallback(strategyGroup => {\n const strategyEntries = Array.from(availableStrategies.current.entries());\n const availableStrategyEntry = strategyEntries.find(([, strategy]) => {\n if (strategy.group !== strategyGroup) {\n return false;\n }\n return strategy.isAvailable();\n });\n return availableStrategyEntry?.[0] ?? GRID_DEFAULT_STRATEGY;\n }, []);\n const setStrategyAvailability = React.useCallback((strategyGroup, strategyName, isAvailable) => {\n availableStrategies.current.set(strategyName, {\n group: strategyGroup,\n isAvailable\n });\n apiRef.current.publishEvent('strategyAvailabilityChange');\n }, [apiRef]);\n const strategyProcessingApi = {\n registerStrategyProcessor,\n applyStrategyProcessor,\n getActiveStrategy,\n setStrategyAvailability\n };\n useGridApiMethod(apiRef, strategyProcessingApi, 'private');\n};","import * as React from 'react';\nimport { localStorageAvailable } from '../../utils/utils';\nimport { useGridApiMethod } from '../utils';\nconst forceDebug = localStorageAvailable() && window.localStorage.getItem('DEBUG') != null;\nconst noop = () => {};\nconst noopLogger = {\n debug: noop,\n info: noop,\n warn: noop,\n error: noop\n};\nconst LOG_LEVELS = ['debug', 'info', 'warn', 'error'];\nfunction getAppender(name, logLevel, appender = console) {\n const minLogLevelIdx = LOG_LEVELS.indexOf(logLevel);\n if (minLogLevelIdx === -1) {\n throw new Error(`MUI X: Log level ${logLevel} not recognized.`);\n }\n const logger = LOG_LEVELS.reduce((loggerObj, method, idx) => {\n if (idx >= minLogLevelIdx) {\n loggerObj[method] = (...args) => {\n const [message, ...other] = args;\n appender[method](`MUI X: ${name} - ${message}`, ...other);\n };\n } else {\n loggerObj[method] = noop;\n }\n return loggerObj;\n }, {});\n return logger;\n}\nexport const useGridLoggerFactory = (apiRef, props) => {\n const getLogger = React.useCallback(name => {\n if (forceDebug) {\n return getAppender(name, 'debug', props.logger);\n }\n if (!props.logLevel) {\n return noopLogger;\n }\n return getAppender(name, props.logLevel.toString(), props.logger);\n }, [props.logLevel, props.logger]);\n useGridApiMethod(apiRef, {\n getLogger\n }, 'private');\n};","import * as React from 'react';\nimport { Store } from '../../utils/Store';\nimport { useGridApiMethod } from '../utils/useGridApiMethod';\nimport { GridSignature } from '../utils/useGridApiEventHandler';\nimport { EventManager } from '../../utils/EventManager';\nconst SYMBOL_API_PRIVATE = Symbol('mui.api_private');\nconst isSyntheticEvent = event => {\n return event.isPropagationStopped !== undefined;\n};\nexport function unwrapPrivateAPI(publicApi) {\n return publicApi[SYMBOL_API_PRIVATE];\n}\nlet globalId = 0;\nfunction createPrivateAPI(publicApiRef) {\n const existingPrivateApi = publicApiRef.current?.[SYMBOL_API_PRIVATE];\n if (existingPrivateApi) {\n return existingPrivateApi;\n }\n const state = {};\n const privateApi = {\n state,\n store: Store.create(state),\n instanceId: {\n id: globalId\n }\n };\n globalId += 1;\n privateApi.getPublicApi = () => publicApiRef.current;\n privateApi.register = (visibility, methods) => {\n Object.keys(methods).forEach(methodName => {\n const method = methods[methodName];\n const currentPrivateMethod = privateApi[methodName];\n if (currentPrivateMethod?.spying === true) {\n currentPrivateMethod.target = method;\n } else {\n privateApi[methodName] = method;\n }\n if (visibility === 'public') {\n const publicApi = publicApiRef.current;\n const currentPublicMethod = publicApi[methodName];\n if (currentPublicMethod?.spying === true) {\n currentPublicMethod.target = method;\n } else {\n publicApi[methodName] = method;\n }\n }\n });\n };\n privateApi.register('private', {\n caches: {},\n eventManager: new EventManager()\n });\n return privateApi;\n}\nfunction createPublicAPI(privateApiRef) {\n const publicApi = {\n get state() {\n return privateApiRef.current.state;\n },\n get store() {\n return privateApiRef.current.store;\n },\n get instanceId() {\n return privateApiRef.current.instanceId;\n },\n [SYMBOL_API_PRIVATE]: privateApiRef.current\n };\n return publicApi;\n}\nexport function useGridApiInitialization(inputApiRef, props) {\n const publicApiRef = React.useRef();\n const privateApiRef = React.useRef();\n if (!privateApiRef.current) {\n privateApiRef.current = createPrivateAPI(publicApiRef);\n }\n if (!publicApiRef.current) {\n publicApiRef.current = createPublicAPI(privateApiRef);\n }\n const publishEvent = React.useCallback((...args) => {\n const [name, params, event = {}] = args;\n event.defaultMuiPrevented = false;\n if (isSyntheticEvent(event) && event.isPropagationStopped()) {\n return;\n }\n const details = props.signature === GridSignature.DataGridPro ? {\n api: privateApiRef.current.getPublicApi()\n } : {};\n privateApiRef.current.eventManager.emit(name, params, event, details);\n }, [privateApiRef, props.signature]);\n const subscribeEvent = React.useCallback((event, handler, options) => {\n privateApiRef.current.eventManager.on(event, handler, options);\n const api = privateApiRef.current;\n return () => {\n api.eventManager.removeListener(event, handler);\n };\n }, [privateApiRef]);\n useGridApiMethod(privateApiRef, {\n subscribeEvent,\n publishEvent\n }, 'public');\n if (inputApiRef && !inputApiRef.current?.state) {\n inputApiRef.current = publicApiRef.current;\n }\n React.useImperativeHandle(inputApiRef, () => publicApiRef.current, [publicApiRef]);\n React.useEffect(() => {\n const api = privateApiRef.current;\n return () => {\n api.publishEvent('unmount');\n };\n }, [privateApiRef]);\n return privateApiRef;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useGridApiMethod } from '../utils';\nimport { isFunction } from '../../utils/utils';\nexport const useGridStateInitialization = apiRef => {\n const controlStateMapRef = React.useRef({});\n const [, rawForceUpdate] = React.useState();\n const registerControlState = React.useCallback(controlStateItem => {\n controlStateMapRef.current[controlStateItem.stateId] = controlStateItem;\n }, []);\n const setState = React.useCallback((state, reason) => {\n let newState;\n if (isFunction(state)) {\n newState = state(apiRef.current.state);\n } else {\n newState = state;\n }\n if (apiRef.current.state === newState) {\n return false;\n }\n let ignoreSetState = false;\n\n // Apply the control state constraints\n const updatedControlStateIds = [];\n Object.keys(controlStateMapRef.current).forEach(stateId => {\n const controlState = controlStateMapRef.current[stateId];\n const oldSubState = controlState.stateSelector(apiRef.current.state, apiRef.current.instanceId);\n const newSubState = controlState.stateSelector(newState, apiRef.current.instanceId);\n if (newSubState === oldSubState) {\n return;\n }\n updatedControlStateIds.push({\n stateId: controlState.stateId,\n hasPropChanged: newSubState !== controlState.propModel\n });\n\n // The state is controlled, the prop should always win\n if (controlState.propModel !== undefined && newSubState !== controlState.propModel) {\n ignoreSetState = true;\n }\n });\n if (updatedControlStateIds.length > 1) {\n // Each hook modify its own state, and it should not leak\n // Events are here to forward to other hooks and apply changes.\n // You are trying to update several states in a no isolated way.\n throw new Error(`You're not allowed to update several sub-state in one transaction. You already updated ${updatedControlStateIds[0].stateId}, therefore, you're not allowed to update ${updatedControlStateIds.map(el => el.stateId).join(', ')} in the same transaction.`);\n }\n if (!ignoreSetState) {\n // We always assign it as we mutate rows for perf reason.\n apiRef.current.state = newState;\n if (apiRef.current.publishEvent) {\n apiRef.current.publishEvent('stateChange', newState);\n }\n apiRef.current.store.update(newState);\n }\n if (updatedControlStateIds.length === 1) {\n const {\n stateId,\n hasPropChanged\n } = updatedControlStateIds[0];\n const controlState = controlStateMapRef.current[stateId];\n const model = controlState.stateSelector(newState, apiRef.current.instanceId);\n if (controlState.propOnChange && hasPropChanged) {\n controlState.propOnChange(model, {\n reason,\n api: apiRef.current\n });\n }\n if (!ignoreSetState) {\n apiRef.current.publishEvent(controlState.changeEvent, model, {\n reason\n });\n }\n }\n return !ignoreSetState;\n }, [apiRef]);\n const updateControlState = React.useCallback((key, state, reason) => {\n return apiRef.current.setState(previousState => {\n return _extends({}, previousState, {\n [key]: state(previousState[key])\n });\n }, reason);\n }, [apiRef]);\n const forceUpdate = React.useCallback(() => rawForceUpdate(() => apiRef.current.state), [apiRef]);\n const publicStateApi = {\n setState,\n forceUpdate\n };\n const privateStateApi = {\n updateControlState,\n registerControlState\n };\n useGridApiMethod(apiRef, publicStateApi, 'public');\n useGridApiMethod(apiRef, privateStateApi, 'private');\n};","import { useGridRefs } from './useGridRefs';\nimport { useGridTheme } from './useGridTheme';\nimport { useGridLoggerFactory } from './useGridLoggerFactory';\nimport { useGridApiInitialization } from './useGridApiInitialization';\nimport { useGridLocaleText } from './useGridLocaleText';\nimport { useGridPipeProcessing } from './pipeProcessing';\nimport { useGridStrategyProcessing } from './strategyProcessing';\nimport { useGridStateInitialization } from './useGridStateInitialization';\n\n/**\n * Initialize the technical pieces of the DataGrid (logger, state, ...) that any DataGrid implementation needs\n */\nexport const useGridInitialization = (inputApiRef, props) => {\n const privateApiRef = useGridApiInitialization(inputApiRef, props);\n useGridRefs(privateApiRef);\n useGridTheme(privateApiRef);\n useGridLoggerFactory(privateApiRef, props);\n useGridStateInitialization(privateApiRef);\n useGridPipeProcessing(privateApiRef);\n useGridStrategyProcessing(privateApiRef);\n useGridLocaleText(privateApiRef, props);\n privateApiRef.current.register('private', {\n rootProps: props\n });\n return privateApiRef;\n};","import * as React from 'react';\nexport const useGridRefs = apiRef => {\n const rootElementRef = React.useRef(null);\n const mainElementRef = React.useRef(null);\n const virtualScrollerRef = React.useRef(null);\n apiRef.current.register('public', {\n rootElementRef\n });\n apiRef.current.register('private', {\n mainElementRef,\n virtualScrollerRef\n });\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useTheme } from '@mui/material/styles';\nexport const useGridTheme = apiRef => {\n const theme = useTheme();\n if (!apiRef.current.state.theme) {\n apiRef.current.state.theme = theme;\n }\n const isFirstEffect = React.useRef(true);\n React.useEffect(() => {\n if (isFirstEffect.current) {\n isFirstEffect.current = false;\n } else {\n apiRef.current.setState(state => _extends({}, state, {\n theme\n }));\n }\n }, [apiRef, theme]);\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _toPropertyKey from \"@babel/runtime/helpers/esm/toPropertyKey\";\nimport * as React from 'react';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\n/**\n * Implement the Pipeline Pattern\n *\n * More information and detailed example in (TODO add link to technical doc when ready)\n *\n * Some plugins contains custom logic to enrich data provided by other plugins or components.\n * For instance, the row grouping plugin needs to add / remove the grouping columns when the grid columns are updated.\n *\n * =====================================================================================================================\n *\n * The plugin containing the custom logic must use:\n *\n * - `useGridRegisterPipeProcessor` to register their processor.\n *\n * - `apiRef.current.requestPipeProcessorsApplication` to imperatively re-apply a group.\n * This method should be used in last resort.\n * Most of the time, the application should be triggered by an update on the deps of the processor.\n *\n * =====================================================================================================================\n *\n * The plugin or component that needs to enrich its data must use:\n *\n * - `apiRef.current.unstable_applyPipeProcessors` to run in chain all the processors of a given group.\n *\n * - `useGridRegisterPipeApplier` to re-apply the whole pipe when requested.\n * The applier will be called when:\n * * a processor is registered.\n * * `apiRef.current.requestPipeProcessorsApplication` is called for the given group.\n */\nexport const useGridPipeProcessing = apiRef => {\n const cache = React.useRef({});\n const isRunning = React.useRef(false);\n const runAppliers = React.useCallback(groupCache => {\n if (isRunning.current || !groupCache) {\n return;\n }\n isRunning.current = true;\n Object.values(groupCache.appliers).forEach(callback => {\n callback();\n });\n isRunning.current = false;\n }, []);\n const registerPipeProcessor = React.useCallback((group, id, processor) => {\n if (!cache.current[group]) {\n cache.current[group] = {\n processors: new Map(),\n processorsAsArray: [],\n appliers: {}\n };\n }\n const groupCache = cache.current[group];\n const oldProcessor = groupCache.processors.get(id);\n if (oldProcessor !== processor) {\n groupCache.processors.set(id, processor);\n groupCache.processorsAsArray = Array.from(cache.current[group].processors.values());\n runAppliers(groupCache);\n }\n return () => {\n cache.current[group].processors.delete(id);\n cache.current[group].processorsAsArray = Array.from(cache.current[group].processors.values());\n };\n }, [runAppliers]);\n const registerPipeApplier = React.useCallback((group, id, applier) => {\n if (!cache.current[group]) {\n cache.current[group] = {\n processors: new Map(),\n processorsAsArray: [],\n appliers: {}\n };\n }\n cache.current[group].appliers[id] = applier;\n return () => {\n const _appliers = cache.current[group].appliers,\n otherAppliers = _objectWithoutPropertiesLoose(_appliers, [id].map(_toPropertyKey));\n cache.current[group].appliers = otherAppliers;\n };\n }, []);\n const requestPipeProcessorsApplication = React.useCallback(group => {\n runAppliers(cache.current[group]);\n }, [runAppliers]);\n const applyPipeProcessors = React.useCallback((...args) => {\n const [group, value, context] = args;\n if (!cache.current[group]) {\n return value;\n }\n const processors = cache.current[group].processorsAsArray;\n let result = value;\n for (let i = 0; i < processors.length; i += 1) {\n result = processors[i](result, context);\n }\n return result;\n }, []);\n const preProcessingPrivateApi = {\n registerPipeProcessor,\n registerPipeApplier,\n requestPipeProcessorsApplication\n };\n const preProcessingPublicApi = {\n unstable_applyPipeProcessors: applyPipeProcessors\n };\n useGridApiMethod(apiRef, preProcessingPrivateApi, 'private');\n useGridApiMethod(apiRef, preProcessingPublicApi, 'public');\n};","import * as React from 'react';\nexport const useGridLocaleText = (apiRef, props) => {\n const getLocaleText = React.useCallback(key => {\n if (props.localeText[key] == null) {\n throw new Error(`Missing translation for key ${key}.`);\n }\n return props.localeText[key];\n }, [props.localeText]);\n apiRef.current.register('public', {\n getLocaleText\n });\n};"],"names":["gridThemeSelector","state","theme","useGridRegisterPipeApplier","apiRef","group","callback","cleanup","id","Math","round","random","registerPreProcessor","current","registerPipeApplier","isFirstRender","useGridRegisterPipeProcessor","registerPipeProcessor","useGridRegisterStrategyProcessor","strategyName","processor","registerStrategyProcessor","GRID_DEFAULT_STRATEGY","GRID_STRATEGIES_PROCESSORS","rowTreeCreation","filtering","sorting","visibleRowsLookupCreation","useGridStrategyProcessing","availableStrategies","Map","strategiesCache","strategyProcessingApi","processorName","_ref","otherProcessors","map","groupPreProcessors","previousProcessor","getActiveStrategy","publishEvent","applyStrategyProcessor","params","activeStrategy","Error","groupCache","strategyGroup","availableStrategyEntry","Array","from","entries","find","strategy","isAvailable","setStrategyAvailability","set","forceDebug","window","localStorage","getItem","noop","noopLogger","debug","info","warn","error","LOG_LEVELS","getAppender","name","logLevel","appender","console","minLogLevelIdx","indexOf","reduce","loggerObj","method","idx","args","message","other","SYMBOL_API_PRIVATE","Symbol","globalId","useGridApiInitialization","inputApiRef","props","publicApiRef","privateApiRef","existingPrivateApi","privateApi","store","Store","create","instanceId","getPublicApi","register","visibility","methods","Object","keys","forEach","methodName","currentPrivateMethod","spying","target","publicApi","currentPublicMethod","caches","eventManager","EventManager","E","createPrivateAPI","createPublicAPI","event","defaultMuiPrevented","undefined","isPropagationStopped","isSyntheticEvent","details","signature","DataGridPro","api","emit","subscribeEvent","handler","options","on","removeListener","useGridApiMethod","useGridInitialization","rootElementRef","mainElementRef","virtualScrollerRef","useGridRefs","useTheme","isFirstEffect","setState","useGridTheme","getLogger","logger","toString","useGridLoggerFactory","controlStateMapRef","rawForceUpdate","registerControlState","controlStateItem","stateId","reason","newState","ignoreSetState","updatedControlStateIds","controlState","oldSubState","stateSelector","newSubState","push","hasPropChanged","propModel","length","el","join","update","model","propOnChange","changeEvent","updateControlState","key","previousState","publicStateApi","forceUpdate","privateStateApi","useGridStateInitialization","cache","isRunning","runAppliers","values","appliers","preProcessingPrivateApi","processors","processorsAsArray","get","delete","applier","_appliers","otherAppliers","requestPipeProcessorsApplication","preProcessingPublicApi","unstable_applyPipeProcessors","value","context","result","i","useGridPipeProcessing","getLocaleText","localeText","useGridLocaleText","rootProps"],"sourceRoot":""}