{"ast":null,"code":"import * as React from 'react';\nimport { debounce, ownerDocument, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';\nimport { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\nimport { useGridLogger } from '../../utils/useGridLogger';\nimport { gridColumnsTotalWidthSelector } from '../columns';\nimport { gridDensityTotalHeaderHeightSelector, gridDensityRowHeightSelector } from '../density';\nimport { useGridSelector } from '../../utils';\nimport { getVisibleRows } from '../../utils/useGridVisibleRows';\nimport { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';\nimport { calculatePinnedRowsHeight } from '../rows/gridRowsUtils';\nconst isTestEnvironment = process.env.NODE_ENV === 'test';\nconst hasScroll = ({\n content,\n container,\n scrollBarSize\n}) => {\n const hasScrollXIfNoYScrollBar = content.width > container.width;\n const hasScrollYIfNoXScrollBar = content.height > container.height;\n let hasScrollX = false;\n let hasScrollY = false;\n if (hasScrollXIfNoYScrollBar || hasScrollYIfNoXScrollBar) {\n hasScrollX = hasScrollXIfNoYScrollBar;\n hasScrollY = content.height + (hasScrollX ? scrollBarSize : 0) > container.height; // We recalculate the scroll x to consider the size of the y scrollbar.\n\n if (hasScrollY) {\n hasScrollX = content.width + scrollBarSize > container.width;\n }\n }\n return {\n hasScrollX,\n hasScrollY\n };\n};\nexport function useGridDimensions(apiRef, props) {\n const logger = useGridLogger(apiRef, 'useResizeContainer');\n const errorShown = React.useRef(false);\n const rootDimensionsRef = React.useRef(null);\n const fullDimensionsRef = React.useRef(null);\n const rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);\n const totalHeaderHeight = useGridSelector(apiRef, gridDensityTotalHeaderHeightSelector);\n const updateGridDimensionsRef = React.useCallback(() => {\n var _apiRef$current$rootE;\n const rootElement = (_apiRef$current$rootE = apiRef.current.rootElementRef) == null ? void 0 : _apiRef$current$rootE.current;\n const columnsTotalWidth = gridColumnsTotalWidthSelector(apiRef);\n const pinnedRowsHeight = calculatePinnedRowsHeight(apiRef);\n if (!rootDimensionsRef.current) {\n return;\n }\n let scrollBarSize;\n if (props.scrollbarSize != null) {\n scrollBarSize = props.scrollbarSize;\n } else if (!columnsTotalWidth || !rootElement) {\n scrollBarSize = 0;\n } else {\n const doc = ownerDocument(rootElement);\n const scrollDiv = doc.createElement('div');\n scrollDiv.style.width = '99px';\n scrollDiv.style.height = '99px';\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.overflow = 'scroll';\n scrollDiv.className = 'scrollDiv';\n rootElement.appendChild(scrollDiv);\n scrollBarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n rootElement.removeChild(scrollDiv);\n }\n let viewportOuterSize;\n let hasScrollX;\n let hasScrollY;\n if (props.autoHeight) {\n hasScrollY = false;\n hasScrollX = Math.round(columnsTotalWidth) > rootDimensionsRef.current.width;\n viewportOuterSize = {\n width: rootDimensionsRef.current.width,\n height: rowsMeta.currentPageTotalHeight + (hasScrollX ? scrollBarSize : 0)\n };\n } else {\n viewportOuterSize = {\n width: rootDimensionsRef.current.width,\n height: rootDimensionsRef.current.height - totalHeaderHeight\n };\n const scrollInformation = hasScroll({\n content: {\n width: Math.round(columnsTotalWidth),\n height: rowsMeta.currentPageTotalHeight\n },\n container: {\n width: viewportOuterSize.width,\n height: viewportOuterSize.height - pinnedRowsHeight.top - pinnedRowsHeight.bottom\n },\n scrollBarSize\n });\n hasScrollY = scrollInformation.hasScrollY;\n hasScrollX = scrollInformation.hasScrollX;\n }\n const viewportInnerSize = {\n width: viewportOuterSize.width - (hasScrollY ? scrollBarSize : 0),\n height: viewportOuterSize.height - (hasScrollX ? scrollBarSize : 0)\n };\n const newFullDimensions = {\n viewportOuterSize,\n viewportInnerSize,\n hasScrollX,\n hasScrollY,\n scrollBarSize\n };\n const prevDimensions = fullDimensionsRef.current;\n fullDimensionsRef.current = newFullDimensions;\n if (newFullDimensions.viewportInnerSize.width !== (prevDimensions == null ? void 0 : prevDimensions.viewportInnerSize.width) || newFullDimensions.viewportInnerSize.height !== (prevDimensions == null ? void 0 : prevDimensions.viewportInnerSize.height)) {\n apiRef.current.publishEvent('viewportInnerSizeChange', newFullDimensions.viewportInnerSize);\n }\n }, [apiRef, props.scrollbarSize, props.autoHeight, totalHeaderHeight, rowsMeta.currentPageTotalHeight]);\n const resize = React.useCallback(() => {\n updateGridDimensionsRef();\n apiRef.current.publishEvent('debouncedResize', rootDimensionsRef.current);\n }, [apiRef, updateGridDimensionsRef]);\n const getRootDimensions = React.useCallback(() => fullDimensionsRef.current, []);\n const getViewportPageSize = React.useCallback(() => {\n const dimensions = apiRef.current.getRootDimensions();\n if (!dimensions) {\n return 0;\n }\n const currentPage = getVisibleRows(apiRef, {\n pagination: props.pagination,\n paginationMode: props.paginationMode\n }); // TODO: Use a combination of scrollTop, dimensions.viewportInnerSize.height and rowsMeta.possitions\n // to find out the maximum number of rows that can fit in the visible part of the grid\n\n if (props.getRowHeight) {\n const renderContext = apiRef.current.unstable_getRenderContext();\n const viewportPageSize = renderContext.lastRowIndex - renderContext.firstRowIndex;\n return Math.min(viewportPageSize - 1, currentPage.rows.length);\n }\n const maximumPageSizeWithoutScrollBar = Math.floor(dimensions.viewportInnerSize.height / gridDensityRowHeightSelector(apiRef));\n return Math.min(maximumPageSizeWithoutScrollBar, currentPage.rows.length);\n }, [apiRef, props.pagination, props.paginationMode, props.getRowHeight]);\n const dimensionsApi = {\n resize,\n getRootDimensions,\n unstable_getViewportPageSize: getViewportPageSize,\n unstable_updateGridDimensionsRef: updateGridDimensionsRef\n };\n useGridApiMethod(apiRef, dimensionsApi, 'GridDimensionsApi');\n const debounceResize = React.useMemo(() => debounce(resize, 60), [resize]);\n const isFirstSizing = React.useRef(true);\n const handleResize = React.useCallback(size => {\n rootDimensionsRef.current = size; // jsdom has no layout capabilities\n\n const isJSDOM = /jsdom/.test(window.navigator.userAgent);\n if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {\n logger.error(['The parent DOM element of the data grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\\n'));\n errorShown.current = true;\n }\n if (size.width === 0 && !errorShown.current && !isJSDOM) {\n logger.error(['The parent DOM element of the data grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\\n'));\n errorShown.current = true;\n }\n if (isTestEnvironment) {\n // We don't need to debounce the resize for tests.\n resize();\n isFirstSizing.current = false;\n return;\n }\n if (isFirstSizing.current) {\n // We want to initialize the grid dimensions as soon as possible to avoid flickering\n resize();\n isFirstSizing.current = false;\n return;\n }\n debounceResize();\n }, [props.autoHeight, debounceResize, logger, resize]);\n useEnhancedEffect(() => updateGridDimensionsRef(), [updateGridDimensionsRef]);\n useGridApiOptionHandler(apiRef, 'sortedRowsSet', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'pageChange', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'pageSizeChange', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'columnsChange', updateGridDimensionsRef);\n useGridApiEventHandler(apiRef, 'resize', handleResize);\n useGridApiOptionHandler(apiRef, 'debouncedResize', props.onResize);\n}","map":{"version":3,"names":["React","debounce","ownerDocument","unstable_useEnhancedEffect","useEnhancedEffect","useGridApiEventHandler","useGridApiOptionHandler","useGridApiMethod","useGridLogger","gridColumnsTotalWidthSelector","gridDensityTotalHeaderHeightSelector","gridDensityRowHeightSelector","useGridSelector","getVisibleRows","gridRowsMetaSelector","calculatePinnedRowsHeight","isTestEnvironment","process","env","NODE_ENV","hasScroll","content","container","scrollBarSize","hasScrollXIfNoYScrollBar","width","hasScrollYIfNoXScrollBar","height","hasScrollX","hasScrollY","useGridDimensions","apiRef","props","logger","errorShown","useRef","rootDimensionsRef","fullDimensionsRef","rowsMeta","totalHeaderHeight","updateGridDimensionsRef","useCallback","_apiRef$current$rootE","rootElement","current","rootElementRef","columnsTotalWidth","pinnedRowsHeight","scrollbarSize","doc","scrollDiv","createElement","style","position","overflow","className","appendChild","offsetWidth","clientWidth","removeChild","viewportOuterSize","autoHeight","Math","round","currentPageTotalHeight","scrollInformation","top","bottom","viewportInnerSize","newFullDimensions","prevDimensions","publishEvent","resize","getRootDimensions","getViewportPageSize","dimensions","currentPage","pagination","paginationMode","getRowHeight","renderContext","unstable_getRenderContext","viewportPageSize","lastRowIndex","firstRowIndex","min","rows","length","maximumPageSizeWithoutScrollBar","floor","dimensionsApi","unstable_getViewportPageSize","unstable_updateGridDimensionsRef","debounceResize","useMemo","isFirstSizing","handleResize","size","isJSDOM","test","window","navigator","userAgent","error","join","onResize"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@mui/x-data-grid/hooks/features/dimensions/useGridDimensions.js"],"sourcesContent":["import * as React from 'react';\nimport { debounce, ownerDocument, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';\nimport { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';\nimport { useGridApiMethod } from '../../utils/useGridApiMethod';\nimport { useGridLogger } from '../../utils/useGridLogger';\nimport { gridColumnsTotalWidthSelector } from '../columns';\nimport { gridDensityTotalHeaderHeightSelector, gridDensityRowHeightSelector } from '../density';\nimport { useGridSelector } from '../../utils';\nimport { getVisibleRows } from '../../utils/useGridVisibleRows';\nimport { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';\nimport { calculatePinnedRowsHeight } from '../rows/gridRowsUtils';\nconst isTestEnvironment = process.env.NODE_ENV === 'test';\n\nconst hasScroll = ({\n content,\n container,\n scrollBarSize\n}) => {\n const hasScrollXIfNoYScrollBar = content.width > container.width;\n const hasScrollYIfNoXScrollBar = content.height > container.height;\n let hasScrollX = false;\n let hasScrollY = false;\n\n if (hasScrollXIfNoYScrollBar || hasScrollYIfNoXScrollBar) {\n hasScrollX = hasScrollXIfNoYScrollBar;\n hasScrollY = content.height + (hasScrollX ? scrollBarSize : 0) > container.height; // We recalculate the scroll x to consider the size of the y scrollbar.\n\n if (hasScrollY) {\n hasScrollX = content.width + scrollBarSize > container.width;\n }\n }\n\n return {\n hasScrollX,\n hasScrollY\n };\n};\n\nexport function useGridDimensions(apiRef, props) {\n const logger = useGridLogger(apiRef, 'useResizeContainer');\n const errorShown = React.useRef(false);\n const rootDimensionsRef = React.useRef(null);\n const fullDimensionsRef = React.useRef(null);\n const rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);\n const totalHeaderHeight = useGridSelector(apiRef, gridDensityTotalHeaderHeightSelector);\n const updateGridDimensionsRef = React.useCallback(() => {\n var _apiRef$current$rootE;\n\n const rootElement = (_apiRef$current$rootE = apiRef.current.rootElementRef) == null ? void 0 : _apiRef$current$rootE.current;\n const columnsTotalWidth = gridColumnsTotalWidthSelector(apiRef);\n const pinnedRowsHeight = calculatePinnedRowsHeight(apiRef);\n\n if (!rootDimensionsRef.current) {\n return;\n }\n\n let scrollBarSize;\n\n if (props.scrollbarSize != null) {\n scrollBarSize = props.scrollbarSize;\n } else if (!columnsTotalWidth || !rootElement) {\n scrollBarSize = 0;\n } else {\n const doc = ownerDocument(rootElement);\n const scrollDiv = doc.createElement('div');\n scrollDiv.style.width = '99px';\n scrollDiv.style.height = '99px';\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.overflow = 'scroll';\n scrollDiv.className = 'scrollDiv';\n rootElement.appendChild(scrollDiv);\n scrollBarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n rootElement.removeChild(scrollDiv);\n }\n\n let viewportOuterSize;\n let hasScrollX;\n let hasScrollY;\n\n if (props.autoHeight) {\n hasScrollY = false;\n hasScrollX = Math.round(columnsTotalWidth) > rootDimensionsRef.current.width;\n viewportOuterSize = {\n width: rootDimensionsRef.current.width,\n height: rowsMeta.currentPageTotalHeight + (hasScrollX ? scrollBarSize : 0)\n };\n } else {\n viewportOuterSize = {\n width: rootDimensionsRef.current.width,\n height: rootDimensionsRef.current.height - totalHeaderHeight\n };\n const scrollInformation = hasScroll({\n content: {\n width: Math.round(columnsTotalWidth),\n height: rowsMeta.currentPageTotalHeight\n },\n container: {\n width: viewportOuterSize.width,\n height: viewportOuterSize.height - pinnedRowsHeight.top - pinnedRowsHeight.bottom\n },\n scrollBarSize\n });\n hasScrollY = scrollInformation.hasScrollY;\n hasScrollX = scrollInformation.hasScrollX;\n }\n\n const viewportInnerSize = {\n width: viewportOuterSize.width - (hasScrollY ? scrollBarSize : 0),\n height: viewportOuterSize.height - (hasScrollX ? scrollBarSize : 0)\n };\n const newFullDimensions = {\n viewportOuterSize,\n viewportInnerSize,\n hasScrollX,\n hasScrollY,\n scrollBarSize\n };\n const prevDimensions = fullDimensionsRef.current;\n fullDimensionsRef.current = newFullDimensions;\n\n if (newFullDimensions.viewportInnerSize.width !== (prevDimensions == null ? void 0 : prevDimensions.viewportInnerSize.width) || newFullDimensions.viewportInnerSize.height !== (prevDimensions == null ? void 0 : prevDimensions.viewportInnerSize.height)) {\n apiRef.current.publishEvent('viewportInnerSizeChange', newFullDimensions.viewportInnerSize);\n }\n }, [apiRef, props.scrollbarSize, props.autoHeight, totalHeaderHeight, rowsMeta.currentPageTotalHeight]);\n const resize = React.useCallback(() => {\n updateGridDimensionsRef();\n apiRef.current.publishEvent('debouncedResize', rootDimensionsRef.current);\n }, [apiRef, updateGridDimensionsRef]);\n const getRootDimensions = React.useCallback(() => fullDimensionsRef.current, []);\n const getViewportPageSize = React.useCallback(() => {\n const dimensions = apiRef.current.getRootDimensions();\n\n if (!dimensions) {\n return 0;\n }\n\n const currentPage = getVisibleRows(apiRef, {\n pagination: props.pagination,\n paginationMode: props.paginationMode\n }); // TODO: Use a combination of scrollTop, dimensions.viewportInnerSize.height and rowsMeta.possitions\n // to find out the maximum number of rows that can fit in the visible part of the grid\n\n if (props.getRowHeight) {\n const renderContext = apiRef.current.unstable_getRenderContext();\n const viewportPageSize = renderContext.lastRowIndex - renderContext.firstRowIndex;\n return Math.min(viewportPageSize - 1, currentPage.rows.length);\n }\n\n const maximumPageSizeWithoutScrollBar = Math.floor(dimensions.viewportInnerSize.height / gridDensityRowHeightSelector(apiRef));\n return Math.min(maximumPageSizeWithoutScrollBar, currentPage.rows.length);\n }, [apiRef, props.pagination, props.paginationMode, props.getRowHeight]);\n const dimensionsApi = {\n resize,\n getRootDimensions,\n unstable_getViewportPageSize: getViewportPageSize,\n unstable_updateGridDimensionsRef: updateGridDimensionsRef\n };\n useGridApiMethod(apiRef, dimensionsApi, 'GridDimensionsApi');\n const debounceResize = React.useMemo(() => debounce(resize, 60), [resize]);\n const isFirstSizing = React.useRef(true);\n const handleResize = React.useCallback(size => {\n rootDimensionsRef.current = size; // jsdom has no layout capabilities\n\n const isJSDOM = /jsdom/.test(window.navigator.userAgent);\n\n if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {\n logger.error(['The parent DOM element of the data grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\\n'));\n errorShown.current = true;\n }\n\n if (size.width === 0 && !errorShown.current && !isJSDOM) {\n logger.error(['The parent DOM element of the data grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\\n'));\n errorShown.current = true;\n }\n\n if (isTestEnvironment) {\n // We don't need to debounce the resize for tests.\n resize();\n isFirstSizing.current = false;\n return;\n }\n\n if (isFirstSizing.current) {\n // We want to initialize the grid dimensions as soon as possible to avoid flickering\n resize();\n isFirstSizing.current = false;\n return;\n }\n\n debounceResize();\n }, [props.autoHeight, debounceResize, logger, resize]);\n useEnhancedEffect(() => updateGridDimensionsRef(), [updateGridDimensionsRef]);\n useGridApiOptionHandler(apiRef, 'sortedRowsSet', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'pageChange', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'pageSizeChange', updateGridDimensionsRef);\n useGridApiOptionHandler(apiRef, 'columnsChange', updateGridDimensionsRef);\n useGridApiEventHandler(apiRef, 'resize', handleResize);\n useGridApiOptionHandler(apiRef, 'debouncedResize', props.onResize);\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}