UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

1,388 lines (1,378 loc) 2.05 MB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); // packages/ag-grid-community/src/main.ts var main_exports = {}; __export(main_exports, { ALWAYS_SYNC_GLOBAL_EVENTS: () => ALWAYS_SYNC_GLOBAL_EVENTS, AbstractClientSideNodeManager: () => AbstractClientSideNodeManager, AgAbstractCellEditor: () => AgAbstractCellEditor, AgAbstractInputField: () => AgAbstractInputField, AgAbstractLabel: () => AgAbstractLabel, AgCheckbox: () => AgCheckbox, AgCheckboxSelector: () => AgCheckboxSelector, AgColumn: () => AgColumn, AgColumnGroup: () => AgColumnGroup, AgInputDateField: () => AgInputDateField, AgInputNumberField: () => AgInputNumberField, AgInputNumberFieldSelector: () => AgInputNumberFieldSelector, AgInputTextArea: () => AgInputTextArea, AgInputTextField: () => AgInputTextField, AgInputTextFieldSelector: () => AgInputTextFieldSelector, AgPickerField: () => AgPickerField, AgPromise: () => AgPromise, AgProvidedColumnGroup: () => AgProvidedColumnGroup, AgRadioButton: () => AgRadioButton, AgSelect: () => AgSelect, AgSelectSelector: () => AgSelectSelector, AgToggleButton: () => AgToggleButton, AgToggleButtonSelector: () => AgToggleButtonSelector, AlignedGridsModule: () => AlignedGridsModule, AllCommunityModule: () => AllCommunityModule, AutoScrollService: () => AutoScrollService, BaseColsService: () => BaseColsService, BaseComponentWrapper: () => BaseComponentWrapper, BaseCreator: () => BaseCreator, BaseGridSerializingSession: () => BaseGridSerializingSession, BaseSelectionService: () => BaseSelectionService, BeanStub: () => BeanStub, CellApiModule: () => CellApiModule, CellRangeType: () => CellRangeType, CellSpanModule: () => CellSpanModule, CellStyleModule: () => CellStyleModule, ChangedPath: () => ChangedPath, CheckboxEditorModule: () => CheckboxEditorModule, ClientSideRowModelApiModule: () => ClientSideRowModelApiModule, ClientSideRowModelModule: () => ClientSideRowModelModule, ColumnApiModule: () => ColumnApiModule, ColumnAutoSizeModule: () => ColumnAutoSizeModule, ColumnHoverModule: () => ColumnHoverModule, ColumnKeyCreator: () => ColumnKeyCreator, Component: () => Component, CssClassManager: () => CssClassManager, CsvExportModule: () => CsvExportModule, CustomEditorModule: () => CustomEditorModule, CustomFilterModule: () => CustomFilterModule, DateEditorModule: () => DateEditorModule, DateFilterModule: () => DateFilterModule, DragAndDropModule: () => DragAndDropModule, DragSourceType: () => DragSourceType, EventApiModule: () => EventApiModule, ExternalFilterModule: () => ExternalFilterModule, FakeHScrollComp: () => FakeHScrollComp, FakeVScrollComp: () => FakeVScrollComp, FilterButtonComp: () => FilterButtonComp, FilterComp: () => FilterComp, FilterWrapperComp: () => FilterWrapperComp, GROUP_AUTO_COLUMN_ID: () => GROUP_AUTO_COLUMN_ID, GridBodyCtrl: () => GridBodyCtrl, GridCoreCreator: () => GridCoreCreator, GridCtrl: () => GridCtrl, GridHeaderCtrl: () => GridHeaderCtrl, GridStateModule: () => GridStateModule, GroupInstanceIdCreator: () => GroupInstanceIdCreator, HeaderRowContainerCtrl: () => HeaderRowContainerCtrl, HighlightChangesModule: () => HighlightChangesModule, InfiniteRowModelModule: () => InfiniteRowModelModule, KeyCode: () => KeyCode, LargeTextEditorModule: () => LargeTextEditorModule, LocalEventService: () => LocalEventService, LocaleModule: () => LocaleModule, LocaleService: () => LocaleService, ManagedFocusFeature: () => ManagedFocusFeature, ModuleRegistry: () => ModuleRegistry, NumberEditorModule: () => NumberEditorModule, NumberFilterModule: () => NumberFilterModule, PaginationModule: () => PaginationModule, PinnedRowModel: () => PinnedRowModel, PinnedRowModule: () => PinnedRowModule, PopupComponent: () => PopupComponent, PositionableFeature: () => PositionableFeature, ProvidedFilter: () => ProvidedFilter, QuickFilterModule: () => QuickFilterModule, ROW_NUMBERS_COLUMN_ID: () => ROW_NUMBERS_COLUMN_ID, RefPlaceholder: () => RefPlaceholder, RenderApiModule: () => RenderApiModule, RowApiModule: () => RowApiModule, RowAutoHeightModule: () => RowAutoHeightModule, RowContainerCtrl: () => RowContainerCtrl, RowDragModule: () => RowDragModule, RowNode: () => RowNode, RowSelectionModule: () => RowSelectionModule, RowStyleModule: () => RowStyleModule, SELECTION_COLUMN_ID: () => SELECTION_COLUMN_ID, ScrollApiModule: () => ScrollApiModule, SelectEditorModule: () => SelectEditorModule, ServerSideTransactionResultStatus: () => ServerSideTransactionResultStatus, TabGuardClassNames: () => TabGuardClassNames, TabGuardComp: () => TabGuardComp, TabGuardCtrl: () => TabGuardCtrl, TabGuardFeature: () => TabGuardFeature, TextEditorModule: () => TextEditorModule, TextFilterModule: () => TextFilterModule, TooltipFeature: () => TooltipFeature, TooltipModule: () => TooltipModule, TouchListener: () => TouchListener, UndoRedoEditModule: () => UndoRedoEditModule, ValidationModule: () => ValidationModule, ValueCacheModule: () => ValueCacheModule, VanillaFrameworkOverrides: () => VanillaFrameworkOverrides, _BOOLEAN_MIXED_GRID_OPTIONS: () => _BOOLEAN_MIXED_GRID_OPTIONS, _ColumnFilterModule: () => ColumnFilterModule, _ColumnGroupModule: () => ColumnGroupModule, _ColumnMoveModule: () => ColumnMoveModule, _CsrmSsrmSharedApiModule: () => CsrmSsrmSharedApiModule, _DragModule: () => DragModule, _EditCoreModule: () => EditCoreModule, _EmptyArray: () => _EmptyArray, _EmptyBean: () => EmptyBean, _FOCUS_MANAGED_CLASS: () => FOCUS_MANAGED_CLASS, _FilterCoreModule: () => FilterCoreModule, _FilterValueModule: () => FilterValueModule, _GET_ALL_EVENTS: () => _GET_ALL_EVENTS, _GET_ALL_GRID_OPTIONS: () => _GET_ALL_GRID_OPTIONS, _HeaderComp: () => HeaderComp, _HorizontalResizeModule: () => HorizontalResizeModule, _KeyboardNavigationModule: () => KeyboardNavigationModule, _PUBLIC_EVENTS: () => _PUBLIC_EVENTS, _PUBLIC_EVENT_HANDLERS_MAP: () => _PUBLIC_EVENT_HANDLERS_MAP, _PopupModule: () => PopupModule, _ROW_ID_PREFIX_BOTTOM_PINNED: () => ROW_ID_PREFIX_BOTTOM_PINNED, _ROW_ID_PREFIX_ROW_GROUP: () => ROW_ID_PREFIX_ROW_GROUP, _ROW_ID_PREFIX_TOP_PINNED: () => ROW_ID_PREFIX_TOP_PINNED, _SharedDragAndDropModule: () => SharedDragAndDropModule, _SharedExportModule: () => SharedExportModule, _SharedMenuModule: () => SharedMenuModule, _SharedRowSelectionModule: () => SharedRowSelectionModule, _SortModule: () => SortModule, _SsrmInfiniteSharedApiModule: () => SsrmInfiniteSharedApiModule, _addColumnDefaultAndTypes: () => _addColumnDefaultAndTypes, _addFocusableContainerListener: () => _addFocusableContainerListener, _addGridCommonParams: () => _addGridCommonParams, _anchorElementToMouseMoveEvent: () => _anchorElementToMouseMoveEvent, _applyColumnState: () => _applyColumnState, _areCellsEqual: () => _areCellsEqual, _areColIdsEqual: () => _areColIdsEqual, _areEqual: () => _areEqual, _asThemeImpl: () => _asThemeImpl, _batchCall: () => _batchCall, _canSkipShowingRowGroup: () => _canSkipShowingRowGroup, _clearElement: () => _clearElement, _columnsMatch: () => _columnsMatch, _combineAttributesAndGridOptions: () => _combineAttributesAndGridOptions, _convertColumnEventSourceType: () => _convertColumnEventSourceType, _createCellId: () => _createCellId, _createColumnTree: () => _createColumnTree, _createColumnTreeWithIds: () => _createColumnTreeWithIds, _createElement: () => _createElement, _createGlobalRowEvent: () => _createGlobalRowEvent, _createIcon: () => _createIcon, _createIconNoSpan: () => _createIconNoSpan, _createRowNodeSibling: () => _createRowNodeSibling, _debounce: () => _debounce, _defaultComparator: () => _defaultComparator, _destroyColumnTree: () => _destroyColumnTree, _doOnce: () => _doOnce, _downloadFile: () => _downloadFile, _errMsg: () => _errMsg, _error: () => _error, _escapeString: () => _escapeString, _exists: () => _exists, _findFocusableElements: () => _findFocusableElements, _findNextFocusableElement: () => _findNextFocusableElement, _findTabbableParent: () => _findTabbableParent, _flatten: () => _flatten, _focusGridInnerElement: () => _focusGridInnerElement, _focusInto: () => _focusInto, _focusNextGridCoreContainer: () => _focusNextGridCoreContainer, _formatNumberCommas: () => _formatNumberCommas, _fuzzySuggestions: () => _fuzzySuggestions, _getAbsoluteHeight: () => _getAbsoluteHeight, _getAbsoluteWidth: () => _getAbsoluteWidth, _getActiveDomElement: () => _getActiveDomElement, _getAriaPosInSet: () => _getAriaPosInSet, _getCallbackForEvent: () => _getCallbackForEvent, _getCellByPosition: () => _getCellByPosition, _getCellCtrlForEventTarget: () => _getCellCtrlForEventTarget, _getCellPositionForEvent: () => _getCellPositionForEvent, _getCellRendererDetails: () => _getCellRendererDetails, _getCheckboxLocation: () => _getCheckboxLocation, _getCheckboxes: () => _getCheckboxes, _getClientSideRowModel: () => _getClientSideRowModel, _getColumnState: () => _getColumnState, _getColumnsFromTree: () => _getColumnsFromTree, _getDateParts: () => _getDateParts, _getDefaultFloatingFilterType: () => _getDefaultFloatingFilterType, _getDefaultSimpleFilter: () => _getDefaultSimpleFilter, _getDocument: () => _getDocument, _getEditorRendererDetails: () => _getEditorRendererDetails, _getFillHandle: () => _getFillHandle, _getFilterDetails: () => _getFilterDetails, _getFilterModel: () => _getFilterModel, _getFilterParamsForDataType: () => _getFilterParamsForDataType, _getFloatingFilterCompDetails: () => _getFloatingFilterCompDetails, _getFloatingFiltersHeight: () => getFloatingFiltersHeight, _getGlobalGridOption: () => _getGlobalGridOption, _getGrandTotalRow: () => _getGrandTotalRow, _getGridOption: () => _getGridOption, _getGridRegisteredModules: () => _getGridRegisteredModules, _getGroupAggFiltering: () => _getGroupAggFiltering, _getGroupSelection: () => _getGroupSelection, _getGroupSelectsDescendants: () => _getGroupSelectsDescendants, _getGroupTotalRowCallback: () => _getGroupTotalRowCallback, _getGroupingApproach: () => _getGroupingApproach, _getHeaderCheckbox: () => _getHeaderCheckbox, _getHeaderClassesFromColDef: () => _getHeaderClassesFromColDef, _getHeaderRowCount: () => getHeaderRowCount, _getInnerCellRendererDetails: () => _getInnerCellRendererDetails, _getInnerHeight: () => _getInnerHeight, _getInnerWidth: () => _getInnerWidth, _getIsRowSelectable: () => _getIsRowSelectable, _getLocaleTextFunc: () => _getLocaleTextFunc, _getMaxConcurrentDatasourceRequests: () => _getMaxConcurrentDatasourceRequests, _getNormalisedMousePosition: () => _getNormalisedMousePosition, _getPageBody: () => _getPageBody, _getRootNode: () => _getRootNode, _getRowAbove: () => _getRowAbove, _getRowBelow: () => _getRowBelow, _getRowContainerClass: () => _getRowContainerClass, _getRowContainerOptions: () => _getRowContainerOptions, _getRowHeightAsNumber: () => _getRowHeightAsNumber, _getRowHeightForNode: () => _getRowHeightForNode, _getRowIdCallback: () => _getRowIdCallback, _getRowNode: () => _getRowNode, _getRowSelectionMode: () => _getRowSelectionMode, _getRowSpanContainerClass: () => _getRowSpanContainerClass, _getRowViewportClass: () => _getRowViewportClass, _getServerSideRowModel: () => _getServerSideRowModel, _getShouldDisplayTooltip: () => _getShouldDisplayTooltip, _getSuppressMultiRanges: () => _getSuppressMultiRanges, _getToolPanelClassesFromColDef: () => _getToolPanelClassesFromColDef, _interpretAsRightClick: () => _interpretAsRightClick, _isAnimateRows: () => _isAnimateRows, _isCellSelectionEnabled: () => _isCellSelectionEnabled, _isClientSideRowModel: () => _isClientSideRowModel, _isColumnMenuAnchoringEnabled: () => _isColumnMenuAnchoringEnabled, _isColumnsSortingCoupledToGroup: () => _isColumnsSortingCoupledToGroup, _isDomLayout: () => _isDomLayout, _isElementInEventPath: () => _isElementInEventPath, _isElementOverflowingCallback: () => _isElementOverflowingCallback, _isEventFromPrintableCharacter: () => _isEventFromPrintableCharacter, _isFullWidthGroupRow: () => _isFullWidthGroupRow, _isGetRowHeightFunction: () => _isGetRowHeightFunction, _isGroupMultiAutoColumn: () => _isGroupMultiAutoColumn, _isGroupRowsSticky: () => _isGroupRowsSticky, _isGroupUseEntireRow: () => _isGroupUseEntireRow, _isIOSUserAgent: () => _isIOSUserAgent, _isKeyboardMode: () => _isKeyboardMode, _isLegacyMenuEnabled: () => _isLegacyMenuEnabled, _isMultiRowSelection: () => _isMultiRowSelection, _isNodeOrElement: () => _isNodeOrElement, _isNothingFocused: () => _isNothingFocused, _isPromise: () => _isPromise, _isRowBefore: () => _isRowBefore, _isRowSelection: () => _isRowSelection, _isSameRow: () => _isSameRow, _isServerSideRowModel: () => _isServerSideRowModel, _isSetFilterByDefault: () => _isSetFilterByDefault, _isShowTooltipWhenTruncated: () => _isShowTooltipWhenTruncated, _isStopPropagationForAgGrid: () => _isStopPropagationForAgGrid, _isUseApplyButton: () => _isUseApplyButton, _isUsingNewCellSelectionAPI: () => _isUsingNewCellSelectionAPI, _isUsingNewRowSelectionAPI: () => _isUsingNewRowSelectionAPI, _isVisible: () => _isVisible, _jsonEquals: () => _jsonEquals, _last: () => _last, _loadTemplate: () => _loadTemplate, _makeNull: () => _makeNull, _mergeDeep: () => _mergeDeep, _missing: () => _missing, _observeResize: () => _observeResize, _parseDateTimeFromString: () => _parseDateTimeFromString, _preInitErrMsg: () => _preInitErrMsg, _preserveRangesWhile: () => _preserveRangesWhile, _processOnChange: () => _processOnChange, _radioCssClass: () => _radioCssClass, _refreshFilterUi: () => _refreshFilterUi, _refreshHandlerAndUi: () => _refreshHandlerAndUi, _registerModule: () => _registerModule, _removeAriaExpanded: () => _removeAriaExpanded, _removeAriaSort: () => _removeAriaSort, _removeFromArray: () => _removeFromArray, _removeFromParent: () => _removeFromParent, _requestAnimationFrame: () => _requestAnimationFrame, _resetColumnState: () => _resetColumnState, _selectAllCells: () => _selectAllCells, _serialiseDate: () => _serialiseDate, _setAriaActiveDescendant: () => _setAriaActiveDescendant, _setAriaChecked: () => _setAriaChecked, _setAriaColCount: () => _setAriaColCount, _setAriaColIndex: () => _setAriaColIndex, _setAriaColSpan: () => _setAriaColSpan, _setAriaControls: () => _setAriaControls, _setAriaControlsAndLabel: () => _setAriaControlsAndLabel, _setAriaDescribedBy: () => _setAriaDescribedBy, _setAriaDisabled: () => _setAriaDisabled, _setAriaExpanded: () => _setAriaExpanded, _setAriaHasPopup: () => _setAriaHasPopup, _setAriaHidden: () => _setAriaHidden, _setAriaInvalid: () => _setAriaInvalid, _setAriaLabel: () => _setAriaLabel, _setAriaLabelledBy: () => _setAriaLabelledBy, _setAriaLevel: () => _setAriaLevel, _setAriaPosInSet: () => _setAriaPosInSet, _setAriaRole: () => _setAriaRole, _setAriaRowCount: () => _setAriaRowCount, _setAriaRowIndex: () => _setAriaRowIndex, _setAriaSelected: () => _setAriaSelected, _setAriaSetSize: () => _setAriaSetSize, _setAriaSort: () => _setAriaSort, _setColMenuVisible: () => _setColMenuVisible, _setDisabled: () => _setDisabled, _setDisplayed: () => _setDisplayed, _setFixedWidth: () => _setFixedWidth, _setUmd: () => _setUmd, _setVisible: () => _setVisible, _shouldUpdateColVisibilityAfterGroup: () => _shouldUpdateColVisibilityAfterGroup, _stopPropagationForAgGrid: () => _stopPropagationForAgGrid, _toString: () => _toString, _toStringOrNull: () => _toStringOrNull, _translate: () => _translate, _unwrapUserComp: () => _unwrapUserComp, _updateColsMap: () => _updateColsMap, _updateColumnState: () => _updateColumnState, _updateFilterModel: () => _updateFilterModel, _waitUntil: () => _waitUntil, _warn: () => _warn, _warnOnce: () => _warnOnce, buttonStyleAlpine: () => buttonStyleAlpine, buttonStyleBalham: () => buttonStyleBalham, buttonStyleBase: () => buttonStyleBase, buttonStyleQuartz: () => buttonStyleQuartz, checkboxStyleDefault: () => checkboxStyleDefault, colorSchemeDark: () => colorSchemeDark, colorSchemeDarkBlue: () => colorSchemeDarkBlue, colorSchemeDarkWarm: () => colorSchemeDarkWarm, colorSchemeLight: () => colorSchemeLight, colorSchemeLightCold: () => colorSchemeLightCold, colorSchemeLightWarm: () => colorSchemeLightWarm, colorSchemeVariable: () => colorSchemeVariable, columnDropStyleBordered: () => columnDropStyleBordered, columnDropStylePlain: () => columnDropStylePlain, convertColumnGroupState: () => convertColumnGroupState, convertColumnState: () => convertColumnState, createGrid: () => createGrid, createPart: () => createPart, createTheme: () => createTheme, iconOverrides: () => iconOverrides, iconSetAlpine: () => iconSetAlpine, iconSetMaterial: () => iconSetMaterial, iconSetQuartz: () => iconSetQuartz, iconSetQuartzBold: () => iconSetQuartzBold, iconSetQuartzLight: () => iconSetQuartzLight, iconSetQuartzRegular: () => iconSetQuartzRegular, inputStyleBase: () => inputStyleBase, inputStyleBordered: () => inputStyleBordered, inputStyleUnderlined: () => inputStyleUnderlined, isColumn: () => isColumn, isColumnGroup: () => isColumnGroup, isColumnGroupAutoCol: () => isColumnGroupAutoCol, isColumnSelectionCol: () => isColumnSelectionCol, isCombinedFilterModel: () => isCombinedFilterModel, isProvidedColumnGroup: () => isProvidedColumnGroup, isRowNumberCol: () => isRowNumberCol, provideGlobalGridOptions: () => provideGlobalGridOptions, styleMaterial: () => styleMaterial, tabStyleAlpine: () => tabStyleAlpine, tabStyleBase: () => tabStyleBase, tabStyleMaterial: () => tabStyleMaterial, tabStyleQuartz: () => tabStyleQuartz, tabStyleRolodex: () => tabStyleRolodex, themeAlpine: () => themeAlpine, themeBalham: () => themeBalham, themeMaterial: () => themeMaterial, themeQuartz: () => themeQuartz }); module.exports = __toCommonJS(main_exports); // packages/ag-grid-community/src/localEventService.ts var LocalEventService = class { constructor() { this.allSyncListeners = /* @__PURE__ */ new Map(); this.allAsyncListeners = /* @__PURE__ */ new Map(); this.globalSyncListeners = /* @__PURE__ */ new Set(); this.globalAsyncListeners = /* @__PURE__ */ new Set(); this.asyncFunctionsQueue = []; this.scheduled = false; // using an object performs better than a Set for the number of different events we have this.firedEvents = {}; } setFrameworkOverrides(frameworkOverrides) { this.frameworkOverrides = frameworkOverrides; } getListeners(eventType, async, autoCreateListenerCollection) { const listenerMap = async ? this.allAsyncListeners : this.allSyncListeners; let listeners = listenerMap.get(eventType); if (!listeners && autoCreateListenerCollection) { listeners = /* @__PURE__ */ new Set(); listenerMap.set(eventType, listeners); } return listeners; } noRegisteredListenersExist() { return this.allSyncListeners.size === 0 && this.allAsyncListeners.size === 0 && this.globalSyncListeners.size === 0 && this.globalAsyncListeners.size === 0; } addEventListener(eventType, listener, async = false) { this.getListeners(eventType, async, true).add(listener); } removeEventListener(eventType, listener, async = false) { const listeners = this.getListeners(eventType, async, false); if (!listeners) { return; } listeners.delete(listener); if (listeners.size === 0) { (async ? this.allAsyncListeners : this.allSyncListeners).delete(eventType); } } addGlobalListener(listener, async = false) { this.getGlobalListeners(async).add(listener); } removeGlobalListener(listener, async = false) { this.getGlobalListeners(async).delete(listener); } dispatchEvent(event) { this.dispatchToListeners(event, true); this.dispatchToListeners(event, false); this.firedEvents[event.type] = true; } dispatchEventOnce(event) { if (!this.firedEvents[event.type]) { this.dispatchEvent(event); } } dispatchToListeners(event, async) { const eventType = event.type; if (async && "event" in event) { const browserEvent = event.event; if (browserEvent instanceof Event) { event.eventPath = browserEvent.composedPath(); } } const { frameworkOverrides } = this; const runCallback = (func) => { const callback = frameworkOverrides ? () => frameworkOverrides.wrapIncoming(func) : func; if (async) { this.dispatchAsync(callback); } else { callback(); } }; const originalListeners = this.getListeners(eventType, async, false); if ((originalListeners?.size ?? 0) > 0) { const listeners = new Set(originalListeners); for (const listener of listeners) { if (!originalListeners?.has(listener)) { continue; } runCallback(() => listener(event)); } } const globalListenersSrc = this.getGlobalListeners(async); if (globalListenersSrc.size > 0) { const globalListeners = new Set(globalListenersSrc); for (const listener of globalListeners) { runCallback(() => listener(eventType, event)); } } } getGlobalListeners(async) { return async ? this.globalAsyncListeners : this.globalSyncListeners; } // this gets called inside the grid's thread, for each event that it // wants to set async. the grid then batches the events into one setTimeout() // because setTimeout() is an expensive operation. ideally we would have // each event in it's own setTimeout(), but we batch for performance. dispatchAsync(func) { this.asyncFunctionsQueue.push(func); if (!this.scheduled) { const flush = () => { window.setTimeout(this.flushAsyncQueue.bind(this), 0); }; this.frameworkOverrides ? this.frameworkOverrides.wrapIncoming(flush) : flush(); this.scheduled = true; } } // this happens in the next VM turn only, and empties the queue of events flushAsyncQueue() { this.scheduled = false; const queueCopy = this.asyncFunctionsQueue.slice(); this.asyncFunctionsQueue = []; queueCopy.forEach((func) => func()); } }; // packages/ag-grid-community/src/misc/locale/localeUtils.ts function defaultLocaleTextFunc(_key, defaultValue) { return defaultValue; } function _getLocaleTextFunc(localeSvc) { return localeSvc?.getLocaleTextFunc() ?? defaultLocaleTextFunc; } function _translate(bean, localeValues, key, variableValues) { const defaultValue = localeValues[key]; return bean.getLocaleTextFunc()( key, typeof defaultValue === "function" ? defaultValue(variableValues) : defaultValue, variableValues ); } // packages/ag-grid-community/src/utils/generic.ts function _makeNull(value) { if (value == null || value === "") { return null; } return value; } function _exists(value) { return value != null && value !== ""; } function _missing(value) { return !_exists(value); } function _toStringOrNull(value) { return value != null && typeof value.toString === "function" ? value.toString() : null; } function _jsonEquals(val1, val2) { const val1Json = val1 ? JSON.stringify(val1) : null; const val2Json = val2 ? JSON.stringify(val2) : null; return val1Json === val2Json; } function _defaultComparator(valueA, valueB, accentedCompare = false) { const valueAMissing = valueA == null; const valueBMissing = valueB == null; if (valueA && valueA.toNumber) { valueA = valueA.toNumber(); } if (valueB && valueB.toNumber) { valueB = valueB.toNumber(); } if (valueAMissing && valueBMissing) { return 0; } if (valueAMissing) { return -1; } if (valueBMissing) { return 1; } function doQuickCompare(a, b) { return a > b ? 1 : a < b ? -1 : 0; } if (typeof valueA !== "string") { return doQuickCompare(valueA, valueB); } if (!accentedCompare) { return doQuickCompare(valueA, valueB); } try { return valueA.localeCompare(valueB); } catch (e) { return doQuickCompare(valueA, valueB); } } // packages/ag-grid-community/src/utils/object.ts var SKIP_JS_BUILTINS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]); function _iterateObject(object, callback) { if (object == null) { return; } if (Array.isArray(object)) { for (let i = 0; i < object.length; i++) { callback(i.toString(), object[i]); } return; } for (const key of Object.keys(object)) { callback(key, object[key]); } } function _mergeDeep(dest, source, copyUndefined = true, makeCopyOfSimpleObjects = false) { if (!_exists(source)) { return; } _iterateObject(source, (key, sourceValue) => { if (SKIP_JS_BUILTINS.has(key)) { return; } let destValue = dest[key]; if (destValue === sourceValue) { return; } if (makeCopyOfSimpleObjects) { const objectIsDueToBeCopied = destValue == null && sourceValue != null; if (objectIsDueToBeCopied) { const doNotCopyAsSourceIsSimpleObject = typeof sourceValue === "object" && sourceValue.constructor === Object; if (doNotCopyAsSourceIsSimpleObject) { destValue = {}; dest[key] = destValue; } } } if (_isNonNullObject(sourceValue) && _isNonNullObject(destValue) && !Array.isArray(destValue)) { _mergeDeep(destValue, sourceValue, copyUndefined, makeCopyOfSimpleObjects); } else if (copyUndefined || sourceValue !== void 0) { dest[key] = sourceValue; } }); } function _getValueUsingField(data, field, fieldContainsDots) { if (!field || !data) { return; } if (!fieldContainsDots) { return data[field]; } const fields = field.split("."); let currentObject = data; for (let i = 0; i < fields.length; i++) { if (currentObject == null) { return void 0; } currentObject = currentObject[fields[i]]; } return currentObject; } function _isNonNullObject(value) { return typeof value === "object" && value !== null; } // packages/ag-grid-community/src/globalGridOptions.ts var _GlobalGridOptions = class _GlobalGridOptions { /** * @param providedOptions * @returns Shallow copy of the provided options with global options merged in. */ static applyGlobalGridOptions(providedOptions) { if (!_GlobalGridOptions.gridOptions) { return { ...providedOptions }; } let mergedGridOps = {}; _mergeDeep(mergedGridOps, _GlobalGridOptions.gridOptions, true, true); if (_GlobalGridOptions.mergeStrategy === "deep") { _mergeDeep(mergedGridOps, providedOptions, true, true); } else { mergedGridOps = { ...mergedGridOps, ...providedOptions }; } if (_GlobalGridOptions.gridOptions.context) { mergedGridOps.context = _GlobalGridOptions.gridOptions.context; } if (providedOptions.context) { if (_GlobalGridOptions.mergeStrategy === "deep" && mergedGridOps.context) { _mergeDeep(providedOptions.context, mergedGridOps.context, true, true); } mergedGridOps.context = providedOptions.context; } return mergedGridOps; } }; _GlobalGridOptions.gridOptions = void 0; _GlobalGridOptions.mergeStrategy = "shallow"; var GlobalGridOptions = _GlobalGridOptions; function provideGlobalGridOptions(gridOptions, mergeStrategy = "shallow") { GlobalGridOptions.gridOptions = gridOptions; GlobalGridOptions.mergeStrategy = mergeStrategy; } function _getGlobalGridOption(gridOption) { return GlobalGridOptions.gridOptions?.[gridOption]; } // packages/ag-grid-community/src/gridOptionsDefault.ts var GRID_OPTION_DEFAULTS = { suppressContextMenu: false, preventDefaultOnContextMenu: false, allowContextMenuWithControlKey: false, suppressMenuHide: true, enableBrowserTooltips: false, tooltipTrigger: "hover", tooltipShowDelay: 2e3, tooltipHideDelay: 1e4, tooltipMouseTrack: false, tooltipShowMode: "standard", tooltipInteraction: false, copyHeadersToClipboard: false, copyGroupHeadersToClipboard: false, clipboardDelimiter: " ", suppressCopyRowsToClipboard: false, suppressCopySingleCellRanges: false, suppressLastEmptyLineOnPaste: false, suppressClipboardPaste: false, suppressClipboardApi: false, suppressCutToClipboard: false, maintainColumnOrder: false, enableStrictPivotColumnOrder: false, suppressFieldDotNotation: false, allowDragFromColumnsToolPanel: false, suppressMovableColumns: false, suppressColumnMoveAnimation: false, suppressMoveWhenColumnDragging: false, suppressDragLeaveHidesColumns: false, suppressRowGroupHidesColumns: false, suppressAutoSize: false, autoSizePadding: 20, skipHeaderOnAutoSize: false, singleClickEdit: false, suppressClickEdit: false, readOnlyEdit: false, stopEditingWhenCellsLoseFocus: false, enterNavigatesVertically: false, enterNavigatesVerticallyAfterEdit: false, enableCellEditingOnBackspace: false, undoRedoCellEditing: false, undoRedoCellEditingLimit: 10, suppressCsvExport: false, suppressExcelExport: false, cacheQuickFilter: false, includeHiddenColumnsInQuickFilter: false, excludeChildrenWhenTreeDataFiltering: false, enableAdvancedFilter: false, includeHiddenColumnsInAdvancedFilter: false, enableCharts: false, masterDetail: false, keepDetailRows: false, keepDetailRowsCount: 10, detailRowAutoHeight: false, tabIndex: 0, rowBuffer: 10, valueCache: false, valueCacheNeverExpires: false, enableCellExpressions: false, suppressTouch: false, suppressFocusAfterRefresh: false, suppressBrowserResizeObserver: false, suppressPropertyNamesCheck: false, suppressChangeDetection: false, debug: false, suppressLoadingOverlay: false, suppressNoRowsOverlay: false, pagination: false, paginationPageSize: 100, paginationPageSizeSelector: true, paginationAutoPageSize: false, paginateChildRows: false, suppressPaginationPanel: false, pivotMode: false, pivotPanelShow: "never", pivotDefaultExpanded: 0, pivotSuppressAutoColumn: false, suppressExpandablePivotGroups: false, functionsReadOnly: false, suppressAggFuncInHeader: false, alwaysAggregateAtRootLevel: false, aggregateOnlyChangedColumns: false, suppressAggFilteredOnly: false, removePivotHeaderRowWhenSingleValueColumn: false, animateRows: true, cellFlashDuration: 500, cellFadeDuration: 1e3, allowShowChangeAfterFilter: false, domLayout: "normal", ensureDomOrder: false, enableRtl: false, suppressColumnVirtualisation: false, suppressMaxRenderedRowRestriction: false, suppressRowVirtualisation: false, rowDragManaged: false, rowDragInsertDelay: 500, suppressRowDrag: false, suppressMoveWhenRowDragging: false, rowDragEntireRow: false, rowDragMultiRow: false, embedFullWidthRows: false, groupDisplayType: "singleColumn", groupDefaultExpanded: 0, groupMaintainOrder: false, groupSelectsChildren: false, groupSuppressBlankHeader: false, groupSelectsFiltered: false, showOpenedGroup: false, groupRemoveSingleChildren: false, groupRemoveLowestSingleChildren: false, groupHideOpenParents: false, groupAllowUnbalanced: false, rowGroupPanelShow: "never", suppressMakeColumnVisibleAfterUnGroup: false, treeData: false, rowGroupPanelSuppressSort: false, suppressGroupRowsSticky: false, rowModelType: "clientSide", asyncTransactionWaitMillis: 50, suppressModelUpdateAfterUpdateTransaction: false, cacheOverflowSize: 1, infiniteInitialRowCount: 1, serverSideInitialRowCount: 1, cacheBlockSize: 100, maxBlocksInCache: -1, maxConcurrentDatasourceRequests: 2, blockLoadDebounceMillis: 0, purgeClosedRowNodes: false, serverSideSortAllLevels: false, serverSideOnlyRefreshFilteredGroups: false, serverSidePivotResultFieldSeparator: "_", viewportRowModelPageSize: 5, viewportRowModelBufferSize: 5, alwaysShowHorizontalScroll: false, alwaysShowVerticalScroll: false, debounceVerticalScrollbar: false, suppressHorizontalScroll: false, suppressScrollOnNewData: false, suppressScrollWhenPopupsAreOpen: false, suppressAnimationFrame: false, suppressMiddleClickScrolls: false, suppressPreventDefaultOnMouseWheel: false, rowMultiSelectWithClick: false, suppressRowDeselection: false, suppressRowClickSelection: false, suppressCellFocus: false, suppressHeaderFocus: false, suppressMultiRangeSelection: false, enableCellTextSelection: false, enableRangeSelection: false, enableRangeHandle: false, enableFillHandle: false, fillHandleDirection: "xy", suppressClearOnFillReduction: false, accentedSort: false, unSortIcon: false, suppressMultiSort: false, alwaysMultiSort: false, suppressMaintainUnsortedOrder: false, suppressRowHoverHighlight: false, suppressRowTransform: false, columnHoverHighlight: false, deltaSort: false, enableGroupEdit: false, groupLockGroupColumns: 0, serverSideEnableClientSideSort: false, suppressServerSideFullWidthLoadingRow: false, pivotMaxGeneratedColumns: -1, columnMenu: "new", reactiveCustomComponents: true, suppressSetFilterByDefault: false, rowNumbers: false, enableFilterHandlers: false }; // packages/ag-grid-community/src/utils/aria.ts function _toggleAriaAttribute(element, attribute, value) { if (value == null || typeof value === "string" && value == "") { _removeAriaAttribute(element, attribute); } else { _setAriaAttribute(element, attribute, value); } } function _setAriaAttribute(element, attribute, value) { element.setAttribute(_ariaAttributeName(attribute), value.toString()); } function _removeAriaAttribute(element, attribute) { element.removeAttribute(_ariaAttributeName(attribute)); } function _ariaAttributeName(attribute) { return `aria-${attribute}`; } function _setAriaRole(element, role) { if (role) { element.setAttribute("role", role); } else { element.removeAttribute("role"); } } function _getAriaSortState(sortDirection) { let sort; if (sortDirection === "asc") { sort = "ascending"; } else if (sortDirection === "desc") { sort = "descending"; } else if (sortDirection === "mixed") { sort = "other"; } else { sort = "none"; } return sort; } function _getAriaPosInSet(element) { return parseInt(element.getAttribute("aria-posinset"), 10); } function _getAriaLabel(element) { return element.getAttribute("aria-label"); } function _setAriaLabel(element, label) { _toggleAriaAttribute(element, "label", label); } function _setAriaLabelledBy(element, labelledBy) { _toggleAriaAttribute(element, "labelledby", labelledBy); } function _setAriaDescribedBy(element, describedby) { _toggleAriaAttribute(element, "describedby", describedby); } function _setAriaLive(element, live) { _toggleAriaAttribute(element, "live", live); } function _setAriaAtomic(element, atomic) { _toggleAriaAttribute(element, "atomic", atomic); } function _setAriaRelevant(element, relevant) { _toggleAriaAttribute(element, "relevant", relevant); } function _setAriaInvalid(element, invalid) { _toggleAriaAttribute(element, "invalid", invalid); } function _setAriaLevel(element, level) { _toggleAriaAttribute(element, "level", level); } function _setAriaDisabled(element, disabled) { _toggleAriaAttribute(element, "disabled", disabled); } function _setAriaHidden(element, hidden) { _toggleAriaAttribute(element, "hidden", hidden); } function _setAriaActiveDescendant(element, descendantId) { _toggleAriaAttribute(element, "activedescendant", descendantId); } function _setAriaExpanded(element, expanded) { _setAriaAttribute(element, "expanded", expanded); } function _removeAriaExpanded(element) { _removeAriaAttribute(element, "expanded"); } function _setAriaSetSize(element, setsize) { _setAriaAttribute(element, "setsize", setsize); } function _setAriaPosInSet(element, position) { _setAriaAttribute(element, "posinset", position); } function _setAriaMultiSelectable(element, multiSelectable) { _setAriaAttribute(element, "multiselectable", multiSelectable); } function _setAriaRowCount(element, rowCount) { _setAriaAttribute(element, "rowcount", rowCount); } function _setAriaRowIndex(element, rowIndex) { _setAriaAttribute(element, "rowindex", rowIndex); } function _setAriaRowSpan(element, spanCount) { _setAriaAttribute(element, "rowspan", spanCount); } function _setAriaColCount(element, colCount) { _setAriaAttribute(element, "colcount", colCount); } function _setAriaColIndex(element, colIndex) { _setAriaAttribute(element, "colindex", colIndex); } function _setAriaColSpan(element, colSpan) { _setAriaAttribute(element, "colspan", colSpan); } function _setAriaSort(element, sort) { _setAriaAttribute(element, "sort", sort); } function _removeAriaSort(element) { _removeAriaAttribute(element, "sort"); } function _setAriaSelected(element, selected) { _toggleAriaAttribute(element, "selected", selected); } function _setAriaChecked(element, checked) { _setAriaAttribute(element, "checked", checked === void 0 ? "mixed" : checked); } function _setAriaControls(controllerElement, controlledId) { _toggleAriaAttribute(controllerElement, "controls", controlledId); } function _setAriaControlsAndLabel(controllerElement, controlledElement) { _setAriaControls(controllerElement, controlledElement.id); _setAriaLabelledBy(controlledElement, controllerElement.id); } function _setAriaHasPopup(element, hasPopup) { _toggleAriaAttribute(element, "haspopup", hasPopup === false ? null : hasPopup); } function _getAriaCheckboxStateName(translate, state) { return state === void 0 ? translate("ariaIndeterminate", "indeterminate") : state === true ? translate("ariaChecked", "checked") : translate("ariaUnchecked", "unchecked"); } // packages/ag-grid-community/src/utils/browser.ts var isSafari; var isFirefox; var isMacOs; var isIOS; var invisibleScrollbar; var browserScrollbarWidth; var maxDivHeight; function _isBrowserSafari() { if (isSafari === void 0) { isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); } return isSafari; } function _isBrowserFirefox() { if (isFirefox === void 0) { isFirefox = /(firefox)/i.test(navigator.userAgent); } return isFirefox; } function _isMacOsUserAgent() { if (isMacOs === void 0) { isMacOs = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform); } return isMacOs; } function _isIOSUserAgent() { if (isIOS === void 0) { isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1; } return isIOS; } function _getTabIndex(el) { if (!el) { return null; } const numberTabIndex = el.tabIndex; const tabIndex = el.getAttribute("tabIndex"); if (numberTabIndex === -1 && (tabIndex === null || tabIndex === "" && !_isBrowserFirefox())) { return null; } return numberTabIndex.toString(); } function _getMaxDivHeight() { if (maxDivHeight !== void 0) { return maxDivHeight; } if (!document.body) { return -1; } let res = 1e6; const testUpTo = _isBrowserFirefox() ? 6e6 : 1e9; const div = document.createElement("div"); document.body.appendChild(div); while (true) { const test = res * 2; div.style.height = test + "px"; if (test > testUpTo || div.clientHeight !== test) { break; } else { res = test; } } document.body.removeChild(div); maxDivHeight = res; return res; } function _getScrollbarWidth() { if (browserScrollbarWidth == null) { initScrollbarWidthAndVisibility(); } return browserScrollbarWidth; } function initScrollbarWidthAndVisibility() { const body = document.body; const div = document.createElement("div"); div.style.width = div.style.height = "100px"; div.style.opacity = "0"; div.style.overflow = "scroll"; div.style.msOverflowStyle = "scrollbar"; div.style.position = "absolute"; body.appendChild(div); let width = div.offsetWidth - div.clientWidth; if (width === 0 && div.clientWidth === 0) { width = null; } if (div.parentNode) { div.parentNode.removeChild(div); } if (width != null) { browserScrollbarWidth = width; invisibleScrollbar = width === 0; } } function _isInvisibleScrollbar() { if (invisibleScrollbar == null) { initScrollbarWidthAndVisibility(); } return invisibleScrollbar; } // packages/ag-grid-community/src/utils/dom.ts function _radioCssClass(element, elementClass, otherElementClass) { const parent = element.parentElement; let sibling = parent && parent.firstChild; while (sibling) { if (elementClass) { sibling.classList.toggle(elementClass, sibling === element); } if (otherElementClass) { sibling.classList.toggle(otherElementClass, sibling !== element); } sibling = sibling.nextSibling; } } var FOCUSABLE_SELECTOR = "[tabindex], input, select, button, textarea, [href]"; var FOCUSABLE_EXCLUDE = "[disabled], .ag-disabled:not(.ag-button), .ag-disabled *"; function _isFocusableFormField(element) { const matches = Element.prototype.matches || Element.prototype.msMatchesSelector; const inputSelector = "input, select, button, textarea"; const isFocusable = matches.call(element, inputSelector); const isNotFocusable = matches.call(element, FOCUSABLE_EXCLUDE); const isElementVisible = _isVisible(element); const focusable = isFocusable && !isNotFocusable && isElementVisible; return focusable; } function _setDisplayed(element, displayed, options = {}) { const { skipAriaHidden } = options; element.classList.toggle("ag-hidden", !displayed); if (!skipAriaHidden) { _setAriaHidden(element, !displayed); } } function _setVisible(element, visible, options = {}) { const { skipAriaHidden } = options; element.classList.toggle("ag-invisible", !visible); if (!skipAriaHidden) { _setAriaHidden(element, !visible); } } function _setDisabled(element, disabled) { const attributeName = "disabled"; const addOrRemoveDisabledAttribute = disabled ? (e) => e.setAttribute(attributeName, "") : (e) => e.removeAttribute(attributeName); addOrRemoveDisabledAttribute(element); const inputs = element.querySelectorAll("input") ?? []; for (const input of inputs) { addOrRemoveDisabledAttribute(input); } } function _isElementChildOfClass(element, cls, maxNest) { let counter = 0; while (element) { if (element.classList.contains(cls)) { return true; } element = element.parentElement; if (typeof maxNest == "number") { if (++counter > maxNest) { break; } } else if (element === maxNest) { break; } } return false; } function _getElementSize(el) { const { height, width, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, paddingTop, paddingRight, paddingBottom, paddingLeft, marginTop, marginRight, marginBottom, marginLeft, boxSizing } = window.getComputedStyle(el); return { height: parseFloat(height || "0"), width: parseFloat(width || "0"), borderTopWidth: parseFloat(borderTopWidth || "0"), borderRightWidth: parseFloat(borderRightWidth || "0"), borderBottomWidth: parseFloat(borderBottomWidth || "0"), borderLeftWidth: parseFloat(borderLeftWidth || "0"), paddingTop: parseFloat(paddingTop || "0"), paddingRight: parseFloat(paddingRight || "0"), paddingBottom: parseFloat(paddingBottom || "0"), paddingLeft: parseFloat(paddingLeft || "0"), marginTop: parseFloat(marginTop || "0"), marginRight: parseFloat(marginRight || "0"), marginBottom: parseFloat(marginBottom || "0"), marginLeft: parseFloat(marginLeft || "0"), boxSizing }; } function _getInnerHeight(el) { const size = _getElementSize(el); if (size.boxSizing === "border-box") { return size.height - size.paddingTop - size.paddingBottom; } return size.height; } function _getInnerWidth(el) { const size = _getElementSize(el); if (size.boxSizing === "border-box") { return size.width - size.paddingLeft - size.paddingRight; } return size.width; } function _getAbsoluteHeight(el) { const { height, marginBottom, marginTop } = _getElementSize(el); return Math.floor(height + marginBottom + marginTop); } function _getAbsoluteWidth(el) { const { width, marginLeft, marginRight } = _getElementSize(el); return Math.floor(width + marginLeft + marginRight); } function _getElementRectWithOffset(el) { const offsetElementRect = el.getBoundingClientRect(); const { borderTopWidth, borderLeftWidth, borderRightWidth, borderBottomWidth } = _getElementSize(el); return { top: offsetElementRect.top + (borderTopWidth || 0), left: offsetElementRect.left + (borderLeftWidth || 0), right: offsetElementRect.right + (borderRightWidth || 0), bottom: offsetElementRect.bottom + (borderBottomWidth || 0) }; } function _getScrollLeft(element, rtl) { let scrollLeft = element.scrollLeft; if (rtl) { scrollLeft = Math.abs(scrollLeft); } return scrollLeft; } function _setScrollLeft(element, value, rtl) { if (rtl) { value *= -1; } element.scrollLeft = value; } function _clearElement(el) { while (el && el.firstChild) { el.removeChild(el.firstChild); } } function _removeFromParent(node) { if (node && node.parentNode) { node.parentNode.removeChild(node); } } function _isInDOM(element) { return !!element.offsetParent; } function _isVisible(element) { const el = element; if (el.checkVisibility) { return el.checkVisibility({ checkVisibilityCSS: true }); } const isHidden = !_isInDOM(element) || window.getComputedStyle(element).visibility !== "visible"; return !isHidden; } function _loadTemplate(template) { const tempDiv = document.createElement("div"); tempDiv.innerHTML = (template || "").trim(); return tempDiv.firstChild; } function _ensureDomOrder(eContainer, eChild, eChildBefore) { if (eChildBefore && eChildBefore.nextSibling === eChild) { return; } if (!eContainer.firstChild) { eContainer.appendChild(eChild); } else if (eChildBefore) { if (eChildBefore.nextSibling) { eContainer.insertBefore(eChild, eChildBefore.nextSibling); } else { eContainer.appendChild(eChild); } } else if (eContainer.firstChild && eContainer.firstChild !== eChild) { eContainer.insertAdjacentElement("afterbegin", eChild); } } function _setDomChildOrder(eContainer, orderedChildren) { for (let i = 0; i < orderedChildren.length; i++) { const correctCellAtIndex = orderedChildren[i]; const actualCellAtIndex = eContainer.children[i]; if (actualCellAtIndex !== correctCellAtIndex) { eContainer.insertBefore(correctCellAtIndex, actualCellAtIndex); } } } function _camelCaseToHyphenated(camelCase) { return camelCase.replace(/[A-Z]/g, (s) => `-${s.toLocaleLowerCase()}`); } function _addStylesToElement(eElement, styles) { if (!styles) { return; } for (const key of Object.keys(styles)) { const value = styles[key]; if (!key || !key.length || value == null) { continue; } const parsedKey = _camelCaseToHyphenated(key); const valueAsString = value.toString(); const parsedValue = valueAsString.replace(/\s*!important/g, ""); const priority = parsedValue.length != valueAsString.length ? "important" : void 0; eElement.style.setProperty(parsedKey, parsedValue, priority); } } function _isElementOverflowingCallback(getElement2) { return () => { const element = getElement2(); if (!element) { return true; } return _isHorizontalScrollShowing(element); }; } function _isHorizontalScrollShowing(element) { return element.clientWidth < element.scrollWidth; } function _isVerticalScrollShowing(element) { return element.clientHeight < element.scrollHeight; } function _setElementWidth(element, width) { if (width === "flex") { element.style.removeProperty("width"); element.style.removeProperty("minWidth"); element.style.removeProperty("maxWidth"); element.style.flex = "1 1 auto"; } else { _setFixedWidth(element, width); } } function _setFixedWidth(element, width) { width = _formatSize(width); element.style.width = width; element.style.maxWidth = width; element.style.minWidth = width; } function _setFixedHeight(element, height) { height = _formatSize(height); element.style.height = height; element.style.maxHeight = height; element.style.minHeight = height; } function _formatSize(size) { return typeof size === "number" ? `${size}px` : size; } function _isNodeOrElement(o) { return o instanceof Node || o instanceof HTMLElement; } function _addOrRemoveAttribute(element, name, value) { if (value == null || value === "") { element.removeAttribute(name); } else { element.setAttribute(name, value.toString()); } } function _observeResize(beans, element, callback) { const win = _getWindow(beans); const ResizeObserverImpl = win.ResizeObserver; const resizeObser