{"version":3,"file":"6d0a698cf5a36b6585159a836842a8ab1ffe9f55-01d11e4d898877936507.js","mappings":"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","sources":["webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/agGridReact.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/legacy/agGridReactLegacy.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/legacy/legacyReactComponent.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/agGridReactUi.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/beansContext.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/cellRenderer/detailCellRenderer.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/cellRenderer/groupCellRenderer.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/cells/cellComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/cells/popupEditorComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/cells/showJsRenderer.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/gridBodyComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/gridComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/gridHeaderComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/headerCellComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/headerFilterCellComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/headerGroupCellComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/headerRowComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/header/headerRowContainerComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/jsComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/reactComment.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/rows/rowComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/rows/rowContainerComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/tabGuardComp.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/useEffectOnce.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/reactUi/utils.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/agGridColumn.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/changeDetectionService.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/keyGenerator.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/newReactComponent.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/portalManager.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/reactComponent.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/lib/shared/reactFrameworkOverrides.js","webpack://phmsa-enforcement-data/./node_modules/ag-grid-react/main.js","webpack://phmsa-enforcement-data/./src/utils/client-render-utils.js","webpack://phmsa-enforcement-data/./src/components/export-csv.js","webpack://phmsa-enforcement-data/./src/utils/csv-utils.js","webpack://phmsa-enforcement-data/./src/utils/head-utils.js","webpack://phmsa-enforcement-data/./src/utils/render-link-utils.js"],"sourcesContent":["// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar agGridReactLegacy_1 = require(\"./legacy/agGridReactLegacy\");\nvar agGridReactUi_1 = require(\"./reactUi/agGridReactUi\");\nvar AgGridReact = /** @class */ (function (_super) {\n __extends(AgGridReact, _super);\n function AgGridReact() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.setGridApi = function (api, columnApi) {\n _this.api = api;\n _this.columnApi = columnApi;\n };\n return _this;\n }\n AgGridReact.prototype.render = function () {\n var ReactComponentToUse = this.props.suppressReactUi ? agGridReactLegacy_1.AgGridReactLegacy : agGridReactUi_1.AgGridReactUi;\n return react_1.default.createElement(ReactComponentToUse, __assign({}, this.props, { setGridApi: this.setGridApi }));\n };\n return AgGridReact;\n}(react_1.Component));\nexports.AgGridReact = AgGridReact;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_1 = __importStar(require(\"react\"));\nvar legacyReactComponent_1 = require(\"./legacyReactComponent\");\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nvar AgGridReactLegacy = /** @class */ (function (_super) {\n __extends(AgGridReactLegacy, _super);\n function AgGridReactLegacy(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.api = null;\n _this.destroyed = false;\n _this.SYNCHRONOUS_CHANGE_PROPERTIES = ['context'];\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n return _this;\n }\n AgGridReactLegacy.prototype.render = function () {\n var _this = this;\n return react_1.default.createElement('div', {\n style: this.createStyleForDiv(),\n className: this.props.className,\n ref: function (e) {\n _this.eGridDiv = e;\n }\n }, this.portalManager.getPortals());\n };\n AgGridReactLegacy.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactLegacy.prototype.componentDidMount = function () {\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n agGridReact: this,\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this, this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(false)\n };\n var gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(gridOptions, this.props);\n // don't need the return value\n new ag_grid_community_1.Grid(this.eGridDiv, this.gridOptions, gridParams);\n this.api = this.gridOptions.api;\n this.columnApi = this.gridOptions.columnApi;\n this.props.setGridApi(this.api, this.columnApi);\n };\n AgGridReactLegacy.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n else if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactLegacy.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData) || this.props.getRowId != null ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n AgGridReactLegacy.prototype.shouldComponentUpdate = function (nextProps) {\n this.processPropsChanges(this.props, nextProps);\n // we want full control of the dom, as AG Grid doesn't use React internally,\n // so for performance reasons we tell React we don't need render called after\n // property changes.\n return false;\n };\n AgGridReactLegacy.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactLegacy.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processSynchronousChanges(changes);\n this.processAsynchronousChanges(changes);\n };\n AgGridReactLegacy.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactLegacy.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactLegacy.prototype.componentWillUnmount = function () {\n if (this.api) {\n this.api.destroy();\n this.api = null;\n }\n this.destroyed = true;\n this.portalManager.destroy();\n };\n AgGridReactLegacy.prototype.isDisableStaticMarkup = function () {\n return this.props.disableStaticMarkup === true;\n };\n AgGridReactLegacy.prototype.isLegacyComponentRendering = function () {\n return this.props.legacyComponentRendering === true;\n };\n AgGridReactLegacy.prototype.processSynchronousChanges = function (changes) {\n var asyncChanges = __assign({}, changes);\n if (Object.keys(asyncChanges).length > 0) {\n var synchronousChanges_1 = {};\n this.SYNCHRONOUS_CHANGE_PROPERTIES.forEach(function (synchronousChangeProperty) {\n if (asyncChanges[synchronousChangeProperty]) {\n synchronousChanges_1[synchronousChangeProperty] = asyncChanges[synchronousChangeProperty];\n delete asyncChanges[synchronousChangeProperty];\n }\n });\n if (Object.keys(synchronousChanges_1).length > 0 && !!this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(synchronousChanges_1, this.gridOptions, this.api, this.columnApi);\n }\n }\n return asyncChanges;\n };\n AgGridReactLegacy.prototype.processAsynchronousChanges = function (changes) {\n var _this = this;\n if (Object.keys(changes).length > 0) {\n window.setTimeout(function () {\n // destroyed?\n if (_this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n }\n });\n }\n };\n AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n AgGridReactLegacy.defaultProps = {\n legacyComponentRendering: false,\n disableStaticMarkup: false,\n maxComponentCreationTimeMs: AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS\n };\n return AgGridReactLegacy;\n}(react_1.Component));\nexports.AgGridReactLegacy = AgGridReactLegacy;\nAgGridReactLegacy.propTypes = {\n gridOptions: prop_types_1.default.object\n};\naddProperties(ag_grid_community_1.ComponentUtil.getEventCallbacks(), prop_types_1.default.func);\naddProperties(ag_grid_community_1.ComponentUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(ag_grid_community_1.ComponentUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(ag_grid_community_1.ComponentUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(ag_grid_community_1.ComponentUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(ag_grid_community_1.ComponentUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(ag_grid_community_1.ComponentUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n AgGridReactLegacy[propKey] = propType;\n });\n}\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(agGridReact, portalManager) {\n var _this = _super.call(this) || this;\n _this.agGridReact = agGridReact;\n _this.portalManager = portalManager;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n if (this.agGridReact.isLegacyComponentRendering()) {\n return new legacyReactComponent_1.LegacyReactComponent(UserReactComponent, this.agGridReact, this.portalManager, componentType);\n }\n else {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.portalManager, componentType);\n }\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"../shared/reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"../shared/keyGenerator\"));\nvar LegacyReactComponent = /** @class */ (function (_super) {\n __extends(LegacyReactComponent, _super);\n function LegacyReactComponent(reactComponent, parentComponent, portalManager, componentType) {\n var _this = _super.call(this, reactComponent, portalManager, componentType) || this;\n _this.staticMarkup = null;\n _this.staticRenderTime = 0;\n _this.parentComponent = parentComponent;\n return _this;\n }\n LegacyReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.renderStaticMarkup(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(params, resolve); });\n };\n LegacyReactComponent.prototype.createReactComponent = function (params, resolve) {\n var _this = this;\n // regular components (ie not functional)\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n _this.removeStaticMarkup();\n };\n }\n var reactComponent = react_1.createElement(this.reactComponent, params);\n var portal = react_dom_1.createPortal(reactComponent, this.eParentElement, keyGenerator_1.default() // fixed deltaRowModeRefreshCompRenderer\n );\n this.portal = portal;\n this.portalManager.mountReactPortal(portal, this, function (value) {\n resolve(value);\n // functional/stateless components have a slightly different lifecycle (no refs) so we'll clean them up\n // here\n if (_this.isStatelessComponent()) {\n if (_this.isSlowRenderer()) {\n _this.removeStaticMarkup();\n }\n setTimeout(function () {\n _this.removeStaticMarkup();\n });\n }\n });\n };\n LegacyReactComponent.prototype.fallbackMethodAvailable = function (name) {\n return false;\n };\n LegacyReactComponent.prototype.fallbackMethod = function (name, params) { };\n LegacyReactComponent.prototype.isSlowRenderer = function () {\n return this.staticRenderTime >= LegacyReactComponent.SLOW_RENDERING_THRESHOLD;\n };\n LegacyReactComponent.prototype.isNullValue = function () {\n return this.staticMarkup === '';\n };\n /*\n * Attempt to render the component as static markup if possible\n * What this does is eliminate any visible flicker for the user in the scenario where a component is destroyed and\n * recreated with exactly the same data (ie with force refresh)\n * Note: Some use cases will throw an error (ie when using Context) so if an error occurs just ignore it any move on\n */\n LegacyReactComponent.prototype.renderStaticMarkup = function (params) {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n var originalConsoleError = console.error;\n var reactComponent = react_1.createElement(this.reactComponent, params);\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var start = Date.now();\n var staticMarkup = server_1.renderToStaticMarkup(reactComponent);\n this.staticRenderTime = Date.now() - start;\n console.error = originalConsoleError;\n // if the render method returns null the result will be an empty string\n if (staticMarkup === '') {\n this.staticMarkup = staticMarkup;\n }\n else {\n if (staticMarkup) {\n // we wrap the content as if there is \"trailing\" text etc it's not easy to safely remove\n // the same is true for memoized renderers, renderers that that return simple strings or NaN etc\n this.staticMarkup = document.createElement('span');\n this.staticMarkup.innerHTML = staticMarkup;\n this.eParentElement.appendChild(this.staticMarkup);\n }\n }\n }\n catch (e) {\n // we tried - this can happen with certain (rare) edge cases\n }\n finally {\n console.error = originalConsoleError;\n }\n };\n LegacyReactComponent.prototype.removeStaticMarkup = function () {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n if (this.staticMarkup) {\n if (this.staticMarkup.remove) {\n // everyone else in the world\n this.staticMarkup.remove();\n this.staticMarkup = null;\n }\n else if (this.eParentElement.removeChild) {\n // ie11...\n this.eParentElement.removeChild(this.staticMarkup);\n this.staticMarkup = null;\n }\n }\n };\n LegacyReactComponent.prototype.rendered = function () {\n return this.isNullValue() ||\n !!this.staticMarkup || (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n LegacyReactComponent.SLOW_RENDERING_THRESHOLD = 3;\n return LegacyReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.LegacyReactComponent = LegacyReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar gridComp_1 = __importDefault(require(\"./gridComp\"));\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nfunction debug(msg, obj) {\n // console.log(msg, obj);\n}\nvar AgGridReactUi = /** @class */ (function (_super) {\n __extends(AgGridReactUi, _super);\n function AgGridReactUi(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.destroyFuncs = [];\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.eGui = react_1.default.createRef();\n _this.whenReadyFuncs = [];\n _this.ready = false;\n _this.renderedAfterMount = false;\n _this.mounted = false;\n debug('AgGridReactUi.constructor');\n _this.state = { context: undefined };\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n _this.destroyFuncs.push(function () { return _this.portalManager.destroy(); });\n return _this;\n }\n AgGridReactUi.prototype.render = function () {\n debug('AgGridReactUi.render, context = ' + (this.state.context));\n if (this.state.context) {\n this.renderedAfterMount = true;\n }\n return (react_1.default.createElement(\"div\", { style: this.createStyleForDiv(), className: this.props.className, ref: this.eGui },\n this.state.context && react_1.default.createElement(gridComp_1.default, { context: this.state.context }),\n this.portalManager.getPortals()));\n };\n AgGridReactUi.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactUi.prototype.componentDidMount = function () {\n var _this = this;\n if (this.mounted) {\n debug('AgGridReactUi.componentDidMount - skipping');\n return;\n }\n debug('AgGridReactUi.componentDidMount');\n this.mounted = true;\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(true)\n };\n this.gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n this.gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this.props);\n var createUiCallback = function (context) {\n _this.setState({ context: context });\n // because React is Async, we need to wait for the UI to be initialised before exposing the API's\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.createUiCallback');\n _this.api = _this.gridOptions.api;\n _this.columnApi = _this.gridOptions.columnApi;\n _this.props.setGridApi(_this.api, _this.columnApi);\n _this.destroyFuncs.push(function () { return _this.api.destroy(); });\n });\n };\n // this callback adds to ctrlsService.whenReady(), just like above, however because whenReady() executes\n // funcs in the order they were received, we know adding items here will be AFTER the grid has set columns\n // and data. this is because GridCoreCreator sets these between calling createUiCallback and acceptChangesCallback\n var acceptChangesCallback = function (context) {\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.acceptChangesCallback');\n _this.whenReadyFuncs.forEach(function (f) { return f(); });\n _this.whenReadyFuncs.length = 0;\n _this.ready = true;\n });\n };\n // don't need the return value\n var gridCoreCreator = new ag_grid_community_1.GridCoreCreator();\n gridCoreCreator.create(this.eGui.current, this.gridOptions, createUiCallback, acceptChangesCallback, gridParams);\n };\n AgGridReactUi.prototype.componentWillUnmount = function () {\n if (this.renderedAfterMount) {\n debug('AgGridReactUi.componentWillUnmount - executing');\n this.destroyFuncs.forEach(function (f) { return f(); });\n this.destroyFuncs.length = 0;\n }\n else {\n debug('AgGridReactUi.componentWillUnmount - skipping');\n }\n };\n AgGridReactUi.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactUi.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processChanges(changes);\n };\n AgGridReactUi.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactUi.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactUi.prototype.processChanges = function (changes) {\n var _this = this;\n this.processWhenReady(function () {\n return ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n });\n };\n AgGridReactUi.prototype.processWhenReady = function (func) {\n if (this.ready) {\n debug('AgGridReactUi.processWhenReady sync');\n func();\n }\n else {\n debug('AgGridReactUi.processWhenReady async');\n this.whenReadyFuncs.push(func);\n }\n };\n AgGridReactUi.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactUi.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData || this.props.getRowId != null) ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n return AgGridReactUi;\n}(react_1.Component));\nexports.AgGridReactUi = AgGridReactUi;\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.parent, componentType);\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.BeansContext = react_1.default.createContext({});\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar agGridReactUi_1 = require(\"../agGridReactUi\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar DetailCellRenderer = function (props, ref) {\n var _a = react_1.useContext(beansContext_1.BeansContext), ctrlsFactory = _a.ctrlsFactory, context = _a.context, gridOptionsWrapper = _a.gridOptionsWrapper, resizeObserverService = _a.resizeObserverService, clientSideRowModel = _a.clientSideRowModel, serverSideRowModel = _a.serverSideRowModel;\n var _b = react_1.useState(new utils_1.CssClasses()), cssClasses = _b[0], setCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses()), gridCssClasses = _c[0], setGridCssClasses = _c[1];\n var _d = react_1.useState(), detailGridOptions = _d[0], setDetailGridOptions = _d[1];\n var _e = react_1.useState(), detailRowData = _e[0], setDetailRowData = _e[1];\n var ctrlRef = react_1.useRef();\n var eGuiRef = react_1.useRef(null);\n var topClassName = react_1.useMemo(function () { return cssClasses.toString() + ' ag-details-row'; }, [cssClasses]);\n var gridClassName = react_1.useMemo(function () { return gridCssClasses.toString() + ' ag-details-grid'; }, [gridCssClasses]);\n if (ref) {\n react_1.useImperativeHandle(ref, function () { return ({\n refresh: function () { return ctrlRef.current.refresh(); }\n }); });\n }\n useEffectOnce_1.useEffectOnce(function () {\n if (props.template && typeof props.template === 'string') {\n console.warn('AG Grid: detailCellRendererParams.template is not supported by React - this only works with frameworks that work against String templates. To change the template, please provide your own React Detail Cell Renderer.');\n }\n });\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveDetailGridCssClass: function (name, on) { return setGridCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setDetailGrid: function (gridOptions) { return setDetailGridOptions(gridOptions); },\n setRowData: function (rowData) { return setDetailRowData(rowData); },\n getGui: function () { return eGuiRef.current; }\n };\n var ctrl = ctrlsFactory.getInstance('detailCellRenderer');\n if (!ctrl) {\n return;\n } // should never happen, means master/detail module not loaded\n context.createBean(ctrl);\n ctrl.init(compProxy, props);\n ctrlRef.current = ctrl;\n var resizeObserverDestroyFunc;\n if (gridOptionsWrapper.isDetailRowAutoHeight()) {\n var checkRowSizeFunc = function () {\n // when disposed, current is null, so nothing to do, and the resize observer will\n // be disposed of soon\n if (eGuiRef.current == null) {\n return;\n }\n var clientHeight = eGuiRef.current.clientHeight;\n // if the UI is not ready, the height can be 0, which we ignore, as otherwise a flicker will occur\n // as UI goes from the default height, to 0, then to the real height as UI becomes ready. this means\n // it's not possible for have 0 as auto-height, however this is an improbable use case, as even an\n // empty detail grid would still have some styling around it giving at least a few pixels.\n if (clientHeight != null && clientHeight > 0) {\n // we do the update in a timeout, to make sure we are not calling from inside the grid\n // doing another update\n var updateRowHeightFunc = function () {\n props.node.setRowHeight(clientHeight);\n if (clientSideRowModel) {\n clientSideRowModel.onRowHeightChanged();\n }\n else if (serverSideRowModel) {\n serverSideRowModel.onRowHeightChanged();\n }\n };\n setTimeout(updateRowHeightFunc, 0);\n }\n };\n resizeObserverDestroyFunc = resizeObserverService.observeResize(eGuiRef.current, checkRowSizeFunc);\n checkRowSizeFunc();\n }\n return function () {\n context.destroyBean(ctrl);\n if (resizeObserverDestroyFunc) {\n resizeObserverDestroyFunc();\n }\n };\n });\n var setGridApi = react_1.useCallback(function (api, columnApi) {\n ctrlRef.current.registerDetailWithMaster(api, columnApi);\n }, []);\n return (react_1.default.createElement(\"div\", { className: topClassName, ref: eGuiRef }, detailGridOptions &&\n react_1.default.createElement(agGridReactUi_1.AgGridReactUi, __assign({ className: gridClassName }, detailGridOptions, { rowData: detailRowData, setGridApi: setGridApi }))));\n};\nexports.default = react_1.forwardRef(DetailCellRenderer);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar GroupCellRenderer = react_1.forwardRef(function (props, ref) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var eValueRef = react_1.useRef(null);\n var eCheckboxRef = react_1.useRef(null);\n var eExpandedRef = react_1.useRef(null);\n var eContractedRef = react_1.useRef(null);\n var _a = react_1.useState(), innerCompDetails = _a[0], setInnerCompDetails = _a[1];\n var _b = react_1.useState(), childCount = _b[0], setChildCount = _b[1];\n var _c = react_1.useState(), value = _c[0], setValue = _c[1];\n var _d = react_1.useState(new utils_1.CssClasses()), cssClasses = _d[0], setCssClasses = _d[1];\n var _e = react_1.useState(new utils_1.CssClasses('ag-hidden')), expandedCssClasses = _e[0], setExpandedCssClasses = _e[1];\n var _f = react_1.useState(new utils_1.CssClasses('ag-hidden')), contractedCssClasses = _f[0], setContractedCssClasses = _f[1];\n var _g = react_1.useState(new utils_1.CssClasses('ag-invisible')), checkboxCssClasses = _g[0], setCheckboxCssClasses = _g[1];\n react_1.useImperativeHandle(ref, function () {\n return {\n // force new instance when grid tries to refresh\n refresh: function () { return false; }\n };\n });\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(innerCompDetails, context, eValueRef.current);\n }, [innerCompDetails]);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setInnerRenderer: function (details, valueToDisplay) {\n setInnerCompDetails(details);\n setValue(valueToDisplay);\n },\n setChildCount: function (count) { return setChildCount(count); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setContractedDisplayed: function (displayed) { return setContractedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setExpandedDisplayed: function (displayed) { return setExpandedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setCheckboxVisible: function (visible) { return setCheckboxCssClasses(function (prev) { return prev.setClass('ag-invisible', !visible); }); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GroupCellRendererCtrl());\n ctrl.init(compProxy, eGui.current, eCheckboxRef.current, eExpandedRef.current, eContractedRef.current, GroupCellRenderer, props);\n return function () { context.destroyBean(ctrl); };\n });\n var className = react_1.useMemo(function () { return \"ag-cell-wrapper \" + cssClasses.toString(); }, [cssClasses]);\n var expandedClassName = react_1.useMemo(function () { return \"ag-group-expanded \" + expandedCssClasses.toString(); }, [expandedCssClasses]);\n var contractedClassName = react_1.useMemo(function () { return \"ag-group-contracted \" + contractedCssClasses.toString(); }, [contractedCssClasses]);\n var checkboxClassName = react_1.useMemo(function () { return \"ag-group-checkbox \" + checkboxCssClasses.toString(); }, [checkboxCssClasses]);\n var useFwRenderer = innerCompDetails && innerCompDetails.componentFromFramework;\n var FwRenderer = useFwRenderer ? innerCompDetails.componentClass : undefined;\n var useValue = innerCompDetails == null && value != null;\n return (react_1.default.createElement(\"span\", __assign({ className: className, ref: eGui }, (!props.colDef ? { role: 'gridcell' } : {})),\n react_1.default.createElement(\"span\", { className: expandedClassName, ref: eExpandedRef }),\n react_1.default.createElement(\"span\", { className: contractedClassName, ref: eContractedRef }),\n react_1.default.createElement(\"span\", { className: checkboxClassName, ref: eCheckboxRef }),\n react_1.default.createElement(\"span\", { className: \"ag-group-value\", ref: eValueRef },\n useValue && react_1.default.createElement(react_1.default.Fragment, null, value),\n useFwRenderer && react_1.default.createElement(FwRenderer, __assign({}, innerCompDetails.params))),\n react_1.default.createElement(\"span\", { className: \"ag-group-child-count\" }, childCount)));\n});\n// we do not memo() here, as it would stop the forwardRef working\nexports.default = GroupCellRenderer;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar popupEditorComp_1 = __importDefault(require(\"./popupEditorComp\"));\nvar showJsRenderer_1 = __importDefault(require(\"./showJsRenderer\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar CellCompState;\n(function (CellCompState) {\n CellCompState[CellCompState[\"ShowValue\"] = 0] = \"ShowValue\";\n CellCompState[CellCompState[\"EditValue\"] = 1] = \"EditValue\";\n})(CellCompState = exports.CellCompState || (exports.CellCompState = {}));\nvar checkCellEditorDeprecations = function (popup, cellEditor, cellCtrl) {\n var col = cellCtrl.getColumn();\n // cellEditor is written to be a popup editor, however colDef.cellEditorPopup is not set\n if (!popup && cellEditor.isPopup && cellEditor.isPopup()) {\n var msg_1 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor is a popup using colDef.cellEditorPopup=true. AG Grid React cannot depend on the editor component specifying if it's in a popup (via the isPopup() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_1); }, 'jsEditorComp-isPopup-' + cellCtrl.getColumn().getColId());\n }\n // cellEditor is a popup and is trying to position itself the deprecated way\n if (popup && cellEditor.getPopupPosition && cellEditor.getPopupPosition() != null) {\n var msg_2 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor popup position using colDef.cellEditorPopupPosition=true. AG Grid React cannot depend on the editor component specifying it's position (via the getPopupPosition() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_2); }, 'jsEditorComp-getPopupPosition-' + cellCtrl.getColumn().getColId());\n }\n};\nvar jsxEditValue = function (editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui, cellCtrl, jsEditorComp) {\n var compDetails = editDetails.compDetails;\n var CellEditorClass = compDetails.componentClass;\n var reactInlineEditor = compDetails.componentFromFramework && !editDetails.popup;\n var reactPopupEditor = compDetails.componentFromFramework && editDetails.popup;\n var jsPopupEditor = !compDetails.componentFromFramework && editDetails.popup;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactInlineEditor\n && react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setInlineCellEditorRef })),\n reactPopupEditor\n && react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, wrappedContent: react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setPopupCellEditorRef })) }),\n jsPopupEditor && jsEditorComp && react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, jsChildComp: jsEditorComp })));\n};\nvar jsxShowValue = function (showDetails, key, parentId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setECellValue) {\n var compDetails = showDetails.compDetails, value = showDetails.value;\n var noCellRenderer = !compDetails;\n var reactCellRenderer = compDetails && compDetails.componentFromFramework;\n var CellRendererClass = compDetails && compDetails.componentClass;\n // if we didn't do this, objects would cause React error. we depend on objects for things\n // like the aggregation functions avg and count, which return objects and depend on toString()\n // getting called.\n var valueForNoCellRenderer = (value && value.toString) ? value.toString() : value;\n var bodyJsxFunc = function () { return (react_1.default.createElement(react_1.default.Fragment, null,\n noCellRenderer && react_1.default.createElement(react_1.default.Fragment, null, valueForNoCellRenderer),\n reactCellRenderer && !reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key, ref: cellRendererRef })),\n reactCellRenderer && reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key })))); };\n return (react_1.default.createElement(react_1.default.Fragment, null, showCellWrapper ?\n react_1.default.createElement(\"span\", { role: \"presentation\", id: \"cell-\" + parentId, className: \"ag-cell-value\", ref: setECellValue }, bodyJsxFunc())\n :\n bodyJsxFunc()));\n};\nvar CellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var cellCtrl = props.cellCtrl, printLayout = props.printLayout, editingRow = props.editingRow;\n var _a = react_1.useState(), renderDetails = _a[0], setRenderDetails = _a[1];\n var _b = react_1.useState(), editDetails = _b[0], setEditDetails = _b[1];\n var _c = react_1.useState(1), renderKey = _c[0], setRenderKey = _c[1];\n var _d = react_1.useState(new utils_1.CssClasses()), cssClasses = _d[0], setCssClasses = _d[1];\n var _e = react_1.useState(), userStyles = _e[0], setUserStyles = _e[1];\n var _f = react_1.useState(), tabIndex = _f[0], setTabIndex = _f[1];\n var _g = react_1.useState(), ariaDescribedBy = _g[0], setAriaDescribedBy = _g[1];\n var _h = react_1.useState(), role = _h[0], setRole = _h[1];\n var _j = react_1.useState(), colId = _j[0], setColId = _j[1];\n var _k = react_1.useState(), title = _k[0], setTitle = _k[1];\n var _l = react_1.useState(false), includeSelection = _l[0], setIncludeSelection = _l[1];\n var _m = react_1.useState(false), includeRowDrag = _m[0], setIncludeRowDrag = _m[1];\n var _o = react_1.useState(false), includeDndSource = _o[0], setIncludeDndSource = _o[1];\n var _p = react_1.useState(), jsEditorComp = _p[0], setJsEditorComp = _p[1];\n var forceWrapper = react_1.useMemo(function () { return cellCtrl.isForceWrapper(); }, []);\n var eGui = react_1.useRef(null);\n var cellRendererRef = react_1.useRef(null);\n var jsCellRendererRef = react_1.useRef();\n var cellEditorRef = react_1.useRef();\n // when setting the ref, we also update the state item to force a re-render\n var eCellWrapper = react_1.useRef();\n var _q = react_1.useState(0), cellWrapperVersion = _q[0], setCellWrapperVersion = _q[1];\n var setCellWrapperRef = react_1.useCallback(function (ref) {\n eCellWrapper.current = ref;\n setCellWrapperVersion(function (v) { return v + 1; });\n }, []);\n // when setting the ref, we also update the state item to force a re-render\n var eCellValue = react_1.useRef();\n var _r = react_1.useState(0), cellValueVersion = _r[0], setCellValueVersion = _r[1];\n var setCellValueRef = react_1.useCallback(function (ref) {\n eCellValue.current = ref;\n setCellValueVersion(function (v) { return v + 1; });\n }, []);\n var showTools = renderDetails != null && (includeSelection || includeDndSource || includeRowDrag);\n var showCellWrapper = forceWrapper || showTools;\n var setCellEditorRef = react_1.useCallback(function (popup, cellEditor) {\n cellEditorRef.current = cellEditor;\n if (cellEditor) {\n checkCellEditorDeprecations(popup, cellEditor, cellCtrl);\n var editingCancelledByUserComp = cellEditor.isCancelBeforeStart && cellEditor.isCancelBeforeStart();\n if (editingCancelledByUserComp) {\n // we cannot set state inside render, so hack is to do it in next VM turn\n setTimeout(function () { return cellCtrl.stopEditing(); }, 0);\n }\n }\n }, []);\n var setPopupCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(true, cellRenderer); }, []);\n var setInlineCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(false, cellRenderer); }, []);\n showJsRenderer_1.default(renderDetails, showCellWrapper, eCellValue.current, cellValueVersion, jsCellRendererRef, eGui);\n // if RenderDetails changed, need to call refresh. This is not our preferred way (the preferred\n // way for React is just allow the new props to propagate down to the React Cell Renderer)\n // however we do this for backwards compatibility, as having refresh used to be supported.\n var lastRenderDetails = react_1.useRef();\n react_1.useEffect(function () {\n var oldDetails = lastRenderDetails.current;\n var newDetails = renderDetails;\n lastRenderDetails.current = renderDetails;\n // if not updating renderDetails, do nothing\n if (oldDetails == null || oldDetails.compDetails == null\n || newDetails == null || newDetails.compDetails == null) {\n return;\n }\n var oldCompDetails = oldDetails.compDetails;\n var newCompDetails = newDetails.compDetails;\n // if different Cell Renderer, then do nothing, as renderer will be recreated\n if (oldCompDetails.componentClass != newCompDetails.componentClass) {\n return;\n }\n // if no refresh method, do nothing\n if (cellRendererRef.current == null || cellRendererRef.current.refresh == null) {\n return;\n }\n var result = cellRendererRef.current.refresh(newCompDetails.params);\n if (result != true) {\n // increasing the render key forces the refresh. this is undocumented (for React users,\n // we don't document the refresh method, instead we tell them to act on new params).\n // however the GroupCellRenderer has this logic in it and would need a small refactor\n // to get it working without using refresh() returning false. so this hack staying in,\n // in React if refresh() is implemented and returns false (or undefined), we force a refresh\n setRenderKey(function (prev) { return prev + 1; });\n }\n }, [renderDetails]);\n react_1.useEffect(function () {\n var doingJsEditor = editDetails && !editDetails.compDetails.componentFromFramework;\n if (!doingJsEditor) {\n return;\n }\n var compDetails = editDetails.compDetails;\n var isPopup = editDetails.popup === true;\n var cellEditor = jsComp_1.createSyncJsComp(compDetails);\n if (!cellEditor) {\n return;\n }\n var compGui = cellEditor.getGui();\n setCellEditorRef(isPopup, cellEditor);\n if (!isPopup) {\n eGui.current.appendChild(compGui);\n cellEditor.afterGuiAttached && cellEditor.afterGuiAttached();\n }\n setJsEditorComp(cellEditor);\n return function () {\n context.destroyBean(cellEditor);\n setCellEditorRef(isPopup, undefined);\n setJsEditorComp(undefined);\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n };\n }, [editDetails]);\n // tool widgets effect\n react_1.useEffect(function () {\n if (!cellCtrl || !context) {\n return;\n }\n setAriaDescribedBy(!!eCellWrapper.current ? \"cell-\" + cellCtrl.getInstanceId() : undefined);\n if (!eCellWrapper.current || !showCellWrapper) {\n return;\n }\n var destroyFuncs = [];\n var addComp = function (comp) {\n if (comp) {\n var eGui_1 = comp.getGui();\n eCellWrapper.current.insertAdjacentElement('afterbegin', eGui_1);\n destroyFuncs.push(function () {\n context.destroyBean(comp);\n ag_grid_community_1._.removeFromParent(eGui_1);\n });\n }\n return comp;\n };\n if (includeSelection) {\n addComp(cellCtrl.createSelectionCheckbox());\n }\n if (includeDndSource) {\n addComp(cellCtrl.createDndSource());\n }\n if (includeRowDrag) {\n addComp(cellCtrl.createRowDragComp());\n }\n return function () {\n destroyFuncs.forEach(function (f) {\n f();\n });\n };\n }, [showCellWrapper, includeDndSource, includeRowDrag, includeSelection, cellWrapperVersion]);\n useEffectOnce_1.useEffectOnce(function () {\n if (!cellCtrl) {\n return;\n }\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n getFocusableElement: function () { return eGui.current; },\n setTabIndex: function (tabIndex) { return setTabIndex(tabIndex); },\n setRole: function (role) { return setRole(role); },\n setColId: function (colId) { return setColId(colId); },\n setTitle: function (title) { return setTitle(title); },\n setIncludeSelection: function (include) { return setIncludeSelection(include); },\n setIncludeRowDrag: function (include) { return setIncludeRowDrag(include); },\n setIncludeDndSource: function (include) { return setIncludeDndSource(include); },\n getCellEditor: function () { return cellEditorRef.current || null; },\n getCellRenderer: function () { return cellRendererRef.current ? cellRendererRef.current : jsCellRendererRef.current; },\n getParentOfValue: function () { return eCellValue.current ? eCellValue.current : eCellWrapper.current ? eCellWrapper.current : eGui.current; },\n setRenderDetails: function (compDetails, value, force) {\n setRenderDetails({\n value: value,\n compDetails: compDetails,\n force: force\n });\n },\n setEditDetails: function (compDetails, popup, popupPosition) {\n if (compDetails) {\n // start editing\n setEditDetails({\n compDetails: compDetails,\n popup: popup,\n popupPosition: popupPosition\n });\n if (!popup) {\n setRenderDetails(undefined);\n }\n }\n else {\n // stop editing\n setEditDetails(undefined);\n }\n }\n };\n var cellWrapperOrUndefined = eCellWrapper.current || undefined;\n cellCtrl.setComp(compProxy, eGui.current, cellWrapperOrUndefined, printLayout, editingRow);\n });\n var reactCellRendererStateless = react_1.useMemo(function () {\n var res = renderDetails && renderDetails.compDetails\n && renderDetails.compDetails.componentFromFramework\n && utils_1.isComponentStateless(renderDetails.compDetails.componentClass);\n return !!res;\n }, [renderDetails]);\n var className = react_1.useMemo(function () {\n var res = cssClasses.toString();\n if (!showCellWrapper) {\n res += ' ag-cell-value';\n }\n return res;\n }, [cssClasses, showTools]);\n var cellInstanceId = react_1.useMemo(function () { return cellCtrl.getInstanceId(); }, []);\n var showContents = function () { return react_1.default.createElement(react_1.default.Fragment, null,\n renderDetails != null && jsxShowValue(renderDetails, renderKey, cellInstanceId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setCellValueRef),\n editDetails != null && jsxEditValue(editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui.current, cellCtrl, jsEditorComp)); };\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: userStyles, tabIndex: tabIndex, role: role, \"col-id\": colId, title: title, \"aria-describedby\": ariaDescribedBy }, showCellWrapper ?\n react_1.default.createElement(\"div\", { className: \"ag-cell-wrapper\", role: \"presentation\", ref: setCellWrapperRef }, showContents())\n :\n showContents()));\n};\nexports.default = react_1.memo(CellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar PopupEditorComp = function (props) {\n var _a = react_1.useState(), popupEditorWrapper = _a[0], setPopupEditorWrapper = _a[1];\n var _b = react_1.useContext(beansContext_1.BeansContext), context = _b.context, popupService = _b.popupService, gridOptionsWrapper = _b.gridOptionsWrapper;\n useEffectOnce_1.useEffectOnce(function () {\n var editDetails = props.editDetails, cellCtrl = props.cellCtrl, eParentCell = props.eParentCell;\n var compDetails = editDetails.compDetails;\n var useModelPopup = gridOptionsWrapper.isStopEditingWhenCellsLoseFocus();\n var wrapper = context.createBean(new ag_grid_community_1.PopupEditorWrapper(compDetails.params));\n var ePopupGui = wrapper.getGui();\n if (props.jsChildComp) {\n var eChildGui = props.jsChildComp.getGui();\n if (eChildGui) {\n ePopupGui.appendChild(eChildGui);\n }\n }\n var positionParams = {\n column: cellCtrl.getColumn(),\n rowNode: cellCtrl.getRowNode(),\n type: 'popupCellEditor',\n eventSource: eParentCell,\n ePopup: ePopupGui,\n keepWithinBounds: true\n };\n var positionCallback = editDetails.popupPosition === 'under' ?\n popupService.positionPopupUnderComponent.bind(popupService, positionParams)\n : popupService.positionPopupOverComponent.bind(popupService, positionParams);\n var translate = gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = popupService.addPopup({\n modal: useModelPopup,\n eChild: ePopupGui,\n closeOnEsc: true,\n closedCallback: function () { cellCtrl.onPopupEditorClosed(); },\n anchorToElement: eParentCell,\n positionCallback: positionCallback,\n ariaLabel: translate('ariaLabelCellEditor', 'Cell Editor')\n });\n var hideEditorPopup = addPopupRes ? addPopupRes.hideFunc : undefined;\n setPopupEditorWrapper(wrapper);\n props.jsChildComp && props.jsChildComp.afterGuiAttached && props.jsChildComp.afterGuiAttached();\n return function () {\n if (hideEditorPopup != null) {\n hideEditorPopup();\n }\n context.destroyBean(wrapper);\n };\n });\n return (react_1.default.createElement(react_1.default.Fragment, null, popupEditorWrapper && props.wrappedContent\n && react_dom_1.createPortal(props.wrappedContent, popupEditorWrapper.getGui())));\n};\nexports.default = react_1.memo(PopupEditorComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar useJsCellRenderer = function (showDetails, showTools, eCellValue, cellValueVersion, jsCellRendererRef, eGui) {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, userComponentFactory = _a.userComponentFactory;\n var destroyCellRenderer = react_1.useCallback(function () {\n var comp = jsCellRendererRef.current;\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n jsCellRendererRef.current = undefined;\n }, []);\n // create or refresh JS cell renderer\n react_1.useEffect(function () {\n var showValue = showDetails != null;\n var jsCompDetails = showDetails && showDetails.compDetails && !showDetails.compDetails.componentFromFramework;\n var waitingForToolsSetup = showTools && eCellValue == null;\n var showComp = showValue && jsCompDetails && !waitingForToolsSetup;\n // if not showing comp, destroy any existing one and return\n if (!showComp) {\n destroyCellRenderer();\n return;\n }\n var compDetails = showDetails.compDetails;\n if (jsCellRendererRef.current) {\n // attempt refresh if refresh method exists\n var comp_1 = jsCellRendererRef.current;\n var attemptRefresh = comp_1.refresh != null && showDetails.force == false;\n var refreshResult = attemptRefresh ? comp_1.refresh(compDetails.params) : false;\n var refreshWorked = refreshResult === true || refreshResult === undefined;\n // if refresh worked, nothing else to do\n if (refreshWorked) {\n return;\n }\n // if refresh didn't work, we destroy it and continue, so new cell renderer created below\n destroyCellRenderer();\n }\n var promise = compDetails.newAgStackInstance();\n ;\n if (!promise) {\n return;\n }\n var comp = promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (!compGui) {\n return;\n }\n var parent = showTools ? eCellValue : eGui.current;\n parent.appendChild(compGui);\n jsCellRendererRef.current = comp;\n }, [showDetails, showTools, cellValueVersion]);\n // this effect makes sure destroyCellRenderer gets called when the\n // component is destroyed. as the other effect only updates when there\n // is a change in state\n useEffectOnce_1.useEffectOnce(function () {\n return destroyCellRenderer;\n });\n};\nexports.default = useJsCellRenderer;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridHeaderComp_1 = __importDefault(require(\"./header/gridHeaderComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar rowContainerComp_1 = __importDefault(require(\"./rows/rowContainerComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridBodyComp = function () {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, agStackComponentsRegistry = _a.agStackComponentsRegistry, resizeObserverService = _a.resizeObserverService;\n var _b = react_1.useState(''), rowAnimationClass = _b[0], setRowAnimationClass = _b[1];\n var _c = react_1.useState(0), ariaColCount = _c[0], setAriaColCount = _c[1];\n var _d = react_1.useState(0), ariaRowCount = _d[0], setAriaRowCount = _d[1];\n var _e = react_1.useState(0), topHeight = _e[0], setTopHeight = _e[1];\n var _f = react_1.useState(0), bottomHeight = _f[0], setBottomHeight = _f[1];\n var _g = react_1.useState(''), topDisplay = _g[0], setTopDisplay = _g[1];\n var _h = react_1.useState(''), bottomDisplay = _h[0], setBottomDisplay = _h[1];\n var _j = react_1.useState(null), movingCss = _j[0], setMovingCss = _j[1];\n var _k = react_1.useState(null), forceVerticalScrollClass = _k[0], setForceVerticalScrollClass = _k[1];\n var _l = react_1.useState(''), topAndBottomOverflowY = _l[0], setTopAndBottomOverflowY = _l[1];\n var _m = react_1.useState(null), cellSelectableCss = _m[0], setCellSelectableCss = _m[1];\n // we initialise layoutClass to 'ag-layout-normal', because if we don't, the comp will initially\n // render with no width (as ag-layout-normal sets width to 0, which is needed for flex) which\n // gives the grid a massive width, which then renders a massive amount of columns. this problem\n // is due to React been async, for the non-async version (ie when not using React) this is not a\n // problem as the UI will finish initialising before we set data.\n var _o = react_1.useState('ag-layout-normal'), layoutClass = _o[0], setLayoutClass = _o[1];\n var eRoot = react_1.useRef(null);\n var eTop = react_1.useRef(null);\n var eBodyViewport = react_1.useRef(null);\n var eBottom = react_1.useRef(null);\n reactComment_1.default(' AG Grid Body ', eRoot);\n reactComment_1.default(' AG Pinned Top ', eTop);\n reactComment_1.default(' AG Middle ', eBodyViewport);\n reactComment_1.default(' AG Pinned Bottom ', eBottom);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var destroyFuncs = [];\n if (!context) {\n return;\n }\n var newComp = function (tag) {\n var CompClass = agStackComponentsRegistry.getComponentClass(tag);\n var comp = context.createBean(new CompClass());\n beansToDestroy.push(comp);\n return comp;\n };\n eRoot.current.appendChild(document.createComment(' AG Fake Horizontal Scroll '));\n eRoot.current.appendChild(newComp('AG-FAKE-HORIZONTAL-SCROLL').getGui());\n eRoot.current.appendChild(document.createComment(' AG Overlay Wrapper '));\n eRoot.current.appendChild(newComp('AG-OVERLAY-WRAPPER').getGui());\n var compProxy = {\n setRowAnimationCssOnBodyViewport: setRowAnimationClass,\n setColumnCount: setAriaColCount,\n setRowCount: setAriaRowCount,\n setTopHeight: setTopHeight,\n setBottomHeight: setBottomHeight,\n setTopDisplay: setTopDisplay,\n setBottomDisplay: setBottomDisplay,\n setColumnMovingCss: setMovingCss,\n updateLayoutClasses: setLayoutClass,\n setAlwaysVerticalScrollClass: setForceVerticalScrollClass,\n setPinnedTopBottomOverflowY: setTopAndBottomOverflowY,\n setCellSelectableCss: setCellSelectableCss,\n registerBodyViewportResizeListener: function (listener) {\n var unsubscribeFromResize = resizeObserverService.observeResize(eBodyViewport.current, listener);\n destroyFuncs.push(function () { return unsubscribeFromResize(); });\n }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridBodyCtrl());\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eRoot.current, eBodyViewport.current, eTop.current, eBottom.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n destroyFuncs.forEach(function (f) { return f(); });\n };\n });\n var rootClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-root', 'ag-unselectable', movingCss, layoutClass);\n }, [movingCss, layoutClass]);\n var bodyViewportClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-body-viewport', rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss);\n }, [rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss]);\n var topClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-top', cellSelectableCss);\n }, [cellSelectableCss]);\n var bottomClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-bottom', cellSelectableCss);\n }, [cellSelectableCss]);\n var topStyle = react_1.useMemo(function () { return ({\n height: topHeight,\n minHeight: topHeight,\n display: topDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [topHeight, topDisplay, topAndBottomOverflowY]);\n var bottomStyle = react_1.useMemo(function () { return ({\n height: bottomHeight,\n minHeight: bottomHeight,\n display: bottomDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [bottomHeight, bottomDisplay, topAndBottomOverflowY]);\n var createRowContainer = function (container) { return react_1.default.createElement(rowContainerComp_1.default, { name: container, key: container + \"-container\" }); };\n var createSection = function (_a) {\n var section = _a.section, children = _a.children, className = _a.className, style = _a.style;\n return (react_1.default.createElement(\"div\", { ref: section, className: className, role: \"presentation\", style: style }, children.map(createRowContainer)));\n };\n return (react_1.default.createElement(\"div\", { ref: eRoot, className: rootClasses, role: \"grid\", \"aria-colcount\": ariaColCount, \"aria-rowcount\": ariaRowCount },\n react_1.default.createElement(gridHeaderComp_1.default, null),\n createSection({ section: eTop, className: topClasses, style: topStyle, children: [\n ag_grid_community_1.RowContainerName.TOP_LEFT,\n ag_grid_community_1.RowContainerName.TOP_CENTER,\n ag_grid_community_1.RowContainerName.TOP_RIGHT,\n ag_grid_community_1.RowContainerName.TOP_FULL_WIDTH,\n ] }),\n createSection({ section: eBodyViewport, className: bodyViewportClasses, children: [\n ag_grid_community_1.RowContainerName.LEFT,\n ag_grid_community_1.RowContainerName.CENTER,\n ag_grid_community_1.RowContainerName.RIGHT,\n ag_grid_community_1.RowContainerName.FULL_WIDTH,\n ] }),\n createSection({ section: eBottom, className: bottomClasses, style: bottomStyle, children: [\n ag_grid_community_1.RowContainerName.BOTTOM_LEFT,\n ag_grid_community_1.RowContainerName.BOTTOM_CENTER,\n ag_grid_community_1.RowContainerName.BOTTOM_RIGHT,\n ag_grid_community_1.RowContainerName.BOTTOM_FULL_WIDTH,\n ] })));\n};\nexports.default = react_1.memo(GridBodyComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridBodyComp_1 = __importDefault(require(\"./gridBodyComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar tabGuardComp_1 = __importDefault(require(\"./tabGuardComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridComp = function (_a) {\n var context = _a.context;\n var _b = react_1.useState(''), rtlClass = _b[0], setRtlClass = _b[1];\n var _c = react_1.useState(''), keyboardFocusClass = _c[0], setKeyboardFocusClass = _c[1];\n var _d = react_1.useState(''), layoutClass = _d[0], setLayoutClass = _d[1];\n var _e = react_1.useState(null), cursor = _e[0], setCursor = _e[1];\n var _f = react_1.useState(null), userSelect = _f[0], setUserSelect = _f[1];\n var _g = react_1.useState(false), initialised = _g[0], setInitialised = _g[1];\n var _h = react_1.useState(), tabGuardReady = _h[0], setTabGuardReady = _h[1];\n var gridCtrlRef = react_1.useRef(null);\n var eRootWrapperRef = react_1.useRef(null);\n var tabGuardRef = react_1.useRef();\n var eGridBodyParentRef = react_1.useRef(null);\n var focusInnerElementRef = react_1.useRef(function () { return undefined; });\n var onTabKeyDown = react_1.useCallback(function () { return undefined; }, []);\n var beans = react_1.useMemo(function () { return context.getBean('beans'); }, []);\n reactComment_1.default(' AG Grid ', eRootWrapperRef);\n // create shared controller.\n useEffectOnce_1.useEffectOnce(function () {\n var currentController = gridCtrlRef.current = context.createBean(new ag_grid_community_1.GridCtrl());\n return function () {\n context.destroyBean(currentController);\n gridCtrlRef.current = null;\n };\n });\n // initialise the UI\n useEffectOnce_1.useEffectOnce(function () {\n var gridCtrl = gridCtrlRef.current;\n focusInnerElementRef.current = gridCtrl.focusInnerElement.bind(gridCtrl);\n var compProxy = {\n destroyGridUi: function () { },\n setRtlClass: setRtlClass,\n addOrRemoveKeyboardFocusClass: function (addOrRemove) { return setKeyboardFocusClass(addOrRemove ? ag_grid_community_1.FocusService.AG_KEYBOARD_FOCUS : ''); },\n forceFocusOutOfContainer: function () {\n tabGuardRef.current.forceFocusOutOfContainer();\n },\n updateLayoutClasses: setLayoutClass,\n getFocusableContainers: function () {\n var els = [];\n var gridBodyCompEl = eRootWrapperRef.current.querySelector('.ag-root');\n var sideBarEl = eRootWrapperRef.current.querySelector('.ag-side-bar');\n if (gridBodyCompEl) {\n els.push(gridBodyCompEl);\n }\n if (sideBarEl) {\n els.push(sideBarEl);\n }\n return els;\n },\n setCursor: setCursor,\n setUserSelect: setUserSelect\n };\n gridCtrl.setComp(compProxy, eRootWrapperRef.current, eRootWrapperRef.current);\n setInitialised(true);\n });\n // initialise the extra components\n react_1.useEffect(function () {\n if (!tabGuardReady) {\n return;\n }\n var gridCtrl = gridCtrlRef.current;\n var beansToDestroy = [];\n var agStackComponentsRegistry = beans.agStackComponentsRegistry;\n var HeaderDropZonesClass = agStackComponentsRegistry.getComponentClass('AG-GRID-HEADER-DROP-ZONES');\n var SideBarClass = agStackComponentsRegistry.getComponentClass('AG-SIDE-BAR');\n var StatusBarClass = agStackComponentsRegistry.getComponentClass('AG-STATUS-BAR');\n var WatermarkClass = agStackComponentsRegistry.getComponentClass('AG-WATERMARK');\n var PaginationClass = agStackComponentsRegistry.getComponentClass('AG-PAGINATION');\n var additionalEls = [];\n var eRootWrapper = eRootWrapperRef.current;\n var eGridBodyParent = eGridBodyParentRef.current;\n if (gridCtrl.showDropZones() && HeaderDropZonesClass) {\n var headerDropZonesComp = context.createBean(new HeaderDropZonesClass());\n var eGui = headerDropZonesComp.getGui();\n eRootWrapper.insertAdjacentElement('afterbegin', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(headerDropZonesComp);\n }\n if (gridCtrl.showSideBar() && SideBarClass) {\n var sideBarComp = context.createBean(new SideBarClass());\n var eGui = sideBarComp.getGui();\n var bottomTabGuard = eGridBodyParent.querySelector('.ag-tab-guard-bottom');\n if (bottomTabGuard) {\n bottomTabGuard.insertAdjacentElement('beforebegin', eGui);\n additionalEls.push(eGui);\n }\n beansToDestroy.push(sideBarComp);\n }\n if (gridCtrl.showStatusBar() && StatusBarClass) {\n var statusBarComp = context.createBean(new StatusBarClass());\n var eGui = statusBarComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(statusBarComp);\n }\n if (PaginationClass) {\n var paginationComp = context.createBean(new PaginationClass());\n var eGui = paginationComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(paginationComp);\n }\n if (gridCtrl.showWatermark() && WatermarkClass) {\n var watermarkComp = context.createBean(new WatermarkClass());\n var eGui = watermarkComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(watermarkComp);\n }\n return function () {\n context.destroyBeans(beansToDestroy);\n additionalEls.forEach(function (el) {\n if (el.parentElement) {\n el.parentElement.removeChild(el);\n }\n });\n };\n }, [tabGuardReady]);\n var rootWrapperClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper', rtlClass, keyboardFocusClass, layoutClass); }, [rtlClass, keyboardFocusClass, layoutClass]);\n var rootWrapperBodyClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper-body', 'ag-focus-managed', layoutClass); }, [layoutClass]);\n var topStyle = react_1.useMemo(function () { return ({\n userSelect: userSelect != null ? userSelect : '',\n WebkitUserSelect: userSelect != null ? userSelect : '',\n cursor: cursor != null ? cursor : ''\n }); }, [userSelect, cursor]);\n var eGridBodyParent = eGridBodyParentRef.current;\n var setTabGuardCompRef = react_1.useCallback(function (ref) {\n tabGuardRef.current = ref;\n setTabGuardReady(true);\n }, []);\n return (react_1.default.createElement(\"div\", { ref: eRootWrapperRef, className: rootWrapperClasses, style: topStyle },\n react_1.default.createElement(\"div\", { className: rootWrapperBodyClasses, ref: eGridBodyParentRef }, initialised && eGridBodyParent &&\n react_1.default.createElement(beansContext_1.BeansContext.Provider, { value: beans },\n react_1.default.createElement(tabGuardComp_1.default, { ref: setTabGuardCompRef, eFocusableElement: eGridBodyParent, onTabKeyDown: onTabKeyDown, gridCtrl: gridCtrlRef.current }, // we wait for initialised before rending the children, so GridComp has created and registered with it's\n // GridCtrl before we create the child GridBodyComp. Otherwise the GridBodyComp would initialise first,\n // before we have set the the Layout CSS classes, causing the GridBodyComp to render rows to a grid that\n // doesn't have it's height specified, which would result if all the rows getting rendered (and if many rows,\n // hangs the UI)\n react_1.default.createElement(gridBodyComp_1.default, null))))));\n};\nexports.default = react_1.memo(GridComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowContainerComp_1 = __importDefault(require(\"./headerRowContainerComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar GridHeaderComp = function () {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setHeightAndMinHeight: function (height) { return setHeight(height); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridHeaderCtrl());\n ctrl.setComp(compProxy, eGui.current, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () {\n var res = cssClasses.toString();\n return 'ag-header ' + res;\n }, [cssClasses]);\n var style = react_1.useMemo(function () { return ({\n height: height,\n minHeight: height\n }); }, [height]);\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"presentation\" },\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_LEFT }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: null }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_RIGHT })));\n};\nexports.default = react_1.memo(GridHeaderComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(), width = _a[0], setWidth = _a[1];\n var _b = react_1.useState(), title = _b[0], setTitle = _b[1];\n var _c = react_1.useState(), colId = _c[0], setColId = _c[1];\n var _d = react_1.useState(), ariaSort = _d[0], setAriaSort = _d[1];\n var _e = react_1.useState(), ariaDescription = _e[0], setAriaDescription = _e[1];\n var _f = react_1.useState(), userCompDetails = _f[0], setUserCompDetails = _f[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var userCompRef = react_1.useRef();\n var ctrl = props.ctrl;\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setAriaDescription: function (description) { return setAriaDescription(description); },\n setAriaSort: function (sort) { return setAriaSort(sort); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getUserCompInstance: function () { return userCompRef.current || undefined; }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current);\n var selectAllGui = ctrl.getSelectAllGui();\n eResize.current.insertAdjacentElement('afterend', selectAllGui);\n });\n // js comps\n react_1.useEffect(function () { return jsComp_1.showJsComp(userCompDetails, context, eGui.current, userCompRef); }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n var userCompDomElement = undefined;\n eGui.current.childNodes.forEach(function (node) {\n if (node != null && node !== eResize.current) {\n userCompDomElement = node;\n }\n });\n ctrl.setDragSource(userCompDomElement);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({ width: width }); }, [width]);\n var userCompStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = userCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-cell\", style: style, title: title, \"col-id\": colId, \"aria-sort\": ariaSort, role: \"columnheader\", tabIndex: -1, \"aria-description\": ariaDescription },\n react_1.default.createElement(\"div\", { ref: eResize, className: \"ag-header-cell-resize\", role: \"presentation\" }),\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef }))));\n};\nexports.default = react_1.memo(HeaderCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderFilterCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssBodyClasses = _b[0], setBodyCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses()), cssButtonWrapperClasses = _c[0], setButtonWrapperCssClasses = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), userCompDetails = _e[0], setUserCompDetails = _e[1];\n var eGui = react_1.useRef(null);\n var eFloatingFilterBody = react_1.useRef(null);\n var eButtonWrapper = react_1.useRef(null);\n var eButtonShowMainFilter = react_1.useRef(null);\n var alreadyResolved = react_1.useRef(false);\n var userCompResolve = react_1.useRef();\n var userCompPromise = react_1.useRef();\n useEffectOnce_1.useEffectOnce(function () {\n userCompPromise.current = new ag_grid_community_1.AgPromise(function (resolve) {\n userCompResolve.current = resolve;\n });\n });\n var userCompRef = function (value) {\n // i don't know why, but react was calling this method multiple\n // times, thus un-setting, them immediately setting the reference again.\n // because we are resolving a promise, it's not good to be resolving\n // the promise multiple times, so we only resolve the first time.\n if (alreadyResolved.current) {\n return;\n }\n // we also skip when it's un-setting\n if (value == null) {\n return;\n }\n userCompResolve.current && userCompResolve.current(value);\n alreadyResolved.current = true;\n };\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveBodyCssClass: function (name, on) { return setBodyCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveButtonWrapperCssClass: function (name, on) { return setButtonWrapperCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setWidth: function (width) { return setWidth(width); },\n setCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getFloatingFilterComp: function () { return userCompPromise.current ? userCompPromise.current : null; },\n setMenuIcon: function (eIcon) { return eButtonShowMainFilter.current.appendChild(eIcon); }\n };\n ctrl.setComp(compProxy, eGui.current, eButtonShowMainFilter.current, eFloatingFilterBody.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eFloatingFilterBody.current, userCompRef);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return 'ag-header-cell ag-floating-filter ' + cssClasses.toString(); }, [cssClasses]);\n var bodyClassName = react_1.useMemo(function () { return cssBodyClasses.toString(); }, [cssBodyClasses]);\n var buttonWrapperClassName = react_1.useMemo(function () { return 'ag-floating-filter-button ' + cssButtonWrapperClasses.toString(); }, [cssBodyClasses]);\n var userCompStateless = react_1.useMemo(function () {\n var res = userCompDetails\n && userCompDetails.componentFromFramework\n && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"gridcell\", tabIndex: -1 },\n react_1.default.createElement(\"div\", { ref: eFloatingFilterBody, className: bodyClassName, role: \"presentation\" },\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef }))),\n react_1.default.createElement(\"div\", { ref: eButtonWrapper, className: buttonWrapperClassName, role: \"presentation\" },\n react_1.default.createElement(\"button\", { ref: eButtonShowMainFilter, type: \"button\", \"aria-label\": \"Open Filter Menu\", className: \"ag-floating-filter-button-button\", tabIndex: -1 }))));\n};\nexports.default = react_1.memo(HeaderFilterCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar HeaderGroupCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssResizableClasses = _b[0], setResizableCssClasses = _b[1];\n var _c = react_1.useState(), width = _c[0], setWidth = _c[1];\n var _d = react_1.useState(), title = _d[0], setTitle = _d[1];\n var _e = react_1.useState(), colId = _e[0], setColId = _e[1];\n var _f = react_1.useState(), ariaExpanded = _f[0], setAriaExpanded = _f[1];\n var _g = react_1.useState(), userCompDetails = _g[0], setUserCompDetails = _g[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n addOrRemoveResizableCssClass: function (name, on) { return setResizableCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setAriaExpanded: function (expanded) { return setAriaExpanded(expanded); }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eGui.current);\n }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n var userCompDomElement = undefined;\n eGui.current.childNodes.forEach(function (node) {\n if (node != null && node !== eResize.current) {\n userCompDomElement = node;\n }\n });\n userCompDomElement && ctrl.setDragSource(userCompDomElement);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return 'ag-header-group-cell ' + cssClasses.toString(); }, [cssClasses]);\n var resizableClassName = react_1.useMemo(function () { return 'ag-header-cell-resize ' + cssResizableClasses.toString(); }, [cssResizableClasses]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, title: title, \"col-id\": colId, role: \"columnheader\", tabIndex: -1, \"aria-expanded\": ariaExpanded },\n reactUserComp && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n react_1.default.createElement(\"div\", { ref: eResize, className: resizableClassName })));\n};\nexports.default = react_1.memo(HeaderGroupCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar headerCellComp_1 = __importDefault(require(\"./headerCellComp\"));\nvar headerGroupCellComp_1 = __importDefault(require(\"./headerGroupCellComp\"));\nvar headerFilterCellComp_1 = __importDefault(require(\"./headerFilterCellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowComp = function (props) {\n var gridOptionsWrapper = react_1.useContext(beansContext_1.BeansContext).gridOptionsWrapper;\n var _a = react_1.useState(), transform = _a[0], setTransform = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var _c = react_1.useState(), top = _c[0], setTop = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), ariaRowIndex = _e[0], setAriaRowIndex = _e[1];\n var _f = react_1.useState([]), cellCtrls = _f[0], setCellCtrls = _f[1];\n var eGui = react_1.useRef(null);\n var ctrl = props.ctrl;\n var typeColumn = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN;\n var typeGroup = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN_GROUP;\n var typeFilter = ctrl.getType() === ag_grid_community_1.HeaderRowType.FLOATING_FILTER;\n var setCellCtrlsMaintainOrder = react_1.useCallback(function (prev, next) {\n // if we are ensuring dom order, we set the ctrls into the dom in the same order they appear on screen\n if (gridOptionsWrapper.isEnsureDomOrder()) {\n return next;\n }\n // if not maintaining order, we want to keep the dom elements we have and add new ones to the end,\n // otherwise we will loose transition effects as elements are placed in different dom locations\n var prevMap = ag_grid_community_1._.mapById(prev, function (c) { return c.getInstanceId(); });\n var nextMap = ag_grid_community_1._.mapById(next, function (c) { return c.getInstanceId(); });\n var oldCtrlsWeAreKeeping = prev.filter(function (c) { return nextMap.has(c.getInstanceId()); });\n var newCtrls = next.filter(function (c) { return !prevMap.has(c.getInstanceId()); });\n return __spreadArrays(oldCtrlsWeAreKeeping, newCtrls);\n }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setTransform: function (transform) { return setTransform(transform); },\n setHeight: function (height) { return setHeight(height); },\n setTop: function (top) { return setTop(top); },\n setHeaderCtrls: function (ctrls) { return setCellCtrls(function (prev) { return setCellCtrlsMaintainOrder(prev, ctrls); }); },\n setWidth: function (width) { return setWidth(width); },\n setAriaRowIndex: function (rowIndex) { return setAriaRowIndex(rowIndex); }\n };\n ctrl.setComp(compProxy);\n });\n var style = react_1.useMemo(function () { return ({\n transform: transform,\n height: height,\n top: top,\n width: width\n }); }, [transform, height, top, width]);\n var className = react_1.useMemo(function () {\n var res = [\"ag-header-row\"];\n typeColumn && res.push(\"ag-header-row-column\");\n typeGroup && res.push(\"ag-header-row-column-group\");\n typeFilter && res.push(\"ag-header-row-column-filter\");\n return res.join(' ');\n }, []);\n var createCellJsx = react_1.useCallback(function (cellCtrl) {\n switch (ctrl.getType()) {\n case ag_grid_community_1.HeaderRowType.COLUMN_GROUP:\n return react_1.default.createElement(headerGroupCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n case ag_grid_community_1.HeaderRowType.FLOATING_FILTER:\n return react_1.default.createElement(headerFilterCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n default:\n return react_1.default.createElement(headerCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n }\n }, []);\n // below, we are not doing floating filters, not yet\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, role: \"row\", style: style, \"aria-rowindex\": ariaRowIndex }, cellCtrls.map(createCellJsx)));\n};\nexports.default = react_1.memo(HeaderRowComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowComp_1 = __importDefault(require(\"./headerRowComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowContainerComp = function (props) {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), centerContainerWidth = _b[0], setCenterContainerWidth = _b[1];\n var _c = react_1.useState(), centerContainerTransform = _c[0], setCenterContainerTransform = _c[1];\n var _d = react_1.useState(), pinnedContainerWidth = _d[0], setPinnedContainerWidth = _d[1];\n var _e = react_1.useState([]), headerRowCtrls = _e[0], setHeaderRowCtrls = _e[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var pinnedLeft = props.pinned === ag_grid_community_1.Constants.PINNED_LEFT;\n var pinnedRight = props.pinned === ag_grid_community_1.Constants.PINNED_RIGHT;\n var centre = !pinnedLeft && !pinnedRight;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setCtrls: function (ctrls) { return setHeaderRowCtrls(ctrls); },\n // centre only\n setCenterWidth: function (width) { return setCenterContainerWidth(width); },\n setContainerTransform: function (transform) { return setCenterContainerTransform(transform); },\n // pinned only\n setPinnedContainerWidth: function (width) { return setPinnedContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.HeaderRowContainerCtrl(props.pinned));\n ctrl.setComp(compProxy, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () { return cssClasses.toString(); }, [cssClasses]);\n var insertRowsJsx = function () { return headerRowCtrls.map(function (ctrl) { return react_1.default.createElement(headerRowComp_1.default, { ctrl: ctrl, key: ctrl.getInstanceId() }); }); };\n var eCenterContainerStyle = react_1.useMemo(function () { return ({\n width: centerContainerWidth,\n transform: centerContainerTransform\n }); }, [centerContainerWidth, centerContainerTransform]);\n var ePinnedStyle = react_1.useMemo(function () { return ({\n width: pinnedContainerWidth,\n minWidth: pinnedContainerWidth,\n maxWidth: pinnedContainerWidth,\n }); }, [pinnedContainerWidth]);\n return (react_1.default.createElement(react_1.default.Fragment, null,\n pinnedLeft &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-left-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n pinnedRight &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-right-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n centre &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-viewport \" + className, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: \"ag-header-container\", role: \"rowgroup\", style: eCenterContainerStyle }, insertRowsJsx()))));\n};\nexports.default = react_1.memo(HeaderRowContainerComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showJsComp = function (compDetails, context, eParent, ref) {\n var doNothing = !compDetails || compDetails.componentFromFramework;\n if (doNothing) {\n return;\n }\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n // almost all JS Comps are NOT async, however the Floating Multi Filter is Async as it could\n // be wrapping a React filter, so we need to cater for async comps here.\n var comp;\n var compGui;\n var destroyed = false;\n promise.then(function (c) {\n if (destroyed) {\n context.destroyBean(c);\n return;\n }\n comp = c;\n compGui = comp.getGui();\n eParent.appendChild(compGui);\n setRef(ref, comp);\n });\n return function () {\n destroyed = true;\n if (!comp) {\n return;\n } // in case we were destroyed before async comp was returned\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n if (ref) {\n setRef(ref, undefined);\n }\n };\n};\nvar setRef = function (ref, value) {\n if (!ref) {\n return;\n }\n if (ref instanceof Function) {\n var refCallback = ref;\n refCallback(value);\n }\n else {\n var refObj = ref;\n refObj.current = value;\n }\n};\nexports.createSyncJsComp = function (compDetails) {\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n return promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar useReactCommentEffect = function (comment, eForCommentRef) {\n useEffectOnce_1.useEffectOnce(function () {\n var eForComment = eForCommentRef.current;\n var eParent = eForComment.parentElement;\n if (!eParent) {\n return;\n }\n var eComment = document.createComment(comment);\n eParent.insertBefore(eComment, eForComment);\n return function () {\n eParent.removeChild(eComment);\n };\n });\n};\nexports.default = useReactCommentEffect;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar jsComp_1 = require(\"../jsComp\");\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar cellComp_1 = __importDefault(require(\"../cells/cellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar maintainOrderOnColumns = function (prev, next, domOrder) {\n if (domOrder) {\n var res_1 = { list: next, instanceIdMap: new Map() };\n next.forEach(function (c) { return res_1.instanceIdMap.set(c.getInstanceId(), c); });\n return res_1;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldCellCtrls = [];\n var newCellCtrls = [];\n var newInstanceIdMap = new Map();\n var tempMap = new Map();\n next.forEach(function (c) { return tempMap.set(c.getInstanceId(), c); });\n prev.list.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (tempMap.has(instanceId)) {\n oldCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n next.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (!prev.instanceIdMap.has(instanceId)) {\n newCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n var res = {\n list: __spreadArrays(oldCellCtrls, newCellCtrls),\n instanceIdMap: newInstanceIdMap\n };\n return res;\n};\nvar RowComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var rowCtrl = params.rowCtrl, containerType = params.containerType;\n var _a = react_1.useState(), rowIndex = _a[0], setRowIndex = _a[1];\n var _b = react_1.useState(), rowId = _b[0], setRowId = _b[1];\n var _c = react_1.useState(), role = _c[0], setRole = _c[1];\n var _d = react_1.useState(), rowBusinessKey = _d[0], setRowBusinessKey = _d[1];\n var _e = react_1.useState(), tabIndex = _e[0], setTabIndex = _e[1];\n var _f = react_1.useState(), userStyles = _f[0], setUserStyles = _f[1];\n var _g = react_1.useState({ list: [], instanceIdMap: new Map() }), cellCtrls = _g[0], setCellCtrls = _g[1];\n var _h = react_1.useState(), fullWidthCompDetails = _h[0], setFullWidthCompDetails = _h[1];\n var _j = react_1.useState(false), domOrder = _j[0], setDomOrder = _j[1];\n // these styles have initial values, so element is placed into the DOM with them,\n // rather than an transition getting applied.\n var _k = react_1.useState(rowCtrl.getInitialRowTop()), top = _k[0], setTop = _k[1];\n var _l = react_1.useState(rowCtrl.getInitialTransform()), transform = _l[0], setTransform = _l[1];\n var eGui = react_1.useRef(null);\n var fullWidthCompRef = react_1.useRef();\n var autoHeightSetup = react_1.useRef(false);\n var _m = react_1.useState(0), autoHeightSetupAttempt = _m[0], setAutoHeightSetupAttempt = _m[1];\n // puts autoHeight onto full with detail rows. this needs trickery, as we need\n // the HTMLElement for the provided Detail Cell Renderer, however the Detail Cell Renderer\n // could be a stateless React Func Comp which won't work with useRef, so we need\n // to poll (we limit to 10) looking for the Detail HTMLElement (which will be the only\n // child) after the fullWidthCompDetails is set.\n react_1.useEffect(function () {\n var _a;\n if (autoHeightSetup.current) {\n return;\n }\n if (!fullWidthCompDetails) {\n return;\n }\n if (autoHeightSetupAttempt > 10) {\n return;\n }\n var eChild = (_a = eGui.current) === null || _a === void 0 ? void 0 : _a.firstChild;\n if (eChild) {\n rowCtrl.setupDetailRowAutoHeight(eChild);\n autoHeightSetup.current = true;\n }\n else {\n setAutoHeightSetupAttempt(function (prev) { return prev + 1; });\n }\n }, [fullWidthCompDetails, autoHeightSetupAttempt]);\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n useEffectOnce_1.useEffectOnce(function () {\n // because React is asychronous, it's possible the RowCtrl is no longer a valid RowCtrl. This can\n // happen if user calls two API methods one after the other, with the second API invalidating the rows\n // the first call created. Thus the rows for the first call could still get created even though no longer needed.\n if (!rowCtrl.isAlive()) {\n return;\n }\n var compProxy = {\n // the rowTop is managed by state, instead of direct style manipulation by rowCtrl (like all the other styles)\n // as we need to have an initial value when it's placed into he DOM for the first time, for animation to work.\n setTop: function (value) { return setTop(value); },\n setTransform: function (value) { return setTransform(value); },\n // i found using React for managing classes at the row level was to slow, as modifying classes caused a lot of\n // React code to execute, so avoiding React for managing CSS Classes made the grid go much faster.\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setRowIndex: function (value) { return setRowIndex(value); },\n setRowId: function (value) { return setRowId(value); },\n setRowBusinessKey: function (value) { return setRowBusinessKey(value); },\n setTabIndex: function (value) { return setTabIndex(value); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n setRole: function (value) { return setRole(value); },\n // if we don't maintain the order, then cols will be ripped out and into the dom\n // when cols reordered, which would stop the CSS transitions from working\n setCellCtrls: function (next) { return setCellCtrls(function (prev) { return maintainOrderOnColumns(prev, next, domOrder); }); },\n showFullWidth: function (compDetails) { return setFullWidthCompDetails(compDetails); },\n getFullWidthCellRenderer: function () { return fullWidthCompRef.current; },\n };\n rowCtrl.setComp(compProxy, eGui.current, containerType);\n });\n react_1.useEffect(function () { return jsComp_1.showJsComp(fullWidthCompDetails, context, eGui.current, fullWidthCompRef); }, [fullWidthCompDetails]);\n var rowStyles = react_1.useMemo(function () {\n var res = { top: top, transform: transform };\n Object.assign(res, userStyles);\n return res;\n }, [top, transform, userStyles]);\n var showFullWidthFramework = fullWidthCompDetails && fullWidthCompDetails.componentFromFramework;\n var showCells = cellCtrls != null;\n var reactFullWidthCellRendererStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = fullWidthCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(fullWidthCompDetails.componentClass);\n return !!res;\n }, [fullWidthCompDetails]);\n var showCellsJsx = function () { return cellCtrls.list.map(function (cellCtrl) { return (react_1.default.createElement(cellComp_1.default, { cellCtrl: cellCtrl, editingRow: rowCtrl.isEditing(), printLayout: rowCtrl.isPrintLayout(), key: cellCtrl.getInstanceId() })); }); };\n var showFullWidthFrameworkJsx = function () {\n var FullWidthComp = fullWidthCompDetails.componentClass;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params)),\n !reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params, { ref: fullWidthCompRef }))));\n };\n return (react_1.default.createElement(\"div\", { ref: eGui, role: role, style: rowStyles, \"row-index\": rowIndex, \"row-id\": rowId, \"row-business-key\": rowBusinessKey, tabIndex: tabIndex },\n showCells && showCellsJsx(),\n showFullWidthFramework && showFullWidthFrameworkJsx()));\n};\nexports.default = react_1.memo(RowComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar reactComment_1 = __importDefault(require(\"../reactComment\"));\nvar rowComp_1 = __importDefault(require(\"./rowComp\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar RowContainerComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(''), viewportHeight = _a[0], setViewportHeight = _a[1];\n var _b = react_1.useState([]), rowCtrlsOrdered = _b[0], setRowCtrlsOrdered = _b[1];\n var _c = react_1.useState([]), rowCtrls = _c[0], setRowCtrls = _c[1];\n var _d = react_1.useState(false), domOrder = _d[0], setDomOrder = _d[1];\n var _e = react_1.useState(''), containerWidth = _e[0], setContainerWidth = _e[1];\n var name = params.name;\n var containerType = react_1.useMemo(function () { return ag_grid_community_1.getRowContainerTypeForName(name); }, [name]);\n var eWrapper = react_1.useRef(null);\n var eViewport = react_1.useRef(null);\n var eContainer = react_1.useRef(null);\n var cssClasses = react_1.useMemo(function () { return ag_grid_community_1.RowContainerCtrl.getRowContainerCssClasses(name); }, [name]);\n var wrapperClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.wrapper); }, []);\n var viewportClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.viewport); }, []);\n var containerClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.container); }, []);\n // no need to useMemo for boolean types\n var template1 = name === ag_grid_community_1.RowContainerName.CENTER;\n var template2 = name === ag_grid_community_1.RowContainerName.TOP_CENTER || name === ag_grid_community_1.RowContainerName.BOTTOM_CENTER;\n var template3 = !template1 && !template2;\n var topLevelRef = template1 ? eWrapper : template2 ? eViewport : eContainer;\n reactComment_1.default(' AG Row Container ' + name + ' ', topLevelRef);\n // if domOrder=true, then we just copy rowCtrls into rowCtrlsOrdered observing order,\n // however if false, then we need to keep the order as they are in the dom, otherwise rowAnimation breaks\n react_1.useEffect(function () {\n setRowCtrlsOrdered(function (prev) {\n if (domOrder) {\n return rowCtrls;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldRows = prev.filter(function (r) { return rowCtrls.indexOf(r) >= 0; });\n var newRows = rowCtrls.filter(function (r) { return oldRows.indexOf(r) < 0; });\n var next = __spreadArrays(oldRows, newRows);\n return next;\n });\n }, [domOrder, rowCtrls]);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var compProxy = {\n setViewportHeight: setViewportHeight,\n setRowCtrls: function (rowCtrls) { return setRowCtrls(rowCtrls); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setContainerWidth: function (width) { return setContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.RowContainerCtrl(name));\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eContainer.current, eViewport.current, eWrapper.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n };\n });\n var viewportStyle = react_1.useMemo(function () { return ({\n height: viewportHeight\n }); }, [viewportHeight]);\n var containerStyle = react_1.useMemo(function () { return ({\n width: containerWidth\n }); }, [containerWidth]);\n var buildContainer = function () { return (react_1.default.createElement(\"div\", { className: containerClasses, ref: eContainer, role: rowCtrls.length ? \"rowgroup\" : \"presentation\", style: containerStyle }, rowCtrlsOrdered.map(function (rowCtrl) { return react_1.default.createElement(rowComp_1.default, { rowCtrl: rowCtrl, containerType: containerType, key: rowCtrl.getInstanceId() }); }))); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n template1 &&\n react_1.default.createElement(\"div\", { className: wrapperClasses, ref: eWrapper, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer())),\n template2 &&\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer()),\n template3 && buildContainer()));\n};\nexports.default = react_1.memo(RowContainerComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar beansContext_1 = require(\"./beansContext\");\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar TabGuardCompRef = function (props, forwardRef) {\n var children = props.children, eFocusableElement = props.eFocusableElement, onTabKeyDown = props.onTabKeyDown, gridCtrl = props.gridCtrl;\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var topTabGuardRef = react_1.useRef(null);\n var bottomTabGuardRef = react_1.useRef(null);\n var tabGuardCtrlRef = react_1.useRef();\n var _a = react_1.useState(), tabIndex = _a[0], setTabIndex = _a[1];\n react_1.useImperativeHandle(forwardRef, function () { return ({\n forceFocusOutOfContainer: function () {\n tabGuardCtrlRef.current.forceFocusOutOfContainer();\n }\n }); });\n useEffectOnce_1.useEffectOnce(function () {\n var eTopGuard = topTabGuardRef.current;\n var eBottomGuard = bottomTabGuardRef.current;\n var compProxy = {\n setTabIndex: function (value) { return value == null ? setTabIndex(undefined) : setTabIndex(parseInt(value, 10)); }\n };\n var ctrl = tabGuardCtrlRef.current = context.createBean(new ag_grid_community_1.TabGuardCtrl({\n comp: compProxy,\n eTopGuard: eTopGuard,\n eBottomGuard: eBottomGuard,\n eFocusableElement: eFocusableElement,\n onTabKeyDown: onTabKeyDown,\n focusInnerElement: function (fromBottom) { return gridCtrl.focusInnerElement(fromBottom); }\n }));\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var createTabGuard = function (side) { return (react_1.default.createElement(\"div\", { className: \"ag-tab-guard ag-tab-guard-\" + side, role: \"presentation\", tabIndex: tabIndex, ref: side === 'top' ? topTabGuardRef : bottomTabGuardRef })); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n createTabGuard('top'),\n children,\n createTabGuard('bottom')));\n};\nvar TabGuardComp = react_1.forwardRef(TabGuardCompRef);\nexports.default = react_1.memo(TabGuardComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.useEffectOnce = function (effect) {\n var destroyFunc = react_1.useRef();\n var effectCalled = react_1.useRef(false);\n var renderAfterCalled = react_1.useRef(false);\n var _a = react_1.useState(0), val = _a[0], setVal = _a[1];\n if (effectCalled.current) {\n renderAfterCalled.current = true;\n }\n react_1.useEffect(function () {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFunc.current = effect();\n effectCalled.current = true;\n }\n // this forces one render after the effect is run\n setVal(function (val) { return val + 1; });\n return function () {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!renderAfterCalled.current) {\n return;\n }\n // otherwise this is not a dummy destroy, so call the destroy func\n if (destroyFunc.current) {\n destroyFunc.current();\n }\n };\n }, []);\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.classesList = function () {\n var list = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n list[_i] = arguments[_i];\n }\n var filtered = list.filter(function (s) { return s != null && s !== ''; });\n return filtered.join(' ');\n};\nvar CssClasses = /** @class */ (function () {\n function CssClasses() {\n var _this = this;\n var initialClasses = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n initialClasses[_i] = arguments[_i];\n }\n this.classesMap = {};\n initialClasses.forEach(function (className) {\n _this.classesMap[className] = true;\n });\n }\n CssClasses.prototype.setClass = function (className, on) {\n // important to not make a copy if nothing has changed, so react\n // won't trigger a render cycle on new object instance\n var nothingHasChanged = !!this.classesMap[className] == on;\n if (nothingHasChanged) {\n return this;\n }\n var res = new CssClasses();\n res.classesMap = __assign({}, this.classesMap);\n res.classesMap[className] = on;\n return res;\n };\n CssClasses.prototype.toString = function () {\n var _this = this;\n var res = Object.keys(this.classesMap).filter(function (key) { return _this.classesMap[key]; }).join(' ');\n return res;\n };\n return CssClasses;\n}());\nexports.CssClasses = CssClasses;\nexports.isComponentStateless = function (Component) {\n var hasSymbol = function () { return typeof Symbol === 'function' && Symbol.for; };\n var getMemoType = function () { return hasSymbol() ? Symbol.for('react.memo') : 0xead3; };\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent)) || (typeof Component === 'object' && Component.$$typeof === getMemoType());\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar AgGrid = __importStar(require(\"ag-grid-community\"));\nvar AgGridColumn = /** @class */ (function (_super) {\n __extends(AgGridColumn, _super);\n function AgGridColumn(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n return _this;\n }\n AgGridColumn.prototype.render = function () {\n return null;\n };\n AgGridColumn.mapChildColumnDefs = function (children) {\n return react_1.default.Children.map(children, function (child) { return !!child ? AgGridColumn.toColDef(child.props) : null; });\n };\n AgGridColumn.toColDef = function (columnProps) {\n var children = columnProps.children, colDef = __rest(columnProps, [\"children\"]);\n if (AgGridColumn.hasChildColumns(children)) {\n colDef.children = AgGridColumn.mapChildColumnDefs(children);\n }\n return colDef;\n };\n AgGridColumn.hasChildColumns = function (children) {\n return react_1.default.Children.count(children) > 0;\n };\n return AgGridColumn;\n}(react_1.Component));\nexports.AgGridColumn = AgGridColumn;\naddProperties(AgGrid.ColDefUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(AgGrid.ColDefUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(AgGrid.ColDefUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(AgGrid.ColDefUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(AgGrid.ColDefUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(AgGrid.ColDefUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n // @ts-ignore\n AgGridColumn[propKey] = propType;\n });\n}\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ChangeDetectionStrategyType;\n(function (ChangeDetectionStrategyType) {\n ChangeDetectionStrategyType[\"IdentityCheck\"] = \"IdentityCheck\";\n ChangeDetectionStrategyType[\"DeepValueCheck\"] = \"DeepValueCheck\";\n ChangeDetectionStrategyType[\"NoCheck\"] = \"NoCheck\";\n})(ChangeDetectionStrategyType = exports.ChangeDetectionStrategyType || (exports.ChangeDetectionStrategyType = {}));\nvar SimpleFunctionalStrategy = /** @class */ (function () {\n function SimpleFunctionalStrategy(strategy) {\n this.strategy = strategy;\n }\n SimpleFunctionalStrategy.prototype.areEqual = function (a, b) {\n return this.strategy(a, b);\n };\n return SimpleFunctionalStrategy;\n}());\nvar DeepValueStrategy = /** @class */ (function () {\n function DeepValueStrategy() {\n }\n DeepValueStrategy.prototype.areEqual = function (a, b) {\n return DeepValueStrategy.areEquivalent(DeepValueStrategy.copy(a), DeepValueStrategy.copy(b));\n };\n /*\n * deeper object comparison - taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n */\n DeepValueStrategy.unwrapStringOrNumber = function (obj) {\n return obj instanceof Number || obj instanceof String ? obj.valueOf() : obj;\n };\n // sigh, here for ie compatibility\n DeepValueStrategy.copy = function (value) {\n if (!value) {\n return value;\n }\n if (Array.isArray(value)) {\n // shallow copy the array - this will typically be either rowData or columnDefs\n var arrayCopy = [];\n for (var i = 0; i < value.length; i++) {\n arrayCopy.push(this.copy(value[i]));\n }\n return arrayCopy;\n }\n // for anything without keys (boolean, string etc).\n // Object.keys - chrome will swallow them\n if (typeof value !== \"object\") {\n return value;\n }\n return [{}, value].reduce(function (r, o) {\n Object.keys(o).forEach(function (k) {\n r[k] = o[k];\n });\n return r;\n }, {});\n };\n DeepValueStrategy.isNaN = function (value) {\n if (Number.isNaN) {\n return Number.isNaN(value);\n }\n // for ie11...\n return typeof (value) === 'number' && isNaN(value);\n };\n /*\n * slightly modified, but taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n *\n * What we're trying to do here is determine if the property being checked has changed in _value_, not just in reference\n *\n * For eg, if a user updates the columnDefs via property binding, but the actual columns defs are the same before and\n * after, then we don't want the grid to re-render\n */\n DeepValueStrategy.areEquivalent = function (a, b) {\n a = DeepValueStrategy.unwrapStringOrNumber(a);\n b = DeepValueStrategy.unwrapStringOrNumber(b);\n if (a === b)\n return true; //e.g. a and b both null\n if (a === null || b === null || typeof a !== typeof b)\n return false;\n if (DeepValueStrategy.isNaN(a) && DeepValueStrategy.isNaN(b)) {\n return true;\n }\n if (a instanceof Date) {\n return b instanceof Date && a.valueOf() === b.valueOf();\n }\n if (typeof a === \"function\") {\n // false to allow for callbacks to be reactive...\n return false;\n }\n if (typeof a !== \"object\" ||\n (a.$$typeof && a.$$typeof.toString() === \"Symbol(react.element)\")) {\n return a == b; //for boolean, number, string, function, xml\n }\n if (Object.isFrozen(a) || Object.isFrozen(b)) {\n return a === b;\n }\n var newA = a.areEquivPropertyTracking === undefined, newB = b.areEquivPropertyTracking === undefined;\n try {\n var prop = void 0;\n if (newA) {\n a.areEquivPropertyTracking = [];\n }\n else if (a.areEquivPropertyTracking.some(function (other) {\n return other === b;\n }))\n return true;\n if (newB) {\n b.areEquivPropertyTracking = [];\n }\n else if (b.areEquivPropertyTracking.some(function (other) { return other === a; })) {\n return true;\n }\n a.areEquivPropertyTracking.push(b);\n b.areEquivPropertyTracking.push(a);\n var tmp = {};\n for (prop in a)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in b)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in tmp) {\n if (!this.areEquivalent(a[prop], b[prop])) {\n return false;\n }\n }\n return true;\n }\n finally {\n if (newA)\n delete a.areEquivPropertyTracking;\n if (newB)\n delete b.areEquivPropertyTracking;\n }\n };\n return DeepValueStrategy;\n}());\nvar ChangeDetectionService = /** @class */ (function () {\n function ChangeDetectionService() {\n var _a;\n this.strategyMap = (_a = {},\n _a[ChangeDetectionStrategyType.DeepValueCheck] = new DeepValueStrategy(),\n _a[ChangeDetectionStrategyType.IdentityCheck] = new SimpleFunctionalStrategy(function (a, b) { return a === b; }),\n _a[ChangeDetectionStrategyType.NoCheck] = new SimpleFunctionalStrategy(function (a, b) { return false; }),\n _a);\n }\n ChangeDetectionService.prototype.getStrategy = function (changeDetectionStrategy) {\n return this.strategyMap[changeDetectionStrategy];\n };\n return ChangeDetectionService;\n}());\nexports.ChangeDetectionService = ChangeDetectionService;\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar counter = 0;\nfunction generateNewKey() {\n return \"agPortalKey_\" + ++counter;\n}\nexports.default = generateNewKey;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"./reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"./keyGenerator\"));\nvar NewReactComponent = /** @class */ (function (_super) {\n __extends(NewReactComponent, _super);\n function NewReactComponent(reactComponent, parentComponent, componentType) {\n var _this = _super.call(this, reactComponent, parentComponent, componentType) || this;\n _this.oldPortal = null;\n _this.key = keyGenerator_1.default();\n _this.portalKey = keyGenerator_1.default();\n return _this;\n }\n NewReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.params = params;\n this.createOrUpdatePortal(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(resolve); });\n };\n NewReactComponent.prototype.createOrUpdatePortal = function (params) {\n var _this = this;\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n };\n }\n this.reactElement = react_1.createElement(this.reactComponent, __assign(__assign({}, params), { key: this.key }));\n this.portal = react_dom_1.createPortal(this.reactElement, this.eParentElement, this.portalKey // fixed deltaRowModeRefreshCompRenderer\n );\n };\n NewReactComponent.prototype.createReactComponent = function (resolve) {\n this.portalManager.mountReactPortal(this.portal, this, function (value) {\n resolve(value);\n });\n };\n NewReactComponent.prototype.isNullValue = function () {\n return this.valueRenderedIsNull(this.params);\n };\n NewReactComponent.prototype.rendered = function () {\n return (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n NewReactComponent.prototype.valueRenderedIsNull = function (params) {\n // we only do this for cellRenderers\n if (!this.componentType.cellRenderer) {\n return false;\n }\n // we've no way of knowing if a component returns null without rendering it first\n // so we render it to markup and check the output - if it'll be null we know and won't timeout\n // waiting for a component that will never be created\n var originalConsoleError = console.error;\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var staticMarkup = server_1.renderToStaticMarkup(react_1.createElement(this.reactComponent, params));\n return staticMarkup === '';\n }\n catch (ignore) {\n }\n finally {\n console.error = originalConsoleError;\n }\n return false;\n };\n /*\n * fallback methods - these will be invoked if a corresponding instance method is not present\n * for example if refresh is called and is not available on the component instance, then refreshComponent on this\n * class will be invoked instead\n *\n * Currently only refresh is supported\n */\n NewReactComponent.prototype.refreshComponent = function (args) {\n this.oldPortal = this.portal;\n this.createOrUpdatePortal(args);\n this.portalManager.updateReactPortal(this.oldPortal, this.portal);\n };\n NewReactComponent.prototype.fallbackMethod = function (name, params) {\n var method = this[name + \"Component\"];\n if (!!method) {\n return method.bind(this)(params);\n }\n };\n NewReactComponent.prototype.fallbackMethodAvailable = function (name) {\n var method = this[name + \"Component\"];\n return !!method;\n };\n return NewReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.NewReactComponent = NewReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PortalManager = /** @class */ (function () {\n function PortalManager(parent, wrappingElement, maxComponentCreationTimeMs) {\n this.destroyed = false;\n this.portals = [];\n this.hasPendingPortalUpdate = false;\n this.wrappingElement = wrappingElement ? wrappingElement : 'div';\n this.parent = parent;\n this.maxComponentCreationTimeMs = maxComponentCreationTimeMs ? maxComponentCreationTimeMs : PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS;\n }\n PortalManager.prototype.getPortals = function () {\n return this.portals;\n };\n PortalManager.prototype.destroy = function () {\n this.destroyed = true;\n };\n PortalManager.prototype.destroyPortal = function (portal) {\n this.portals = this.portals.filter(function (curPortal) { return curPortal !== portal; });\n this.batchUpdate();\n };\n PortalManager.prototype.getComponentWrappingElement = function () {\n return this.wrappingElement;\n };\n PortalManager.prototype.mountReactPortal = function (portal, reactComponent, resolve) {\n this.portals = __spreadArrays(this.portals, [portal]);\n this.waitForInstance(reactComponent, resolve);\n this.batchUpdate();\n };\n PortalManager.prototype.updateReactPortal = function (oldPortal, newPortal) {\n this.portals[this.portals.indexOf(oldPortal)] = newPortal;\n this.batchUpdate();\n };\n PortalManager.prototype.batchUpdate = function () {\n var _this = this;\n if (this.hasPendingPortalUpdate) {\n return;\n }\n setTimeout(function () {\n if (!_this.destroyed) { // destroyed?\n _this.parent.forceUpdate(function () {\n _this.hasPendingPortalUpdate = false;\n });\n }\n });\n this.hasPendingPortalUpdate = true;\n };\n PortalManager.prototype.waitForInstance = function (reactComponent, resolve, startTime) {\n var _this = this;\n if (startTime === void 0) { startTime = Date.now(); }\n // if the grid has been destroyed in the meantime just resolve\n if (this.destroyed) {\n resolve(null);\n return;\n }\n if (reactComponent.rendered()) {\n resolve(reactComponent);\n }\n else {\n if (Date.now() - startTime >= this.maxComponentCreationTimeMs && !this.hasPendingPortalUpdate) {\n // last check - we check if this is a null value being rendered - we do this last as using SSR to check the value\n // can mess up contexts\n if (reactComponent.isNullValue()) {\n resolve(reactComponent);\n return;\n }\n console.error(\"AG Grid: React Component '\" + reactComponent.getReactComponentName() + \"' not created within \" + this.maxComponentCreationTimeMs + \"ms\");\n return;\n }\n window.setTimeout(function () {\n _this.waitForInstance(reactComponent, resolve, startTime);\n });\n }\n };\n PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n return PortalManager;\n}());\nexports.PortalManager = PortalManager;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseReactComponent = /** @class */ (function () {\n function BaseReactComponent() {\n }\n return BaseReactComponent;\n}());\nvar ReactComponent = /** @class */ (function (_super) {\n __extends(ReactComponent, _super);\n function ReactComponent(reactComponent, portalManager, componentType) {\n var _this = _super.call(this) || this;\n _this.portal = null;\n _this.reactComponent = reactComponent;\n _this.portalManager = portalManager;\n _this.componentType = componentType;\n _this.statelessComponent = _this.isStateless(_this.reactComponent);\n return _this;\n }\n ReactComponent.prototype.getGui = function () {\n return this.eParentElement;\n };\n ReactComponent.prototype.destroy = function () {\n if (this.componentInstance && typeof this.componentInstance.destroy == 'function') {\n this.componentInstance.destroy();\n }\n return this.portalManager.destroyPortal(this.portal);\n };\n ReactComponent.prototype.createParentElement = function (params) {\n var componentWrappingElement = this.portalManager.getComponentWrappingElement();\n var eParentElement = document.createElement(componentWrappingElement || 'div');\n eParentElement.classList.add('ag-react-container');\n // DEPRECATED - use componentInstance.getReactContainerStyle or componentInstance.getReactContainerClasses instead\n // so user can have access to the react container, to add css class or style\n params.reactContainer = eParentElement;\n return eParentElement;\n };\n ReactComponent.prototype.addParentContainerStyleAndClasses = function () {\n var _this = this;\n if (!this.componentInstance) {\n return;\n }\n if (this.componentInstance.getReactContainerStyle && this.componentInstance.getReactContainerStyle()) {\n Object.assign(this.eParentElement.style, this.componentInstance.getReactContainerStyle());\n }\n if (this.componentInstance.getReactContainerClasses && this.componentInstance.getReactContainerClasses()) {\n var parentContainerClasses = this.componentInstance.getReactContainerClasses();\n parentContainerClasses.forEach(function (className) { return _this.eParentElement.classList.add(className); });\n }\n };\n ReactComponent.prototype.statelessComponentRendered = function () {\n // fixed fragmentsFuncRendererCreateDestroy funcRendererWithNan (changeDetectionService too for NaN)\n return this.eParentElement.childElementCount > 0 || this.eParentElement.childNodes.length > 0;\n };\n ReactComponent.prototype.getFrameworkComponentInstance = function () {\n return this.componentInstance;\n };\n ReactComponent.prototype.isStatelessComponent = function () {\n return this.statelessComponent;\n };\n ReactComponent.prototype.getReactComponentName = function () {\n return this.reactComponent.name;\n };\n ReactComponent.prototype.getMemoType = function () {\n return this.hasSymbol() ? Symbol.for('react.memo') : 0xead3;\n };\n ReactComponent.prototype.hasSymbol = function () {\n return typeof Symbol === 'function' && Symbol.for;\n };\n ReactComponent.prototype.isStateless = function (Component) {\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent))\n || (typeof Component === 'object' && Component.$$typeof === this.getMemoType());\n };\n ReactComponent.prototype.hasMethod = function (name) {\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n return (!!frameworkComponentInstance && frameworkComponentInstance[name] !== null) ||\n this.fallbackMethodAvailable(name);\n };\n ReactComponent.prototype.callMethod = function (name, args) {\n var _this = this;\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n if (this.isStatelessComponent()) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n else if (!(!!frameworkComponentInstance)) {\n // instance not ready yet - wait for it\n setTimeout(function () { return _this.callMethod(name, args); });\n return;\n }\n var method = frameworkComponentInstance[name];\n if (!!method) {\n return method.apply(frameworkComponentInstance, args);\n }\n if (this.fallbackMethodAvailable(name)) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n };\n ReactComponent.prototype.addMethod = function (name, callback) {\n this[name] = callback;\n };\n return ReactComponent;\n}(BaseReactComponent));\nexports.ReactComponent = ReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar groupCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/groupCellRenderer\"));\nvar detailCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/detailCellRenderer\"));\nvar ReactFrameworkOverrides = /** @class */ (function (_super) {\n __extends(ReactFrameworkOverrides, _super);\n function ReactFrameworkOverrides(reactUi) {\n var _this = _super.call(this) || this;\n _this.frameworkComponents = {\n agGroupCellRenderer: groupCellRenderer_1.default,\n agGroupRowRenderer: groupCellRenderer_1.default,\n agDetailCellRenderer: detailCellRenderer_1.default\n };\n _this.reactUi = reactUi;\n return _this;\n }\n ReactFrameworkOverrides.prototype.frameworkComponent = function (name) {\n if (!this.reactUi) {\n return;\n }\n return this.frameworkComponents[name];\n };\n ReactFrameworkOverrides.prototype.isFrameworkComponent = function (comp) {\n if (!comp) {\n return false;\n }\n var prototype = comp.prototype;\n var isJsComp = prototype && 'getGui' in prototype;\n return !isJsComp;\n };\n return ReactFrameworkOverrides;\n}(ag_grid_community_1.VanillaFrameworkOverrides));\nexports.ReactFrameworkOverrides = ReactFrameworkOverrides;\n","exports.AgGridReact = require('./lib/agGridReact').AgGridReact;\nexports.AgGridColumn = require('./lib/shared/agGridColumn').AgGridColumn;\nexports.ChangeDetectionStrategyType = require('./lib/shared/changeDetectionService').ChangeDetectionStrategyType;\nexports.AgGridReactUi = require('./lib/reactUi/agGridReactUi').AgGridReactUi;\n","import {useState, useEffect} from 'react';\n\n// Force any component to only render on the second pass,\n// in the client.\n// Source: https://www.joshwcomeau.com/react/the-perils-of-rehydration/\nexport const ClientOnly = ({children, ...delegated}) => {\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n if (!hasMounted) {\n return null;\n }\n return
{children}
;\n};\n","import {useStaticQuery, graphql} from 'gatsby';\r\nimport {stringify} from 'csv-stringify/browser/esm';\r\nimport {Icon} from '@trussworks/react-uswds';\r\nimport {ClientOnly} from '../utils/client-render-utils';\r\nimport {getCsvDate} from '../utils/date-utils';\r\nimport {formatDate} from '../utils/date-utils';\r\nimport {useState, useEffect} from 'react';\r\n\r\nconst formatCsvFields = (data, headers, currency_data) => {\r\n const new_csv_data = data.map((item) => {\r\n return {\r\n ...item,\r\n ...{openedDt: formatDate(item.openedDt)},\r\n ...{closedDt: formatDate(item.closedDt)},\r\n ...{orderDt: formatDate(item.orderDt)},\r\n ...{caseStatus: item.caseStatus && item.caseStatus.toLowerCase() === 'open' ? 'Open' : 'Closed'},\r\n };\r\n });\r\n new_csv_data.push({\r\n [headers[0].key]: `Data as of ${formatDate(currency_data.postgres.scDataCurrency.currencyDate)}`,\r\n });\r\n return new_csv_data;\r\n};\r\n\r\nconst ExportCSV = ({data, exported_filename, headers, filter_note}) => {\r\n const currency_data = useStaticQuery(graphql`\r\n {\r\n postgres {\r\n scDataCurrency(dataset: \"enforcement\") {\r\n currencyDate\r\n }\r\n }\r\n }\r\n `);\r\n\r\n // Use null to indicate an error while preparing CSV blob and use undefined to indicate unset.\r\n const [csvBlob, setCsvBlob] = useState();\r\n const [csvUrl, setCsvUrl] = useState();\r\n const is_export_disabled = !csvBlob;\r\n\r\n const handleClick = (event) => {\r\n if (is_export_disabled) event.preventDefault();\r\n };\r\n\r\n useEffect(() => {\r\n const csv_rows = [\r\n headers.map(({label}) => label),\r\n ...formatCsvFields(data, headers, currency_data).map((data) => headers.map(({key}) => data[key] ?? '')),\r\n ];\r\n\r\n const filename = `${exported_filename}_${getCsvDate()}.csv`;\r\n\r\n stringify(csv_rows, (err, output) => {\r\n if (err) {\r\n setCsvBlob(null);\r\n setCsvUrl(null);\r\n } else {\r\n const blob = new File([output], filename, {type: 'text/csv'});\r\n setCsvBlob(blob);\r\n setCsvUrl(URL.createObjectURL(blob));\r\n }\r\n });\r\n\r\n return () => {\r\n setCsvUrl((url) => {\r\n if (url) URL.revokeObjectURL(url);\r\n return undefined;\r\n });\r\n setCsvBlob(undefined);\r\n };\r\n }, [currency_data, data, exported_filename, headers]);\r\n\r\n return (\r\n \r\n \r\n Export Table{filter_note && ` (the exported CSV file will reflect filters applied to the table)`}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExportCSV;\r\n","// Parse the column definitions for the column names and keys,\r\n// assign the array to the csv_headers prop when making the Export CSV link\r\nexport const csv_headers = (column_defs) => {\r\n return column_defs.map((col_def) => ({\r\n label: col_def.headerName,\r\n key: col_def.field,\r\n }));\r\n};\r\n","import {useStaticQuery, graphql, Script} from 'gatsby';\n\nexport const GlobalHead = ({title, children}) => {\n const data = useStaticQuery(graphql`\n query HeaderQuery {\n site {\n siteMetadata {\n title\n }\n }\n }\n `);\n\n return (\n <>\n {title ? title + ' | Enforcement Data | PHMSA' : 'Enforcement Data | PHMSA'}\n ;{/*Some other globals*/}\n