ag-grid-community 35.3.0 → 35.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ag-grid-community.js +10 -3
- package/dist/ag-grid-community.min.js +2 -2
- package/dist/ag-grid-community.min.noStyle.js +2 -2
- package/dist/ag-grid-community.noStyle.js +10 -3
- package/dist/package/main.cjs.js +10 -3
- package/dist/package/main.cjs.min.js +2 -2
- package/dist/package/main.esm.min.mjs +2 -2
- package/dist/package/main.esm.mjs +10 -3
- package/dist/package/package.json +2 -2
- package/dist/package.json +2 -2
- package/dist/types/package.json +2 -2
- package/dist/types/src/entities/rowNode.d.ts +4 -0
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var o in t)__defProp(e,o,{get:t[o],enumerable:!0})},__copyProps=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of __getOwnPropNames(t))!__hasOwnProp.call(e,s)&&s!==o&&__defProp(e,s,{get:()=>t[s],enumerable:!(i=__getOwnPropDesc(t,s))||i.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),main_exports={};__export(main_exports,{ALWAYS_SYNC_GLOBAL_EVENTS:()=>ALWAYS_SYNC_GLOBAL_EVENTS,AgAbstractCellEditor:()=>AgAbstractCellEditor,AgAbstractInputField:()=>AgAbstractInputField,AgAbstractLabel:()=>AgAbstractLabel,AgCheckbox:()=>AgCheckbox,AgCheckboxSelector:()=>AgCheckboxSelector,AgColumn:()=>AgColumn,AgColumnGroup:()=>AgColumnGroup,AgContentEditableField:()=>AgContentEditableField,AgContentEditableFieldSelector:()=>AgContentEditableFieldSelector,AgFilterButtonSelector:()=>AgFilterButtonSelector,AgInputDateField:()=>AgInputDateField,AgInputNumberField:()=>AgInputNumberField,AgInputNumberFieldSelector:()=>AgInputNumberFieldSelector,AgInputTextArea:()=>AgInputTextArea,AgInputTextAreaSelector:()=>AgInputTextAreaSelector,AgInputTextField:()=>AgInputTextField,AgInputTextFieldSelector:()=>AgInputTextFieldSelector,AgPickerField:()=>AgPickerField,AgPopupComponent:()=>AgPopupComponent,AgPromise:()=>AgPromise,AgProvidedColumnGroup:()=>AgProvidedColumnGroup,AgRadioButton:()=>AgRadioButton,AgRadioButtonSelector:()=>AgRadioButtonSelector,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,BigIntFilterModule:()=>BigIntFilterModule,CellApiModule:()=>CellApiModule,CellRangeType:()=>CellRangeType,CellSpanModule:()=>CellSpanModule,CellStyleModule:()=>CellStyleModule,CheckboxEditorModule:()=>CheckboxEditorModule,ClientSideRowModelApiModule:()=>ClientSideRowModelApiModule,ClientSideRowModelModule:()=>ClientSideRowModelModule,ColumnApiModule:()=>ColumnApiModule,ColumnAutoSizeModule:()=>ColumnAutoSizeModule,ColumnHoverModule:()=>ColumnHoverModule,ColumnKeyCreator:()=>ColumnKeyCreator,Component:()=>Component,CssClassManager:()=>CssClassManager,CsvExportModule:()=>CsvExportModule,CustomEditorModule:()=>CustomEditorModule,CustomFilterModule:()=>CustomFilterModule,DETAIL_ROW_ID_PREFIX:()=>DETAIL_ROW_ID_PREFIX,DateEditorModule:()=>DateEditorModule,DateFilterModule:()=>DateFilterModule,Direction:()=>Direction,DragAndDropModule:()=>DragAndDropModule,DragSourceType:()=>DragSourceType,EventApiModule:()=>EventApiModule,ExternalFilterModule:()=>ExternalFilterModule,FakeHScrollComp:()=>FakeHScrollComp,FakeVScrollComp:()=>FakeVScrollComp,FilterButtonComp:()=>FilterButtonComp,FilterComp:()=>FilterComp,FilterWrapperComp:()=>FilterWrapperComp,GRAND_TOTAL_ROW_ID:()=>GRAND_TOTAL_ROW_ID,GROUP_AUTO_COLUMN_ID:()=>GROUP_AUTO_COLUMN_ID,GROUP_HIERARCHY_COLUMN_ID_PREFIX:()=>GROUP_HIERARCHY_COLUMN_ID_PREFIX,GROUP_TOTAL_ROW_ID_PREFIX:()=>GROUP_TOTAL_ROW_ID_PREFIX,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,PositionableFeature:()=>PositionableFeature,ProvidedFilter:()=>ProvidedFilter,QuickFilterModule:()=>QuickFilterModule,ROOT_NODE_ID:()=>ROOT_NODE_ID,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,STRUCTURED_SCHEMA_FEATURES:()=>STRUCTURED_SCHEMA_FEATURES,ScrollApiModule:()=>ScrollApiModule,SelectEditorModule:()=>SelectEditorModule,ServerSideTransactionResultStatus:()=>ServerSideTransactionResultStatus,TabGuardClassNames:()=>TabGuardClassNames,TabGuardComp:()=>TabGuardComp,TabGuardCtrl:()=>TabGuardCtrl,TabGuardFeature:()=>TabGuardFeature,TextEditorModule:()=>TextEditorModule,TextFilterModule:()=>TextFilterModule,TooltipModule:()=>TooltipModule,TouchListener:()=>TouchListener,UndoRedoEditModule:()=>UndoRedoEditModule,ValidationModule:()=>ValidationModule,ValueCacheModule:()=>ValueCacheModule,VanillaFrameworkOverrides:()=>VanillaFrameworkOverrides,_AgBeanStub:()=>AgBeanStub,_AgComponentStub:()=>AgComponentStub,_AgContext:()=>AgContext,_AgPositionableFeature:()=>AgPositionableFeature,_AgTabGuardComp:()=>AgTabGuardComp,_AgTabGuardFeature:()=>AgTabGuardFeature,_AgTooltipComponent:()=>AgTooltipComponent,_AgTooltipFeature:()=>AgTooltipFeature,_BOOLEAN_MIXED_GRID_OPTIONS:()=>_BOOLEAN_MIXED_GRID_OPTIONS,_BaseDragAndDropService:()=>BaseDragAndDropService,_BaseDragService:()=>BaseDragService,_BaseEnvironment:()=>BaseEnvironment,_BaseEventService:()=>BaseEventService,_BasePopupService:()=>BasePopupService,_BaseRegistry:()=>BaseRegistry,_BaseTooltipStateManager:()=>BaseTooltipStateManager,_ChangedRowNodes:()=>ChangedRowNodes,_ColumnFilterModule:()=>ColumnFilterModule,_ColumnGroupModule:()=>ColumnGroupModule,_ColumnMoveModule:()=>ColumnMoveModule,_CsrmSsrmSharedApiModule:()=>CsrmSsrmSharedApiModule,_DragModule:()=>DragModule,_EditCoreModule:()=>EditCoreModule,_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,_GET_SHALLOW_GRID_OPTIONS:()=>_GET_SHALLOW_GRID_OPTIONS,_HeaderComp:()=>HeaderComp,_HorizontalResizeModule:()=>HorizontalResizeModule,_KeyboardNavigationModule:()=>KeyboardNavigationModule,_MONTHS:()=>MONTHS,_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,_RowModelSharedApiModule:()=>RowModelSharedApiModule,_STOP_PROPAGATION_CALLBACKS:()=>STOP_PROPAGATION_CALLBACKS,_SharedDragAndDropModule:()=>SharedDragAndDropModule,_SharedExportModule:()=>SharedExportModule,_SharedMenuModule:()=>SharedMenuModule,_SharedRowSelectionModule:()=>SharedRowSelectionModule,_SortModule:()=>SortModule,_SsrmInfiniteSharedApiModule:()=>SsrmInfiniteSharedApiModule,_addAdditionalCss:()=>_addAdditionalCss,_addColumnDefaultAndTypes:()=>_addColumnDefaultAndTypes,_addFocusableContainerListener:()=>_addFocusableContainerListener,_addGridCommonParams:()=>_addGridCommonParams,_addOrRemoveAttribute:()=>_addOrRemoveAttribute,_anchorElementToMouseMoveEvent:()=>_anchorElementToMouseMoveEvent,_applyColumnState:()=>_applyColumnState,_areCellsEqual:()=>_areCellsEqual,_areColIdsEqual:()=>_areColIdsEqual,_areEqual:()=>_areEqual,_areSortDefsEqual:()=>_areSortDefsEqual,_asThemeImpl:()=>_asThemeImpl,_attemptToRestoreCellFocus:()=>_attemptToRestoreCellFocus,_batchCall:()=>_batchCall,_camelCaseToHumanText:()=>_camelCaseToHumanText,_canSkipShowingRowGroup:()=>_canSkipShowingRowGroup,_clearElement:()=>_clearElement,_columnsMatch:()=>_columnsMatch,_combineAttributesAndGridOptions:()=>_combineAttributesAndGridOptions,_computeAlignedPosition:()=>computeAlignedPosition,_consoleError:()=>_consoleError,_convertColumnEventSourceType:()=>_convertColumnEventSourceType,_coreThemeDefaults:()=>coreDefaults,_createAgElement:()=>_createAgElement,_createCellId:()=>_createCellId,_createColumnTree:()=>_createColumnTree,_createColumnTreeWithIds:()=>_createColumnTreeWithIds,_createElement:()=>_createElement,_createGlobalRowEvent:()=>_createGlobalRowEvent,_createIcon:()=>_createIcon,_createIconNoSpan:()=>_createIconNoSpan,_createRowNodeSibling:()=>_createRowNodeSibling,_createSharedTheme:()=>createSharedTheme,_csrmFirstLeaf:()=>_csrmFirstLeaf,_csrmReorderAllLeafs:()=>_csrmReorderAllLeafs,_debounce:()=>_debounce,_defaultComparator:()=>_defaultComparator,_destroyColumnTree:()=>_destroyColumnTree,_doDeltaSort:()=>doDeltaSort,_doOnce:()=>_doOnce,_downloadFile:()=>_downloadFile,_errMsg:()=>_errMsg,_error:()=>_error,_escapeString:()=>_escapeString,_exists:()=>_exists,_findBestPlacement:()=>findBestPlacement,_findEnterpriseCoreModule:()=>_findEnterpriseCoreModule,_findFocusableElements:()=>_findFocusableElements,_findNextFocusableElement:()=>_findNextFocusableElement,_findTabbableParent:()=>_findTabbableParent,_fitsWithinBounds:()=>fitsWithinBounds,_flatten:()=>_flatten,_focusGridInnerElement:()=>_focusGridInnerElement,_focusInto:()=>_focusInto,_focusNextGridCoreContainer:()=>_focusNextGridCoreContainer,_forEachChangedGroupDepthFirst:()=>_forEachChangedGroupDepthFirst,_formatNumberCommas:()=>_formatNumberCommas,_fuzzySuggestions:()=>_fuzzySuggestions,_getAbsoluteHeight:()=>_getAbsoluteHeight,_getAbsoluteRowIndex:()=>_getAbsoluteRowIndex,_getAbsoluteWidth:()=>_getAbsoluteWidth,_getActiveDomElement:()=>_getActiveDomElement,_getAriaPosInSet:()=>_getAriaPosInSet,_getCallbackForEvent:()=>_getCallbackForEvent,_getCellByPosition:()=>_getCellByPosition,_getCellCtrlForEventTarget:()=>_getCellCtrlForEventTarget,_getCellPositionForEvent:()=>_getCellPositionForEvent,_getCellRendererDetails:()=>_getCellRendererDetails,_getCheckboxLocation:()=>_getCheckboxLocation,_getCheckboxes:()=>_getCheckboxes,_getClientSideRowModel:()=>_getClientSideRowModel,_getColumnState:()=>_getColumnState,_getColumnStateFromColDef:()=>_getColumnStateFromColDef,_getColumnsFromTree:()=>_getColumnsFromTree,_getDateParts:()=>_getDateParts,_getDefaultFloatingFilterType:()=>_getDefaultFloatingFilterType,_getDefaultSimpleFilter:()=>_getDefaultSimpleFilter,_getDisplaySortForColumn:()=>_getDisplaySortForColumn,_getDocument:()=>_getDocument,_getEditorRendererDetails:()=>_getEditorRendererDetails,_getEffectivePlacements:()=>getEffectivePlacements,_getEnableColumnSelection:()=>_getEnableColumnSelection,_getFillHandle:()=>_getFillHandle,_getFilterDetails:()=>_getFilterDetails,_getFilterModel:()=>_getFilterModel,_getFilterParamsForDataType:()=>_getFilterParamsForDataType,_getFirstRow:()=>_getFirstRow,_getFloatingFilterCompDetails:()=>_getFloatingFilterCompDetails,_getFloatingFiltersHeight:()=>getFloatingFiltersHeight,_getGlobalGridOption:()=>_getGlobalGridOption,_getGrandTotalPinnedFloat:()=>_getGrandTotalPinnedFloat,_getGrandTotalRow:()=>_getGrandTotalRow,_getGridOption:()=>_getGridOption,_getGridRegisteredModules:()=>_getGridRegisteredModules,_getGroupAggFiltering:()=>_getGroupAggFiltering,_getGroupSelection:()=>_getGroupSelection,_getGroupSelectsDescendants:()=>_getGroupSelectsDescendants,_getGroupTotalRowCallback:()=>_getGroupTotalRowCallback,_getHeaderCheckbox:()=>_getHeaderCheckbox,_getHeaderClassesFromColDef:()=>_getHeaderClassesFromColDef,_getHeaderRowCount:()=>getHeaderRowCount,_getInnerCellRendererDetails:()=>_getInnerCellRendererDetails,_getInnerHeight:()=>_getInnerHeight,_getInnerWidth:()=>_getInnerWidth,_getIsRowSelectable:()=>_getIsRowSelectable,_getLastRow:()=>_getLastRow,_getLocaleTextFromFunc:()=>_getLocaleTextFromFunc,_getLocaleTextFromMap:()=>_getLocaleTextFromMap,_getLocaleTextFunc:()=>_getLocaleTextFunc,_getMaxConcurrentDatasourceRequests:()=>_getMaxConcurrentDatasourceRequests,_getNormalisedMousePosition:()=>_getNormalisedMousePosition,_getPageBody:()=>_getPageBody,_getParamType:()=>getParamType,_getRectSize:()=>getRectSize,_getRootNode:()=>_getRootNode,_getRowAbove:()=>_getRowAbove,_getRowBelow:()=>_getRowBelow,_getRowContainerClass:()=>_getRowContainerClass,_getRowContainerOptions:()=>_getRowContainerOptions,_getRowCtrlForEventTarget:()=>_getRowCtrlForEventTarget,_getRowHeightAsNumber:()=>_getRowHeightAsNumber,_getRowHeightForNode:()=>_getRowHeightForNode,_getRowIdCallback:()=>_getRowIdCallback,_getRowNode:()=>_getRowNode,_getRowSelectionMode:()=>_getRowSelectionMode,_getRowSpanContainerClass:()=>_getRowSpanContainerClass,_getRowViewportClass:()=>_getRowViewportClass,_getServerSideRowModel:()=>_getServerSideRowModel,_getShouldDisplayTooltip:()=>_getShouldDisplayTooltip,_getSortDefFromColDef:()=>_getSortDefFromColDef,_getSortDefFromInput:()=>_getSortDefFromInput,_getSuppressMultiRanges:()=>_getSuppressMultiRanges,_getToolPanelClassesFromColDef:()=>_getToolPanelClassesFromColDef,_getViewportRowModel:()=>_getViewportRowModel,_getWindow:()=>_getWindow,_interpretAsRightClick:()=>_interpretAsRightClick,_isAnimateRows:()=>_isAnimateRows,_isBrowserFirefox:()=>_isBrowserFirefox,_isBrowserSafari:()=>_isBrowserSafari,_isCellSelectionEnabled:()=>_isCellSelectionEnabled,_isClientSideRowModel:()=>_isClientSideRowModel,_isColumnMenuAnchoringEnabled:()=>_isColumnMenuAnchoringEnabled,_isColumnsSortingCoupledToGroup:()=>_isColumnsSortingCoupledToGroup,_isComponent:()=>_isComponent,_isDomLayout:()=>_isDomLayout,_isElementInEventPath:()=>_isElementInEventPath,_isElementOverflowingCallback:()=>_isElementOverflowingCallback,_isEventFromPrintableCharacter:()=>_isEventFromPrintableCharacter,_isExpressionString:()=>_isExpressionString,_isFocusableFormField:()=>_isFocusableFormField,_isFullWidthGroupRow:()=>_isFullWidthGroupRow,_isGetRowHeightFunction:()=>_isGetRowHeightFunction,_isGroupHideColumnsUntilExpanded:()=>_isGroupHideColumnsUntilExpanded,_isGroupMultiAutoColumn:()=>_isGroupMultiAutoColumn,_isGroupRowsSticky:()=>_isGroupRowsSticky,_isGroupUseEntireRow:()=>_isGroupUseEntireRow,_isIOSUserAgent:()=>_isIOSUserAgent,_isKeyboardMode:()=>_isKeyboardMode,_isLegacyMenuEnabled:()=>_isLegacyMenuEnabled,_isMultiRowSelection:()=>_isMultiRowSelection,_isNodeOrElement:()=>_isNodeOrElement,_isNothingFocused:()=>_isNothingFocused,_isPromise:()=>_isPromise,_isRowBefore:()=>_isRowBefore,_isRowNumbers:()=>_isRowNumbers,_isRowSelection:()=>_isRowSelection,_isSameRow:()=>_isSameRow,_isServerSideRowModel:()=>_isServerSideRowModel,_isSetFilterByDefault:()=>_isSetFilterByDefault,_isShowTooltipWhenTruncated:()=>_isShowTooltipWhenTruncated,_isSortDirectionValid:()=>_isSortDirectionValid,_isSortTypeValid:()=>_isSortTypeValid,_isStopPropagationForAgGrid:()=>_isStopPropagationForAgGrid,_isUseApplyButton:()=>_isUseApplyButton,_isUsingNewCellSelectionAPI:()=>_isUsingNewCellSelectionAPI,_isUsingNewRowSelectionAPI:()=>_isUsingNewRowSelectionAPI,_isVisible:()=>_isVisible,_jsonEquals:()=>_jsonEquals,_last:()=>_last,_loadTemplate:()=>_loadTemplate,_logPreInitWarn:()=>_logPreInitWarn,_makeNull:()=>_makeNull,_mergeDeep:()=>_mergeDeep,_missing:()=>_missing,_normalizeSortDirection:()=>_normalizeSortDirection,_normalizeSortType:()=>_normalizeSortType,_observeResize:()=>_observeResize,_paramToVariableName:()=>paramToVariableName,_paramValueToCss:()=>paramValueToCss,_parseBigIntOrNull:()=>_parseBigIntOrNull,_parseDateTimeFromString:()=>_parseDateTimeFromString,_placeCaretAtEnd:()=>_placeCaretAtEnd,_preInitErrMsg:()=>_preInitErrMsg,_prevOrNextDisplayedRow:()=>_prevOrNextDisplayedRow,_processOnChange:()=>_processOnChange,_radioCssClass:()=>_radioCssClass,_refreshFilterUi:()=>_refreshFilterUi,_refreshHandlerAndUi:()=>_refreshHandlerAndUi,_registerModule:()=>_registerModule,_removeAllFromArray:()=>_removeAllFromArray,_removeAriaExpanded:()=>_removeAriaExpanded,_removeAriaSort:()=>_removeAriaSort,_removeFromArray:()=>_removeFromArray,_removeFromParent:()=>_removeFromParent,_requestAnimationFrame:()=>_requestAnimationFrame,_resetColumnState:()=>_resetColumnState,_reuseArrayIfEqual:()=>_reuseArrayIfEqual,_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,_setAriaOrientation:()=>_setAriaOrientation,_setAriaPosInSet:()=>_setAriaPosInSet,_setAriaRole:()=>_setAriaRole,_setAriaRowCount:()=>_setAriaRowCount,_setAriaRowIndex:()=>_setAriaRowIndex,_setAriaSelected:()=>_setAriaSelected,_setAriaSetSize:()=>_setAriaSetSize,_setAriaSort:()=>_setAriaSort,_setColMenuVisible:()=>_setColMenuVisible,_setDisabled:()=>_setDisabled,_setDisplayed:()=>_setDisplayed,_setFixedWidth:()=>_setFixedWidth,_setScrollLeft:()=>_setScrollLeft,_setUmd:()=>_setUmd,_setVisible:()=>_setVisible,_sharedThemeDefaults:()=>sharedDefaults,_shouldUpdateColVisibilityAfterGroup:()=>_shouldUpdateColVisibilityAfterGroup,_skipFocusableContainerListenerForAgGrid:()=>_skipFocusableContainerListenerForAgGrid,_stopPropagationForAgGrid:()=>_stopPropagationForAgGrid,_suppressCellMouseEvent:()=>_suppressCellMouseEvent,_themeAlpineParams:()=>themeAlpineParams,_themeBalhamParams:()=>themeBalhamParams,_themeMaterialParams:()=>themeMaterialParams,_themeQuartzParams:()=>themeQuartzParams,_toRelativeRect:()=>toRelativeRect,_toString:()=>_toString,_toStringOrNull:()=>_toStringOrNull,_translate:()=>_translate,_translateForFilter:()=>translateForFilter,_unwrapUserComp:()=>_unwrapUserComp,_updateColsMap:()=>_updateColsMap,_updateColumnState:()=>_updateColumnState,_updateFilterModel:()=>_updateFilterModel,_updateRowNodeAfterSort:()=>updateRowNodeAfterSort,_waitUntil:()=>_waitUntil,_warn:()=>_warn,_warnOnce:()=>_warnOnce,agTestIdFor:()=>agTestIdFor,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,getGridApi:()=>getGridApi,getGridElement:()=>getGridElement,iconOverrides:()=>iconOverrides,iconSetAlpine:()=>iconSetAlpine,iconSetBalham:()=>iconSetBalham,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,isSpecialCol:()=>isSpecialCol,onRowHeightChanged:()=>onRowHeightChanged,provideGlobalGridOptions:()=>provideGlobalGridOptions,resetRowHeights:()=>resetRowHeights,setupAgTestIds:()=>setupAgTestIds,styleMaterial:()=>styleMaterial,tabStyleAlpine:()=>tabStyleAlpine,tabStyleBase:()=>tabStyleBase,tabStyleMaterial:()=>tabStyleMaterial,tabStyleQuartz:()=>tabStyleQuartz,tabStyleRolodex:()=>tabStyleRolodex,themeAlpine:()=>themeAlpine,themeBalham:()=>themeBalham,themeMaterial:()=>themeMaterial,themeQuartz:()=>themeQuartz,wrapAgTestIdFor:()=>wrapAgTestIdFor}),module.exports=__toCommonJS(main_exports);function _last(e){if(e?.length)return e[e.length-1]}function _areEqual(e,t,o){if(e===t)return!0;if(!e||!t)return e==null&&t==null;const i=e.length;if(i!==t.length)return!1;if(o){for(let s=0;s<i;++s)if(e[s]!==t[s]&&!o(e[s],t[s]))return!1;return!0}for(let s=0;s<i;++s)if(e[s]!==t[s])return!1;return!0}function _reuseArrayIfEqual(e,t){if(!t)return[];const o=t.length;if(e&&e!==t&&e.length===o){for(let i=0;i<o;++i)if(e[i]!==t[i])return t.slice();return e}return t.slice()}function _forAll(e,t){if(e){for(const o of e)if(t(o))return!0}}function _removeFromArray(e,t){const o=e.indexOf(t);o>=0&&e.splice(o,1)}function _removeAllFromArray(e,t){let o=0,i=0;for(;o<e.length;o++)t.includes(e[o])||(e[i]=e[o],i++);for(;i<e.length;)e.pop()}function _moveInArray(e,t,o){for(let i=0;i<t.length;i++)_removeFromArray(e,t[i]);for(let i=t.length-1;i>=0;i--)e.splice(o,0,t[i])}function _flatten(e){return[].concat.apply([],e)}var _makeNull=e=>e==null||e===""?null:e;function _exists(e){return e!=null&&e!==""}function _missing(e){return!_exists(e)}var _toStringOrNull=e=>e!=null&&typeof e.toString=="function"?e.toString():null,_jsonEquals=(e,t)=>{const o=e?JSON.stringify(e):null,i=t?JSON.stringify(t):null;return o===i},_defaultComparator=(e,t,o=!1)=>(typeof e=="object"&&e!==null&&typeof e.toNumber=="function"&&(e=e.toNumber()),typeof t=="object"&&t!==null&&typeof t.toNumber=="function"&&(t=t.toNumber()),e==null?t==null?0:-1:t==null?1:!o||typeof e!="string"?e>t?1:e<t?-1:0:e.localeCompare(t)),LocalEventService=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,o){const i=t?this.allAsyncListeners:this.allSyncListeners;let s=i.get(e);return!s&&o&&(s=new Set,i.set(e,s)),s}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,o=!1){this.getListeners(e,o,!0).add(t)}removeEventListener(e,t,o=!1){const i=this.getListeners(e,o,!1);i&&(i.delete(t),i.size===0&&(o?this.allAsyncListeners:this.allSyncListeners).delete(e))}addGlobalListener(e,t=!1){this.getGlobalListeners(t).add(e)}removeGlobalListener(e,t=!1){this.getGlobalListeners(t).delete(e)}dispatchEvent(e){this.dispatchToListeners(e,!0),this.dispatchToListeners(e,!1),this.firedEvents[e.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const o=e.type;if(t&&"event"in e){const a=e.event;a instanceof Event&&(e.eventPath=a.composedPath())}const{frameworkOverrides:i}=this,s=a=>{const l=i?()=>i.wrapIncoming(a):a;t?this.dispatchAsync(l):l()},n=this.getListeners(o,t,!1);if((n?.size??0)>0){const a=new Set(n);for(const l of a)n?.has(l)&&s(()=>l(e))}const r=this.getGlobalListeners(t);if(r.size>0){const a=new Set(r);for(const l of a)s(()=>l(o,e))}}getGlobalListeners(e){return e?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},o=this.frameworkOverrides;o?o.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(const t of e)t()}},reUnescapedHtml=/[&<>"']/g,HTML_ESCAPES={"&":"&","<":"<",">":">",'"':""","'":"'"};function _toString(e){return e?.toString().toString()??null}function _escapeString(e){return _toString(e)?.replace(reUnescapedHtml,t=>HTML_ESCAPES[t])??null}function _isExpressionString(e){return typeof e=="string"&&e.length>1&&e.codePointAt(0)===61}function _camelCaseToHumanText(e){if(!e||e==null)return null;const t=/([a-z])([A-Z])/g,o=/([A-Z]+)([A-Z])([a-z])/g;return e.replace(t,"$1 $2").replace(o,"$1 $2$3").replace(/\./g," ").split(" ").map(s=>s.substring(0,1).toUpperCase()+(s.length>1?s.substring(1,s.length):"")).join(" ")}function _getRootNode(e){return e.eRootDiv.getRootNode()}function _getActiveDomElement(e){return _getRootNode(e).activeElement}function _getDocument(e){const{gos:t,eRootDiv:o}=e;let i=null;const s=t.get("getDocument");return s&&_exists(s)?i=s():o&&(i=o.ownerDocument),i&&_exists(i)?i:document}function _isNothingFocused(e){const t=_getActiveDomElement(e);return t===null||t===_getDocument(e).body}function _getWindow(e){return _getDocument(e).defaultView||window}function _getPageBody(e){let t=null,o;try{t=_getDocument(e).fullscreenElement}catch{}finally{t||(t=_getRootNode(e));const i=t.querySelector("body");i?o=i:t instanceof ShadowRoot?o=t:t instanceof Document?o=t?.documentElement:o=t}return o}function _getBodyWidth(e){return _getPageBody(e)?.clientWidth??(window.innerWidth||-1)}function _getBodyHeight(e){return _getPageBody(e)?.clientHeight??(window.innerHeight||-1)}function _toggleAriaAttribute(e,t,o){o==null||typeof o=="string"&&o==""?_removeAriaAttribute(e,t):_setAriaAttribute(e,t,o)}function _setAriaAttribute(e,t,o){e.setAttribute(_ariaAttributeName(t),o.toString())}function _removeAriaAttribute(e,t){e.removeAttribute(_ariaAttributeName(t))}function _ariaAttributeName(e){return`aria-${e}`}function _setAriaRole(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function _getAriaSortState(e){const t=e?.direction;return t==="asc"?"ascending":t==="desc"?"descending":t==="mixed"?"other":"none"}function _getAriaPosInSet(e){return Number.parseInt(e.getAttribute("aria-posinset"),10)}function _getAriaLabel(e){return e.getAttribute("aria-label")}function _setAriaLabel(e,t){_toggleAriaAttribute(e,"label",t)}function _setAriaLabelledBy(e,t){_toggleAriaAttribute(e,"labelledby",t)}function _setAriaDescribedBy(e,t){_toggleAriaAttribute(e,"describedby",t)}function _setAriaLive(e,t){_toggleAriaAttribute(e,"live",t)}function _setAriaAtomic(e,t){_toggleAriaAttribute(e,"atomic",t)}function _setAriaRelevant(e,t){_toggleAriaAttribute(e,"relevant",t)}function _setAriaInvalid(e,t){_toggleAriaAttribute(e,"invalid",t)}function _setAriaLevel(e,t){_toggleAriaAttribute(e,"level",t)}function _setAriaDisabled(e,t){_toggleAriaAttribute(e,"disabled",t)}function _setAriaHidden(e,t){_toggleAriaAttribute(e,"hidden",t)}function _setAriaActiveDescendant(e,t){_toggleAriaAttribute(e,"activedescendant",t)}function _setAriaExpanded(e,t){_setAriaAttribute(e,"expanded",t)}function _removeAriaExpanded(e){_removeAriaAttribute(e,"expanded")}function _setAriaSetSize(e,t){_setAriaAttribute(e,"setsize",t)}function _setAriaPosInSet(e,t){_setAriaAttribute(e,"posinset",t)}function _setAriaMultiSelectable(e,t){_setAriaAttribute(e,"multiselectable",t)}function _setAriaRowCount(e,t){_setAriaAttribute(e,"rowcount",t)}function _setAriaRowIndex(e,t){_setAriaAttribute(e,"rowindex",t)}function _setAriaRowSpan(e,t){_setAriaAttribute(e,"rowspan",t)}function _setAriaColCount(e,t){_setAriaAttribute(e,"colcount",t)}function _setAriaColIndex(e,t){_setAriaAttribute(e,"colindex",t)}function _setAriaColSpan(e,t){_setAriaAttribute(e,"colspan",t)}function _setAriaSort(e,t){_setAriaAttribute(e,"sort",t)}function _removeAriaSort(e){_removeAriaAttribute(e,"sort")}function _setAriaSelected(e,t){_toggleAriaAttribute(e,"selected",t)}function _setAriaChecked(e,t){_setAriaAttribute(e,"checked",t===void 0?"mixed":t)}function _setAriaControls(e,t){_toggleAriaAttribute(e,"controls",t)}function _setAriaControlsAndLabel(e,t){_setAriaControls(e,t.id),_setAriaLabelledBy(t,e.id)}function _setAriaOwns(e,t){_toggleAriaAttribute(e,"owns",t)}function _setAriaHasPopup(e,t){_toggleAriaAttribute(e,"haspopup",t===!1?null:t)}function _getAriaCheckboxStateName(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}function _setAriaOrientation(e,t){t?_setAriaAttribute(e,"orientation",t):_removeAriaAttribute(e,"orientation")}function _radioCssClass(e,t,o){const i=e.parentElement;let s=i&&i.firstChild;for(;s;)t&&s.classList.toggle(t,s===e),o&&s.classList.toggle(o,s!==e),s=s.nextSibling}var FOCUSABLE_SELECTOR="[tabindex], input, select, button, textarea, [href]",FOCUSABLE_EXCLUDE="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function _isFocusableFormField(e){return!e||!e.matches("input, select, button, textarea")||!e.matches(FOCUSABLE_EXCLUDE)?!1:_isVisible(e)}function _setDisplayed(e,t,o={}){const{skipAriaHidden:i}=o;e.classList.toggle("ag-hidden",!t),i||_setAriaHidden(e,!t)}function _setVisible(e,t,o={}){const{skipAriaHidden:i}=o;e.classList.toggle("ag-invisible",!t),i||_setAriaHidden(e,!t)}function _setDisabled(e,t){const o="disabled",i=t?n=>n.setAttribute(o,""):n=>n.removeAttribute(o);i(e);const s=e.querySelectorAll("input")??[];for(const n of s)i(n)}function _isElementChildOfClass(e,t,o){let i=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof o=="number"){if(++i>o)break}else if(e===o)break}return!1}function _getElementSize(e){const{height:t,width:o,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:n,borderLeftWidth:r,paddingTop:a,paddingRight:l,paddingBottom:d,paddingLeft:c,marginTop:u,marginRight:h,marginBottom:g,marginLeft:p,boxSizing:f}=window.getComputedStyle(e),m=Number.parseFloat;return{height:m(t||"0"),width:m(o||"0"),borderTopWidth:m(i||"0"),borderRightWidth:m(s||"0"),borderBottomWidth:m(n||"0"),borderLeftWidth:m(r||"0"),paddingTop:m(a||"0"),paddingRight:m(l||"0"),paddingBottom:m(d||"0"),paddingLeft:m(c||"0"),marginTop:m(u||"0"),marginRight:m(h||"0"),marginBottom:m(g||"0"),marginLeft:m(p||"0"),boxSizing:f}}function _getInnerHeight(e){const t=_getElementSize(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom-t.borderTopWidth-t.borderBottomWidth:t.height}function _getInnerWidth(e){const t=_getElementSize(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight-t.borderLeftWidth-t.borderRightWidth:t.width}function _getAbsoluteHeight(e){const{height:t,marginBottom:o,marginTop:i}=_getElementSize(e);return Math.floor(t+o+i)}function _getAbsoluteWidth(e){const{width:t,marginLeft:o,marginRight:i}=_getElementSize(e);return Math.floor(t+o+i)}function _getElementRectWithOffset(e){const t=e.getBoundingClientRect(),{borderTopWidth:o,borderLeftWidth:i,borderRightWidth:s,borderBottomWidth:n}=_getElementSize(e);return{top:t.top+(o||0),left:t.left+(i||0),right:t.right+(s||0),bottom:t.bottom+(n||0)}}function _getScrollLeft(e,t){let o=e.scrollLeft;return t&&(o=Math.abs(o)),o}function _setScrollLeft(e,t,o){o&&(t*=-1),e.scrollLeft=t}function _clearElement(e){for(;e?.firstChild;)e.firstChild.remove()}function _removeFromParent(e){e?.parentNode&&e.remove()}function _isInDOM(e){return!!e.offsetParent}function _isVisible(e){return e.checkVisibility?e.checkVisibility({checkVisibilityCSS:!0}):!(!_isInDOM(e)||window.getComputedStyle(e).visibility!=="visible")}function _loadTemplate(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function _ensureDomOrder(e,t,o){o?.nextSibling!==t&&(e.firstChild?o?o.nextSibling?e.insertBefore(t,o.nextSibling):e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.prepend(t):e.appendChild(t))}function _setDomChildOrder(e,t){for(let o=0;o<t.length;o++){const i=t[o],s=e.children[o];s!==i&&e.insertBefore(i,s)}}function _camelCaseToHyphenated(e){return e.replace(/[A-Z]/g,t=>`-${t.toLocaleLowerCase()}`)}function _addStylesToElement(e,t){if(t)for(const o of Object.keys(t)){const i=t[o];if(!o?.length||i==null)continue;const s=_camelCaseToHyphenated(o),n=i.toString(),r=n.replace(/\s*!important/g,""),a=r.length!=n.length?"important":void 0;e.style.setProperty(s,r,a)}}function _isElementOverflowingCallback(e){return()=>{const t=e();return t?_isHorizontalScrollShowing(t)||_isVerticalScrollShowing(t):!0}}function _isHorizontalScrollShowing(e){return e.clientWidth<e.scrollWidth}function _isVerticalScrollShowing(e){return e.clientHeight<e.scrollHeight}function _setElementWidth(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):_setFixedWidth(e,t)}function _setFixedWidth(e,t){t=_formatSize(t),e.style.width=t,e.style.maxWidth=t,e.style.minWidth=t}function _setFixedHeight(e,t){t=_formatSize(t),e.style.height=t,e.style.maxHeight=t,e.style.minHeight=t}function _formatSize(e){return typeof e=="number"?`${e}px`:e}function _isNodeOrElement(e){return e instanceof Node||e instanceof HTMLElement}function _addOrRemoveAttribute(e,t,o){o==null||o===""?e.removeAttribute(t):e.setAttribute(t,o.toString())}function _placeCaretAtEnd(e,t){if(!t.isContentEditable)return;const o=_getWindow(e).getSelection();if(!o)return;const i=_getDocument(e).createRange();i.selectNodeContents(t),i.collapse(!1),o.removeAllRanges(),o.addRange(i)}function _observeResize(e,t,o){const s=_getWindow(e).ResizeObserver,n=s?new s(o):null;return n?.observe(t),()=>n?.disconnect()}function _requestAnimationFrame(e,t){const o=_getWindow(e);o.requestAnimationFrame?o.requestAnimationFrame(t):o.webkitRequestAnimationFrame?o.webkitRequestAnimationFrame(t):o.setTimeout(t,0)}var DataRefAttribute="data-ref",whitespaceNode;function getWhitespaceNode(){return whitespaceNode??(whitespaceNode=document.createTextNode(" ")),whitespaceNode.cloneNode()}function _createAgElement(e){const{attrs:t,children:o,cls:i,ref:s,role:n,tag:r}=e,a=document.createElement(r);if(i&&(a.className=i),s&&a.setAttribute(DataRefAttribute,s),n&&a.setAttribute("role",n),t)for(const l of Object.keys(t))a.setAttribute(l,t[l]);if(o)if(typeof o=="string")a.textContent=o;else{let l=!0;for(const d of o)d&&(typeof d=="string"?(a.appendChild(document.createTextNode(d)),l=!1):typeof d=="function"?a.appendChild(d()):(l&&(a.appendChild(getWhitespaceNode()),l=!1),a.append(_createAgElement(d)),a.appendChild(getWhitespaceNode())))}return a}var PASSIVE_EVENTS=["touchstart","touchend","touchmove","touchcancel","scroll"],NON_PASSIVE_EVENTS=["wheel"],supports={},_isEventSupported=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return o=>{if(typeof supports[o]=="boolean")return supports[o];const i=document.createElement(e[o]||"div");return o="on"+o,supports[o]=o in i}})();function _isElementInEventPath(e,t){return!t||!e?!1:_getEventPath(t).indexOf(e)>=0}function _createEventPath(e){const t=[];let o=e.target;for(;o;)t.push(o),o=o.parentElement;return t}function _getEventPath(e){const t=e;return t.path?t.path:t.composedPath?t.composedPath():_createEventPath(t)}function _addSafePassiveEventListener(e,t,o){const i=getPassiveStateForEvent(t);let s;i!=null&&(s={passive:i}),e.addEventListener(t,o,s)}var getPassiveStateForEvent=e=>{const t=PASSIVE_EVENTS.includes(e),o=NON_PASSIVE_EVENTS.includes(e);if(t)return!0;if(o)return!1};function _areEventsNear(e,t,o){if(o===0)return!1;const i=Math.abs(e.clientX-t.clientX),s=Math.abs(e.clientY-t.clientY);return Math.max(i,s)<=o}var _getFirstActiveTouch=(e,t)=>{const o=e.identifier;for(let i=0,s=t.length;i<s;++i){const n=t[i];if(n.identifier===o)return n}return null};function _isEventFromThisInstance(e,t){return e.gos.isElementInThisInstance(t.target)}function _anchorElementToMouseMoveEvent(e,t,o){const s=e.getBoundingClientRect().height,n=_getBodyWidth(o)-2,r=_getBodyHeight(o)-2;if(!e.offsetParent)return;const l=_getElementRectWithOffset(e.offsetParent),{clientY:d,clientX:c}=t;let u=d-l.top-s/2,h=c-l.left-10;const g=_getDocument(o),p=g.defaultView||window,f=p.pageYOffset||g.documentElement.scrollTop,m=p.pageXOffset||g.documentElement.scrollLeft;n>0&&h+e.clientWidth>n+m&&(h=n+m-e.clientWidth),h<0&&(h=0),r>0&&u+e.clientHeight>r+f&&(u=r+f-e.clientHeight),u<0&&(u=0),e.style.left=`${h}px`,e.style.top=`${u}px`}var addTempEventHandlers=(e,...t)=>{for(const o of t){const[i,s,n,r]=o;i.addEventListener(s,n,r),e.push(o)}},clearTempEventHandlers=e=>{if(e){for(const[t,o,i,s]of e)t.removeEventListener(o,i,s);e.length=0}},preventEventDefault=e=>{e.cancelable&&e.preventDefault()};function defaultLocaleTextFunc(e,t){return t}function _getLocaleTextFunc(e){return e?.getLocaleTextFunc()??defaultLocaleTextFunc}function _translate(e,t,o,i){const s=t[o];return e.getLocaleTextFunc()(o,typeof s=="function"?s(i):s,i)}function _getLocaleTextFromFunc(e){return(t,o,i)=>e({key:t,defaultValue:o,variableValues:i})}function _getLocaleTextFromMap(e){return(t,o,i)=>{let s=e?.[t];if(s&&i?.length){let n=0;for(;!(n>=i.length||s.indexOf("${variable}")===-1);)s=s.replace("${variable}",i[n++])}return s??o}}var AgBeanStub=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.beans=e,this.stubContext=e.context,this.eventSvc=e.eventSvc,this.gos=e.gos}destroy(){const{destroyFunctions:e}=this;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,o){this.localEventService||(this.localEventService=new LocalEventService),this.localEventService.addEventListener(e,t,o)}removeEventListener(e,t,o){this.localEventService?.removeEventListener(e,t,o)}dispatchLocalEvent(e){this.localEventService?.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventSvc,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){const o=[];for(const i of Object.keys(t)){const s=t[i];s&&o.push(this._setupListener(e,i,s))}return o}_setupListener(e,t,o){if(this.destroyed)return()=>null;let i;if(isAgEventEmitter(e))e.__addEventListener(t,o),i=()=>(e.__removeEventListener(t,o),null);else{const s=isEventService(e);e instanceof HTMLElement?_addSafePassiveEventListener(e,t,o):s?e.addListener(t,o):e.addEventListener(t,o),i=s?()=>(e.removeListener(t,o),null):()=>(e.removeEventListener(t,o),null)}return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}setupPropertyListener(e,t){const{gos:o}=this;o.addPropertyEventListener(e,t);const i=()=>(o.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupPropertyListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const o=e.join("-")+this.propertyListenerId++,i=s=>{if(s.changeSet){if(s.changeSet?.id===this.lastChangeSetIdLookup[o])return;this.lastChangeSetIdLookup[o]=s.changeSet.id}const n={type:"propertyChanged",changeSet:s.changeSet,source:s.source};t(n)};for(const s of e)this.setupPropertyListener(s,i)}getLocaleTextFunc(){return _getLocaleTextFunc(this.beans.localeSvc)}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createOptionalManagedBean(e,t){return e?this.createManagedBean(e,t):void 0}createManagedBean(e,t){const o=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),o}createBean(e,t,o){return(t||this.stubContext).createBean(e,o)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function isAgEventEmitter(e){return e.__addEventListener!==void 0}function isEventService(e){return e.eventServiceType==="global"}var BeanStub=class extends AgBeanStub{},doOnceSet=new Set,_doOnce=(e,t)=>{doOnceSet.has(t)||(doOnceSet.add(t),e())};_doOnce._set=doOnceSet;var batchedCallsSetTimeout={pending:!1,funcs:[]},batchedCallsRaf={pending:!1,funcs:[]};function _batchCall(e,t="setTimeout",o){const i=t==="raf"?batchedCallsRaf:batchedCallsSetTimeout;if(i.funcs.push(e),i.pending)return;i.pending=!0;const s=()=>{const n=i.funcs.slice();i.funcs.length=0,i.pending=!1;for(const r of n)r()};t==="raf"?_requestAnimationFrame(o,s):window.setTimeout(s,0)}function _debounce(e,t,o){let i;return function(...s){const n=this;return window.clearTimeout(i),i=window.setTimeout(function(){e.isAlive()&&t.apply(n,s)},o),i}}function _throttle(e,t){let o=0;return function(...i){const s=this,n=Date.now();n-o<t||(o=n,e.apply(s,i))}}function _waitUntil(e,t,o,i=100){const s=Date.now();let n=null,r=!1;const a=()=>{n!=null&&(window.clearInterval(n),n=null)};e.addDestroyFunc(a);const l=()=>{const d=Date.now()-s>i;(t()||d)&&(o(),r=!0,a())};l(),r||(n=window.setInterval(l,10))}var SKIP_JS_BUILTINS=new Set(["__proto__","constructor","prototype"]);function _iterateObject(e,t){if(e!=null){if(Array.isArray(e)){for(let o=0;o<e.length;o++)t(o.toString(),e[o]);return}for(const o of Object.keys(e).filter(i=>!SKIP_JS_BUILTINS.has(i)))t(o,e[o])}}function _mergeDeep(e,t,o=!0,i=!1){_exists(t)&&_iterateObject(t,(s,n)=>{let r=e[s];r!==n&&(i&&r==null&&n!=null&&typeof n=="object"&&n.constructor===Object&&(r={},e[s]=r),_isNonNullObject(n)&&_isNonNullObject(r)&&!Array.isArray(r)?_mergeDeep(r,n,o,i):(o||n!==void 0)&&(e[s]=n))})}function _isNonNullObject(e){return typeof e=="object"&&e!==null}var _GlobalGridOptions=class k{static applyGlobalGridOptions(t){if(!k.gridOptions)return{...t};let o={};return _mergeDeep(o,k.gridOptions,!0,!0),k.mergeStrategy==="deep"?_mergeDeep(o,t,!0,!0):o={...o,...t},k.gridOptions.context&&(o.context=k.gridOptions.context),t.context&&(k.mergeStrategy==="deep"&&o.context&&_mergeDeep(t.context,o.context,!0,!0),o.context=t.context),o}static applyGlobalGridOption(t,o){if(k.mergeStrategy==="deep"){const i=_getGlobalGridOption(t);if(i&&typeof i=="object"&&typeof o=="object")return k.applyGlobalGridOptions({[t]:o})[t]}return o}};_GlobalGridOptions.gridOptions=void 0,_GlobalGridOptions.mergeStrategy="shallow";var GlobalGridOptions=_GlobalGridOptions;function provideGlobalGridOptions(e,t="shallow"){GlobalGridOptions.gridOptions=e,GlobalGridOptions.mergeStrategy=t}function _getGlobalGridOption(e){return GlobalGridOptions.gridOptions?.[e]}var GRID_OPTION_DEFAULTS={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipSwitchShowDelay:200,tooltipHideDelay:1e4,noteTrigger:"hover",noteShowDelay:180,noteHideDelay:220,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:" ",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,cellFlashDuration:500,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,refreshAfterGroupEdit:!1,rowDragInsertDelay:500,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupHideColumnsUntilExpanded:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1,enableFilterHandlers:!1},BASE_URL="https://www.ag-grid.com";function _logIfDebug(e,t,...o){e.get("debug")&&console.log("AG Grid: "+t,...o)}function _warnOnce(e,...t){_doOnce(()=>_consoleWarn(e,...t),e+t?.join(""))}function _errorOnce(e,...t){_doOnce(()=>_consoleError(e,...t),e+t?.join(""))}function _consoleError(e,...t){console.error("AG Grid: "+e,...t)}function _consoleWarn(e,...t){console.warn("AG Grid: "+e,...t)}var allRegisteredModules=new Set,globalModulesMap={},gridModulesMap={},currentModuleVersion,userHasRegistered=!1,areGridScopedModules=!1,isUmd=!1;function isValidModuleVersion(e){const[t,o]=e.version.split(".")||[],[i,s]=currentModuleVersion.split(".")||[];return t===i&&o===s}function runVersionChecks(e){currentModuleVersion||(currentModuleVersion=e.version);const t=i=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${i} Please update all modules to the same version.`;e.version?isValidModuleVersion(e)||_errorOnce(t(`'${e.moduleName}' is version ${e.version} but the other modules are version ${currentModuleVersion}.`)):_errorOnce(t(`'${e.moduleName}' is incompatible.`));const o=e.validate?.();o&&!o.isValid&&_errorOnce(`${o.message}`)}function _registerModule(e,t,o=!1){o||(userHasRegistered=!0),runVersionChecks(e);const i=e.rowModels??["all"];allRegisteredModules.add(e);let s;t!==void 0?(areGridScopedModules=!0,gridModulesMap[t]===void 0&&(gridModulesMap[t]={}),s=gridModulesMap[t]):s=globalModulesMap;for(const n of i)s[n]===void 0&&(s[n]={}),s[n][e.moduleName]=e;if(e.dependsOn)for(const n of e.dependsOn)_registerModule(n,t,o)}function _unRegisterGridModules(e){delete gridModulesMap[e]}function _isModuleRegistered(e,t,o){const i=s=>!!globalModulesMap[s]?.[e]||!!gridModulesMap[t]?.[s]?.[e];return i(o)||i("all")}function _areModulesGridScoped(){return areGridScopedModules}function _getRegisteredModules(e,t){const o=gridModulesMap[e]??{};return[...Object.values(globalModulesMap.all??{}),...Object.values(o.all??{}),...Object.values(globalModulesMap[t]??{}),...Object.values(o[t]??{})]}function _getAllRegisteredModules(){return new Set(allRegisteredModules)}function _getGridRegisteredModules(e,t){const o=gridModulesMap[e]??{};return[...Object.values(o.all??{}),...Object.values(o[t]??{})]}function _hasUserRegistered(){return userHasRegistered}function _isUmd(){return isUmd}function _setUmd(){isUmd=!0}var ModuleRegistry=class{static register(e){_registerModule(e,void 0)}static registerModules(e){for(const t of e)_registerModule(t,void 0)}};function _findEnterpriseCoreModule(e){for(const t of e){if("setLicenseKey"in t)return t;if(t.dependsOn){const o=_findEnterpriseCoreModule(t.dependsOn);if(o)return o}}}var VERSION="35.3.0",MAX_URL_LENGTH=2e3,MIN_PARAM_LENGTH=100,VERSION_PARAM_NAME="_version_",getConsoleMessage=null,baseDocLink=`${BASE_URL}/javascript-data-grid`;function provideValidationServiceLogger(e){getConsoleMessage=e}function setValidationDocLink(e){baseDocLink=e}function getErrorParts(e,t,o){return getConsoleMessage?.(e,t)??[minifiedLog(e,t,o)]}function getMsgOrDefault(e,t,o,i,s){e(`${i?"warning":"error"} #${t}`,...getErrorParts(t,o,s))}function stringifyObject(e){if(!e)return String(e);const t={};for(const o of Object.keys(e))typeof e[o]!="object"&&typeof e[o]!="function"&&(t[o]=e[o]);return JSON.stringify(t)}function stringifyValue(e){let t=e;return e instanceof Error?t=e.toString():typeof e=="object"&&(t=stringifyObject(e)),t}function toStringWithNullUndefined(e){return e===void 0?"undefined":e===null?"null":e}function getParamsUrl(e,t){return`${e}?${t.toString()}`}function truncateUrl(e,t,o){const i=Array.from(t.entries()).sort((n,r)=>r[1].length-n[1].length);let s=getParamsUrl(e,t);for(const[n,r]of i){if(n===VERSION_PARAM_NAME)continue;const a=s.length-o;if(a<=0)break;const l="...",d=a+l.length,c=r.length-d>MIN_PARAM_LENGTH?r.slice(0,r.length-d)+l:r.slice(0,MIN_PARAM_LENGTH)+l;t.set(n,c),s=getParamsUrl(e,t)}return s}function getErrorLink(e,t){const o=new URLSearchParams;if(o.append(VERSION_PARAM_NAME,VERSION),t)for(const n of Object.keys(t))o.append(n,stringifyValue(t[n]));const i=`${baseDocLink}/errors/${e}`,s=getParamsUrl(i,o);return s.length<=MAX_URL_LENGTH?s:truncateUrl(i,o,MAX_URL_LENGTH)}var minifiedLog=(e,t,o)=>{const i=getErrorLink(e,t),s=`${o?o+`
|
|
1
|
+
var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var o in t)__defProp(e,o,{get:t[o],enumerable:!0})},__copyProps=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of __getOwnPropNames(t))!__hasOwnProp.call(e,s)&&s!==o&&__defProp(e,s,{get:()=>t[s],enumerable:!(i=__getOwnPropDesc(t,s))||i.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),main_exports={};__export(main_exports,{ALWAYS_SYNC_GLOBAL_EVENTS:()=>ALWAYS_SYNC_GLOBAL_EVENTS,AgAbstractCellEditor:()=>AgAbstractCellEditor,AgAbstractInputField:()=>AgAbstractInputField,AgAbstractLabel:()=>AgAbstractLabel,AgCheckbox:()=>AgCheckbox,AgCheckboxSelector:()=>AgCheckboxSelector,AgColumn:()=>AgColumn,AgColumnGroup:()=>AgColumnGroup,AgContentEditableField:()=>AgContentEditableField,AgContentEditableFieldSelector:()=>AgContentEditableFieldSelector,AgFilterButtonSelector:()=>AgFilterButtonSelector,AgInputDateField:()=>AgInputDateField,AgInputNumberField:()=>AgInputNumberField,AgInputNumberFieldSelector:()=>AgInputNumberFieldSelector,AgInputTextArea:()=>AgInputTextArea,AgInputTextAreaSelector:()=>AgInputTextAreaSelector,AgInputTextField:()=>AgInputTextField,AgInputTextFieldSelector:()=>AgInputTextFieldSelector,AgPickerField:()=>AgPickerField,AgPopupComponent:()=>AgPopupComponent,AgPromise:()=>AgPromise,AgProvidedColumnGroup:()=>AgProvidedColumnGroup,AgRadioButton:()=>AgRadioButton,AgRadioButtonSelector:()=>AgRadioButtonSelector,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,BigIntFilterModule:()=>BigIntFilterModule,CellApiModule:()=>CellApiModule,CellRangeType:()=>CellRangeType,CellSpanModule:()=>CellSpanModule,CellStyleModule:()=>CellStyleModule,CheckboxEditorModule:()=>CheckboxEditorModule,ClientSideRowModelApiModule:()=>ClientSideRowModelApiModule,ClientSideRowModelModule:()=>ClientSideRowModelModule,ColumnApiModule:()=>ColumnApiModule,ColumnAutoSizeModule:()=>ColumnAutoSizeModule,ColumnHoverModule:()=>ColumnHoverModule,ColumnKeyCreator:()=>ColumnKeyCreator,Component:()=>Component,CssClassManager:()=>CssClassManager,CsvExportModule:()=>CsvExportModule,CustomEditorModule:()=>CustomEditorModule,CustomFilterModule:()=>CustomFilterModule,DETAIL_ROW_ID_PREFIX:()=>DETAIL_ROW_ID_PREFIX,DateEditorModule:()=>DateEditorModule,DateFilterModule:()=>DateFilterModule,Direction:()=>Direction,DragAndDropModule:()=>DragAndDropModule,DragSourceType:()=>DragSourceType,EventApiModule:()=>EventApiModule,ExternalFilterModule:()=>ExternalFilterModule,FakeHScrollComp:()=>FakeHScrollComp,FakeVScrollComp:()=>FakeVScrollComp,FilterButtonComp:()=>FilterButtonComp,FilterComp:()=>FilterComp,FilterWrapperComp:()=>FilterWrapperComp,GRAND_TOTAL_ROW_ID:()=>GRAND_TOTAL_ROW_ID,GROUP_AUTO_COLUMN_ID:()=>GROUP_AUTO_COLUMN_ID,GROUP_HIERARCHY_COLUMN_ID_PREFIX:()=>GROUP_HIERARCHY_COLUMN_ID_PREFIX,GROUP_TOTAL_ROW_ID_PREFIX:()=>GROUP_TOTAL_ROW_ID_PREFIX,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,PositionableFeature:()=>PositionableFeature,ProvidedFilter:()=>ProvidedFilter,QuickFilterModule:()=>QuickFilterModule,ROOT_NODE_ID:()=>ROOT_NODE_ID,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,STRUCTURED_SCHEMA_FEATURES:()=>STRUCTURED_SCHEMA_FEATURES,ScrollApiModule:()=>ScrollApiModule,SelectEditorModule:()=>SelectEditorModule,ServerSideTransactionResultStatus:()=>ServerSideTransactionResultStatus,TabGuardClassNames:()=>TabGuardClassNames,TabGuardComp:()=>TabGuardComp,TabGuardCtrl:()=>TabGuardCtrl,TabGuardFeature:()=>TabGuardFeature,TextEditorModule:()=>TextEditorModule,TextFilterModule:()=>TextFilterModule,TooltipModule:()=>TooltipModule,TouchListener:()=>TouchListener,UndoRedoEditModule:()=>UndoRedoEditModule,ValidationModule:()=>ValidationModule,ValueCacheModule:()=>ValueCacheModule,VanillaFrameworkOverrides:()=>VanillaFrameworkOverrides,_AgBeanStub:()=>AgBeanStub,_AgComponentStub:()=>AgComponentStub,_AgContext:()=>AgContext,_AgPositionableFeature:()=>AgPositionableFeature,_AgTabGuardComp:()=>AgTabGuardComp,_AgTabGuardFeature:()=>AgTabGuardFeature,_AgTooltipComponent:()=>AgTooltipComponent,_AgTooltipFeature:()=>AgTooltipFeature,_BOOLEAN_MIXED_GRID_OPTIONS:()=>_BOOLEAN_MIXED_GRID_OPTIONS,_BaseDragAndDropService:()=>BaseDragAndDropService,_BaseDragService:()=>BaseDragService,_BaseEnvironment:()=>BaseEnvironment,_BaseEventService:()=>BaseEventService,_BasePopupService:()=>BasePopupService,_BaseRegistry:()=>BaseRegistry,_BaseTooltipStateManager:()=>BaseTooltipStateManager,_ChangedRowNodes:()=>ChangedRowNodes,_ColumnFilterModule:()=>ColumnFilterModule,_ColumnGroupModule:()=>ColumnGroupModule,_ColumnMoveModule:()=>ColumnMoveModule,_CsrmSsrmSharedApiModule:()=>CsrmSsrmSharedApiModule,_DragModule:()=>DragModule,_EditCoreModule:()=>EditCoreModule,_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,_GET_SHALLOW_GRID_OPTIONS:()=>_GET_SHALLOW_GRID_OPTIONS,_HeaderComp:()=>HeaderComp,_HorizontalResizeModule:()=>HorizontalResizeModule,_KeyboardNavigationModule:()=>KeyboardNavigationModule,_MONTHS:()=>MONTHS,_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,_RowModelSharedApiModule:()=>RowModelSharedApiModule,_STOP_PROPAGATION_CALLBACKS:()=>STOP_PROPAGATION_CALLBACKS,_SharedDragAndDropModule:()=>SharedDragAndDropModule,_SharedExportModule:()=>SharedExportModule,_SharedMenuModule:()=>SharedMenuModule,_SharedRowSelectionModule:()=>SharedRowSelectionModule,_SortModule:()=>SortModule,_SsrmInfiniteSharedApiModule:()=>SsrmInfiniteSharedApiModule,_addAdditionalCss:()=>_addAdditionalCss,_addColumnDefaultAndTypes:()=>_addColumnDefaultAndTypes,_addFocusableContainerListener:()=>_addFocusableContainerListener,_addGridCommonParams:()=>_addGridCommonParams,_addOrRemoveAttribute:()=>_addOrRemoveAttribute,_anchorElementToMouseMoveEvent:()=>_anchorElementToMouseMoveEvent,_applyColumnState:()=>_applyColumnState,_areCellsEqual:()=>_areCellsEqual,_areColIdsEqual:()=>_areColIdsEqual,_areEqual:()=>_areEqual,_areSortDefsEqual:()=>_areSortDefsEqual,_asThemeImpl:()=>_asThemeImpl,_attemptToRestoreCellFocus:()=>_attemptToRestoreCellFocus,_batchCall:()=>_batchCall,_camelCaseToHumanText:()=>_camelCaseToHumanText,_canSkipShowingRowGroup:()=>_canSkipShowingRowGroup,_clearElement:()=>_clearElement,_columnsMatch:()=>_columnsMatch,_combineAttributesAndGridOptions:()=>_combineAttributesAndGridOptions,_computeAlignedPosition:()=>computeAlignedPosition,_consoleError:()=>_consoleError,_convertColumnEventSourceType:()=>_convertColumnEventSourceType,_coreThemeDefaults:()=>coreDefaults,_createAgElement:()=>_createAgElement,_createCellId:()=>_createCellId,_createColumnTree:()=>_createColumnTree,_createColumnTreeWithIds:()=>_createColumnTreeWithIds,_createElement:()=>_createElement,_createGlobalRowEvent:()=>_createGlobalRowEvent,_createIcon:()=>_createIcon,_createIconNoSpan:()=>_createIconNoSpan,_createRowNodeSibling:()=>_createRowNodeSibling,_createSharedTheme:()=>createSharedTheme,_csrmFirstLeaf:()=>_csrmFirstLeaf,_csrmReorderAllLeafs:()=>_csrmReorderAllLeafs,_debounce:()=>_debounce,_defaultComparator:()=>_defaultComparator,_destroyColumnTree:()=>_destroyColumnTree,_doDeltaSort:()=>doDeltaSort,_doOnce:()=>_doOnce,_downloadFile:()=>_downloadFile,_errMsg:()=>_errMsg,_error:()=>_error,_escapeString:()=>_escapeString,_exists:()=>_exists,_findBestPlacement:()=>findBestPlacement,_findEnterpriseCoreModule:()=>_findEnterpriseCoreModule,_findFocusableElements:()=>_findFocusableElements,_findNextFocusableElement:()=>_findNextFocusableElement,_findTabbableParent:()=>_findTabbableParent,_fitsWithinBounds:()=>fitsWithinBounds,_flatten:()=>_flatten,_focusGridInnerElement:()=>_focusGridInnerElement,_focusInto:()=>_focusInto,_focusNextGridCoreContainer:()=>_focusNextGridCoreContainer,_forEachChangedGroupDepthFirst:()=>_forEachChangedGroupDepthFirst,_formatNumberCommas:()=>_formatNumberCommas,_fuzzySuggestions:()=>_fuzzySuggestions,_getAbsoluteHeight:()=>_getAbsoluteHeight,_getAbsoluteRowIndex:()=>_getAbsoluteRowIndex,_getAbsoluteWidth:()=>_getAbsoluteWidth,_getActiveDomElement:()=>_getActiveDomElement,_getAriaPosInSet:()=>_getAriaPosInSet,_getCallbackForEvent:()=>_getCallbackForEvent,_getCellByPosition:()=>_getCellByPosition,_getCellCtrlForEventTarget:()=>_getCellCtrlForEventTarget,_getCellPositionForEvent:()=>_getCellPositionForEvent,_getCellRendererDetails:()=>_getCellRendererDetails,_getCheckboxLocation:()=>_getCheckboxLocation,_getCheckboxes:()=>_getCheckboxes,_getClientSideRowModel:()=>_getClientSideRowModel,_getColumnState:()=>_getColumnState,_getColumnStateFromColDef:()=>_getColumnStateFromColDef,_getColumnsFromTree:()=>_getColumnsFromTree,_getDateParts:()=>_getDateParts,_getDefaultFloatingFilterType:()=>_getDefaultFloatingFilterType,_getDefaultSimpleFilter:()=>_getDefaultSimpleFilter,_getDisplaySortForColumn:()=>_getDisplaySortForColumn,_getDocument:()=>_getDocument,_getEditorRendererDetails:()=>_getEditorRendererDetails,_getEffectivePlacements:()=>getEffectivePlacements,_getEnableColumnSelection:()=>_getEnableColumnSelection,_getFillHandle:()=>_getFillHandle,_getFilterDetails:()=>_getFilterDetails,_getFilterModel:()=>_getFilterModel,_getFilterParamsForDataType:()=>_getFilterParamsForDataType,_getFirstRow:()=>_getFirstRow,_getFloatingFilterCompDetails:()=>_getFloatingFilterCompDetails,_getFloatingFiltersHeight:()=>getFloatingFiltersHeight,_getGlobalGridOption:()=>_getGlobalGridOption,_getGrandTotalPinnedFloat:()=>_getGrandTotalPinnedFloat,_getGrandTotalRow:()=>_getGrandTotalRow,_getGridOption:()=>_getGridOption,_getGridRegisteredModules:()=>_getGridRegisteredModules,_getGroupAggFiltering:()=>_getGroupAggFiltering,_getGroupSelection:()=>_getGroupSelection,_getGroupSelectsDescendants:()=>_getGroupSelectsDescendants,_getGroupTotalRowCallback:()=>_getGroupTotalRowCallback,_getHeaderCheckbox:()=>_getHeaderCheckbox,_getHeaderClassesFromColDef:()=>_getHeaderClassesFromColDef,_getHeaderRowCount:()=>getHeaderRowCount,_getInnerCellRendererDetails:()=>_getInnerCellRendererDetails,_getInnerHeight:()=>_getInnerHeight,_getInnerWidth:()=>_getInnerWidth,_getIsRowSelectable:()=>_getIsRowSelectable,_getLastRow:()=>_getLastRow,_getLocaleTextFromFunc:()=>_getLocaleTextFromFunc,_getLocaleTextFromMap:()=>_getLocaleTextFromMap,_getLocaleTextFunc:()=>_getLocaleTextFunc,_getMaxConcurrentDatasourceRequests:()=>_getMaxConcurrentDatasourceRequests,_getNormalisedMousePosition:()=>_getNormalisedMousePosition,_getPageBody:()=>_getPageBody,_getParamType:()=>getParamType,_getRectSize:()=>getRectSize,_getRootNode:()=>_getRootNode,_getRowAbove:()=>_getRowAbove,_getRowBelow:()=>_getRowBelow,_getRowContainerClass:()=>_getRowContainerClass,_getRowContainerOptions:()=>_getRowContainerOptions,_getRowCtrlForEventTarget:()=>_getRowCtrlForEventTarget,_getRowHeightAsNumber:()=>_getRowHeightAsNumber,_getRowHeightForNode:()=>_getRowHeightForNode,_getRowIdCallback:()=>_getRowIdCallback,_getRowNode:()=>_getRowNode,_getRowSelectionMode:()=>_getRowSelectionMode,_getRowSpanContainerClass:()=>_getRowSpanContainerClass,_getRowViewportClass:()=>_getRowViewportClass,_getServerSideRowModel:()=>_getServerSideRowModel,_getShouldDisplayTooltip:()=>_getShouldDisplayTooltip,_getSortDefFromColDef:()=>_getSortDefFromColDef,_getSortDefFromInput:()=>_getSortDefFromInput,_getSuppressMultiRanges:()=>_getSuppressMultiRanges,_getToolPanelClassesFromColDef:()=>_getToolPanelClassesFromColDef,_getViewportRowModel:()=>_getViewportRowModel,_getWindow:()=>_getWindow,_interpretAsRightClick:()=>_interpretAsRightClick,_isAnimateRows:()=>_isAnimateRows,_isBrowserFirefox:()=>_isBrowserFirefox,_isBrowserSafari:()=>_isBrowserSafari,_isCellSelectionEnabled:()=>_isCellSelectionEnabled,_isClientSideRowModel:()=>_isClientSideRowModel,_isColumnMenuAnchoringEnabled:()=>_isColumnMenuAnchoringEnabled,_isColumnsSortingCoupledToGroup:()=>_isColumnsSortingCoupledToGroup,_isComponent:()=>_isComponent,_isDomLayout:()=>_isDomLayout,_isElementInEventPath:()=>_isElementInEventPath,_isElementOverflowingCallback:()=>_isElementOverflowingCallback,_isEventFromPrintableCharacter:()=>_isEventFromPrintableCharacter,_isExpressionString:()=>_isExpressionString,_isFocusableFormField:()=>_isFocusableFormField,_isFullWidthGroupRow:()=>_isFullWidthGroupRow,_isGetRowHeightFunction:()=>_isGetRowHeightFunction,_isGroupHideColumnsUntilExpanded:()=>_isGroupHideColumnsUntilExpanded,_isGroupMultiAutoColumn:()=>_isGroupMultiAutoColumn,_isGroupRowsSticky:()=>_isGroupRowsSticky,_isGroupUseEntireRow:()=>_isGroupUseEntireRow,_isIOSUserAgent:()=>_isIOSUserAgent,_isKeyboardMode:()=>_isKeyboardMode,_isLegacyMenuEnabled:()=>_isLegacyMenuEnabled,_isMultiRowSelection:()=>_isMultiRowSelection,_isNodeOrElement:()=>_isNodeOrElement,_isNothingFocused:()=>_isNothingFocused,_isPromise:()=>_isPromise,_isRowBefore:()=>_isRowBefore,_isRowNumbers:()=>_isRowNumbers,_isRowSelection:()=>_isRowSelection,_isSameRow:()=>_isSameRow,_isServerSideRowModel:()=>_isServerSideRowModel,_isSetFilterByDefault:()=>_isSetFilterByDefault,_isShowTooltipWhenTruncated:()=>_isShowTooltipWhenTruncated,_isSortDirectionValid:()=>_isSortDirectionValid,_isSortTypeValid:()=>_isSortTypeValid,_isStopPropagationForAgGrid:()=>_isStopPropagationForAgGrid,_isUseApplyButton:()=>_isUseApplyButton,_isUsingNewCellSelectionAPI:()=>_isUsingNewCellSelectionAPI,_isUsingNewRowSelectionAPI:()=>_isUsingNewRowSelectionAPI,_isVisible:()=>_isVisible,_jsonEquals:()=>_jsonEquals,_last:()=>_last,_loadTemplate:()=>_loadTemplate,_logPreInitWarn:()=>_logPreInitWarn,_makeNull:()=>_makeNull,_mergeDeep:()=>_mergeDeep,_missing:()=>_missing,_normalizeSortDirection:()=>_normalizeSortDirection,_normalizeSortType:()=>_normalizeSortType,_observeResize:()=>_observeResize,_paramToVariableName:()=>paramToVariableName,_paramValueToCss:()=>paramValueToCss,_parseBigIntOrNull:()=>_parseBigIntOrNull,_parseDateTimeFromString:()=>_parseDateTimeFromString,_placeCaretAtEnd:()=>_placeCaretAtEnd,_preInitErrMsg:()=>_preInitErrMsg,_prevOrNextDisplayedRow:()=>_prevOrNextDisplayedRow,_processOnChange:()=>_processOnChange,_radioCssClass:()=>_radioCssClass,_refreshFilterUi:()=>_refreshFilterUi,_refreshHandlerAndUi:()=>_refreshHandlerAndUi,_registerModule:()=>_registerModule,_removeAllFromArray:()=>_removeAllFromArray,_removeAriaExpanded:()=>_removeAriaExpanded,_removeAriaSort:()=>_removeAriaSort,_removeFromArray:()=>_removeFromArray,_removeFromParent:()=>_removeFromParent,_requestAnimationFrame:()=>_requestAnimationFrame,_resetColumnState:()=>_resetColumnState,_reuseArrayIfEqual:()=>_reuseArrayIfEqual,_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,_setAriaOrientation:()=>_setAriaOrientation,_setAriaPosInSet:()=>_setAriaPosInSet,_setAriaRole:()=>_setAriaRole,_setAriaRowCount:()=>_setAriaRowCount,_setAriaRowIndex:()=>_setAriaRowIndex,_setAriaSelected:()=>_setAriaSelected,_setAriaSetSize:()=>_setAriaSetSize,_setAriaSort:()=>_setAriaSort,_setColMenuVisible:()=>_setColMenuVisible,_setDisabled:()=>_setDisabled,_setDisplayed:()=>_setDisplayed,_setFixedWidth:()=>_setFixedWidth,_setScrollLeft:()=>_setScrollLeft,_setUmd:()=>_setUmd,_setVisible:()=>_setVisible,_sharedThemeDefaults:()=>sharedDefaults,_shouldUpdateColVisibilityAfterGroup:()=>_shouldUpdateColVisibilityAfterGroup,_skipFocusableContainerListenerForAgGrid:()=>_skipFocusableContainerListenerForAgGrid,_stopPropagationForAgGrid:()=>_stopPropagationForAgGrid,_suppressCellMouseEvent:()=>_suppressCellMouseEvent,_themeAlpineParams:()=>themeAlpineParams,_themeBalhamParams:()=>themeBalhamParams,_themeMaterialParams:()=>themeMaterialParams,_themeQuartzParams:()=>themeQuartzParams,_toRelativeRect:()=>toRelativeRect,_toString:()=>_toString,_toStringOrNull:()=>_toStringOrNull,_translate:()=>_translate,_translateForFilter:()=>translateForFilter,_unwrapUserComp:()=>_unwrapUserComp,_updateColsMap:()=>_updateColsMap,_updateColumnState:()=>_updateColumnState,_updateFilterModel:()=>_updateFilterModel,_updateRowNodeAfterSort:()=>updateRowNodeAfterSort,_waitUntil:()=>_waitUntil,_warn:()=>_warn,_warnOnce:()=>_warnOnce,agTestIdFor:()=>agTestIdFor,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,getGridApi:()=>getGridApi,getGridElement:()=>getGridElement,iconOverrides:()=>iconOverrides,iconSetAlpine:()=>iconSetAlpine,iconSetBalham:()=>iconSetBalham,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,isSpecialCol:()=>isSpecialCol,onRowHeightChanged:()=>onRowHeightChanged,provideGlobalGridOptions:()=>provideGlobalGridOptions,resetRowHeights:()=>resetRowHeights,setupAgTestIds:()=>setupAgTestIds,styleMaterial:()=>styleMaterial,tabStyleAlpine:()=>tabStyleAlpine,tabStyleBase:()=>tabStyleBase,tabStyleMaterial:()=>tabStyleMaterial,tabStyleQuartz:()=>tabStyleQuartz,tabStyleRolodex:()=>tabStyleRolodex,themeAlpine:()=>themeAlpine,themeBalham:()=>themeBalham,themeMaterial:()=>themeMaterial,themeQuartz:()=>themeQuartz,wrapAgTestIdFor:()=>wrapAgTestIdFor}),module.exports=__toCommonJS(main_exports);function _last(e){if(e?.length)return e[e.length-1]}function _areEqual(e,t,o){if(e===t)return!0;if(!e||!t)return e==null&&t==null;const i=e.length;if(i!==t.length)return!1;if(o){for(let s=0;s<i;++s)if(e[s]!==t[s]&&!o(e[s],t[s]))return!1;return!0}for(let s=0;s<i;++s)if(e[s]!==t[s])return!1;return!0}function _reuseArrayIfEqual(e,t){if(!t)return[];const o=t.length;if(e&&e!==t&&e.length===o){for(let i=0;i<o;++i)if(e[i]!==t[i])return t.slice();return e}return t.slice()}function _forAll(e,t){if(e){for(const o of e)if(t(o))return!0}}function _removeFromArray(e,t){const o=e.indexOf(t);o>=0&&e.splice(o,1)}function _removeAllFromArray(e,t){let o=0,i=0;for(;o<e.length;o++)t.includes(e[o])||(e[i]=e[o],i++);for(;i<e.length;)e.pop()}function _moveInArray(e,t,o){for(let i=0;i<t.length;i++)_removeFromArray(e,t[i]);for(let i=t.length-1;i>=0;i--)e.splice(o,0,t[i])}function _flatten(e){return[].concat.apply([],e)}var _makeNull=e=>e==null||e===""?null:e;function _exists(e){return e!=null&&e!==""}function _missing(e){return!_exists(e)}var _toStringOrNull=e=>e!=null&&typeof e.toString=="function"?e.toString():null,_jsonEquals=(e,t)=>{const o=e?JSON.stringify(e):null,i=t?JSON.stringify(t):null;return o===i},_defaultComparator=(e,t,o=!1)=>(typeof e=="object"&&e!==null&&typeof e.toNumber=="function"&&(e=e.toNumber()),typeof t=="object"&&t!==null&&typeof t.toNumber=="function"&&(t=t.toNumber()),e==null?t==null?0:-1:t==null?1:!o||typeof e!="string"?e>t?1:e<t?-1:0:e.localeCompare(t)),LocalEventService=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,o){const i=t?this.allAsyncListeners:this.allSyncListeners;let s=i.get(e);return!s&&o&&(s=new Set,i.set(e,s)),s}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,o=!1){this.getListeners(e,o,!0).add(t)}removeEventListener(e,t,o=!1){const i=this.getListeners(e,o,!1);i&&(i.delete(t),i.size===0&&(o?this.allAsyncListeners:this.allSyncListeners).delete(e))}addGlobalListener(e,t=!1){this.getGlobalListeners(t).add(e)}removeGlobalListener(e,t=!1){this.getGlobalListeners(t).delete(e)}dispatchEvent(e){this.dispatchToListeners(e,!0),this.dispatchToListeners(e,!1),this.firedEvents[e.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const o=e.type;if(t&&"event"in e){const a=e.event;a instanceof Event&&(e.eventPath=a.composedPath())}const{frameworkOverrides:i}=this,s=a=>{const l=i?()=>i.wrapIncoming(a):a;t?this.dispatchAsync(l):l()},n=this.getListeners(o,t,!1);if((n?.size??0)>0){const a=new Set(n);for(const l of a)n?.has(l)&&s(()=>l(e))}const r=this.getGlobalListeners(t);if(r.size>0){const a=new Set(r);for(const l of a)s(()=>l(o,e))}}getGlobalListeners(e){return e?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},o=this.frameworkOverrides;o?o.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(const t of e)t()}},reUnescapedHtml=/[&<>"']/g,HTML_ESCAPES={"&":"&","<":"<",">":">",'"':""","'":"'"};function _toString(e){return e?.toString().toString()??null}function _escapeString(e){return _toString(e)?.replace(reUnescapedHtml,t=>HTML_ESCAPES[t])??null}function _isExpressionString(e){return typeof e=="string"&&e.length>1&&e.codePointAt(0)===61}function _camelCaseToHumanText(e){if(!e||e==null)return null;const t=/([a-z])([A-Z])/g,o=/([A-Z]+)([A-Z])([a-z])/g;return e.replace(t,"$1 $2").replace(o,"$1 $2$3").replace(/\./g," ").split(" ").map(s=>s.substring(0,1).toUpperCase()+(s.length>1?s.substring(1,s.length):"")).join(" ")}function _getRootNode(e){return e.eRootDiv.getRootNode()}function _getActiveDomElement(e){return _getRootNode(e).activeElement}function _getDocument(e){const{gos:t,eRootDiv:o}=e;let i=null;const s=t.get("getDocument");return s&&_exists(s)?i=s():o&&(i=o.ownerDocument),i&&_exists(i)?i:document}function _isNothingFocused(e){const t=_getActiveDomElement(e);return t===null||t===_getDocument(e).body}function _getWindow(e){return _getDocument(e).defaultView||window}function _getPageBody(e){let t=null,o;try{t=_getDocument(e).fullscreenElement}catch{}finally{t||(t=_getRootNode(e));const i=t.querySelector("body");i?o=i:t instanceof ShadowRoot?o=t:t instanceof Document?o=t?.documentElement:o=t}return o}function _getBodyWidth(e){return _getPageBody(e)?.clientWidth??(window.innerWidth||-1)}function _getBodyHeight(e){return _getPageBody(e)?.clientHeight??(window.innerHeight||-1)}function _toggleAriaAttribute(e,t,o){o==null||typeof o=="string"&&o==""?_removeAriaAttribute(e,t):_setAriaAttribute(e,t,o)}function _setAriaAttribute(e,t,o){e.setAttribute(_ariaAttributeName(t),o.toString())}function _removeAriaAttribute(e,t){e.removeAttribute(_ariaAttributeName(t))}function _ariaAttributeName(e){return`aria-${e}`}function _setAriaRole(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function _getAriaSortState(e){const t=e?.direction;return t==="asc"?"ascending":t==="desc"?"descending":t==="mixed"?"other":"none"}function _getAriaPosInSet(e){return Number.parseInt(e.getAttribute("aria-posinset"),10)}function _getAriaLabel(e){return e.getAttribute("aria-label")}function _setAriaLabel(e,t){_toggleAriaAttribute(e,"label",t)}function _setAriaLabelledBy(e,t){_toggleAriaAttribute(e,"labelledby",t)}function _setAriaDescribedBy(e,t){_toggleAriaAttribute(e,"describedby",t)}function _setAriaLive(e,t){_toggleAriaAttribute(e,"live",t)}function _setAriaAtomic(e,t){_toggleAriaAttribute(e,"atomic",t)}function _setAriaRelevant(e,t){_toggleAriaAttribute(e,"relevant",t)}function _setAriaInvalid(e,t){_toggleAriaAttribute(e,"invalid",t)}function _setAriaLevel(e,t){_toggleAriaAttribute(e,"level",t)}function _setAriaDisabled(e,t){_toggleAriaAttribute(e,"disabled",t)}function _setAriaHidden(e,t){_toggleAriaAttribute(e,"hidden",t)}function _setAriaActiveDescendant(e,t){_toggleAriaAttribute(e,"activedescendant",t)}function _setAriaExpanded(e,t){_setAriaAttribute(e,"expanded",t)}function _removeAriaExpanded(e){_removeAriaAttribute(e,"expanded")}function _setAriaSetSize(e,t){_setAriaAttribute(e,"setsize",t)}function _setAriaPosInSet(e,t){_setAriaAttribute(e,"posinset",t)}function _setAriaMultiSelectable(e,t){_setAriaAttribute(e,"multiselectable",t)}function _setAriaRowCount(e,t){_setAriaAttribute(e,"rowcount",t)}function _setAriaRowIndex(e,t){_setAriaAttribute(e,"rowindex",t)}function _setAriaRowSpan(e,t){_setAriaAttribute(e,"rowspan",t)}function _setAriaColCount(e,t){_setAriaAttribute(e,"colcount",t)}function _setAriaColIndex(e,t){_setAriaAttribute(e,"colindex",t)}function _setAriaColSpan(e,t){_setAriaAttribute(e,"colspan",t)}function _setAriaSort(e,t){_setAriaAttribute(e,"sort",t)}function _removeAriaSort(e){_removeAriaAttribute(e,"sort")}function _setAriaSelected(e,t){_toggleAriaAttribute(e,"selected",t)}function _setAriaChecked(e,t){_setAriaAttribute(e,"checked",t===void 0?"mixed":t)}function _setAriaControls(e,t){_toggleAriaAttribute(e,"controls",t)}function _setAriaControlsAndLabel(e,t){_setAriaControls(e,t.id),_setAriaLabelledBy(t,e.id)}function _setAriaOwns(e,t){_toggleAriaAttribute(e,"owns",t)}function _setAriaHasPopup(e,t){_toggleAriaAttribute(e,"haspopup",t===!1?null:t)}function _getAriaCheckboxStateName(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}function _setAriaOrientation(e,t){t?_setAriaAttribute(e,"orientation",t):_removeAriaAttribute(e,"orientation")}function _radioCssClass(e,t,o){const i=e.parentElement;let s=i&&i.firstChild;for(;s;)t&&s.classList.toggle(t,s===e),o&&s.classList.toggle(o,s!==e),s=s.nextSibling}var FOCUSABLE_SELECTOR="[tabindex], input, select, button, textarea, [href]",FOCUSABLE_EXCLUDE="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function _isFocusableFormField(e){return!e||!e.matches("input, select, button, textarea")||!e.matches(FOCUSABLE_EXCLUDE)?!1:_isVisible(e)}function _setDisplayed(e,t,o={}){const{skipAriaHidden:i}=o;e.classList.toggle("ag-hidden",!t),i||_setAriaHidden(e,!t)}function _setVisible(e,t,o={}){const{skipAriaHidden:i}=o;e.classList.toggle("ag-invisible",!t),i||_setAriaHidden(e,!t)}function _setDisabled(e,t){const o="disabled",i=t?n=>n.setAttribute(o,""):n=>n.removeAttribute(o);i(e);const s=e.querySelectorAll("input")??[];for(const n of s)i(n)}function _isElementChildOfClass(e,t,o){let i=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof o=="number"){if(++i>o)break}else if(e===o)break}return!1}function _getElementSize(e){const{height:t,width:o,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:n,borderLeftWidth:r,paddingTop:a,paddingRight:l,paddingBottom:d,paddingLeft:c,marginTop:u,marginRight:h,marginBottom:g,marginLeft:p,boxSizing:f}=window.getComputedStyle(e),m=Number.parseFloat;return{height:m(t||"0"),width:m(o||"0"),borderTopWidth:m(i||"0"),borderRightWidth:m(s||"0"),borderBottomWidth:m(n||"0"),borderLeftWidth:m(r||"0"),paddingTop:m(a||"0"),paddingRight:m(l||"0"),paddingBottom:m(d||"0"),paddingLeft:m(c||"0"),marginTop:m(u||"0"),marginRight:m(h||"0"),marginBottom:m(g||"0"),marginLeft:m(p||"0"),boxSizing:f}}function _getInnerHeight(e){const t=_getElementSize(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom-t.borderTopWidth-t.borderBottomWidth:t.height}function _getInnerWidth(e){const t=_getElementSize(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight-t.borderLeftWidth-t.borderRightWidth:t.width}function _getAbsoluteHeight(e){const{height:t,marginBottom:o,marginTop:i}=_getElementSize(e);return Math.floor(t+o+i)}function _getAbsoluteWidth(e){const{width:t,marginLeft:o,marginRight:i}=_getElementSize(e);return Math.floor(t+o+i)}function _getElementRectWithOffset(e){const t=e.getBoundingClientRect(),{borderTopWidth:o,borderLeftWidth:i,borderRightWidth:s,borderBottomWidth:n}=_getElementSize(e);return{top:t.top+(o||0),left:t.left+(i||0),right:t.right+(s||0),bottom:t.bottom+(n||0)}}function _getScrollLeft(e,t){let o=e.scrollLeft;return t&&(o=Math.abs(o)),o}function _setScrollLeft(e,t,o){o&&(t*=-1),e.scrollLeft=t}function _clearElement(e){for(;e?.firstChild;)e.firstChild.remove()}function _removeFromParent(e){e?.parentNode&&e.remove()}function _isInDOM(e){return!!e.offsetParent}function _isVisible(e){return e.checkVisibility?e.checkVisibility({checkVisibilityCSS:!0}):!(!_isInDOM(e)||window.getComputedStyle(e).visibility!=="visible")}function _loadTemplate(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function _ensureDomOrder(e,t,o){o?.nextSibling!==t&&(e.firstChild?o?o.nextSibling?e.insertBefore(t,o.nextSibling):e.appendChild(t):e.firstChild&&e.firstChild!==t&&e.prepend(t):e.appendChild(t))}function _setDomChildOrder(e,t){for(let o=0;o<t.length;o++){const i=t[o],s=e.children[o];s!==i&&e.insertBefore(i,s)}}function _camelCaseToHyphenated(e){return e.replace(/[A-Z]/g,t=>`-${t.toLocaleLowerCase()}`)}function _addStylesToElement(e,t){if(t)for(const o of Object.keys(t)){const i=t[o];if(!o?.length||i==null)continue;const s=_camelCaseToHyphenated(o),n=i.toString(),r=n.replace(/\s*!important/g,""),a=r.length!=n.length?"important":void 0;e.style.setProperty(s,r,a)}}function _isElementOverflowingCallback(e){return()=>{const t=e();return t?_isHorizontalScrollShowing(t)||_isVerticalScrollShowing(t):!0}}function _isHorizontalScrollShowing(e){return e.clientWidth<e.scrollWidth}function _isVerticalScrollShowing(e){return e.clientHeight<e.scrollHeight}function _setElementWidth(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):_setFixedWidth(e,t)}function _setFixedWidth(e,t){t=_formatSize(t),e.style.width=t,e.style.maxWidth=t,e.style.minWidth=t}function _setFixedHeight(e,t){t=_formatSize(t),e.style.height=t,e.style.maxHeight=t,e.style.minHeight=t}function _formatSize(e){return typeof e=="number"?`${e}px`:e}function _isNodeOrElement(e){return e instanceof Node||e instanceof HTMLElement}function _addOrRemoveAttribute(e,t,o){o==null||o===""?e.removeAttribute(t):e.setAttribute(t,o.toString())}function _placeCaretAtEnd(e,t){if(!t.isContentEditable)return;const o=_getWindow(e).getSelection();if(!o)return;const i=_getDocument(e).createRange();i.selectNodeContents(t),i.collapse(!1),o.removeAllRanges(),o.addRange(i)}function _observeResize(e,t,o){const s=_getWindow(e).ResizeObserver,n=s?new s(o):null;return n?.observe(t),()=>n?.disconnect()}function _requestAnimationFrame(e,t){const o=_getWindow(e);o.requestAnimationFrame?o.requestAnimationFrame(t):o.webkitRequestAnimationFrame?o.webkitRequestAnimationFrame(t):o.setTimeout(t,0)}var DataRefAttribute="data-ref",whitespaceNode;function getWhitespaceNode(){return whitespaceNode??(whitespaceNode=document.createTextNode(" ")),whitespaceNode.cloneNode()}function _createAgElement(e){const{attrs:t,children:o,cls:i,ref:s,role:n,tag:r}=e,a=document.createElement(r);if(i&&(a.className=i),s&&a.setAttribute(DataRefAttribute,s),n&&a.setAttribute("role",n),t)for(const l of Object.keys(t))a.setAttribute(l,t[l]);if(o)if(typeof o=="string")a.textContent=o;else{let l=!0;for(const d of o)d&&(typeof d=="string"?(a.appendChild(document.createTextNode(d)),l=!1):typeof d=="function"?a.appendChild(d()):(l&&(a.appendChild(getWhitespaceNode()),l=!1),a.append(_createAgElement(d)),a.appendChild(getWhitespaceNode())))}return a}var PASSIVE_EVENTS=["touchstart","touchend","touchmove","touchcancel","scroll"],NON_PASSIVE_EVENTS=["wheel"],supports={},_isEventSupported=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return o=>{if(typeof supports[o]=="boolean")return supports[o];const i=document.createElement(e[o]||"div");return o="on"+o,supports[o]=o in i}})();function _isElementInEventPath(e,t){return!t||!e?!1:_getEventPath(t).indexOf(e)>=0}function _createEventPath(e){const t=[];let o=e.target;for(;o;)t.push(o),o=o.parentElement;return t}function _getEventPath(e){const t=e;return t.path?t.path:t.composedPath?t.composedPath():_createEventPath(t)}function _addSafePassiveEventListener(e,t,o){const i=getPassiveStateForEvent(t);let s;i!=null&&(s={passive:i}),e.addEventListener(t,o,s)}var getPassiveStateForEvent=e=>{const t=PASSIVE_EVENTS.includes(e),o=NON_PASSIVE_EVENTS.includes(e);if(t)return!0;if(o)return!1};function _areEventsNear(e,t,o){if(o===0)return!1;const i=Math.abs(e.clientX-t.clientX),s=Math.abs(e.clientY-t.clientY);return Math.max(i,s)<=o}var _getFirstActiveTouch=(e,t)=>{const o=e.identifier;for(let i=0,s=t.length;i<s;++i){const n=t[i];if(n.identifier===o)return n}return null};function _isEventFromThisInstance(e,t){return e.gos.isElementInThisInstance(t.target)}function _anchorElementToMouseMoveEvent(e,t,o){const s=e.getBoundingClientRect().height,n=_getBodyWidth(o)-2,r=_getBodyHeight(o)-2;if(!e.offsetParent)return;const l=_getElementRectWithOffset(e.offsetParent),{clientY:d,clientX:c}=t;let u=d-l.top-s/2,h=c-l.left-10;const g=_getDocument(o),p=g.defaultView||window,f=p.pageYOffset||g.documentElement.scrollTop,m=p.pageXOffset||g.documentElement.scrollLeft;n>0&&h+e.clientWidth>n+m&&(h=n+m-e.clientWidth),h<0&&(h=0),r>0&&u+e.clientHeight>r+f&&(u=r+f-e.clientHeight),u<0&&(u=0),e.style.left=`${h}px`,e.style.top=`${u}px`}var addTempEventHandlers=(e,...t)=>{for(const o of t){const[i,s,n,r]=o;i.addEventListener(s,n,r),e.push(o)}},clearTempEventHandlers=e=>{if(e){for(const[t,o,i,s]of e)t.removeEventListener(o,i,s);e.length=0}},preventEventDefault=e=>{e.cancelable&&e.preventDefault()};function defaultLocaleTextFunc(e,t){return t}function _getLocaleTextFunc(e){return e?.getLocaleTextFunc()??defaultLocaleTextFunc}function _translate(e,t,o,i){const s=t[o];return e.getLocaleTextFunc()(o,typeof s=="function"?s(i):s,i)}function _getLocaleTextFromFunc(e){return(t,o,i)=>e({key:t,defaultValue:o,variableValues:i})}function _getLocaleTextFromMap(e){return(t,o,i)=>{let s=e?.[t];if(s&&i?.length){let n=0;for(;!(n>=i.length||s.indexOf("${variable}")===-1);)s=s.replace("${variable}",i[n++])}return s??o}}var AgBeanStub=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.beans=e,this.stubContext=e.context,this.eventSvc=e.eventSvc,this.gos=e.gos}destroy(){const{destroyFunctions:e}=this;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,o){this.localEventService||(this.localEventService=new LocalEventService),this.localEventService.addEventListener(e,t,o)}removeEventListener(e,t,o){this.localEventService?.removeEventListener(e,t,o)}dispatchLocalEvent(e){this.localEventService?.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventSvc,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){const o=[];for(const i of Object.keys(t)){const s=t[i];s&&o.push(this._setupListener(e,i,s))}return o}_setupListener(e,t,o){if(this.destroyed)return()=>null;let i;if(isAgEventEmitter(e))e.__addEventListener(t,o),i=()=>(e.__removeEventListener(t,o),null);else{const s=isEventService(e);e instanceof HTMLElement?_addSafePassiveEventListener(e,t,o):s?e.addListener(t,o):e.addEventListener(t,o),i=s?()=>(e.removeListener(t,o),null):()=>(e.removeEventListener(t,o),null)}return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}setupPropertyListener(e,t){const{gos:o}=this;o.addPropertyEventListener(e,t);const i=()=>(o.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupPropertyListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const o=e.join("-")+this.propertyListenerId++,i=s=>{if(s.changeSet){if(s.changeSet?.id===this.lastChangeSetIdLookup[o])return;this.lastChangeSetIdLookup[o]=s.changeSet.id}const n={type:"propertyChanged",changeSet:s.changeSet,source:s.source};t(n)};for(const s of e)this.setupPropertyListener(s,i)}getLocaleTextFunc(){return _getLocaleTextFunc(this.beans.localeSvc)}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createOptionalManagedBean(e,t){return e?this.createManagedBean(e,t):void 0}createManagedBean(e,t){const o=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),o}createBean(e,t,o){return(t||this.stubContext).createBean(e,o)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function isAgEventEmitter(e){return e.__addEventListener!==void 0}function isEventService(e){return e.eventServiceType==="global"}var BeanStub=class extends AgBeanStub{},doOnceSet=new Set,_doOnce=(e,t)=>{doOnceSet.has(t)||(doOnceSet.add(t),e())};_doOnce._set=doOnceSet;var batchedCallsSetTimeout={pending:!1,funcs:[]},batchedCallsRaf={pending:!1,funcs:[]};function _batchCall(e,t="setTimeout",o){const i=t==="raf"?batchedCallsRaf:batchedCallsSetTimeout;if(i.funcs.push(e),i.pending)return;i.pending=!0;const s=()=>{const n=i.funcs.slice();i.funcs.length=0,i.pending=!1;for(const r of n)r()};t==="raf"?_requestAnimationFrame(o,s):window.setTimeout(s,0)}function _debounce(e,t,o){let i;return function(...s){const n=this;return window.clearTimeout(i),i=window.setTimeout(function(){e.isAlive()&&t.apply(n,s)},o),i}}function _throttle(e,t){let o=0;return function(...i){const s=this,n=Date.now();n-o<t||(o=n,e.apply(s,i))}}function _waitUntil(e,t,o,i=100){const s=Date.now();let n=null,r=!1;const a=()=>{n!=null&&(window.clearInterval(n),n=null)};e.addDestroyFunc(a);const l=()=>{const d=Date.now()-s>i;(t()||d)&&(o(),r=!0,a())};l(),r||(n=window.setInterval(l,10))}var SKIP_JS_BUILTINS=new Set(["__proto__","constructor","prototype"]);function _iterateObject(e,t){if(e!=null){if(Array.isArray(e)){for(let o=0;o<e.length;o++)t(o.toString(),e[o]);return}for(const o of Object.keys(e).filter(i=>!SKIP_JS_BUILTINS.has(i)))t(o,e[o])}}function _mergeDeep(e,t,o=!0,i=!1){_exists(t)&&_iterateObject(t,(s,n)=>{let r=e[s];r!==n&&(i&&r==null&&n!=null&&typeof n=="object"&&n.constructor===Object&&(r={},e[s]=r),_isNonNullObject(n)&&_isNonNullObject(r)&&!Array.isArray(r)?_mergeDeep(r,n,o,i):(o||n!==void 0)&&(e[s]=n))})}function _isNonNullObject(e){return typeof e=="object"&&e!==null}var _GlobalGridOptions=class k{static applyGlobalGridOptions(t){if(!k.gridOptions)return{...t};let o={};return _mergeDeep(o,k.gridOptions,!0,!0),k.mergeStrategy==="deep"?_mergeDeep(o,t,!0,!0):o={...o,...t},k.gridOptions.context&&(o.context=k.gridOptions.context),t.context&&(k.mergeStrategy==="deep"&&o.context&&_mergeDeep(t.context,o.context,!0,!0),o.context=t.context),o}static applyGlobalGridOption(t,o){if(k.mergeStrategy==="deep"){const i=_getGlobalGridOption(t);if(i&&typeof i=="object"&&typeof o=="object")return k.applyGlobalGridOptions({[t]:o})[t]}return o}};_GlobalGridOptions.gridOptions=void 0,_GlobalGridOptions.mergeStrategy="shallow";var GlobalGridOptions=_GlobalGridOptions;function provideGlobalGridOptions(e,t="shallow"){GlobalGridOptions.gridOptions=e,GlobalGridOptions.mergeStrategy=t}function _getGlobalGridOption(e){return GlobalGridOptions.gridOptions?.[e]}var GRID_OPTION_DEFAULTS={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipSwitchShowDelay:200,tooltipHideDelay:1e4,noteTrigger:"hover",noteShowDelay:180,noteHideDelay:220,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:" ",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,cellFlashDuration:500,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,refreshAfterGroupEdit:!1,rowDragInsertDelay:500,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupHideColumnsUntilExpanded:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1,enableFilterHandlers:!1},BASE_URL="https://www.ag-grid.com";function _logIfDebug(e,t,...o){e.get("debug")&&console.log("AG Grid: "+t,...o)}function _warnOnce(e,...t){_doOnce(()=>_consoleWarn(e,...t),e+t?.join(""))}function _errorOnce(e,...t){_doOnce(()=>_consoleError(e,...t),e+t?.join(""))}function _consoleError(e,...t){console.error("AG Grid: "+e,...t)}function _consoleWarn(e,...t){console.warn("AG Grid: "+e,...t)}var allRegisteredModules=new Set,globalModulesMap={},gridModulesMap={},currentModuleVersion,userHasRegistered=!1,areGridScopedModules=!1,isUmd=!1;function isValidModuleVersion(e){const[t,o]=e.version.split(".")||[],[i,s]=currentModuleVersion.split(".")||[];return t===i&&o===s}function runVersionChecks(e){currentModuleVersion||(currentModuleVersion=e.version);const t=i=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${i} Please update all modules to the same version.`;e.version?isValidModuleVersion(e)||_errorOnce(t(`'${e.moduleName}' is version ${e.version} but the other modules are version ${currentModuleVersion}.`)):_errorOnce(t(`'${e.moduleName}' is incompatible.`));const o=e.validate?.();o&&!o.isValid&&_errorOnce(`${o.message}`)}function _registerModule(e,t,o=!1){o||(userHasRegistered=!0),runVersionChecks(e);const i=e.rowModels??["all"];allRegisteredModules.add(e);let s;t!==void 0?(areGridScopedModules=!0,gridModulesMap[t]===void 0&&(gridModulesMap[t]={}),s=gridModulesMap[t]):s=globalModulesMap;for(const n of i)s[n]===void 0&&(s[n]={}),s[n][e.moduleName]=e;if(e.dependsOn)for(const n of e.dependsOn)_registerModule(n,t,o)}function _unRegisterGridModules(e){delete gridModulesMap[e]}function _isModuleRegistered(e,t,o){const i=s=>!!globalModulesMap[s]?.[e]||!!gridModulesMap[t]?.[s]?.[e];return i(o)||i("all")}function _areModulesGridScoped(){return areGridScopedModules}function _getRegisteredModules(e,t){const o=gridModulesMap[e]??{};return[...Object.values(globalModulesMap.all??{}),...Object.values(o.all??{}),...Object.values(globalModulesMap[t]??{}),...Object.values(o[t]??{})]}function _getAllRegisteredModules(){return new Set(allRegisteredModules)}function _getGridRegisteredModules(e,t){const o=gridModulesMap[e]??{};return[...Object.values(o.all??{}),...Object.values(o[t]??{})]}function _hasUserRegistered(){return userHasRegistered}function _isUmd(){return isUmd}function _setUmd(){isUmd=!0}var ModuleRegistry=class{static register(e){_registerModule(e,void 0)}static registerModules(e){for(const t of e)_registerModule(t,void 0)}};function _findEnterpriseCoreModule(e){for(const t of e){if("setLicenseKey"in t)return t;if(t.dependsOn){const o=_findEnterpriseCoreModule(t.dependsOn);if(o)return o}}}var VERSION="35.3.1",MAX_URL_LENGTH=2e3,MIN_PARAM_LENGTH=100,VERSION_PARAM_NAME="_version_",getConsoleMessage=null,baseDocLink=`${BASE_URL}/javascript-data-grid`;function provideValidationServiceLogger(e){getConsoleMessage=e}function setValidationDocLink(e){baseDocLink=e}function getErrorParts(e,t,o){return getConsoleMessage?.(e,t)??[minifiedLog(e,t,o)]}function getMsgOrDefault(e,t,o,i,s){e(`${i?"warning":"error"} #${t}`,...getErrorParts(t,o,s))}function stringifyObject(e){if(!e)return String(e);const t={};for(const o of Object.keys(e))typeof e[o]!="object"&&typeof e[o]!="function"&&(t[o]=e[o]);return JSON.stringify(t)}function stringifyValue(e){let t=e;return e instanceof Error?t=e.toString():typeof e=="object"&&(t=stringifyObject(e)),t}function toStringWithNullUndefined(e){return e===void 0?"undefined":e===null?"null":e}function getParamsUrl(e,t){return`${e}?${t.toString()}`}function truncateUrl(e,t,o){const i=Array.from(t.entries()).sort((n,r)=>r[1].length-n[1].length);let s=getParamsUrl(e,t);for(const[n,r]of i){if(n===VERSION_PARAM_NAME)continue;const a=s.length-o;if(a<=0)break;const l="...",d=a+l.length,c=r.length-d>MIN_PARAM_LENGTH?r.slice(0,r.length-d)+l:r.slice(0,MIN_PARAM_LENGTH)+l;t.set(n,c),s=getParamsUrl(e,t)}return s}function getErrorLink(e,t){const o=new URLSearchParams;if(o.append(VERSION_PARAM_NAME,VERSION),t)for(const n of Object.keys(t))o.append(n,stringifyValue(t[n]));const i=`${baseDocLink}/errors/${e}`,s=getParamsUrl(i,o);return s.length<=MAX_URL_LENGTH?s:truncateUrl(i,o,MAX_URL_LENGTH)}var minifiedLog=(e,t,o)=>{const i=getErrorLink(e,t),s=`${o?o+`
|
|
2
2
|
`:""}Visit ${i}`;return _isUmd()?s:`${s}${o?"":`
|
|
3
3
|
Alternatively register the ValidationModule to see the full message in the console.`}`};function _warn(...e){getMsgOrDefault(_warnOnce,e[0],e[1],!0)}function _error(...e){getMsgOrDefault(_errorOnce,e[0],e[1],!1)}function _logPreInitErr(e,t,o){getMsgOrDefault(_errorOnce,e,t,!1,o)}function _logPreInitWarn(e,t,o){getMsgOrDefault(_warnOnce,e,t,!0,o)}function getErrMsg(e,t){const o=t[0];return`error #${o} `+getErrorParts(o,t[1],e).join(" ")}function _errMsg(...e){return getErrMsg(void 0,e)}function _preInitErrMsg(...e){return getErrMsg(`
|
|
4
|
-
`,e)}function isRowModelType(e,t){return e.get("rowModelType")===t}function _isClientSideRowModel(e,t){return isRowModelType(e,"clientSide")}function _isServerSideRowModel(e,t){return isRowModelType(e,"serverSide")}function _isDomLayout(e,t){return e.get("domLayout")===t}function _isRowSelection(e){return _getRowSelectionMode(e)!==void 0}function _isGetRowHeightFunction(e){return typeof e.get("getRowHeight")=="function"}function _shouldMaintainColumnOrder(e,t){return t?!e.get("enableStrictPivotColumnOrder"):e.get("maintainColumnOrder")}function _isRowNumbers({gos:e,formula:t}){const o=e.get("rowNumbers");return o||!!t?.active&&o!==!1}function _getRowHeightForNode(e,t,o=!1,i){const{gos:s,environment:n}=e;if(i==null&&(i=n.getDefaultRowHeight()),_isGetRowHeightFunction(s)){if(o)return{height:i,estimated:!0};const l={node:t,data:t.data},d=s.getCallback("getRowHeight")(l);if(isNumeric(d))return d===0&&_warn(23),{height:Math.max(1,d),estimated:!1}}if(t.detail&&s.get("masterDetail"))return getMasterDetailRowHeight(s);const r=s.get("rowHeight");return{height:r&&isNumeric(r)?r:i,estimated:!1}}function getMasterDetailRowHeight(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};const t=e.get("detailRowHeight");return isNumeric(t)?{height:t,estimated:!1}:{height:300,estimated:!1}}function _getRowHeightAsNumber(e){const{environment:t,gos:o}=e,i=o.get("rowHeight");if(!i||_missing(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return s!==-1?s:(_warn(24),t.getDefaultRowHeight())}function isNumeric(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function _getDomData(e,t,o){const i=t[e.getDomDataKey()];return i?i[o]:void 0}function _setDomData(e,t,o,i){const s=e.getDomDataKey();let n=t[s];_missing(n)&&(n={},t[s]=n),n[o]=i}function _isAnimateRows(e){return e.get("ensureDomOrder")?!1:e.get("animateRows")}function _isGroupRowsSticky(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||_isDomLayout(e,"print"))}function _isColumnsSortingCoupledToGroup(e){return!e.get("autoGroupColumnDef")?.comparator&&!e.get("treeData")}function _getGroupAggFiltering(e){const t=e.get("groupAggFiltering");if(typeof t=="function")return e.getCallback("groupAggFiltering");if(t===!0)return()=>!0}function _getGrandTotalRow(e){return e.get("grandTotalRow")}function _getGrandTotalPinnedFloat(e){switch(e){case"pinnedTop":return"top";case"pinnedBottom":return"bottom";default:return null}}function _getGroupTotalRowCallback(e){const t=e.get("groupTotalRow");return typeof t=="function"?e.getCallback("groupTotalRow"):()=>t??void 0}function _isGroupMultiAutoColumn(e){return e.get("groupHideOpenParents")?!0:e.get("groupDisplayType")==="multipleColumns"}function _isGroupHideColumnsUntilExpanded(e){return _isGroupMultiAutoColumn(e)&&e.get("groupHideColumnsUntilExpanded")&&_isClientSideRowModel(e)}function _isGroupUseEntireRow(e,t){return t?!1:e.get("groupDisplayType")==="groupRows"}function _isFullWidthGroupRow(e,t,o){return!!t.group&&!t.footer&&_isGroupUseEntireRow(e,o)}function _getRowIdCallback(e){const t=e.getCallback("getRowId");return t===void 0?t:o=>{let i=t(o);return typeof i!="string"&&(_doOnce(()=>_warn(25,{id:i}),"getRowIdString"),i=String(i)),i}}function _canSkipShowingRowGroup(e,t){const o=e.get("groupHideParentOfSingleChild");return!!(o===!0||o==="leafGroupsOnly"&&t.leafGroup||e.get("groupRemoveSingleChildren")||e.get("groupRemoveLowestSingleChildren")&&t.leafGroup)}function _getMaxConcurrentDatasourceRequests(e){const t=e.get("maxConcurrentDatasourceRequests");return t>0?t:void 0}function _shouldUpdateColVisibilityAfterGroup(e,t){const o=e.get("suppressGroupChangesColumnVisibility");if(o===!0||t&&o==="suppressHideOnGroup"||!t&&o==="suppressShowOnUngroup")return!1;const i=e.get("suppressRowGroupHidesColumns");if(t&&i===!0)return!1;const s=e.get("suppressMakeColumnVisibleAfterUnGroup");return!(!t&&s===!0)}function _getCheckboxes(e){return e?.checkboxes??!0}function _getHeaderCheckbox(e){return e?.mode==="multiRow"&&(e.headerCheckbox??!0)}function _getCheckboxLocation(e){if(typeof e=="object")return e.checkboxLocation??"selectionColumn"}function _getHideDisabledCheckboxes(e){return e?.hideDisabledCheckboxes??!1}function _isUsingNewRowSelectionAPI(e){return typeof e.get("rowSelection")!="string"}function _isUsingNewCellSelectionAPI(e){return e.get("cellSelection")!==void 0}function _getSuppressMultiRanges(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t?.suppressMultiRanges??!1:!1:e.get("suppressMultiRangeSelection")}function _isCellSelectionEnabled(e){const t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function _getFillHandle(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"&&t.handle?.mode==="fill"?t.handle:void 0:{mode:"fill",setFillValue:e.get("fillOperation"),direction:e.get("fillHandleDirection"),suppressClearOnFillReduction:e.get("suppressClearOnFillReduction")}}function _getEnableColumnSelection(e){const t=e.get("cellSelection")??!1;return(typeof t=="object"&&t.enableColumnSelection)??!1}function _getEnableClickSelection(e){const t=e.get("rowSelection")??"single";if(typeof t=="string"){const o=e.get("suppressRowClickSelection"),i=e.get("suppressRowDeselection");return o&&i?!1:o?"enableDeselection":i?"enableSelection":!0}return t.mode==="singleRow"||t.mode==="multiRow"?t.enableClickSelection??!1:!1}function _getEnableSelection(e){const t=_getEnableClickSelection(e);return t===!0||t==="enableSelection"}function _getEnableDeselection(e){const t=_getEnableClickSelection(e);return t===!0||t==="enableDeselection"}function _getIsRowSelectable(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t?.isRowSelectable}function _getRowSelectionMode(e){const t="beanName"in e&&e.beanName==="gos"?e.get("rowSelection"):e.rowSelection;if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}switch(t?.mode){case"multiRow":case"singleRow":return t.mode;default:return}}function _isMultiRowSelection(e){return _getRowSelectionMode(e)==="multiRow"}function _getEnableSelectionWithoutKeys(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("rowMultiSelectWithClick"):t?.enableSelectionWithoutKeys??!1}function _getGroupSelection(e){const t=e.get("rowSelection");if(typeof t=="string"){const o=e.get("groupSelectsChildren"),i=e.get("groupSelectsFiltered");return o&&i?"filteredDescendants":o?"descendants":"self"}return t?.mode==="multiRow"?t.groupSelects:void 0}function _getSelectAll(e,t=!0){const o=e.get("rowSelection");return typeof o!="object"?t?"all":void 0:o.mode==="multiRow"?o.selectAll:"all"}function _getCtrlASelectsRows(e){const t=e.get("rowSelection");return typeof t=="string"?!1:t?.mode==="multiRow"?t.ctrlASelectsRows??!1:!1}function _getGroupSelectsDescendants(e){const t=_getGroupSelection(e);return t==="descendants"||t==="filteredDescendants"}function _getMasterSelects(e){const t=e.get("rowSelection");return typeof t=="object"&&t.masterSelects||"self"}function _isSetFilterByDefault(e){return e.isModuleRegistered("SetFilter")&&!e.get("suppressSetFilterByDefault")}function _isLegacyMenuEnabled(e){return e.get("columnMenu")==="legacy"}function _isColumnMenuAnchoringEnabled(e){return!_isLegacyMenuEnabled(e)}function _getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}function _combineAttributesAndGridOptions(e,t,o){typeof e!="object"&&(e={});const i={...e};for(const s of o){const n=t[s];typeof n<"u"&&(i[s]=n)}return i}function _processOnChange(e,t){if(!e)return;const o={};let i=!1;for(const r of Object.keys(e))o[r]=e[r],i=!0;if(!i)return;const s={type:"gridOptionsChanged",options:o};t.dispatchEvent(s);const n={type:"componentStateChanged",...o};t.dispatchEvent(n)}function _addGridCommonParams(e,t){return e.addCommon(t)}function _getGridOption(e,t){return e[t]??e.gridOptions?.[t]??_getGlobalGridOption(t)??GRID_OPTION_DEFAULTS[t]}function _interpretAsRightClick({gos:e},t){return t.button===2||t.ctrlKey&&e.get("allowContextMenuWithControlKey")}var COL_DEF_DEFAULTS={resizable:!0,sortable:!0},instanceIdSequence=0;function getNextColInstanceId(){return instanceIdSequence++}function isColumn(e){return e instanceof AgColumn}var DEFAULT_SORTING_ORDER=["asc","desc",null],DEFAULT_ABSOLUTE_SORTING_ORDER=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],AgColumn=class extends BeanStub{constructor(e,t,o,i){super(),this.colDef=e,this.userProvidedColDef=t,this.colId=o,this.primary=i,this.isColumn=!0,this.instanceId=getNextColInstanceId(),this.autoHeaderHeight=null,this.sortDef=_getSortDefFromInput(),this.moving=!1,this.resizing=!1,this.menuVisible=!1,this.formulaRef=null,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.colEventSvc=new LocalEventService,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=_escapeString(o)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){const{colDef:e,beans:{sortSvc:t,pinnedCols:o,colFlex:i}}=this;t?.initCol(this);const s=e.hide;s!==void 0?this.visible=!s:this.visible=!e.initialHide,o?.initCol(this),i?.initCol(this)}setColDef(e,t,o){const i=e.spanRows!==this.colDef.spanRows;this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),i&&(this.beans.rowSpanSvc?.deregister(this),this.initRowSpan()),this.dispatchColEvent("colDefChanged",o)}getUserProvidedColDef(){return this.userProvidedColDef}getParent(){return this.parent}getOriginalParent(){return this.originalParent}postConstruct(){this.initState(),this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip(),this.initRowSpan(),this.addPivotListener()}initDotNotation(){const{gos:e,colDef:{field:t,tooltipField:o}}=this,i=e.get("suppressFieldDotNotation");this.fieldContainsDots=_exists(t)&&t.includes(".")&&!i,this.tooltipFieldContainsDots=_exists(o)&&o.includes(".")&&!i}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){this.colDef.spanRows&&this.beans.rowSpanSvc?.register(this)}addPivotListener(){const e=this.beans.pivotColDefSvc,t=this.colDef.pivotValueColumn;!e||!t||this.addManagedListeners(t,{colDefChanged:o=>{const i=e.recreateColDef(this.colDef);this.setColDef(i,i,o.source)}})}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){const t=e.width??e.initialWidth??200;return Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,e)??!1}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}__addEventListener(e,t){this.colEventSvc.addEventListener(e,t)}__removeEventListener(e,t){this.colEventSvc.removeEventListener(e,t)}addEventListener(e,t){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);const o=this.frameworkEventListenerService?.wrap(e,t)??t;this.colEventSvc.addEventListener(e,o)}removeEventListener(e,t){const o=this.frameworkEventListenerService?.unwrap(e,t)??t;this.colEventSvc.removeEventListener(e,o)}createColumnFunctionCallbackParams(e){return _addGridCommonParams(this.gos,{node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){return this.beans.cellNavigation?.isSuppressNavigable(this,e)??!1}isCellEditable(e){return this.beans.editSvc?.isCellEditable({rowNode:e,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){return this.beans.selectionSvc?.isCellCheckboxSelection(this,e)??!1}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??COL_DEF_DEFAULTS[e]}isColumnFunc(e,t){if(typeof t=="boolean")return t;if(typeof t=="function"){const o=this.createColumnFunctionCallbackParams(e);return t(o)}return!1}createColumnEvent(e,t){return _addGridCommonParams(this.gos,{type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sortDef.direction}getSortDef(){return this.sortDef.direction?this.sortDef:null}getColDefAllowedSortTypes(){const e=[],{sort:t,initialSort:o}=this.colDef,i=t===null?t:_normalizeSortType(t?.type),s=o===null?o:_normalizeSortType(o?.type);return i&&e.push(i),s&&e.push(s),e}getSortingOrder(){const e=this.getColDefAllowedSortTypes().includes("absolute")?DEFAULT_ABSOLUTE_SORTING_ORDER:DEFAULT_SORTING_ORDER;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??e).map(t=>_getSortDefFromInput(t))}getAvailableSortTypes(){const e=this.getSortingOrder().reduce((t,o)=>(o.direction&&t.push(o.type),t),this.getColDefAllowedSortTypes());return new Set(e)}setSortDef(e){this.sortDef=e}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.getSort()==="asc"}isSortDescending(){return this.getSort()==="desc"}isSortNone(){return _missing(this.getSort())}isSorting(){return _exists(this.getSort())}getSortIndex(){return this.sortIndex}isMenuVisible(){return this.menuVisible}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchColEvent("leftChanged",t))}isFilterActive(){return this.filterActive}isHovered(){return _warn(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.dispatchColEvent("firstRightPinnedChanged",t))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.dispatchColEvent("lastLeftPinnedChanged",t))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){const o=e===!0;this.visible!==o&&(this.visible=o,this.dispatchColEvent("visibleChanged",t)),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.colDef.suppressSpanHeaderHeight}getFirstRealParent(){let e=this.getOriginalParent();for(;e?.isPadding();)e=e.getOriginalParent();return e}getColumnGroupPaddingInfo(){let e=this.parent;if(!e?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let o=!0;for(;e;){if(!e.isPadding()){o=!1;break}e=e.parent}return{numberOfParents:t,isSpanningTotal:o}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return _addGridCommonParams(this.gos,{node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(_missing(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.colSpan(t);return Math.max(o,1)}getRowSpan(e){if(_missing(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.rowSpan(t);return Math.max(o,1)}setActualWidth(e,t,o=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex!=null&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),o||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.dispatchColEvent("widthChanged",e)}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex}isRowGroupActive(){return this.rowGroupActive}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}isAllowFormula(){return this.colDef.allowFormula===!0}dispatchColEvent(e,t,o){const i=this.createColumnEvent(e,t);o&&_mergeDeep(i,o),this.colEventSvc.dispatchEvent(i)}dispatchStateUpdatedEvent(e){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:e})}};function _getSortDefFromInput(e){return _isSortDefValid(e)?{direction:e.direction,type:e.type}:{direction:_normalizeSortDirection(e),type:_normalizeSortType(e)}}function _isSortDirectionValid(e){return e==="asc"||e==="desc"||e===null}function _isSortTypeValid(e){return e==="default"||e==="absolute"}function _isSortDefValid(e){if(!e||typeof e!="object")return!1;const t=e;return _isSortTypeValid(t.type)&&_isSortDirectionValid(t.direction)}function _areSortDefsEqual(e,t){return e?t?e.type===t.type&&e.direction===t.direction:e?e.direction===null:!0:t?t.direction===null:!0}function _normalizeSortDirection(e){return _isSortDirectionValid(e)?e:null}function _normalizeSortType(e){return _isSortTypeValid(e)?e:"default"}function _getDisplaySortForColumn(e,t,o){const s=o?.()??t.sortSvc.getDisplaySortForColumn(e),n=_normalizeSortType(s?.type),r=_normalizeSortDirection(s?.direction),a=e.getAvailableSortTypes(),l=a.has("default"),d=a.has("absolute");return{isDefaultSortAllowed:l,isAbsoluteSortAllowed:d,isAbsoluteSort:n==="absolute",isDefaultSort:n==="default",isAscending:r==="asc",isDescending:r==="desc",direction:r}}function isProvidedColumnGroup(e){return e instanceof AgProvidedColumnGroup}var AgProvidedColumnGroup=class extends BeanStub{constructor(e,t,o,i){super(),this.colGroupDef=e,this.groupId=t,this.padding=o,this.level=i,this.isColumn=!1,this.expandable=!1,this.instanceId=getNextColInstanceId(),this.expandableListenerRemoveCallback=null,this.expanded=!!e?.openByDefault}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return this.children?this.children.some(e=>e.isVisible()):!1}isPadding(){return this.padding}setExpanded(e){this.expanded=e===void 0?!1:e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}forEachLeafColumn(e){if(this.children)for(const t of this.children)isColumn(t)?e(t):isProvidedColumnGroup(t)&&t.forEachLeafColumn(e)}addLeafColumns(e){if(this.children)for(const t of this.children)isColumn(t)?e.push(t):isProvidedColumnGroup(t)&&t.addLeafColumns(e)}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);for(const t of this.getLeafColumns())t.__addEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=()=>{for(const t of this.getLeafColumns())t.__removeEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,o=!1;const i=this.findChildrenRemovingPadding();for(let n=0,r=i.length;n<r;n++){const a=i[n];if(!a.isVisible())continue;const l=a.getColumnGroupShow();l==="open"?(e=!0,o=!0):l==="closed"?(t=!0,o=!0):(e=!0,t=!0)}const s=e&&t&&o;this.expandable!==s&&(this.expandable=s,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){const e=[],t=o=>{for(const i of o)isProvidedColumnGroup(i)&&i.isPadding()?t(i.children):e.push(i)};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},DefaultColumnTypes={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function createMergedColGroupDef(e,t,o){const i={},s=e.gos;return Object.assign(i,s.get("defaultColGroupDef")),Object.assign(i,t),s.validateColDef(i,o),i}var ColumnKeyCreator=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=_toStringOrNull(e);let o=0;for(;;){let i=e??t;if(i?o!==0&&(i+="_"+o):i=o,!this.existingKeys[i]){const s=String(i);return e&&o>0&&_warn(273,{providedId:e,usedId:s}),this.existingKeys[s]=!0,s}o++}}},depthFirstCallback=(e,t)=>{isProvidedColumnGroup(e)&&e.setupExpandable(),e.originalParent=t};function _createColumnTreeWithIds(e,t=null,o,i,s){const{existingCols:n,existingGroups:r}=extractExistingTreeData(i),a=new Map(n.map(f=>[f.getId(),f])),l=new Map(r.map(f=>[f.getId(),f]));let d=0;const c=(f,m)=>{if(d=Math.max(d,m),isColumnGroupDef(f)){if(!e.colGroupSvc)return null;const b=f.groupId,S=l.get(b),y=createMergedColGroupDef(e,f,b),R=new AgProvidedColumnGroup(y,b,!1,m);return e.context.createBean(R),S&&R.setExpanded(S.isExpanded()),R.setChildren(f.children.map(E=>c(E,m+1))),R}const C=f.colId;let w=a.get(C);const v=_addColumnDefaultAndTypes(e,f,w?.colId??C);return w?(w.setColDef(v,f,s),_updateColumnState(e,w,v,s)):(w=new AgColumn(v,f,C,o),e.context.createBean(w)),e.dataTypeSvc?.addColumnListeners(w),w},u=t?.map(f=>c(f,0))??[];let h=0;const g={getUniqueKey:(f,m)=>String(++h)},p=e.colGroupSvc?e.colGroupSvc.balanceColumnTree(u,0,d,g):u;return depthFirstOriginalTreeSearch(null,p,depthFirstCallback),{columnTree:p,treeDepth:d}}function _createColumnTree(e,t=null,o,i,s){const n=new ColumnKeyCreator,{existingCols:r,existingGroups:a,existingColKeys:l}=extractExistingTreeData(i);n.addExistingKeys(l);const d=_recursivelyCreateColumns(e,t,0,o,r,n,a,s),{colGroupSvc:c}=e,u=c?.findMaxDepth(d,0)??0,h=c?c.balanceColumnTree(d,0,u,n):d;return depthFirstOriginalTreeSearch(null,h,depthFirstCallback),{columnTree:h,treeDepth:u}}function extractExistingTreeData(e){const t=[],o=[],i=[];return e&&depthFirstOriginalTreeSearch(null,e,s=>{if(isProvidedColumnGroup(s)){const n=s;o.push(n)}else{const n=s;i.push(n.getId()),t.push(n)}}),{existingCols:t,existingGroups:o,existingColKeys:i}}function _recursivelyCreateColumns(e,t,o,i,s,n,r,a){if(!t)return[];const{colGroupSvc:l}=e,d=new Array(t.length);for(let c=0;c<d.length;c++){const u=t[c];l&&isColumnGroupDef(u)?d[c]=l.createProvidedColumnGroup(i,u,o,s,n,r,a):d[c]=createColumn(e,i,u,s,n,a)}return d}function createColumn(e,t,o,i,s,n){const r=findExistingColumn(o,i);r&&i?.splice(r.idx,1);let a=r?.column;if(a){const l=_addColumnDefaultAndTypes(e,o,a.colId);a.setColDef(l,o,n),_updateColumnState(e,a,l,n)}else{const l=s.getUniqueKey(o.colId,o.field),d=_addColumnDefaultAndTypes(e,o,l);a=new AgColumn(d,o,l,t),e.context.createBean(a)}return e.dataTypeSvc?.addColumnListeners(a),a}function updateSomeColumnState(e,t,o,i,s,n,r,a){const{sortSvc:l,pinnedCols:d,colFlex:c}=e;o!==void 0&&t.setVisible(!o,a),l&&(l.updateColSort(t,i,a),s!==void 0&&l.setColSortIndex(t,s)),n!==void 0&&d?.setColPinned(t,n),r!==void 0&&c?.setColFlex(t,r)}function _updateColumnState(e,t,o,i){updateSomeColumnState(e,t,o.hide,o.sort,o.sortIndex,o.pinned,o.flex,i);const s=t.getFlex();if(!(s!=null&&s>0))if(o.width!=null)t.setActualWidth(o.width,i);else{const n=t.getActualWidth();t.setActualWidth(n,i)}}function findExistingColumn(e,t){if(t)for(let o=0;o<t.length;o++){const i=t[o].getUserProvidedColDef();if(!i)continue;if(e.colId!=null){if(t[o].getId()===e.colId)return{idx:o,column:t[o]};continue}if(e.field!=null){if(i.field===e.field)return{idx:o,column:t[o]};continue}if(i===e)return{idx:o,column:t[o]}}}function _addColumnDefaultAndTypes(e,t,o,i){const{gos:s,dataTypeSvc:n}=e,r={},a=s.get("defaultColDef");_mergeDeep(r,a,!1,!0);const l=updateColDefAndGetColumnType(e,r,t,o);l&&assignColumnTypes(e,l,r);const d=r.cellDataType;_mergeDeep(r,t,!1,!0),d!==void 0&&(r.cellDataType=d);const c=s.get("autoGroupColumnDef"),u=_isColumnsSortingCoupledToGroup(s);return t.rowGroup&&c&&u&&_mergeDeep(r,{sort:c.sort,initialSort:c.initialSort},!1,!0),n?.postProcess(r),n?.validateColDef(r,t,a,o),s.validateColDef(r,o,i),r}function updateColDefAndGetColumnType(e,t,o,i){const s=e.dataTypeSvc?.updateColDefAndGetColumnType(t,o,i),n=o.type??s??t.type;return t.type=n,n?convertColumnTypes(n):void 0}function assignColumnTypes(e,t,o){if(!t.length)return;const i=Object.assign({},DefaultColumnTypes),s=e.gos.get("columnTypes")||{};for(const n of Object.keys(s)){const r=s[n];n in i?_warn(34,{key:n}):(r.type&&_warn(35),i[n]=r)}for(const n of t){const r=i[n.trim()];r?_mergeDeep(o,r,!1,!0):_warn(36,{t:n})}}function isColumnGroupDef(e){return e.children!==void 0}function depthFirstOriginalTreeSearch(e,t,o){if(t)for(let i=0;i<t.length;i++){const s=t[i];isProvidedColumnGroup(s)&&depthFirstOriginalTreeSearch(s,s.getChildren(),o),o(s,e)}}var GROUP_AUTO_COLUMN_ID="ag-Grid-AutoColumn",SELECTION_COLUMN_ID="ag-Grid-SelectionColumn",ROW_NUMBERS_COLUMN_ID="ag-Grid-RowNumbersColumn",GROUP_HIERARCHY_COLUMN_ID_PREFIX="ag-Grid-HierarchyColumn";function _getColumnsFromTree(e){const t=[],o=i=>{for(let s=0;s<i.length;s++){const n=i[s];isColumn(n)?t.push(n):isProvidedColumnGroup(n)&&o(n.getChildren())}};return o(e),t}function getWidthOfColsInList(e){return e.reduce((t,o)=>t+o.getActualWidth(),0)}function _destroyColumnTree(e,t,o){const i={};if(!t)return;depthFirstOriginalTreeSearch(null,t,n=>{i[n.getInstanceId()]=n}),o&&depthFirstOriginalTreeSearch(null,o,n=>{i[n.getInstanceId()]=null});const s=Object.values(i).filter(n=>n!=null);e.context.destroyBeans(s)}function isColumnGroupAutoCol(e){return e.getId().startsWith(GROUP_AUTO_COLUMN_ID)}function isColumnSelectionCol(e){return(typeof e=="string"?e:"getColId"in e?e.getColId():e.colId)?.startsWith(SELECTION_COLUMN_ID)??!1}function isRowNumberCol(e){return(typeof e=="string"?e:"getColId"in e?e.getColId():e.colId)?.startsWith(ROW_NUMBERS_COLUMN_ID)??!1}function isSpecialCol(e){return isColumnSelectionCol(e)||isRowNumberCol(e)}function convertColumnTypes(e){let t=[];return e instanceof Array?t=e:typeof e=="string"&&(t=e.split(",")),t}function _areColIdsEqual(e,t){return _areEqual(e,t,(o,i)=>o.colId===i.colId)}function _updateColsMap(e){e.map={};for(const t of e.list)e.map[t.getId()]=t}function _convertColumnEventSourceType(e){return e==="optionsUpdated"?"gridOptionsChanged":e}function _columnsMatch(e,t){return e===t||e.colId==t||e.colDef===t}var getValueFactory=(e,t)=>(o,i)=>{const s={value1:void 0,value2:void 0};let n=!1;return e&&(e[o]!==void 0&&(s.value1=e[o],n=!0),_exists(i)&&e[i]!==void 0&&(s.value2=e[i],n=!0)),!n&&t&&(t[o]!==void 0&&(s.value1=t[o]),_exists(i)&&t[i]!==void 0&&(s.value2=t[i])),s};function _getColumnStateFromColDef(e,t){const o={...e,sort:void 0,colId:t},i=_getSortDefFromColDef(e);return i&&(o.sort=i.direction,o.sortType=i.type),o}function _getSortDefFromColDef(e){const{sort:t,initialSort:o}=e,i=_isSortDefValid(t)||_isSortDirectionValid(t),s=_isSortDefValid(o)||_isSortDirectionValid(o);return i?_getSortDefFromInput(t):s?_getSortDefFromInput(o):null}function createUniqueColumnGroupId(e,t){return e+"_"+t}function isColumnGroup(e){return e instanceof AgColumnGroup}var AgColumnGroup=class extends BeanStub{constructor(e,t,o,i){super(),this.providedColumnGroup=e,this.groupId=t,this.partId=o,this.pinned=i,this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.colIdSanitised=_escapeString(this.getUniqueId())}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}getUniqueId(){return createUniqueColumnGroupId(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!e||e.length===0?!1:e.every(t=>t.isMoving())}checkLeft(){for(const e of this.displayedChildren)isColumnGroup(e)&&e.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const t=_last(this.displayedChildren).getLeft();this.setLeft(t)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;for(const t of this.displayedChildren??[])e+=t.getActualWidth();return e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;for(const t of this.displayedChildren)t.isResizable()&&(e=!0);return e}getMinWidth(){let e=0;for(const t of this.displayedChildren)e+=t.getMinWidth();return e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){for(const t of this.displayedChildren??[])isColumn(t)?e.push(t):isColumnGroup(t)&&t.addDisplayedLeafColumns(e)}addLeafColumns(e){for(const t of this.children??[])isColumn(t)?e.push(t):isColumnGroup(t)&&t.addLeafColumns(e)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.parent;return!this.isPadding()||!e?.isPadding()?0:1+e.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e?.isPadding();)e=e.parent;if(!(e?e.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}for(const o of this.children??[]){if(isColumnGroup(o)&&!o.displayedChildren?.length)continue;switch(o.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(o);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(o);break;default:this.displayedChildren.push(o);break}}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},ROOT_NODE_ID="ROOT_NODE_ID",GROUP_TOTAL_ROW_ID_PREFIX="rowGroupFooter_",DETAIL_ROW_ID_PREFIX="detail_",GRAND_TOTAL_ROW_ID=GROUP_TOTAL_ROW_ID_PREFIX+ROOT_NODE_ID,KeyCode={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",ESCAPE:"Escape",SPACE:" ",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown",DELETE:"Delete",F2:"F2",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",PAGE_HOME:"Home",PAGE_END:"End",A:"KeyA",C:"KeyC",D:"KeyD",V:"KeyV",X:"KeyX",Y:"KeyY",Z:"KeyZ"},A_KEYCODE=65,C_KEYCODE=67,V_KEYCODE=86,D_KEYCODE=68,Z_KEYCODE=90,Y_KEYCODE=89;function _normaliseQwertyAzerty(e){const{keyCode:t}=e;let o;switch(t){case A_KEYCODE:o=KeyCode.A;break;case C_KEYCODE:o=KeyCode.C;break;case V_KEYCODE:o=KeyCode.V;break;case D_KEYCODE:o=KeyCode.D;break;case Z_KEYCODE:o=KeyCode.Z;break;case Y_KEYCODE:o=KeyCode.Y;break;default:o=e.code}return o}function _isPromise(e){return typeof e.then=="function"}function _wrapInterval(e,t){return new AgPromise(o=>{o(window.setInterval(e,t))})}var AgPromise=class V{constructor(t){this.status=0,this.resolution=null,this.waiters=[],t(o=>this.onDone(o),o=>this.onReject(o))}static all(t){return t.length?new V(o=>{let i=t.length;const s=new Array(i);t.forEach((n,r)=>{n.then(a=>{s[r]=a,i--,i===0&&o(s)})})}):V.resolve()}static resolve(t=null){return new V(o=>o(t))}then(t){return new V(o=>{this.status===1?o(t(this.resolution)):this.waiters.push(i=>o(t(i)))})}onDone(t){this.status=1,this.resolution=t;for(const o of this.waiters)o(t)}onReject(t){}},BaseDragAndDropService=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="dragAndDrop",this.dragSourceAndParamsList=[],this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.dragSource=null,this.dragImageCompPromise=null,this.dragImageComp=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.dropTargets=[],this.externalDropZoneCount=0,this.lastDropTarget=null}addDragSource(e,t=!1){const o={capturePointer:!0,dragSource:e,eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:i=>this.onDragStart(e,i),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push(o),this.beans.dragSvc.addDragSource(o)}setDragImageCompIcon(e,t=!1){const o=this.dragImageComp;o&&(t||this.dragImageLastIcon!==e)&&(this.dragImageLastIcon=e,o.setIcon(e,t))}removeDragSource(e){const{dragSourceAndParamsList:t,beans:o}=this;for(let i=0,s=t.length;i<s;i++)if(t[i].dragSource===e){const n=t[i];o.dragSvc?.removeDragSource(n),t.splice(i,1);break}}destroy(){const{dragSourceAndParamsList:e,dropTargets:t,beans:o}=this,i=o.dragSvc;for(const s of e)i?.removeDragSource(s);e.length=0,t.length=0,this.externalDropZoneCount=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){const e=this.lastMouseEvent;e&&this.onDragging(e,!0)}onDragStart(e,t){this.lastMouseEvent=t,this.dragSource=e,this.dragItem=e.getDragItem();const o=e.eElement.getBoundingClientRect();this.dragInitialSourcePointerOffsetX=t.clientX-o.left,this.dragInitialSourcePointerOffsetY=t.clientY-o.top,e.onDragStarted?.(),this.createAndUpdateDragImageComp(e)}onDragStop(e){const{dragSource:t,lastDropTarget:o}=this;if(t?.onDragStopped?.(),o){const i=this.dropTargetEvent(o,e,!1);o.onDragStop?.(i)}this.clearDragAndDropProperties()}onDragCancel(){const{dragSource:e,lastDropTarget:t,lastMouseEvent:o}=this;if(e?.onDragCancelled?.(),t&&o){const i=this.dropTargetEvent(t,o,!1);t.onDragCancel?.(i)}this.clearDragAndDropProperties()}onDragging(e,t=!1){this.positionDragImageComp(e);const o=this.findCurrentDropTarget(e),{lastDropTarget:i,dragSource:s,dragItem:n}=this;let r=!1;if(o!==i){if(r=!0,i){const a=this.dropTargetEvent(i,e,t);i.onDragLeave?.(a)}if(i!==null&&!o?this.handleExit(s,n):i===null&&o&&this.handleEnter(s,n),o){const a=this.dropTargetEvent(o,e,t);o.onDragEnter?.(a)}this.lastDropTarget=o}else if(o){const a=this.dropTargetEvent(o,e,t);o.onDragging?.(a),a?.changed&&(r=!0)}this.lastMouseEvent=e,r&&this.updateDragImageComp()}clearDragAndDropProperties(){this.removeDragImageComp(this.dragImageComp),this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.lastDropTarget=null,this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.dragSource=null}getAllContainersFromDropTarget(e){const t=e.getContainer(),o=e.getSecondaryContainers?.(),i=o?.length;if(!i)return[[t]];const s=new Array(i+1);s[0]=[t];for(let n=0;n<i;++n)s[n+1]=o[n];return s}isMouseOnDropTarget(e,t){const o=this.getAllContainersFromDropTarget(t);let i=!1;const s=(a,l)=>{for(const d of l){const{width:c,height:u,left:h,right:g,top:p,bottom:f}=d.getBoundingClientRect();if(c===0||u===0)return!1;const m=a.clientX>=h&&a.clientX<g,C=a.clientY>=p&&a.clientY<f;if(!m||!C)return!1}return!0};for(const a of o)if(s(e,a)){i=!0;break}const{eElement:n,type:r}=this.dragSource;return t.targetContainsSource&&!t.getContainer().contains(n)?!1:i&&t.isInterestedIn(r,n)}findCurrentDropTarget(e){const t=[],o=this.dropTargets;for(let r=0,a=o.length;r<a;++r){const l=o[r];this.isMouseOnDropTarget(e,l)&&t.push(l)}const i=t.length;if(i===0)return null;if(i===1)return t[0];const n=_getRootNode(this.beans).elementsFromPoint(e.clientX,e.clientY);for(let r=0,a=n.length;r<a;++r){const l=n[r];for(let d=0,c=t.length;d<c;d++){const u=t[d],h=this.getAllContainersFromDropTarget(u);let g=!1;for(let p=0,f=h.length;p<f&&!g;p++){const m=h[p];for(let C=0,w=m.length;C<w;C++)if(m[C]===l){g=!0;break}}if(g)return u}}return null}addDropTarget(e){this.dropTargets.push(e),e.external&&this.externalDropZoneCount++}removeDropTarget(e){const t=e.getContainer(),o=this.dropTargets;let i=0;for(let s=0,n=o.length;s<n;++s){const r=o[s];if(r.getContainer()===t){r.external&&--this.externalDropZoneCount;continue}i!==s&&(o[i]=r),++i}o.length=i}hasExternalDropZones(){return this.externalDropZoneCount>0}findExternalZone(e){const t=this.dropTargets;for(let o=0,i=t.length;o<i;++o){const s=t[o];if(s.external&&s.getContainer()===e)return s}return null}dropTargetEvent(e,t,o){const{dragSource:i,dragItem:s,lastDraggingEvent:n,lastMouseEvent:r,dragInitialSourcePointerOffsetX:a,dragInitialSourcePointerOffsetY:l}=this,d=e.getContainer(),c=d.getBoundingClientRect(),{clientX:u,clientY:h}=t,g=u-(r?.clientX||0),p=h-(r?.clientY||0),f=this.createEvent({event:t,x:u-c.left,y:h-c.top,vDirection:p>0?"down":p<0?"up":null,hDirection:g<0?"left":g>0?"right":null,initialSourcePointerOffsetX:a,initialSourcePointerOffsetY:l,dragSource:i,fromNudge:o,dragItem:s,dropZoneTarget:d,dropTarget:n?.dropTarget??null,changed:!!n?.changed});return this.lastDraggingEvent=f,f}positionDragImageComp(e){const t=this.dragImageComp?.getGui();t&&_anchorElementToMouseMoveEvent(t,e,this.beans)}removeDragImageComp(e){this.dragImageComp===e&&(this.dragImageComp=null),e&&(e.getGui()?.remove(),this.destroyBean(e))}createAndUpdateDragImageComp(e){const t=this.createDragImageComp(e)??null;this.dragImageCompPromise=t,t?.then(o=>{const i=this.lastMouseEvent;if(t!==this.dragImageCompPromise||!i||!this.isAlive()){this.destroyBean(o);return}this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;const s=this.dragImageComp;s!==o&&(this.dragImageComp=o,this.removeDragImageComp(s)),o&&(this.appendDragImageComp(o),this.updateDragImageComp(),this.positionDragImageComp(i))})}appendDragImageComp(e){const t=e.getGui(),o=t.style;o.position="absolute",o.zIndex="9999",this.beans.dragSvc?.hasPointerCapture()&&(o.pointerEvents="none"),this.gos.setInstanceDomData(t),this.beans.environment.applyThemeClasses(t),o.top="20px",o.left="20px";const i=_getPageBody(this.beans);i?i.appendChild(t):this.warnNoBody()}updateDragImageComp(){const{dragImageComp:e,dragSource:t,lastDropTarget:o,lastDraggingEvent:i,dragImageLastLabel:s}=this;if(!e)return;this.setDragImageCompIcon(o?.getIconName?.(i)??null);let n=t?.dragItemName;typeof n=="function"&&(n=n(i)),n||(n=""),s!==n&&(this.dragImageLastLabel=n,e.setLabel(n))}};function isColumnFilterComp(e){return typeof e=="object"&&!!e.component}function doesImplementIComponent(e){return e?e.prototype&&"getGui"in e.prototype:!1}function _getUserCompKeys(e,t,o,i){const{name:s}=o;let n,r,a,l,d,c;if(t){const u=t,h=u[s+"Selector"],g=h?h(i):null,p=f=>{typeof f=="string"?n=f:f!=null&&f!==!0&&(e.isFrameworkComponent(f)?a=f:r=f)};g?(p(g.component),l=g.params,d=g.popup,c=g.popupPosition):p(u[s])}return{compName:n,jsComp:r,fwComp:a,paramsFromSelector:l,popupFromSelector:d,popupPositionFromSelector:c}}var UserComponentFactory=class extends BeanStub{constructor(){super(...arguments),this.beanName="userCompFactory"}wireBeans(e){this.agCompUtils=e.agCompUtils,this.registry=e.registry,this.frameworkCompWrapper=e.frameworkCompWrapper,this.gridOptions=e.gridOptions}getCompDetailsFromGridOptions(e,t,o,i=!1){return this.getCompDetails(this.gridOptions,e,t,o,i)}getCompDetails(e,t,o,i,s=!1){const{name:n,cellRenderer:r}=t;let{compName:a,jsComp:l,fwComp:d,paramsFromSelector:c,popupFromSelector:u,popupPositionFromSelector:h}=_getUserCompKeys(this.beans.frameworkOverrides,e,t,i),g,p;const f=v=>{const b=this.registry.getUserComponent(n,v);b&&(l=b.componentFromFramework?void 0:b.component,d=b.componentFromFramework?b.component:void 0,g=b.params,p=b.processParams)};if(a!=null&&f(a),l==null&&d==null&&o!=null&&f(o),l&&r&&!doesImplementIComponent(l)&&(l=this.agCompUtils?.adaptFunction(t,l)),!l&&!d){const{validation:v}=this.beans;s&&(a!==o||!o)?a?v?.isProvidedUserComp(a)||_error(50,{compName:a}):o?v||_error(260,{...this.gos.getModuleErrorParams(),propName:n,compName:o}):_error(216,{name:n}):o&&!v&&_error(146,{comp:o});return}const m=this.mergeParams(e,t,i,c,g,p),C=l==null,w=l??d;return{componentFromFramework:C,componentClass:w,params:m,type:t,popupFromSelector:u,popupPositionFromSelector:h,newAgStackInstance:()=>this.newAgStackInstance(w,C,m,t)}}newAgStackInstance(e,t,o,i){const s=!t;let n;s?n=new e:n=this.frameworkCompWrapper.wrap(e,i.mandatoryMethods,i.optionalMethods,i),this.createBean(n);const r=n.init?.(o);return r==null?AgPromise.resolve(n):r.then(()=>n)}mergeParams(e,t,o,i=null,s,n){const r={...o,...s},l=e?.[t.name+"Params"];if(typeof l=="function"){const d=l(o);_mergeDeep(r,d)}else typeof l=="object"&&_mergeDeep(r,l);return _mergeDeep(r,i),n?n(r):r}},DateComponent={name:"dateComponent",mandatoryMethods:["getDate","setDate"],optionalMethods:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","refresh"]},DragAndDropImageComponent={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},HeaderComponent={name:"headerComponent",optionalMethods:["refresh"]},InnerHeaderComponent={name:"innerHeaderComponent"},InnerHeaderGroupComponent={name:"innerHeaderGroupComponent"},HeaderGroupComponent={name:"headerGroupComponent"},InnerCellRendererComponent={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},CellRendererComponent={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},EditorRendererComponent={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},LoadingCellRendererComponent={name:"loadingCellRenderer",cellRenderer:!0},CellEditorComponent={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},TooltipComponent={name:"tooltipComponent"},FilterComponent={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},FloatingFilterComponent={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},FullWidth={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},FullWidthLoading={name:"loadingCellRenderer",cellRenderer:!0},FullWidthGroup={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},FullWidthDetail={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function _getDragAndDropImageCompDetails(e,t){return e.getCompDetailsFromGridOptions(DragAndDropImageComponent,"agDragAndDropImage",t,!0)}function _getInnerCellRendererDetails(e,t,o){return e.getCompDetails(t,InnerCellRendererComponent,void 0,o)}function _getHeaderCompDetails(e,t,o){return e.getCompDetails(t,HeaderComponent,"agColumnHeader",o)}function _getInnerHeaderCompDetails(e,t,o){return e.getCompDetails(t,InnerHeaderComponent,void 0,o)}function _getHeaderGroupCompDetails(e,t){const o=t.columnGroup.getColGroupDef();return e.getCompDetails(o,HeaderGroupComponent,"agColumnGroupHeader",t)}function _getInnerHeaderGroupCompDetails(e,t,o){return e.getCompDetails(t,InnerHeaderGroupComponent,void 0,o)}function _getFullWidthCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidth,void 0,t,!0)}function _getFullWidthLoadingCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthLoading,"agLoadingCellRenderer",t,!0)}function _getFullWidthGroupCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthGroup,"agGroupRowRenderer",t,!0)}function _getFullWidthDetailCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthDetail,"agDetailCellRenderer",t,!0)}function _getCellRendererDetails(e,t,o){return e.getCompDetails(t,CellRendererComponent,void 0,o)}function _getEditorRendererDetails(e,t,o){return e.getCompDetails(t,EditorRendererComponent,void 0,o)}function _getLoadingCellRendererDetails(e,t,o){return e.getCompDetails(t,LoadingCellRendererComponent,"agSkeletonCellRenderer",o,!0)}function _getCellEditorDetails(e,t,o){return e.getCompDetails(t,CellEditorComponent,"agCellEditor",o,!0)}function _getFilterDetails(e,t,o,i){const s=t.filter;return isColumnFilterComp(s)&&(t={filter:s.component,filterParams:t.filterParams}),e.getCompDetails(t,FilterComponent,i,o,!0)}function _getDateCompDetails(e,t,o){return e.getCompDetails(t,DateComponent,"agDateInput",o,!0)}function _getTooltipCompDetails(e,t){return e.getCompDetails(t.colDef,TooltipComponent,"agTooltipComponent",t,!0)}function _getFloatingFilterCompDetails(e,t,o,i){return e.getCompDetails(t,FloatingFilterComponent,i,o)}function _getFilterCompKeys(e,t){return _getUserCompKeys(e,t,FilterComponent)}function _mergeFilterParamsWithApplicationProvidedParams(e,t,o){return e.mergeParams(t,FilterComponent,o)}var DragSourceType=(e=>(e[e.ToolPanel=0]="ToolPanel",e[e.HeaderCell=1]="HeaderCell",e[e.RowDrag=2]="RowDrag",e[e.ChartPanel=3]="ChartPanel",e[e.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",e))(DragSourceType||{}),DragAndDropService=class extends BaseDragAndDropService{createEvent(e){return _addGridCommonParams(this.gos,e)}createDragImageComp(e){const{gos:t,beans:o}=this;return _getDragAndDropImageCompDetails(o.userCompFactory,_addGridCommonParams(t,{dragSource:e}))?.newAgStackInstance()}handleEnter(e,t){e?.onGridEnter?.(t)}handleExit(e,t){e?.onGridExit?.(t)}warnNoBody(){_warn(54)}isDropZoneWithinThisGrid(e){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains(e.dropZoneTarget)}registerGridDropTarget(e,t){const o={getContainer:e,isInterestedIn:i=>i===1||i===0,getIconName:()=>"notAllowed"};this.addDropTarget(o),t.addDestroyFunc(()=>this.removeDropTarget(o))}};function isCombinedFilterModel(e){return!!e.operator}var RESIZE_CONTAINER_STYLE="ag-resizer-wrapper",makeDiv=(e,t)=>({tag:"div",ref:`${e}Resizer`,cls:`ag-resizer ag-resizer-${t}`}),RESIZE_TEMPLATE={tag:"div",cls:RESIZE_CONTAINER_STYLE,children:[makeDiv("eTopLeft","topLeft"),makeDiv("eTop","top"),makeDiv("eTopRight","topRight"),makeDiv("eRight","right"),makeDiv("eBottomRight","bottomRight"),makeDiv("eBottom","bottom"),makeDiv("eBottomLeft","bottomLeft"),makeDiv("eLeft","left")]},AgPositionableFeature=class extends AgBeanStub{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config={popup:!1,...t}}wireBeans(e){this.popupSvc=e.popupSvc,this.dragSvc=e.dragSvc}center(e){const{clientHeight:t,clientWidth:o}=this.offsetParent,i=o/2-this.getWidth()/2,s=t/2-this.getHeight()/2;this.offsetElement(i,s,e)}initialisePosition(e){if(this.positioned)return;const{centered:t,forcePopupParentAsOffsetParent:o,minWidth:i,width:s,minHeight:n,height:r,x:a,y:l}=this.config;this.offsetParent||this.setOffsetParent();let d=0,c=0;const u=_isVisible(this.element);if(u){const h=this.findBoundaryElement(),g=window.getComputedStyle(h);if(g.minWidth!=null){const p=h.offsetWidth-this.element.offsetWidth;c=Number.parseInt(g.minWidth,10)-p}if(g.minHeight!=null){const p=h.offsetHeight-this.element.offsetHeight;d=Number.parseInt(g.minHeight,10)-p}}if(this.minHeight=n||d,this.minWidth=i||c,s&&this.setWidth(s),r&&this.setHeight(r),(!s||!r)&&this.refreshSize(),t)this.center(e);else if(a||l)this.offsetElement(a,l,e);else if(u&&o){let h=this.boundaryEl,g=!0;if(h||(h=this.findBoundaryElement(),g=!1),h){const p=Number.parseFloat(h.style.top),f=Number.parseFloat(h.style.left);g?this.offsetElement(Number.isNaN(f)?0:f,Number.isNaN(p)?0:p,e):this.setPosition(f,p)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;const o=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragSvc?.addDragSource(o),this.moveElementDragListener=o):(this.dragSvc?.removeDragSource(o),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),typeof e=="boolean"){if(e===!1)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}for(const t of Object.keys(e)){const o=!!e[t],i=this.getResizerElement(t),s={dragStartPixels:0,eElement:i,onDragStart:n=>this.onResizeStart(n,t),onDragging:this.onResize.bind(this),onDragStop:n=>this.onResizeEnd(n,t)};(o||!this.isAlive()&&!o)&&(o?(this.dragSvc?.addDragSource(s),this.resizeListeners.push(s),i.style.pointerEvents="all"):i.style.pointerEvents="none",this.resizable[t]=o)}}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";const{height:e,width:t}=this.lastSize;t!==-1&&(this.element.style.width=`${t}px`),e!==-1&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){const{popup:t}=this.config,o=this.element;let i=!1;if(typeof e=="string"&&e.includes("%"))_setFixedHeight(o,e),e=_getAbsoluteHeight(o),i=!0;else if(e=Math.max(this.minHeight,e),this.positioned){const s=this.getAvailableHeight();s&&e>s&&(e=s)}this.getHeight()!==e&&(i?(o.style.maxHeight="unset",o.style.minHeight="unset"):t?_setFixedHeight(o,e):(o.style.height=`${e}px`,o.style.flex="0 0 auto",this.lastSize.height=typeof e=="number"?e:Number.parseFloat(e)))}getAvailableHeight(){const{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();const{clientHeight:o}=this.offsetParent;if(!o)return null;const i=this.element.getBoundingClientRect(),s=this.offsetParent.getBoundingClientRect(),n=e?this.position.y:i.top,r=e?0:s.top;let a=0;if(t){const d=this.element.parentElement;if(d){const{bottom:c}=d.getBoundingClientRect();a=c-i.bottom}}return o+r-n-a}getWidth(){return this.element.offsetWidth}setWidth(e){const t=this.element,{popup:o}=this.config;let i=!1;if(typeof e=="string"&&e.includes("%"))_setFixedWidth(t,e),e=_getAbsoluteWidth(t),i=!0;else if(this.positioned){e=Math.max(this.minWidth,e);const{clientWidth:s}=this.offsetParent,n=o?this.position.x:this.element.getBoundingClientRect().left;s&&e+n>s&&(e=s-n)}this.getWidth()!==e&&(i?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?_setFixedWidth(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width=typeof e=="number"?e:Number.parseFloat(e)))}offsetElement(e=0,t=0,o){const{forcePopupParentAsOffsetParent:i}=this.config,s=i?this.boundaryEl:this.element;s&&(this.popupSvc?.positionPopup({ePopup:s,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t}),postProcessCallback:o}),this.setPosition(Number.parseFloat(s.style.left),Number.parseFloat(s.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;const t=()=>{const o=this.getAvailableHeight();this.element.style.setProperty("max-height",`${o}px`)};e&&this.popupSvc?(this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=_observeResize(this.beans,this.popupSvc?.getPopupParent(),t)):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){const{e:t,isLeft:o,isTop:i,anywhereWithin:s,topBuffer:n}=e,r=t.clientX-this.dragStartPosition.x,a=t.clientY-this.dragStartPosition.y,l=this.shouldSkipX(t,!!o,!!s,r)?0:r,d=this.shouldSkipY(t,!!i,n,a)?0:a;return{movementX:l,movementY:d}}shouldSkipX(e,t,o,i){const s=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.x:s.left;let l=a<=0&&n.left>=e.clientX||n.right<=e.clientX&&n.right<=r.right;return l?!0:(t?l=i<0&&e.clientX>a+n.left||i>0&&e.clientX<a+n.left:o?l=i<0&&e.clientX>r.right||i>0&&e.clientX<a+n.left:l=i<0&&e.clientX>r.right||i>0&&e.clientX<r.right,l)}shouldSkipY(e,t,o=0,i){const s=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.y:s.top;let l=a<=0&&n.top>=e.clientY||n.bottom<=e.clientY&&n.bottom<=r.bottom;return l?!0:(t?l=i<0&&e.clientY>a+n.top+o||i>0&&e.clientY<a+n.top:l=i<0&&e.clientY>r.bottom||i>0&&e.clientY<r.bottom,l)}createResizeMap(){const e=t=>({element:this.element.querySelector(`[data-ref=${t}Resizer]`)});this.resizerMap={topLeft:e("eTopLeft"),top:e("eTop"),topRight:e("eTopRight"),right:e("eRight"),bottomRight:e("eBottomRight"),bottom:e("eBottom"),bottomLeft:e("eBottomLeft"),left:e("eLeft")}}addResizers(){if(this.resizersAdded)return;const e=this.element;e&&(e.appendChild(_createAgElement(RESIZE_TEMPLATE)),this.createResizeMap(),this.resizersAdded=!0)}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${RESIZE_CONTAINER_STYLE}`)?.remove(),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");const{popup:o,forcePopupParentAsOffsetParent:i}=this.config;!o&&!i&&this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){const t=this.element.parentElement;return t?Array.prototype.slice.call(t.children).filter(o=>!o.classList.contains("ag-hidden")):null}getMinSizeOfSiblings(){const e=this.getSiblings()||[];let t=0,o=0;for(const i of e){const s=!!i.style.flex&&i.style.flex!=="0 0 auto";if(i===this.element)continue;let n=this.minHeight||0,r=this.minWidth||0;if(s){const a=window.getComputedStyle(i);a.minHeight&&(n=Number.parseInt(a.minHeight,10)),a.minWidth&&(r=Number.parseInt(a.minWidth,10))}else n=i.offsetHeight,r=i.offsetWidth;t+=n,o+=r}return{height:t,width:o}}applySizeToSiblings(e){let t=null;const o=this.getSiblings();if(o){for(let i=0;i<o.length;i++){const s=o[i];s!==t&&(e?s.style.height=`${s.offsetHeight}px`:s.style.width=`${s.offsetWidth}px`,s.style.flex="0 0 auto",s===this.element&&(t=o[i+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some(e=>e)}onResize(e){if(!this.isResizing||!this.currentResizer)return;const{popup:t,forcePopupParentAsOffsetParent:o}=this.config,{isTop:i,isRight:s,isBottom:n,isLeft:r}=this.currentResizer,a=s||r,l=n||i,{movementX:d,movementY:c}=this.calculateMouseMovement({e,isLeft:r,isTop:i}),u=this.position.x,h=this.position.y;let g=0,p=0;if(a&&d){const f=r?-1:1,m=this.getWidth(),C=m+d*f;let w=!1;r&&(g=m-C,(u+g<=0||C<=this.minWidth)&&(w=!0,g=0)),w||this.setWidth(C)}if(l&&c){const f=i?-1:1,m=this.getHeight(),C=m+c*f;let w=!1;i?(p=m-C,(h+p<=0||C<=this.minHeight)&&(w=!0,p=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&m<C&&this.getMinSizeOfSiblings().height+C>this.element.parentElement.offsetHeight&&(w=!0),w||this.setHeight(C)}this.updateDragStartPosition(e.clientX,e.clientY),((t||o)&&g||p)&&this.offsetElement(u+g,h+p)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){const e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;const{x:t,y:o}=this.position;let i;this.config.calculateTopBuffer&&(i=this.config.calculateTopBuffer());const{movementX:s,movementY:n}=this.calculateMouseMovement({e,isTop:!0,anywhereWithin:!0,topBuffer:i});this.offsetElement(t+s,o+n),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent&&this.popupSvc?this.offsetParent=this.popupSvc.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if(window.getComputedStyle(e).position!=="static")return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){const e=this.resizeListeners.pop();this.dragSvc?.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragSvc?.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},PositionableFeature=class extends AgPositionableFeature{},RefPlaceholder=null;function _isComponent(e){return typeof e?.getGui=="function"}var CssClassManager=class{constructor(e){this.cssClassStates={},this.getGui=e}toggleCss(e,t){if(!e)return;if(e.includes(" ")){const i=(e||"").split(" ");if(i.length>1){for(const s of i)this.toggleCss(s,t);return}}this.cssClassStates[e]!==t&&e.length&&(this.getGui()?.classList.toggle(e,t),this.cssClassStates[e]=t)}},compIdSequence=0,AgComponentStub=class extends AgBeanStub{constructor(e,t){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=compIdSequence++,this.cssManager=new CssClassManager(()=>this.eGui),this.componentSelectors=new Map((t??[]).map(o=>[o.selector,o])),e&&this.setTemplate(e)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate(e,t){e&&this.gos&&(this.applyElementsToComponent(e),this.createChildComponentsFromTags(e,t))}getCompId(){return this.compId}getDataRefAttribute(e){return e.getAttribute?e.getAttribute(DataRefAttribute):null}applyElementsToComponent(e,t,o,i=null){if(t===void 0&&(t=this.getDataRefAttribute(e)),t){const s=this[t];if(s===RefPlaceholder)this[t]=i??e;else{const n=o?.[t];if(!this.suppressDataRefValidation&&!n)throw new Error(`data-ref: ${t} on ${this.constructor.name} with ${s}`)}}}createChildComponentsFromTags(e,t){const o=[];for(const i of e.childNodes??[])o.push(i);for(const i of o){if(!(i instanceof HTMLElement))continue;const s=this.createComponentFromElement(i,n=>{const r=n.getGui();if(r)for(const a of i.attributes??[])r.setAttribute(a.name,a.value)},t);if(s){if(s.addItems&&i.children.length){this.createChildComponentsFromTags(i,t);const n=Array.prototype.slice.call(i.children);s.addItems(n)}this.swapComponentForNode(s,e,i)}else i.childNodes&&this.createChildComponentsFromTags(i,t)}}createComponentFromElement(e,t,o){const i=e.nodeName,s=this.getDataRefAttribute(e),n=i.indexOf("AG-")===0,r=n?this.componentSelectors.get(i):null;let a=null;if(r){const l=o&&s?o[s]:void 0;a=new r.component(l),a.setParentComponent(this),this.createBean(a,null,t)}else if(n)throw new Error(`selector: ${i}`);return this.applyElementsToComponent(e,s,o,a),a}swapComponentForNode(e,t,o){const i=e.getGui();t.replaceChild(i,o),t.insertBefore(document.createComment(o.nodeName),i),this.addDestroyFunc(this.destroyBean.bind(this,e))}activateTabIndex(e,t){const o=t??this.gos.get("tabIndex");e||(e=[]),e.length||e.push(this.getGui());for(const i of e)i.setAttribute("tabindex",o.toString())}setTemplate(e,t,o){let i;typeof e=="string"||e==null?i=_loadTemplate(e):i=_createAgElement(e),this.setTemplateFromElement(i,t,o)}setTemplateFromElement(e,t,o,i=!1){if(this.eGui=e,this.suppressDataRefValidation=i,t)for(let s=0;s<t.length;s++){const n=t[s];this.componentSelectors.set(n.selector,n)}this.wireTemplate(e,o)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(e){this.parentComponent=e}getParentComponent(){return this.parentComponent}setGui(e){this.eGui=e}queryForHtmlElement(e){return this.eGui.querySelector(e)}getContainerAndElement(e,t){let o=t;return e==null?null:(o||(o=this.eGui),_isNodeOrElement(e)?{element:e,parent:o}:{element:e.getGui(),parent:o})}prependChild(e,t){const{element:o,parent:i}=this.getContainerAndElement(e,t)||{};!o||!i||i.prepend(o)}appendChild(e,t){const{element:o,parent:i}=this.getContainerAndElement(e,t)||{};!o||!i||i.appendChild(o)}isDisplayed(){return this.displayed}setVisible(e,t={}){if(e!==this.visible){this.visible=e;const{skipAriaHidden:o}=t;_setVisible(this.eGui,e,{skipAriaHidden:o})}}setDisplayed(e,t={}){if(e!==this.displayed){this.displayed=e;const{skipAriaHidden:o}=t;_setDisplayed(this.eGui,e,{skipAriaHidden:o});const i={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(i)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),super.destroy()}addGuiEventListener(e,t,o){this.eGui.addEventListener(e,t,o),this.addDestroyFunc(()=>this.eGui.removeEventListener(e,t))}addCss(e){this.cssManager.toggleCss(e,!0)}removeCss(e){this.cssManager.toggleCss(e,!1)}toggleCss(e,t){this.cssManager.toggleCss(e,t)}registerCSS(e){this.css===globalCssAdded?(this.css=[e],this.addGlobalCss()):(this.css||(this.css=[]),this.css.push(e))}addGlobalCss(){if(Array.isArray(this.css)){const e="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(const t of this.css??[])this.beans.environment.addGlobalCSS(t,e)}this.css=globalCssAdded}},globalCssAdded=Symbol(),Component=class extends AgComponentStub{},isSafari,isFirefox,isMacOs,isIOS,invisibleScrollbar,browserScrollbarWidth,maxDivHeight;function _isBrowserSafari(){return isSafari===void 0&&(isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),isSafari}function _isBrowserFirefox(){return isFirefox===void 0&&(isFirefox=/(firefox)/i.test(navigator.userAgent)),isFirefox}function _isMacOsUserAgent(){return isMacOs===void 0&&(isMacOs=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),isMacOs}function _isIOSUserAgent(){return isIOS===void 0&&(isIOS=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),isIOS}function _getTabIndex(e){if(!e)return null;const t=e.tabIndex,o=e.getAttribute("tabIndex");return t===-1&&(o===null||o===""&&!_isBrowserFirefox())?null:t.toString()}function _getMaxDivHeight(){if(maxDivHeight!==void 0)return maxDivHeight;if(!document.body)return-1;let e=1e6;const t=_isBrowserFirefox()?6e6:1e9,o=document.createElement("div");for(document.body.appendChild(o);;){const i=e*2;if(o.style.height=i+"px",i>t||o.clientHeight!==i)break;e=i}return o.remove(),maxDivHeight=e,e}function _getScrollbarWidth(){return browserScrollbarWidth==null&&initScrollbarWidthAndVisibility(),browserScrollbarWidth}function initScrollbarWidthAndVisibility(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let o=t.offsetWidth-t.clientWidth;o===0&&t.clientWidth===0&&(o=null),t.parentNode&&t.remove(),o!=null&&(browserScrollbarWidth=o,invisibleScrollbar=o===0)}function _isInvisibleScrollbar(){return invisibleScrollbar==null&&initScrollbarWidthAndVisibility(),invisibleScrollbar}var keyboardModeActive=!1,instanceCount=0;function addKeyboardModeEvents(e){instanceCount>0||(e.addEventListener("keydown",toggleKeyboardMode),e.addEventListener("mousedown",toggleKeyboardMode))}function removeKeyboardModeEvents(e){instanceCount>0||(e.removeEventListener("keydown",toggleKeyboardMode),e.removeEventListener("mousedown",toggleKeyboardMode))}function toggleKeyboardMode(e){const t=keyboardModeActive,o=e.type==="keydown";o&&(e.ctrlKey||e.metaKey||e.altKey)||t!==o&&(keyboardModeActive=o)}function _registerKeyboardFocusEvents(e){const t=_getDocument(e);return addKeyboardModeEvents(t),instanceCount++,()=>{instanceCount--,removeKeyboardModeEvents(t)}}function _isKeyboardMode(){return keyboardModeActive}function _findFocusableElements(e,t,o=!1){const i=FOCUSABLE_SELECTOR;let s=FOCUSABLE_EXCLUDE;t&&(s+=", "+t),o&&(s+=', [tabindex="-1"]');const n=Array.prototype.slice.apply(e.querySelectorAll(i)).filter(l=>_isVisible(l)),r=Array.prototype.slice.apply(e.querySelectorAll(s));return r.length?((l,d)=>l.filter(c=>d.indexOf(c)===-1))(n,r):n}function _focusInto(e,t=!1,o=!1,i=!1){const s=_findFocusableElements(e,i?".ag-tab-guard":null,o),n=t?_last(s):s[0];return n?(n.focus({preventScroll:!0}),!0):!1}function _findNextFocusableElement(e,t,o,i){const s=_findFocusableElements(t,o?':not([tabindex="-1"])':null),n=_getActiveDomElement(e);let r;o?r=s.findIndex(l=>l.contains(n)):r=s.indexOf(n);const a=r+(i?-1:1);return a<0||a>=s.length?null:s[a]}function _findTabbableParent(e,t=5){let o=0;for(;e&&_getTabIndex(e)===null&&++o<=t;)e=e.parentElement;return _getTabIndex(e)===null?null:e}var FOCUS_MANAGED_CLASS="ag-focus-managed",AgManagedFocusFeature=class extends AgBeanStub{constructor(e,t={isStopPropagation:()=>!1,stopPropagation:()=>{}},o={}){super(),this.eFocusable=e,this.stopPropagationCallbacks=t,this.callbacks=o,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:i=>{if(i.defaultPrevented)return;const s=_findNextFocusableElement(this.beans,this.eFocusable,!1,i.shiftKey);s&&(s.focus(),i.preventDefault())},...o}}postConstruct(){const{eFocusable:e,callbacks:{onFocusIn:t,onFocusOut:o}}=this;e.classList.add(FOCUS_MANAGED_CLASS),this.addKeyDownListeners(e),t&&this.addManagedElementListeners(e,{focusin:t}),o&&this.addManagedElementListeners(e,{focusout:o})}addKeyDownListeners(e){this.addManagedElementListeners(e,{keydown:t=>{if(t.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(t))return;const{callbacks:o}=this;if(o.shouldStopEventPropagation(t)){this.stopPropagationCallbacks.stopPropagation(t);return}t.key===KeyCode.TAB?o.onTabKeyDown(t):o.handleKeyDown&&o.handleKeyDown(t)}})}},AG_GRID_STOP_PROPAGATION="__ag_Grid_Stop_Propagation";function _stopPropagationForAgGrid(e){e[AG_GRID_STOP_PROPAGATION]=!0}function _isStopPropagationForAgGrid(e){return e[AG_GRID_STOP_PROPAGATION]===!0}var STOP_PROPAGATION_CALLBACKS={isStopPropagation:_isStopPropagationForAgGrid,stopPropagation:_stopPropagationForAgGrid},ManagedFocusFeature=class extends AgManagedFocusFeature{constructor(e,t){super(e,STOP_PROPAGATION_CALLBACKS,t)}},FILTER_LOCALE_TEXT={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",bigintFilter:"BigInt Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd",filterSummaryInactive:"is (All)",filterSummaryContains:"contains",filterSummaryNotContains:"does not contain",filterSummaryTextEquals:"equals",filterSummaryTextNotEqual:"does not equal",filterSummaryStartsWith:"begins with",filterSummaryEndsWith:"ends with",filterSummaryBlank:"is blank",filterSummaryNotBlank:"is not blank",filterSummaryEquals:"=",filterSummaryNotEqual:"!=",filterSummaryGreaterThan:">",filterSummaryGreaterThanOrEqual:">=",filterSummaryLessThan:"<",filterSummaryLessThanOrEqual:"<=",filterSummaryInRange:"between",yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",last7Days:"Last 7 Days",lastWeek:"Last Week",thisWeek:"This Week",nextWeek:"Next Week",last30Days:"Last 30 Days",lastMonth:"Last Month",thisMonth:"This Month",nextMonth:"Next Month",last90Days:"Last 90 Days",lastQuarter:"Last Quarter",thisQuarter:"This Quarter",nextQuarter:"Next Quarter",lastYear:"Last Year",thisYear:"This Year",yearToDate:"Year To Date",nextYear:"Next Year",last6Months:"Last 6 Months",last12Months:"Last 12 Months",last24Months:"Last 24 Months",filterSummaryInRangeValues:e=>`(${e[0]}, ${e[1]})`,filterSummaryTextQuote:e=>`"${e[0]}"`,minDateValidation:e=>`Date must be after ${e[0]}`,maxDateValidation:e=>`Date must be before ${e[0]}`,strictMinValueValidation:e=>`Must be greater than ${e[0]}`,strictMaxValueValidation:e=>`Must be less than ${e[0]}`};function translateForFilter(e,t,o){return _translate(e,FILTER_LOCALE_TEXT,t,o)}function getDebounceMs(e,t){const{debounceMs:o}=e;return _isUseApplyButton(e)?(o!=null&&_warn(71),0):o??t}function _isUseApplyButton(e){return(e.buttons?.indexOf("apply")??-1)>=0}function getPlaceholderText(e,t,o,i){let s=translateForFilter(e,o);if(typeof t=="function"){const n=translateForFilter(e,i);s=t({filterOptionKey:i,filterOption:n,placeholder:s})}else typeof t=="string"&&(s=t);return s}var ProvidedFilter=class extends Component{constructor(e,t){super(),this.filterNameKey=e,this.cssIdentifier=t,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){const e={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate(e,this.getAgComponents()),this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new PositionableFeature(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown(e){}init(e){const t=e;this.setParams(t),this.setModelIntoUi(t.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual(e,t){return e===t}refresh(e){const t=e,o=this.params;this.params=t;const{source:i,state:s,additionalEventAttributes:n}=t;i==="colDef"&&this.updateParams(t,o);const r=this.state;this.state=s;const a=n?.fromAction;return(a&&a!=="apply"||s.model!==r.model||!this.areStatesEqual(s.state,r.state))&&this.setModelIntoUi(s.model),!0}setParams(e){this.params=e,this.state=e.state,this.commonUpdateParams(e)}updateParams(e,t){this.commonUpdateParams(e,t)}commonUpdateParams(e,t){this.applyActive=_isUseApplyButton(e),this.setupApplyDebounced()}doesFilterPass(e){_warn(283);const{getHandler:t,model:o,column:i}=this.params;return t().doesFilterPass({...e,model:o,handlerParams:this.beans.colFilter.getHandlerParams(i)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return _warn(284),this.params.model!=null}setupApplyDebounced(){const e=getDebounceMs(this.params,this.defaultDebounceMs),t=_debounce(this,this.checkApplyDebounce.bind(this),e);this.applyDebounced=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.doApplyModel())}getModel(){return _warn(285),this.params.model}setModel(e){_warn(286);const{beans:t,params:o}=this;return t.colFilter.setModelForColumnLegacy(o.column,e)}applyModel(e="api"){return this.doApplyModel()}canApply(e){return!0}doApplyModel(e){const{params:t,state:{valid:o=!0,model:i}}=this;if(!o)return!1;const s=!this.areModelsEqual(t.model,i);return s&&t.onAction("apply",e),s}onNewRowsLoaded(){}onUiChanged(e,t=!1){this.updateUiVisibility();const o=this.getModelFromUi(),i={model:o,state:this.getState(),valid:this.canApply(o)};this.state=i;const{params:s,gos:n,eventSvc:r,applyActive:a}=this;s.onStateChange(i),s.onUiChange(this.getUiChangeEventParams()),n.get("enableFilterHandlers")||r.dispatchEvent({type:"filterModified",column:s.column,filterInstance:this}),i.valid&&(e??(e=a?void 0:"debounce"),e==="immediately"?this.doApplyModel({afterFloatingFilter:t,afterDataChange:!1}):e==="debounce"&&this.applyDebounced())}getState(){}getUiChangeEventParams(){}afterGuiAttached(e){this.lastContainerType=e?.container,this.refreshFilterResizer(e?.container)}refreshFilterResizer(e){const{positionableFeature:t,gos:o}=this;if(!t)return;const i=e==="floatingFilter"||e==="columnFilter";i?(t.restoreLastSize(),t.setResizable(o.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(t.removeSizeFromEl(),t.setResizable(!1)),t.constrainSizeToAvailableHeight(i)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate(e,t){return translateForFilter(this,e,t)}getPositionableElement(){return this.getGui()}areModelsEqual(e,t){return e===t||e==null&&t==null?!0:e==null||t==null?!1:this.areNonNullModelsEqual(e,t)}},STRUCTURED_SCHEMA_FEATURES=["aggregation","filter","sort","pivot","columnVisibility","columnSizing","rowGroup"],AgPopupComponent=class extends AgComponentStub{isPopup(){return!0}setParentComponent(e){e.addCss("ag-has-popup"),super.setParentComponent(e)}destroy(){const e=this.parentComponent;e?.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},AgAbstractCellEditor=class extends AgPopupComponent{constructor(){super(...arguments),this.errorMessages=null}init(e){this.params=e,this.initialiseEditor(e),this.eEditor.onValueChange(()=>e.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function _getClientSideRowModel(e){const t=e.rowModel;return t.getType()==="clientSide"?t:void 0}function _getInfiniteRowModel(e){const t=e.rowModel;return t.getType()==="infinite"?t:void 0}function _getServerSideRowModel(e){const t=e.rowModel;return t.getType()==="serverSide"?t:void 0}function _getViewportRowModel(e){const t=e.rowModel;return t.getType()==="viewport"?t:void 0}var ROW_ID_PREFIX_ROW_GROUP="row-group-",ROW_ID_PREFIX_TOP_PINNED="t-",ROW_ID_PREFIX_BOTTOM_PINNED="b-",OBJECT_ID_SEQUENCE=0,RowNode=class{constructor(e){this.id=void 0,this.destroyed=!1,this._groupData=void 0,this.master=!1,this.detail=void 0,this.rowIndex=null,this.field=null,this.rowGroupColumn=null,this.key=null,this.sourceRowIndex=-1,this._leafs=void 0,this.childrenAfterGroup=null,this.childrenAfterFilter=null,this.childrenAfterAggFilter=null,this.childrenAfterSort=null,this.allChildrenCount=null,this.childrenMapped=null,this.treeParent=null,this.treeNodeFlags=0,this._expanded=void 0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=OBJECT_ID_SEQUENCE++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=e}get groupData(){const e=this._groupData;return e!==void 0?e:this.footer?this.sibling?.groupData:this.beans.groupStage?.loadGroupData(this)??null}set groupData(e){this._groupData=e}get primaryRow(){let e=this.footer&&this.sibling||this;if(e.rowPinned){const t=e.pinnedSibling;t&&(e=t,e.footer&&(e=e.sibling??e))}return e}get allLeafChildren(){const e=this._leafs;return e===void 0?this.beans.groupStage?.loadLeafs?.(this)??null:e}set allLeafChildren(e){this._leafs=e}get expanded(){const e=this.beans.expansionSvc;return e?e.isExpanded(this):this.level===-1?!0:!!this._expanded}set expanded(e){this._expanded=e}setData(e){this.setDataCommon(e,"set")}updateData(e){this.setDataCommon(e,"update")}_updateDataNoSibling(e){this.setDataCommon(e,"updateNoSibling")}setDataCommon(e,t){const{valueCache:o,eventSvc:i}=this.beans,s=this.data,n=t!=="set";this.data=e,o?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();const r=this.createDataChangedEvent(e,s,n);if(this.__localEventService?.dispatchEvent(r),t!=="updateNoSibling"){const l=this.sibling;if(l){l.data=e;const d=l.createDataChangedEvent(e,s,n);l.__localEventService?.dispatchEvent(d)}}i.dispatchEvent({type:"rowNodeDataChanged",node:this});const a=this.pinnedSibling;a&&(a.data=e,a.__localEventService?.dispatchEvent(a.createDataChangedEvent(e,s,n)),i.dispatchEvent({type:"rowNodeDataChanged",node:a}))}updateDataOnDetailNode(){const e=this.detailNode;e&&(e.data=this.data)}createDataChangedEvent(e,t,o){return{type:"dataChanged",node:this,oldData:t,newData:e,update:o}}getRowIndexString(){return this.rowIndex==null?(_error(13),null):this.rowPinned==="top"?ROW_ID_PREFIX_TOP_PINNED+this.rowIndex:this.rowPinned==="bottom"?ROW_ID_PREFIX_BOTTOM_PINNED+this.rowIndex:this.rowIndex.toString()}setDataAndId(e,t){const{selectionSvc:o}=this.beans,i=o?.createDaemonNode?.(this),s=this.data;this.data=e,this.updateDataOnDetailNode(),this.setId(t),o&&(o.updateRowSelectable(this),o.syncInRowNode(this,i));const n=this.createDataChangedEvent(e,s,!1);this.__localEventService?.dispatchEvent(n)}setId(e){const t=_getRowIdCallback(this.beans.gos);if(t)if(this.data){const o=this.parent?.getRoute()??[];this.id=t({data:this.data,parentKeys:o.length>0?o:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(ROW_ID_PREFIX_ROW_GROUP)&&_error(14,{groupPrefix:ROW_ID_PREFIX_ROW_GROUP})}else this.id=void 0;else this.id=e}setRowTop(e){if(this.oldRowTop=this.rowTop,this.rowTop===e)return;this.rowTop=e,this.dispatchRowEvent("topChanged");const t=e!==null;this.displayed!==t&&(this.displayed=t,this.dispatchRowEvent("displayedChanged"))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(e){this.hovered=e}isHovered(){return this.hovered}setRowHeight(e,t=!1){this.rowHeight=e,this.rowHeightEstimated=t,this.dispatchRowEvent("heightChanged")}setExpanded(e,t,o){this.beans.expansionSvc?.setExpanded(this,e,t,o)}setDataValue(e,t,o){const{colModel:i,valueSvc:s,gos:n,editSvc:r}=this.beans;if(e==null)return!1;let a=i.getColOrColDefCol(e);if(!a)return!1;const l=a.colDef.pivotValueColumn;!this.group&&!this.rowPinned&&l&&(a=l);const d=s.getValueForDisplay({column:a,node:this,from:"data"}).value;if(n.get("readOnlyEdit")){const{beans:{eventSvc:u},data:h,rowIndex:g,rowPinned:p}=this;return u.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:g,rowPinned:p,column:a,colDef:a.colDef,data:h,node:this,oldValue:d,newValue:t,value:t,source:o}),!1}if(o!=="data"&&r&&!r.committing){const u=r.setDataValue({rowNode:this,column:a},t,o);if(u!=null)return u}const c=s.setValue(this,a,t,o);return this.dispatchCellChangedEvent(a,t,d),c&&this.pinnedSibling?.dispatchCellChangedEvent(a,t,d),c}getDataValue(e,t){const o=this.beans,i=o.colModel.getColOrColDefCol(e);if(!i)return;let s;if(t==="data"||!t){if(s=o.valueSvc.getValue(i,this,"data",!1),s==null)return s}else{const n=t==="data-raw",r=n||t==="value"?"data":t;if(s=o.valueSvc.getValue(i,this,r,n),n||s==null)return s;if(typeof s=="object"&&i.aggFunc){if(typeof s.toNumber=="function")return s.toNumber();if("value"in s)return s.value}if(t!=="value")return s}if(i.colDef.allowFormula){const n=o.formula;n?.isFormula(s)&&i.isAllowFormula()&&(s=n.resolveValue(i,this))}return s}updateHasChildren(){let e=this.group&&!this.footer||!!this.childrenAfterGroup?.length;const{rowChildrenSvc:t}=this.beans;t&&(e=t.getHasChildrenValue(this)),e!==this.__hasChildren&&(this.__hasChildren=!!e,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return this.__hasChildren==null&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(e,t,o){const i={type:"cellChanged",node:this,column:e,newValue:t,oldValue:o};this.__localEventService?.dispatchEvent(i)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();const e=this.rowPinned&&this.pinnedSibling;return e?e.isSelected():this.__selected}depthFirstSearch(e){const t=this.childrenAfterGroup;if(t)for(let o=0,i=t.length;o<i;++o)t[o].depthFirstSearch(e);e(this)}getAggregatedChildren(e,t){const o=this.beans;return o.aggChildrenSvc?.getAggregatedChildren(this,o.colModel.getCol(e),t)??[]}dispatchRowEvent(e){this.__localEventService?.dispatchEvent({type:e,node:this})}setSelected(e,t=!1,o="api"){this.beans.selectionSvc?.setNodesSelected({nodes:[this],newValue:e,clearSelection:t,source:o})}isRowPinned(){return!!this.rowPinned}__addEventListener(e,t){(this.__localEventService??(this.__localEventService=new LocalEventService)).addEventListener(e,t)}__removeEventListener(e,t){this.removeLocalListener(e,t)}addEventListener(e,t){this.beans.validation?.checkRowEvents(e);const o=this.__localEventService??(this.__localEventService=new LocalEventService);this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,o);const i=this.frameworkEventListenerService?.wrap(e,t)??t;o.addEventListener(e,i)}removeEventListener(e,t){const o=this.frameworkEventListenerService?.unwrap(e,t)??t;this.removeLocalListener(e,o)}removeLocalListener(e,t){const o=this.__localEventService;o&&(o.removeEventListener(e,t),o.noRegisteredListenersExist()&&(this.__localEventService=null))}isFullWidthCell(){if(_warn(61),this.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return e?e({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;const e=[];let t=this;for(;t?.key!=null;)e.push(t.key),t=t.parent;return e.reverse()}setRowIndex(e){this.rowIndex!==e&&(this.rowIndex=e,this.dispatchRowEvent("rowIndexChanged"))}setAllChildrenCount(e){this.allChildrenCount!==e&&(this.allChildrenCount=e,this.dispatchRowEvent("allChildrenCountChanged"))}setUiLevel(e){this.uiLevel!==e&&(this.uiLevel=e,this.dispatchRowEvent("uiLevelChanged"))}getFirstChild(){const e=this.childStore;return e?e.getFirstNode():this.childrenAfterSort?.[0]??null}_destroy(e){if(this.destroyed)return!1;this.destroyed=!0;const t=this.pinnedSibling;if(t?.rowPinned&&!this.rowPinned&&this.beans.pinnedRowModel?.pinRow(t,null),e===!0?this.clearRowTopAndRowIndex():e===!1?(this.setRowTop(null),this.setRowIndex(null)):(this.oldRowTop=null,this.rowTop=null,this.rowIndex=null,this.displayed=!1),!this.footer){const o=this.detailNode;o&&o._destroy(e);const i=this.sibling;i&&i._destroy(e)}return!0}};function _createGlobalRowEvent(e,t,o){return _addGridCommonParams(t,{type:o,node:e,data:e.data,rowIndex:e.rowIndex,rowPinned:e.rowPinned})}var IGNORED_SIBLING_PROPERTIES=new Set(["__autoHeights","__checkAutoHeightsDebounced","__localEventService","__objectId","_groupData","_leafs","childStore","groupValue","oldRowTop","sticky","treeNodeFlags","treeParent"]),_createRowNodeSibling=(e,t)=>{const o=new RowNode(t);for(const i of Object.keys(e))IGNORED_SIBLING_PROPERTIES.has(i)||(o[i]=e[i]);return o.oldRowTop=null,o},_prevOrNextDisplayedRow=(e,t,o)=>{if(!o)return;let i=o.rowIndex;if(i==null)return;i+=t;const s=e.getRowCount();for(;i>=0&&i<s;){const n=e.getRow(i);if(!n||!n.footer&&!n.detail)return n;i+=t}},PinnedRows=class{constructor(e,t){this.beans=e,this.floating=t,this.all=new Set,this.visible=new Set,this.order=[],this.queued=new Set}size(){return this.visible.size}add(e){const{all:t,visible:o,order:i}=this;t.has(e)||(t.add(e),o.add(e),i.push(e),this.sort())}delete(e){this.all.delete(e),this.visible.delete(e),this.queued.delete(e.id),_removeFromArray(this.order,e)}has(e){return this.visible.has(e)}forEach(e){this.order.forEach(e)}getByIndex(e){return this.order[e]}getById(e){for(const t of this.visible)if(t.id==e)return t}clear(){const{all:e,visible:t,order:o,queued:i}=this;e.clear(),i.clear(),t.clear(),o.length=0}sort(){const{sortSvc:e,rowNodeSorter:t,gos:o}=this.beans,i=e?.getSortOptions()??[],s=this.order,n=_removeGrandTotalRow(s);if(s.sort((a,l)=>t?.compareRowNodes(i,a,l)||(a.pinnedSibling?.rowIndex??0)-(l.pinnedSibling?.rowIndex??0)),!n)return;const r=_getGrandTotalRow(o);r==="bottom"||r==="pinnedBottom"?this.order.push(n):this.order.unshift(n)}hide(e){const{all:t,visible:o}=this,i=o.size;return t.forEach(s=>e(s)?o.delete(s):o.add(s)),this.order=Array.from(o),this.sort(),i!=o.size}queue(e){this.queued.add(e)}unqueue(e){this.queued.delete(e)}forEachQueued(e){this.queued.forEach(e)}};function _isDisplayedAfterFilterCSRM(e){if(e.level===-1)return!0;const t=e.parent;return t?.childrenAfterSort?.some(o=>o==e)?_isDisplayedAfterFilterCSRM(t):!1}function _shouldHidePinnedRows(e,t){const{gos:o,rowModel:i,filterManager:s}=e;return _isServerSideRowModel(o,i)?!i.getRowNode(t.id):s?.isAnyFilterPresent()?!_isDisplayedAfterFilterCSRM(t):o.get("pivotMode")?!t.group:!1}function _isNodeGrandTotal(e){return!!e.footer&&e.level===-1}function _isPinnedNodeGrandTotal(e){return!!e.pinnedSibling&&_isNodeGrandTotal(e.pinnedSibling)}function _removeGrandTotalRow(e){const t=e.findIndex(_isPinnedNodeGrandTotal);if(t>-1)return e.splice(t,1)?.[0]}var ManualPinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.csrm=null,this.ssrm=!1}postConstruct(){const{gos:e,beans:t}=this;this.top=new PinnedRows(t,"top"),this.bottom=new PinnedRows(t,"bottom"),this.csrm=_getClientSideRowModel(t)??null,this.ssrm=t.rowModel.getType()==="serverSide";const o=s=>_shouldHidePinnedRows(t,s.pinnedSibling),i=()=>{const s=e.get("isRowPinned");s&&e.get("enableRowPinning")&&t.rowModel.forEachNode(n=>this.pinRow(n,s(n)),!0),this.refreshRowPositions(),this.dispatchRowPinnedEvents()};this.addManagedEventListeners({stylesChanged:this.onGridStylesChanges.bind(this),modelUpdated:({keepRenderedRows:s})=>{this.tryToEmptyQueues(),this.pinGrandTotalRow();let n=!1;this.forContainers(a=>{n||(n=a.hide(o))});const r=this.refreshRowPositions();(!s||r||n)&&this.dispatchRowPinnedEvents()},columnRowGroupChanged:()=>{this.forContainers(removeGroupRows),this.refreshRowPositions()},rowNodeDataChanged:({node:s})=>{(e.get("isRowPinnable")?.(s)??!0)||this.pinRow(s,null)},firstDataRendered:i}),this.addManagedPropertyListener("pivotMode",()=>{this.forContainers(s=>s.hide(o)),this.dispatchRowPinnedEvents()}),this.addManagedPropertyListener("grandTotalRow",({currentValue:s})=>{this._grandTotalPinned=_getGrandTotalPinnedFloat(s)}),this.addManagedPropertyListener("isRowPinned",i)}destroy(){this.reset(!1),super.destroy()}reset(e=!0){this.forContainers(t=>{const o=[];t.forEach(i=>o.push(i)),o.forEach(i=>this.pinRow(i,null)),t.clear()}),e&&this.dispatchRowPinnedEvents()}pinRow(e,t,o){if(t!=null&&e.destroyed)return;if(e.footer){const r=e.level;if(r>-1)return;if(r===-1){this._grandTotalPinned=t;const a=this.csrm;a?a.reMapRows():this.ssrm&&this.pinGrandTotalRow();return}}const i=e.rowPinned??e.pinnedSibling?.rowPinned;if(i!=null&&t!=null&&t!=i){const r=e.rowPinned?e:e.pinnedSibling,a=e.rowPinned?e.pinnedSibling:e;this.pinRow(r,null,o),this.pinRow(a,t,o);return}const n=o&&getSpannedRows(this.beans,e,o);if(n){n.forEach(r=>this.pinRow(r,t));return}if(t==null){const r=e.rowPinned?e:e.pinnedSibling,a=this.findPinnedRowNode(r);if(!a)return;a.delete(r);const l=r.pinnedSibling;_destroyRowNodeSibling(r),this.refreshRowPositions(t),this.dispatchRowPinnedEvents(l)}else{const r=_createPinnedSibling(this.beans,e,t),a=this.getContainer(t);a.add(r),_shouldHidePinnedRows(this.beans,e)&&a.hide(l=>_shouldHidePinnedRows(this.beans,l.pinnedSibling)),this.refreshRowPositions(t),this.dispatchRowPinnedEvents(e)}}isManual(){return!0}isEmpty(e){return this.getContainer(e).size()===0}isRowsToRender(e){return!this.isEmpty(e)}ensureRowHeightsValid(){let e=!1,t=0;const o=i=>{if(i.rowHeightEstimated){const s=_getRowHeightForNode(this.beans,i);i.setRowTop(t),i.setRowHeight(s.height),t+=s.height,e=!0}};return this.bottom.forEach(o),t=0,this.top.forEach(o),this.eventSvc.dispatchEvent({type:"pinnedHeightChanged"}),e}getPinnedTopTotalHeight(){return getTotalHeight(this.top)}getPinnedBottomTotalHeight(){return getTotalHeight(this.bottom)}getPinnedTopRowCount(){return this.top.size()}getPinnedBottomRowCount(){return this.bottom.size()}getPinnedTopRow(e){return this.top.getByIndex(e)}getPinnedBottomRow(e){return this.bottom.getByIndex(e)}getPinnedRowById(e,t){return this.getContainer(t).getById(e)}forEachPinnedRow(e,t){this.getContainer(e).forEach(t)}getPinnedState(){const e=t=>{const o=[];return this.forEachPinnedRow(t,i=>{const s=i.pinnedSibling?.id;s!=null&&o.push(s)}),o};return{top:e("top"),bottom:e("bottom")}}setPinnedState(e){this.forContainers((t,o)=>{for(const i of e[o]){const s=this.beans.rowModel.getRowNode(i);s?this.pinRow(s,o):t.queue(i)}})}getGrandTotalPinned(){return this._grandTotalPinned}setGrandTotalPinned(e){this._grandTotalPinned=e}tryToEmptyQueues(){this.forContainers((e,t)=>{const o=new Set;e.forEachQueued(i=>{const s=this.beans.rowModel.getRowNode(i);s&&o.add(s)});for(const i of o)e.unqueue(i.id),this.pinRow(i,t)})}pinGrandTotalRow(){const{beans:e,_grandTotalPinned:t}=this,o=this.csrm||this.ssrm?e.rowModel.rootNode?.sibling:void 0;if(!o)return;const i=o.pinnedSibling,s=i&&this.findPinnedRowNode(i);if(t){if(s&&s.floating!==t&&(_destroyRowNodeSibling(i),s.delete(i)),s?.floating!==t){const n=_createPinnedSibling(e,o,t);this.getContainer(t).add(n)}}else{if(!s)return;_destroyRowNodeSibling(i),s.delete(i)}}onGridStylesChanges(e){e.rowHeightChanged&&this.forContainers(t=>t.forEach(o=>o.setRowHeight(o.rowHeight,!0)))}getContainer(e){return e==="top"?this.top:this.bottom}findPinnedRowNode(e){if(this.top.has(e))return this.top;if(this.bottom.has(e))return this.bottom}refreshRowPositions(e){const t=i=>refreshRowPositions(this.beans,i);if(e)return t(this.getContainer(e));let o=!1;return this.forContainers(i=>{const s=t(i);o||(o=s)}),o}forContainers(e){e(this.top,"top"),e(this.bottom,"bottom")}dispatchRowPinnedEvents(e){this.eventSvc.dispatchEvent({type:"pinnedRowsChanged"}),e?.dispatchRowEvent("rowPinned")}};function refreshRowPositions(e,t){let o=0,i=!1;return t.forEach((s,n)=>{if(i||(i=s.rowTop!==o),s.setRowTop(o),s.rowHeightEstimated||s.rowHeight==null){const r=_getRowHeightForNode(e,s).height;i||(i=s.rowHeight!==r),s.setRowHeight(r)}s.setRowIndex(n),o+=s.rowHeight}),i}function _createPinnedSibling(e,t,o){if(t.pinnedSibling)return t.pinnedSibling;const i=_createRowNodeSibling(t,e);i.setRowTop(null),i.setRowIndex(null),i.rowPinned=o;const s=o==="top"?ROW_ID_PREFIX_TOP_PINNED:ROW_ID_PREFIX_BOTTOM_PINNED;return i.id=`${s}${o}-${t.id}`,i.pinnedSibling=t,t.pinnedSibling=i,i}function _destroyRowNodeSibling(e){if(!e.pinnedSibling)return;e.rowPinned=null,e._destroy(!1);const t=e.pinnedSibling;e.pinnedSibling=void 0,t&&(t.pinnedSibling=void 0,t.rowPinned=null)}function removeGroupRows(e){const t=new Set;e.forEach(o=>{o.group&&t.add(o)}),t.forEach(o=>e.delete(o))}function getSpannedRows(e,t,o){const{rowSpanSvc:i}=e,s=(o&&i?.isCellSpanning(o,t))??!1;if(o&&s)return i?.getCellSpan(o,t)?.spannedNodes}function getTotalHeight(e){const t=e.size();if(t===0)return 0;const o=e.getByIndex(t-1);return o===void 0?0:o.rowTop+o.rowHeight}var StaticPinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.nextId=0,this.pinnedTopRows={cache:{},order:[]},this.pinnedBottomRows={cache:{},order:[]}}postConstruct(){const e=this.gos;this.setPinnedRowData(e.get("pinnedTopRowData"),"top"),this.setPinnedRowData(e.get("pinnedBottomRowData"),"bottom"),this.addManagedPropertyListener("pinnedTopRowData",t=>this.setPinnedRowData(t.currentValue,"top")),this.addManagedPropertyListener("pinnedBottomRowData",t=>this.setPinnedRowData(t.currentValue,"bottom")),this.addManagedEventListeners({stylesChanged:this.onGridStylesChanges.bind(this)})}reset(){}isEmpty(e){return this.getCache(e).order.length===0}isRowsToRender(e){return!this.isEmpty(e)}isManual(){return!1}pinRow(e,t){}onGridStylesChanges(e){if(e.rowHeightChanged){const t=o=>{o.setRowHeight(o.rowHeight,!0)};forEach(this.pinnedBottomRows,t),forEach(this.pinnedTopRows,t)}}ensureRowHeightsValid(){let e=!1,t=0;const o=i=>{i.rowHeightEstimated&&(i.setRowHeight(_getRowHeightForNode(this.beans,i).height),e=!0),i.rowTop!==t&&(i.setRowTop(t),e=!0),t+=i.rowHeight};return forEach(this.pinnedBottomRows,o),t=0,forEach(this.pinnedTopRows,o),this.eventSvc.dispatchEvent({type:"pinnedHeightChanged"}),e}setPinnedRowData(e,t){this.updateNodesFromRowData(e,t),this.eventSvc.dispatchEvent({type:"pinnedRowDataChanged"})}updateNodesFromRowData(e,t){const o=this.getCache(t);if(e===void 0){o.order.length=0,o.cache={};return}const i=_getRowIdCallback(this.gos),s=t==="top"?ROW_ID_PREFIX_TOP_PINNED:ROW_ID_PREFIX_BOTTOM_PINNED,n=new Set(o.order),r=[],a=new Set;let l=0,d=-1;for(const c of e){const u=i?.({data:c,level:0,rowPinned:t})??s+this.nextId++;if(a.has(u)){_warn(96,{id:u,data:c});continue}d++,a.add(u),r.push(u);const h=getById(o,u);if(h!==void 0)h.data!==c&&h.updateData(c),l+=this.setRowTopAndRowIndex(h,l,d),n.delete(u);else{const g=new RowNode(this.beans);g.id=u,g.data=c,g.rowPinned=t,l+=this.setRowTopAndRowIndex(g,l,d),o.cache[u]=g,o.order.push(u)}}for(const c of n)getById(o,c)?.clearRowTopAndRowIndex(),delete o.cache[c];o.order=r}setRowTopAndRowIndex(e,t,o){return e.setRowTop(t),e.setRowHeight(_getRowHeightForNode(this.beans,e).height),e.setRowIndex(o),e.rowHeight}getPinnedTopTotalHeight(){return getTotalHeight2(this.pinnedTopRows)}getPinnedBottomTotalHeight(){return getTotalHeight2(this.pinnedBottomRows)}getPinnedTopRowCount(){return getSize(this.pinnedTopRows)}getPinnedBottomRowCount(){return getSize(this.pinnedBottomRows)}getPinnedTopRow(e){return getByIndex(this.pinnedTopRows,e)}getPinnedBottomRow(e){return getByIndex(this.pinnedBottomRows,e)}getPinnedRowById(e,t){return getById(this.getCache(t),e)}forEachPinnedRow(e,t){return forEach(this.getCache(e),t)}getCache(e){return e==="top"?this.pinnedTopRows:this.pinnedBottomRows}getPinnedState(){return{top:[],bottom:[]}}setPinnedState(){}getGrandTotalPinned(){}setGrandTotalPinned(){}};function getTotalHeight2(e){const t=getSize(e);if(t===0)return 0;const o=getByIndex(e,t-1);return o===void 0?0:o.rowTop+o.rowHeight}function getById(e,t){return e.cache[t]}function getByIndex(e,t){return getById(e,e.order[t])}function forEach(e,t){e.order.forEach((o,i)=>{const s=getById(e,o);s&&t(s,i)})}function getSize(e){return e.order.length}var PinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.beanName="pinnedRowModel"}postConstruct(){const{gos:e}=this,t=()=>{const o=e.get("enableRowPinning"),i=_getGrandTotalRow(e),n=!!o||(i==="pinnedBottom"||i==="pinnedTop"),r=n?this.inner instanceof StaticPinnedRowModel:this.inner instanceof ManualPinnedRowModel;this.inner&&r&&this.destroyBean(this.inner),(r||!this.inner)&&(this.inner=this.createManagedBean(n?new ManualPinnedRowModel:new StaticPinnedRowModel))};this.addManagedPropertyListeners(["enableRowPinning","grandTotalRow"],t),t()}reset(){return this.inner.reset()}isEmpty(e){return this.inner.isEmpty(e)}isManual(){return this.inner.isManual()}isRowsToRender(e){return this.inner.isRowsToRender(e)}pinRow(e,t,o){return this.inner.pinRow(e,t,o)}ensureRowHeightsValid(){return this.inner.ensureRowHeightsValid()}getPinnedRowById(e,t){return this.inner.getPinnedRowById(e,t)}getPinnedTopTotalHeight(){return this.inner.getPinnedTopTotalHeight()}getPinnedBottomTotalHeight(){return this.inner.getPinnedBottomTotalHeight()}getPinnedTopRowCount(){return this.inner.getPinnedTopRowCount()}getPinnedBottomRowCount(){return this.inner.getPinnedBottomRowCount()}getPinnedTopRow(e){return this.inner.getPinnedTopRow(e)}getPinnedBottomRow(e){return this.inner.getPinnedBottomRow(e)}forEachPinnedRow(e,t){return this.inner.forEachPinnedRow(e,t)}getPinnedState(){return this.inner.getPinnedState()}setPinnedState(e){return this.inner.setPinnedState(e)}setGrandTotalPinned(e){return this.inner.setGrandTotalPinned(e)}getGrandTotalPinned(){return this.inner.getGrandTotalPinned()}},ServerSideTransactionResultStatus=(e=>(e.Applied="Applied",e.StoreNotFound="StoreNotFound",e.StoreLoading="StoreLoading",e.StoreWaitingToLoad="StoreWaitingToLoad",e.StoreLoadingFailed="StoreLoadingFailed",e.StoreWrongType="StoreWrongType",e.Cancelled="Cancelled",e.StoreNotStarted="StoreNotStarted",e))(ServerSideTransactionResultStatus||{}),DOUBLE_TAP_MILLISECONDS=500,LONG_PRESS_MILLISECONDS=550,handledTouchEvents,addHandledTouchEvent=e=>{if(!handledTouchEvents)handledTouchEvents=new WeakSet;else if(handledTouchEvents.has(e))return!1;return handledTouchEvents.add(e),!0},TouchListener=class{constructor(e,t=!1){this.eElement=e,this.preventClick=t,this.startListener=null,this.handlers=[],this.eventSvc=void 0,this.touchStart=null,this.lastTapTime=null,this.longPressTimer=0,this.moved=!1}addEventListener(e,t){let o=this.eventSvc;if(!o){if(o===null)return;this.eventSvc=o=new LocalEventService;const i=this.onTouchStart.bind(this);this.startListener=i,this.eElement.addEventListener("touchstart",i,{passive:!0})}o.addEventListener(e,t)}removeEventListener(e,t){this.eventSvc?.removeEventListener(e,t)}onTouchStart(e){if(this.touchStart||!addHandledTouchEvent(e))return;const t=e.touches[0];this.touchStart=t;const o=this.handlers;if(!o.length){const i=this.eElement,s=i.ownerDocument,n=this.onTouchMove.bind(this),r=this.onTouchEnd.bind(this),a=this.onTouchCancel.bind(this),l={passive:!0},d={passive:!1};addTempEventHandlers(o,[i,"touchmove",n,l],[s,"touchcancel",a,l],[s,"touchend",r,d],[s,"contextmenu",preventEventDefault,d])}this.clearLongPress(),this.longPressTimer=window.setTimeout(()=>{this.longPressTimer=0,this.touchStart===t&&!this.moved&&(this.moved=!0,this.eventSvc?.dispatchEvent({type:"longTap",touchStart:t,touchEvent:e}))},LONG_PRESS_MILLISECONDS)}onTouchMove(e){const{moved:t,touchStart:o}=this;if(!t&&o){const i=_getFirstActiveTouch(o,e.touches);i&&!_areEventsNear(i,o,4)&&(this.clearLongPress(),this.moved=!0)}}onTouchEnd(e){const t=this.touchStart;!t||!_getFirstActiveTouch(t,e.changedTouches)||(this.moved||(this.eventSvc?.dispatchEvent({type:"tap",touchStart:t}),this.checkDoubleTap(t)),this.preventClick&&preventEventDefault(e),this.cancel())}onTouchCancel(e){const t=this.touchStart;!t||!_getFirstActiveTouch(t,e.changedTouches)||(this.lastTapTime=null,this.cancel())}checkDoubleTap(e){let t=Date.now();const o=this.lastTapTime;o&&t-o>DOUBLE_TAP_MILLISECONDS&&(this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:e}),t=null),this.lastTapTime=t}cancel(){this.clearLongPress(),clearTempEventHandlers(this.handlers),this.touchStart=null}clearLongPress(){this.longPressTimer!==0&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=0),this.moved=!1}destroy(){const e=this.startListener;e&&(this.startListener=null,this.eElement.removeEventListener("touchstart",e)),this.cancel(),this.eElement=null,this.eventSvc=null}},CellRangeType=(e=>(e[e.VALUE=0]="VALUE",e[e.DIMENSION=1]="DIMENSION",e))(CellRangeType||{}),contextId=1,AgContext=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=contextId++,e?.beanClasses&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){this.id=e.id,this.beans.context=this,this.destroyCallback=e.destroyCallback;for(const t of Object.keys(e.providedBeanInstances))this.beans[t]=e.providedBeanInstances[t];for(const t of e.beanClasses){const o=new t;o.beanName?this.beans[o.beanName]=o:console.error(`Bean ${t.name} is missing beanName`),this.createdBeans.push(o)}for(const t of e.derivedBeans??[]){const{beanName:o,bean:i}=t(this);this.beans[o]=i,this.createdBeans.push(i)}e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){return this.initBeans([e],t),e}initBeans(e,t){const o=this.beans;for(const i of e)i.preWireBeans?.(o),i.wireBeans?.(o);for(const i of e)i.preConstruct?.();t&&e.forEach(t);for(const i of e)i.postConstruct?.()}getBeans(){return this.beans}getBean(e){return this.beans[e]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}};function createGridApi(e){return{beanName:"gridApi",bean:e.getBean("apiFunctionSvc").api}}var orderedCoreBeans=["licenseManager","environment","eventSvc","gos","paginationAutoPageSizeSvc","apiFunctionSvc","gridApi","registry","agCompUtils","userCompFactory","rowContainerHeight","horizontalResizeSvc","localeSvc","pinnedRowModel","dragSvc","colGroupSvc","visibleCols","popupSvc","selectionSvc","colFilter","quickFilter","filterManager","colModel","headerNavigation","pageBounds","pagination","pageBoundsListener","rowSpanSvc","stickyRowSvc","rowRenderer","expressionSvc","alignedGridsSvc","navigation","valueCache","valueSvc","autoWidthCalc","filterMenuFactory","dragAndDrop","focusSvc","cellNavigation","cellStyles","scrollVisibleSvc","sortSvc","colHover","colAnimation","autoColSvc","selectionColSvc","changeDetectionSvc","animationFrameSvc","undoRedo","colDefFactory","rowStyleSvc","rowNodeBlockLoader","rowNodeSorter","ctrlsSvc","pinnedCols","dataTypeSvc","syncSvc","overlays","stateSvc","expansionSvc","apiEventSvc","ariaAnnounce","menuSvc","colMoves","colAutosize","colFlex","colResize","pivotColsSvc","valueColsSvc","rowGroupColsSvc","colNames","colViewport","pivotResultCols","showRowGroupCols","validation"],beanNamePosition=Object.fromEntries(orderedCoreBeans.map((e,t)=>[e,t]));function gridBeanInitComparator(e,t){const o=(e.beanName?beanNamePosition[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER,i=(t.beanName?beanNamePosition[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return o-i}function gridBeanDestroyComparator(e,t){return e?.beanName==="gridDestroySvc"?-1:t?.beanName==="gridDestroySvc"?1:0}function _createCellId(e){const{rowIndex:t,rowPinned:o,column:i}=e;return`${t}.${o??"null"}.${i.getId()}`}function _areCellsEqual(e,t){const o=e.column===t.column,i=e.rowPinned===t.rowPinned,s=e.rowIndex===t.rowIndex;return o&&i&&s}function _isRowBefore(e,t){switch(e.rowPinned){case"top":if(t.rowPinned!=="top")return!0;break;case"bottom":if(t.rowPinned!=="bottom")return!1;break;default:if(_exists(t.rowPinned))return t.rowPinned!=="top";break}return e.rowIndex<t.rowIndex}function _isSameRow(e,t){return!e&&!t?!0:!e||!t?!1:e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned}function _getFirstRow(e){let t=0,o;const{pinnedRowModel:i,rowModel:s,pageBounds:n}=e;return i?.getPinnedTopRowCount()?o="top":s.getRowCount()?(o=null,t=n.getFirstRow()):i?.getPinnedBottomRowCount()&&(o="bottom"),o===void 0?null:{rowIndex:t,rowPinned:o}}function _getLastRow(e){let t,o=null;const{pinnedRowModel:i,pageBounds:s}=e,n=i?.getPinnedBottomRowCount(),r=i?.getPinnedTopRowCount();return n?(o="bottom",t=n-1):e.rowModel.getRowCount()?t=s.getLastRow():r&&(o="top",t=r-1),t===void 0?null:{rowIndex:t,rowPinned:o}}function _getRowNode(e,t){switch(t.rowPinned){case"top":return e.pinnedRowModel?.getPinnedTopRow(t.rowIndex);case"bottom":return e.pinnedRowModel?.getPinnedBottomRow(t.rowIndex);default:return e.rowModel.getRow(t.rowIndex)}}function _getCellByPosition(e,t){const o=e.spannedRowRenderer?.getCellByPosition(t);if(o)return o;const i=e.rowRenderer.getRowByPosition(t);return i?i.getCellCtrl(t.column):null}function _getRowById(e,t,o){const{rowModel:i,pinnedRowModel:s}=e;let n;return n??(n=i?.getRowNode(t)),o?n??(n=s?.getPinnedRowById(t,o)):(n??(n=s?.getPinnedRowById(t,"top")),n??(n=s?.getPinnedRowById(t,"bottom"))),n}function _getRowAbove(e,t,o=!1){const{rowIndex:i,rowPinned:s}=t,{pageBounds:n,pinnedRowModel:r,rowModel:a}=e;if(i===0)return s==="top"?null:s==="bottom"&&a.isRowsToRender()?{rowIndex:n.getLastRow(),rowPinned:null}:r?.isRowsToRender("top")?{rowIndex:r.getPinnedTopRowCount()-1,rowPinned:"top"}:null;if(o){const l=s?void 0:a.getRow(i);return getNextStickyPosition(e,l,!0)??{rowIndex:i-1,rowPinned:s}}return{rowIndex:i-1,rowPinned:s}}function _getAbsoluteRowIndex(e,t){const{pinnedRowModel:o,rowModel:i}=e,s=o?.getPinnedTopRowCount()??0,n=i.getRowCount(),{rowPinned:r,rowIndex:a}=t;return r==="top"?a:r==="bottom"?s+n+a:s+a}function _getRowBelow(e,t,o=!1){const{rowIndex:i,rowPinned:s}=t,{pageBounds:n,pinnedRowModel:r,rowModel:a}=e;if(isLastRowInContainer(e,t))return s==="bottom"?null:s==="top"&&a.isRowsToRender()?{rowIndex:n.getFirstRow(),rowPinned:null}:r?.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;if(o){const l=s?void 0:a.getRow(i);return getNextStickyPosition(e,l)??{rowIndex:i+1,rowPinned:s}}return{rowIndex:i+1,rowPinned:s}}function getNextStickyPosition(e,t,o=!1){const{gos:i,rowRenderer:s}=e;if(!t?.sticky||!_isGroupRowsSticky(i))return;const n=s.getStickyTopRowCtrls(),r=s.getStickyBottomRowCtrls(),a=!r.some(u=>u.rowNode.rowIndex===t.rowIndex),l=a?n:r,d=(o?-1:1)*(a?-1:1);let c;for(let u=0;u<l.length;u++)if(l[u].rowNode.rowIndex===t.rowIndex){c=l[u+d];break}return c?{rowIndex:c.rowNode.rowIndex,rowPinned:null}:void 0}function isLastRowInContainer(e,t){const{rowPinned:o,rowIndex:i}=t,{pinnedRowModel:s,pageBounds:n}=e;return o==="top"?(s?.getPinnedTopRowCount()??0)-1<=i:o==="bottom"?(s?.getPinnedBottomRowCount()??0)-1<=i:n.getLastRow()<=i}function _addFocusableContainerListener(e,t,o){t.addManagedElementListeners(o,{keydown:i=>{if(!i.defaultPrevented&&!_shouldSkipFocusableContainerListener(i)&&i.key===KeyCode.TAB){const s=i.shiftKey;_findNextFocusableElement(e,o,!1,s)||_focusNextGridCoreContainer(e,s)&&i.preventDefault()}}})}function _focusGridInnerElement(e,t){return e.ctrlsSvc.get("gridCtrl").focusInnerElement(t)}function _isHeaderFocusSuppressed(e){return e.gos.get("suppressHeaderFocus")||!!e.overlays?.exclusive}function _isCellFocusSuppressed(e){return e.gos.get("suppressCellFocus")||!!e.overlays?.exclusive}function _focusNextGridCoreContainer(e,t,o=!1){const i=e.ctrlsSvc.get("gridCtrl"),s=i.focusNextInnerContainer(t);return s===!0?!0:s===!1?s:((o||!t&&!i.isDetailGrid()&&i.isFocusInsideGridBody())&&i.forceFocusOutOfContainer(t),!1)}function _attemptToRestoreCellFocus(e,t){const o=e.focusSvc,i=o.getFocusedCell();if(i&&t&&_areCellsEqual(i,t)){const{rowIndex:s,rowPinned:n,column:r}=t;_isNothingFocused(e)&&o.setFocusedCell({rowIndex:s,column:r,rowPinned:n,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!_isKeyboardMode()})}}function _getDefaultTabTargetForContainer(e,t){const o=e.getFocusableContainerName();return o==="gridBody"?t():_runWithContainerFocusAllowed(e,()=>_findFocusableElements(e.getGui(),".ag-tab-guard").length>0)?o:null}function _runWithContainerFocusAllowed(e,t){e.setAllowFocus?.(!0);try{return t()}finally{e.setAllowFocus?.(!1)}}var AG_GRID_SKIP_FOCUSABLE_CONTAINER="__ag_Grid_Skip_Focusable_Container";function _skipFocusableContainerListenerForAgGrid(e){e[AG_GRID_SKIP_FOCUSABLE_CONTAINER]=!0}function _shouldSkipFocusableContainerListener(e){return e[AG_GRID_SKIP_FOCUSABLE_CONTAINER]===!0}function getHeaderRowCount(e){return e.cols?e.cols.treeDepth+1:-1}function getFocusHeaderRowCount(e){return e.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function getGroupRowsHeight(e){const t=[],o=e.ctrlsSvc.getHeaderRowContainerCtrls();for(const i of o){if(!i)continue;const s=i.getGroupRowCount()||0;for(let n=0;n<s;n++){const r=i.getGroupRowCtrlAtIndex(n),a=t[n];if(r){const l=getColumnGroupHeaderRowHeight(e,r);(a==null||l>a)&&(t[n]=l)}}}return t}function getColumnGroupHeaderRowHeight(e,t){let i=e.colModel.pivotMode?getPivotGroupHeaderHeight(e):getGroupHeaderHeight(e);const s=t.getHeaderCellCtrls();for(const n of s){const{column:r}=n,a=r.getAutoHeaderHeight();a!=null&&a>i&&r.isAutoHeaderHeight()&&(i=a)}return i}function getColumnHeaderRowHeight(e){let o=e.colModel.pivotMode?getPivotHeaderHeight(e):getHeaderHeight(e);return e.colModel.forAllCols(i=>{const s=i.getAutoHeaderHeight();s!=null&&s>o&&i.isAutoHeaderHeight()&&(o=s)}),o}function getHeaderHeight(e){return e.gos.get("headerHeight")??e.environment.getDefaultHeaderHeight()}function getFloatingFiltersHeight(e){return e.gos.get("floatingFiltersHeight")??getHeaderHeight(e)}function getGroupHeaderHeight(e){return e.gos.get("groupHeaderHeight")??getHeaderHeight(e)}function getPivotHeaderHeight(e){return e.gos.get("pivotHeaderHeight")??getHeaderHeight(e)}function getPivotGroupHeaderHeight(e){return e.gos.get("pivotGroupHeaderHeight")??getGroupHeaderHeight(e)}function isHeaderPositionEqual(e,t){return e.headerRowIndex===t.headerRowIndex&&e.column===t.column}function isHeaderPosition(e){return e?.headerRowIndex!=null}var GridHeaderCtrl=class extends BeanStub{setComp(e,t,o){this.comp=e,this.eGui=t;const{beans:i}=this,{headerNavigation:s,touchSvc:n,ctrlsSvc:r}=i;s&&this.createManagedBean(new ManagedFocusFeature(o,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,i),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,i)}),this.onPivotModeChanged(i),this.setupHeaderHeight();const a=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:a}),n?.mockHeaderContextMenu(this,a),r.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({headerRowsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>_requestAnimationFrame(this.beans,()=>e()),stylesChanged:e,advancedFilterEnabledChanged:e})}setHeaderHeight(){const{beans:e}=this;let t=0;const o=getGroupRowsHeight(e).reduce((r,a)=>r+a,0),i=getColumnHeaderRowHeight(e);e.filterManager?.hasFloatingFilters()&&(t+=getFloatingFiltersHeight(e)),t+=o,t+=i;const s=e.environment.getHeaderRowBorderWidth(),n=t+s;if(this.headerHeightWithBorder!==n){this.headerHeightWithBorder=n;const r=`${n}px`;this.comp.setHeightAndMinHeight(r)}this.headerHeight!==t&&(this.headerHeight=t,this.eventSvc.dispatchEvent({type:"headerHeightChanged"}))}onPivotModeChanged(e){const t=e.colModel.pivotMode;this.comp.toggleCss("ag-pivot-on",t),this.comp.toggleCss("ag-pivot-off",!t)}onDisplayedColumnsChanged(e){const o=e.visibleCols.allCols.some(i=>i.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",o)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),o=e.shiftKey,i=o!==t?"LEFT":"RIGHT",{beans:s}=this,{headerNavigation:n,focusSvc:r}=s;(n.navigateHorizontally(i,!0,e)||!o&&r.focusOverlay(!1)||_focusNextGridCoreContainer(s,o,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;const{headerNavigation:o}=this.beans;switch(e.key){case KeyCode.LEFT:t="LEFT";case KeyCode.RIGHT:{_exists(t)||(t="RIGHT"),o.navigateHorizontally(t,!1,e)&&e.preventDefault();break}case KeyCode.UP:t="UP";case KeyCode.DOWN:{_exists(t)||(t="DOWN"),o.navigateVertically(t,e)&&e.preventDefault();break}default:return}}onFocusOut(e){const{relatedTarget:t}=e,{eGui:o,beans:i}=this;!t&&o.contains(_getActiveDomElement(i))||o.contains(t)||(i.focusSvc.focusedHeader=null)}onHeaderContextMenu(e,t,o){const{menuSvc:i,ctrlsSvc:s}=this.beans;if(!e&&!o||!i?.isHeaderContextMenuEnabled())return;const{target:n}=e??t;(n===this.eGui||n===s.getHeaderRowContainerCtrl()?.eViewport)&&i.showHeaderContextMenu(void 0,e,o)}},AbstractHeaderCellComp=class extends Component{constructor(e,t){super(e),this.ctrl=t}getCtrl(){return this.ctrl}},HeaderCellElement={tag:"div",cls:"ag-header-cell",role:"columnheader",children:[{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"},{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"}]},HeaderCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderCellElement,e),this.eResize=RefPlaceholder,this.eHeaderCompWrapper=RefPlaceholder,this.headerCompVersion=0}postConstruct(){const e=this.getGui(),t=()=>{const i=this.ctrl.getSelectAllGui();i&&(this.eResize.insertAdjacentElement("afterend",i),this.addDestroyFunc(()=>i.remove()))},o={setWidth:i=>e.style.width=i,toggleCss:(i,s)=>this.toggleCss(i,s),setUserStyles:i=>_addStylesToElement(e,i),setAriaSort:i=>i?_setAriaSort(e,i):_removeAriaSort(e),setUserCompDetails:i=>this.setUserCompDetails(i),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:t,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp(o,this.getGui(),this.eResize,this.eHeaderCompWrapper,void 0),t()}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){this.headerComp&&(this.headerCompGui?.remove(),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0)}setUserCompDetails(e){this.headerCompVersion++;const t=this.headerCompVersion;e.newAgStackInstance().then(o=>this.afterCompCreated(t,o))}afterCompCreated(e,t){if(e!=this.headerCompVersion||!this.isAlive()){this.destroyBean(t);return}this.destroyHeaderComp(),this.headerComp=t,this.headerCompGui=t.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())}},HeaderGroupCellCompElement={tag:"div",cls:"ag-header-group-cell",role:"columnheader",children:[{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"},{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"}]},HeaderGroupCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderGroupCellCompElement,e),this.eResize=RefPlaceholder,this.eHeaderCompWrapper=RefPlaceholder}postConstruct(){const e=this.getGui(),t=(i,s)=>s!=null?e.setAttribute(i,s):e.removeAttribute(i),o={toggleCss:(i,s)=>this.toggleCss(i,s),setUserStyles:i=>_addStylesToElement(e,i),setHeaderWrapperHidden:i=>{i?this.eHeaderCompWrapper.style.setProperty("display","none"):this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:i=>{i!=null?this.eHeaderCompWrapper.style.setProperty("max-height",`${i}px`):this.eHeaderCompWrapper.style.removeProperty("max-height"),this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",i!=null)},setResizableDisplayed:i=>_setDisplayed(this.eResize,i),setWidth:i=>e.style.width=i,setAriaExpanded:i=>t("aria-expanded",i),setUserCompDetails:i=>this.setUserCompDetails(i),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp(o,e,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails(e){e.newAgStackInstance().then(t=>this.afterHeaderCompCreated(t))}afterHeaderCompCreated(e){const t=()=>this.destroyBean(e);if(!this.isAlive()){t();return}const o=this.getGui(),i=e.getGui();this.eHeaderCompWrapper.appendChild(i),this.addDestroyFunc(t),this.headerGroupComp=e,this.ctrl.setDragSource(o)}},HeaderFilterCellCompElement={tag:"div",cls:"ag-header-cell ag-floating-filter",role:"gridcell",children:[{tag:"div",ref:"eFloatingFilterBody",role:"presentation"},{tag:"div",ref:"eButtonWrapper",cls:"ag-floating-filter-button ag-hidden",role:"presentation",children:[{tag:"button",ref:"eButtonShowMainFilter",cls:"ag-button ag-floating-filter-button-button",attrs:{type:"button",tabindex:"-1"}}]}]},HeaderFilterCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderFilterCellCompElement,e),this.eFloatingFilterBody=RefPlaceholder,this.eButtonWrapper=RefPlaceholder,this.eButtonShowMainFilter=RefPlaceholder}postConstruct(){const e=this.getGui(),t={toggleCss:(o,i)=>this.toggleCss(o,i),setUserStyles:o=>_addStylesToElement(e,o),addOrRemoveBodyCssClass:(o,i)=>this.eFloatingFilterBody.classList.toggle(o,i),setButtonWrapperDisplayed:o=>_setDisplayed(this.eButtonWrapper,o),setCompDetails:o=>this.setCompDetails(o),getFloatingFilterComp:()=>this.compPromise,setWidth:o=>e.style.width=o,setMenuIcon:o=>this.eButtonShowMainFilter.appendChild(o)};this.ctrl.setComp(t,e,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails(e){if(!e){this.destroyFloatingFilterComp(),this.compPromise=null;return}this.compPromise=e.newAgStackInstance(),this.compPromise.then(t=>this.afterCompCreated(t))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp?.getGui().remove(),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp)}afterCompCreated(e){if(e){if(!this.isAlive()){this.destroyBean(e);return}this.destroyFloatingFilterComp(),this.floatingFilterComp=e,this.eFloatingFilterBody.appendChild(e.getGui()),e.afterGuiAttached?.()}}},HeaderRowComp=class extends Component{constructor(e){super({tag:"div",cls:e.headerRowClass,role:"row"}),this.ctrl=e,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),_setAriaRowIndex(this.getGui(),this.ctrl.getAriaRowIndex());const t={setHeight:o=>this.getGui().style.height=o,setTop:o=>this.getGui().style.top=o,setHeaderCtrls:(o,i)=>this.setHeaderCtrls(o,i),setWidth:o=>this.getGui().style.width=o,setRowIndex:o=>_setAriaRowIndex(this.getGui(),o)};this.ctrl.setComp(t,void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(e,t){if(!this.isAlive())return;const o=this.headerComps;this.headerComps={};for(const i of e){const s=i.instanceId;let n=o[s];delete o[s],n==null&&(n=this.createHeaderComp(i),this.getGui().appendChild(n.getGui())),this.headerComps[s]=n}if(Object.values(o).forEach(i=>{i.getGui().remove(),this.destroyBean(i)}),t){const i=Object.values(this.headerComps);i.sort((n,r)=>{const a=n.getCtrl().column.getLeft(),l=r.getCtrl().column.getLeft();return a-l});const s=i.map(n=>n.getGui());_setDomChildOrder(this.getGui(),s)}}createHeaderComp(e){let t;switch(this.ctrl.type){case"group":t=new HeaderGroupCellComp(e);break;case"filter":t=new HeaderFilterCellComp(e);break;default:t=new HeaderCellComp(e);break}return this.createBean(t),t.setParentComponent(this),t}},CenterWidthFeature=class extends BeanStub{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=_isDomLayout(this.gos,"print"),{visibleCols:t,scrollVisibleSvc:o}=this.beans,i=t.bodyWidth,s=t.getColsLeftWidth(),n=t.getDisplayedColumnsRightWidth();let r;e?r=i+s+n:(r=i,this.addSpacer&&(this.gos.get("enableRtl")?s:n)===0&&o.verticalScrollShowing&&(r+=o.getScrollbarWidth())),this.callback(r)}},EmptyBean=class extends BeanStub{};function setupCompBean(e,t,o){return o&&e.addDestroyFunc(()=>t.destroyBean(o)),o??e}var SetLeftFeature=class extends BeanStub{constructor(e,t,o,i){super(),this.columnOrGroup=e,this.eCell=t,this.colsSpanning=i,this.columnOrGroup=e,this.ariaEl=t.querySelector("[role=columnheader]")||t,this.beans=o}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){const{beans:e,colsSpanning:t}=this;return e.gos.get("enableRtl")&&t?_last(t):this.columnOrGroup}postConstruct(){const e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){const{gos:e,colAnimation:t}=this.beans,o=e.get("suppressColumnMoveAnimation"),i=_exists(this.columnOrGroup.getOldLeft());t?.isActive()&&i&&!o?this.animateInLeft():this.onLeftChanged()}animateInLeft(){const e=this.getColumnOrGroup(),t=this.modifyLeftForPrintLayout(e,e.getOldLeft()),o=this.modifyLeftForPrintLayout(e,e.getLeft());this.setLeft(t),this.actualLeft=o,this.beans.colAnimation.executeNextVMTurn(()=>{this.actualLeft===o&&this.setLeft(o)})}onLeftChanged(){const e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){const{gos:o,visibleCols:i}=this.beans;if(!_isDomLayout(o,"print")||e.getPinned()==="left")return t;const n=i.getColsLeftWidth();if(e.getPinned()==="right"){const r=i.bodyWidth;return n+r+t}return n+t}setLeft(e){if(_exists(e)&&(this.eCell.style.left=`${e}px`),isColumnGroup(this.columnOrGroup)){const t=this.columnOrGroup.getLeafColumns();if(!t.length)return;t.length>1&&_setAriaColSpan(this.ariaEl,t.length)}}},CSS_FIRST_COLUMN="ag-column-first",CSS_LAST_COLUMN="ag-column-last";function _getHeaderClassesFromColDef(e,t,o,i){return _missing(e)?[]:getColumnClassesFromCollDef(e.headerClass,e,t,o,i)}function _getToolPanelClassesFromColDef(e,t,o,i){return _missing(e)?[]:getColumnClassesFromCollDef(e.toolPanelClass,e,t,o,i)}function refreshFirstAndLastStyles(e,t,o){e.toggleCss(CSS_FIRST_COLUMN,o.isColAtEdge(t,"first")),e.toggleCss(CSS_LAST_COLUMN,o.isColAtEdge(t,"last"))}function getClassParams(e,t,o,i){return _addGridCommonParams(t,{colDef:e,column:o,columnGroup:i})}function getColumnClassesFromCollDef(e,t,o,i,s){if(_missing(e))return[];let n;if(typeof e=="function"){const r=getClassParams(t,o,i,s);n=e(r)}else n=e;return typeof n=="string"?[n]:Array.isArray(n)?[...n]:[]}var instanceIdSequence2=0,DOM_DATA_KEY_HEADER_CTRL="headerCtrl",AbstractHeaderCellCtrl=class extends BeanStub{constructor(e,t){super(),this.column=e,this.rowCtrl=t,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=e.getUniqueId()+"-"+instanceIdSequence2++}postConstruct(){const e=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],e),this.addManagedEventListeners({overlayExclusiveChanged:e})}setComp(e,t,o,i,s){t.setAttribute("col-id",this.column.colIdSanitised),this.wireComp(e,t,o,i,s),this.reAttemptToFocus&&(this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0))}shouldStopEventPropagation(e){const{headerRowIndex:t,column:o}=this.beans.focusSvc.focusedHeader,i=o.getDefinition(),s=i?.suppressHeaderKeyboardEvent;if(!_exists(s))return!1;const n=_addGridCommonParams(this.gos,{colDef:i,column:o,headerRowIndex:t,event:e});return!!s(n)}getWrapperHasFocus(){return _getActiveDomElement(this.beans)===this.eGui}setGui(e,t){this.eGui=e,this.addDomData(t),t.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),t.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}refreshHeaderStyles(){const e=this.column.getDefinition();if(!e)return;const{headerStyle:t}=e;let o;if(typeof t=="function"){const i=this.getHeaderClassParams();o=t(i)}else o=t;o&&this.comp.setUserStyles(o)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(e){const{wrapperElement:t,checkMeasuringCallback:o,compBean:i}=e,{beans:s}=this,n=u=>{if(!this.isAlive()||!i.isAlive())return;const{paddingTop:h,paddingBottom:g,borderBottomWidth:p,borderTopWidth:f}=_getElementSize(this.eGui),m=h+g+p+f,w=t.offsetHeight+m;if(u<5){const b=!_getDocument(s)?.contains(t),S=w==0;if(b||S){_batchCall(()=>n(u+1),"raf",s);return}}this.setColHeaderHeight(this.column,w)};let r=!1,a;const l=()=>{const u=this.column.isAutoHeaderHeight();u&&!r&&d(),!u&&r&&c()},d=()=>{r=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),n(0),a=_observeResize(this.beans,t,()=>n(0))},c=()=>{r=!1,a&&a(),this.comp.toggleCss("ag-header-cell-auto-height",!1),a=void 0};l(),i.addDestroyFunc(()=>c()),i.addManagedListeners(this.column,{widthChanged:()=>r&&n(0)}),i.addManagedEventListeners({sortChanged:()=>{r&&window.setTimeout(()=>n(0))}}),o&&o(l)}onDisplayedColumnsChanged(){const{comp:e,column:t,beans:o,eGui:i}=this;!e||!t||!i||(refreshFirstAndLastStyles(e,t,o.visibleCols),_setAriaColIndex(i,o.visibleCols.getAriaColIndex(t)))}addResizeAndMoveKeyboardListeners(e){e.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){const e=_isHeaderFocusSuppressed(this.beans);this.eGui&&_addOrRemoveAttribute(this.eGui,"tabindex",e?null:"-1")}onGuiKeyDown(e){const t=_getActiveDomElement(this.beans),o=e.key===KeyCode.LEFT||e.key===KeyCode.RIGHT;if(this.isResizing&&(e.preventDefault(),e.stopImmediatePropagation()),t!==this.eGui||!e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey)return;if((this.isResizing||o)&&(e.preventDefault(),e.stopImmediatePropagation()),(e.ctrlKey||e.metaKey)&&_normaliseQwertyAzerty(e)===KeyCode.C)return this.beans.clipboardSvc?.copyToClipboard();if(!o)return;const n=e.key===KeyCode.LEFT!==this.gos.get("enableRtl")?"left":"right";if(e.altKey){this.isResizing=!0,this.resizeMultiplier+=1;const r=this.getViewportAdjustedResizeDiff(e);this.resizeHeader(r,e.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(n)}moveHeader(e){this.beans.colMoves?.moveHeader(e,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff(e){const t=this.getResizeDiff(e),{pinnedCols:o}=this.beans;return o?o.getHeaderResizeDiff(t,this.column):t}getResizeDiff(e){const{gos:t,column:o}=this;let i=e.key===KeyCode.LEFT!==t.get("enableRtl");const s=o.getPinned(),n=t.get("enableRtl");return s&&n!==(s==="right")&&(i=!i),(i?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150))}handleKeyDown(e){const t=this.getWrapperHasFocus();switch(e.key){case KeyCode.PAGE_DOWN:case KeyCode.PAGE_UP:case KeyCode.PAGE_HOME:case KeyCode.PAGE_END:t&&e.preventDefault()}}addDomData(e){const t=DOM_DATA_KEY_HEADER_CTRL,{eGui:o,gos:i}=this;_setDomData(i,o,t,this),e.addDestroyFunc(()=>_setDomData(i,o,t,null))}focus(e){if(!this.isAlive())return!1;const{eGui:t}=this;return t?(this.lastFocusEvent=e||null,t.focus()):this.reAttemptToFocus=!0,!0}focusThis(){this.beans.focusSvc.focusedHeader={headerRowIndex:this.rowCtrl.rowIndex,column:this.column}}removeDragSource(){this.dragSource&&(this.beans.dragAndDrop?.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(e,t,o){const i=e??t,{menuSvc:s,gos:n}=this.beans;n.get("preventDefaultOnContextMenu")&&i.preventDefault(),s?.isHeaderContextMenuEnabled(o)&&s.showHeaderContextMenu(o,e,t),this.dispatchColumnMouseEvent("columnHeaderContextMenu",o)}dispatchColumnMouseEvent(e,t){this.eventSvc.dispatchEvent({type:e,column:t})}setColHeaderHeight(e,t){if(!e.setAutoHeaderHeight(t))return;const{eventSvc:o}=this;e.isColumn?o.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"}):o.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.rowCtrl=null}},HeaderCellCtrl=class extends AbstractHeaderCellCtrl{constructor(){super(...arguments),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map}wireComp(e,t,o,i,s){this.comp=e;const{rowCtrl:n,column:r,beans:a}=this,{colResize:l,context:d,colHover:c,rangeSvc:u}=a,h=setupCompBean(this,d,s);this.setGui(t,h),this.updateState(),this.setupWidth(h),this.setupMovingCss(h),this.setupMenuClass(h),this.setupSortableClass(h),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:i,checkMeasuringCallback:p=>this.setRefreshFunction("measuring",p),compBean:h}),this.addColumnHoverListener(h),this.setupFilterClass(h),this.setupStylesFromColDef(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(h),this.setupSelectAll(h),this.setupUserComp(),this.refreshAria(),l?this.resizeFeature=h.createManagedBean(l.createResizeFeature(n.pinned,r,o,e,this)):_setDisplayed(o,!1),c?.createHoverFeature(h,[r],t),u?.createRangeHighlightFeature(h,r,e),h.createManagedBean(new SetLeftFeature(r,t,a)),h.createManagedBean(new ManagedFocusFeature(t,{shouldStopEventPropagation:p=>this.shouldStopEventPropagation(p),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(h),h.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader","enableAdvancedFilter"],()=>this.refresh()),h.addManagedPropertyListener("cellSelection",()=>this.refreshAria()),h.addManagedListeners(r,{colDefChanged:()=>this.refresh(),formulaRefChanged:()=>this.refresh(),headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});const g=()=>this.checkDisplayName();h.addManagedEventListeners({columnValueChanged:g,columnRowGroupChanged:g,columnPivotChanged:g,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),h.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){this.beans.colResize?.resizeHeader(this.column,e,t)}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.colDef;return _addGridCommonParams(t.gos,{colDef:o,column:e,floatingFilter:!1})}setupUserComp(){const e=this.lookupUserCompDetails();e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(){const e=this.createParams(),t=this.column.getColDef();return _getHeaderCompDetails(this.beans.userCompFactory,t,e)}createParams(){const{menuSvc:e,sortSvc:t,colFilter:o,gos:i}=this.beans;return _addGridCommonParams(i,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!e?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!o&&(!this.openFilterEnabled||_isLegacyMenuEnabled(this.gos)),showColumnMenu:(n,r)=>{e?.showColumnMenu({column:this.column,buttonElement:n,positionBy:"button",onClosedCallback:r})},showColumnMenuAfterMouseClick:(n,r)=>{e?.showColumnMenu({column:this.column,mouseEvent:n,positionBy:"mouse",onClosedCallback:r})},showFilter:n=>{e?.showFilterMenu({column:this.column,buttonElement:n,containerType:"columnFilter",positionBy:"button"})},progressSort:n=>{t?.progressSort(this.column,!!n,"uiColumnSorted")},setSort:(n,r)=>{t?.setSortForColumn(this.column,_getSortDefFromInput(n),!!r,"uiColumnSorted")},eGridHeader:this.eGui,setTooltip:(n,r)=>{i.assertModuleRegistered("Tooltip",3),this.setupTooltip(n,r)}})}setupSelectAll(e){const{selectionSvc:t}=this.beans;t&&(this.selectAllFeature=e.createOptionalManagedBean(t.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),e.addManagedPropertyListener("rowSelection",()=>{const o=t.createSelectAllFeature(this.column);o&&!this.selectAllFeature?(this.selectAllFeature=e.createManagedBean(o),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui()):this.selectAllFeature&&!o&&(this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature))}))}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===KeyCode.SPACE?this.selectAllFeature?.onSpaceKeyDown(e):e.key===KeyCode.ENTER?this.onEnterKeyDown(e):e.key===KeyCode.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){const{column:t,gos:o,sortable:i,beans:s}=this;let n=!1;(e.ctrlKey||e.metaKey)&&(n=this.showMenuOnKeyPress(e,!0)),n||(!e.altKey&&_getEnableColumnSelection(o)?s.rangeSvc?.handleColumnSelection(t,e):i&&s.sortSvc?.progressSort(t,e.shiftKey,"uiColumnSorted"))}showMenuOnKeyPress(e,t){const o=this.comp.getUserCompInstance();return isHeaderComp(o)&&o.onMenuKeyboardShortcut(t)?(e.preventDefault(),!0):!1}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription()),_isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.eGui.contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,e,t)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){const e=()=>{const t=this.column.colDef,o=_getHeaderClassesFromColDef(t,this.gos,this.column,null),i=this.userHeaderClasses;this.userHeaderClasses=new Set(o);for(const s of o)i.has(s)?i.delete(s):this.comp.toggleCss(s,!0);for(const s of i)this.comp.toggleCss(s,!1)};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){this.dragSourceElement=e,this.removeDragSource(),!(!e||!this.draggable)&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null)}updateState(){const{menuSvc:e}=this.beans;this.menuEnabled=!!e?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!e?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(const e of Object.values(this.refreshFunctions))e()}refreshHeaderComp(){const e=this.lookupUserCompDetails();if(!e)return;(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==e.componentClass?this.attemptHeaderCompRefresh(e.params):!1)?this.setDragSource(this.dragSourceElement):this.setCompDetails(e)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){this.displayName!==this.calculateDisplayName()&&this.refresh()}workOutDraggable(){const e=this.column.colDef;return!!(!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){const t=()=>{const o=this.column.getActualWidth();this.comp.setWidth(`${o}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){const t=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){const t=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){const t=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){const t=()=>{const o=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",o),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const t=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=e===0,o=e===1;this.comp.toggleCss("ag-header-highlight-before",t),this.comp.toggleCss("ag-header-highlight-after",o)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:o,beans:i}=this,s=getGroupRowsHeight(this.beans),n=s.reduce((h,g)=>h+g,0)===0;if(o.toggleCss("ag-header-parent-hidden",n),!t.isSpanHeaderHeight()){e.style.removeProperty("top"),e.style.removeProperty("height"),o.toggleCss("ag-header-span-height",!1),o.toggleCss("ag-header-span-total",!1);return}const{numberOfParents:r,isSpanningTotal:a}=this.column.getColumnGroupPaddingInfo();o.toggleCss("ag-header-span-height",r>0);const l=getColumnHeaderRowHeight(i);if(r===0){o.toggleCss("ag-header-span-total",!1),e.style.setProperty("top","0px"),e.style.setProperty("height",`${l}px`);return}o.toggleCss("ag-header-span-total",a);const d=(this.column.getFirstRealParent()?.getLevel()??-1)+1,c=s.length-d;let u=0;for(let h=0;h<c;h++)u+=s[s.length-1-h];e.style.setProperty("top",`${-u}px`),e.style.setProperty("height",`${l+u}px`)}refreshAriaSort(){let e=null;const{beans:t,column:o,comp:i,sortable:s,gos:n}=this;if(s){const r=this.getLocaleTextFunc(),a=t.sortSvc?.getDisplaySortForColumn(o)??null;i.setAriaSort(_getAriaSortState(a)),e=_getEnableColumnSelection(n)?r("ariaSortableColumnWithCellSelection","Press ALT ENTER to sort"):r("ariaSortableColumn","Press ENTER to sort")}else i.setAriaSort();this.setAriaDescriptionProperty("sort",e)}refreshAriaMenu(){let e=null;this.menuEnabled&&(e=this.getLocaleTextFunc()("ariaMenuColumn","Press ALT DOWN to open column menu")),this.setAriaDescriptionProperty("menu",e)}refreshAriaFilterButton(){let e=null;const{openFilterEnabled:t,gos:o}=this;t&&!_isLegacyMenuEnabled(o)&&(e=this.getLocaleTextFunc()("ariaFilterColumn","Press CTRL ENTER to open filter")),this.setAriaDescriptionProperty("filterButton",e)}refreshAriaFiltered(){let e=null;this.column.isFilterActive()&&(e=this.getLocaleTextFunc()("ariaColumnFiltered","Column Filtered")),this.setAriaDescriptionProperty("filter",e)}refreshAriaCellSelection(){let e=null;const{gos:t,column:o}=this;_getEnableColumnSelection(t)&&!isRowNumberCol(o)&&(e=this.getLocaleTextFunc()("ariaColumnCellSelection","Press Enter to toggle selection for all visible cells in this column")),this.setAriaDescriptionProperty("cellSelection",e)}setAriaDescriptionProperty(e,t){const o=this.ariaDescriptionProperties;t!=null?o.set(e,t):o.delete(e)}announceAriaDescription(){const{beans:e,eGui:t,ariaDescriptionProperties:o}=this;if(!t.contains(_getActiveDomElement(e)))return;const i=Array.from(o.keys()).sort((s,n)=>s==="filter"?-1:n.charCodeAt(0)-s.charCodeAt(0)).map(s=>o.get(s)).join(". ");e.ariaAnnounce?.announceValue(i,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener(e){this.beans.colHover?.addHeaderColumnHoverListener(e,this.comp,this.column)}addActiveHeaderMouseListeners(e){const t=s=>this.handleMouseOverChange(s.type==="mouseenter"),o=()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},i=s=>this.handleContextMenuMouseEvent(s,void 0,this.column);e.addManagedListeners(this.eGui,{mouseenter:t,mouseleave:t,click:o,contextmenu:i})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.toggleCss("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return isHeaderComp(t)?t.getAnchorElementForMenu(e):this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function isHeaderComp(e){return typeof e?.getAnchorElementForMenu=="function"&&typeof e.onMenuKeyboardShortcut=="function"}var instanceIdSequence3=0,HeaderRowCtrl=class extends BeanStub{constructor(e,t,o){super(),this.rowIndex=e,this.pinned=t,this.type=o,this.instanceId=instanceIdSequence3++,this.comp=null,this.allCtrls=[];let i="ag-header-row-column";o==="group"?i="ag-header-row-group":o==="filter"&&(i="ag-header-row-filter"),this.headerRowClass=`ag-header-row ${i}`}setRowIndex(e){this.rowIndex=e,this.comp?.setRowIndex(this.getAriaRowIndex()),this.onRowHeightChanged()}postConstruct(){this.isPrintLayout=_isDomLayout(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return this.comp?this.allCtrls.every(e=>e.eGui!=null):!1}setComp(e,t,o=!0){this.comp=e,t=setupCompBean(this,this.beans.context,t),o&&(this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){const t=this.onRowHeightChanged.bind(this),o=this.onDisplayedColumnsChanged.bind(this);e.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:o,virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,stylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",o),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}onDisplayedColumnsChanged(){this.isPrintLayout=_isDomLayout(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}setWidth(){if(!this.comp)return;const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleCols:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){let e=0;const t=getGroupRowsHeight(this.beans);for(let s=0;s<t.length;s++){if(s===this.rowIndex&&this.type==="group")return{topOffset:e,rowHeight:t[s]};e+=t[s]}const o=getColumnHeaderRowHeight(this.beans);if(this.type==="column")return{topOffset:e,rowHeight:o};e+=o;const i=getFloatingFiltersHeight(this.beans);return{topOffset:e,rowHeight:i}}onVirtualColumnsChanged(e=!1){if(!this.comp)return;const t=this.getUpdatedHeaderCtrls(),o=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,o,e)}getUpdatedHeaderCtrls(){const e=this.ctrlsById;this.ctrlsById=new Map;const t=this.getColumnsInViewport();for(const i of t)this.recycleAndCreateHeaderCtrls(i,this.ctrlsById,e);const o=i=>{const{focusSvc:s,visibleCols:n}=this.beans;return s.isHeaderWrapperFocused(i)?n.isVisible(i.column):!1};if(e)for(const[i,s]of e)o(s)?this.ctrlsById.set(i,s):this.destroyBean(s);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls(e,t,o){if(e.isEmptyGroup())return;const i=e.getUniqueId();let s;if(o&&(s=o.get(i),o.delete(i)),s&&s.column!=e&&(this.destroyBean(s),s=void 0),s==null)switch(this.type){case"filter":{s=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,e,this));break}case"group":s=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,e,this));break;default:s=this.createBean(new HeaderCellCtrl(e,this));break}t.set(i,s)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];const e=[];for(const t of["left",null,"right"])e.push(...this.getComponentsToRender(t));return e}getComponentsToRender(e=this.pinned){return this.type==="group"?this.beans.colViewport.getHeadersToRender(e,this.rowIndex):this.beans.colViewport.getColumnHeadersToRender(e)}focusHeader(e,t){const o=this.allCtrls.find(s=>s.column==e);return o?o.focus(t):!1}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},HeaderRowContainerCtrl=class extends BeanStub{constructor(e){super(),this.pinned=e,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp(e,t){this.comp=e,this.eViewport=t;const{pinnedCols:o,ctrlsSvc:i,colModel:s,colMoves:n}=this.beans;this.setupCenterWidth(),o?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(n,this.eViewport);const r=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:r,advancedFilterEnabledChanged:r});const a=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;i.register(a,this),s.ready&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const{focusSvc:t,filterManager:o,visibleCols:i}=this.beans;let s=0;const n=t.getFocusHeaderToUseAfterRefresh(),r=()=>{const u=i.headerGroupRowCount;s=u,e||(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls));const h=this.groupsRowCtrls.length;if(h!==u){if(h>u){for(let g=u;g<h;g++)this.destroyBean(this.groupsRowCtrls[g]);this.groupsRowCtrls.length=u;return}for(let g=h;g<u;g++){const p=this.createBean(new HeaderRowCtrl(g,this.pinned,"group"));this.groupsRowCtrls.push(p)}}},a=()=>{const u=s++;if(this.hidden){this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl);return}this.columnsRowCtrl==null||!e?(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new HeaderRowCtrl(u,this.pinned,"column"))):this.columnsRowCtrl.rowIndex!==u&&this.columnsRowCtrl.setRowIndex(u)},l=()=>{this.includeFloatingFilter=!!o?.hasFloatingFilters()&&!this.hidden;const u=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){u();return}e||u();const h=s++;this.filtersRowCtrl?this.filtersRowCtrl.rowIndex!==h&&this.filtersRowCtrl.setRowIndex(h):this.filtersRowCtrl=this.createBean(new HeaderRowCtrl(h,this.pinned,"filter"))},d=this.getAllCtrls();r(),a(),l();const c=this.getAllCtrls();this.comp.setCtrls(c),this.restoreFocusOnHeader(t,n),d.length!==c.length&&this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn(e){const t=o=>o?.getHeaderCellCtrls().find(i=>i.column===e);if(isColumn(e))return t(this.columnsRowCtrl);if(this.groupsRowCtrls.length!==0)for(let o=0;o<this.groupsRowCtrls.length;o++){const i=t(this.groupsRowCtrls[o]);if(i)return i}}getHtmlElementForColumnHeader(e){return this.getHeaderCtrlForColumn(e)?.eGui??null}getRowType(e){return this.getAllCtrls()[e]?.type}focusHeader(e,t,o){const s=this.getAllCtrls()[e];return s?s.focusHeader(t,o):!1}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}destroy(){this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl),this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls),super.destroy()}setupDragAndDrop(e,t){const o=e?.createBodyDropTarget(this.pinned,t);o&&this.createManagedBean(o)}restoreFocusOnHeader(e,t){if(!t)return;const{column:o}=t;o.getPinned()==this.pinned&&e.focusHeaderPosition({headerPosition:t,scroll:!1})}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new CenterWidthFeature(e=>this.comp.setCenterWidth(`${e}px`),!0))}},PinnedLeftElement={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},PinnedRightElement={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},CenterElement={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},HeaderRowContainerComp=class extends Component{constructor(e){super(),this.eCenterContainer=RefPlaceholder,this.headerRowComps={},this.rowCompsList=[],this.pinned=e}postConstruct(){this.selectAndSetTemplate();const e={setDisplayed:o=>this.setDisplayed(o),setCtrls:o=>this.setCtrls(o),setCenterWidth:o=>this.eCenterContainer.style.width=o,setViewportScrollLeft:o=>this.getGui().scrollLeft=o,setPinnedContainerWidth:o=>{const i=this.getGui();i.style.width=o,i.style.maxWidth=o,i.style.minWidth=o}};this.createManagedBean(new HeaderRowContainerCtrl(this.pinned)).setComp(e,this.getGui())}selectAndSetTemplate(){const e=this.pinned=="left",t=this.pinned=="right",o=e?PinnedLeftElement:t?PinnedRightElement:CenterElement;this.setTemplate(o),this.eRowContainer=this.eCenterContainer!==RefPlaceholder?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(e){this.destroyBean(e),e.getGui().remove()}setCtrls(e){const t=this.headerRowComps;this.headerRowComps={},this.rowCompsList=[];let o;const i=s=>{const n=s.getGui();n.parentElement!=this.eRowContainer&&this.eRowContainer.appendChild(n),o&&_ensureDomOrder(this.eRowContainer,n,o),o=n};for(const s of e){const n=s.instanceId,r=t[n];delete t[n];const a=r||this.createBean(new HeaderRowComp(s));this.headerRowComps[n]=a,this.rowCompsList.push(a),i(a)}for(const s of Object.values(t))this.destroyRowComp(s)}},GridHeaderElement={tag:"div",cls:"ag-header",role:"presentation"},GridHeaderComp=class extends Component{constructor(){super(GridHeaderElement)}postConstruct(){const e={toggleCss:(i,s)=>this.toggleCss(i,s),setHeightAndMinHeight:i=>{this.getGui().style.height=i,this.getGui().style.minHeight=i}};this.createManagedBean(new GridHeaderCtrl).setComp(e,this.getGui(),this.getFocusableElement());const o=i=>{this.createManagedBean(i),this.appendChild(i)};o(new HeaderRowContainerComp("left")),o(new HeaderRowContainerComp(null)),o(new HeaderRowContainerComp("right"))}},GridHeaderSelector={selector:"AG-HEADER-ROOT",component:GridHeaderComp},LayoutCssClasses={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},LayoutFeature=class extends BeanStub{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.gos.get("domLayout"),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},o=t.autoHeight?LayoutCssClasses.AUTO_HEIGHT:t.print?LayoutCssClasses.PRINT:LayoutCssClasses.NORMAL;this.view.updateLayoutClasses(o,t)}},AbstractFakeScrollComp=class extends Component{constructor(e,t){super(),this.direction=t,this.eViewport=RefPlaceholder,this.eContainer=RefPlaceholder,this.hideTimeout=0,this.setTemplate(e)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",_isMacOsUserAgent()||_isIOSUserAgent())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.invisibleScrollbar=_isInvisibleScrollbar(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){const e=this.getGui(),t=()=>this.toggleCss("ag-scrollbar-active",!0),o=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:o,touchend:o})}onScrollVisibilityChanged(){this.invisibleScrollbar===void 0&&this.initialiseInvisibleScrollbar(),_requestAnimationFrame(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(this.hideTimeout&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=0),this.toggleCss("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.toggleCss("ag-scrollbar-scrolling",!1),this.hideTimeout=0},400)}})}attemptSettingScrollPosition(e){const t=this.eViewport;_waitUntil(this,()=>_isVisible(t),()=>this.setScrollPosition(e),100)}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}},FakeHScrollElement={tag:"div",cls:"ag-body-horizontal-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eLeftSpacer",cls:"ag-horizontal-left-spacer"},{tag:"div",ref:"eViewport",cls:"ag-body-horizontal-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-horizontal-scroll-container"}]},{tag:"div",ref:"eRightSpacer",cls:"ag-horizontal-right-spacer"}]},FakeHScrollComp=class extends AbstractFakeScrollComp{constructor(){super(FakeHScrollElement,"horizontal"),this.eLeftSpacer=RefPlaceholder,this.eRightSpacer=RefPlaceholder,this.setScrollVisibleDebounce=0}wireBeans(e){this.visibleCols=e.visibleCols,this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){super.postConstruct();const e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new CenterWidthFeature(t=>this.eContainer.style.width=`${t}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}destroy(){window.clearTimeout(this.setScrollVisibleDebounce),super.destroy()}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}refreshCompBottom(){if(!this.invisibleScrollbar)return;const e=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){const e=this.scrollVisibleSvc.verticalScrollShowing;let t=this.visibleCols.getDisplayedColumnsRightWidth();const o=!this.enableRtl&&e,i=this.scrollVisibleSvc.getScrollbarWidth();o&&(t+=i),_setFixedWidth(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=i);let s=this.visibleCols.getColsLeftWidth();this.enableRtl&&e&&(s+=i),_setFixedWidth(this.eLeftSpacer,s),this.eLeftSpacer.classList.toggle("ag-scroller-corner",s<=i)}setScrollVisible(){const e=this.scrollVisibleSvc.horizontalScrollShowing,t=this.invisibleScrollbar,o=this.gos.get("suppressHorizontalScroll"),i=e&&this.scrollVisibleSvc.getScrollbarWidth()||0,n=o?0:i===0&&t?16:i,r=()=>{this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",t),_setFixedHeight(this.getGui(),n),_setFixedHeight(this.eViewport,n),_setFixedHeight(this.eContainer,n),n||this.eContainer.style.setProperty("min-height","1px"),this.setVisible(e,{skipAriaHidden:!0})};window.clearTimeout(this.setScrollVisibleDebounce),e?this.setScrollVisibleDebounce=window.setTimeout(r,100):r()}getScrollPosition(){return _getScrollLeft(this.eViewport,this.enableRtl)}setScrollPosition(e){_isVisible(this.eViewport)||this.attemptSettingScrollPosition(e),_setScrollLeft(this.eViewport,e,this.enableRtl)}},FakeHScrollSelector={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:FakeHScrollComp},SetHeightFeature=class extends BeanStub{constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged(e){const t=e.uiContainerHeight,o=t!=null?`${t}px`:"";this.eContainer.style.height=o,this.eViewport&&(this.eViewport.style.height=o)}},FakeVScrollElement={tag:"div",cls:"ag-body-vertical-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eViewport",cls:"ag-body-vertical-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-vertical-scroll-container"}]}]},FakeVScrollComp=class extends AbstractFakeScrollComp{constructor(){super(FakeVScrollElement,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new SetHeightFeature(this.eContainer));const{ctrlsSvc:e}=this.beans;e.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,e)})}setScrollVisible(){const{scrollVisibleSvc:e}=this.beans,t=e.verticalScrollShowing,o=this.invisibleScrollbar,i=t&&e.getScrollbarWidth()||0,s=i===0&&o?16:i;this.toggleCss("ag-scrollbar-invisible",o),_setFixedWidth(this.getGui(),s),_setFixedWidth(this.eViewport,s),_setFixedWidth(this.eContainer,s),this.setDisplayed(t,{skipAriaHidden:!0})}onRowContainerHeightChanged(e){const o=e.getGridBodyCtrl().eBodyViewport,i=this.getScrollPosition(),s=o.scrollTop;i!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition(e,t){!t&&!_isVisible(this.eViewport)&&this.attemptSettingScrollPosition(e),this.eViewport.scrollTop=e}},FakeVScrollSelector={selector:"AG-FAKE-VERTICAL-SCROLL",component:FakeVScrollComp},Direction=(e=>(e[e.Vertical=0]="Vertical",e[e.Horizontal=1]="Horizontal",e))(Direction||{}),VIEWPORT="Viewport",FAKE_V_SCROLLBAR="fakeVScrollComp",HORIZONTAL_SOURCES=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],SCROLL_DEBOUNCE_TIMEOUT=100,SCROLL_END_TIMEOUT=150,GridBodyScrollFeature=class extends BeanStub{constructor(e){super(),this.clearRetryListenerFncs=[],this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.lastIsHorizontalScrollShowing=!1,this.scrollTimer=0,this.isScrollActive=!1,this.isVerticalPositionInvalidated=!0,this.isHorizontalPositionInvalidated=!0,this.eBodyViewport=e,this.resetLastHScrollDebounced=_debounce(this,()=>this.lastScrollSource[1]=null,SCROLL_END_TIMEOUT),this.resetLastVScrollDebounced=_debounce(this,()=>this.lastScrollSource[0]=null,SCROLL_END_TIMEOUT)}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.animationFrameSvc=e.animationFrameSvc,this.visibleCols=e.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");const e=this.invalidateVerticalScroll.bind(this),t=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:e,scrollGapChanged:t}),this.addManagedElementListeners(this.eBodyViewport,{scroll:e}),this.ctrlsSvc.whenReady(this,o=>{this.centerRowsCtrl=o.center,this.fakeVScrollComp=o.fakeVScrollComp,this.fakeHScrollComp=o.fakeHScrollComp,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}invalidateHorizontalScroll(){this.isHorizontalPositionInvalidated=!0}invalidateVerticalScroll(){this.isVerticalPositionInvalidated=!0}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.eViewport,{scroll:this.onHScroll.bind(this,VIEWPORT)});for(const e of HORIZONTAL_SOURCES){const t=this.ctrlsSvc.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){const e=this.gos.get("debounceVerticalScrollbar"),t=e?_debounce(this,this.onVScroll.bind(this,VIEWPORT),SCROLL_DEBOUNCE_TIMEOUT):this.onVScroll.bind(this,VIEWPORT),o=e?_debounce(this,this.onVScroll.bind(this,FAKE_V_SCROLLBAR),SCROLL_DEBOUNCE_TIMEOUT):this.onVScroll.bind(this,FAKE_V_SCROLLBAR);this.addManagedElementListeners(this.eBodyViewport,{scroll:t}),this.registerScrollPartner(this.fakeVScrollComp,o)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){this.centerRowsCtrl!=null&&(e===void 0&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(const t of[...HORIZONTAL_SOURCES,VIEWPORT]){if(this.lastScrollSource[1]===t)continue;const o=this.getViewportForSource(t);_setScrollLeft(o,e,this.enableRtl)}}getViewportForSource(e){return e===VIEWPORT?this.centerRowsCtrl.eViewport:this.ctrlsSvc.get(e).eViewport}isControllingScroll(e,t){return this.lastScrollSource[t]==null?(t===0?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;const t=this.centerRowsCtrl.eViewport,{scrollLeft:o}=t;if(this.shouldBlockScrollUpdate(1,o,!0))return;const i=_getScrollLeft(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(i),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;const t=e===VIEWPORT?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition();let o=t;if(this.shouldBlockScrollUpdate(0,o,!0))return;e===VIEWPORT?this.fakeVScrollComp.setScrollPosition(o):(this.eBodyViewport.scrollTop=t,o=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),o!==t&&this.fakeVScrollComp.setScrollPosition(o,!0));const{animationFrameSvc:i}=this;i?.setScrollTop(o),this.nextScrollTop=o,i?.active?i.schedule():this.scrollGridIfNeeded(!0),this.resetLastVScrollDebounced()}doHorizontalScroll(e){const t=this.fakeHScrollComp.getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}isScrolling(){return this.isScrollActive}fireScrollEvent(e){const t={type:"bodyScroll",direction:e===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.isScrollActive=!0,this.eventSvc.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{this.scrollTimer=0,this.isScrollActive=!1,this.eventSvc.dispatchEvent({...t,type:"bodyScrollEnd"})},SCROLL_END_TIMEOUT)}shouldBlockScrollUpdate(e,t,o=!1){return o&&!_isIOSUserAgent()?!1:e===0?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t)}shouldBlockVerticalScroll(e){const t=_getInnerHeight(this.eBodyViewport),{scrollHeight:o}=this.eBodyViewport;return e<0||e+t>o}shouldBlockHorizontalScroll(e){const t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:o}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>o}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){const e=this.scrollLeft;let t=!1;for(const o of HORIZONTAL_SOURCES)if(this.getViewportForSource(o).scrollLeft!==e){t=!0;break}t&&this.onHScroll(VIEWPORT)}scrollGridIfNeeded(e=!1){const t=this.scrollTop!=this.nextScrollTop;return t&&(this.scrollTop=this.nextScrollTop,e&&this.invalidateVerticalScroll(),this.redrawRowsAfterScroll()),t}setHorizontalScrollPosition(e,t=!1){const i=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(this.enableRtl?e=e>0?0:i:e=Math.min(Math.max(e,0),i)),_setScrollLeft(this.centerRowsCtrl.eViewport,Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=e}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){const{lastOffsetHeight:o,lastScrollTop:i}=this;return{top:i,bottom:i+o}}this.isVerticalPositionInvalidated=!1;const{scrollTop:e,offsetHeight:t}=this.eBodyViewport;return this.lastScrollTop=e,this.lastOffsetHeight=t,{top:e,bottom:e+t}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.isHorizontalPositionInvalidated&&(this.lastIsHorizontalScrollShowing=this.centerRowsCtrl.isHorizontalScrollShowing(),this.isHorizontalPositionInvalidated=!1),this.lastIsHorizontalScrollShowing}scrollHorizontally(e){const t=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.eViewport.scrollLeft-t}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible(e,t=null){const{rowModel:o}=this.beans,i=o.getRowCount();let s=-1;for(let n=0;n<i;n++){const r=o.getRow(n);if(typeof e=="function"){if(r&&e(r)){s=n;break}}else if(e===r||e===r.data){s=n;break}}s>=0&&this.ensureIndexVisible(s,t)}ensureIndexVisible(e,t,o=0){if(_isDomLayout(this.gos,"print"))return;const{rowModel:i}=this.beans,s=i.getRowCount();if(typeof e!="number"||e<0||e>=s){_warn(88,{index:e});return}this.clearRetryListeners();const{frameworkOverrides:n,pageBounds:r,rowContainerHeight:a,rowRenderer:l}=this.beans;n.wrapIncoming(()=>{const d=this.ctrlsSvc.getGridBodyCtrl(),c=i.getRow(e);let u,h,g=0;this.invalidateVerticalScroll();do{const{stickyTopHeight:p,stickyBottomHeight:f}=d,m=c.rowTop,C=c.rowHeight,w=r.getPixelOffset(),v=c.rowTop-w,b=v+c.rowHeight,S=this.getVScrollPosition(),y=a.divStretchOffset,R=S.top+y,E=S.bottom+y,x=E-R,P=a.getScrollPositionForPixel(v),F=a.getScrollPositionForPixel(b-x),M=Math.min((P+F)/2,v),D=R+p>v,I=E-f<b;let T=null;t==="top"?T=P-p:t==="bottom"?T=F+f:t==="middle"?T=M:D?T=P-p:I&&(F-P>x?T=P-p:T=F+f),T!==null&&(this.setVerticalScrollPosition(T),l.redraw({afterScroll:!0})),u=m!==c.rowTop||C!==c.rowHeight,h=p!==d.stickyTopHeight||f!==d.stickyBottomHeight,g++}while((u||h)&&g<10);if(this.animationFrameSvc?.flushAllFrames(),o<10&&(c?.stub||!this.beans.rowAutoHeight?.areRowsMeasured())){const p=this.getVScrollPosition().top;this.clearRetryListenerFncs=this.addManagedEventListeners({bodyScroll:()=>{const f=this.getVScrollPosition().top;p!==f&&this.clearRetryListeners()},modelUpdated:()=>{this.clearRetryListeners(),!(e>=i.getRowCount())&&this.ensureIndexVisible(e,t,o+1)}})}})}clearRetryListeners(){for(const e of this.clearRetryListenerFncs)e();this.clearRetryListenerFncs=[]}ensureColumnVisible(e,t="auto"){const{colModel:o,frameworkOverrides:i}=this.beans,s=o.getCol(e);if(!s||s.isPinned()||!this.visibleCols.isColDisplayed(s))return;const n=this.getPositionedHorizontalScroll(s,t);i.wrapIncoming(()=>{n!==null&&this.centerRowsCtrl.setCenterViewportScrollLeft(n),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll(e,t){const{columnBeforeStart:o,columnAfterEnd:i}=this.isColumnOutsideViewport(e),s=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),n=this.centerRowsCtrl.getCenterWidth(),r=this.enableRtl;let a=(r?o:i)||s,l=r?i:o;t!=="auto"&&(a=t==="start",l=t==="end");const d=t==="middle";if(a||l||d){const{colLeft:c,colMiddle:u,colRight:h}=this.getColumnBounds(e);return d?u-n/2:a?r?h:c:r?c-n:h-n}return null}isColumnOutsideViewport(e){const{start:t,end:o}=this.getViewportBounds(),{colLeft:i,colRight:s}=this.getColumnBounds(e),n=this.enableRtl,r=n?t>s:o<s,a=n?o<i:t>i;return{columnBeforeStart:r,columnAfterEnd:a}}getColumnBounds(e){const t=this.enableRtl,o=this.visibleCols.bodyWidth,i=e.getActualWidth(),s=e.getLeft(),n=t?-1:1,r=t?o-s:s,a=r+i*n,l=r+i/2*n;return{colLeft:r,colMiddle:l,colRight:a}}getViewportBounds(){const e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft(),o=t,i=e+t;return{start:o,end:i,width:e}}},AXES={horizontal:{overflow:e=>e.scrollWidth-e.clientWidth,scrollSize:e=>e.scrollWidth,clientSize:e=>e.clientWidth,opposite:"vertical"},vertical:{overflow:e=>e.scrollHeight-e.clientHeight,scrollSize:e=>e.scrollHeight,clientSize:e=>e.clientHeight,opposite:"horizontal"}};function _shouldShowHorizontalScroll(e,t,o=_getScrollbarWidth()||0,i,s){return shouldShowScroll(e,t,"horizontal",o,i,s)}function _shouldShowVerticalScroll(e,t,o=_getScrollbarWidth()||0,i,s){return shouldShowScroll(e,t,"vertical",o,i,s)}function shouldShowScroll(e,t,o,i,s,n){const r=AXES[o],a=AXES[r.opposite],l=s?_isVisible(s):!0,d=n?_isVisible(n):!0,c=r.overflow(e);if(c<=0)return!1;if(!t||i===0)return!0;const u=a.overflow(t);if(u<=0)return!0;if(c<=i){if(l&&d&&isScrollbarCausedByOppositeAxis({candidateOverflow:u,candidateScrollSize:a.scrollSize(t),candidateClientSize:a.clientSize(t),scrollbarWidth:i}))return!1;const h=r.clientSize(e)+i;return r.scrollSize(e)<=h}return!0}function isScrollbarCausedByOppositeAxis({candidateOverflow:e,candidateScrollSize:t,candidateClientSize:o,scrollbarWidth:i}){if(e<=0||e>i)return!1;const s=o+i;return t>o&&t<=s}var ViewportSizeFeature=class extends BeanStub{constructor(e){super(),this.centerContainerCtrl=e}wireBeans(e){this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){const{beans:e,centerContainerCtrl:t,gridBodyCtrl:o}=this,i=()=>{_requestAnimationFrame(e,()=>{this.onCenterViewportResized()})};t.registerViewportResizeListener(i),o.registerBodyViewportResizeListener(i)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){const{pinnedCols:e,colFlex:t}=this.beans;e?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();const o=this.centerContainerCtrl.getCenterWidth();o!==this.centerWidth&&(this.centerWidth=o,t?.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.scrollFeature.checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){const e=this.gridBodyCtrl.eBodyViewport,t=_getInnerHeight(e);this.bodyHeight!==t&&(this.bodyHeight=t,this.eventSvc.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){if(!this.isAlive())return;const e={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible(e)}onHorizontalViewportChanged(){const{centerContainerCtrl:e,beans:t}=this,o=e.getCenterWidth(),i=e.getViewportScrollLeft();t.colViewport.setScrollPosition(o,i)}};function _isEventFromPrintableCharacter(e){return e.altKey||e.ctrlKey||e.metaKey?!1:e.key?.length===1}function _suppressCellMouseEvent(e,t,o,i){const s=t.getColDef().cellRendererParams?.suppressMouseEventHandling;return suppressMouseEvent(e,t,o,i,s)}function _suppressFullWidthMouseEvent(e,t,o,i){const s=t?.suppressMouseEventHandling;return suppressMouseEvent(e,void 0,o,i,s)}function suppressMouseEvent(e,t,o,i,s){return s?s(_addGridCommonParams(e,{column:t,node:o,event:i})):!1}function _getCtrlForEventTarget(e,t,o){let i=t;for(;i;){const s=_getDomData(e,i,o);if(s)return s;i=i.parentElement}return null}var DOM_DATA_KEY_CELL_CTRL="cellCtrl";function _getCellCtrlForEventTarget(e,t){return _getCtrlForEventTarget(e,t,DOM_DATA_KEY_CELL_CTRL)}var DOM_DATA_KEY_ROW_CTRL="renderedRow";function _getRowCtrlForEventTarget(e,t){return _getCtrlForEventTarget(e,t,DOM_DATA_KEY_ROW_CTRL)}function _isUserSuppressingKeyboardEvent(e,t,o,i,s){const n=i?i.colDef.suppressKeyboardEvent:void 0;if(!n)return!1;const r=_addGridCommonParams(e,{event:t,editing:s,column:i,node:o,data:o.data,colDef:i.colDef});return!!(n&&n(r))}function _selectAllCells(e){const{pinnedRowModel:t,rowModel:o,rangeSvc:i,visibleCols:s}=e;if(!i||s.allCols.length===0)return;const n=t?.isEmpty("top")??!0,r=t?.isEmpty("bottom")??!0,a=n?null:"top";let l,d;r?(l=null,d=o.getRowCount()-1):(l="bottom",d=t?.getPinnedBottomRowCount()??-1),i.setCellRange({rowStartIndex:0,rowStartPinned:a,rowEndIndex:d,rowEndPinned:l})}var RowContainerEventsFeature=class extends BeanStub{constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.beans.touchSvc?.mockRowContextMenu(this),this.editSvc=this.beans.editSvc}addKeyboardListeners(){const e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){let e="mousedown";_isEventSupported("pointerdown")?e="pointerdown":_isEventSupported("touchstart")&&(e="touchstart");const t=["dblclick","contextmenu","mouseover","mouseout","click",e];for(const o of t){const i=this.processMouseEvent.bind(this,o);this.addManagedElementListeners(this.element,{[o]:i})}}processMouseEvent(e,t){if(!_isEventFromThisInstance(this.beans,t)||_isStopPropagationForAgGrid(t))return;const{cellCtrl:o,rowCtrl:i}=this.getControlsForEventTarget(t.target);e==="contextmenu"?(o?.column&&o.dispatchCellContextMenuEvent(t),this.beans.contextMenuSvc?.handleContextMenuMouseEvent(t,void 0,i,o)):(o&&o.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}getControlsForEventTarget(e){const{gos:t}=this;return{cellCtrl:_getCellCtrlForEventTarget(t,e),rowCtrl:_getRowCtrlForEventTarget(t,e)}}processKeyboardEvent(e,t){const{cellCtrl:o,rowCtrl:i}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(o?this.processCellKeyboardEvent(o,e,t):i?.isFullWidth()&&this.processFullWidthRowKeyboardEvent(i,e,t))}processCellKeyboardEvent(e,t,o){const i=this.editSvc?.isEditing(e,{withOpenEditor:!0})??!1;!_isUserSuppressingKeyboardEvent(this.gos,o,e.rowNode,e.column,i)&&t==="keydown"&&(!i&&this.beans.navigation?.handlePageScrollingKey(o)||e.onKeyDown(o),this.doGridOperations(o,i),_isEventFromPrintableCharacter(o)&&e.processCharacter(o)),t==="keydown"&&this.eventSvc.dispatchEvent(e.createEvent(o,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,o){const{rowNode:i}=e,{focusSvc:s,navigation:n,notesSvc:r}=this.beans,l=s.getFocusedCell()?.column;!_isUserSuppressingKeyboardEvent(this.gos,o,i,l,!1)&&t==="keydown"&&this.processFullWidthRowKeyDown(e,o,l,n,r),t==="keydown"&&this.eventSvc.dispatchEvent(e.createRowEvent("cellKeyDown",o))}processFullWidthRowKeyDown(e,t,o,i=this.beans.navigation,s=this.beans.notesSvc){switch(t.key){case KeyCode.PAGE_HOME:case KeyCode.PAGE_END:case KeyCode.PAGE_UP:case KeyCode.PAGE_DOWN:i?.handlePageScrollingKey(t,!0);return;case KeyCode.LEFT:case KeyCode.RIGHT:if(!this.gos.get("embedFullWidthRows"))return;case KeyCode.UP:case KeyCode.DOWN:e.onKeyboardNavigate(t);return;case KeyCode.F2:this.processFullWidthRowNoteShortcut(e,t,o,s);return;case KeyCode.TAB:e.onTabKeyDown(t);return;default:}}processFullWidthRowNoteShortcut(e,t,o,i=this.beans.notesSvc){if(!t.shiftKey||!i?.hasDataSource())return;const s=e.rowNode,n=e.findFullWidthInfoForEvent(t);let r;if(n){const{pinned:l}=n;r={rowNode:s,location:"fullWidthRow",pinned:l==="left"||l==="right"?l:void 0}}else o&&(r={rowNode:s,column:o});if(!r)return;const a=i.getNoteAccess(r);a&&(!a.isSuppressed||a.canView)&&(i.showNote(a.params,!0),t.preventDefault())}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey||t||!_isEventFromThisInstance(this.beans,e))return;const o=_normaliseQwertyAzerty(e),{clipboardSvc:i,undoRedo:s}=this.beans;if(o===KeyCode.A)return this.onCtrlAndA(e);if(o===KeyCode.C)return this.onCtrlAndC(i,e);if(o===KeyCode.D)return this.onCtrlAndD(i,e);if(o===KeyCode.V)return this.onCtrlAndV(i,e);if(o===KeyCode.X)return this.onCtrlAndX(i,e);if(o===KeyCode.Y)return this.onCtrlAndY(s);if(o===KeyCode.Z)return this.onCtrlAndZ(s,e)}onCtrlAndA(e){const{beans:{rowModel:t,rangeSvc:o,selectionSvc:i},gos:s}=this;o&&_isCellSelectionEnabled(s)&&!_getCtrlASelectsRows(s)&&t.isRowsToRender()?_selectAllCells(this.beans):i&&i.selectAllRowNodes({source:"keyboardSelectAll",selectAll:_getSelectAll(s)}),e.preventDefault()}onCtrlAndC(e,t){if(!e||this.gos.get("enableCellTextSelection"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.copyToClipboard())}onCtrlAndX(e,t){if(!e||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.cutToClipboard(void 0,"ui"))}onCtrlAndV(e,t){const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||e&&!this.gos.get("suppressClipboardPaste")&&e.pasteFromClipboard()}onCtrlAndD(e,t){e&&!this.gos.get("suppressClipboardPaste")&&e.copyRangeDown(),t.preventDefault()}onCtrlAndZ(e,t){!this.gos.get("undoRedoCellEditing")||!e||(t.preventDefault(),t.shiftKey?e.redo("ui"):e.undo("ui"))}onCtrlAndY(e){e?.redo("ui")}},getTopRowCtrls=e=>e.topRowCtrls,getStickyTopRowCtrls=e=>e.getStickyTopRowCtrls(),getStickyBottomRowCtrls=e=>e.getStickyBottomRowCtrls(),getBottomRowCtrls=e=>e.bottomRowCtrls,getCentreRowCtrls=e=>e.allRowCtrls,getSpannedTopRowCtrls=e=>e.getCtrls("top"),getSpannedCenterRowCtrls=e=>e.getCtrls("center"),getSpannedBottomRowCtrls=e=>e.getCtrls("bottom"),ContainerCssClasses={center:{type:"center",name:"center-cols",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:getCentreRowCtrls},topCenter:{type:"center",name:"floating-top",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:getTopRowCtrls},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:getStickyTopRowCtrls},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:getStickyTopRowCtrls},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:getStickyTopRowCtrls},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:getStickyTopRowCtrls},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:getStickyBottomRowCtrls},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:getStickyBottomRowCtrls},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:getStickyBottomRowCtrls},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:getStickyBottomRowCtrls},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:getBottomRowCtrls}};function _getRowViewportClass(e){return`ag-${_getRowContainerOptions(e).name}-viewport`}function _getRowContainerClass(e){const t=_getRowContainerOptions(e);return t.container??`ag-${t.name}-container`}function _getRowSpanContainerClass(e){return`ag-${_getRowContainerOptions(e).name}-spanned-cells-container`}function _getRowContainerOptions(e){return ContainerCssClasses[e]}var allTopNoFW=["topCenter","topLeft","topRight"],allBottomNoFW=["bottomCenter","bottomLeft","bottomRight"],allMiddleNoFW=["center","left","right"],allMiddle=["center","left","right","fullWidth"],allCenter=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],allLeft=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],allRight=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],allStickyTopNoFW=["stickyTopCenter","stickyTopLeft","stickyTopRight"],allStickyBottomNoFW=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],allStickyContainers=[...allStickyTopNoFW,"stickyTopFullWidth",...allStickyBottomNoFW,"stickyBottomFullWidth"],allNoFW=[...allTopNoFW,...allBottomNoFW,...allMiddleNoFW,...allStickyTopNoFW,...allStickyBottomNoFW],RowContainerCtrl=class extends BeanStub{constructor(e){super(),this.name=e,this.visible=!0,this.EMPTY_CTRLS=[],this.options=_getRowContainerOptions(e)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new ViewportSizeFeature(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.beans.ctrlsSvc.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}setComp(e,t,o,i){this.comp=e,this.eContainer=t,this.eSpannedContainer=o,this.eViewport=i,this.createManagedBean(new RowContainerEventsFeature(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();const{pinnedCols:s,rangeSvc:n}=this.beans,r=()=>this.onPinnedWidthChanged();this.forContainers(allLeft,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(s?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:r})}),this.forContainers(allRight,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(s?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:r})}),this.forContainers(allMiddle,()=>this.createManagedBean(new SetHeightFeature(this.eContainer,this.name==="center"?i:void 0))),n&&this.forContainers(allNoFW,()=>this.createManagedBean(n.createDragListenerFeature(this.eContainer))),this.forContainers(allCenter,()=>this.createManagedBean(new CenterWidthFeature(a=>this.comp.setContainerWidth(`${a}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}addListeners(){const{spannedRowRenderer:e,gos:t}=this.beans,o=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({displayedColumnsChanged:o,displayedColumnsWidthChanged:o,displayedRowsChanged:i=>this.onDisplayedRowsChanged(i.afterScroll)}),o(),this.onDisplayedRowsChanged(),e&&this.options.getSpannedRowCtrls&&t.get("enableCellSpan")&&this.addManagedListeners(e,{spannedRowsUpdated:()=>{const i=this.options.getSpannedRowCtrls(e);i&&this.comp.setSpannedRowCtrls(i,!1)}})}listenOnDomOrder(){if(allStickyContainers.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}const t=()=>{const o=this.gos.get("ensureDomOrder"),i=_isDomLayout(this.gos,"print");this.comp.setDomOrder(o||i)};this.addManagedPropertyListener("domLayout",t),t()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){const{dragSvc:e}=this.beans;if(!e)return;const t=o=>{e.dragging&&o.cancelable&&o.preventDefault()};this.eContainer.addEventListener("touchmove",t,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",t))}onHorizontalViewportChanged(e=!1){const t=this.getCenterWidth(),o=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(t,o,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return _getInnerWidth(this.eViewport)}getCenterViewportScrollLeft(){return _getScrollLeft(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){const t=_observeResize(this.beans,this.eViewport,e);this.addDestroyFunc(()=>t())}isViewportInTheDOMTree(){return _isInDOM(this.eViewport)}getViewportScrollLeft(){return _getScrollLeft(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){const{beans:e,gos:t,eViewport:o}=this,i=t.get("alwaysShowHorizontalScroll"),{ctrlsSvc:s}=e,n=s.getGridBodyCtrl()?.eBodyViewport,r=s.get("fakeHScrollComp")?.getGui(),a=s.get("fakeVScrollComp")?.getGui();return i||_shouldShowHorizontalScroll(o,n,void 0,r,a)}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){_setScrollLeft(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(this.options.pinnedType!=null)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){const e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){const t=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||t.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}const o=_isDomLayout(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||o,n=t.filter(r=>{const a=r.isFullWidth();return this.options.fullWidth?!s&&a:s||!a});this.comp.setRowCtrls({rowCtrls:n,useFlushSync:e})}},CSS_CLASS_FORCE_VERTICAL_SCROLL="ag-force-vertical-scroll",CSS_CLASS_CELL_SELECTABLE="ag-selectable",CSS_CLASS_COLUMN_MOVING="ag-column-moving",GridBodyCtrl=class extends BeanStub{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.colModel=e.colModel,this.scrollVisibleSvc=e.scrollVisibleSvc,this.pinnedRowModel=e.pinnedRowModel,this.filterManager=e.filterManager,this.rowGroupColsSvc=e.rowGroupColsSvc}setComp(e,t,o,i,s,n,r){this.comp=e,this.eGridBody=t,this.eBodyViewport=o,this.eTop=i,this.eBottom=s,this.eStickyTop=n,this.eStickyBottom=r,this.eCenterColsViewport=o.querySelector(`.${_getRowViewportClass("center")}`),this.eFullWidthContainer=o.querySelector(`.${_getRowContainerClass("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",a=>this.setCellTextSelection(a.currentValue)),this.createManagedBean(new LayoutFeature(this.comp)),this.scrollFeature=this.createManagedBean(new GridBodyScrollFeature(o)),this.beans.rowDragSvc?.setupRowDrag(o,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([i,o,s,n,r]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(i),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){const e=this.setFloatingHeights.bind(this),t=this.setGridRootRole.bind(this),o=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,pinnedRowsChanged:e,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:t,columnPivotChanged:t,rowResizeStarted:o,rowResizeEnded:o}),this.addManagedPropertyListener("treeData",t)}toggleRowResizeStyles(e){const t=e.type==="rowResizeStarted";this.eBodyViewport.classList.toggle("ag-prevent-animation",t)}onGridColumnsChanged(){const e=this.beans.colModel.getCols();this.comp.setColumnCount(e.length)}onScrollVisibilityChanged(){const{scrollVisibleSvc:e}=this,t=e.verticalScrollShowing;this.setVerticalScrollPaddingVisible(t),this.setStickyWidth(t),this.setStickyBottomOffsetBottom();const o=t&&e.getScrollbarWidth()||0,i=_isInvisibleScrollbar()?16:0,s=`calc(100% + ${o+i}px)`;_requestAnimationFrame(this.beans,()=>this.comp.setBodyViewportWidth(s)),this.updateScrollingClasses()}setGridRootRole(){const{rowGroupColsSvc:e,colModel:t,gos:o}=this;let i=o.get("treeData");if(!i){const s=t.pivotMode;i=(e?e.columns.length:0)>=(s?2:1)}this.comp.setGridRootRole(i?"treegrid":"grid")}addFocusListeners(e){for(const t of e)this.addManagedElementListeners(t,{focusin:o=>{const{target:i}=o,s=_isElementChildOfClass(i,"ag-root",t);t.classList.toggle("ag-has-focus",!s)},focusout:o=>{const{target:i,relatedTarget:s}=o,n=t.contains(s),r=_isElementChildOfClass(s,"ag-root",t);_isElementChildOfClass(i,"ag-root",t)||(!n||r)&&t.classList.remove("ag-has-focus")}})}setColumnMovingCss(e){this.comp.setColumnMovingCss(CSS_CLASS_COLUMN_MOVING,e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss(CSS_CLASS_CELL_SELECTABLE,e)}updateScrollingClasses(){const{eGridBody:{classList:e},scrollVisibleSvc:t}=this;e.toggle("ag-body-vertical-content-no-gap",!t.verticalScrollGap),e.toggle("ag-body-horizontal-content-no-gap",!t.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){const e=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:t}=this.beans,o=t.isLastRowIndexKnown()?t.getRowCount():-1,i=o===-1?-1:e+o;this.comp.setRowCount(i)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){const t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){const{gos:e,comp:t,ctrlsSvc:o}=this,i=e.get("alwaysShowVerticalScroll"),s=i?CSS_CLASS_FORCE_VERTICAL_SCROLL:null,n=_isDomLayout(e,"normal");t.setAlwaysVerticalScrollClass(s,i);const r=o.get("center")?.eViewport,a=o.get("fakeHScrollComp")?.getGui(),l=o.get("fakeVScrollComp")?.getGui();return i||n&&_shouldShowVerticalScroll(this.eBodyViewport,r,void 0,l,a)}setupRowAnimationCssClass(){const{rowContainerHeight:e,environment:t}=this.beans;let o=t.sizesMeasured;const i=()=>{const s=o&&_isAnimateRows(this.gos)&&!e.stretching,n=s?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(n,s)};i(),this.addManagedEventListeners({heightScaleChanged:i}),this.addManagedPropertyListener("animateRows",i),this.addManagedEventListeners({stylesChanged:()=>{!o&&t.sizesMeasured&&(o=!0,i())}})}addBodyViewportListener(){const{eBodyViewport:e,eStickyTop:t,eStickyBottom:o,eTop:i,eBottom:s,beans:{popupSvc:n,touchSvc:r}}=this,a=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(e,{contextmenu:a}),r?.mockBodyContextMenu(this,a),this.addManagedElementListeners(e,{wheel:this.onBodyViewportWheel.bind(this,n)});const l=this.onStickyWheel.bind(this);for(const c of[t,o,i,s])this.addManagedElementListeners(c,{wheel:l});const d=this.onHorizontalWheel.bind(this);for(const c of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(c).eContainer,{wheel:d});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){const{deltaX:t,deltaY:o,shiftKey:i}=e;(i||Math.abs(t)>Math.abs(o))&&_isEventFromThisInstance(this.beans,e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){const{deltaY:t}=e;this.scrollVertically(t)>0&&e.preventDefault()}onHorizontalWheel(e){const{deltaX:t,deltaY:o,shiftKey:i}=e;(i||Math.abs(t)>Math.abs(o))&&this.scrollGridBodyToMatchEvent(e)}scrollGridBodyToMatchEvent(e){const{deltaX:t,deltaY:o}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||o})}onBodyViewportContextMenu(e,t,o){if(!e&&!o)return;this.gos.get("preventDefaultOnContextMenu")&&(e||o).preventDefault();const{target:i}=e||t;(i===this.eBodyViewport||i===this.ctrlsSvc.get("center").eViewport)&&this.beans.contextMenuSvc?.showContextMenu({mouseEvent:e,touchEvent:o,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel(e,t){this.gos.get("suppressScrollWhenPopupsAreOpen")&&e?.hasAnchoredPopup()&&t.preventDefault()}scrollVertically(e){const t=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}setFloatingHeights(){const{pinnedRowModel:e,beans:{environment:t}}=this,o=e?.getPinnedTopTotalHeight(),i=e?.getPinnedBottomTotalHeight(),s=t.getPinnedRowBorderWidth(),n=t.getRowBorderWidth(),r=s-n,a=o?r+o:0,l=i?r+i:0;this.comp.setTopHeight(a),this.comp.setBottomHeight(l),this.comp.setTopInvisible(a<=0),this.comp.setBottomInvisible(l<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}setStickyWidth(e){if(!e)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{const t=this.scrollVisibleSvc.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${t}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${t}px)`)}}setStickyTopOffsetTop(){const t=this.ctrlsSvc.get("gridHeaderCtrl").headerHeight+(this.filterManager?.getHeaderHeight()??0),o=this.pinnedRowModel?.getPinnedTopTotalHeight()??0;let i=0;t>0&&(i+=t),o>0&&(i+=o),i>0&&(i+=1),this.comp.setStickyTopTop(`${i}px`)}setStickyBottomOffsetBottom(){const{pinnedRowModel:e,scrollVisibleSvc:t,comp:o}=this,i=e?.getPinnedBottomTotalHeight()??0,n=t.horizontalScrollShowing&&t.getScrollbarWidth()||0,r=i+n;o.setStickyBottomBottom(`${r}px`)}};function _createElement(e){return _createAgElement(e)}var CellComp=class extends Component{constructor(e,t,o,i,s){super(),this.cellCtrl=t,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=e,this.gos=e.gos,this.column=t.column,this.rowNode=t.rowNode,this.eRow=i;const n=_createElement({tag:"div",role:t.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":t.column.colIdSanitised}});this.eCell=n;let r;t.isCellSpanning()?(r=_createElement({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),r.appendChild(n),this.setTemplateFromElement(r)):this.setTemplateFromElement(n),this.cellCssManager=new CssClassManager(()=>n),this.forceWrapper=t.isForceWrapper(),this.refreshWrapper(!1);const a={toggleCss:(l,d)=>this.cellCssManager.toggleCss(l,d),setUserStyles:l=>_addStylesToElement(n,l),getFocusableElement:()=>n,setIncludeSelection:l=>this.includeSelection=l,setIncludeRowDrag:l=>this.includeRowDrag=l,setIncludeDndSource:l=>this.includeDndSource=l,setRowResizerElement:l=>this.setRowResizerElement(l),setRenderDetails:(l,d,c)=>this.setRenderDetails(l,d,c),setEditDetails:(l,d,c)=>this.setEditDetails(l,d,c),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(l,d)=>this.refreshEditStyles(l,d)};t.setComp(a,n,r,this.eCellWrapper,o,s,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement(e){this.rowResizerElement&&_removeFromParent(this.rowResizerElement),this.rowResizerElement=e,e&&this.eCell.appendChild(e)}setRenderDetails(e,t,o){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=this.firstRender==null;const s=this.refreshWrapper(!1);this.refreshEditStyles(!1),e?!(o||s)&&this.refreshCellRenderer(e)||(this.destroyRenderer(),this.createCellRendererInstance(e)):(this.destroyRenderer(),this.insertValueWithoutCellRenderer(t)),this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement&&this.eCell.appendChild(this.rowResizerElement)}setEditDetails(e,t,o){e?this.createCellEditorInstance(e,t,o):this.destroyEditor()}removeControls(){const e=this.beans.context;this.checkboxSelectionComp=e.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=e.destroyBean(this.dndSourceComp),this.rowDraggingComp=e.destroyBean(this.rowDraggingComp)}refreshWrapper(e){const t=this.includeRowDrag||this.includeDndSource||this.includeSelection,o=t||this.forceWrapper,i=o&&this.eCellWrapper==null;i&&(this.eCellWrapper=_createElement({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper));const s=!o&&this.eCellWrapper!=null;s&&(_removeFromParent(this.eCellWrapper),this.eCellWrapper=void 0),this.cellCssManager.toggleCss("ag-cell-value",!o);const n=!e&&o,r=n&&this.eCellValue==null;if(r){const d=this.cellCtrl.getCellValueClass();this.eCellValue=_createElement({tag:"span",cls:d,role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue)}const a=!n&&this.eCellValue!=null;a&&(_removeFromParent(this.eCellValue),this.eCellValue=void 0);const l=i||s||r||a;return l&&this.removeControls(),!e&&t&&this.addControls(),l}addControls(){const{cellCtrl:e,eCellWrapper:t,eCellValue:o,includeRowDrag:i,includeDndSource:s,includeSelection:n}=this,r=a=>{a&&t.insertBefore(a.getGui(),o)};i&&this.rowDraggingComp==null&&(this.rowDraggingComp=e.createRowDragComp(),r(this.rowDraggingComp)),s&&this.dndSourceComp==null&&(this.dndSourceComp=e.createDndSource(),r(this.dndSourceComp)),n&&this.checkboxSelectionComp==null&&(this.checkboxSelectionComp=e.createSelectionCheckbox(),r(this.checkboxSelectionComp))}createCellEditorInstance(e,t,o){const i=this.editorVersion,s=e.newAgStackInstance(),{params:n}=e;s.then(a=>this.afterCellEditorCreated(i,a,n,t,o)),_missing(this.cellEditor)&&n.cellStartedEdit&&this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(e){const t=this.getParentOfValue();_clearElement(t);const o=_toString(e);o!=null&&(t.textContent=o)}destroyRenderer(){const{context:e}=this.beans;this.cellRenderer=e.destroyBean(this.cellRenderer),_removeFromParent(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){const{context:e}=this.beans;(this.cellEditorPopupWrapper?.getGui().contains(_getActiveDomElement(this.beans))||this.cellCtrl.hasBrowserFocus())&&this.eCell.focus({preventScroll:!0}),this.hideEditorPopup?.(),this.hideEditorPopup=void 0,this.cellEditor=e.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=e.destroyBean(this.cellEditorPopupWrapper),_removeFromParent(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(e){if(this.cellRenderer?.refresh==null||this.cellRendererClass!==e.componentClass)return!1;const t=this.cellRenderer.refresh(e.params);return t===!0||t===void 0}createCellRendererInstance(e){const t=this.rendererVersion,o=n=>r=>{if(this.rendererVersion!==t||!this.isAlive())return;const l=n.newAgStackInstance(),d=this.afterCellRendererCreated.bind(this,t,n.componentClass);l?.then(d)},{animationFrameSvc:i}=this.beans;let s;if(i?.active&&this.firstRender?s=(n,r=!1)=>{i.createTask(o(n),this.rowNode.rowIndex,"p2",n.componentFromFramework,r)}:s=n=>o(n)(),e.params?.deferRender&&!this.cellCtrl.rowNode.group){const{loadingComp:n,onReady:r}=this.cellCtrl.getDeferLoadingCellRenderer();n&&(s(n),r.then(()=>s(e,!0)))}else s(e)}afterCellRendererCreated(e,t,o){if(!this.isAlive()||e!==this.rendererVersion){this.beans.context.destroyBean(o);return}this.cellRenderer=o,this.cellRendererClass=t;const s=o.getGui();if(this.cellRendererGui=s,s!=null){const n=this.getParentOfValue();_clearElement(n),n.appendChild(s)}}afterCellEditorCreated(e,t,o,i,s){const n=e!==this.editorVersion,{context:r}=this.beans;if(n){r.destroyBean(t);return}if(t.isCancelBeforeStart?.()){r.destroyBean(t),this.cellCtrl.stopEditing(!0);return}if(!t.getGui){_warn(97,{colId:this.column.getId()}),r.destroyBean(t);return}this.cellEditor=t,this.cellEditorGui=t.getGui();const l=i||t.isPopup?.();l?this.addPopupCellEditor(o,s):this.addInCellEditor(),this.refreshEditStyles(!0,l),t.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(t),this.cellCtrl.cellEditorAttached()}refreshEditStyles(e,t){const{cellCssManager:o}=this;o.toggleCss("ag-cell-inline-editing",e&&!t),o.toggleCss("ag-cell-popup-editing",e&&!!t),o.toggleCss("ag-cell-not-inline-editing",!e||!!t)}addInCellEditor(){const{eCell:e}=this;e.contains(_getActiveDomElement(this.beans))&&e.focus(),this.destroyRenderer(),this.refreshWrapper(!0),_clearElement(this.getParentOfValue()),this.cellEditorGui&&this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor(e,t){const{gos:o,context:i,popupSvc:s,editSvc:n}=this.beans;o.get("editType")==="fullRow"&&_warn(98);const r=this.cellEditorPopupWrapper=i.createBean(n.createPopupEditorWrapper(e)),{cellEditor:a,cellEditorGui:l,eCell:d,rowNode:c,column:u,cellCtrl:h}=this,g=r.getGui();l&&g.appendChild(l);const p=o.get("stopEditingWhenCellsLoseFocus"),f=t??a.getPopupPosition?.()??"over",m=o.get("enableRtl"),C={ePopup:g,additionalParams:{column:u,rowNode:c},type:"popupCellEditor",eventSource:d,position:f,alignSide:m?"right":"left",keepWithinBounds:!0},w=s.positionPopupByComponent.bind(s,C),v=s.addPopup({modal:p,eChild:g,closeOnEsc:!0,closedCallback:b=>{h.onPopupEditorClosed(b)},anchorToElement:d,positionCallback:w,ariaOwns:d});v&&(this.hideEditorPopup=v.hideFunc)}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},RowComp=class extends Component{constructor(e,t,o){super(),this.cellComps=new Map,this.beans=t,this.rowCtrl=e;const i=_createElement({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(i,o),this.setTemplateFromElement(i);const s=i.style;this.domOrder=this.rowCtrl.getDomOrder();const n={setDomOrder:r=>this.domOrder=r,setCellCtrls:r=>this.setCellCtrls(r),showFullWidth:r=>this.showFullWidth(r),getFullWidthCellRenderer:()=>this.fullWidthCellRenderer,getFullWidthCellRendererParams:()=>this.fullWidthCellRendererParams,toggleCss:(r,a)=>this.toggleCss(r,a),setUserStyles:r=>_addStylesToElement(i,r),setTop:r=>s.top=r,setTransform:r=>s.transform=r,setRowIndex:r=>i.setAttribute("row-index",r),setRowId:r=>i.setAttribute("row-id",r),setRowBusinessKey:r=>i.setAttribute("row-business-key",r),refreshFullWidth:r=>{const a=r();return this.fullWidthCellRendererParams=a,this.fullWidthCellRenderer?.refresh?.(a)??!1}};e.setComp(n,this.getGui(),o,void 0),this.addDestroyFunc(()=>{e.unsetComp(o)})}setInitialStyle(e,t){const o=this.rowCtrl.getInitialTransform(t);if(o)e.style.setProperty("transform",o);else{const i=this.rowCtrl.getInitialRowTop(t);i&&e.style.setProperty("top",i)}}showFullWidth(e){const t=i=>{if(this.isAlive()){const s=i.getGui();this.getGui().appendChild(s),this.rowCtrl.setupDetailRowAutoHeight(s),this.setFullWidthRowComp(i,e.params)}else this.beans.context.destroyBean(i)};e.newAgStackInstance().then(t)}setCellCtrls(e){const t=new Map(this.cellComps);for(const o of e){const i=o.instanceId;this.cellComps.has(i)?t.delete(i):this.newCellComp(o)}this.destroyCells(t),this.ensureDomOrder(e)}ensureDomOrder(e){if(!this.domOrder)return;const t=[];for(const o of e){const i=this.cellComps.get(o.instanceId);i&&t.push(i.getGui())}_setDomChildOrder(this.getGui(),t)}newCellComp(e){const t=this.beans.editSvc?.isEditing(e,{withOpenEditor:!0})??!1,o=new CellComp(this.beans,e,this.rowCtrl.printLayout,this.getGui(),t);this.cellComps.set(e.instanceId,o),this.getGui().appendChild(o.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp(e,t){this.fullWidthCellRenderer=e,this.fullWidthCellRendererParams=t,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells(e){for(const t of e.values()){if(!t)continue;const o=t.cellCtrl.instanceId;this.cellComps.get(o)===t&&(t.detach(),t.destroy(),this.cellComps.delete(o))}}};function getElementParams(e,t,o){const i=!!o.gos.get("enableCellSpan")&&!!t.getSpannedRowCtrls,s={tag:"div",ref:"eContainer",cls:_getRowContainerClass(e),role:"rowgroup"};if(t.type==="center"||i){const n={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${_getRowSpanContainerClass(e)}`,role:"presentation"};return s.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${_getRowViewportClass(e)}`,role:"rowgroup",children:[s,i?n:null]}}return s}var RowContainerComp=class extends Component{constructor(e){super(),this.eViewport=RefPlaceholder,this.eContainer=RefPlaceholder,this.eSpannedContainer=RefPlaceholder,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=e?.name,this.options=_getRowContainerOptions(this.name)}postConstruct(){this.setTemplate(getElementParams(this.name,this.options,this.beans));const e={setHorizontalScroll:o=>this.eViewport.scrollLeft=o,setViewportHeight:o=>this.eViewport.style.height=o,setRowCtrls:({rowCtrls:o})=>this.setRowCtrls(o),setSpannedRowCtrls:o=>this.setRowCtrls(o,!0),setDomOrder:o=>{this.domOrder=o},setContainerWidth:o=>{this.eContainer.style.width=o,this.eSpannedContainer&&(this.eSpannedContainer.style.width=o)},setOffsetTop:o=>{const i=`translateY(${o})`;this.eContainer.style.transform=i,this.eSpannedContainer&&(this.eSpannedContainer.style.transform=i)}};this.createManagedBean(new RowContainerCtrl(this.name)).setComp(e,this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls(e,t){const{beans:o,options:i}=this,s=t?this.eSpannedContainer:this.eContainer,n=t?{...this.rowCompsWithSpan}:{...this.rowCompsNoSpan},r={};t?this.rowCompsWithSpan=r:this.rowCompsNoSpan=r,this.lastPlacedElement=null;const a=[];for(const l of e){const d=l.instanceId,c=n[d];let u;if(c)u=c,delete n[d];else{if(!l.rowNode.displayed)continue;u=new RowComp(l,o,i.type)}r[d]=u,a.push([u,!c])}this.removeOldRows(Object.values(n)),this.addRowNodes(a,s)}addRowNodes(e,t){const{domOrder:o}=this;for(const[i,s]of e){const n=i.getGui();o?this.ensureDomOrder(n,t):s&&t.appendChild(n)}}removeOldRows(e){for(const t of e)t.getGui().remove(),t.destroy()}ensureDomOrder(e,t){_ensureDomOrder(t,e,this.lastPlacedElement),this.lastPlacedElement=e}},RowContainerSelector={selector:"AG-ROW-CONTAINER",component:RowContainerComp};function makeRowContainers(e,t){return t.map(o=>{const i=`e${o[0].toUpperCase()+o.substring(1)}RowContainer`;return e[i]={name:o},{tag:"ag-row-container",ref:i,attrs:{name:o}}})}function getGridBodyTemplate(e){const t={},o={tag:"div",ref:"eGridRoot",cls:"ag-root ag-unselectable",children:[{tag:"ag-header-root"},{tag:"div",ref:"eTop",cls:"ag-floating-top",role:"presentation",children:makeRowContainers(t,["topLeft","topCenter","topRight","topFullWidth"])},{tag:"div",ref:"eBody",cls:"ag-body",role:"presentation",children:[{tag:"div",ref:"eBodyViewport",cls:"ag-body-viewport",role:"presentation",children:makeRowContainers(t,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:makeRowContainers(t,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:makeRowContainers(t,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:makeRowContainers(t,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},e?{tag:"ag-overlay-wrapper"}:null]};return{paramsMap:t,elementParams:o}}var GridBodyComp=class extends Component{constructor(){super(...arguments),this.eGridRoot=RefPlaceholder,this.eBodyViewport=RefPlaceholder,this.eStickyTop=RefPlaceholder,this.eStickyBottom=RefPlaceholder,this.eTop=RefPlaceholder,this.eBottom=RefPlaceholder,this.eBody=RefPlaceholder}postConstruct(){const{overlays:e,rangeSvc:t}=this.beans,o=e?.getOverlayWrapperSelector(),{paramsMap:i,elementParams:s}=getGridBodyTemplate(!!o);this.setTemplate(s,[...o?[o]:[],FakeHScrollSelector,FakeVScrollSelector,GridHeaderSelector,RowContainerSelector],i);const n=(a,l)=>{const d=`${a}px`;l.style.minHeight=d,l.style.height=d},r={setRowAnimationCssOnBodyViewport:(a,l)=>this.setRowAnimationCssOnBodyViewport(a,l),setColumnCount:a=>_setAriaColCount(this.getGui(),a),setRowCount:a=>_setAriaRowCount(this.getGui(),a),setTopHeight:a=>n(a,this.eTop),setBottomHeight:a=>n(a,this.eBottom),setTopInvisible:a=>this.eTop.classList.toggle("ag-invisible",a),setBottomInvisible:a=>this.eBottom.classList.toggle("ag-invisible",a),setStickyTopHeight:a=>this.eStickyTop.style.height=a,setStickyTopTop:a=>this.eStickyTop.style.top=a,setStickyTopWidth:a=>this.eStickyTop.style.width=a,setStickyBottomHeight:a=>{this.eStickyBottom.style.height=a,this.eStickyBottom.classList.toggle("ag-invisible",a==="0px")},setStickyBottomBottom:a=>this.eStickyBottom.style.bottom=a,setStickyBottomWidth:a=>this.eStickyBottom.style.width=a,setColumnMovingCss:(a,l)=>this.toggleCss(a,l),updateLayoutClasses:(a,l)=>{const d=[this.eBodyViewport.classList,this.eBody.classList];for(const c of d)c.toggle(LayoutCssClasses.AUTO_HEIGHT,l.autoHeight),c.toggle(LayoutCssClasses.NORMAL,l.normal),c.toggle(LayoutCssClasses.PRINT,l.print);this.toggleCss(LayoutCssClasses.AUTO_HEIGHT,l.autoHeight),this.toggleCss(LayoutCssClasses.NORMAL,l.normal),this.toggleCss(LayoutCssClasses.PRINT,l.print)},setAlwaysVerticalScrollClass:(a,l)=>this.eBodyViewport.classList.toggle(CSS_CLASS_FORCE_VERTICAL_SCROLL,l),registerBodyViewportResizeListener:a=>{const l=_observeResize(this.beans,this.eBodyViewport,a);this.addDestroyFunc(()=>l())},setPinnedTopBottomOverflowY:a=>this.eTop.style.overflowY=this.eBottom.style.overflowY=a,setCellSelectableCss:(a,l)=>{for(const d of[this.eTop,this.eBodyViewport,this.eBottom])d.classList.toggle(a,l)},setBodyViewportWidth:a=>this.eBodyViewport.style.width=a,setGridRootRole:a=>_setAriaRole(this.eGridRoot,a)};this.ctrl=this.createManagedBean(new GridBodyCtrl),this.ctrl.setComp(r,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),(t&&_isCellSelectionEnabled(this.gos)||_isMultiRowSelection(this.gos))&&_setAriaMultiSelectable(this.getGui(),!0)}setRowAnimationCssOnBodyViewport(e,t){const o=this.eBodyViewport.classList;o.toggle("ag-row-animation",t),o.toggle("ag-row-no-animation",!t)}getFocusableContainerName(){return"gridBody"}},GridBodySelector={selector:"AG-GRID-BODY",component:GridBodyComp},TabGuardClassNames={TAB_GUARD:"ag-tab-guard",TAB_GUARD_TOP:"ag-tab-guard-top",TAB_GUARD_BOTTOM:"ag-tab-guard-bottom"},AgTabGuardCtrl=class extends AgBeanStub{constructor(e,t){super(),this.stopPropagationCallbacks=t,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;const{comp:o,eTopGuard:i,eBottomGuard:s,focusTrapActive:n,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:a,focusInnerElement:l,onFocusIn:d,onFocusOut:c,shouldStopEventPropagation:u,onTabKeyDown:h,handleKeyDown:g,isEmpty:p,eFocusableElement:f}=e;this.comp=o,this.eTopGuard=i,this.eBottomGuard=s,this.providedFocusInnerElement=l,this.eFocusableElement=f,this.focusTrapActive=!!n,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!a,this.providedFocusIn=d,this.providedFocusOut=c,this.providedShouldStopEventPropagation=u,this.providedOnTabKeyDown=h,this.providedHandleKeyDown=g,this.providedIsEmpty=p}postConstruct(){this.createManagedBean(new AgManagedFocusFeature(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards();for(const e of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)})}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return this.providedShouldStopEventPropagation?this.providedShouldStopEventPropagation():!1}activateTabGuards(){if(this.forcingFocusOut)return;const e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty&&(this.providedIsEmpty?this.providedIsEmpty():_findFocusableElements(this.eFocusableElement,".ag-tab-guard").length===0)){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;const t=e.target===this.eBottomGuard;!(this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t))&&this.forceFocusOutWhenTabGuardsAreEmpty&&this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard)}findNextElementOutsideAndFocus(e){const t=_getDocument(this.beans),o=_findFocusableElements(t.body,null,!0),i=o.indexOf(e?this.eTopGuard:this.eBottomGuard);if(i===-1)return;let s,n;e?(s=0,n=i):(s=i+1,n=o.length);const r=o.slice(s,n),a=this.gos.get("tabIndex");r.sort((l,d)=>{const c=Number.parseInt(l.getAttribute("tabindex")||"0"),u=Number.parseInt(d.getAttribute("tabindex")||"0");return u===a?1:c===a?-1:c===0?1:u===0?-1:c-u}),r[e?r.length-1:0]?.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(e);return}if(this.focusTrapActive||e.defaultPrevented)return;const t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();const o=this.getNextFocusableElement(e.shiftKey);t&&setTimeout(()=>this.activateTabGuards(),0),o&&(o.focus(),e.preventDefault())}focusInnerElement(e=!1){const t=_findFocusableElements(this.eFocusableElement);return this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(-1,1)),t.length?(t[e?t.length-1:0].focus({preventScroll:!0}),!0):!1}getNextFocusableElement(e){return _findNextFocusableElement(this.beans,this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;const t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},AgTabGuardFeature=class extends AgBeanStub{constructor(e,t){super(),this.comp=e,this.stopPropagationCallbacks=t}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();const{eTopGuard:t,eBottomGuard:o,eFocusableElement:i,stopPropagationCallbacks:s}=this,n=[t,o],r={setTabIndex:C=>{for(const w of n)C==null?w.removeAttribute("tabindex"):w.setAttribute("tabindex",C)}};this.addTabGuards(t,o);const{focusTrapActive:a=!1,onFocusIn:l,onFocusOut:d,focusInnerElement:c,handleKeyDown:u,onTabKeyDown:h,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:f,isFocusableContainer:m}=e;this.tabGuardCtrl=this.createManagedBean(new AgTabGuardCtrl({comp:r,focusTrapActive:a,eTopGuard:t,eBottomGuard:o,eFocusableElement:i,onFocusIn:l,onFocusOut:d,focusInnerElement:c,handleKeyDown:u,onTabKeyDown:h,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:f,isFocusableContainer:m},s))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){const t=_getDocument(this.beans).createElement("div"),o=e==="top"?TabGuardClassNames.TAB_GUARD_TOP:TabGuardClassNames.TAB_GUARD_BOTTOM;return t.classList.add(TabGuardClassNames.TAB_GUARD,o),_setAriaRole(t,"presentation"),t}addTabGuards(e,t){const o=this.eFocusableElement;o.prepend(e),o.append(t)}removeAllChildrenExceptTabGuards(){const e=[this.eTopGuard,this.eBottomGuard];_clearElement(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,o){_isNodeOrElement(t)||(t=t.getGui());const{eBottomGuard:i}=this;i?i.before(t):e(t,o)}destroy(){const{eTopGuard:e,eBottomGuard:t}=this;_removeFromParent(e),_removeFromParent(t),super.destroy()}},AgTabGuardComp=class extends AgComponentStub{initialiseTabGuard(e,t){this.tabGuardFeature=this.createManagedBean(new AgTabGuardFeature(this,t)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},TabGuardComp=class extends AgTabGuardComp{initialiseTabGuard(e){super.initialiseTabGuard(e,STOP_PROPAGATION_CALLBACKS)}},focusContainer=(e,t)=>_runWithContainerFocusAllowed(e,()=>_focusInto(e.getGui(),t,!1,!0)),getGridContainerName=e=>e?.getFocusableContainerName()??"external",getDefaultTabToNextGridContainerTargetName=e=>e==null?"external":typeof e=="string"?e:"gridBody",GridCtrl=class extends BeanStub{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}setComp(e,t,o){this.view=e,this.eGridHostDiv=t,this.eGui=o,this.eGui.setAttribute("grid-id",this.beans.context.getId());const{dragAndDrop:i,ctrlsSvc:s}=this.beans;i?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new LayoutFeature(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),this.gos.get("suppressContentVisibilityAuto")&&this.eGui.style.setProperty("content-visibility","visible");const n=_observeResize(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>n()),s.register("gridCtrl",this)}isDetailGrid(){return _findTabbableParent(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){const e=this.beans;return{paginationSelector:e.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:e.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:e.sideBar?.getSelector(),statusBarSelector:e.registry?.getSelector("AG-STATUS-BAR"),toolbarSelector:e.registry?.getSelector("AG-TOOLBAR"),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventSvc.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){const{view:t}=this;e===!1?t.setCursor(null):t.setCursor(e===1?"ew-resize":"ns-resize")}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){const t=this.getFocusableContainers(),{indexWithFocus:o,nextIndex:i}=this.getNextFocusableIndex(t,e),s=o===-1?e?t.length-1:0:i,{gos:n,beans:{focusSvc:r,navigation:a}}=this,l=n.getCallback("tabToNextGridContainer");if(l){const d=r.getDefaultTabToNextGridContainerTarget({backwards:e,focusableContainers:t,nextIndex:s}),c=getGridContainerName(t[s]),u=d==null&&c==="gridBody"?"gridBody":getDefaultTabToNextGridContainerTargetName(d),h=l({backwards:e,previousContainer:getGridContainerName(t[o]),nextContainer:u,defaultTarget:d});if(h!==void 0){if(typeof h=="boolean")return h;if(typeof h=="string"){if(h==="gridBody")return this.focusGridBodyDefault(e)||void 0;const g=t.find(p=>p.getFocusableContainerName()===h);if(!g){_consoleWarn(`tabToNextGridContainer - ${h} container not found`);return}return focusContainer(g,e)?!0:void 0}return isHeaderPosition(h)?r.focusHeaderPosition({headerPosition:h})||void 0:(a?.ensureCellVisible(h),r.setFocusedCell({...h,forceBrowserFocus:!0}),r.isCellFocused(h)||void 0)}}return this.focusNextInnerContainerDefault({backwards:e,focusableContainers:t,indexWithFocus:o,nextIndex:s})||void 0}focusInnerElement(e){const{gos:t,beans:o,beans:{focusSvc:i,visibleCols:s}}=this;if(t.getCallback("focusGridInnerElement")?.({fromBottom:!!e}))return!0;const r=this.getFocusableContainers();if(e)return this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:r,indexWithFocus:r.length,nextIndex:r.length-1})?!0:i.focusGridView({column:_last(s.allCols),backwards:!0});const a=s.allCols;if(t.get("headerHeight")===0||_isHeaderFocusSuppressed(o)){if(i.focusGridView({column:a[0],backwards:e}))return!0;for(let l=1;l<r.length;l++)if(_focusInto(r[l].getGui(),e))return!0;return!1}return i.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}isFocusInsideGridBody(){const e=this.getFocusableContainers(),{indexWithFocus:t}=this.getNextFocusableIndex(e);return e[t]?.getFocusableContainerName()==="gridBody"}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}allowFocusForNextCoreContainer(e){const t=this.view.getFocusableContainers(),{indexWithFocus:o,nextIndex:i}=this.getNextFocusableIndex(t,e);this.focusNextInnerContainerDefault({backwards:!!e,focusableContainers:t,indexWithFocus:o,nextIndex:i})||this.forceFocusOutOfContainer(e)}isFocusable(){const e=this.beans;return!_isCellFocusSuppressed(e)||!_isHeaderFocusSuppressed(e)||!!e.sideBar?.comp?.isDisplayed()}getNextFocusableIndex(e,t){const o=_getActiveDomElement(this.beans),i=e.findIndex(s=>s.getGui().contains(o));return{indexWithFocus:i,nextIndex:i+(t?-1:1)}}focusGridBodyDefault(e){const{gos:t,beans:o,beans:{focusSvc:i,visibleCols:{allCols:s}}}=this;return e?i.focusGridView({column:_last(s),backwards:!0}):t.get("headerHeight")===0||_isHeaderFocusSuppressed(o)?i.focusGridView({column:s[0]}):i.focusFirstHeader()}focusNextInnerContainerDefault(e){const{backwards:t,focusableContainers:o,indexWithFocus:i}=e,s=t?-1:1;for(let n=e.nextIndex;n>=0&&n<o.length;n+=s){const r=o[n];if(r.getFocusableContainerName()==="gridBody"&&(i===-1||(t?i>n:i<n))){if(this.focusGridBodyDefault(t))return!0;continue}if(focusContainer(r,t))return!0}return!1}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},GridComp=class extends TabGuardComp{constructor(e){super(),this.gridBody=RefPlaceholder,this.toolbar=RefPlaceholder,this.gridHeaderDropZones=RefPlaceholder,this.sideBar=RefPlaceholder,this.statusBar=RefPlaceholder,this.pagination=RefPlaceholder,this.rootWrapperBody=RefPlaceholder,this.eGridDiv=e}postConstruct(){const e={destroyGridUi:()=>this.destroyBean(this),setRtlClass:n=>this.addCss(n),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:n=>{this.getGui().style.userSelect=n??"",this.getGui().style.webkitUserSelect=n??""},setCursor:n=>{this.getGui().style.cursor=n??""}},t=this.createManagedBean(new GridCtrl),o=t.getOptionalSelectors(),i=this.createTemplate(o),s=[GridBodySelector,...Object.values(o).filter(n=>!!n)];this.setTemplate(i,s),t.setComp(e,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:n=>t.focusInnerElement(n),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!t.isFocusable()})}insertGridIntoDom(){const e=this.getGui();this.eGridDiv.appendChild(e),this.addDestroyFunc(()=>{e.remove(),_logIfDebug(this.gos,"Grid removed from DOM")})}updateLayoutClasses(e,t){const o=this.rootWrapperBody.classList,{AUTO_HEIGHT:i,NORMAL:s,PRINT:n}=LayoutCssClasses,{autoHeight:r,normal:a,print:l}=t;o.toggle(i,r),o.toggle(s,a),o.toggle(n,l),this.toggleCss(i,r),this.toggleCss(s,a),this.toggleCss(n,l)}createTemplate(e){const t=e.toolbarSelector?{tag:"ag-toolbar",ref:"toolbar"}:null,o=e.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,i=e.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,s=e.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,n=e.watermarkSelector?{tag:"ag-watermark"}:null,r=e.paginationSelector?{tag:"ag-pagination",ref:"pagination"}:null;return{tag:"div",cls:"ag-root-wrapper",role:"presentation",children:[t,o,{tag:"div",ref:"rootWrapperBody",cls:"ag-root-wrapper-body",role:"presentation",children:[{tag:"ag-grid-body",ref:"gridBody"},i]},s,r,n]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(e=!1){if(!e&&this.pagination?.isDisplayed()){this.pagination.forceFocusOutOfContainer(e);return}super.forceFocusOutOfContainer(e)}getFocusableContainers(){const e=[];this.toolbar&&e.push(this.toolbar),e.push(...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody);for(const t of[this.sideBar,this.statusBar,this.pagination])t&&e.push(t);return e.filter(t=>_isVisible(t.getGui()))}},mod=(e,t)=>{for(const o of Object.keys(t))t[o]=e;return t},gridApiFunctionsMap={dispatchEvent:"CommunityCore",...mod("CommunityCore",{destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,isModuleRegistered:0}),...mod("GridState",{getState:0,setState:0}),...mod("SharedRowSelection",{setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0}),...mod("RowApi",{redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRowIndex:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0}),...mod("ScrollApi",{getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0}),...mod("KeyboardNavigation",{getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0}),...mod("EventApi",{addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0}),...mod("ValueCache",{expireValueCache:0}),...mod("CellApi",{getCellValue:0}),...mod("SharedMenu",{showColumnMenu:0,hidePopupMenu:0}),...mod("Sort",{onSortChanged:0}),...mod("PinnedRow",{getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,forEachPinnedRow:0}),...mod("Overlay",{showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0}),...mod("RenderApi",{setGridAriaProperty:0,refreshCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0}),...mod("HighlightChanges",{flashCells:0}),...mod("RowDrag",{addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getRowDropPositionIndicator:0,setRowDropPositionIndicator:0}),...mod("ColumnApi",{getColumnDefs:0,getColumnDef:0,getDisplayNameForColumn:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnsVisible:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0}),...mod("ColumnAutoSize",{sizeColumnsToFit:0,autoSizeColumns:0,autoSizeAllColumns:0}),...mod("ColumnGroup",{setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumnGroup:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0}),...mod("ColumnMove",{moveColumnByIndex:0,moveColumns:0}),...mod("ColumnResize",{setColumnWidths:0}),...mod("ColumnHover",{isColumnHovered:0}),...mod("EditCore",{getCellEditorInstances:0,getEditingCells:0,getEditRowValues:0,stopEditing:0,startEditingCell:0,isEditing:0,validateEdit:0}),...mod("BatchEdit",{startBatchEdit:0,cancelBatchEdit:0,commitBatchEdit:0,isBatchEditing:0}),...mod("UndoRedoEdit",{undoCellEditing:0,redoCellEditing:0,getCurrentUndoSize:0,getCurrentRedoSize:0}),...mod("FilterCore",{isAnyFilterPresent:0,onFilterChanged:0}),...mod("ColumnFilter",{isColumnFilterPresent:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,hideColumnFilter:0,getColumnFilterHandler:0,doFilterAction:0}),...mod("QuickFilter",{isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0}),...mod("Notes",{getNote:0,setNote:0,refreshNotes:0}),...mod("Find",{findGetActiveMatch:0,findGetTotalMatches:0,findGoTo:0,findNext:0,findPrevious:0,findGetNumMatches:0,findGetParts:0,findClearActive:0,findRefresh:0}),...mod("Pagination",{paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0}),...mod("CsrmSsrmSharedApi",{expandAll:0,collapseAll:0,resetRowGroupExpansion:0}),...mod("SsrmInfiniteSharedApi",{setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...mod("ClientSideRowModelApi",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0,onRowHeightChanged:0,resetRowHeights:0}),...mod("CsvExport",{getDataAsCsv:0,exportDataAsCsv:0}),...mod("InfiniteRowModel",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...mod("AdvancedFilter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...mod("IntegratedCharts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...mod("Clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...mod("ExcelExport",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...mod("SharedMasterDetail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...mod("Formula",{refreshFormulas:0}),...mod("ContextMenu",{showContextMenu:0}),...mod("ColumnMenu",{showColumnChooser:0,hideColumnChooser:0}),...mod("CellSelection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...mod("SharedRowGrouping",{setRowGroupColumns:0,removeRowGroupColumns:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0}),...mod("SharedAggregation",{addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0}),...mod("SharedPivot",{isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumns:0,addValueColumns:0,setPivotColumns:0,removePivotColumns:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...mod("ServerSideRowModelApi",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0,onRowHeightChanged:0,resetRowHeights:0}),...mod("SideBar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...mod("Toolbar",{getToolbarItemInstance:0}),...mod("StatusBar",{getStatusPanel:0}),...mod("AiToolkit",{getStructuredSchema:0})},defaultFns={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},dispatchEvent=(e,t)=>e.eventSvc.dispatchEvent(t),GridApiClass=class{};Reflect.defineProperty(GridApiClass,"name",{value:"GridApi"});var ApiFunctionService=class extends BeanStub{constructor(){super(),this.beanName="apiFunctionSvc",this.api=new GridApiClass,this.fns={...defaultFns,dispatchEvent},this.preDestroyLink="";const{api:e}=this;for(const t of Object.keys(gridApiFunctionsMap))e[t]=this.makeApi(t)[t]}postConstruct(){this.preDestroyLink=this.beans.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(e,t){const{fns:o,beans:i}=this;o!==defaultFns&&(o[e]=i?.validation?.validateApiFunction(e,t)??t)}makeApi(e){return{[e]:(...t)=>{const{beans:o,fns:{[e]:i}}=this;return i?i(o,...t):this.apiNotFound(e)}}}apiNotFound(e){const{beans:t,gos:o,preDestroyLink:i}=this;if(!t)_warn(26,{fnName:e,preDestroyLink:i});else{const s=gridApiFunctionsMap[e];o.assertModuleRegistered(s,`api.${e}`)&&_warn(27,{fnName:e,module:s})}}destroy(){super.destroy(),this.fns=defaultFns,this.beans=null}};function getGridId(e){return e.context.getId()}function destroy(e){e.gridDestroySvc.destroy()}function isDestroyed(e){return e.gridDestroySvc.destroyCalled}function getGridOption(e,t){return e.gos.get(t)}function setGridOption(e,t,o){updateGridOptions(e,{[t]:o})}function updateGridOptions(e,t){e.gos.updateGridOptions({options:t})}function isModuleRegistered(e,t){const o=t.replace(/Module$/,"");return e.gos.isModuleRegistered(o)}function _createIcon(e,t,o){const i=_createIconNoSpan(e,t,o);if(i){const{className:n}=i;if(typeof n=="string"&&n.includes("ag-icon")||typeof n=="object"&&n["ag-icon"])return i}const s=_createElement({tag:"span"});return s.appendChild(i),s}function _createIconNoSpan(e,t,o){let i=null;e==="smallDown"?_warn(262):e==="smallLeft"?_warn(263):e==="smallRight"&&_warn(264);const s=o?.colDef.icons;if(s&&(i=s[e]),t.gos&&!i){const n=t.gos.get("icons");n&&(i=n[e])}if(i){let n;if(typeof i=="function")n=i();else if(typeof i=="string")n=i;else{_warn(38,{iconName:e});return}if(typeof n=="string")return _loadTemplate(n);if(_isNodeOrElement(n))return n;_warn(133,{iconName:e});return}else{const n=t.registry.getIcon(e);return n||t.validation?.validateIcon(e),_createElement({tag:"span",cls:`ag-icon ag-icon-${n??e}`,role:"presentation",attrs:{unselectable:"on"}})}}var DndSourceElement={tag:"div",cls:"ag-drag-handle ag-row-drag",attrs:{draggable:"true"}},DndSourceComp=class extends Component{constructor(e,t,o){super(DndSourceElement),this.rowNode=e,this.column=t,this.eCell=o}postConstruct(){this.getGui().appendChild(_createIconNoSpan("rowDrag",this.beans,null)),this.addGuiEventListener("mousedown",t=>{t.stopPropagation()}),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){const{rowNode:t,column:o,eCell:i,gos:s}=this,n=o.colDef.dndSourceOnRowDrag,r=e.dataTransfer;if(r.setDragImage(i,0,0),n){const a=_addGridCommonParams(s,{rowNode:t,dragEvent:e});n(a)}else try{const a=JSON.stringify(t.data);r.setData("application/json",a),r.setData("text/plain",a)}catch{}}checkVisibility(){const e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},dragAndDropImageComponent_default=".ag-dnd-ghost{align-items:center;background-color:var(--ag-drag-and-drop-image-background-color);border:var(--ag-drag-and-drop-image-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-drag-and-drop-image-shadow);color:var(--ag-text-color);cursor:move;display:flex;font-weight:500;gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);text-overflow:ellipsis;transform:translateY(calc(var(--ag-spacing)*2));white-space:nowrap}.ag-dnd-ghost-not-allowed{border:var(--ag-drag-and-drop-image-not-allowed-border)}",DragAndDropElement={tag:"div",children:[{tag:"div",ref:"eGhost",cls:"ag-dnd-ghost ag-unselectable",children:[{tag:"span",ref:"eIcon",cls:"ag-dnd-ghost-icon ag-shake-left-to-right"},{tag:"div",ref:"eLabel",cls:"ag-dnd-ghost-label"}]}]},DragAndDropImageComponent2=class extends Component{constructor(){super(),this.dragSource=null,this.eIcon=RefPlaceholder,this.eLabel=RefPlaceholder,this.eGhost=RefPlaceholder,this.registerCSS(dragAndDropImageComponent_default)}postConstruct(){const e=t=>_createIcon(t,this.beans,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(DragAndDropElement),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t){const{eGhost:o,eIcon:i,dragSource:s,dropIconMap:n,gos:r}=this;_clearElement(i),e||(e=s?.getDefaultIconName?s.getDefaultIconName():"notAllowed");const a=n[e];o.classList.toggle("ag-dnd-ghost-not-allowed",e==="notAllowed"),i.classList.toggle("ag-shake-left-to-right",t),!(a===n.hide&&r.get("suppressDragLeaveHidesColumns"))&&a&&i.appendChild(a)}setLabel(e){this.eLabel.textContent=e}};function addRowDropZone(e,t){e.rowDragSvc?.rowDragFeature?.addRowDropZone(t)}function removeRowDropZone(e,t){const o=e.dragAndDrop?.findExternalZone(t.getContainer());o&&e.dragAndDrop?.removeDropTarget(o)}function getRowDropZoneParams(e,t){return e.rowDragSvc?.rowDragFeature?.getRowDropZone(t)}function getRowDropPositionIndicator(e){const t=e.rowDropHighlightSvc;return t?{row:t.row,dropIndicatorPosition:t.position}:{row:null,dropIndicatorPosition:"none"}}function setRowDropPositionIndicator(e,t){const o=e.rowDropHighlightSvc;if(!o)return;const i=t?.row;let s=t?.dropIndicatorPosition;s!=="above"&&s!=="below"&&s!=="inside"&&(s="none");const n=i?.rowIndex;n==null||s==="none"?o.clear():o.set(i,s)}var tryPointerCapture=(e,t)=>{if(t!=null&&e?.setPointerCapture)try{return e.setPointerCapture(t),e.hasPointerCapture(t)}catch{}return!1},capturePointer=(e,t)=>{if(typeof PointerEvent>"u"||!(t instanceof PointerEvent))return null;const o=t.pointerId;if(!tryPointerCapture(e,o))return null;const i={eElement:e,pointerId:o,onLost(s){pointerLostHandler(i,s)}};return e.addEventListener("lostpointercapture",i.onLost),i},releasePointerCapture=e=>{if(!e)return;removeLostHandler(e);const{eElement:t,pointerId:o}=e;if(t){try{t.releasePointerCapture(o)}catch{}e.eElement=null}},removeLostHandler=e=>{const{eElement:t,onLost:o}=e;t&&o&&(t.removeEventListener("lostpointercapture",o),e.onLost=null)},pointerLostHandler=(e,t)=>{removeLostHandler(e);const{eElement:o,pointerId:i}=e;o&&t.pointerId===i&&tryPointerCapture(o,i)},activePointerDrags,handledDragEvents,PASSIVE_TRUE={passive:!0},PASSIVE_FALSE={passive:!1},addHandledDragEvent=e=>{if(!handledDragEvents)handledDragEvents=new WeakSet;else if(handledDragEvents.has(e))return!1;return handledDragEvents.add(e),!0},BaseDragService=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="dragSvc",this.dragging=!1,this.drag=null,this.dragSources=[]}get startTarget(){return this.drag?.start.target??null}isPointer(){return!!activePointerDrags?.has(_getRootNode(this.beans))}hasPointerCapture(){const e=this.drag?.pointerCapture;return!!(e&&this.beans.eRootDiv.hasPointerCapture?.(e.pointerId))}destroy(){this.drag&&this.cancelDrag();const e=this.dragSources;for(const t of e)destroyDragSourceEntry(t);e.length=0,super.destroy()}removeDragSource(e){const t=this.dragSources;for(let o=0,i=t.length;o<i;++o){const s=t[o];if(s.params===e){t.splice(o,1),destroyDragSourceEntry(s);break}}}addDragSource(e){if(!this.isAlive())return;const{eElement:t,includeTouch:o}=e,i=[];let s;if(o){const d=t.style;d&&(s=d.touchAction,d.touchAction="none")}const n={handlers:i,params:e,oldTouchAction:s};this.dragSources.push(n),addTempEventHandlers(i,[t,"pointerdown",d=>this.onPointerDown(e,d),PASSIVE_FALSE],[t,"mousedown",d=>this.onMouseDown(e,d)]);const l=this.gos.get("suppressTouch");o&&!l&&addTempEventHandlers(i,[t,"touchstart",c=>this.onTouchStart(e,c),PASSIVE_FALSE])}cancelDrag(e){const t=this.drag;e??(e=t?.eElement),e&&this.eventSvc.dispatchEvent({type:"dragCancelled",target:e}),t?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent(e){const t=e.type;return(t==="mousemove"||t==="pointermove")&&e.cancelable&&_isEventFromThisInstance(this.beans,e)&&!_isFocusableFormField(getEventTargetElement(e))}initDrag(e,...t){this.drag=e;const o=this.beans,i=a=>this.onScroll(a),s=a=>this.onKeyDown(a),n=_getRootNode(o),r=_getDocument(o);addTempEventHandlers(e.handlers,[n,"contextmenu",preventEventDefault],[n,"keydown",s],[r,"scroll",i,{capture:!0}],[r.defaultView||window,"scroll",i],...t)}destroyDrag(){this.dragging=!1;const e=this.drag;if(e){const t=e.rootEl;activePointerDrags?.get(t)===e&&activePointerDrags.delete(t),this.drag=null,releasePointerCapture(e.pointerCapture),clearTempEventHandlers(e.handlers)}}onPointerDown(e,t){if(this.isPointer())return;const o=this.beans;if(handledDragEvents?.has(t))return;const i=t.pointerType;if(i==="touch"&&(o.gos.get("suppressTouch")||!e.includeTouch||(e.stopPropagationForTouch&&t.stopPropagation(),_isFocusableFormField(getEventTargetElement(t))))||!t.isPrimary||i==="mouse"&&t.button!==0)return;this.destroyDrag();const s=_getRootNode(o),n=e.eElement,r=t.pointerId,a=new Dragging(s,e,t,r);activePointerDrags??(activePointerDrags=new WeakMap),activePointerDrags.set(s,a);const l=h=>{h.pointerId===r&&this.onMouseOrPointerMove(h)},d=h=>{h.pointerId===r&&this.onMouseOrPointerUp(h)},c=h=>{h.pointerId===r&&addHandledDragEvent(h)&&this.cancelDrag()},u=h=>this.draggingPreventDefault(h);this.initDrag(a,[s,"pointerup",d],[s,"pointercancel",c],[s,"pointermove",l,PASSIVE_FALSE],[s,"touchmove",u,PASSIVE_FALSE],[n,"mousemove",u,PASSIVE_FALSE]),e.dragStartPixels===0?this.onMouseOrPointerMove(t):addHandledDragEvent(t)}onTouchStart(e,t){if(this.gos.get("suppressTouch")||!e.includeTouch||!addHandledDragEvent(t)||_isFocusableFormField(getEventTargetElement(t)))return;if(e.stopPropagationForTouch&&t.stopPropagation(),this.isPointer()){this.dragging&&preventEventDefault(t);return}this.destroyDrag();const i=this.beans,s=_getRootNode(i),n=new Dragging(s,e,t.touches[0]),r=h=>this.onTouchMove(h),a=h=>this.onTouchUp(h),l=h=>this.onTouchCancel(h),d=h=>this.draggingPreventDefault(h),c=_getRootNode(i),u=t.target??e.eElement;this.initDrag(n,[u,"touchmove",r,PASSIVE_TRUE],[u,"touchend",a,PASSIVE_TRUE],[u,"touchcancel",l,PASSIVE_TRUE],[c,"touchmove",d,PASSIVE_FALSE],[c,"touchend",a,PASSIVE_FALSE],[c,"touchcancel",l,PASSIVE_FALSE]),e.dragStartPixels===0&&this.onMove(n.start)}draggingPreventDefault(e){this.dragging&&preventEventDefault(e)}onMouseDown(e,t){if(t.button!==0||handledDragEvents?.has(t)||this.isPointer())return;const o=this.beans;this.destroyDrag();const i=new Dragging(_getRootNode(o),e,t),s=a=>this.onMouseOrPointerMove(a),n=a=>this.onMouseOrPointerUp(a),r=_getRootNode(o);this.initDrag(i,[r,"mousemove",s],[r,"mouseup",n]),e.dragStartPixels===0?this.onMouseOrPointerMove(t):addHandledDragEvent(t)}onScroll(e){if(!addHandledDragEvent(e))return;const t=this.drag,o=t?.lastDrag;o&&this.dragging&&t.params?.onDragging?.(o)}onMouseOrPointerMove(e){addHandledDragEvent(e)&&(_isBrowserSafari()&&_getDocument(this.beans).getSelection()?.removeAllRanges(),this.shouldPreventMouseEvent(e)&&preventEventDefault(e),this.onMove(e))}onTouchCancel(e){const t=this.drag;!t||!addHandledDragEvent(e)||_getFirstActiveTouch(t.start,e.changedTouches)&&this.cancelDrag()}onTouchMove(e){const t=this.drag;if(!t||!addHandledDragEvent(e))return;const o=_getFirstActiveTouch(t.start,e.touches);o&&(this.onMove(o),this.draggingPreventDefault(e))}onMove(e){const t=this.drag;if(!t)return;t.lastDrag=e;const o=t.params;if(!this.dragging){const i=t.start,n=o.dragStartPixels??4;if(_areEventsNear(e,i,n)||(this.dragging=!0,o.capturePointer&&(t.pointerCapture=capturePointer(this.beans.eRootDiv,e)),this.eventSvc.dispatchEvent({type:"dragStarted",target:o.eElement}),o.onDragStart?.(i),this.drag!==t)||(o.onDragging?.(i),this.drag!==t))return}o.onDragging?.(e)}onTouchUp(e){const t=this.drag;t&&addHandledDragEvent(e)&&this.onUp(_getFirstActiveTouch(t.start,e.changedTouches))}onMouseOrPointerUp(e){addHandledDragEvent(e)&&this.onUp(e)}onUp(e){const t=this.drag;t&&(e||(e=t.lastDrag),e&&this.dragging&&(this.dragging=!1,t.params.onDragStop?.(e),this.eventSvc.dispatchEvent({type:"dragStopped",target:t.params.eElement})),this.destroyDrag())}onKeyDown(e){e.key===KeyCode.ESCAPE&&this.cancelDrag()}},destroyDragSourceEntry=e=>{clearTempEventHandlers(e.handlers);const t=e.oldTouchAction;if(t!=null){const o=e.params.eElement.style;o&&(o.touchAction=t)}},Dragging=class{constructor(e,t,o,i=null){this.rootEl=e,this.params=t,this.start=o,this.pointerId=i,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=t.eElement}},getEventTargetElement=e=>{const t=e.target;return t instanceof Element?t:null},DragService=class extends BaseDragService{shouldPreventMouseEvent(e){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent(e)}},HorizontalResizeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="horizontalResizeSvc"}addResizeBar(e){const t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:o}=this.beans;return o.addDragSource(t),()=>o.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();const o=t instanceof MouseEvent&&t.shiftKey===!0;e.onResizeStart(o)}setResizeIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(1),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},RowDragElement={tag:"div",cls:"ag-drag-handle ag-row-drag",attrs:{"aria-hidden":"true"}},SKIP_ARIA_HIDDEN={skipAriaHidden:!0},RowDragComp=class extends Component{constructor(e,t,o,i,s,n=!1){super(),this.cellValueFn=e,this.rowNode=t,this.column=o,this.customGui=i,this.dragStartPixels=s,this.alwaysVisible=n,this.dragSource=null,this.disabled=!1}isCustomGui(){return this.customGui!=null}postConstruct(){const{beans:e,customGui:t}=this;t?this.setDragElement(t,this.dragStartPixels):(this.setTemplate(RowDragElement),this.getGui().appendChild(_createIconNoSpan("rowDrag",e,null)),this.addDragSource()),this.alwaysVisible||this.initCellDrag()}initCellDrag(){const{beans:e,rowNode:t}=this,o=this.refreshVisibility.bind(this);this.addManagedListeners(e.eventSvc,{rowDragVisibilityChanged:o}),this.addManagedListeners(t,{dataChanged:o,cellChanged:o}),this.refreshVisibility()}setDragElement(e,t){this.setTemplateFromElement(e,void 0,void 0,!0),this.addDragSource(t)}refreshVisibility(){if(this.alwaysVisible)return;const{beans:e,column:t,rowNode:o}=this,{gos:i,dragAndDrop:s,rowDragSvc:n}=e,r=n?.visibility;let l=!(r==="suppress"||r==="hidden"&&!s?.hasExternalDropZones()),d=l;if(l&&!this.isCustomGui()&&t){const c=t.getColDef().rowDrag;if(c===!1)l=!1;else{const u=typeof c=="function";d=t.isRowDrag(o),l=u||d}}l&&d&&o.footer&&i.get("rowDragManaged")&&(d=!1,l=!0),d&&(d=l),l||this.setDisplayed(l,SKIP_ARIA_HIDDEN),d||this.setVisible(d,SKIP_ARIA_HIDDEN),this.setDisabled(!d||r==="disabled"&&!s?.hasExternalDropZones()),l&&this.setDisplayed(l,SKIP_ARIA_HIDDEN),d&&this.setVisible(d,SKIP_ARIA_HIDDEN)}setDisabled(e){e!==this.disabled&&(this.disabled=e,this.getGui()?.classList?.toggle("ag-drag-handle-disabled",e))}getSelectedNodes(){const e=this.rowNode;if(!this.gos.get("rowDragMultiRow"))return[e];const o=this.beans.selectionSvc?.getSelectedNodes()??[];return o.indexOf(e)!==-1?o:[e]}getDragItem(){const{column:e,rowNode:t}=this;return{rowNode:t,rowNodes:this.getSelectedNodes(),columns:e?[e]:void 0,defaultTextValue:this.cellValueFn()}}addDragSource(e=4){if(this.dragSource&&this.removeDragSource(),this.gos.get("rowDragManaged")&&this.rowNode.footer)return;const t=this.getGui();if(this.gos.get("enableCellTextSelection")){this.removeMouseDownListener();const i=_isEventSupported("pointerdown")?{pointerdown:preventEventDefault}:{mousedown:preventEventDefault};this.mouseDownListener=this.addManagedElementListeners(t,i)[0]}const o=this.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:i=>this.getDragItemName(i,o),getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDrop.addDragSource(this.dragSource,!0)}getDragItemName(e,t){const o=e?.dragItem||this.getDragItem(),i=(e?.dropTarget?.rows.length??o.rowNodes?.length)||1,s=this.column?.getColDef()?.rowDragText??this.gos.get("rowDragText");if(s)return s(o,i);if(i!==1)return`${i} ${t("rowDragRows","rows")}`;const n=this.cellValueFn();return n||`1 ${t("rowDragRow","rows")}`}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDrop.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},AutoScrollService=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=e.scrollAxis.includes("x"),this.scrollVertically=e.scrollAxis.includes("y"),this.scrollByTick=e.scrollByTick??20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return this.tickingInterval!==null}check(e,t=!1){const o=!this.scrollVertically||t||this.shouldSkipVerticalScroll(),i=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if(o&&i)return;const s=this.scrollContainer.getBoundingClientRect(),n=this.scrollByTick;this.tickLeft=!i&&e.clientX<s.left+n,this.tickRight=!i&&e.clientX>s.right-n,this.tickUp=!o&&e.clientY<s.top+n,this.tickDown=!o&&e.clientY>s.bottom-n,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){this.tickingInterval===null&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;const e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){const t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){const t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},ChangedRowNodes=class{constructor(){this.reordered=!1,this.removals=[],this.updates=new Set,this.adds=new Set}},_csrmFirstLeaf=e=>{let t=e.childrenAfterGroup;for(;t?.length;){const o=t[0];if(o.sourceRowIndex>=0)return o;t=o.childrenAfterGroup}},_csrmReorderAllLeafs=(e,t,o,i)=>{if(!t.size||!e)return!1;let s=!1;const n=e.length??0;let r=-1;o&&(r=o.sourceRowIndex,o=r<0?_csrmFirstLeaf(o):null,o&&(r=o.sourceRowIndex)),r<0||r>=n?r=n:i||++r;let a=r,l=Math.min(r,n-1);for(const u of t){const h=u.sourceRowIndex;h<a&&(a=h),h>l&&(l=h)}let d=a;for(let u=a;u<r;++u){const h=e[u];t.has(h)||(h.sourceRowIndex!==d&&(h.sourceRowIndex=d,e[d]=h,s=!0),++d)}let c=l;for(let u=l;u>=r;--u){const h=e[u];t.has(h)||(h.sourceRowIndex!==c&&(h.sourceRowIndex=c,e[c]=h,s=!0),--c)}for(const u of t)u.sourceRowIndex!==d&&(u.sourceRowIndex=d,e[d]=u,s=!0),++d;return s};function _getCellPositionForEvent(e,t){return _getCellCtrlForEventTarget(e,t.target)?.getFocusedCellPosition()??null}function _getNormalisedMousePosition(e,t){const o=_isDomLayout(e.gos,"normal"),i=t;let s,n;i.clientX!=null||i.clientY!=null?(s=i.clientX,n=i.clientY):(s=i.x,n=i.y);const{pageFirstPixel:r}=e.pageBounds.getCurrentPagePixelRange();if(n+=r,o){const a=e.ctrlsSvc.getScrollFeature(),l=a.getVScrollPosition(),d=a.getHScrollPosition();s+=d.left,n+=l.top}return{x:s,y:n}}var POINTER_INSIDE_THRESHOLD=.25,RowDragFeature=class extends BeanStub{constructor(e){super(),this.eContainer=e,this.lastDraggingEvent=null,this.autoScroll=null,this.autoScrollChanged=!1,this.autoScrollChanging=!1,this.autoScrollOldV=null}postConstruct(){const e=this.beans;e.ctrlsSvc.whenReady(this,t=>{const o=()=>t.gridBodyCtrl.scrollFeature.getVScrollPosition().top,i=new AutoScrollService({scrollContainer:t.gridBodyCtrl.eBodyViewport,scrollAxis:"y",getVerticalPosition:o,setVerticalPosition:s=>t.gridBodyCtrl.scrollFeature.setVerticalScrollPosition(s),onScrollCallback:()=>{const s=o();if(this.autoScrollOldV!==s){this.autoScrollOldV=s,this.autoScrollChanging=!0;return}const n=this.autoScrollChanging;this.autoScrollChanged=n,this.autoScrollChanging=!1,n&&(e.dragAndDrop?.nudge(),this.autoScrollChanged=!1)}});this.autoScroll=i,this.clearAutoScroll()})}destroy(){super.destroy(),this.clearAutoScroll(),this.autoScroll=null,this.lastDraggingEvent=null,this.eContainer=null}getContainer(){return this.eContainer}isInterestedIn(e){return e===2}getIconName(e){return e?.dropTarget?.allowed===!1||this.beans.rowDragSvc.visibility!=="visible"?"notAllowed":"move"}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];const t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){const o=this.beans.selectionSvc?.getSelectedNodes();if(o&&o.indexOf(t)>=0)return o.slice().sort(compareRowIndex)}return[t]}onDragEnter(e){this.dragging(e,!0)}onDragging(e){this.dragging(e,!1)}dragging(e,t){const{lastDraggingEvent:o,beans:i}=this;if(t){const a=this.getRowNodes(e);e.dragItem.rowNodes=a,setRowNodesDragging(a,!0)}this.lastDraggingEvent=e;const s=e.fromNudge,n=this.makeRowsDrop(o,e,s,!1);i.rowDropHighlightSvc?.fromDrag(e),t&&this.dispatchGridEvent("rowDragEnter",e),this.dispatchGridEvent("rowDragMove",e);const r=this.autoScroll;n?.rowDragManaged&&n.moved&&n.allowed&&n.sameGrid&&!n.suppressMoveWhenRowDragging&&(!s&&!r?.scrolling||this.autoScrollChanged)&&this.dropRows(n),r?.check(e.event)}isFromThisGrid(e){return e.dragSource.dragSourceDomDataKey===this.gos.getDomDataKey()}makeRowsDrop(e,t,o,i){const{beans:s,gos:n}=this,r=this.newRowsDrop(t,i),a=s.rowModel;if(t.dropTarget=r,t.changed=!1,!r)return null;let{sameGrid:l,rootNode:d,source:c,target:u}=r;u??(u=a.getRow(a.getRowCount()-1)??null);const h=this.beans.groupEditSvc,g=!!h?.canSetParent(r);let p=null;if(u?.footer){const m=_prevOrNextDisplayedRow(a,-1,u)??_prevOrNextDisplayedRow(a,1,u);g&&(p=u.sibling??d),u=m??null}u?.detail&&(u=u.parent),r.moved&&(r.moved=c!==u);let f=.5;if(u&&(l&&r.moved&&(p||!g)?f=c.rowIndex>u.rowIndex?-.5:.5:f=(r.y-u.rowTop-u.rowHeight/2)/u.rowHeight||0),!g&&l&&u&&r.moved&&_isClientSideRowModel(n)){const m=deltaDraggingTarget(a,r);m&&(f=c.rowIndex>m.rowIndex?-.5:.5,u=m,r.moved&&(r.moved=c!==u))}return r.target=u,r.newParent=p,r.pointerPos=computePointerPos(u,r.y),r.yDelta=f,h?.fixRowsDrop(r,g,o,f),this.validateRowsDrop(r,g,i),t.changed||(t.changed=rowsDropChanged(e?.dropTarget,r)),r}newRowsDrop(e,t){const{beans:o,gos:i}=this,s=o.rowModel.rootNode,n=_isClientSideRowModel(i)?i.get("rowDragManaged"):!1,r=i.get("suppressMoveWhenRowDragging"),a=this.isFromThisGrid(e);let{rowNode:l,rowNodes:d}=e.dragItem;if(d||(d=l?[l]:[]),l||(l=d[0]),!l||!s)return null;const c=this.beans.dragAndDrop.isDropZoneWithinThisGrid(e);let u=!0;n&&(!d.length||o.rowDragSvc.visibility!=="visible"||(r||!a)&&!c)&&(u=!1);const h=_getNormalisedMousePosition(o,e).y,g=this.getOverNode(h);return{api:o.gridApi,context:o.gridOptions.context,draggingEvent:e,rowDragManaged:n,suppressMoveWhenRowDragging:r,sameGrid:a,withinGrid:c,treeData:!1,rootNode:s,moved:l!==g,y:h,overNode:g,overIndex:g?.rowIndex??-1,pointerPos:"none",position:"none",source:l,target:g??null,newParent:null,rows:d,allowed:u,highlight:!t&&n&&r&&(c||!a),yDelta:0,inside:!1,droppedManaged:!1}}validateRowsDrop(e,t,o){const{source:i,target:s,yDelta:n,inside:r,moved:a,rowDragManaged:l,suppressMoveWhenRowDragging:d}=e;e.moved&&(e.moved=i!==s);const{position:c,fallbackPosition:u}=this.computeDropPosition(a,r,n);e.position=c,t||(e.newParent=null),this.enforceSuppressMoveWhenRowDragging(e,d,"initial");const h=(!l||e.allowed)&&this.gos.get("isRowValidDropPosition");h&&this.applyDropValidator(e,t,o,l,h),l&&(e.rows=this.filterRows(e)),this.beans.groupEditSvc?.clearNewSameParent(e,t),this.enforceSuppressMoveWhenRowDragging(e,d,"final"),e.position==="inside"&&(!e.allowed||!e.newParent)&&(e.position=u)}computeDropPosition(e,t,o){const i=o<0?"above":"below";return e?{position:t?"inside":i,fallbackPosition:i}:{position:"none",fallbackPosition:i}}enforceSuppressMoveWhenRowDragging(e,t,o){if(t){if(o==="initial"){e.moved||(e.allowed=!1);return}(!e.rows.length||e.position==="none")&&(e.allowed=!1)}}applyDropValidator(e,t,o,i,s){this.beans.groupEditSvc?.clearNewSameParent(e,t);const n=s(e);if(!n){e.allowed=!1;return}if(typeof n!="object")return;n.rows!==void 0&&(e.rows=n.rows??[]),t&&n.newParent!==void 0&&(e.newParent=n.newParent),n.target!==void 0&&(e.target=n.target),n.position&&(e.position=n.position),n.allowed!==void 0?e.allowed=n.allowed:i||(e.allowed=!0);const r=e.draggingEvent;n.changed&&r&&(r.changed=!0),!o&&n.highlight!==void 0&&(e.highlight=n.highlight)}addRowDropZone(e){if(!e.getContainer()){_warn(55);return}const t=this.beans.dragAndDrop;if(t.findExternalZone(e.getContainer())){_warn(56);return}const o=e.fromGrid?e:{getContainer:e.getContainer,onDragEnter:e.onDragEnter&&(s=>e.onDragEnter(this.rowDragEvent("rowDragEnter",s))),onDragLeave:e.onDragLeave&&(s=>e.onDragLeave(this.rowDragEvent("rowDragLeave",s))),onDragging:e.onDragging&&(s=>e.onDragging(this.rowDragEvent("rowDragMove",s))),onDragStop:e.onDragStop&&(s=>e.onDragStop(this.rowDragEvent("rowDragEnd",s))),onDragCancel:e.onDragCancel&&(s=>e.onDragCancel(this.rowDragEvent("rowDragCancel",s)))},i={isInterestedIn:s=>s===2,getIconName:()=>"move",external:!0,...o};t.addDropTarget(i),this.addDestroyFunc(()=>t.removeDropTarget(i))}getRowDropZone(e){return{getContainer:this.getContainer.bind(this),onDragEnter:o=>{this.onDragEnter(o),e?.onDragEnter?.(this.rowDragEvent("rowDragEnter",o))},onDragLeave:o=>{this.onDragLeave(o),e?.onDragLeave?.(this.rowDragEvent("rowDragLeave",o))},onDragging:o=>{this.onDragging(o),e?.onDragging?.(this.rowDragEvent("rowDragMove",o))},onDragStop:o=>{this.onDragStop(o),e?.onDragStop?.(this.rowDragEvent("rowDragEnd",o))},onDragCancel:o=>{this.onDragCancel(o),e?.onDragCancel?.(this.rowDragEvent("rowDragCancel",o))},fromGrid:!0}}getOverNode(e){const{pageBounds:t,rowModel:o}=this.beans,s=e>t.getCurrentPagePixelRange().pageLastPixel?-1:o.getRowIndexAtPixel(e);return s>=0?o.getRow(s):void 0}rowDragEvent(e,t){const o=this.beans,{dragItem:i,dropTarget:s,event:n,vDirection:r}=t,a=s?.rootNode===o.rowModel.rootNode,l=a?s.y:_getNormalisedMousePosition(o,t).y,d=a?s.overNode:this.getOverNode(l),c=a?s.overIndex:d?.rowIndex??-1;return{api:o.gridApi,context:o.gridOptions.context,type:e,event:n,node:i.rowNode,nodes:i.rowNodes,overIndex:c,overNode:d,y:l,vDirection:r,rowsDrop:s}}dispatchGridEvent(e,t){const o=this.rowDragEvent(e,t);this.eventSvc.dispatchEvent(o)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e,!1)}onDragStop(e){const t=this.lastDraggingEvent?.dropTarget??null,o=this.makeRowsDrop(this.lastDraggingEvent,e,!1,!0);this.dispatchGridEvent("rowDragEnd",e),o?.allowed&&o.rowDragManaged&&(!t?.droppedManaged||rowsDropChanged(t,o))&&this.dropRows(o),this.stopDragging(e,!0)}onDragCancel(e){this.dispatchGridEvent("rowDragCancel",e),this.stopDragging(e,!0)}stopDragging(e,t){this.clearAutoScroll(),this.beans.groupEditSvc?.stopDragging(t),this.beans.rowDropHighlightSvc?.fromDrag(null),setRowNodesDragging(e.dragItem.rowNodes,!1),this.lastDraggingEvent=null}clearAutoScroll(){this.autoScroll?.ensureCleared(),this.autoScrollChanged=!1,this.autoScrollChanging=!1,this.autoScrollOldV=null}dropRows(e){return e.droppedManaged=!0,e.sameGrid?this.csrmMoveRows(e):this.csrmAddRows(e)}csrmAddRows({position:e,target:t,rows:o}){const i=_getRowIdCallback(this.gos),s=this.beans.rowModel,n=o.filter(({data:a,rowPinned:l})=>!s.getRowNode(i?.({data:a,level:0,rowPinned:l})??a.id)).map(({data:a})=>a);if(n.length===0)return!1;let r;if(t){const a=t.sourceRowIndex>=0?t:_csrmFirstLeaf(t);a&&(r=a.sourceRowIndex+(e==="above"?0:1))}return s.updateRowData({add:n,addIndex:r}),!0}filterRows(e){const{groupEditSvc:t}=this.beans,{rows:o,sameGrid:i}=e;let s;for(let n=0,r=o.length;n<r;++n){let a=!0;const l=o[n];(!l||l.footer||i&&l.destroyed&&!l.group||!this.csrmGetLeaf(l))&&(a=!1),a&&t&&!t.canDropRow(l,e)&&(a=!1),a?s?.push(l):s??(s=o.slice(0,n))}return s??o}csrmMoveRows(e){const t=this.beans.groupEditSvc;return t?.isGroupingDrop(e)?t.dropGroupEdit(e):this.csrmMoveRowsReorder(e)}csrmMoveRowsReorder({position:e,target:t,rows:o,newParent:i,rootNode:s}){let n=!1;const r=new Set;for(const h of o){i&&h.parent!==i&&(h.treeParent=i,n=!0);const g=this.csrmGetLeaf(h);g&&r.add(g)}if(!n&&r.size===0)return!1;const a=this.beans.focusSvc,l=a.getFocusedCell(),d=l&&_getCellByPosition(this.beans,l);if(r.size&&_csrmReorderAllLeafs(s._leafs,r,t,e==="above")&&(n=!0),!n)return!1;const c=this.beans.rowModel,u=new ChangedRowNodes;return u.reordered=!0,c.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:u}),d?d.focusCell():a.clearFocusedCell(),!0}csrmGetLeaf(e){if(e.sourceRowIndex>=0)return e.destroyed?void 0:e;const t=this.beans.groupEditSvc;return t?t.csrmFirstLeaf(e):_csrmFirstLeaf(e)}},rowsDropChanged=(e,t)=>e!==t&&(e?.sameGrid!==t.sameGrid||e?.allowed!==t.allowed||e?.position!==t.position||e?.target!==t.target||e?.source!==t.source||e?.newParent!==t.newParent||!_areEqual(e?.rows,t.rows)),compareRowIndex=({rowIndex:e},{rowIndex:t})=>e!==null&&t!==null?e-t:0,setRowNodesDragging=(e,t)=>{for(let o=0,i=e?.length||0;o<i;++o){const s=e[o];s.dragging!==t&&(s.dragging=t,s.dispatchRowEvent("draggingChanged"))}},deltaDraggingTarget=(e,t)=>{let o=null,i=t.target;if(i&&t.rows.indexOf(i)<0)return null;const s=t.source;if(!i||!s)return null;let n=i.rowIndex-s.rowIndex;const r=n<0?-1:1;n=t.suppressMoveWhenRowDragging?Math.abs(n):1;const a=new Set(t.rows);do{const l=_prevOrNextDisplayedRow(e,r,i);if(!l)break;a.has(l)||(o=l,--n),i=l}while(n>0);return o},computePointerPos=(e,t)=>{const o=e?.rowTop,i=e?.rowHeight??0;if(o==null||!i||i<=0)return"none";const s=t-o,n=i*POINTER_INSIDE_THRESHOLD;return s<=n?"above":s>=i-n?"below":"inside"},RowDragService=class extends BeanStub{constructor(){super(...arguments),this.beanName="rowDragSvc",this.rowDragFeature=null,this.visibility="suppress"}setupRowDrag(e,t){const o=t.createManagedBean(new RowDragFeature(e)),i=this.beans.dragAndDrop;i.addDropTarget(o),t.addDestroyFunc(()=>i.removeDropTarget(o)),this.rowDragFeature=o;const s=()=>this.refreshVisibility();this.addManagedPropertyListeners(["rowDragManaged","suppressRowDrag","refreshAfterGroupEdit"],s),this.addManagedEventListeners({newColumnsLoaded:s,columnRowGroupChanged:s,columnPivotModeChanged:s,sortChanged:s,filterChanged:s}),this.visibility=this.computeVisibility()}createRowDragComp(e,t,o,i,s,n){return new RowDragComp(e,t,o,i,s,n)}createRowDragCompForRow(e,t){if(_isCellSelectionEnabled(this.gos))return;const o=this.getLocaleTextFunc();return this.createRowDragComp(()=>`1 ${o("rowDragRow","row")}`,e,void 0,t,void 0,!0)}createRowDragCompForCell(e,t,o,i,s,n){const r=this.gos;return r.get("rowDragManaged")&&(!_isClientSideRowModel(r)||r.get("pagination"))?void 0:this.createRowDragComp(o,e,t,i,s,n)}cancelRowDrag(){this.rowDragFeature?.lastDraggingEvent&&this.beans.dragSvc?.cancelDrag()}computeVisibility(){const e=this.beans,t=e.gos;if(t.get("suppressRowDrag"))return"suppress";if(!t.get("rowDragManaged"))return"visible";const i=e.colModel.pivotMode;return(i||e.rowGroupColsSvc?.columns?.length)&&!t.get("refreshAfterGroupEdit")?"hidden":i||e.filterManager?.isAnyFilterPresent()||e.sortSvc?.isSortActive()?"disabled":"visible"}refreshVisibility(){const e=this.visibility,t=this.computeVisibility();e!==t&&(this.visibility=t,this.eventSvc?.dispatchEvent({type:"rowDragVisibilityChanged"}))}},RowDropHighlightService=class extends BeanStub{constructor(){super(...arguments),this.beanName="rowDropHighlightSvc",this.uiLevel=0,this.dragging=!1,this.row=null,this.position="none"}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this)})}onModelUpdated(){const e=this.row,t=this.dragging;!e||e?.rowIndex===null||this.position==="none"?this.clear():this.set(e,this.position),this.dragging=t}destroy(){this.clear(),super.destroy()}clear(){const e=this.row;this.dragging=!1,e&&(this.uiLevel=0,this.position="none",this.row=null,e.dispatchRowEvent("rowHighlightChanged"))}set(e,t){const o=e!==this.row,i=e.uiLevel,s=t!==this.position,n=i!==this.uiLevel;this.dragging=!1,(o||s||n)&&(o&&this.clear(),this.uiLevel=i,this.position=t,this.row=e,e.dispatchRowEvent("rowHighlightChanged"))}fromDrag(e){const t=e?.dropTarget;if(t){const{highlight:o,target:i,position:s}=t;if(o&&i&&s!=="none"){this.set(i,s),this.dragging=!0;return}}this.dragging&&this.clear()}},DragModule={moduleName:"Drag",version:VERSION,beans:[DragService]},DragAndDropModule={moduleName:"DragAndDrop",version:VERSION,dynamicBeans:{dndSourceComp:DndSourceComp},icons:{rowDrag:"grip"}},SharedDragAndDropModule={moduleName:"SharedDragAndDrop",version:VERSION,beans:[DragAndDropService],dependsOn:[DragModule],userComponents:{agDragAndDropImage:DragAndDropImageComponent2},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}},RowDragModule={moduleName:"RowDrag",version:VERSION,beans:[RowDropHighlightService,RowDragService],apiFunctions:{addRowDropZone,removeRowDropZone,getRowDropZoneParams,getRowDropPositionIndicator,setRowDropPositionIndicator},dependsOn:[SharedDragAndDropModule]},HorizontalResizeModule={moduleName:"HorizontalResize",version:VERSION,beans:[HorizontalResizeService],dependsOn:[DragModule]},column_moving_default=":where(.ag-ltr) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:left .2s}.ag-header-group-cell{transition:left .2s,width .2s}}:where(.ag-rtl) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:right .2s}.ag-header-group-cell{transition:right .2s,width .2s}}",ColumnAnimationService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colAnimation",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){if(this.active)return;const{gos:e}=this;e.get("suppressColumnMoveAnimation")||e.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;const e=this.animationThreadCount,{gridBodyCtrl:t}=this;t.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&t.setColumnMovingCss(!1)})}flush(e,t){const{executeNextFuncs:o,executeLaterFuncs:i}=this;if(o.length===0&&i.length===0){e(),t();return}const s=n=>{for(;n.length;){const r=n.pop();r&&r()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{e(),s(o)},0),window.setTimeout(()=>{t(),s(i)},200)})}};function moveColumnByIndex(e,t,o){e.colMoves?.moveColumnByIndex(t,o,"api")}function moveColumns(e,t,o){e.colMoves?.moveColumns(t,o,"api")}var BodyDropPivotTarget=class extends BeanStub{constructor(e){super(),this.pinned=e,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;if(t)for(const o of t)o.primary&&(o.isAnyFunctionActive()||(o.isAllowValue()?this.columnsToAggregate.push(o):o.isAllowRowGroup()?this.columnsToGroup.push(o):o.isAllowPivot()&&this.columnsToPivot.push(o)))}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){const{valueColsSvc:t,rowGroupColsSvc:o,pivotColsSvc:i}=this.beans;this.columnsToAggregate.length>0&&t?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&o?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&i?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function sortColsLikeCols(e,t){!t||t.length<=1||t.filter(i=>e.indexOf(i)<0).length>0||t.sort((i,s)=>{const n=e.indexOf(i),r=e.indexOf(s);return n-r})}function getColsToMove(e){const t=[...e];for(const o of e){let i=null,s=o.parent;for(;s?.getDisplayedLeafColumns().length===1;)i=s,s=s.parent;if(i!=null){const r=!!i.getColGroupDef()?.marryChildren?i.getProvidedColumnGroup().getLeafColumns():i.getLeafColumns();for(const a of r)t.includes(a)||t.push(a)}}return t}function getLowestFragMove(e,t,o,i){const s=i.allCols;let n=null,r=null;for(let a=0;a<e.length;a++){const l=e[a],d=o.getProposedColumnOrder(t,l);if(!o.doesOrderPassRules(d))continue;const c=d.filter(h=>s.includes(h));if(r===null)r=c;else if(!_areEqual(c,r))break;const u=groupFragCount(d);(n===null||u<n.fragCount)&&(n={move:l,fragCount:u})}return n}function getBestColumnMoveIndexFromXPosition(e){const{isFromHeader:t,fromLeft:o,xPosition:i,fromEnter:s,fakeEvent:n,pinned:r,gos:a,colModel:l,colMoves:d,visibleCols:c}=e;let{allMovingColumns:u}=e;t&&(u=getColsToMove(u));const h=u.slice();sortColsLikeCols(l.getCols(),h);const g=calculateValidMoves({movingCols:h,draggingRight:o,xPosition:i,pinned:r,gos:a,colModel:l,visibleCols:c}),p=calculateOldIndex(h,l);if(g.length===0)return;const f=g[0];if(p!==null&&(t||!s)&&!n&&(!o&&f>=p||o&&f<=p))return;const C=getLowestFragMove(g,h,d,c);if(!C)return;const w=C.move;if(!(w>l.getCols().length-h.length))return{columns:h,toIndex:w}}function attemptMoveColumns(e){const{columns:t,toIndex:o}=getBestColumnMoveIndexFromXPosition(e)||{},{finished:i,colMoves:s}=e;return!t||o==null?null:(s.moveColumns(t,o,"uiColumnMoved",i),i?null:{columns:t,toIndex:o})}function calculateOldIndex(e,t){const o=t.getCols(),i=e.map(l=>o.indexOf(l)).sort((l,d)=>l-d),s=i[0];return _last(i)-s!==i.length-1?null:s}function groupFragCount(e){function t(i){const s=[];let n=i.getOriginalParent();for(;n!=null;)s.push(n),n=n.getOriginalParent();return s}let o=0;for(let i=0;i<e.length-1;i++){let s=t(e[i]),n=t(e[i+1]);[s,n]=s.length>n.length?[s,n]:[n,s];for(const r of s)n.indexOf(r)===-1&&o++}return o}function getDisplayedColumns(e,t){switch(t){case"left":return e.leftCols;case"right":return e.rightCols;default:return e.centerCols}}function calculateValidMoves(e){const{movingCols:t,draggingRight:o,xPosition:i,pinned:s,gos:n,colModel:r,visibleCols:a}=e;if(n.get("suppressMovableColumns")||t.some(v=>v.colDef.suppressMovable))return[];const d=getDisplayedColumns(a,s),c=r.getCols(),u=d.filter(v=>t.includes(v)),h=d.filter(v=>!t.includes(v)),g=c.filter(v=>!t.includes(v));let p=0,f=i;if(o){let v=0;for(const b of u)v+=b.getActualWidth();f-=v}if(f>0){for(let v=0;v<h.length;v++){const b=h[v];if(f-=b.getActualWidth(),f<0)break;p++}o&&p++}let m;if(p>0){const v=h[p-1];m=g.indexOf(v)+1}else m=g.indexOf(h[0]),m===-1&&(m=0);const C=[m],w=(v,b)=>v-b;if(o){let v=m+1;const b=c.length-1;for(;v<=b;)C.push(v),v++;C.sort(w)}else{let v=m;const b=c.length-1;let S=c[v];for(;v<=b&&d.indexOf(S)<0;)v++,C.push(v),S=c[v];v=m-1;const y=0;for(;v>=y;)C.push(v),v--;C.sort(w).reverse()}return C}function normaliseX(e){const{pinned:t,fromKeyboard:o,gos:i,ctrlsSvc:s,useHeaderRow:n,skipScrollPadding:r}=e;let a=s.getHeaderRowContainerCtrl(t)?.eViewport,{x:l}=e;return a?(o&&(l-=a.getBoundingClientRect().left),i.get("enableRtl")&&(n&&(a=a.querySelector(".ag-header-row")),l=a.clientWidth-l),t==null&&!r&&(l+=s.get("center").getCenterViewportScrollLeft()),l):0}function setColumnsMoving(e,t){for(const o of e)o.moving=t,o.dispatchColEvent("movingChanged","uiColumnMoved")}var MOVE_FAIL_THRESHOLD=7,SCROLL_MOVE_WIDTH=100,SCROLL_GAP_NEEDED_BEFORE_MOVE=SCROLL_MOVE_WIDTH/2,SCROLL_ACCELERATION_RATE=5,SCROLL_TIME_INTERVAL=100,MoveColumnFeature=class extends BeanStub{constructor(e){super(),this.pinned=e,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!_exists(e)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){const{pinned:e,lastDraggingEvent:t}=this,{dragItem:o}=t||{},i=o?.columns??[];for(const s of i){const n=s.getPinned();if(s.getColDef().lockPinned){if(n==e)return"move";continue}const r=o?.containerType;if(r===e||!e)return"move";if(e&&(!n||r!==e))return"pinned"}return"notAllowed"}onDragEnter(e){const t=e.dragItem,o=t.columns;if(e.dragSource.type===0)this.setColumnsVisible(o,!0,"uiColumnDragged");else{const s=t.visibleState,n=(o||[]).filter(r=>s[r.getId()]&&!r.isVisible());this.setColumnsVisible(n,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(o,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,o=!1,i=!1){const{gos:s,ctrlsSvc:n}=this.beans,r=s.get("suppressMoveWhenColumnDragging");if(i&&!r){this.finishColumnMoving();return}if(this.lastDraggingEvent=e,!e||!i&&_missing(e.hDirection))return;const a=normaliseX({x:e.x,pinned:this.pinned,gos:s,ctrlsSvc:n});t||this.checkCenterForScrolling(a),r?this.handleColumnDragWhileSuppressingMovement(e,t,o,a,i):this.handleColumnDragWhileAllowingMovement(e,t,o,a,i)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.updateDragItemContainerType(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,o){if(!e?.length)return;const i=e.filter(s=>!s.getColDef().lockVisible);i.length&&this.beans.colModel.setColsVisible(i,t,o)}finishColumnMoving(){this.clearHighlighted();const e=this.lastMovedInfo;if(!e)return;const{columns:t,toIndex:o}=e;this.beans.colMoves.moveColumns(t,o,"uiColumnMoved",!0)}updateDragItemContainerType(){const{lastDraggingEvent:e}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!e)return;const t=e.dragItem;t&&(t.containerType=this.pinned)}handleColumnDragWhileSuppressingMovement(e,t,o,i,s){const n=this.getAllMovingColumns(e,!0);if(s){const r=this.isAttemptingToPin(n);r&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:a,xPosition:l}=this.getNormalisedXPositionInfo(n,r)||{};if(a==null||l==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:l,fromEnter:t,fakeEvent:o,fromLeft:a})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,i)}}handleColumnDragWhileAllowingMovement(e,t,o,i,s){const n=this.getAllMovingColumns(e),r=this.normaliseDirection(e.hDirection)==="right",a=e.dragSource.type===1,l=this.getMoveColumnParams({allMovingColumns:n,isFromHeader:a,xPosition:i,fromLeft:r,fromEnter:t,fakeEvent:o}),d=attemptMoveColumns({...l,finished:s});d&&(this.lastMovedInfo=d)}getAllMovingColumns(e,t=!1){const o=e.dragSource.getDragItem();let i;t?(i=o.columnsInSplit,i||(i=o.columns)):i=o.columns;const s=n=>n.colDef.lockPinned?n.getPinned()==this.pinned:!0;return i?i.filter(s):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:o,xPosition:i,fromLeft:s,fromEnter:n,fakeEvent:r}=e,{gos:a,colModel:l,colMoves:d,visibleCols:c}=this.beans;return{allMovingColumns:t,isFromHeader:o,fromLeft:s,xPosition:i,pinned:this.pinned,fromEnter:n,fakeEvent:r,gos:a,colModel:l,colMoves:d,visibleCols:c}}highlightHoveredColumn(e,t){const{gos:o,colModel:i}=this.beans,s=o.get("enableRtl"),n=i.getCols().filter(c=>c.isVisible()&&c.getPinned()===this.pinned);let r=null,a=null,l=null;for(const c of n){if(a=c.getActualWidth(),r=this.getNormalisedColumnLeft(c,0,s),r!=null){const u=r+a;if(r<=t&&u>=t){l=c;break}}r=null,a=null}if(l)e.indexOf(l)!==-1&&(l=null);else{for(let c=n.length-1;c>=0;c--){const u=n[c],h=n[c].parent;if(!h){l=u;break}const g=h?.getDisplayedLeafColumns();if(g.length){l=_last(g);break}}if(!l)return;r=this.getNormalisedColumnLeft(l,0,s),a=l.getActualWidth()}if(l==null||r==null||a==null){this.lastHighlightedColumn?.column!==l&&this.clearHighlighted();return}let d;if(t-r<a/2){const c=n.indexOf(l);c===0?d=0:(d=1,l=n[c-1])}else d=1;(this.lastHighlightedColumn?.column!==l||this.lastHighlightedColumn?.position!==d)&&this.clearHighlighted(),setColumnHighlighted(l,d),this.lastHighlightedColumn={column:l,position:d}}getNormalisedXPositionInfo(e,t){const{gos:o,visibleCols:i}=this.beans,s=o.get("enableRtl"),{firstMovingCol:n,column:r,position:a}=this.getColumnMoveAndTargetInfo(e,t,s);if(!n||!r||a==null)return;const l=i.allCols,d=l.indexOf(n),c=l.indexOf(r),u=a===0,h=d<c||d===c&&!u;let g=0;if(u?h&&(g-=1):h||(g+=1),c+g===d)return;const p=l[c+g];if(!p)return;const f=this.getNormalisedColumnLeft(p,20,s);return{fromLeft:h,xPosition:f}}getColumnMoveAndTargetInfo(e,t,o){const i=this.lastHighlightedColumn||{},{firstMovingCol:s,lastMovingCol:n}=findFirstAndLastMovingColumns(e);if(!s||!n||i.column||!t)return{firstMovingCol:s,...i};const a=this.getPinDirection()==="left";return{firstMovingCol:s,position:a?1:0,column:a!==o?s:n}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case"left":return"right";case"right":return"left"}return e}getNormalisedColumnLeft(e,t,o){const{gos:i,ctrlsSvc:s}=this.beans,n=e.getLeft();if(n==null)return null;const r=e.getActualWidth();return normaliseX({x:o?n+r-t:n+t,pinned:e.getPinned(),useHeaderRow:o,skipScrollPadding:!0,gos:i,ctrlsSvc:s})}isAttemptingToPin(e){const t=this.needToMoveLeft||this.needToMoveRight,o=this.failedMoveAttempts>MOVE_FAIL_THRESHOLD;return t&&o||e.some(i=>i.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){const{allMovingColumns:t,xPosition:o,fromEnter:i,fakeEvent:s,fromLeft:n}=e,r=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:o,fromLeft:n,fromEnter:i,fakeEvent:s}),{columns:a,toIndex:l}=getBestColumnMoveIndexFromXPosition(r)||{};a&&l!=null&&(this.lastMovedInfo={columns:a,toIndex:l}),this.finishColumnMoving()}clearHighlighted(){const{lastHighlightedColumn:e}=this;e&&(setColumnHighlighted(e.column,null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;const t=this.beans.ctrlsSvc.get("center"),o=t.getCenterViewportScrollLeft(),i=o+t.getCenterWidth();let s,n;this.gos.get("enableRtl")?(s=e<o+SCROLL_GAP_NEEDED_BEFORE_MOVE,n=e>i-SCROLL_GAP_NEEDED_BEFORE_MOVE):(n=e<o+SCROLL_GAP_NEEDED_BEFORE_MOVE,s=e>i-SCROLL_GAP_NEEDED_BEFORE_MOVE),this.needToMoveRight=s,this.needToMoveLeft=n,n||s?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),SCROLL_TIME_INTERVAL),this.beans.dragAndDrop.setDragImageCompIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.beans.dragAndDrop.setDragImageCompIcon(this.getIconName()))}moveInterval(){let e;this.intervalCount++,e=10+this.intervalCount*SCROLL_ACCELERATION_RATE,e>SCROLL_MOVE_WIDTH&&(e=SCROLL_MOVE_WIDTH);let t=null;const o=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft?t=o.scrollHorizontally(-e):this.needToMoveRight&&(t=o.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;const{pinnedCols:i,dragAndDrop:s,gos:n}=this.beans;if(this.failedMoveAttempts<=MOVE_FAIL_THRESHOLD+1||!i)return;if(s.setDragImageCompIcon("pinned"),!n.get("suppressMoveWhenColumnDragging")){const r=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(r,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(e,t,o=!1){const i=(e||[]).filter(r=>!r.colDef.lockPinned);if(!i.length)return 0;o&&(t=this.getPinDirection());const{pinnedCols:s,dragAndDrop:n}=this.beans;return s?.setColsPinned(i,t,"uiColumnDragged"),o&&n.nudge(),i.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function setColumnHighlighted(e,t){e.highlighted!==t&&(e.highlighted=t,e.dispatchColEvent("headerHighlightChanged","uiColumnMoved"))}function findFirstAndLastMovingColumns(e){const t=e.length;let o,i;for(let s=0;s<t;s++){if(!o){const n=e[s];n.getLeft()!=null&&(o=n)}if(!i){const n=e[t-1-s];n.getLeft()!=null&&(i=n)}if(o&&i)break}return{firstMovingCol:o,lastMovingCol:i}}var BodyDropTarget=class extends BeanStub{constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){const{ctrlsSvc:e,dragAndDrop:t}=this.beans,o=this.pinned;e.whenReady(this,i=>{let s;const n=i.gridBodyCtrl.eBodyViewport;switch(o){case"left":s=[[n,i.left.eContainer],[i.bottomLeft.eContainer],[i.topLeft.eContainer]];break;case"right":s=[[n,i.right.eContainer],[i.bottomRight.eContainer],[i.topRight.eContainer]];break;default:s=[[n,i.center.eViewport],[i.bottomCenter.eViewport],[i.topCenter.eViewport]];break}this.eSecondaryContainers=s}),this.moveColumnFeature=this.createManagedBean(new MoveColumnFeature(o)),this.bodyDropPivotTarget=this.createManagedBean(new BodyDropPivotTarget(o)),t.addDropTarget(this),this.addDestroyFunc(()=>t.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.beans.colModel.pivotMode&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}};function placeLockedColumns(e,t){const o=[],i=[],s=[];return e.forEach(r=>{const a=r.colDef.lockPosition;a==="right"?s.push(r):a==="left"||a===!0?o.push(r):i.push(r)}),t.get("enableRtl")?[...s,...i,...o]:[...o,...i,...s]}function doesMovePassMarryChildren(e,t){let o=!0;return depthFirstOriginalTreeSearch(null,t,i=>{if(!isProvidedColumnGroup(i))return;const s=i;if(!s.getColGroupDef()?.marryChildren)return;const a=[];for(const h of s.getLeafColumns()){const g=e.indexOf(h);a.push(g)}const l=Math.max.apply(Math,a),d=Math.min.apply(Math,a),c=l-d,u=s.getLeafColumns().length-1;c>u&&(o=!1)}),o}var ColumnMoveService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colMoves"}moveColumnByIndex(e,t,o){const i=this.beans.colModel.getCols();if(!i)return;const s=i[e];this.moveColumns([s],t,o)}moveColumns(e,t,o,i=!0){const{colModel:s,colAnimation:n,visibleCols:r,eventSvc:a}=this.beans,l=s.getCols();if(!l)return;if(t>l.length-e.length){_warn(30,{toIndex:t});return}n?.start();const d=s.getColsForKeys(e);this.doesMovePassRules(d,t)&&(_moveInArray(s.getCols(),d,t),r.refresh(o),a.dispatchEvent({type:"columnMoved",columns:d,column:d.length===1?d[0]:null,toIndex:t,finished:i,source:o})),n?.finish()}doesMovePassRules(e,t){const o=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(o)}doesOrderPassRules(e){const{colModel:t,gos:o}=this.beans;return!(!doesMovePassMarryChildren(e,t.getColTree())||!(s=>{const n=d=>d?d==="left"||d===!0?-1:1:0,r=o.get("enableRtl");let a=r?1:-1,l=!0;for(const d of s){const c=n(d.colDef.lockPosition);r?c>a&&(l=!1):c<a&&(l=!1),a=c}return l})(e))}getProposedColumnOrder(e,t){const i=this.beans.colModel.getCols().slice();return _moveInArray(i,e,t),i}createBodyDropTarget(e,t){return new BodyDropTarget(e,t)}moveHeader(e,t,o,i,s){const{ctrlsSvc:n,gos:r,colModel:a,visibleCols:l,focusSvc:d}=this.beans,c=t.getBoundingClientRect(),u=c.left,h=isColumnGroup(o),g=h?c.width:o.getActualWidth(),p=e==="left"!==r.get("enableRtl"),f=normaliseX({x:p?u-20:u+g+20,pinned:i,fromKeyboard:!0,gos:r,ctrlsSvc:n}),m=d.focusedHeader;attemptMoveColumns({allMovingColumns:h?o.getLeafColumns():[o],isFromHeader:!0,fromLeft:e==="right",xPosition:f,pinned:i,fromEnter:!1,fakeEvent:!1,gos:r,colModel:a,colMoves:this,visibleCols:l,finished:!0});let C;if(h){const w=o.getDisplayedLeafColumns();C=p?w[0]:_last(w)}else C=o;if(n.getScrollFeature().ensureColumnVisible(C,"auto"),(!s.isAlive()||r.get("ensureDomOrder"))&&m){let w;if(h){const v=o.getGroupId(),b=o.getLeafColumns();if(!b.length)return;const S=b[0].parent;if(!S)return;w=findGroupWidthId(S,v)}else w=o;w&&d.focusHeaderPosition({headerPosition:{...m,column:w}})}}setDragSourceForHeader(e,t,o){const{gos:i,colModel:s,dragAndDrop:n,visibleCols:r}=this.beans;let a=!i.get("suppressDragLeaveHidesColumns");const l=isColumnGroup(t),d=l?t.getProvidedColumnGroup().getLeafColumns():[t],u={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",getDragItem:l?()=>createDragItemForGroup(t,r.allCols):()=>createDragItem(t),dragItemName:o,onDragStarted:()=>{a=!i.get("suppressDragLeaveHidesColumns"),setColumnsMoving(d,!0)},onDragStopped:()=>setColumnsMoving(d,!1),onDragCancelled:()=>setColumnsMoving(d,!1),onGridEnter:h=>{if(a){const{columns:g=[],visibleState:p}=h??{},f=l?C=>!p||p[C.getColId()]:()=>!0,m=g.filter(C=>!C.getColDef().lockVisible&&f(C));s.setColsVisible(m,!0,"uiColumnMoved")}},onGridExit:h=>{if(a){const g=h?.columns?.filter(p=>!p.getColDef().lockVisible)||[];s.setColsVisible(g,!1,"uiColumnMoved")}}};return n.addDragSource(u,!0),u}};function findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.parent}}function createDragItem(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t,containerType:e.pinned}}function createDragItemForGroup(e,t){const o=e.getProvidedColumnGroup().getLeafColumns(),i={};for(const a of o)i[a.getId()]=a.isVisible();const s=[];for(const a of t)o.indexOf(a)>=0&&(s.push(a),_removeFromArray(o,a));for(const a of o)s.push(a);const n=[],r=e.getLeafColumns();for(const a of s)r.indexOf(a)!==-1&&n.push(a);return{columns:s,columnsInSplit:n,visibleState:i,containerType:n[0]?.pinned}}var ColumnMoveModule={moduleName:"ColumnMove",version:VERSION,beans:[ColumnMoveService,ColumnAnimationService],apiFunctions:{moveColumnByIndex,moveColumns},dependsOn:[SharedDragAndDropModule],css:[column_moving_default]},AutoWidthCalculator=class extends BeanStub{constructor(){super(...arguments),this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.centerRowContainerCtrl=e.center})}getPreferredWidthForColumn(e,t){const o=this.getHeaderCellForColumn(e);if(!o)return-1;const i=this.beans.rowRenderer.getAllCellsNotSpanningForColumn(e);return t||i.push(o),this.getPreferredWidthForElements(i)}getPreferredWidthForColumnGroup(e){const t=this.getHeaderCellForColumn(e);return t?this.getPreferredWidthForElements([t]):-1}getPreferredWidthForElements(e,t){const o=document.createElement("form");o.style.position="fixed";const i=this.centerRowContainerCtrl.eContainer;for(const n of e)this.cloneItemIntoDummy(n,o);i.appendChild(o);const s=Math.ceil(o.getBoundingClientRect().width);return o.remove(),t=t??this.gos.get("autoSizePadding"),s+t}getHeaderCellForColumn(e){let t=null;for(const o of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){const i=o.getHtmlElementForColumnHeader(e);i!=null&&(t=i)}return t}cloneItemIntoDummy(e,t){const o=e.cloneNode(!0);o.style.width="",o.style.position="static",o.style.left="";const i=document.createElement("div"),s=i.classList;["ag-header-cell","ag-header-group-cell"].some(a=>o.classList.contains(a))?(s.add("ag-header","ag-header-row"),i.style.position="static"):s.add("ag-row");let r=e.parentElement;for(;r;){if(["ag-header-row","ag-row"].some(l=>r.classList.contains(l))){for(let l=0;l<r.classList.length;l++){const d=r.classList[l];d!="ag-row-position-absolute"&&s.add(d)}break}r=r.parentElement}i.appendChild(o),t.appendChild(i)}},AutoWidthModule={moduleName:"AutoWidth",version:VERSION,beans:[AutoWidthCalculator]};function setColumnWidths(e,t,o=!0,i="api"){e.colResize?.setColumnWidths(t,!1,o,i)}function getCommonValue(e,t){if(!e||e.length==0)return;const o=t(e[0]);for(let i=1;i<e.length;i++)if(o!==t(e[i]))return;return o}function dispatchColumnPinnedEvent(e,t,o){if(!t.length)return;const i=t.length===1?t[0]:null,s=getCommonValue(t,n=>n.getPinned());e.dispatchEvent({type:"columnPinned",pinned:s??null,columns:t,column:i,source:o})}function dispatchColumnVisibleEvent(e,t,o){if(!t.length)return;const i=t.length===1?t[0]:null,s=getCommonValue(t,n=>n.isVisible());e.dispatchEvent({type:"columnVisible",visible:s,columns:t,column:i,source:o})}function dispatchColumnChangedEvent(e,t,o,i){e.dispatchEvent({type:t,columns:o,column:o?.length==1?o[0]:null,source:i})}function dispatchColumnResizedEvent(e,t,o,i,s=null){t?.length&&e.dispatchEvent({type:"columnResized",columns:t,column:t.length===1?t[0]:null,flexColumns:s,finished:o,source:i})}var GroupResizeFeature=class extends BeanStub{constructor(e,t,o,i){super(),this.comp=e,this.eResize=t,this.pinned=o,this.columnGroup=i}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}const{horizontalResizeSvc:e,gos:t,colAutosize:o}=this.beans,i=e.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});this.addDestroyFunc(i),!t.get("suppressAutoSize")&&o&&this.addDestroyFunc(o.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart(e){const{columnsToResize:t,resizeStartWidth:o,resizeRatios:i,groupAfterColumns:s,groupAfterStartWidth:n,groupAfterRatios:r}=this.getInitialValues(e);this.resizeCols=t,this.resizeStartWidth=o,this.resizeRatios=i,this.resizeTakeFromCols=s,this.resizeTakeFromStartWidth=n,this.resizeTakeFromRatios=r,this.toggleColumnResizing(!0)}onResizing(e,t,o="uiColumnResized"){const i=this.normaliseDragChange(t),s=this.resizeStartWidth+i;this.resizeColumnsFromLocalValues(s,o,e)}getInitialValues(e){const t=l=>l.reduce((d,c)=>d+c.getActualWidth(),0),o=(l,d)=>l.map(c=>c.getActualWidth()/d),i=this.getColumnsToResize(),s=t(i),n=o(i,s),r={columnsToResize:i,resizeStartWidth:s,resizeRatios:n};let a=null;if(e&&(a=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null),a){const l=a.getDisplayedLeafColumns(),d=r.groupAfterColumns=l.filter(u=>u.isResizable()),c=r.groupAfterStartWidth=t(d);r.groupAfterRatios=o(d,c)}else r.groupAfterColumns=void 0,r.groupAfterStartWidth=void 0,r.groupAfterRatios=void 0;return r}resizeLeafColumnsToFit(e){const t=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),o=this.getInitialValues();t>o.resizeStartWidth&&this.resizeColumns(o,t,e,!0)}resizeColumnsFromLocalValues(e,t,o=!0){if(!this.resizeCols||!this.resizeRatios)return;const i={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(i,e,t,o)}resizeColumns(e,t,o,i=!0){const{columnsToResize:s,resizeStartWidth:n,resizeRatios:r,groupAfterColumns:a,groupAfterStartWidth:l,groupAfterRatios:d}=e,c=[];if(c.push({columns:s,ratios:r,width:t}),a){const u=t-n;c.push({columns:a,ratios:d,width:l-u})}this.beans.colResize?.resizeColumnSets({resizeSets:c,finished:i,source:o}),i&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.toggleCss("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(t=>t.isResizable())}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}},ResizeFeature=class extends BeanStub{constructor(e,t,o,i,s){super(),this.pinned=e,this.column=t,this.eResize=o,this.comp=i,this.ctrl=s}postConstruct(){const e=[];let t,o;const i=()=>{if(_setDisplayed(this.eResize,t),!t)return;const{horizontalResizeSvc:r,colAutosize:a}=this.beans,l=r.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});e.push(l),o&&a&&e.push(a.addColumnAutosizeListeners(this.eResize,this.column))},s=()=>{for(const r of e)r();e.length=0},n=()=>{const r=this.column.isResizable(),a=!this.gos.get("suppressAutoSize")&&!this.column.colDef.suppressAutoSize;(r!==t||a!==o)&&(t=r,o=a,s(),i())};n(),this.addDestroyFunc(s),this.ctrl.setRefreshFunction("resize",n)}onResizing(e,t){const{column:o,lastResizeAmount:i,resizeStartWidth:s,beans:n}=this,r=this.normaliseResizeAmount(t),a=s+r,l=[{key:o,newWidth:a}],{pinnedCols:d,ctrlsSvc:c,colResize:u}=n;if(this.column.getPinned()){const h=d?.leftWidth??0,g=d?.rightWidth??0,p=_getInnerWidth(c.getGridBodyCtrl().eBodyViewport)-50;if(h+g+(r-i)>p)return}this.lastResizeAmount=r,u?.setColumnWidths(l,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1)}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.column.resizing=e,this.comp.toggleCss("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const o=this.pinned!=="left",i=this.pinned==="right";return this.gos.get("enableRtl")?o&&(t*=-1):i&&(t*=-1),t}},ColumnResizeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colResize"}setColumnWidths(e,t,o,i){const s=[],{colModel:n,gos:r,visibleCols:a}=this.beans;for(const l of e){const d=n.getColDefColOrCol(l.key);if(!d)continue;if(s.push({width:l.newWidth,ratios:[1],columns:[d]}),r.get("colResizeDefault")==="shift"&&(t=!t),t){const u=a.getColAfter(d);if(!u)continue;const h=d.getActualWidth()-l.newWidth,g=u.getActualWidth()+h;s.push({width:g,ratios:[1],columns:[u]})}}s.length!==0&&this.resizeColumnSets({resizeSets:s,finished:o,source:i})}resizeColumnSets(e){const{resizeSets:t,finished:o,source:i}=e;if(!(!t||t.every(c=>checkMinAndMaxWidthsForSet(c)))){if(o){const c=t&&t.length>0?t[0].columns:null;dispatchColumnResizedEvent(this.eventSvc,c,o,i)}return}const n=[],r=[];for(const c of t){const{width:u,columns:h,ratios:g}=c,p={},f={};for(const w of h)r.push(w);let m=!0,C=0;for(;m;){if(C++,C>1e3){_error(31);break}m=!1;const w=[];let v=0,b=u;h.forEach((y,R)=>{if(f[y.getId()])b-=p[y.getId()];else{w.push(y);const x=g[R];v+=x}});const S=1/v;w.forEach((y,R)=>{const E=R===w.length-1;let x;E?x=b:(x=Math.round(g[R]*u*S),b-=x);const P=y.getMinWidth(),F=y.getMaxWidth();x<P?(x=P,f[y.getId()]=!0,m=!0):F>0&&x>F&&(x=F,f[y.getId()]=!0,m=!0),p[y.getId()]=x})}for(const w of h){const v=p[w.getId()];w.getActualWidth()!==v&&(w.setActualWidth(v,i),n.push(w))}}const a=n.length>0;let l=[];if(a){const{colFlex:c,visibleCols:u,colViewport:h}=this.beans;l=c?.refreshFlexedColumns({resizingCols:r,skipSetLeft:!0})??[],u.setLeftValues(i),u.updateBodyWidths(),h.checkViewportColumns()}const d=r.concat(l);(a||o)&&dispatchColumnResizedEvent(this.eventSvc,d,o,i,l)}resizeHeader(e,t,o){if(!e.isResizable())return;const i=e.getActualWidth(),s=e.getMinWidth(),n=e.getMaxWidth(),r=Math.min(Math.max(i+t,s),n);this.setColumnWidths([{key:e,newWidth:r}],o,!0,"uiColumnResized")}createResizeFeature(e,t,o,i,s){return new ResizeFeature(e,t,o,i,s)}createGroupResizeFeature(e,t,o,i){return new GroupResizeFeature(e,t,o,i)}};function checkMinAndMaxWidthsForSet(e){const{columns:t,width:o}=e;let i=0,s=0,n=!0;for(const l of t){const d=l.getMinWidth();i+=d||0;const c=l.getMaxWidth();c>0?s+=c:n=!1}const r=o>=i,a=!n||o<=s;return r&&a}var ColumnResizeModule={moduleName:"ColumnResize",version:VERSION,beans:[ColumnResizeService],apiFunctions:{setColumnWidths},dependsOn:[HorizontalResizeModule,AutoWidthModule]},GroupWidthFeature=class extends BeanStub{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);for(const t of this.columnGroup.getLeafColumns())t.__addEventListener("widthChanged",e),t.__addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.__removeEventListener("widthChanged",e),t.__removeEventListener("visibleChanged",e)})}removeListenersOnChildrenColumns(){for(const e of this.removeChildListenersFuncs)e();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.toggleCss("ag-hidden",e===0)}},HeaderGroupCellCtrl=class extends AbstractHeaderCellCtrl{constructor(){super(...arguments),this.onSuppressColMoveChange=()=>{!this.isAlive()||this.isSuppressMoving()?this.removeDragSource():this.dragSource||this.setDragSource(this.eGui)}}wireComp(e,t,o,i,s){const{column:n,beans:r}=this,{context:a,colNames:l,colHover:d,rangeSvc:c,colResize:u}=r;this.comp=e,s=setupCompBean(this,a,s),this.setGui(t,s),this.displayName=l.getDisplayNameForColumnGroup(n,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss(s),this.setupExpandable(s),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:i,compBean:s}),this.setupUserComp(),this.addHeaderMouseListeners(s,i),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();const h=this.rowCtrl.pinned,g=n.getProvidedColumnGroup().getLeafColumns();d?.createHoverFeature(s,g,t),c?.createRangeHighlightFeature(s,n,e),s.createManagedBean(new SetLeftFeature(n,t,r)),s.createManagedBean(new GroupWidthFeature(e,n)),u?this.resizeFeature=s.createManagedBean(u.createGroupResizeFeature(e,o,h,n)):e.setResizableDisplayed(!1),s.createManagedBean(new ManagedFocusFeature(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(s,g),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),s.addManagedPropertyListener("cellSelection",()=>this.refreshAnnouncement()),s.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(s),s.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.getDefinition();return _addGridCommonParams(t.gos,{colDef:o,columnGroup:e,floatingFilter:!1})}refreshMaxHeaderHeight(){const{gos:e,comp:t}=this,o=e.get("groupHeaderHeight");o!=null?o===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(o):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(const o of t)e.addManagedListeners(o,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,o)})}onLeafColumnHighlightChanged(e){const t=this.column.getDisplayedLeafColumns(),o=t[0]===e,i=_last(t)===e;if(!o&&!i)return;const s=e.getHighlighted(),n=!!this.rowCtrl.getHeaderCellCtrls().find(l=>l.column.isMoving());let r=!1,a=!1;if(n){const l=this.beans.gos.get("enableRtl"),d=s===1,c=s===0;o&&(l?a=d:r=c),i&&(l?r=c:a=d)}this.comp.toggleCss("ag-header-highlight-before",r),this.comp.toggleCss("ag-header-highlight-after",a)}resizeHeader(e,t){const{resizeFeature:o}=this;if(!o)return;const i=o.getInitialValues(t);o.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}resizeLeafColumnsToFit(e){this.resizeFeature?.resizeLeafColumnsToFit(e)}setupUserComp(){const{colGroupSvc:e,userCompFactory:t,gos:o,enterpriseMenuFactory:i}=this.beans,s=this.column,n=s.getProvidedColumnGroup(),r=_addGridCommonParams(o,{displayName:this.displayName,columnGroup:s,setExpanded:l=>{e.setColumnGroupOpened(n,l,"gridInitializing")},setTooltip:(l,d)=>{o.assertModuleRegistered("Tooltip",3),this.setupTooltip(l,d)},showColumnMenu:(l,d)=>i?.showMenuAfterButtonClick(n,l,"columnMenu",d),showColumnMenuAfterMouseClick:(l,d)=>i?.showMenuAfterMouseEvent(n,l,"columnMenu",d),eGridHeader:this.eGui}),a=_getHeaderGroupCompDetails(t,r);a&&this.comp.setUserCompDetails(a)}addHeaderMouseListeners(e,t){const{column:o,comp:i,beans:{rangeSvc:s},gos:n}=this,r=c=>this.handleMouseOverChange(c.type==="mouseenter"),a=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",o.getProvidedColumnGroup()),l=c=>this.handleContextMenuMouseEvent(c,void 0,o.getProvidedColumnGroup());e.addManagedListeners(this.eGui,{mouseenter:r,mouseleave:r,click:a,contextmenu:l}),i.toggleCss("ag-header-group-cell-selectable",_getEnableColumnSelection(n));const d=s?.createHeaderGroupCellMouseListenerFeature(this.column,t);d&&this.createManagedBean(d)}handleMouseOverChange(e){this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,e,t)}setupExpandable(e){const t=this.column.getProvidedColumnGroup();this.refreshExpanded();const o=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:o,expandableChanged:o})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0),this.refreshHeaderStyles(),this.refreshAnnouncement()}addClasses(){const{column:e}=this,t=e.getColGroupDef(),o=_getHeaderClassesFromColDef(t,this.gos,null,e);e.isPadding()?(o.push("ag-header-group-cell-no-group"),e.getLeafColumns().every(s=>s.isSpanHeaderHeight())&&o.push("ag-header-span-height")):(o.push("ag-header-group-cell-with-group"),t?.wrapHeaderText&&o.push("ag-header-cell-wrap-text"));for(const i of o)this.comp.toggleCss(i,!0)}setupMovingCss(e){const{column:t}=this,i=t.getProvidedColumnGroup().getLeafColumns(),s=()=>this.comp.toggleCss("ag-header-cell-moving",t.isMoving());for(const n of i)e.addManagedListeners(n,{movingChanged:s});s()}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription())}handleKeyDown(e){if(super.handleKeyDown(e),!this.getWrapperHasFocus())return;const{column:o,expandable:i,gos:s,beans:n}=this,r=_getEnableColumnSelection(s);if(e.key==KeyCode.ENTER){if(r&&!e.altKey)n.rangeSvc?.handleColumnSelection(o,e);else if(i){const a=!o.isExpanded();n.colGroupSvc.setColumnGroupOpened(o.getProvidedColumnGroup(),a,"uiColumnExpanded")}}}refreshAnnouncement(){let e;const{gos:t,expandable:o}=this,i=_getEnableColumnSelection(t),s=this.getLocaleTextFunc();i&&o?e=s("ariaColumnGroupCellSelectionAndExpansion","Press Enter to toggle selection for all visible cells in this column group. Press ALT ENTER to expand or collapse this column group"):i?e=s("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group"):o&&(e=s("ariaColumnGroupExpansion","Press ENTER to expand or collapse this column group")),this.ariaAnnouncement=e}announceAriaDescription(){const{beans:e,eGui:t,ariaAnnouncement:o}=this;!o||!t.contains(_getActiveDomElement(e))||e.ariaAnnounce?.announceValue(o,"columnHeader")}setDragSource(e){!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),e&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null))}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some(e=>e.colDef.suppressMovable||e.colDef.lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function setColumnGroupOpened(e,t,o){e.colGroupSvc?.setColumnGroupOpened(t,o,"api")}function getColumnGroup(e,t,o){return e.colGroupSvc?.getColumnGroup(t,o)??null}function getProvidedColumnGroup(e,t){return e.colGroupSvc?.getProvidedColGroup(t)??null}function getDisplayNameForColumnGroup(e,t,o){return e.colNames.getDisplayNameForColumnGroup(t,o)||""}function getColumnGroupState(e){return e.colGroupSvc?.getColumnGroupState()??[]}function setColumnGroupState(e,t){e.colGroupSvc?.setColumnGroupState(t,"api")}function resetColumnGroupState(e){e.colGroupSvc?.resetColumnGroupState("api")}function getLeftDisplayedColumnGroups(e){return e.visibleCols.treeLeft}function getCenterDisplayedColumnGroups(e){return e.visibleCols.treeCenter}function getRightDisplayedColumnGroups(e){return e.visibleCols.treeRight}function getAllDisplayedColumnGroups(e){return e.visibleCols.getAllTrees()}var GroupInstanceIdCreator=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let o;return typeof t!="number"?o=0:o=t+1,this.existingIds[e]=o,o}};function _removeAllFromUnorderedArray(e,t){for(let o=0;o<t.length;o++){const i=e.indexOf(t[o]);i>=0&&(e[i]=e[e.length-1],e.pop())}}var VisibleColsService=class extends BeanStub{constructor(){super(...arguments),this.beanName="visibleCols",this.colsAndGroupsMap={},this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.headerGroupRowCount=0,this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.isBodyWidthDirty=!0}refresh(e,t=!1){const{colFlex:o,colModel:i,colGroupSvc:s,colViewport:n,selectionColSvc:r}=this.beans;t||this.buildTrees(i,s),s?.updateOpenClosedVisibility(),this.leftCols=pickDisplayedCols(this.treeLeft),this.centerCols=pickDisplayedCols(this.treeCenter),this.rightCols=pickDisplayedCols(this.treeRight),r?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(i),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues(e),this.autoHeightCols=this.allCols.filter(a=>a.isAutoHeight()),o?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(i,this.leftCols,this.rightCols,e),n.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:e})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let e=0;for(const t of this.allCols){let o=t.parent;for(;o;){if(!o.isPadding()){const i=o.getProvidedColumnGroup().getLevel()+1;i>e&&(e=i);break}o=o.parent}}return e}updateBodyWidths(){const e=getWidthOfColsInList(this.centerCols),t=getWidthOfColsInList(this.leftCols),o=getWidthOfColsInList(this.rightCols);this.isBodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==o)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=o,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e,t,o,i){let s,n;this.gos.get("enableRtl")?(s=t?t[0]:null,n=o?_last(o):null):(s=t?_last(t):null,n=o?o[0]:null);for(const r of e.getCols())r.setLastLeftPinned(r===s,i),r.setFirstRightPinned(r===n,i)}buildTrees(e,t){const o=e.getColsToShow(),i=o.filter(l=>l.getPinned()=="left"),s=o.filter(l=>l.getPinned()=="right"),n=o.filter(l=>l.getPinned()!="left"&&l.getPinned()!="right"),r=new GroupInstanceIdCreator,a=l=>t?t.createColumnGroups(l):l.columns;this.treeLeft=a({columns:i,idCreator:r,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=a({columns:s,idCreator:r,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=a({columns:n,idCreator:r,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder(e){const t=e.getCols(),o=[],i=[],s=[];for(const n of t){const r=n.getPinned();r?r===!0||r==="left"?o.push(n):s.push(n):i.push(n)}this.ariaOrderColumns=o.concat(i).concat(s)}getAriaColIndex(e){let t;return isColumnGroup(e)?t=e.getLeafColumns()[0]:t=e,this.ariaOrderColumns.indexOf(t)+1}setLeftValuesOfGroups(){for(const e of[this.treeLeft,this.treeRight,this.treeCenter])for(const t of e)isColumnGroup(t)&&t.checkLeft()}setLeftValuesOfCols(e){const{colModel:t}=this.beans;if(!t.getColDefCols())return;const i=t.getCols().slice(0),s=this.gos.get("enableRtl");for(const n of[this.leftCols,this.rightCols,this.centerCols]){if(s){let r=getWidthOfColsInList(n);for(const a of n)r-=a.getActualWidth(),a.setLeft(r,e)}else{let r=0;for(const a of n)a.setLeft(r,e),r+=a.getActualWidth()}_removeAllFromUnorderedArray(i,n)}for(const n of i)n.setLeft(null,e)}joinCols(){this.gos.get("enableRtl")?this.allCols=this.rightCols.concat(this.centerCols).concat(this.leftCols):this.allCols=this.leftCols.concat(this.centerCols).concat(this.rightCols)}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}isColDisplayed(e){return this.allCols.indexOf(e)>=0}getLeftColsForRow(e){const{leftCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getRightColsForRow(e){const{rightCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getColsForRow(e,t,o,i){const s=[];let n=null;for(let r=0;r<t.length;r++){const a=t[r],l=t.length-r,d=Math.min(a.getColSpan(e),l),c=[a];if(d>1){const h=d-1;for(let g=1;g<=h;g++)c.push(t[r+g]);r+=h}let u;if(o){u=!1;for(const h of c)o(h)&&(u=!0)}else u=!0;u&&(s.length===0&&n&&i&&i(a)&&s.push(n),s.push(a)),n=a}return s}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore(e){const t=this.allCols,o=t.indexOf(e);return o>0?t[o-1]:null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};depthFirstAllColumnTreeSearch(this.treeCenter,!1,e),depthFirstAllColumnTreeSearch(this.treeLeft,!1,e),depthFirstAllColumnTreeSearch(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}getFirstColumn(){const e=this.gos.get("enableRtl"),t=["leftCols","centerCols","rightCols"];e&&t.reverse();for(let o=0;o<t.length;o++){const i=this[t[o]];if(i.length)return e?_last(i):i[0]}return null}getColAfter(e){const t=this.allCols,o=t.indexOf(e);return o<t.length-1?t[o+1]:null}getColsLeftWidth(){return getWidthOfColsInList(this.leftCols)}getDisplayedColumnsRightWidth(){return getWidthOfColsInList(this.rightCols)}isColAtEdge(e,t){const o=this.allCols;if(!o.length)return!1;const i=t==="first";let s;if(isColumnGroup(e)){const n=e.getDisplayedLeafColumns();if(!n.length)return!1;s=i?n[0]:_last(n)}else s=e;return(i?o[0]:_last(o))===s}};function depthFirstAllColumnTreeSearch(e,t,o){if(e)for(let i=0;i<e.length;i++){const s=e[i];if(isColumnGroup(s)){const n=t?s.getDisplayedChildren():s.getChildren();depthFirstAllColumnTreeSearch(n,t,o)}o(s)}}function pickDisplayedCols(e){const t=[];return depthFirstAllColumnTreeSearch(e,!0,o=>{isColumn(o)&&t.push(o)}),t}var ColumnGroupService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colGroupSvc"}getColumnGroupState(){const e=[],t=this.beans.colModel.getColTree();return depthFirstOriginalTreeSearch(null,t,o=>{isProvidedColumnGroup(o)&&e.push({groupId:o.getGroupId(),open:o.isExpanded()})}),e}resetColumnGroupState(e){const t=this.beans.colModel.getColDefColTree();if(!t)return;const o=[];depthFirstOriginalTreeSearch(null,t,i=>{if(isProvidedColumnGroup(i)){const s=i.getColGroupDef(),n={groupId:i.getGroupId(),open:s?s.openByDefault:void 0};o.push(n)}}),this.setColumnGroupState(o,e)}setColumnGroupState(e,t){const{colModel:o,colAnimation:i,visibleCols:s,eventSvc:n}=this.beans;if(!o.getColTree().length)return;i?.start();const a=[];for(const l of e){const d=l.groupId,c=l.open,u=this.getProvidedColGroup(d);u&&u.isExpanded()!==c&&(u.setExpanded(c),a.push(u))}s.refresh(t,!0),a.length&&n.dispatchEvent({type:"columnGroupOpened",columnGroup:a.length===1?a[0]:void 0,columnGroups:a}),i?.finish()}setColumnGroupOpened(e,t,o){let i;isProvidedColumnGroup(e)?i=e.getId():i=e||"",this.setColumnGroupState([{groupId:i,open:t}],o)}getProvidedColGroup(e){let t=null;return depthFirstOriginalTreeSearch(null,this.beans.colModel.getColTree(),o=>{isProvidedColumnGroup(o)&&o.getId()===e&&(t=o)}),t}getGroupAtDirection(e,t){const o=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),i=e.getDisplayedLeafColumns(),s=t==="After"?_last(i):i[0],n=`getCol${t}`;for(;;){const r=this.beans.visibleCols[n](s);if(!r)return null;const a=this.getColGroupAtLevel(r,o);if(a!==e)return a}}getColGroupAtLevel(e,t){let o=e.parent,i,s;for(;i=o.getProvidedColumnGroup().getLevel(),s=o.getPaddingLevel(),!(i+s<=t);)o=o.parent;return o}updateOpenClosedVisibility(){const e=this.beans.visibleCols.getAllTrees();depthFirstAllColumnTreeSearch(e,!1,t=>{isColumnGroup(t)&&t.calculateDisplayedColumns()})}getColumnGroup(e,t){if(!e)return null;if(isColumnGroup(e))return e;const o=this.beans.visibleCols.getAllTrees(),i=typeof t=="number";let s=null;return depthFirstAllColumnTreeSearch(o,!1,n=>{if(isColumnGroup(n)){const r=n;let a;i?a=e===r.getGroupId()&&t===r.getPartId():a=e===r.getGroupId(),a&&(s=r)}}),s}createColumnGroups(e){const{columns:t,idCreator:o,pinned:i,oldDisplayedGroups:s,isStandaloneStructure:n}=e,r=this.mapOldGroupsById(s),a=[];let l=t;for(;l.length;){const d=l;l=[];let c=0;const u=h=>{const g=c;c=h;const p=d[g],m=(isColumnGroup(p)?p.getProvidedColumnGroup():p).getOriginalParent();if(m==null){for(let w=g;w<h;w++)a.push(d[w]);return}const C=this.createColumnGroup(m,o,r,i,n);for(let w=g;w<h;w++)C.addChild(d[w]);l.push(C)};for(let h=1;h<d.length;h++){const g=d[h],f=(isColumnGroup(g)?g.getProvidedColumnGroup():g).getOriginalParent(),m=d[c],w=(isColumnGroup(m)?m.getProvidedColumnGroup():m).getOriginalParent();f!==w&&u(h)}c<d.length&&u(d.length)}return n||this.setupParentsIntoCols(a,null),a}createProvidedColumnGroup(e,t,o,i,s,n,r){const a=s.getUniqueKey(t.groupId||null,null),l=createMergedColGroupDef(this.beans,t,a),d=new AgProvidedColumnGroup(l,a,!1,o);this.createBean(d);const c=this.findExistingGroup(t,n);c&&n.splice(c.idx,1);const u=c?.group;u&&d.setExpanded(u.isExpanded());const h=_recursivelyCreateColumns(this.beans,l.children,o+1,e,i,s,n,r);return d.setChildren(h),d}balanceColumnTree(e,t,o,i){const s=[];for(let n=0;n<e.length;n++){const r=e[n];if(isProvidedColumnGroup(r)){const a=r,l=this.balanceColumnTree(a.getChildren(),t+1,o,i);a.setChildren(l),s.push(a)}else{let a,l;for(let d=t;d<o;d++){const c=i.getUniqueKey(null,null),u=createMergedColGroupDef(this.beans,null,c),h=new AgProvidedColumnGroup(u,c,!0,d);this.createBean(h),l&&l.setChildren([h]),l=h,a||(a=l)}if(a&&l)if(s.push(a),e.some(c=>isProvidedColumnGroup(c))){l.setChildren([r]);continue}else{l.setChildren(e);break}s.push(r)}}return s}findDepth(e){let t=0,o=e;for(;o?.[0]&&isProvidedColumnGroup(o[0]);)t++,o=o[0].getChildren();return t}findMaxDepth(e,t){let o=t;for(let i=0;i<e.length;i++){const s=e[i];if(isProvidedColumnGroup(s)){const n=s,r=this.findMaxDepth(n.getChildren(),t+1);o<r&&(o=r)}}return o}balanceTreeForAutoCols(e,t){const o=[];for(const i of e){let s=i;for(let n=t-1;n>=0;n--){const r=new AgProvidedColumnGroup(null,`FAKE_PATH_${i.getId()}_${n}`,!0,n);this.createBean(r),r.setChildren([s]),s.originalParent=r,s=r}t===0&&(i.originalParent=null),o.push(s)}return o}findExistingGroup(e,t){if(e.groupId!=null)for(let i=0;i<t.length;i++){const s=t[i];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:i,group:s}}}createColumnGroup(e,t,o,i,s){const n=e.getGroupId(),r=t.getInstanceIdForKey(n),a=createUniqueColumnGroupId(n,r);let l=o[a];return l&&l.getProvidedColumnGroup()!==e&&(l=null),_exists(l)?l.reset():(l=new AgColumnGroup(e,n,r,i),s||this.createBean(l)),l}mapOldGroupsById(e){const t={},o=i=>{for(const s of i)if(isColumnGroup(s)){const n=s;t[s.getUniqueId()]=n,o(n.getChildren())}};return e&&o(e),t}setupParentsIntoCols(e,t){for(const o of e??[])if(o.parent!==t&&(this.beans.colViewport.colsWithinViewportHash=""),o.parent=t,isColumnGroup(o)){const i=o;this.setupParentsIntoCols(i.getChildren(),i)}}},ColumnGroupModule={moduleName:"ColumnGroup",version:VERSION,dynamicBeans:{headerGroupCellCtrl:HeaderGroupCellCtrl},beans:[ColumnGroupService],apiFunctions:{getAllDisplayedColumnGroups,getCenterDisplayedColumnGroups,getColumnGroup,getColumnGroupState,getDisplayNameForColumnGroup,getLeftDisplayedColumnGroups,getProvidedColumnGroup,getRightDisplayedColumnGroups,resetColumnGroupState,setColumnGroupOpened,setColumnGroupState}};function _applyColumnState(e,t,o){const{colModel:i,rowGroupColsSvc:s,pivotColsSvc:n,autoColSvc:r,selectionColSvc:a,colAnimation:l,visibleCols:d,pivotResultCols:c,environment:u,valueColsSvc:h,eventSvc:g,gos:p}=e,f=i.getColDefCols()??[],m=a?.getColumns();if(!f.length&&!m?.length)return!1;if(t?.state&&!t.state.forEach)return _warn(32),!1;const C=(S,y,R,E,x)=>{if(!S)return;const P=getValueFactory(y,t.defaultState),F=P("flex").value1,M=P("sort").value1,D=P("sortType").value1,I=_isSortDirectionValid(M)||_isSortTypeValid(D),T=_normalizeSortType(D),G=_normalizeSortDirection(M),N=I?{type:T,direction:G}:void 0;if(updateSomeColumnState(e,S,P("hide").value1,N,P("sortIndex").value1,P("pinned").value1,F,o),F==null){const L=P("width").value1;if(L!=null){const H=S.getColDef().minWidth??u.getDefaultColumnMinWidth();H!=null&&L>=H&&S.setActualWidth(L,o)}}x||!S.primary||(h?.syncColumnWithState(S,o,P),s?.syncColumnWithState(S,o,P,R),n?.syncColumnWithState(S,o,P,E))},w=(S,y,R)=>{const E=_compareColumnStatesAndDispatchEvents(e,o),x=y.slice(),P={},F={},M=[],D=[],I=[];let T=0;const G=s?.columns.slice()??[],N=n?.columns.slice()??[];for(const A of S){const O=A.colId;if(O.startsWith(GROUP_AUTO_COLUMN_ID)){M.push(A),I.push(A);continue}if(isColumnSelectionCol(O)){D.push(A),I.push(A);continue}const B=R(O);B?(C(B,A,P,F,!1),_removeFromArray(x,B)):(I.push(A),T+=1)}const L=A=>C(A,null,P,F,!1);x.forEach(L),s?.sortColumns(comparatorByIndex.bind(s,P,G)),n?.sortColumns(comparatorByIndex.bind(n,F,N)),i.refreshCols(!1,o);const H=(A,O,z=[])=>{for(const B of O){const W=A(B.colId);_removeFromArray(z,W),C(W,B,null,null,!0)}z.forEach(L)};return H(A=>r?.getColumn(A)??null,M,r?.getColumns()?.slice()),H(A=>a?.getColumn(A)??null,D,a?.getColumns()?.slice()),orderLiveColsLikeState(t,i,p),d.refresh(o),g.dispatchEvent({type:"columnEverythingChanged",source:o}),E(),{unmatchedAndAutoStates:I,unmatchedCount:T}};l?.start();let{unmatchedAndAutoStates:v,unmatchedCount:b}=w(t.state||[],f,S=>i.getColDefCol(S));if(v.length>0||_exists(t.defaultState)){const S=c?.getPivotResultCols()?.list??[];b=w(v,S,y=>c?.getPivotResultCol(y)??null).unmatchedCount}return l?.finish(),b===0}function _resetColumnState(e,t){const{colModel:o,autoColSvc:i,selectionColSvc:s,eventSvc:n,gos:r}=e;if(!o.getColDefCols()?.length)return;const l=o.getColDefColTree(),d=_getColumnsFromTree(l),c=[];let u=1e3,h=1e3;const g=w=>{const v=getColumnStateFromColDef(w);_missing(v.rowGroupIndex)&&v.rowGroup&&(v.rowGroupIndex=u++),_missing(v.pivotIndex)&&v.pivot&&(v.pivotIndex=h++),c.push(v)};i?.getColumns()?.forEach(g),s?.getColumns()?.forEach(g),d?.forEach(g),_applyColumnState(e,{state:c},t);const p=i?.getColumns()??[],C=[...s?.getColumns()??[],...p,...d].map(w=>({colId:w.colId}));_applyColumnState(e,{state:C,applyOrder:!0},t),n.dispatchEvent(_addGridCommonParams(r,{type:"columnsReset",source:t}))}function _compareColumnStatesAndDispatchEvents(e,t){const{rowGroupColsSvc:o,pivotColsSvc:i,valueColsSvc:s,colModel:n,sortSvc:r,eventSvc:a}=e,l={rowGroupColumns:o?.columns.slice()??[],pivotColumns:i?.columns.slice()??[],valueColumns:s?.columns.slice()??[]},d=_getColumnState(e),c={};for(const u of d)c[u.colId]=u;return()=>{const u=(y,R,E,x)=>{const P=R.map(x),F=E.map(x);if(_areEqual(P,F))return;const D=new Set(R);for(const T of E)D.delete(T)||D.add(T);const I=[...D];a.dispatchEvent({type:y,columns:I,column:I.length===1?I[0]:null,source:t})},h=y=>{const R=[];return n.forAllCols(E=>{const x=c[E.colId];x&&y(x,E)&&R.push(E)}),R},g=y=>y.colId;u("columnRowGroupChanged",l.rowGroupColumns,o?.columns??[],g),u("columnPivotChanged",l.pivotColumns,i?.columns??[],g);const f=h((y,R)=>{const E=y.aggFunc!=null,x=E!=R.isValueActive(),P=E&&y.aggFunc!=R.getAggFunc();return x||P});f.length>0&&dispatchColumnChangedEvent(a,"columnValueChanged",f,t),dispatchColumnResizedEvent(a,h((y,R)=>y.width!=R.getActualWidth()),!0,t),dispatchColumnPinnedEvent(a,h((y,R)=>y.pinned!=R.getPinned()),t),dispatchColumnVisibleEvent(a,h((y,R)=>y.hide==R.isVisible()),t);const b=h((y,R)=>!_areSortDefsEqual(R.getSortDef(),{type:_normalizeSortType(y.sortType),direction:_normalizeSortDirection(y.sort)})||y.sortIndex!=R.getSortIndex());b.length>0&&r?.dispatchSortChangedEvents(t,b);const S=_getColumnState(e);normaliseColumnMovedEventForColumnState(d,S,t,n,a)}}function _getColumnState(e){const{colModel:t,rowGroupColsSvc:o,pivotColsSvc:i}=e,s=t.getColDefCols();if(_missing(s)||!t.isAlive())return[];const n=o?.columns,r=i?.columns,a=[],l=c=>{const u=c.isRowGroupActive()&&n?n.indexOf(c):null,h=c.isPivotActive()&&r?r.indexOf(c):null,g=c.isValueActive()?c.getAggFunc():null,p=c.getSortIndex()!=null?c.getSortIndex():null;a.push({colId:c.colId,width:c.getActualWidth(),hide:!c.isVisible(),pinned:c.getPinned(),sort:c.getSort(),sortType:c.getSortDef()?.type,sortIndex:p,aggFunc:g,rowGroup:c.isRowGroupActive(),rowGroupIndex:u,pivot:c.isPivotActive(),pivotIndex:h,flex:c.getFlex()??null})};t.forAllCols(c=>l(c));const d=new Map(t.getCols().map((c,u)=>[c.colId,u]));return a.sort((c,u)=>{const h=d.has(c.colId)?d.get(c.colId):-1,g=d.has(u.colId)?d.get(u.colId):-1;return h-g}),a}function getColumnStateFromColDef(e){const t=(m,C)=>m??C??null,o=e.colDef,i=_getSortDefFromInput(t(o.sort,o.initialSort)),s=i.direction,n=i.type,r=t(o.sortIndex,o.initialSortIndex),a=t(o.hide,o.initialHide),l=t(o.pinned,o.initialPinned),d=t(o.width,o.initialWidth),c=t(o.flex,o.initialFlex);let u=t(o.rowGroupIndex,o.initialRowGroupIndex),h=t(o.rowGroup,o.initialRowGroup);u==null&&!h&&(u=null,h=null);let g=t(o.pivotIndex,o.initialPivotIndex),p=t(o.pivot,o.initialPivot);g==null&&!p&&(g=null,p=null);const f=t(o.aggFunc,o.initialAggFunc);return{colId:e.colId,sort:s,sortType:n,sortIndex:r,hide:a,pinned:l,width:d,flex:c,rowGroup:h,rowGroupIndex:u,pivot:p,pivotIndex:g,aggFunc:f}}function orderLiveColsLikeState(e,t,o){if(!e.applyOrder||!e.state)return;const i=[];for(const s of e.state)s.colId!=null&&i.push(s.colId);sortColsLikeKeys(t.cols,i,t,o)}function sortColsLikeKeys(e,t,o,i){if(e==null)return;let s=[];const n={};for(const a of t){if(n[a])continue;const l=e.map[a];l&&(s.push(l),n[a]=!0)}let r=0;for(const a of e.list){const l=a.colId;if(n[l]!=null)continue;l.startsWith(GROUP_AUTO_COLUMN_ID)?s.splice(r++,0,a):s.push(a)}if(s=placeLockedColumns(s,i),!doesMovePassMarryChildren(s,o.getColTree())){_warn(39);return}e.list=s}function normaliseColumnMovedEventForColumnState(e,t,o,i,s){const n={};for(const c of t)n[c.colId]=c;const r={};for(const c of e)n[c.colId]&&(r[c.colId]=!0);const a=e.filter(c=>r[c.colId]),l=t.filter(c=>r[c.colId]),d=[];l.forEach((c,u)=>{const h=a?.[u];if(h&&h.colId!==c.colId){const g=i.getCol(h.colId);g&&d.push(g)}}),d.length&&s.dispatchEvent({type:"columnMoved",columns:d,column:d.length===1?d[0]:null,finished:!0,source:o})}var comparatorByIndex=(e,t,o,i)=>{const s=e[o.getId()],n=e[i.getId()],r=s!=null,a=n!=null;if(r&&a)return s-n;if(r)return-1;if(a)return 1;const l=t.indexOf(o),d=t.indexOf(i),c=l>=0,u=d>=0;return c&&u?l-d:c?-1:1},ColumnModel=class extends BeanStub{constructor(){super(...arguments),this.beanName="colModel",this.pivotMode=!1,this.ready=!1,this.changeEventsDispatching=!1}postConstruct(){this.pivotMode=this.gos.get("pivotMode"),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents","groupHideColumnsUntilExpanded","rowNumbers","hidePaddedHeaderRows"],e=>this.refreshAll(_convertColumnEventSourceType(e.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",e=>this.setPivotMode(this.gos.get("pivotMode"),_convertColumnEventSourceType(e.source)))}createColsFromColDefs(e){const{beans:t}=this,{valueCache:o,colAutosize:i,rowGroupColsSvc:s,pivotColsSvc:n,valueColsSvc:r,visibleCols:a,eventSvc:l,groupHierarchyColSvc:d}=t,c=this.colDefs?_compareColumnStatesAndDispatchEvents(t,e):void 0;o?.expire();const u=this.colDefCols?.list,h=this.colDefCols?.tree,g=_createColumnTree(t,this.colDefs,!0,h,e);_destroyColumnTree(t,this.colDefCols?.tree,g.columnTree);const p=g.columnTree,f=g.treeDepth,m=_getColumnsFromTree(p),C={};for(const w of m)C[w.getId()]=w;this.colDefCols={tree:p,treeDepth:f,list:m,map:C},this.createColumnsForService([d],this.colDefCols,e),s?.extractCols(e,u),n?.extractCols(e,u),r?.extractCols(e,u),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,e),this.changeEventsDispatching=!1,a.refresh(e),l.dispatchEvent({type:"columnEverythingChanged",source:e}),c&&(this.changeEventsDispatching=!0,c(),this.changeEventsDispatching=!1),l.dispatchEvent({type:"newColumnsLoaded",source:e}),e==="gridInitializing"&&i?.applyAutosizeStrategy()}refreshCols(e,t){if(!this.colDefCols)return;const o=this.cols?.tree;this.saveColOrder();const{autoColSvc:i,selectionColSvc:s,rowNumbersSvc:n,quickFilter:r,pivotResultCols:a,showRowGroupCols:l,rowAutoHeight:d,visibleCols:c,colViewport:u,eventSvc:h,formula:g}=this.beans,p=this.selectCols(a,this.colDefCols);g?.setFormulasActive(p),this.createColumnsForService([i,s,n],p,t);const f=_shouldMaintainColumnOrder(this.gos,this.showingPivotResult);(!e||f)&&this.restoreColOrder(p),this.positionLockedCols(p),l?.refresh(),r?.refreshCols(),this.setColSpanActive(),d?.setAutoHeightActive(p),c.clear(),u.clear(),_areEqual(o,this.cols.tree)||h.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService(e,t,o){for(const i of e)i&&(i.createColumns(t,s=>{this.lastOrder=s(this.lastOrder),this.lastPivotOrder=s(this.lastPivotOrder)},o),i.addColumns(t))}selectCols(e,t){const o=e?.getPivotResultCols()??null;this.showingPivotResult=o!=null;const{map:i,list:s,tree:n,treeDepth:r}=o??t;return this.cols={list:s.slice(),map:{...i},tree:n.slice(),treeDepth:r},o&&(o.list.some(l=>this.cols?.map[l.colId]!==void 0)||(this.lastPivotOrder=null)),this.cols}getColsToShow(){if(!this.cols)return[];const{beans:e,showingPivotResult:t,cols:o}=this,{valueColsSvc:i,selectionColSvc:s,gos:n}=e,r=this.pivotMode&&!t,a=s?.isSelectionColumnEnabled(),l=_isRowNumbers(e),d=i?.columns,c=_isGroupHideColumnsUntilExpanded(n);return o.list.filter(h=>{const g=isColumnGroupAutoCol(h);return r?d?.includes(h)||g&&(!c||h.isVisible())||a&&isColumnSelectionCol(h)||l&&isRowNumberCol(h):g&&!c||h.isVisible()})}refreshAll(e){this.ready&&(this.refreshCols(!1,e),this.beans.visibleCols.refresh(e))}setColsVisible(e,t=!1,o){_applyColumnState(this.beans,{state:e.map(i=>({colId:typeof i=="string"?i:i.colId,hide:!t}))},o)}restoreColOrder(e){const t=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!t)return;const o=t.filter(u=>e.map[u.getId()]!=null);if(o.length===0)return;if(o.length===e.list.length){e.list=o;return}const i=u=>{const h=u.getOriginalParent();return h?h.getChildren().length>1?!0:i(h):!1};if(!o.some(u=>i(u))){const u=new Set(o);for(const h of e.list)u.has(h)||o.push(h);e.list=o;return}const s=new Map;for(let u=0;u<o.length;u++){const h=o[u];s.set(h,u)}const n=e.list.filter(u=>!s.has(u));if(n.length===0){e.list=o;return}const r=(u,h)=>{const g=h?h.getOriginalParent():u.getOriginalParent();if(!g)return null;let p=null,f=null;for(const m of g.getChildren())if(!(m===h||m===u)){if(m instanceof AgColumn){const C=s.get(m);if(C==null)continue;(p==null||p<C)&&(p=C,f=m);continue}m.forEachLeafColumn(C=>{const w=s.get(C);w!=null&&(p==null||p<w)&&(p=w,f=C)})}return f??r(u,g)},a=[],l=new Map;for(const u of n){const h=r(u,null);if(h==null){a.push(u);continue}const g=l.get(h);g===void 0?l.set(h,u):Array.isArray(g)?g.push(u):l.set(h,[g,u])}const d=new Array(e.list.length);let c=d.length-1;for(let u=a.length-1;u>=0;u--)d[c--]=a[u];for(let u=o.length-1;u>=0;u--){const h=o[u],g=l.get(h);if(g)if(Array.isArray(g))for(let p=g.length-1;p>=0;p--){const f=g[p];d[c--]=f}else d[c--]=g;d[c--]=h}e.list=d}positionLockedCols(e){e.list=placeLockedColumns(e.list,this.gos)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list??null:this.lastOrder=this.cols?.list??null}getColumnDefs(e){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],e)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some(e=>e.getColDef().colSpan!=null)}isPivotMode(){return this.pivotMode}setPivotMode(e,t){if(e===this.pivotMode||(this.pivotMode=e,!this.ready))return;this.refreshCols(!1,t);const{visibleCols:o,eventSvc:i}=this.beans;o.refresh(t),i.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){const e=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!e?.length}recreateColumnDefs(e){if(!this.cols)return;this.beans.autoColSvc?.updateColumns(e);const t=_convertColumnEventSourceType(e.source);this.createColsFromColDefs(t)}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){_destroyColumnTree(this.beans,this.colDefCols?.tree),super.destroy()}getColTree(){return this.cols?.tree??[]}getColDefColTree(){return this.colDefCols?.tree??[]}getColDefCols(){return this.colDefCols?.list??null}getCols(){return this.cols?.list??[]}forAllCols(e){const{pivotResultCols:t,autoColSvc:o,selectionColSvc:i,groupHierarchyColSvc:s}=this.beans;_forAll(this.colDefCols?.list,e)||_forAll(o?.columns?.list,e)||_forAll(i?.columns?.list,e)||_forAll(s?.columns?.list,e)||_forAll(t?.getPivotResultCols()?.list,e)}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){return this.getColFromCollection(e,this.colDefCols)??this.getColFromServiceCols(e)}getColDefColOrCol(e){return e==null?null:this.getColFromCollection(e,this.colDefCols)??this.getColFromCollection(e,this.cols)??this.getColFromServiceCols(e)}getColOrColDefCol(e){return e==null?null:this.getColFromCollection(e,this.cols)??this.getColFromCollection(e,this.colDefCols)??this.getColFromServiceCols(e)}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)??this.getColFromServiceCols(e)}getColById(e){return this.cols?.map[e]??null}getColFromCollection(e,t){if(t==null)return null;const o=t.map;if(typeof e=="string"&&o[e])return o[e];const i=t.list;for(let s=0,n=i.length;s<n;++s)if(_columnsMatch(i[s],e))return i[s];return null}getColFromServiceCols(e){const t=this.beans;return t.autoColSvc?.getColumn(e)??t.selectionColSvc?.getColumn(e)??t.groupHierarchyColSvc?.getColumn(e)??null}},agAbstractLabel_default=".ag-label{white-space:nowrap}:where(.ag-ltr) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-label-align-right) .ag-label{order:1}:where(.ag-ltr) :where(.ag-label-align-right) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) :where(.ag-label-align-right) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-label-align-right){.ag-label,.ag-wrapper{flex:none}}.ag-label-align-top{align-items:flex-start;flex-direction:column}:where(.ag-label-align-top){.ag-label,.ag-wrapper{align-self:stretch}}.ag-label-ellipsis{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-label-align-top) .ag-label{margin-bottom:calc(var(--ag-spacing)*.5)}",AgAbstractLabel=class extends AgComponentStub{constructor(e,t,o){super(t,o),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{},this.registerCSS(agAbstractLabel_default)}postConstruct(){this.addCss("ag-labeled"),this.eLabel.classList.add("ag-label");const{labelSeparator:e,label:t,labelWidth:o,labelAlignment:i,disabled:s,labelEllipsis:n}=this.config;s!=null&&this.setDisabled(s),e!=null&&this.setLabelSeparator(e),t!=null&&this.setLabel(t),o!=null&&this.setLabelWidth(o),n!=null&&this.setLabelEllipsis(n),this.setLabelAlignment(i||this.labelAlignment),this.refreshLabel()}refreshLabel(){const{label:e,eLabel:t}=this;_clearElement(t),typeof e=="string"?t.innerText=e+this.labelSeparator:e&&t.appendChild(e),e===""?(_setDisplayed(t,!1),_setAriaRole(t,"presentation")):(_setDisplayed(t,!0),_setAriaRole(t,null))}setLabelSeparator(e){return this.labelSeparator===e?this:(this.labelSeparator=e,this.label!=null&&this.refreshLabel(),this)}getLabelId(){const e=this.eLabel;return e.id=e.id||`ag-${this.getCompId()}-label`,e.id}getLabel(){return this.label}setLabel(e){return this.label===e?this:(this.label=e,this.refreshLabel(),this)}setLabelAlignment(e){const o=this.getGui().classList;return o.toggle("ag-label-align-left",e==="left"),o.toggle("ag-label-align-right",e==="right"),o.toggle("ag-label-align-top",e==="top"),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return this.label==null?this:(_setElementWidth(this.eLabel,e),this)}setDisabled(e){e=!!e;const t=this.getGui();return _setDisabled(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},AgAbstractField=class extends AgAbstractLabel{constructor(e,t,o,i){super(e,t,o),this.className=i}postConstruct(){super.postConstruct();const{width:e,value:t,onValueChange:o,ariaLabel:i}=this.config;e!=null&&this.setWidth(e),t!=null&&this.setValue(t),o!=null&&this.onValueChange(o),i!=null&&this.setAriaLabel(i),this.className&&this.addCss(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){const e=this.getAriaElement(),t=this.getLabelId(),o=this.getLabel();o==null||o==""||_getAriaLabel(e)!==null?_setAriaLabelledBy(e,""):_setAriaLabelledBy(e,t??"")}setAriaLabel(e){return _setAriaLabel(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return _setFixedWidth(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e?this:(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"}),this)}};function buildTemplate(e){return{tag:"div",role:"presentation",children:[{tag:"div",ref:"eLabel",cls:"ag-input-field-label"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-input-wrapper",role:"presentation",children:[{tag:e,ref:"eInput",cls:"ag-input-field-input"}]}]}}var AgAbstractInputField=class extends AgAbstractField{constructor(e,t,o="text",i="input"){super(e,e?.template??buildTemplate(i),[],t),this.inputType=o,this.displayFieldTag=i,this.eLabel=RefPlaceholder,this.eWrapper=RefPlaceholder,this.eInput=RefPlaceholder}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);const{eLabel:e,eWrapper:t,eInput:o,className:i}=this;e.classList.add(`${i}-label`),t.classList.add(`${i}-input-wrapper`),o.classList.add(`${i}-input`),this.addCss("ag-input-field"),o.id=o.id||`ag-${this.getCompId()}-input`;const{inputName:s,inputWidth:n,inputPlaceholder:r,autoComplete:a,tabIndex:l}=this.config;s!=null&&this.setInputName(s),n!=null&&this.setInputWidth(n),r!=null&&this.setInputPlaceholder(r),a!=null&&this.setAutoComplete(a),this.addInputListeners(),this.activateTabIndex([o],l)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(e){this.displayFieldTag==="input"&&(this.inputType=e,_addOrRemoveAttribute(this.eInput,"type",e))}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth(e){return _setElementWidth(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){const t=this.eInput;return t.maxLength=e,this}setInputPlaceholder(e){return _addOrRemoveAttribute(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return _setAriaLabel(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return _setDisabled(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(e===!0)_addOrRemoveAttribute(this.eInput,"autocomplete",null);else{const t=typeof e=="string"?e:"off";_addOrRemoveAttribute(this.eInput,"autocomplete",t)}return this}},AgCheckbox=class extends AgAbstractInputField{constructor(e,t="ag-checkbox",o="checkbox"){super(e,t,o),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();const{readOnly:e,passive:t,name:o}=this.config;typeof e=="boolean"&&this.setReadOnly(e),typeof t=="boolean"&&this.setPassive(t),o!=null&&this.setName(o)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return this.selected===void 0?!0:!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;const e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){const t=this.getInputElement();return t.name=e,this}isSelected(){return this.selected}setSelected(e,t){if(this.isSelected()===e)return;this.previousValue=this.isSelected(),e=this.selected=typeof e=="boolean"?e:void 0;const o=this.eInput;o.checked=e,o.indeterminate=e===void 0,t||this.dispatchChange(this.selected,this.previousValue)}dispatchChange(e,t,o){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:o});const i=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:i.id,name:i.name,selected:e,previousValue:t})}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;const t=this.isSelected(),o=this.selected=e.target.checked;this.refreshSelectedClass(o),this.dispatchChange(o,t,e)}refreshSelectedClass(e){const t=this.eWrapper.classList;t.toggle("ag-checked",e===!0),t.toggle("ag-indeterminate",e==null)}},AgCheckboxSelector={selector:"AG-CHECKBOX",component:AgCheckbox},checkboxCellRenderer_default=".ag-checkbox-cell{height:100%}",CheckboxCellRendererElement={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},CheckboxCellRenderer=class extends Component{constructor(){super(CheckboxCellRendererElement,[AgCheckboxSelector]),this.eCheckbox=RefPlaceholder,this.registerCSS(checkboxCellRenderer_default)}init(e){this.refresh(e);const{eCheckbox:t,beans:o}=this,i=t.getInputElement();i.setAttribute("tabindex","-1"),_setAriaLive(i,"polite"),this.addManagedListeners(i,{click:s=>{if(_stopPropagationForAgGrid(s),t.isDisabled())return;const n=t.getValue();this.onCheckboxChanged(n)},dblclick:s=>{_stopPropagationForAgGrid(s)}}),this.addManagedElementListeners(e.eGridCell,{keydown:s=>{if(s.key===KeyCode.SPACE&&!t.isDisabled()){e.eGridCell===_getActiveDomElement(o)&&t.toggle();const n=t.getValue();this.onCheckboxChanged(n),s.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){let t,o=!0;const{value:i,column:s,node:n}=e;if(n.group&&s)if(typeof i=="boolean")t=i;else{const u=s.getColId();u.startsWith(GROUP_AUTO_COLUMN_ID)?t=i==null||i===""?void 0:i==="true":n.aggData?.[u]!==void 0||n.sourceRowIndex>=0?t=i??void 0:o=!1}else t=i??void 0;const{eCheckbox:r}=this;if(!o){r.setDisplayed(!1);return}r.setValue(t);const a=e.disabled??!s?.isCellEditable(n);r.setDisabled(a);const l=this.getLocaleTextFunc(),d=_getAriaCheckboxStateName(l,t),c=a?d:`${l("ariaToggleCellValue","Press SPACE to toggle cell value")} (${d})`;r.setInputAriaLabel(c)}onCheckboxChanged(e){const{params:t}=this,{column:o,node:i,value:s}=t,{editSvc:n}=this.beans;if(!o)return;const r={rowNode:i,column:o};n?.dispatchCellEvent(r,null,"cellEditingStarted",{value:s});const a=i.setDataValue(o,e,"ui");n?.dispatchCellEvent(r,null,"cellEditingStopped",{oldValue:s,newValue:e,valueChanged:a}),a||this.updateCheckbox(t)}},SkeletonCellRendererElement={tag:"div",cls:"ag-skeleton-container"},SkeletonCellRenderer=class extends Component{constructor(){super(SkeletonCellRendererElement)}init(e){const t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc(()=>_setAriaLabelledBy(e.eParentOfValue)),_setAriaLabelledBy(e.eParentOfValue,t),e.deferRender?this.setupLoading(e):e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){const e=this.getLocaleTextFunc();this.getGui().textContent=e("loadingError","ERR");const t=e("ariaSkeletonCellLoadingFailed","Row failed to load");_setAriaLabel(this.getGui(),t)}setupLoading(e){const t=_createElement({tag:"div",cls:"ag-skeleton-effect"}),o=e.node.rowIndex;if(o!=null){const n=75+25*(o%2===0?Math.sin(o):Math.cos(o));t.style.width=`${n}%`}this.getGui().appendChild(t);const i=this.getLocaleTextFunc(),s=e.deferRender?i("ariaDeferSkeletonCellLoading","Cell is loading"):i("ariaSkeletonCellLoading","Row data is loading");_setAriaLabel(this.getGui(),s)}refresh(e){return!1}},CheckboxCellRendererModule={moduleName:"CheckboxCellRenderer",version:VERSION,userComponents:{agCheckboxCellRenderer:CheckboxCellRenderer}},SkeletonCellRendererModule={moduleName:"SkeletonCellRenderer",version:VERSION,userComponents:{agSkeletonCellRenderer:SkeletonCellRenderer}};function getColumnDef(e,t){const o=e.colModel.getColDefColOrCol(t);return o?o.colDef:null}function getColumnDefs(e){return e.colModel.getColumnDefs(!0)}function getDisplayNameForColumn(e,t,o){return e.colNames.getDisplayNameForColumn(t,o)||""}function getColumn(e,t){return e.colModel.getColDefColOrCol(t)}function getColumns(e){return e.colModel.getColDefCols()}function applyColumnState(e,t){return _applyColumnState(e,t,"api")}function getColumnState(e){return _getColumnState(e)}function resetColumnState(e){_resetColumnState(e,"api")}function isPinning(e){return e.visibleCols.isPinningLeft()||e.visibleCols.isPinningRight()}function isPinningLeft(e){return e.visibleCols.isPinningLeft()}function isPinningRight(e){return e.visibleCols.isPinningRight()}function getDisplayedColAfter(e,t){return e.visibleCols.getColAfter(t)}function getDisplayedColBefore(e,t){return e.visibleCols.getColBefore(t)}function setColumnsVisible(e,t,o){e.colModel.setColsVisible(t,o,"api")}function setColumnsPinned(e,t,o){e.pinnedCols?.setColsPinned(t,o,"api")}function getAllGridColumns(e){return e.colModel.getCols()}function getDisplayedLeftColumns(e){return e.visibleCols.leftCols}function getDisplayedCenterColumns(e){return e.visibleCols.centerCols}function getDisplayedRightColumns(e){return e.visibleCols.rightCols}function getAllDisplayedColumns(e){return e.visibleCols.allCols}function getAllDisplayedVirtualColumns(e){return e.colViewport.getViewportColumns()}function _deepCloneDefinition(e,t){if(!e)return;const o=e,i={};for(const s of Object.keys(o)){if(t&&t.indexOf(s)>=0||SKIP_JS_BUILTINS.has(s))continue;const n=o[s];typeof n=="object"&&n!==null&&n.constructor===Object?i[s]=_deepCloneDefinition(n):i[s]=n}return i}var ColumnDefFactory=class extends BeanStub{constructor(){super(...arguments),this.beanName="colDefFactory"}wireBeans(e){this.rowGroupColsSvc=e.rowGroupColsSvc,this.pivotColsSvc=e.pivotColsSvc}getColumnDefs(e,t,o,i,s=!1){const n=e.slice();t?n.sort((l,d)=>o.indexOf(l)-o.indexOf(d)):(o||s)&&n.sort((l,d)=>i.indexOf(l)-i.indexOf(d));const r=this.rowGroupColsSvc?.columns,a=this.pivotColsSvc?.columns;return this.buildColumnDefs(n,r,a)}buildColumnDefs(e,t=[],o=[]){const i=[],s={};for(const n of e){const r=this.createDefFromColumn(n,t,o);let a=!0,l=r,d=n.getOriginalParent(),c=null;for(;d;){if(d.isPadding()){d=d.getOriginalParent();continue}const u=s[d.getGroupId()];if(u){u.children.push(l),a=!1;break}const h=this.createDefFromGroup(d);if(h&&(h.children=[l],s[h.groupId]=h,l=h,d=d.getOriginalParent()),d!=null&&c===d){a=!1;break}c=d}a&&i.push(l)}return i}createDefFromGroup(e){const t=_deepCloneDefinition(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,o){const i=_deepCloneDefinition(e.colDef);return i.colId=e.colId,i.width=e.getActualWidth(),i.rowGroup=e.isRowGroupActive(),i.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,i.pivot=e.isPivotActive(),i.pivotIndex=e.isPivotActive()?o.indexOf(e):null,i.aggFunc=e.isValueActive()?e.getAggFunc():null,i.hide=e.isVisible()?void 0:!0,i.pinned=e.isPinned()?e.getPinned():null,i.sort=e.getSortDef(),i.sortIndex=e.getSortIndex()!=null?e.getSortIndex():null,i}},ColumnFlexService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns(e={}){const t=e.source??"flex";e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth);const o=this.flexViewportWidth,{visibleCols:i,colDelayRenderSvc:s}=this.beans,n=i.centerCols;let r=-1;if(e.resizingCols){const f=new Set(e.resizingCols);for(let m=n.length-1;m>=0;m--)if(f.has(n[m])){r=m;break}}let a=!1;const l=n.map((f,m)=>{const C=f.getFlex(),w=C!=null&&C>0&&m>r;return a||(a=w),{col:f,isFlex:w,flex:Math.max(0,C??0),initialSize:f.getActualWidth(),min:f.getMinWidth(),max:f.getMaxWidth(),targetSize:0}});if(a?(s?.hideColumns("colFlex"),this.columnsHidden=!0):this.columnsHidden&&this.revealColumns(s),!o||!a)return[];let d=l.length,c=l.reduce((f,m)=>f+m.flex,0),u=o;const h=(f,m)=>{f.frozenSize=m,f.col.setActualWidth(m,t),u-=m,c-=f.flex,d-=1},g=f=>f.frozenSize!=null;for(const f of l)f.isFlex||h(f,f.initialSize);for(;d>0;){const f=Math.round(c<1?u*c:u);let m,C=0,w=0;for(const S of l){if(g(S))continue;m=S,w+=f*(S.flex/c);const y=w-C,R=Math.round(y);S.targetSize=R,C+=R}m&&(m.targetSize+=f-C);let v=0;for(const S of l){if(g(S))continue;const y=S.targetSize,R=Math.min(Math.max(y,S.min),S.max);v+=R-y,S.violationType=R===y?void 0:R<y?"max":"min",S.targetSize=R}const b=v===0?"all":v>0?"min":"max";for(const S of l)g(S)||(b==="all"||S.violationType===b)&&h(S,S.targetSize)}e.skipSetLeft||i.setLeftValues(t),e.updateBodyWidths&&i.updateBodyWidths();const p=l.filter(f=>f.isFlex&&!f.violationType).map(f=>f.col);if(e.fireResizedEvent){const f=l.filter(C=>C.initialSize!==C.frozenSize).map(C=>C.col),m=l.filter(C=>C.flex).map(C=>C.col);dispatchColumnResizedEvent(this.eventSvc,f,!0,t,m)}return this.revealColumns(s),p}revealColumns(e){this.columnsHidden&&(e?.revealColumns("colFlex"),this.columnsHidden=!1)}initCol(e){const{flex:t,initialFlex:o}=e.colDef;t!==void 0?e.flex=t:o!==void 0&&(e.flex=o)}setColFlex(e,t){e.flex=t??null,e.dispatchStateUpdatedEvent("flex")}},_parseBigIntOrNull=e=>{if(typeof e=="bigint")return e;let t;if(typeof e=="number")t=e;else if(typeof e=="string"&&(t=e.trim(),t===""||(t.endsWith("n")&&(t=t.slice(0,-1)),!/^[+-]?\d+$/.test(t))))return null;if(t==null)return null;try{return BigInt(t)}catch{return null}},DATE_TIME_SEPARATOR="T",DATE_TIME_SEPARATOR_REGEXP=new RegExp(`[${DATE_TIME_SEPARATOR} ]`),DATE_TIME_REGEXP=new RegExp(`^\\d{4}-\\d{2}-\\d{2}(${DATE_TIME_SEPARATOR}\\d{2}:\\d{2}:\\d{2}\\D?)?`);function _padStartWidthZeros(e,t){return e.toString().padStart(t,"0")}function _serialiseDate(e,t=!0,o=DATE_TIME_SEPARATOR){if(!e)return null;let i=[e.getFullYear(),e.getMonth()+1,e.getDate()].map(s=>_padStartWidthZeros(s,2)).join("-");return t&&(i+=o+[e.getHours(),e.getMinutes(),e.getSeconds()].map(s=>_padStartWidthZeros(s,2)).join(":")),i}function _getDateParts(e,t=!0){return e?t?[String(e.getFullYear()),String(e.getMonth()+1),_padStartWidthZeros(e.getDate(),2),_padStartWidthZeros(e.getHours(),2),`:${_padStartWidthZeros(e.getMinutes(),2)}`,`:${_padStartWidthZeros(e.getSeconds(),2)}`]:[e.getFullYear(),e.getMonth()+1,_padStartWidthZeros(e.getDate(),2)].map(String):null}var calculateOrdinal=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"},MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"],DAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function _dateToFormattedString(e,t){if(t==null)return _serialiseDate(e,!1);const o=_padStartWidthZeros(e.getFullYear(),4),i={YYYY:()=>o.slice(o.length-4,o.length),YY:()=>o.slice(o.length-2,o.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>MONTHS[e.getMonth()],MMM:()=>MONTHS[e.getMonth()].slice(0,3),MM:()=>_padStartWidthZeros(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${calculateOrdinal(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${calculateOrdinal(e.getDate())}`,DD:()=>_padStartWidthZeros(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>DAYS[e.getDay()],ddd:()=>DAYS[e.getDay()].slice(0,3),dd:()=>DAYS[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${calculateOrdinal(e.getDay())}`,d:()=>`${e.getDay()}`},s=new RegExp(Object.keys(i).join("|"),"g");return t.replace(s,n=>n in i?i[n]():n)}function _isValidDate(e,t=!1){return!!_parseDateTimeFromString(e,t)}function _isValidDateTime(e){return _isValidDate(e,!0)}function _parseDateTimeFromString(e,t=!1,o){if(!e||!o&&!DATE_TIME_REGEXP.test(e))return null;const[i,s]=e.split(DATE_TIME_SEPARATOR_REGEXP);if(!i)return null;const n=i.split("-").map(g=>Number.parseInt(g,10));if(n.filter(g=>!isNaN(g)).length!==3)return null;const[r,a,l]=n,d=new Date(r,a-1,l);if(d.getFullYear()!==r||d.getMonth()!==a-1||d.getDate()!==l||!s&&t)return null;if(!s||s==="00:00:00")return d;const[c,u,h]=s.split(":").map(g=>Number.parseInt(g,10));if(c>=0&&c<24)d.setHours(c);else if(t)return null;if(u>=0&&u<60)d.setMinutes(u);else if(t)return null;if(h>=0&&h<60)d.setSeconds(h);else if(t)return null;return d}function _getValueUsingDotField(e,t){const o=t.split(".");let i=e;for(let s=0;s<o.length;s++){if(i==null)return;i=i[o[s]]}return i}var SORTED_CELL_DATA_TYPES_FOR_MATCHING=["dateTimeString","dateString","text","number","bigint","boolean","date"],DataTypeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="dataTypeSvc",this.dataTypeDefinitions={},this.isPendingInference=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[],this.columnDefinitionPropsPerDataType={number(){return{cellEditor:"agNumberCellEditor"}},bigint({filterModuleBean:e}){return e?{cellEditor:"agTextCellEditor"}:{cellEditor:"agTextCellEditor",comparator:{default:bigintComparator,absolute:bigintAbsoluteComparator}}},boolean(){return{cellEditor:"agCheckboxCellEditor",cellRenderer:"agCheckboxCellRenderer",getFindText:()=>null,suppressKeyboardEvent:({node:e,event:t,column:o})=>t.key===KeyCode.SPACE&&o.isCellEditable(e)}},date({formatValue:e}){return{cellEditor:"agDateCellEditor",keyCreator:e}},dateString({formatValue:e}){return{cellEditor:"agDateStringCellEditor",keyCreator:e}},dateTime(e){return this.date(e)},dateTimeString(e){return this.dateString(e)},object({formatValue:e,colModel:t,colId:o}){return{cellEditorParams:{useFormatter:!0},comparator:(i,s)=>{const n=t.getColDefCol(o),r=n?.colDef;if(!n||!r)return 0;const a=i==null?"":e({column:n,node:null,value:i}),l=s==null?"":e({column:n,node:null,value:s});return a===l?0:a>l?1:-1},keyCreator:e}},text(){return{}}}}wireBeans(e){this.colModel=e.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",e=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs(e)})}processDataTypeDefinitions(){const e=this.getDefaultDataTypes(),t={},o={},i=c=>u=>{const{column:h,node:g,value:p}=u;let f=h.getColDef().valueFormatter;return f===c.groupSafeValueFormatter&&(f=c.valueFormatter),this.beans.valueSvc.formatValue(h,g,p,f)};for(const c of Object.keys(e)){const u=e[c],h={...u,groupSafeValueFormatter:createGroupSafeValueFormatter(u,this.gos)};t[c]=h,o[c]=i(h)}const s=this.gos.get("dataTypeDefinitions")??{},n={};for(const c of Object.keys(s)){const u=s[c],h=this.processDataTypeDefinition(u,s,[c],e);h&&(t[c]=h,u.dataTypeMatcher&&(n[c]=u.dataTypeMatcher),o[c]=i(h))}const{valueParser:r,valueFormatter:a}=e.object,{valueParser:l,valueFormatter:d}=t.object;this.hasObjectValueParser=l!==r,this.hasObjectValueFormatter=d!==a,this.formatValueFuncs=o,this.dataTypeDefinitions=t,this.dataTypeMatchers=this.sortKeysInMatchers(n,e)}sortKeysInMatchers(e,t){const o={...e};for(const i of SORTED_CELL_DATA_TYPES_FOR_MATCHING)delete o[i],o[i]=e[i]??t[i].dataTypeMatcher;return o}processDataTypeDefinition(e,t,o,i){let s;const n=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let r=i[n];const a=t[n];if(r&&a&&(r=a),!validateDataTypeDefinition(e,r,n))return;s=mergeDataTypeDefinitions(r,e)}else{if(o.includes(n)){_warn(44);return}const r=t[n];if(!validateDataTypeDefinition(e,r,n))return;const a=this.processDataTypeDefinition(r,t,[...o,n],i);if(!a)return;s=mergeDataTypeDefinitions(a,e)}return{...s,groupSafeValueFormatter:createGroupSafeValueFormatter(s,this.gos)}}updateColDefAndGetColumnType(e,t,o){let{cellDataType:i}=t;i===void 0&&(i=e.cellDataType);const{field:s}=t;if((i==null||i===!0)&&(i=this.canInferCellDataType(e,t)?this.inferCellDataType(s,o):!1),this.addFormulaCellEditorToColDef(e,t),!i){e.cellDataType=!1;return}const n=this.dataTypeDefinitions[i];if(!n){_warn(47,{cellDataType:i});return}return e.cellDataType=i,n.groupSafeValueFormatter&&(e.valueFormatter=n.groupSafeValueFormatter),n.valueParser&&(e.valueParser=n.valueParser),n.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,i,n,o),n.columnTypes}addFormulaCellEditorToColDef(e,t){!(t.allowFormula??e.allowFormula)||t.cellEditor||(e.cellEditor="agFormulaCellEditor")}addColumnListeners(e){if(!this.isPendingInference)return;const t=this.columnStateUpdatesPendingInference[e.colId];if(!t)return;const o=i=>{t.add(i.key)};e.__addEventListener("columnStateUpdated",o),this.columnStateUpdateListenerDestroyFuncs.push(()=>e.__removeEventListener("columnStateUpdated",o))}canInferCellDataType(e,t){const{gos:o}=this;if(!_isClientSideRowModel(o))return!1;const i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(doColDefPropsPreventInference(t,i))return!1;const s=t.type===null?e.type:t.type;if(s){const n=o.get("columnTypes")??{};if(convertColumnTypes(s).some(a=>{const l=n[a.trim()];return l&&doColDefPropsPreventInference(l,i)}))return!1}return!doColDefPropsPreventInference(e,i)}inferCellDataType(e,t){if(!e)return;let o;const i=this.getInitialData();return i?o=e.includes(".")&&!this.gos.get("suppressFieldDotNotation")?_getValueUsingDotField(i,e):i[e]:this.initWaitForRowData(t),o==null?void 0:Object.keys(this.dataTypeMatchers).find(n=>this.dataTypeMatchers[n](o))??"object"}getInitialData(){const e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{const t=this.beans.rowModel.rootNode?._leafs;if(t?.length)return t[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isPendingInference)return;this.isPendingInference=!0;const t=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:o,eventSvc:i}=this.beans;t&&o&&(o.shouldQueueResizeOperations=!0);const[s]=this.addManagedEventListeners({rowDataUpdateStarted:n=>{const{firstRowData:r}=n;r&&(s?.(),this.isPendingInference=!1,this.processColumnsPendingInference(r,t),this.columnStateUpdatesPendingInference={},t&&o?.processResizeOperations(),i.dispatchEvent({type:"dataTypesInferred"}))}})}processColumnsPendingInference(e,t){this.initialData=e;const o=[];this.destroyColumnStateUpdateListeners();const i={},s={};for(const n of Object.keys(this.columnStateUpdatesPendingInference)){const r=this.columnStateUpdatesPendingInference[n],a=this.colModel.getCol(n);if(!a)continue;const l=a.colDef;if(!this.resetColDefIntoCol(a,"cellDataTypeInferred"))continue;const d=a.colDef;if(t&&d.type&&d.type!==l.type){const c=getUpdatedColumnState(a,r);c.rowGroup&&c.rowGroupIndex==null&&(i[n]=c),c.pivot&&c.pivotIndex==null&&(s[n]=c),o.push(c)}}t&&o.push(...this.generateColumnStateForRowGroupAndPivotIndexes(i,s)),o.length&&_applyColumnState(this.beans,{state:o},"cellDataTypeInferred"),this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes(e,t){const o={},{rowGroupColsSvc:i,pivotColsSvc:s}=this.beans;return i?.restoreColumnOrder(o,e),s?.restoreColumnOrder(o,t),Object.values(o)}resetColDefIntoCol(e,t){const o=e.getUserProvidedColDef();if(!o)return!1;const i=_addColumnDefaultAndTypes(this.beans,o,e.colId);return e.setColDef(i,o,t),!0}getDateStringTypeDefinition(e){const{dateString:t}=this.dataTypeDefinitions;return e?this.getDataTypeDefinition(e)??t:t}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDateIncludesTimeFlag(e){return e==="dateTime"||e==="dateTimeString"}getDataTypeDefinition(e){const t=e.colDef;if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(t==null)return!0;const o=this.getDataTypeDefinition(e)?.dataTypeMatcher;return!o||e.colDef.allowFormula&&this.beans.formula?.isFormula(t)?!0:o(t)}validateColDef(e,t,o,i){if(e.cellDataType==="object"){const s=l=>l?.cellDataType==null||l?.cellDataType===!0,n=s(t)&&s(o),r=l=>_warn(48,{property:l,inferred:n,colId:i}),{object:a}=this.dataTypeDefinitions;e.valueFormatter===a.groupSafeValueFormatter&&!this.hasObjectValueFormatter&&r("Formatter"),e.editable&&e.valueParser===a.valueParser&&!this.hasObjectValueParser&&r("Parser")}}postProcess(e){const t=e.cellDataType;if(!t||typeof t!="string")return;const{dataTypeDefinitions:o,beans:i,formatValueFuncs:s}=this,n=o[t];n&&i.colFilter?.setColDefPropsForDataType(e,n,s[t])}getFormatValue(e){return this.formatValueFuncs[e]}isColPendingInference(e){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[e]}setColDefPropertiesForBaseDataType(e,t,o,i){const s=this.formatValueFuncs[t],n=this.columnDefinitionPropsPerDataType[o.baseDataType]({colDef:e,cellDataType:t,colModel:this.colModel,dataTypeDefinition:o,colId:i,formatValue:s,filterModuleBean:this.beans.filterManager});e.cellEditor==="agFormulaCellEditor"&&n.cellEditor!==e.cellEditor&&(n.cellEditor=e.cellEditor),Object.assign(e,n)}getDateObjectTypeDef(e){const t=this.getLocaleTextFunc(),o=this.getDateIncludesTimeFlag(e);return{baseDataType:e,valueParser:i=>_parseDateTimeFromString(i.newValue&&String(i.newValue)),valueFormatter:i=>i.value==null?"":!(i.value instanceof Date)||isNaN(i.value.getTime())?t("invalidDate","Invalid Date"):_serialiseDate(i.value,o)??"",dataTypeMatcher:i=>i instanceof Date}}getDateStringTypeDef(e){const t=this.getDateIncludesTimeFlag(e);return{baseDataType:e,dateParser:o=>_parseDateTimeFromString(o)??void 0,dateFormatter:o=>_serialiseDate(o??null,t)??void 0,valueParser:o=>_isValidDate(String(o.newValue))?o.newValue:null,valueFormatter:o=>_isValidDate(String(o.value))?String(o.value):"",dataTypeMatcher:o=>typeof o=="string"&&_isValidDate(o)}}getDefaultDataTypes(){const e=this.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:t=>t.newValue?.trim?.()===""?null:Number(t.newValue),valueFormatter:t=>t.value==null?"":typeof t.value!="number"||isNaN(t.value)?e("invalidNumber","Invalid Number"):String(t.value),dataTypeMatcher:t=>typeof t=="number"},bigint:{baseDataType:"bigint",valueParser:t=>{const{newValue:o}=t;return o==null||typeof o=="string"&&o.trim()===""?null:_parseBigIntOrNull(o)},valueFormatter:t=>t.value==null?"":typeof t.value!="bigint"?e("invalidBigInt","Invalid BigInt"):String(t.value),dataTypeMatcher:t=>typeof t=="bigint"},text:{baseDataType:"text",valueParser:t=>t.newValue===""?null:_toStringOrNull(t.newValue),dataTypeMatcher:t=>typeof t=="string"},boolean:{baseDataType:"boolean",valueParser:t=>t.newValue==null?t.newValue:t.newValue?.trim?.()===""?null:String(t.newValue).toLowerCase()==="true",valueFormatter:t=>t.value==null?"":String(t.value),dataTypeMatcher:t=>typeof t=="boolean"},date:this.getDateObjectTypeDef("date"),dateString:this.getDateStringTypeDef("dateString"),dateTime:this.getDateObjectTypeDef("dateTime"),dateTimeString:{...this.getDateStringTypeDef("dateTimeString"),dataTypeMatcher:t=>typeof t=="string"&&_isValidDateTime(t)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:t=>_toStringOrNull(t.value)??""}}}destroyColumnStateUpdateListeners(){for(const e of this.columnStateUpdateListenerDestroyFuncs)e();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}};function mergeDataTypeDefinitions(e,t){const o={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(o.columnTypes=[...convertColumnTypes(e.columnTypes),...convertColumnTypes(t.columnTypes)]),o}function validateDataTypeDefinition(e,t,o){return t?t.baseDataType!==e.baseDataType?(_warn(46),!1):!0:(_warn(45,{parentCellDataType:o}),!1)}var isNumberOrBigintType=e=>typeof e=="bigint"||typeof e=="number",isNumberOrBigintBaseDataType=e=>e==="number"||e==="bigint";function createGroupSafeValueFormatter(e,t){if(e.valueFormatter)return o=>{const{node:i,colDef:s,column:n,value:r}=o;if(i?.group){const a=(s.pivotValueColumn??n).getAggFunc();if(a){if(a==="first"||a==="last")return e.valueFormatter(o);const{baseDataType:l}=e;if(isNumberOrBigintBaseDataType(l)&&a!=="count"){if(isNumberOrBigintType(r))return e.valueFormatter(o);if(r==null)return;if(typeof r=="object"){if(typeof r.toNumber=="function")return e.valueFormatter({...o,value:r.toNumber()});if("value"in r)return e.valueFormatter({...o,value:r.value})}}return}}else if(t.get("groupHideOpenParents")&&o.column.isRowGroupActive()&&typeof o.value=="string"&&!e.dataTypeMatcher?.(o.value))return;return e.valueFormatter(o)}}function doesColDefPropPreventInference(e,t,o,i){if(!t[o])return!1;const s=e[o];return s===null?(t[o]=!1,!1):i===void 0?!!s:s===i}function bigintComparator(e,t){if(e==null)return t==null?0:-1;if(t==null)return 1;const o=_parseBigIntOrNull(e),i=_parseBigIntOrNull(t);return o!=null&&i!=null?o===i?0:o>i?1:-1:0}function bigintAbsoluteComparator(e,t){if(e==null)return t==null?0:-1;if(t==null)return 1;const o=toAbsoluteBigInt(e),i=toAbsoluteBigInt(t);return o!=null&&i!=null?o===i?0:o>i?1:-1:0}function toAbsoluteBigInt(e){const t=_parseBigIntOrNull(e);return t==null?null:t<0n?-t:t}function doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([o,i])=>doesColDefPropPreventInference(e,t,o,i))}function getUpdatedColumnState(e,t){const o=getColumnStateFromColDef(e);for(const i of t)delete o[i],i==="rowGroup"?delete o.rowGroupIndex:i==="pivot"&&delete o.pivotIndex;return o}var DataTypeModule={moduleName:"DataType",version:VERSION,beans:[DataTypeService],dependsOn:[CheckboxCellRendererModule]},ColumnFlexModule={moduleName:"ColumnFlex",version:VERSION,beans:[ColumnFlexService]},ColumnApiModule={moduleName:"ColumnApi",version:VERSION,beans:[ColumnDefFactory],apiFunctions:{getColumnDef,getDisplayNameForColumn,getColumn,getColumns,applyColumnState,getColumnState,resetColumnState,isPinning,isPinningLeft,isPinningRight,getDisplayedColAfter,getDisplayedColBefore,setColumnsVisible,setColumnsPinned,getAllGridColumns,getDisplayedLeftColumns,getDisplayedCenterColumns,getDisplayedRightColumns,getAllDisplayedColumns,getAllDisplayedVirtualColumns,getColumnDefs}},ColumnNameService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colNames"}getDisplayNameForColumn(e,t,o=!1){if(!e)return null;const i=this.getHeaderName(e.getColDef(),e,null,null,t),{aggColNameSvc:s}=this.beans;return o&&s?s.getHeaderName(e,i):i}getDisplayNameForProvidedColumnGroup(e,t,o){const i=t?.getColGroupDef();return i?this.getHeaderName(i,null,e,t,o):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,o,i,s){const n=e.headerValueGetter;if(n){const r=_addGridCommonParams(this.gos,{colDef:e,column:t,columnGroup:o,providedColumnGroup:i,location:s});return typeof n=="function"?n(r):typeof n=="string"?this.beans.expressionSvc?.evaluate(n,r)??null:""}else{if(e.headerName!=null)return e.headerName;if(e.field)return _camelCaseToHumanText(e.field)}return""}},ColumnViewportService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colViewport",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[]}wireBeans(e){this.visibleCols=e.visibleCols,this.colModel=e.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition(e,t,o=!1){const{visibleCols:i}=this,s=i.isBodyWidthDirty;if(!(e===this.scrollWidth&&t===this.scrollPosition&&!s)){if(this.scrollWidth=e,this.scrollPosition=t,i.isBodyWidthDirty=!0,this.gos.get("enableRtl")){const r=i.bodyWidth;this.viewportLeft=r-t-e,this.viewportRight=r-t}else this.viewportLeft=t,this.viewportRight=e+t;this.colModel.ready&&this.checkViewportColumns(o)}}getColumnHeadersToRender(e){switch(e){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender(e,t){let o;switch(e){case"left":o=this.rowsOfHeadersToRenderLeft[t];break;case"right":o=this.rowsOfHeadersToRenderRight[t];break;default:o=this.rowsOfHeadersToRenderCenter[t];break}return o??[]}extractViewportColumns(){const e=this.visibleCols.centerCols;this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return e.isAutoHeaderHeight()||isAnyParentAutoHeaderHeight(e)?!0:this.isColumnInRowViewport(e)}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;const t=e.getLeft()||0,o=t+e.getActualWidth(),i=this.viewportLeft-200,s=this.viewportRight+200,n=t<i&&o<i,r=t>s&&o>s;return!n&&!r}getViewportColumns(){const{leftCols:e,rightCols:t}=this.visibleCols;return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.colModel.colSpanActive)return this.colsWithinViewport;const t=n=>{const r=n.getLeft();return _exists(r)&&r>this.viewportLeft},o=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:i}=this,s=i.centerCols;return i.getColsForRow(e,s,o,t)}checkViewportColumns(e=!1){this.extractViewport()&&this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}calculateHeaderRows(){const{leftCols:e,rightCols:t}=this.visibleCols;this.columnsToRenderLeft=e,this.columnsToRenderRight=t,this.columnsToRenderCenter=this.colsWithinViewport;const o=i=>{const s=new Set,n={};for(const r of i){let a=r.parent;const l=r.isSpanHeaderHeight();for(;a&&!s.has(a);){if(l&&a.isPadding()){a=a.parent;continue}const c=a.getProvidedColumnGroup().getLevel();n[c]??(n[c]=[]),n[c].push(a),s.add(a),a=a.parent}}return n};this.rowsOfHeadersToRenderLeft=o(e),this.rowsOfHeadersToRenderRight=o(t),this.rowsOfHeadersToRenderCenter=o(this.headerColsWithinViewport)}extractViewport(){const e=i=>`${i.getId()}-${i.getPinned()||"normal"}`;this.extractViewportColumns();const t=this.getViewportColumns().map(e).join("#"),o=this.colsWithinViewportHash!==t;return o&&(this.colsWithinViewportHash=t,this.calculateHeaderRows()),o}};function isAnyParentAutoHeaderHeight(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.parent}return!1}var AgComponentUtils=class extends BeanStub{constructor(){super(...arguments),this.beanName="agCompUtils"}adaptFunction(e,t){if(!e.cellRenderer)return null;class o{refresh(){return!1}getGui(){return this.eGui}init(s){const n=t(s),r=typeof n;if(r==="string"||r==="number"||r==="boolean"){this.eGui=_loadTemplate("<span>"+n+"</span>");return}if(n==null){this.eGui=_createElement({tag:"span"});return}this.eGui=n}}return o}},CellRendererFunctionModule={moduleName:"CellRendererFunction",version:VERSION,beans:[AgComponentUtils]},BaseRegistry=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="registry"}registerDynamicBeans(e){if(e){this.dynamicBeans??(this.dynamicBeans={});for(const t of Object.keys(e))this.dynamicBeans[t]=e[t]}}createDynamicBean(e,t,...o){if(!this.dynamicBeans)throw new Error(this.getDynamicError(e,!0));const i=this.dynamicBeans[e];if(i==null){if(t)throw new Error(this.getDynamicError(e,!1));return}return new i(...o)}};function isComponentMetaFunc(e){return typeof e=="object"&&!!e.getComp}var Registry=class extends BaseRegistry{constructor(){super(...arguments),this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){const e=this.gos.get("components");if(e!=null)for(const t of Object.keys(e))this.jsComps[t]=e[t]}registerModule(e){const{icons:t,userComponents:o,dynamicBeans:i,selectors:s}=e;if(o){const n=(r,a,l,d)=>{this.agGridDefaults[r]=a,(l||d)&&(this.agGridDefaultOverrides[r]={params:l,processParams:d})};for(const r of Object.keys(o)){let a=o[r];if(isComponentMetaFunc(a)&&(a=a.getComp(this.beans)),typeof a=="object"){const{classImp:l,params:d,processParams:c}=a;n(r,l,d,c)}else n(r,a)}}this.registerDynamicBeans(i);for(const n of s??[])this.selectors[n.selector]=n;if(t)for(const n of Object.keys(t))this.icons[n]=t[n]}getUserComponent(e,t){const o=(a,l,d,c)=>({componentFromFramework:l,component:a,params:d,processParams:c}),{frameworkOverrides:i}=this.beans,s=i.frameworkComponent(t,this.gos.get("components"));if(s!=null)return o(s,!0);const n=this.jsComps[t];if(n){const a=i.isFrameworkComponent(n);return o(n,a)}const r=this.agGridDefaults[t];if(r){const a=this.agGridDefaultOverrides[t];return o(r,!1,a?.params,a?.processParams)}return this.beans.validation?.missingUserComponent(e,t,this.agGridDefaults,this.jsComps),null}getSelector(e){return this.selectors[e]}getIcon(e){return this.icons[e]}getDynamicError(e,t){return t?_errMsg(279,{name:e}):this.beans.validation?.missingDynamicBean(e)??_errMsg(256)}},NUM_CTRLS=23,CtrlsService=class extends BeanStub{constructor(){super(...arguments),this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(const e of this.readyCallbacks)e(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){const e=Object.values(this.params);this.ready=e.length===NUM_CTRLS&&e.every(t=>t?.isAlive()??!1)}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc(()=>{const o=this.readyCallbacks.indexOf(t);o>=0&&this.readyCallbacks.splice(o,1)})}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc(()=>{this.updateReady()})}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){const{leftHeader:e,centerHeader:t,rightHeader:o}=this.params;return[e,o,t]}getHeaderRowContainerCtrl(e){const t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},shared_default=':where([class^=ag-]),:where([class^=ag-]):after,:where([class^=ag-]):before{box-sizing:border-box}:where([class^=ag-]):where(button){color:inherit}:where([class^=ag-]):where(div,span,label):focus-visible{box-shadow:inset var(--ag-focus-shadow);outline:none;&:where(.invalid){box-shadow:inset var(--ag-focus-error-shadow)}}:where([class^=ag-]) ::-ms-clear{display:none}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-tab-guard{display:block;height:0;position:absolute;width:0}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-measurement-container{height:0;overflow:hidden;visibility:hidden;width:0}.ag-measurement-element-border{display:inline-block}.ag-measurement-element-border:before{border-left:var(--ag-internal-measurement-border);content:"";display:block}.ag-popup-child{top:0;z-index:5}.ag-popup-child:where(:not(.ag-tooltip-custom)){box-shadow:var(--ag-popup-shadow)}.ag-input-wrapper,.ag-picker-field-wrapper{align-items:center;display:flex;flex:1 1 auto;line-height:normal;position:relative}.ag-input-field{align-items:center;display:flex;flex-direction:row}.ag-input-field-input:where(:not([type=checkbox],[type=radio])){flex:1 1 auto;min-width:0;width:100%}.ag-chart,.ag-dnd-ghost,.ag-external,.ag-popup,.ag-root-wrapper{cursor:default;line-height:normal;white-space:normal;-webkit-font-smoothing:antialiased;background-color:var(--ag-wrapper-background-color);color:var(--ag-text-color);color-scheme:var(--ag-browser-color-scheme);font-family:var(--ag-font-family);font-size:var(--ag-font-size);font-weight:var(--ag-font-weight);--ag-indentation-level:0}:where(.ag-icon):before{align-items:center;background-color:currentcolor;color:inherit;content:"";display:flex;font-family:inherit;font-size:var(--ag-icon-size);font-style:normal;font-variant:normal;height:var(--ag-icon-size);justify-content:center;line-height:var(--ag-icon-size);-webkit-mask-size:contain;mask-size:contain;text-transform:none;width:var(--ag-icon-size)}.ag-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;color:var(--ag-icon-color);display:block;height:var(--ag-icon-size);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-icon-size)}.ag-disabled .ag-icon,[disabled] .ag-icon{opacity:.5}.ag-icon-grip.ag-disabled,.ag-icon-grip[disabled]{opacity:.35}.ag-icon-loading{animation-duration:1s;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ag-resizer{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}:where(.ag-resizer){&.ag-resizer-topLeft{cursor:nwse-resize;height:5px;left:0;top:0;width:5px}&.ag-resizer-top{cursor:ns-resize;height:5px;left:5px;right:5px;top:0}&.ag-resizer-topRight{cursor:nesw-resize;height:5px;right:0;top:0;width:5px}&.ag-resizer-right{bottom:5px;cursor:ew-resize;right:0;top:5px;width:5px}&.ag-resizer-bottomRight{bottom:0;cursor:nwse-resize;height:5px;right:0;width:5px}&.ag-resizer-bottom{bottom:0;cursor:ns-resize;height:5px;left:5px;right:5px}&.ag-resizer-bottomLeft{bottom:0;cursor:nesw-resize;height:5px;left:0;width:5px}&.ag-resizer-left{bottom:5px;cursor:ew-resize;left:0;top:5px;width:5px}}.ag-menu{background-color:var(--ag-menu-background-color);border:var(--ag-menu-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-menu-shadow);color:var(--ag-menu-text-color);max-height:100%;overflow-y:auto;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}',IS_SSR=typeof window!="object"||!window?.document?.fonts?.forEach,FORCE_LEGACY_THEMES=!1,_injectGlobalCSS=(e,t,o,i,s,n,r=!1)=>{if(IS_SSR||FORCE_LEGACY_THEMES)return;let a=e;i&&(a=`@layer ${CSS.escape(i).replaceAll("\\.",".")} { ${e} }`);let l=injectionState.map.get(t);if(l||(l=[],injectionState.map.set(t,l)),l.some(h=>h.injectedCss===a))return;const d=document.createElement("style");n&&d.setAttribute("nonce",n),d.dataset.agCss=o,d.dataset.agCssVersion=VERSION,d.textContent=a;const c={rawCss:e,injectedCss:a,el:d,priority:s,isParams:r};let u;for(const h of l){if(h.priority>s)break;u=h}if(u){u.el.after(d);const h=l.indexOf(u);l.splice(h+1,0,c)}else t.nodeName==="STYLE"?t.after(d):t.insertBefore(d,t.querySelector(":not(title, meta)")),l.push(c)},_injectCoreAndModuleCSS=(e,t,o,i)=>{_injectGlobalCSS(shared_default,e,"shared",t,0,o),i?.forEach((s,n)=>s.forEach(r=>_injectGlobalCSS(r,e,n,t,0,o)))},_useParamsCss=(e,t,o,i,s,n)=>{if(IS_SSR||FORCE_LEGACY_THEMES)return;const r=injectionState.grids.get(e);r?r.paramsCss=t:injectionState.grids.set(e,{styleContainer:i,paramsCss:t}),removeStaleParamsCss(i),t&&o&&_injectGlobalCSS(t,i,o,s,2,n,!0)},_unregisterInstanceUsingThemingAPI=e=>{const t=injectionState.grids.get(e)?.styleContainer;if(!t)return;injectionState.grids.delete(e),Array.from(injectionState.grids.values()).some(i=>i.styleContainer===t)?removeStaleParamsCss(t):(removeStaleParamsCss(t,!0),injectionState.map.delete(t))},removeStaleParamsCss=(e,t=!1)=>{const o=new Set;for(const s of injectionState.grids.values())s.styleContainer===e&&o.add(s.paramsCss);const i=injectionState.map.get(e)??[];for(let s=i.length-1;s>=0;s--)(t||i[s].isParams&&!o.has(i[s].rawCss))&&(i[s].el.remove(),i.splice(s,1))},getInjectionState=()=>{const e=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=new Map);let t=e.get(VERSION);return t||(t={map:new WeakMap,grids:new Map,paramsId:0},e.set(VERSION,t)),t},injectionState=getInjectionState(),createPart=e=>new PartImpl(e),defaultModeName="$default",partCounter=0,PartImpl=class{constructor({feature:e,params:t,modeParams:o={},css:i,cssImports:s}){this.feature=e,this.css=i,this.cssImports=s,this.modeParams={[defaultModeName]:{...o[defaultModeName]??{},...t??{}},...o}}use(e,t,o){let i=this._inject;if(i==null){let{css:s}=this;if(s){const n=`ag-theme-${this.feature??"part"}-${++partCounter}`;typeof s=="function"&&(s=s()),s=`:where(.${n}) {
|
|
4
|
+
`,e)}function isRowModelType(e,t){return e.get("rowModelType")===t}function _isClientSideRowModel(e,t){return isRowModelType(e,"clientSide")}function _isServerSideRowModel(e,t){return isRowModelType(e,"serverSide")}function _isDomLayout(e,t){return e.get("domLayout")===t}function _isRowSelection(e){return _getRowSelectionMode(e)!==void 0}function _isGetRowHeightFunction(e){return typeof e.get("getRowHeight")=="function"}function _shouldMaintainColumnOrder(e,t){return t?!e.get("enableStrictPivotColumnOrder"):e.get("maintainColumnOrder")}function _isRowNumbers({gos:e,formula:t}){const o=e.get("rowNumbers");return o||!!t?.active&&o!==!1}function _getRowHeightForNode(e,t,o=!1,i){const{gos:s,environment:n}=e;if(i==null&&(i=n.getDefaultRowHeight()),_isGetRowHeightFunction(s)){if(o)return{height:i,estimated:!0};const l={node:t,data:t.data},d=s.getCallback("getRowHeight")(l);if(isNumeric(d))return d===0&&_warn(23),{height:Math.max(1,d),estimated:!1}}if(t.detail&&s.get("masterDetail"))return getMasterDetailRowHeight(s);const r=s.get("rowHeight");return{height:r&&isNumeric(r)?r:i,estimated:!1}}function getMasterDetailRowHeight(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};const t=e.get("detailRowHeight");return isNumeric(t)?{height:t,estimated:!1}:{height:300,estimated:!1}}function _getRowHeightAsNumber(e){const{environment:t,gos:o}=e,i=o.get("rowHeight");if(!i||_missing(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return s!==-1?s:(_warn(24),t.getDefaultRowHeight())}function isNumeric(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function _getDomData(e,t,o){const i=t[e.getDomDataKey()];return i?i[o]:void 0}function _setDomData(e,t,o,i){const s=e.getDomDataKey();let n=t[s];_missing(n)&&(n={},t[s]=n),n[o]=i}function _isAnimateRows(e){return e.get("ensureDomOrder")?!1:e.get("animateRows")}function _isGroupRowsSticky(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||_isDomLayout(e,"print"))}function _isColumnsSortingCoupledToGroup(e){return!e.get("autoGroupColumnDef")?.comparator&&!e.get("treeData")}function _getGroupAggFiltering(e){const t=e.get("groupAggFiltering");if(typeof t=="function")return e.getCallback("groupAggFiltering");if(t===!0)return()=>!0}function _getGrandTotalRow(e){return e.get("grandTotalRow")}function _getGrandTotalPinnedFloat(e){switch(e){case"pinnedTop":return"top";case"pinnedBottom":return"bottom";default:return null}}function _getGroupTotalRowCallback(e){const t=e.get("groupTotalRow");return typeof t=="function"?e.getCallback("groupTotalRow"):()=>t??void 0}function _isGroupMultiAutoColumn(e){return e.get("groupHideOpenParents")?!0:e.get("groupDisplayType")==="multipleColumns"}function _isGroupHideColumnsUntilExpanded(e){return _isGroupMultiAutoColumn(e)&&e.get("groupHideColumnsUntilExpanded")&&_isClientSideRowModel(e)}function _isGroupUseEntireRow(e,t){return t?!1:e.get("groupDisplayType")==="groupRows"}function _isFullWidthGroupRow(e,t,o){return!!t.group&&!t.footer&&_isGroupUseEntireRow(e,o)}function _getRowIdCallback(e){const t=e.getCallback("getRowId");return t===void 0?t:o=>{let i=t(o);return typeof i!="string"&&(_doOnce(()=>_warn(25,{id:i}),"getRowIdString"),i=String(i)),i}}function _canSkipShowingRowGroup(e,t){const o=e.get("groupHideParentOfSingleChild");return!!(o===!0||o==="leafGroupsOnly"&&t.leafGroup||e.get("groupRemoveSingleChildren")||e.get("groupRemoveLowestSingleChildren")&&t.leafGroup)}function _getMaxConcurrentDatasourceRequests(e){const t=e.get("maxConcurrentDatasourceRequests");return t>0?t:void 0}function _shouldUpdateColVisibilityAfterGroup(e,t){const o=e.get("suppressGroupChangesColumnVisibility");if(o===!0||t&&o==="suppressHideOnGroup"||!t&&o==="suppressShowOnUngroup")return!1;const i=e.get("suppressRowGroupHidesColumns");if(t&&i===!0)return!1;const s=e.get("suppressMakeColumnVisibleAfterUnGroup");return!(!t&&s===!0)}function _getCheckboxes(e){return e?.checkboxes??!0}function _getHeaderCheckbox(e){return e?.mode==="multiRow"&&(e.headerCheckbox??!0)}function _getCheckboxLocation(e){if(typeof e=="object")return e.checkboxLocation??"selectionColumn"}function _getHideDisabledCheckboxes(e){return e?.hideDisabledCheckboxes??!1}function _isUsingNewRowSelectionAPI(e){return typeof e.get("rowSelection")!="string"}function _isUsingNewCellSelectionAPI(e){return e.get("cellSelection")!==void 0}function _getSuppressMultiRanges(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t?.suppressMultiRanges??!1:!1:e.get("suppressMultiRangeSelection")}function _isCellSelectionEnabled(e){const t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function _getFillHandle(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"&&t.handle?.mode==="fill"?t.handle:void 0:{mode:"fill",setFillValue:e.get("fillOperation"),direction:e.get("fillHandleDirection"),suppressClearOnFillReduction:e.get("suppressClearOnFillReduction")}}function _getEnableColumnSelection(e){const t=e.get("cellSelection")??!1;return(typeof t=="object"&&t.enableColumnSelection)??!1}function _getEnableClickSelection(e){const t=e.get("rowSelection")??"single";if(typeof t=="string"){const o=e.get("suppressRowClickSelection"),i=e.get("suppressRowDeselection");return o&&i?!1:o?"enableDeselection":i?"enableSelection":!0}return t.mode==="singleRow"||t.mode==="multiRow"?t.enableClickSelection??!1:!1}function _getEnableSelection(e){const t=_getEnableClickSelection(e);return t===!0||t==="enableSelection"}function _getEnableDeselection(e){const t=_getEnableClickSelection(e);return t===!0||t==="enableDeselection"}function _getIsRowSelectable(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t?.isRowSelectable}function _getRowSelectionMode(e){const t="beanName"in e&&e.beanName==="gos"?e.get("rowSelection"):e.rowSelection;if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}switch(t?.mode){case"multiRow":case"singleRow":return t.mode;default:return}}function _isMultiRowSelection(e){return _getRowSelectionMode(e)==="multiRow"}function _getEnableSelectionWithoutKeys(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("rowMultiSelectWithClick"):t?.enableSelectionWithoutKeys??!1}function _getGroupSelection(e){const t=e.get("rowSelection");if(typeof t=="string"){const o=e.get("groupSelectsChildren"),i=e.get("groupSelectsFiltered");return o&&i?"filteredDescendants":o?"descendants":"self"}return t?.mode==="multiRow"?t.groupSelects:void 0}function _getSelectAll(e,t=!0){const o=e.get("rowSelection");return typeof o!="object"?t?"all":void 0:o.mode==="multiRow"?o.selectAll:"all"}function _getCtrlASelectsRows(e){const t=e.get("rowSelection");return typeof t=="string"?!1:t?.mode==="multiRow"?t.ctrlASelectsRows??!1:!1}function _getGroupSelectsDescendants(e){const t=_getGroupSelection(e);return t==="descendants"||t==="filteredDescendants"}function _getMasterSelects(e){const t=e.get("rowSelection");return typeof t=="object"&&t.masterSelects||"self"}function _isSetFilterByDefault(e){return e.isModuleRegistered("SetFilter")&&!e.get("suppressSetFilterByDefault")}function _isLegacyMenuEnabled(e){return e.get("columnMenu")==="legacy"}function _isColumnMenuAnchoringEnabled(e){return!_isLegacyMenuEnabled(e)}function _getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}function _combineAttributesAndGridOptions(e,t,o){typeof e!="object"&&(e={});const i={...e};for(const s of o){const n=t[s];typeof n<"u"&&(i[s]=n)}return i}function _processOnChange(e,t){if(!e)return;const o={};let i=!1;for(const r of Object.keys(e))o[r]=e[r],i=!0;if(!i)return;const s={type:"gridOptionsChanged",options:o};t.dispatchEvent(s);const n={type:"componentStateChanged",...o};t.dispatchEvent(n)}function _addGridCommonParams(e,t){return e.addCommon(t)}function _getGridOption(e,t){return e[t]??e.gridOptions?.[t]??_getGlobalGridOption(t)??GRID_OPTION_DEFAULTS[t]}function _interpretAsRightClick({gos:e},t){return t.button===2||t.ctrlKey&&e.get("allowContextMenuWithControlKey")}var COL_DEF_DEFAULTS={resizable:!0,sortable:!0},instanceIdSequence=0;function getNextColInstanceId(){return instanceIdSequence++}function isColumn(e){return e instanceof AgColumn}var DEFAULT_SORTING_ORDER=["asc","desc",null],DEFAULT_ABSOLUTE_SORTING_ORDER=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],AgColumn=class extends BeanStub{constructor(e,t,o,i){super(),this.colDef=e,this.userProvidedColDef=t,this.colId=o,this.primary=i,this.isColumn=!0,this.instanceId=getNextColInstanceId(),this.autoHeaderHeight=null,this.sortDef=_getSortDefFromInput(),this.moving=!1,this.resizing=!1,this.menuVisible=!1,this.formulaRef=null,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.colEventSvc=new LocalEventService,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=_escapeString(o)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){const{colDef:e,beans:{sortSvc:t,pinnedCols:o,colFlex:i}}=this;t?.initCol(this);const s=e.hide;s!==void 0?this.visible=!s:this.visible=!e.initialHide,o?.initCol(this),i?.initCol(this)}setColDef(e,t,o){const i=e.spanRows!==this.colDef.spanRows;this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),i&&(this.beans.rowSpanSvc?.deregister(this),this.initRowSpan()),this.dispatchColEvent("colDefChanged",o)}getUserProvidedColDef(){return this.userProvidedColDef}getParent(){return this.parent}getOriginalParent(){return this.originalParent}postConstruct(){this.initState(),this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip(),this.initRowSpan(),this.addPivotListener()}initDotNotation(){const{gos:e,colDef:{field:t,tooltipField:o}}=this,i=e.get("suppressFieldDotNotation");this.fieldContainsDots=_exists(t)&&t.includes(".")&&!i,this.tooltipFieldContainsDots=_exists(o)&&o.includes(".")&&!i}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){this.colDef.spanRows&&this.beans.rowSpanSvc?.register(this)}addPivotListener(){const e=this.beans.pivotColDefSvc,t=this.colDef.pivotValueColumn;!e||!t||this.addManagedListeners(t,{colDefChanged:o=>{const i=e.recreateColDef(this.colDef);this.setColDef(i,i,o.source)}})}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){const t=e.width??e.initialWidth??200;return Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,e)??!1}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}__addEventListener(e,t){this.colEventSvc.addEventListener(e,t)}__removeEventListener(e,t){this.colEventSvc.removeEventListener(e,t)}addEventListener(e,t){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);const o=this.frameworkEventListenerService?.wrap(e,t)??t;this.colEventSvc.addEventListener(e,o)}removeEventListener(e,t){const o=this.frameworkEventListenerService?.unwrap(e,t)??t;this.colEventSvc.removeEventListener(e,o)}createColumnFunctionCallbackParams(e){return _addGridCommonParams(this.gos,{node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){return this.beans.cellNavigation?.isSuppressNavigable(this,e)??!1}isCellEditable(e){return this.beans.editSvc?.isCellEditable({rowNode:e,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){return this.beans.selectionSvc?.isCellCheckboxSelection(this,e)??!1}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??COL_DEF_DEFAULTS[e]}isColumnFunc(e,t){if(typeof t=="boolean")return t;if(typeof t=="function"){const o=this.createColumnFunctionCallbackParams(e);return t(o)}return!1}createColumnEvent(e,t){return _addGridCommonParams(this.gos,{type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sortDef.direction}getSortDef(){return this.sortDef.direction?this.sortDef:null}getColDefAllowedSortTypes(){const e=[],{sort:t,initialSort:o}=this.colDef,i=t===null?t:_normalizeSortType(t?.type),s=o===null?o:_normalizeSortType(o?.type);return i&&e.push(i),s&&e.push(s),e}getSortingOrder(){const e=this.getColDefAllowedSortTypes().includes("absolute")?DEFAULT_ABSOLUTE_SORTING_ORDER:DEFAULT_SORTING_ORDER;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??e).map(t=>_getSortDefFromInput(t))}getAvailableSortTypes(){const e=this.getSortingOrder().reduce((t,o)=>(o.direction&&t.push(o.type),t),this.getColDefAllowedSortTypes());return new Set(e)}setSortDef(e){this.sortDef=e}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.getSort()==="asc"}isSortDescending(){return this.getSort()==="desc"}isSortNone(){return _missing(this.getSort())}isSorting(){return _exists(this.getSort())}getSortIndex(){return this.sortIndex}isMenuVisible(){return this.menuVisible}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchColEvent("leftChanged",t))}isFilterActive(){return this.filterActive}isHovered(){return _warn(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.dispatchColEvent("firstRightPinnedChanged",t))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.dispatchColEvent("lastLeftPinnedChanged",t))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){const o=e===!0;this.visible!==o&&(this.visible=o,this.dispatchColEvent("visibleChanged",t)),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.colDef.suppressSpanHeaderHeight}getFirstRealParent(){let e=this.getOriginalParent();for(;e?.isPadding();)e=e.getOriginalParent();return e}getColumnGroupPaddingInfo(){let e=this.parent;if(!e?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let o=!0;for(;e;){if(!e.isPadding()){o=!1;break}e=e.parent}return{numberOfParents:t,isSpanningTotal:o}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return _addGridCommonParams(this.gos,{node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(_missing(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.colSpan(t);return Math.max(o,1)}getRowSpan(e){if(_missing(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),o=this.colDef.rowSpan(t);return Math.max(o,1)}setActualWidth(e,t,o=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex!=null&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),o||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.dispatchColEvent("widthChanged",e)}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex}isRowGroupActive(){return this.rowGroupActive}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}isAllowFormula(){return this.colDef.allowFormula===!0}dispatchColEvent(e,t,o){const i=this.createColumnEvent(e,t);o&&_mergeDeep(i,o),this.colEventSvc.dispatchEvent(i)}dispatchStateUpdatedEvent(e){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:e})}};function _getSortDefFromInput(e){return _isSortDefValid(e)?{direction:e.direction,type:e.type}:{direction:_normalizeSortDirection(e),type:_normalizeSortType(e)}}function _isSortDirectionValid(e){return e==="asc"||e==="desc"||e===null}function _isSortTypeValid(e){return e==="default"||e==="absolute"}function _isSortDefValid(e){if(!e||typeof e!="object")return!1;const t=e;return _isSortTypeValid(t.type)&&_isSortDirectionValid(t.direction)}function _areSortDefsEqual(e,t){return e?t?e.type===t.type&&e.direction===t.direction:e?e.direction===null:!0:t?t.direction===null:!0}function _normalizeSortDirection(e){return _isSortDirectionValid(e)?e:null}function _normalizeSortType(e){return _isSortTypeValid(e)?e:"default"}function _getDisplaySortForColumn(e,t,o){const s=o?.()??t.sortSvc.getDisplaySortForColumn(e),n=_normalizeSortType(s?.type),r=_normalizeSortDirection(s?.direction),a=e.getAvailableSortTypes(),l=a.has("default"),d=a.has("absolute");return{isDefaultSortAllowed:l,isAbsoluteSortAllowed:d,isAbsoluteSort:n==="absolute",isDefaultSort:n==="default",isAscending:r==="asc",isDescending:r==="desc",direction:r}}function isProvidedColumnGroup(e){return e instanceof AgProvidedColumnGroup}var AgProvidedColumnGroup=class extends BeanStub{constructor(e,t,o,i){super(),this.colGroupDef=e,this.groupId=t,this.padding=o,this.level=i,this.isColumn=!1,this.expandable=!1,this.instanceId=getNextColInstanceId(),this.expandableListenerRemoveCallback=null,this.expanded=!!e?.openByDefault}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return this.children?this.children.some(e=>e.isVisible()):!1}isPadding(){return this.padding}setExpanded(e){this.expanded=e===void 0?!1:e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}forEachLeafColumn(e){if(this.children)for(const t of this.children)isColumn(t)?e(t):isProvidedColumnGroup(t)&&t.forEachLeafColumn(e)}addLeafColumns(e){if(this.children)for(const t of this.children)isColumn(t)?e.push(t):isProvidedColumnGroup(t)&&t.addLeafColumns(e)}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);for(const t of this.getLeafColumns())t.__addEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=()=>{for(const t of this.getLeafColumns())t.__removeEventListener("visibleChanged",e);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,o=!1;const i=this.findChildrenRemovingPadding();for(let n=0,r=i.length;n<r;n++){const a=i[n];if(!a.isVisible())continue;const l=a.getColumnGroupShow();l==="open"?(e=!0,o=!0):l==="closed"?(t=!0,o=!0):(e=!0,t=!0)}const s=e&&t&&o;this.expandable!==s&&(this.expandable=s,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){const e=[],t=o=>{for(const i of o)isProvidedColumnGroup(i)&&i.isPadding()?t(i.children):e.push(i)};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},DefaultColumnTypes={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function createMergedColGroupDef(e,t,o){const i={},s=e.gos;return Object.assign(i,s.get("defaultColGroupDef")),Object.assign(i,t),s.validateColDef(i,o),i}var ColumnKeyCreator=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=_toStringOrNull(e);let o=0;for(;;){let i=e??t;if(i?o!==0&&(i+="_"+o):i=o,!this.existingKeys[i]){const s=String(i);return e&&o>0&&_warn(273,{providedId:e,usedId:s}),this.existingKeys[s]=!0,s}o++}}},depthFirstCallback=(e,t)=>{isProvidedColumnGroup(e)&&e.setupExpandable(),e.originalParent=t};function _createColumnTreeWithIds(e,t=null,o,i,s){const{existingCols:n,existingGroups:r}=extractExistingTreeData(i),a=new Map(n.map(f=>[f.getId(),f])),l=new Map(r.map(f=>[f.getId(),f]));let d=0;const c=(f,m)=>{if(d=Math.max(d,m),isColumnGroupDef(f)){if(!e.colGroupSvc)return null;const b=f.groupId,S=l.get(b),y=createMergedColGroupDef(e,f,b),R=new AgProvidedColumnGroup(y,b,!1,m);return e.context.createBean(R),S&&R.setExpanded(S.isExpanded()),R.setChildren(f.children.map(E=>c(E,m+1))),R}const C=f.colId;let w=a.get(C);const v=_addColumnDefaultAndTypes(e,f,w?.colId??C);return w?(w.setColDef(v,f,s),_updateColumnState(e,w,v,s)):(w=new AgColumn(v,f,C,o),e.context.createBean(w)),e.dataTypeSvc?.addColumnListeners(w),w},u=t?.map(f=>c(f,0))??[];let h=0;const g={getUniqueKey:(f,m)=>String(++h)},p=e.colGroupSvc?e.colGroupSvc.balanceColumnTree(u,0,d,g):u;return depthFirstOriginalTreeSearch(null,p,depthFirstCallback),{columnTree:p,treeDepth:d}}function _createColumnTree(e,t=null,o,i,s){const n=new ColumnKeyCreator,{existingCols:r,existingGroups:a,existingColKeys:l}=extractExistingTreeData(i);n.addExistingKeys(l);const d=_recursivelyCreateColumns(e,t,0,o,r,n,a,s),{colGroupSvc:c}=e,u=c?.findMaxDepth(d,0)??0,h=c?c.balanceColumnTree(d,0,u,n):d;return depthFirstOriginalTreeSearch(null,h,depthFirstCallback),{columnTree:h,treeDepth:u}}function extractExistingTreeData(e){const t=[],o=[],i=[];return e&&depthFirstOriginalTreeSearch(null,e,s=>{if(isProvidedColumnGroup(s)){const n=s;o.push(n)}else{const n=s;i.push(n.getId()),t.push(n)}}),{existingCols:t,existingGroups:o,existingColKeys:i}}function _recursivelyCreateColumns(e,t,o,i,s,n,r,a){if(!t)return[];const{colGroupSvc:l}=e,d=new Array(t.length);for(let c=0;c<d.length;c++){const u=t[c];l&&isColumnGroupDef(u)?d[c]=l.createProvidedColumnGroup(i,u,o,s,n,r,a):d[c]=createColumn(e,i,u,s,n,a)}return d}function createColumn(e,t,o,i,s,n){const r=findExistingColumn(o,i);r&&i?.splice(r.idx,1);let a=r?.column;if(a){const l=_addColumnDefaultAndTypes(e,o,a.colId);a.setColDef(l,o,n),_updateColumnState(e,a,l,n)}else{const l=s.getUniqueKey(o.colId,o.field),d=_addColumnDefaultAndTypes(e,o,l);a=new AgColumn(d,o,l,t),e.context.createBean(a)}return e.dataTypeSvc?.addColumnListeners(a),a}function updateSomeColumnState(e,t,o,i,s,n,r,a){const{sortSvc:l,pinnedCols:d,colFlex:c}=e;o!==void 0&&t.setVisible(!o,a),l&&(l.updateColSort(t,i,a),s!==void 0&&l.setColSortIndex(t,s)),n!==void 0&&d?.setColPinned(t,n),r!==void 0&&c?.setColFlex(t,r)}function _updateColumnState(e,t,o,i){updateSomeColumnState(e,t,o.hide,o.sort,o.sortIndex,o.pinned,o.flex,i);const s=t.getFlex();if(!(s!=null&&s>0))if(o.width!=null)t.setActualWidth(o.width,i);else{const n=t.getActualWidth();t.setActualWidth(n,i)}}function findExistingColumn(e,t){if(t)for(let o=0;o<t.length;o++){const i=t[o].getUserProvidedColDef();if(!i)continue;if(e.colId!=null){if(t[o].getId()===e.colId)return{idx:o,column:t[o]};continue}if(e.field!=null){if(i.field===e.field)return{idx:o,column:t[o]};continue}if(i===e)return{idx:o,column:t[o]}}}function _addColumnDefaultAndTypes(e,t,o,i){const{gos:s,dataTypeSvc:n}=e,r={},a=s.get("defaultColDef");_mergeDeep(r,a,!1,!0);const l=updateColDefAndGetColumnType(e,r,t,o);l&&assignColumnTypes(e,l,r);const d=r.cellDataType;_mergeDeep(r,t,!1,!0),d!==void 0&&(r.cellDataType=d);const c=s.get("autoGroupColumnDef"),u=_isColumnsSortingCoupledToGroup(s);return t.rowGroup&&c&&u&&_mergeDeep(r,{sort:c.sort,initialSort:c.initialSort},!1,!0),n?.postProcess(r),n?.validateColDef(r,t,a,o),s.validateColDef(r,o,i),r}function updateColDefAndGetColumnType(e,t,o,i){const s=e.dataTypeSvc?.updateColDefAndGetColumnType(t,o,i),n=o.type??s??t.type;return t.type=n,n?convertColumnTypes(n):void 0}function assignColumnTypes(e,t,o){if(!t.length)return;const i=Object.assign({},DefaultColumnTypes),s=e.gos.get("columnTypes")||{};for(const n of Object.keys(s)){const r=s[n];n in i?_warn(34,{key:n}):(r.type&&_warn(35),i[n]=r)}for(const n of t){const r=i[n.trim()];r?_mergeDeep(o,r,!1,!0):_warn(36,{t:n})}}function isColumnGroupDef(e){return e.children!==void 0}function depthFirstOriginalTreeSearch(e,t,o){if(t)for(let i=0;i<t.length;i++){const s=t[i];isProvidedColumnGroup(s)&&depthFirstOriginalTreeSearch(s,s.getChildren(),o),o(s,e)}}var GROUP_AUTO_COLUMN_ID="ag-Grid-AutoColumn",SELECTION_COLUMN_ID="ag-Grid-SelectionColumn",ROW_NUMBERS_COLUMN_ID="ag-Grid-RowNumbersColumn",GROUP_HIERARCHY_COLUMN_ID_PREFIX="ag-Grid-HierarchyColumn";function _getColumnsFromTree(e){const t=[],o=i=>{for(let s=0;s<i.length;s++){const n=i[s];isColumn(n)?t.push(n):isProvidedColumnGroup(n)&&o(n.getChildren())}};return o(e),t}function getWidthOfColsInList(e){return e.reduce((t,o)=>t+o.getActualWidth(),0)}function _destroyColumnTree(e,t,o){const i={};if(!t)return;depthFirstOriginalTreeSearch(null,t,n=>{i[n.getInstanceId()]=n}),o&&depthFirstOriginalTreeSearch(null,o,n=>{i[n.getInstanceId()]=null});const s=Object.values(i).filter(n=>n!=null);e.context.destroyBeans(s)}function isColumnGroupAutoCol(e){return e.getId().startsWith(GROUP_AUTO_COLUMN_ID)}function isColumnSelectionCol(e){return(typeof e=="string"?e:"getColId"in e?e.getColId():e.colId)?.startsWith(SELECTION_COLUMN_ID)??!1}function isRowNumberCol(e){return(typeof e=="string"?e:"getColId"in e?e.getColId():e.colId)?.startsWith(ROW_NUMBERS_COLUMN_ID)??!1}function isSpecialCol(e){return isColumnSelectionCol(e)||isRowNumberCol(e)}function convertColumnTypes(e){let t=[];return e instanceof Array?t=e:typeof e=="string"&&(t=e.split(",")),t}function _areColIdsEqual(e,t){return _areEqual(e,t,(o,i)=>o.colId===i.colId)}function _updateColsMap(e){e.map={};for(const t of e.list)e.map[t.getId()]=t}function _convertColumnEventSourceType(e){return e==="optionsUpdated"?"gridOptionsChanged":e}function _columnsMatch(e,t){return e===t||e.colId==t||e.colDef===t}var getValueFactory=(e,t)=>(o,i)=>{const s={value1:void 0,value2:void 0};let n=!1;return e&&(e[o]!==void 0&&(s.value1=e[o],n=!0),_exists(i)&&e[i]!==void 0&&(s.value2=e[i],n=!0)),!n&&t&&(t[o]!==void 0&&(s.value1=t[o]),_exists(i)&&t[i]!==void 0&&(s.value2=t[i])),s};function _getColumnStateFromColDef(e,t){const o={...e,sort:void 0,colId:t},i=_getSortDefFromColDef(e);return i&&(o.sort=i.direction,o.sortType=i.type),o}function _getSortDefFromColDef(e){const{sort:t,initialSort:o}=e,i=_isSortDefValid(t)||_isSortDirectionValid(t),s=_isSortDefValid(o)||_isSortDirectionValid(o);return i?_getSortDefFromInput(t):s?_getSortDefFromInput(o):null}function createUniqueColumnGroupId(e,t){return e+"_"+t}function isColumnGroup(e){return e instanceof AgColumnGroup}var AgColumnGroup=class extends BeanStub{constructor(e,t,o,i){super(),this.providedColumnGroup=e,this.groupId=t,this.partId=o,this.pinned=i,this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.colIdSanitised=_escapeString(this.getUniqueId())}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}getUniqueId(){return createUniqueColumnGroupId(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!e||e.length===0?!1:e.every(t=>t.isMoving())}checkLeft(){for(const e of this.displayedChildren)isColumnGroup(e)&&e.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const t=_last(this.displayedChildren).getLeft();this.setLeft(t)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;for(const t of this.displayedChildren??[])e+=t.getActualWidth();return e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;for(const t of this.displayedChildren)t.isResizable()&&(e=!0);return e}getMinWidth(){let e=0;for(const t of this.displayedChildren)e+=t.getMinWidth();return e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){for(const t of this.displayedChildren??[])isColumn(t)?e.push(t):isColumnGroup(t)&&t.addDisplayedLeafColumns(e)}addLeafColumns(e){for(const t of this.children??[])isColumn(t)?e.push(t):isColumnGroup(t)&&t.addLeafColumns(e)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.parent;return!this.isPadding()||!e?.isPadding()?0:1+e.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e?.isPadding();)e=e.parent;if(!(e?e.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}for(const o of this.children??[]){if(isColumnGroup(o)&&!o.displayedChildren?.length)continue;switch(o.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(o);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(o);break;default:this.displayedChildren.push(o);break}}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},ROOT_NODE_ID="ROOT_NODE_ID",GROUP_TOTAL_ROW_ID_PREFIX="rowGroupFooter_",DETAIL_ROW_ID_PREFIX="detail_",GRAND_TOTAL_ROW_ID=GROUP_TOTAL_ROW_ID_PREFIX+ROOT_NODE_ID,KeyCode={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",ESCAPE:"Escape",SPACE:" ",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown",DELETE:"Delete",F2:"F2",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",PAGE_HOME:"Home",PAGE_END:"End",A:"KeyA",C:"KeyC",D:"KeyD",V:"KeyV",X:"KeyX",Y:"KeyY",Z:"KeyZ"},A_KEYCODE=65,C_KEYCODE=67,V_KEYCODE=86,D_KEYCODE=68,Z_KEYCODE=90,Y_KEYCODE=89;function _normaliseQwertyAzerty(e){const{keyCode:t}=e;let o;switch(t){case A_KEYCODE:o=KeyCode.A;break;case C_KEYCODE:o=KeyCode.C;break;case V_KEYCODE:o=KeyCode.V;break;case D_KEYCODE:o=KeyCode.D;break;case Z_KEYCODE:o=KeyCode.Z;break;case Y_KEYCODE:o=KeyCode.Y;break;default:o=e.code}return o}function _isPromise(e){return typeof e.then=="function"}function _wrapInterval(e,t){return new AgPromise(o=>{o(window.setInterval(e,t))})}var AgPromise=class V{constructor(t){this.status=0,this.resolution=null,this.waiters=[],t(o=>this.onDone(o),o=>this.onReject(o))}static all(t){return t.length?new V(o=>{let i=t.length;const s=new Array(i);t.forEach((n,r)=>{n.then(a=>{s[r]=a,i--,i===0&&o(s)})})}):V.resolve()}static resolve(t=null){return new V(o=>o(t))}then(t){return new V(o=>{this.status===1?o(t(this.resolution)):this.waiters.push(i=>o(t(i)))})}onDone(t){this.status=1,this.resolution=t;for(const o of this.waiters)o(t)}onReject(t){}},BaseDragAndDropService=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="dragAndDrop",this.dragSourceAndParamsList=[],this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.dragSource=null,this.dragImageCompPromise=null,this.dragImageComp=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.dropTargets=[],this.externalDropZoneCount=0,this.lastDropTarget=null}addDragSource(e,t=!1){const o={capturePointer:!0,dragSource:e,eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:i=>this.onDragStart(e,i),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push(o),this.beans.dragSvc.addDragSource(o)}setDragImageCompIcon(e,t=!1){const o=this.dragImageComp;o&&(t||this.dragImageLastIcon!==e)&&(this.dragImageLastIcon=e,o.setIcon(e,t))}removeDragSource(e){const{dragSourceAndParamsList:t,beans:o}=this;for(let i=0,s=t.length;i<s;i++)if(t[i].dragSource===e){const n=t[i];o.dragSvc?.removeDragSource(n),t.splice(i,1);break}}destroy(){const{dragSourceAndParamsList:e,dropTargets:t,beans:o}=this,i=o.dragSvc;for(const s of e)i?.removeDragSource(s);e.length=0,t.length=0,this.externalDropZoneCount=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){const e=this.lastMouseEvent;e&&this.onDragging(e,!0)}onDragStart(e,t){this.lastMouseEvent=t,this.dragSource=e,this.dragItem=e.getDragItem();const o=e.eElement.getBoundingClientRect();this.dragInitialSourcePointerOffsetX=t.clientX-o.left,this.dragInitialSourcePointerOffsetY=t.clientY-o.top,e.onDragStarted?.(),this.createAndUpdateDragImageComp(e)}onDragStop(e){const{dragSource:t,lastDropTarget:o}=this;if(t?.onDragStopped?.(),o){const i=this.dropTargetEvent(o,e,!1);o.onDragStop?.(i)}this.clearDragAndDropProperties()}onDragCancel(){const{dragSource:e,lastDropTarget:t,lastMouseEvent:o}=this;if(e?.onDragCancelled?.(),t&&o){const i=this.dropTargetEvent(t,o,!1);t.onDragCancel?.(i)}this.clearDragAndDropProperties()}onDragging(e,t=!1){this.positionDragImageComp(e);const o=this.findCurrentDropTarget(e),{lastDropTarget:i,dragSource:s,dragItem:n}=this;let r=!1;if(o!==i){if(r=!0,i){const a=this.dropTargetEvent(i,e,t);i.onDragLeave?.(a)}if(i!==null&&!o?this.handleExit(s,n):i===null&&o&&this.handleEnter(s,n),o){const a=this.dropTargetEvent(o,e,t);o.onDragEnter?.(a)}this.lastDropTarget=o}else if(o){const a=this.dropTargetEvent(o,e,t);o.onDragging?.(a),a?.changed&&(r=!0)}this.lastMouseEvent=e,r&&this.updateDragImageComp()}clearDragAndDropProperties(){this.removeDragImageComp(this.dragImageComp),this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.lastDropTarget=null,this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.dragSource=null}getAllContainersFromDropTarget(e){const t=e.getContainer(),o=e.getSecondaryContainers?.(),i=o?.length;if(!i)return[[t]];const s=new Array(i+1);s[0]=[t];for(let n=0;n<i;++n)s[n+1]=o[n];return s}isMouseOnDropTarget(e,t){const o=this.getAllContainersFromDropTarget(t);let i=!1;const s=(a,l)=>{for(const d of l){const{width:c,height:u,left:h,right:g,top:p,bottom:f}=d.getBoundingClientRect();if(c===0||u===0)return!1;const m=a.clientX>=h&&a.clientX<g,C=a.clientY>=p&&a.clientY<f;if(!m||!C)return!1}return!0};for(const a of o)if(s(e,a)){i=!0;break}const{eElement:n,type:r}=this.dragSource;return t.targetContainsSource&&!t.getContainer().contains(n)?!1:i&&t.isInterestedIn(r,n)}findCurrentDropTarget(e){const t=[],o=this.dropTargets;for(let r=0,a=o.length;r<a;++r){const l=o[r];this.isMouseOnDropTarget(e,l)&&t.push(l)}const i=t.length;if(i===0)return null;if(i===1)return t[0];const n=_getRootNode(this.beans).elementsFromPoint(e.clientX,e.clientY);for(let r=0,a=n.length;r<a;++r){const l=n[r];for(let d=0,c=t.length;d<c;d++){const u=t[d],h=this.getAllContainersFromDropTarget(u);let g=!1;for(let p=0,f=h.length;p<f&&!g;p++){const m=h[p];for(let C=0,w=m.length;C<w;C++)if(m[C]===l){g=!0;break}}if(g)return u}}return null}addDropTarget(e){this.dropTargets.push(e),e.external&&this.externalDropZoneCount++}removeDropTarget(e){const t=e.getContainer(),o=this.dropTargets;let i=0;for(let s=0,n=o.length;s<n;++s){const r=o[s];if(r.getContainer()===t){r.external&&--this.externalDropZoneCount;continue}i!==s&&(o[i]=r),++i}o.length=i}hasExternalDropZones(){return this.externalDropZoneCount>0}findExternalZone(e){const t=this.dropTargets;for(let o=0,i=t.length;o<i;++o){const s=t[o];if(s.external&&s.getContainer()===e)return s}return null}dropTargetEvent(e,t,o){const{dragSource:i,dragItem:s,lastDraggingEvent:n,lastMouseEvent:r,dragInitialSourcePointerOffsetX:a,dragInitialSourcePointerOffsetY:l}=this,d=e.getContainer(),c=d.getBoundingClientRect(),{clientX:u,clientY:h}=t,g=u-(r?.clientX||0),p=h-(r?.clientY||0),f=this.createEvent({event:t,x:u-c.left,y:h-c.top,vDirection:p>0?"down":p<0?"up":null,hDirection:g<0?"left":g>0?"right":null,initialSourcePointerOffsetX:a,initialSourcePointerOffsetY:l,dragSource:i,fromNudge:o,dragItem:s,dropZoneTarget:d,dropTarget:n?.dropTarget??null,changed:!!n?.changed});return this.lastDraggingEvent=f,f}positionDragImageComp(e){const t=this.dragImageComp?.getGui();t&&_anchorElementToMouseMoveEvent(t,e,this.beans)}removeDragImageComp(e){this.dragImageComp===e&&(this.dragImageComp=null),e&&(e.getGui()?.remove(),this.destroyBean(e))}createAndUpdateDragImageComp(e){const t=this.createDragImageComp(e)??null;this.dragImageCompPromise=t,t?.then(o=>{const i=this.lastMouseEvent;if(t!==this.dragImageCompPromise||!i||!this.isAlive()){this.destroyBean(o);return}this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;const s=this.dragImageComp;s!==o&&(this.dragImageComp=o,this.removeDragImageComp(s)),o&&(this.appendDragImageComp(o),this.updateDragImageComp(),this.positionDragImageComp(i))})}appendDragImageComp(e){const t=e.getGui(),o=t.style;o.position="absolute",o.zIndex="9999",this.beans.dragSvc?.hasPointerCapture()&&(o.pointerEvents="none"),this.gos.setInstanceDomData(t),this.beans.environment.applyThemeClasses(t),o.top="20px",o.left="20px";const i=_getPageBody(this.beans);i?i.appendChild(t):this.warnNoBody()}updateDragImageComp(){const{dragImageComp:e,dragSource:t,lastDropTarget:o,lastDraggingEvent:i,dragImageLastLabel:s}=this;if(!e)return;this.setDragImageCompIcon(o?.getIconName?.(i)??null);let n=t?.dragItemName;typeof n=="function"&&(n=n(i)),n||(n=""),s!==n&&(this.dragImageLastLabel=n,e.setLabel(n))}};function isColumnFilterComp(e){return typeof e=="object"&&!!e.component}function doesImplementIComponent(e){return e?e.prototype&&"getGui"in e.prototype:!1}function _getUserCompKeys(e,t,o,i){const{name:s}=o;let n,r,a,l,d,c;if(t){const u=t,h=u[s+"Selector"],g=h?h(i):null,p=f=>{typeof f=="string"?n=f:f!=null&&f!==!0&&(e.isFrameworkComponent(f)?a=f:r=f)};g?(p(g.component),l=g.params,d=g.popup,c=g.popupPosition):p(u[s])}return{compName:n,jsComp:r,fwComp:a,paramsFromSelector:l,popupFromSelector:d,popupPositionFromSelector:c}}var UserComponentFactory=class extends BeanStub{constructor(){super(...arguments),this.beanName="userCompFactory"}wireBeans(e){this.agCompUtils=e.agCompUtils,this.registry=e.registry,this.frameworkCompWrapper=e.frameworkCompWrapper,this.gridOptions=e.gridOptions}getCompDetailsFromGridOptions(e,t,o,i=!1){return this.getCompDetails(this.gridOptions,e,t,o,i)}getCompDetails(e,t,o,i,s=!1){const{name:n,cellRenderer:r}=t;let{compName:a,jsComp:l,fwComp:d,paramsFromSelector:c,popupFromSelector:u,popupPositionFromSelector:h}=_getUserCompKeys(this.beans.frameworkOverrides,e,t,i),g,p;const f=v=>{const b=this.registry.getUserComponent(n,v);b&&(l=b.componentFromFramework?void 0:b.component,d=b.componentFromFramework?b.component:void 0,g=b.params,p=b.processParams)};if(a!=null&&f(a),l==null&&d==null&&o!=null&&f(o),l&&r&&!doesImplementIComponent(l)&&(l=this.agCompUtils?.adaptFunction(t,l)),!l&&!d){const{validation:v}=this.beans;s&&(a!==o||!o)?a?v?.isProvidedUserComp(a)||_error(50,{compName:a}):o?v||_error(260,{...this.gos.getModuleErrorParams(),propName:n,compName:o}):_error(216,{name:n}):o&&!v&&_error(146,{comp:o});return}const m=this.mergeParams(e,t,i,c,g,p),C=l==null,w=l??d;return{componentFromFramework:C,componentClass:w,params:m,type:t,popupFromSelector:u,popupPositionFromSelector:h,newAgStackInstance:()=>this.newAgStackInstance(w,C,m,t)}}newAgStackInstance(e,t,o,i){const s=!t;let n;s?n=new e:n=this.frameworkCompWrapper.wrap(e,i.mandatoryMethods,i.optionalMethods,i),this.createBean(n);const r=n.init?.(o);return r==null?AgPromise.resolve(n):r.then(()=>n)}mergeParams(e,t,o,i=null,s,n){const r={...o,...s},l=e?.[t.name+"Params"];if(typeof l=="function"){const d=l(o);_mergeDeep(r,d)}else typeof l=="object"&&_mergeDeep(r,l);return _mergeDeep(r,i),n?n(r):r}},DateComponent={name:"dateComponent",mandatoryMethods:["getDate","setDate"],optionalMethods:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","refresh"]},DragAndDropImageComponent={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},HeaderComponent={name:"headerComponent",optionalMethods:["refresh"]},InnerHeaderComponent={name:"innerHeaderComponent"},InnerHeaderGroupComponent={name:"innerHeaderGroupComponent"},HeaderGroupComponent={name:"headerGroupComponent"},InnerCellRendererComponent={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},CellRendererComponent={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},EditorRendererComponent={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},LoadingCellRendererComponent={name:"loadingCellRenderer",cellRenderer:!0},CellEditorComponent={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},TooltipComponent={name:"tooltipComponent"},FilterComponent={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},FloatingFilterComponent={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},FullWidth={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},FullWidthLoading={name:"loadingCellRenderer",cellRenderer:!0},FullWidthGroup={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},FullWidthDetail={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function _getDragAndDropImageCompDetails(e,t){return e.getCompDetailsFromGridOptions(DragAndDropImageComponent,"agDragAndDropImage",t,!0)}function _getInnerCellRendererDetails(e,t,o){return e.getCompDetails(t,InnerCellRendererComponent,void 0,o)}function _getHeaderCompDetails(e,t,o){return e.getCompDetails(t,HeaderComponent,"agColumnHeader",o)}function _getInnerHeaderCompDetails(e,t,o){return e.getCompDetails(t,InnerHeaderComponent,void 0,o)}function _getHeaderGroupCompDetails(e,t){const o=t.columnGroup.getColGroupDef();return e.getCompDetails(o,HeaderGroupComponent,"agColumnGroupHeader",t)}function _getInnerHeaderGroupCompDetails(e,t,o){return e.getCompDetails(t,InnerHeaderGroupComponent,void 0,o)}function _getFullWidthCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidth,void 0,t,!0)}function _getFullWidthLoadingCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthLoading,"agLoadingCellRenderer",t,!0)}function _getFullWidthGroupCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthGroup,"agGroupRowRenderer",t,!0)}function _getFullWidthDetailCellRendererDetails(e,t){return e.getCompDetailsFromGridOptions(FullWidthDetail,"agDetailCellRenderer",t,!0)}function _getCellRendererDetails(e,t,o){return e.getCompDetails(t,CellRendererComponent,void 0,o)}function _getEditorRendererDetails(e,t,o){return e.getCompDetails(t,EditorRendererComponent,void 0,o)}function _getLoadingCellRendererDetails(e,t,o){return e.getCompDetails(t,LoadingCellRendererComponent,"agSkeletonCellRenderer",o,!0)}function _getCellEditorDetails(e,t,o){return e.getCompDetails(t,CellEditorComponent,"agCellEditor",o,!0)}function _getFilterDetails(e,t,o,i){const s=t.filter;return isColumnFilterComp(s)&&(t={filter:s.component,filterParams:t.filterParams}),e.getCompDetails(t,FilterComponent,i,o,!0)}function _getDateCompDetails(e,t,o){return e.getCompDetails(t,DateComponent,"agDateInput",o,!0)}function _getTooltipCompDetails(e,t){return e.getCompDetails(t.colDef,TooltipComponent,"agTooltipComponent",t,!0)}function _getFloatingFilterCompDetails(e,t,o,i){return e.getCompDetails(t,FloatingFilterComponent,i,o)}function _getFilterCompKeys(e,t){return _getUserCompKeys(e,t,FilterComponent)}function _mergeFilterParamsWithApplicationProvidedParams(e,t,o){return e.mergeParams(t,FilterComponent,o)}var DragSourceType=(e=>(e[e.ToolPanel=0]="ToolPanel",e[e.HeaderCell=1]="HeaderCell",e[e.RowDrag=2]="RowDrag",e[e.ChartPanel=3]="ChartPanel",e[e.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",e))(DragSourceType||{}),DragAndDropService=class extends BaseDragAndDropService{createEvent(e){return _addGridCommonParams(this.gos,e)}createDragImageComp(e){const{gos:t,beans:o}=this;return _getDragAndDropImageCompDetails(o.userCompFactory,_addGridCommonParams(t,{dragSource:e}))?.newAgStackInstance()}handleEnter(e,t){e?.onGridEnter?.(t)}handleExit(e,t){e?.onGridExit?.(t)}warnNoBody(){_warn(54)}isDropZoneWithinThisGrid(e){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains(e.dropZoneTarget)}registerGridDropTarget(e,t){const o={getContainer:e,isInterestedIn:i=>i===1||i===0,getIconName:()=>"notAllowed"};this.addDropTarget(o),t.addDestroyFunc(()=>this.removeDropTarget(o))}};function isCombinedFilterModel(e){return!!e.operator}var RESIZE_CONTAINER_STYLE="ag-resizer-wrapper",makeDiv=(e,t)=>({tag:"div",ref:`${e}Resizer`,cls:`ag-resizer ag-resizer-${t}`}),RESIZE_TEMPLATE={tag:"div",cls:RESIZE_CONTAINER_STYLE,children:[makeDiv("eTopLeft","topLeft"),makeDiv("eTop","top"),makeDiv("eTopRight","topRight"),makeDiv("eRight","right"),makeDiv("eBottomRight","bottomRight"),makeDiv("eBottom","bottom"),makeDiv("eBottomLeft","bottomLeft"),makeDiv("eLeft","left")]},AgPositionableFeature=class extends AgBeanStub{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config={popup:!1,...t}}wireBeans(e){this.popupSvc=e.popupSvc,this.dragSvc=e.dragSvc}center(e){const{clientHeight:t,clientWidth:o}=this.offsetParent,i=o/2-this.getWidth()/2,s=t/2-this.getHeight()/2;this.offsetElement(i,s,e)}initialisePosition(e){if(this.positioned)return;const{centered:t,forcePopupParentAsOffsetParent:o,minWidth:i,width:s,minHeight:n,height:r,x:a,y:l}=this.config;this.offsetParent||this.setOffsetParent();let d=0,c=0;const u=_isVisible(this.element);if(u){const h=this.findBoundaryElement(),g=window.getComputedStyle(h);if(g.minWidth!=null){const p=h.offsetWidth-this.element.offsetWidth;c=Number.parseInt(g.minWidth,10)-p}if(g.minHeight!=null){const p=h.offsetHeight-this.element.offsetHeight;d=Number.parseInt(g.minHeight,10)-p}}if(this.minHeight=n||d,this.minWidth=i||c,s&&this.setWidth(s),r&&this.setHeight(r),(!s||!r)&&this.refreshSize(),t)this.center(e);else if(a||l)this.offsetElement(a,l,e);else if(u&&o){let h=this.boundaryEl,g=!0;if(h||(h=this.findBoundaryElement(),g=!1),h){const p=Number.parseFloat(h.style.top),f=Number.parseFloat(h.style.left);g?this.offsetElement(Number.isNaN(f)?0:f,Number.isNaN(p)?0:p,e):this.setPosition(f,p)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;const o=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragSvc?.addDragSource(o),this.moveElementDragListener=o):(this.dragSvc?.removeDragSource(o),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),typeof e=="boolean"){if(e===!1)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}for(const t of Object.keys(e)){const o=!!e[t],i=this.getResizerElement(t),s={dragStartPixels:0,eElement:i,onDragStart:n=>this.onResizeStart(n,t),onDragging:this.onResize.bind(this),onDragStop:n=>this.onResizeEnd(n,t)};(o||!this.isAlive()&&!o)&&(o?(this.dragSvc?.addDragSource(s),this.resizeListeners.push(s),i.style.pointerEvents="all"):i.style.pointerEvents="none",this.resizable[t]=o)}}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";const{height:e,width:t}=this.lastSize;t!==-1&&(this.element.style.width=`${t}px`),e!==-1&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){const{popup:t}=this.config,o=this.element;let i=!1;if(typeof e=="string"&&e.includes("%"))_setFixedHeight(o,e),e=_getAbsoluteHeight(o),i=!0;else if(e=Math.max(this.minHeight,e),this.positioned){const s=this.getAvailableHeight();s&&e>s&&(e=s)}this.getHeight()!==e&&(i?(o.style.maxHeight="unset",o.style.minHeight="unset"):t?_setFixedHeight(o,e):(o.style.height=`${e}px`,o.style.flex="0 0 auto",this.lastSize.height=typeof e=="number"?e:Number.parseFloat(e)))}getAvailableHeight(){const{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();const{clientHeight:o}=this.offsetParent;if(!o)return null;const i=this.element.getBoundingClientRect(),s=this.offsetParent.getBoundingClientRect(),n=e?this.position.y:i.top,r=e?0:s.top;let a=0;if(t){const d=this.element.parentElement;if(d){const{bottom:c}=d.getBoundingClientRect();a=c-i.bottom}}return o+r-n-a}getWidth(){return this.element.offsetWidth}setWidth(e){const t=this.element,{popup:o}=this.config;let i=!1;if(typeof e=="string"&&e.includes("%"))_setFixedWidth(t,e),e=_getAbsoluteWidth(t),i=!0;else if(this.positioned){e=Math.max(this.minWidth,e);const{clientWidth:s}=this.offsetParent,n=o?this.position.x:this.element.getBoundingClientRect().left;s&&e+n>s&&(e=s-n)}this.getWidth()!==e&&(i?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?_setFixedWidth(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width=typeof e=="number"?e:Number.parseFloat(e)))}offsetElement(e=0,t=0,o){const{forcePopupParentAsOffsetParent:i}=this.config,s=i?this.boundaryEl:this.element;s&&(this.popupSvc?.positionPopup({ePopup:s,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t}),postProcessCallback:o}),this.setPosition(Number.parseFloat(s.style.left),Number.parseFloat(s.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;const t=()=>{const o=this.getAvailableHeight();this.element.style.setProperty("max-height",`${o}px`)};e&&this.popupSvc?(this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=_observeResize(this.beans,this.popupSvc?.getPopupParent(),t)):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){const{e:t,isLeft:o,isTop:i,anywhereWithin:s,topBuffer:n}=e,r=t.clientX-this.dragStartPosition.x,a=t.clientY-this.dragStartPosition.y,l=this.shouldSkipX(t,!!o,!!s,r)?0:r,d=this.shouldSkipY(t,!!i,n,a)?0:a;return{movementX:l,movementY:d}}shouldSkipX(e,t,o,i){const s=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.x:s.left;let l=a<=0&&n.left>=e.clientX||n.right<=e.clientX&&n.right<=r.right;return l?!0:(t?l=i<0&&e.clientX>a+n.left||i>0&&e.clientX<a+n.left:o?l=i<0&&e.clientX>r.right||i>0&&e.clientX<a+n.left:l=i<0&&e.clientX>r.right||i>0&&e.clientX<r.right,l)}shouldSkipY(e,t,o=0,i){const s=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.y:s.top;let l=a<=0&&n.top>=e.clientY||n.bottom<=e.clientY&&n.bottom<=r.bottom;return l?!0:(t?l=i<0&&e.clientY>a+n.top+o||i>0&&e.clientY<a+n.top:l=i<0&&e.clientY>r.bottom||i>0&&e.clientY<r.bottom,l)}createResizeMap(){const e=t=>({element:this.element.querySelector(`[data-ref=${t}Resizer]`)});this.resizerMap={topLeft:e("eTopLeft"),top:e("eTop"),topRight:e("eTopRight"),right:e("eRight"),bottomRight:e("eBottomRight"),bottom:e("eBottom"),bottomLeft:e("eBottomLeft"),left:e("eLeft")}}addResizers(){if(this.resizersAdded)return;const e=this.element;e&&(e.appendChild(_createAgElement(RESIZE_TEMPLATE)),this.createResizeMap(),this.resizersAdded=!0)}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${RESIZE_CONTAINER_STYLE}`)?.remove(),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");const{popup:o,forcePopupParentAsOffsetParent:i}=this.config;!o&&!i&&this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){const t=this.element.parentElement;return t?Array.prototype.slice.call(t.children).filter(o=>!o.classList.contains("ag-hidden")):null}getMinSizeOfSiblings(){const e=this.getSiblings()||[];let t=0,o=0;for(const i of e){const s=!!i.style.flex&&i.style.flex!=="0 0 auto";if(i===this.element)continue;let n=this.minHeight||0,r=this.minWidth||0;if(s){const a=window.getComputedStyle(i);a.minHeight&&(n=Number.parseInt(a.minHeight,10)),a.minWidth&&(r=Number.parseInt(a.minWidth,10))}else n=i.offsetHeight,r=i.offsetWidth;t+=n,o+=r}return{height:t,width:o}}applySizeToSiblings(e){let t=null;const o=this.getSiblings();if(o){for(let i=0;i<o.length;i++){const s=o[i];s!==t&&(e?s.style.height=`${s.offsetHeight}px`:s.style.width=`${s.offsetWidth}px`,s.style.flex="0 0 auto",s===this.element&&(t=o[i+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some(e=>e)}onResize(e){if(!this.isResizing||!this.currentResizer)return;const{popup:t,forcePopupParentAsOffsetParent:o}=this.config,{isTop:i,isRight:s,isBottom:n,isLeft:r}=this.currentResizer,a=s||r,l=n||i,{movementX:d,movementY:c}=this.calculateMouseMovement({e,isLeft:r,isTop:i}),u=this.position.x,h=this.position.y;let g=0,p=0;if(a&&d){const f=r?-1:1,m=this.getWidth(),C=m+d*f;let w=!1;r&&(g=m-C,(u+g<=0||C<=this.minWidth)&&(w=!0,g=0)),w||this.setWidth(C)}if(l&&c){const f=i?-1:1,m=this.getHeight(),C=m+c*f;let w=!1;i?(p=m-C,(h+p<=0||C<=this.minHeight)&&(w=!0,p=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&m<C&&this.getMinSizeOfSiblings().height+C>this.element.parentElement.offsetHeight&&(w=!0),w||this.setHeight(C)}this.updateDragStartPosition(e.clientX,e.clientY),((t||o)&&g||p)&&this.offsetElement(u+g,h+p)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){const e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;const{x:t,y:o}=this.position;let i;this.config.calculateTopBuffer&&(i=this.config.calculateTopBuffer());const{movementX:s,movementY:n}=this.calculateMouseMovement({e,isTop:!0,anywhereWithin:!0,topBuffer:i});this.offsetElement(t+s,o+n),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent&&this.popupSvc?this.offsetParent=this.popupSvc.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if(window.getComputedStyle(e).position!=="static")return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){const e=this.resizeListeners.pop();this.dragSvc?.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragSvc?.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},PositionableFeature=class extends AgPositionableFeature{},RefPlaceholder=null;function _isComponent(e){return typeof e?.getGui=="function"}var CssClassManager=class{constructor(e){this.cssClassStates={},this.getGui=e}toggleCss(e,t){if(!e)return;if(e.includes(" ")){const i=(e||"").split(" ");if(i.length>1){for(const s of i)this.toggleCss(s,t);return}}this.cssClassStates[e]!==t&&e.length&&(this.getGui()?.classList.toggle(e,t),this.cssClassStates[e]=t)}},compIdSequence=0,AgComponentStub=class extends AgBeanStub{constructor(e,t){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=compIdSequence++,this.cssManager=new CssClassManager(()=>this.eGui),this.componentSelectors=new Map((t??[]).map(o=>[o.selector,o])),e&&this.setTemplate(e)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate(e,t){e&&this.gos&&(this.applyElementsToComponent(e),this.createChildComponentsFromTags(e,t))}getCompId(){return this.compId}getDataRefAttribute(e){return e.getAttribute?e.getAttribute(DataRefAttribute):null}applyElementsToComponent(e,t,o,i=null){if(t===void 0&&(t=this.getDataRefAttribute(e)),t){const s=this[t];if(s===RefPlaceholder)this[t]=i??e;else{const n=o?.[t];if(!this.suppressDataRefValidation&&!n)throw new Error(`data-ref: ${t} on ${this.constructor.name} with ${s}`)}}}createChildComponentsFromTags(e,t){const o=[];for(const i of e.childNodes??[])o.push(i);for(const i of o){if(!(i instanceof HTMLElement))continue;const s=this.createComponentFromElement(i,n=>{const r=n.getGui();if(r)for(const a of i.attributes??[])r.setAttribute(a.name,a.value)},t);if(s){if(s.addItems&&i.children.length){this.createChildComponentsFromTags(i,t);const n=Array.prototype.slice.call(i.children);s.addItems(n)}this.swapComponentForNode(s,e,i)}else i.childNodes&&this.createChildComponentsFromTags(i,t)}}createComponentFromElement(e,t,o){const i=e.nodeName,s=this.getDataRefAttribute(e),n=i.indexOf("AG-")===0,r=n?this.componentSelectors.get(i):null;let a=null;if(r){const l=o&&s?o[s]:void 0;a=new r.component(l),a.setParentComponent(this),this.createBean(a,null,t)}else if(n)throw new Error(`selector: ${i}`);return this.applyElementsToComponent(e,s,o,a),a}swapComponentForNode(e,t,o){const i=e.getGui();t.replaceChild(i,o),t.insertBefore(document.createComment(o.nodeName),i),this.addDestroyFunc(this.destroyBean.bind(this,e))}activateTabIndex(e,t){const o=t??this.gos.get("tabIndex");e||(e=[]),e.length||e.push(this.getGui());for(const i of e)i.setAttribute("tabindex",o.toString())}setTemplate(e,t,o){let i;typeof e=="string"||e==null?i=_loadTemplate(e):i=_createAgElement(e),this.setTemplateFromElement(i,t,o)}setTemplateFromElement(e,t,o,i=!1){if(this.eGui=e,this.suppressDataRefValidation=i,t)for(let s=0;s<t.length;s++){const n=t[s];this.componentSelectors.set(n.selector,n)}this.wireTemplate(e,o)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(e){this.parentComponent=e}getParentComponent(){return this.parentComponent}setGui(e){this.eGui=e}queryForHtmlElement(e){return this.eGui.querySelector(e)}getContainerAndElement(e,t){let o=t;return e==null?null:(o||(o=this.eGui),_isNodeOrElement(e)?{element:e,parent:o}:{element:e.getGui(),parent:o})}prependChild(e,t){const{element:o,parent:i}=this.getContainerAndElement(e,t)||{};!o||!i||i.prepend(o)}appendChild(e,t){const{element:o,parent:i}=this.getContainerAndElement(e,t)||{};!o||!i||i.appendChild(o)}isDisplayed(){return this.displayed}setVisible(e,t={}){if(e!==this.visible){this.visible=e;const{skipAriaHidden:o}=t;_setVisible(this.eGui,e,{skipAriaHidden:o})}}setDisplayed(e,t={}){if(e!==this.displayed){this.displayed=e;const{skipAriaHidden:o}=t;_setDisplayed(this.eGui,e,{skipAriaHidden:o});const i={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(i)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),super.destroy()}addGuiEventListener(e,t,o){this.eGui.addEventListener(e,t,o),this.addDestroyFunc(()=>this.eGui.removeEventListener(e,t))}addCss(e){this.cssManager.toggleCss(e,!0)}removeCss(e){this.cssManager.toggleCss(e,!1)}toggleCss(e,t){this.cssManager.toggleCss(e,t)}registerCSS(e){this.css===globalCssAdded?(this.css=[e],this.addGlobalCss()):(this.css||(this.css=[]),this.css.push(e))}addGlobalCss(){if(Array.isArray(this.css)){const e="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(const t of this.css??[])this.beans.environment.addGlobalCSS(t,e)}this.css=globalCssAdded}},globalCssAdded=Symbol(),Component=class extends AgComponentStub{},isSafari,isFirefox,isMacOs,isIOS,invisibleScrollbar,browserScrollbarWidth,maxDivHeight;function _isBrowserSafari(){return isSafari===void 0&&(isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),isSafari}function _isBrowserFirefox(){return isFirefox===void 0&&(isFirefox=/(firefox)/i.test(navigator.userAgent)),isFirefox}function _isMacOsUserAgent(){return isMacOs===void 0&&(isMacOs=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),isMacOs}function _isIOSUserAgent(){return isIOS===void 0&&(isIOS=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),isIOS}function _getTabIndex(e){if(!e)return null;const t=e.tabIndex,o=e.getAttribute("tabIndex");return t===-1&&(o===null||o===""&&!_isBrowserFirefox())?null:t.toString()}function _getMaxDivHeight(){if(maxDivHeight!==void 0)return maxDivHeight;if(!document.body)return-1;let e=1e6;const t=_isBrowserFirefox()?6e6:1e9,o=document.createElement("div");for(document.body.appendChild(o);;){const i=e*2;if(o.style.height=i+"px",i>t||o.clientHeight!==i)break;e=i}return o.remove(),maxDivHeight=e,e}function _getScrollbarWidth(){return browserScrollbarWidth==null&&initScrollbarWidthAndVisibility(),browserScrollbarWidth}function initScrollbarWidthAndVisibility(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let o=t.offsetWidth-t.clientWidth;o===0&&t.clientWidth===0&&(o=null),t.parentNode&&t.remove(),o!=null&&(browserScrollbarWidth=o,invisibleScrollbar=o===0)}function _isInvisibleScrollbar(){return invisibleScrollbar==null&&initScrollbarWidthAndVisibility(),invisibleScrollbar}var keyboardModeActive=!1,instanceCount=0;function addKeyboardModeEvents(e){instanceCount>0||(e.addEventListener("keydown",toggleKeyboardMode),e.addEventListener("mousedown",toggleKeyboardMode))}function removeKeyboardModeEvents(e){instanceCount>0||(e.removeEventListener("keydown",toggleKeyboardMode),e.removeEventListener("mousedown",toggleKeyboardMode))}function toggleKeyboardMode(e){const t=keyboardModeActive,o=e.type==="keydown";o&&(e.ctrlKey||e.metaKey||e.altKey)||t!==o&&(keyboardModeActive=o)}function _registerKeyboardFocusEvents(e){const t=_getDocument(e);return addKeyboardModeEvents(t),instanceCount++,()=>{instanceCount--,removeKeyboardModeEvents(t)}}function _isKeyboardMode(){return keyboardModeActive}function _findFocusableElements(e,t,o=!1){const i=FOCUSABLE_SELECTOR;let s=FOCUSABLE_EXCLUDE;t&&(s+=", "+t),o&&(s+=', [tabindex="-1"]');const n=Array.prototype.slice.apply(e.querySelectorAll(i)).filter(l=>_isVisible(l)),r=Array.prototype.slice.apply(e.querySelectorAll(s));return r.length?((l,d)=>l.filter(c=>d.indexOf(c)===-1))(n,r):n}function _focusInto(e,t=!1,o=!1,i=!1){const s=_findFocusableElements(e,i?".ag-tab-guard":null,o),n=t?_last(s):s[0];return n?(n.focus({preventScroll:!0}),!0):!1}function _findNextFocusableElement(e,t,o,i){const s=_findFocusableElements(t,o?':not([tabindex="-1"])':null),n=_getActiveDomElement(e);let r;o?r=s.findIndex(l=>l.contains(n)):r=s.indexOf(n);const a=r+(i?-1:1);return a<0||a>=s.length?null:s[a]}function _findTabbableParent(e,t=5){let o=0;for(;e&&_getTabIndex(e)===null&&++o<=t;)e=e.parentElement;return _getTabIndex(e)===null?null:e}var FOCUS_MANAGED_CLASS="ag-focus-managed",AgManagedFocusFeature=class extends AgBeanStub{constructor(e,t={isStopPropagation:()=>!1,stopPropagation:()=>{}},o={}){super(),this.eFocusable=e,this.stopPropagationCallbacks=t,this.callbacks=o,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:i=>{if(i.defaultPrevented)return;const s=_findNextFocusableElement(this.beans,this.eFocusable,!1,i.shiftKey);s&&(s.focus(),i.preventDefault())},...o}}postConstruct(){const{eFocusable:e,callbacks:{onFocusIn:t,onFocusOut:o}}=this;e.classList.add(FOCUS_MANAGED_CLASS),this.addKeyDownListeners(e),t&&this.addManagedElementListeners(e,{focusin:t}),o&&this.addManagedElementListeners(e,{focusout:o})}addKeyDownListeners(e){this.addManagedElementListeners(e,{keydown:t=>{if(t.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(t))return;const{callbacks:o}=this;if(o.shouldStopEventPropagation(t)){this.stopPropagationCallbacks.stopPropagation(t);return}t.key===KeyCode.TAB?o.onTabKeyDown(t):o.handleKeyDown&&o.handleKeyDown(t)}})}},AG_GRID_STOP_PROPAGATION="__ag_Grid_Stop_Propagation";function _stopPropagationForAgGrid(e){e[AG_GRID_STOP_PROPAGATION]=!0}function _isStopPropagationForAgGrid(e){return e[AG_GRID_STOP_PROPAGATION]===!0}var STOP_PROPAGATION_CALLBACKS={isStopPropagation:_isStopPropagationForAgGrid,stopPropagation:_stopPropagationForAgGrid},ManagedFocusFeature=class extends AgManagedFocusFeature{constructor(e,t){super(e,STOP_PROPAGATION_CALLBACKS,t)}},FILTER_LOCALE_TEXT={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",bigintFilter:"BigInt Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd",filterSummaryInactive:"is (All)",filterSummaryContains:"contains",filterSummaryNotContains:"does not contain",filterSummaryTextEquals:"equals",filterSummaryTextNotEqual:"does not equal",filterSummaryStartsWith:"begins with",filterSummaryEndsWith:"ends with",filterSummaryBlank:"is blank",filterSummaryNotBlank:"is not blank",filterSummaryEquals:"=",filterSummaryNotEqual:"!=",filterSummaryGreaterThan:">",filterSummaryGreaterThanOrEqual:">=",filterSummaryLessThan:"<",filterSummaryLessThanOrEqual:"<=",filterSummaryInRange:"between",yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",last7Days:"Last 7 Days",lastWeek:"Last Week",thisWeek:"This Week",nextWeek:"Next Week",last30Days:"Last 30 Days",lastMonth:"Last Month",thisMonth:"This Month",nextMonth:"Next Month",last90Days:"Last 90 Days",lastQuarter:"Last Quarter",thisQuarter:"This Quarter",nextQuarter:"Next Quarter",lastYear:"Last Year",thisYear:"This Year",yearToDate:"Year To Date",nextYear:"Next Year",last6Months:"Last 6 Months",last12Months:"Last 12 Months",last24Months:"Last 24 Months",filterSummaryInRangeValues:e=>`(${e[0]}, ${e[1]})`,filterSummaryTextQuote:e=>`"${e[0]}"`,minDateValidation:e=>`Date must be after ${e[0]}`,maxDateValidation:e=>`Date must be before ${e[0]}`,strictMinValueValidation:e=>`Must be greater than ${e[0]}`,strictMaxValueValidation:e=>`Must be less than ${e[0]}`};function translateForFilter(e,t,o){return _translate(e,FILTER_LOCALE_TEXT,t,o)}function getDebounceMs(e,t){const{debounceMs:o}=e;return _isUseApplyButton(e)?(o!=null&&_warn(71),0):o??t}function _isUseApplyButton(e){return(e.buttons?.indexOf("apply")??-1)>=0}function getPlaceholderText(e,t,o,i){let s=translateForFilter(e,o);if(typeof t=="function"){const n=translateForFilter(e,i);s=t({filterOptionKey:i,filterOption:n,placeholder:s})}else typeof t=="string"&&(s=t);return s}var ProvidedFilter=class extends Component{constructor(e,t){super(),this.filterNameKey=e,this.cssIdentifier=t,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){const e={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate(e,this.getAgComponents()),this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new PositionableFeature(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown(e){}init(e){const t=e;this.setParams(t),this.setModelIntoUi(t.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual(e,t){return e===t}refresh(e){const t=e,o=this.params;this.params=t;const{source:i,state:s,additionalEventAttributes:n}=t;i==="colDef"&&this.updateParams(t,o);const r=this.state;this.state=s;const a=n?.fromAction;return(a&&a!=="apply"||s.model!==r.model||!this.areStatesEqual(s.state,r.state))&&this.setModelIntoUi(s.model),!0}setParams(e){this.params=e,this.state=e.state,this.commonUpdateParams(e)}updateParams(e,t){this.commonUpdateParams(e,t)}commonUpdateParams(e,t){this.applyActive=_isUseApplyButton(e),this.setupApplyDebounced()}doesFilterPass(e){_warn(283);const{getHandler:t,model:o,column:i}=this.params;return t().doesFilterPass({...e,model:o,handlerParams:this.beans.colFilter.getHandlerParams(i)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return _warn(284),this.params.model!=null}setupApplyDebounced(){const e=getDebounceMs(this.params,this.defaultDebounceMs),t=_debounce(this,this.checkApplyDebounce.bind(this),e);this.applyDebounced=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.doApplyModel())}getModel(){return _warn(285),this.params.model}setModel(e){_warn(286);const{beans:t,params:o}=this;return t.colFilter.setModelForColumnLegacy(o.column,e)}applyModel(e="api"){return this.doApplyModel()}canApply(e){return!0}doApplyModel(e){const{params:t,state:{valid:o=!0,model:i}}=this;if(!o)return!1;const s=!this.areModelsEqual(t.model,i);return s&&t.onAction("apply",e),s}onNewRowsLoaded(){}onUiChanged(e,t=!1){this.updateUiVisibility();const o=this.getModelFromUi(),i={model:o,state:this.getState(),valid:this.canApply(o)};this.state=i;const{params:s,gos:n,eventSvc:r,applyActive:a}=this;s.onStateChange(i),s.onUiChange(this.getUiChangeEventParams()),n.get("enableFilterHandlers")||r.dispatchEvent({type:"filterModified",column:s.column,filterInstance:this}),i.valid&&(e??(e=a?void 0:"debounce"),e==="immediately"?this.doApplyModel({afterFloatingFilter:t,afterDataChange:!1}):e==="debounce"&&this.applyDebounced())}getState(){}getUiChangeEventParams(){}afterGuiAttached(e){this.lastContainerType=e?.container,this.refreshFilterResizer(e?.container)}refreshFilterResizer(e){const{positionableFeature:t,gos:o}=this;if(!t)return;const i=e==="floatingFilter"||e==="columnFilter";i?(t.restoreLastSize(),t.setResizable(o.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(t.removeSizeFromEl(),t.setResizable(!1)),t.constrainSizeToAvailableHeight(i)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate(e,t){return translateForFilter(this,e,t)}getPositionableElement(){return this.getGui()}areModelsEqual(e,t){return e===t||e==null&&t==null?!0:e==null||t==null?!1:this.areNonNullModelsEqual(e,t)}},STRUCTURED_SCHEMA_FEATURES=["aggregation","filter","sort","pivot","columnVisibility","columnSizing","rowGroup"],AgPopupComponent=class extends AgComponentStub{isPopup(){return!0}setParentComponent(e){e.addCss("ag-has-popup"),super.setParentComponent(e)}destroy(){const e=this.parentComponent;e?.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},AgAbstractCellEditor=class extends AgPopupComponent{constructor(){super(...arguments),this.errorMessages=null}init(e){this.params=e,this.initialiseEditor(e),this.eEditor.onValueChange(()=>e.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function _getClientSideRowModel(e){const t=e.rowModel;return t.getType()==="clientSide"?t:void 0}function _getInfiniteRowModel(e){const t=e.rowModel;return t.getType()==="infinite"?t:void 0}function _getServerSideRowModel(e){const t=e.rowModel;return t.getType()==="serverSide"?t:void 0}function _getViewportRowModel(e){const t=e.rowModel;return t.getType()==="viewport"?t:void 0}var ROW_ID_PREFIX_ROW_GROUP="row-group-",ROW_ID_PREFIX_TOP_PINNED="t-",ROW_ID_PREFIX_BOTTOM_PINNED="b-",OBJECT_ID_SEQUENCE=0,RowNode=class{constructor(e){this.id=void 0,this.destroyed=!1,this._groupData=void 0,this.master=!1,this.detail=void 0,this.rowIndex=null,this.field=null,this.rowGroupColumn=null,this.key=null,this.sourceRowIndex=-1,this._leafs=void 0,this.childrenAfterGroup=null,this.childrenAfterFilter=null,this.childrenAfterAggFilter=null,this.childrenAfterSort=null,this.allChildrenCount=null,this.childrenMapped=null,this.treeParent=null,this.treeNodeFlags=0,this._expanded=void 0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=OBJECT_ID_SEQUENCE++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=e}get groupData(){const e=this._groupData;return e!==void 0?e:this.footer?this.sibling?.groupData:this.beans.groupStage?.loadGroupData(this)??null}set groupData(e){this._groupData=e}get primaryRow(){let e=this.footer&&this.sibling||this;if(e.rowPinned){const t=e.pinnedSibling;t&&(e=t,e.footer&&(e=e.sibling??e))}return e}get allLeafChildren(){const e=this._leafs;return e===void 0?this.beans.groupStage?.loadLeafs?.(this)??null:e}set allLeafChildren(e){this._leafs=e}get expanded(){const e=this.beans.expansionSvc;return e?e.isExpanded(this):this.level===-1?!0:!!this._expanded}set expanded(e){this._expanded=e}setData(e){this.setDataCommon(e,"set")}updateData(e){this.setDataCommon(e,"update")}_updateDataNoSibling(e){this.setDataCommon(e,"updateNoSibling")}setDataCommon(e,t){const{valueCache:o,eventSvc:i}=this.beans,s=this.data,n=t!=="set";this.data=e,o?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();const r=this.createDataChangedEvent(e,s,n);if(this.__localEventService?.dispatchEvent(r),t!=="updateNoSibling"){const l=this.sibling;if(l){l.data=e;const d=l.createDataChangedEvent(e,s,n);l.__localEventService?.dispatchEvent(d)}}i.dispatchEvent({type:"rowNodeDataChanged",node:this});const a=this.pinnedSibling;a&&(a.data=e,a.__localEventService?.dispatchEvent(a.createDataChangedEvent(e,s,n)),i.dispatchEvent({type:"rowNodeDataChanged",node:a}))}updateDataOnDetailNode(){const e=this.detailNode;e&&(e.data=this.data)}createDataChangedEvent(e,t,o){return{type:"dataChanged",node:this,oldData:t,newData:e,update:o}}getRowIndexString(){return this.rowIndex==null?(_error(13),null):this.rowPinned==="top"?ROW_ID_PREFIX_TOP_PINNED+this.rowIndex:this.rowPinned==="bottom"?ROW_ID_PREFIX_BOTTOM_PINNED+this.rowIndex:this.rowIndex.toString()}setDataAndId(e,t){const{selectionSvc:o}=this.beans,i=o?.createDaemonNode?.(this),s=this.data;this.data=e,this.updateDataOnDetailNode(),this.setId(t),o&&(o.updateRowSelectable(this),o.syncInRowNode(this,i));const n=this.createDataChangedEvent(e,s,!1);this.__localEventService?.dispatchEvent(n)}setId(e){const t=_getRowIdCallback(this.beans.gos);if(t)if(this.data){const o=this.parent?.getRoute()??[];this.id=t({data:this.data,parentKeys:o.length>0?o:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(ROW_ID_PREFIX_ROW_GROUP)&&_error(14,{groupPrefix:ROW_ID_PREFIX_ROW_GROUP})}else this.id=void 0;else this.id=e}setRowTop(e){if(this.oldRowTop=this.rowTop,this.rowTop===e)return;this.rowTop=e,this.dispatchRowEvent("topChanged");const t=e!==null;this.displayed!==t&&(this.displayed=t,this.dispatchRowEvent("displayedChanged"))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(e){this.hovered=e}isHovered(){return this.hovered}setRowHeight(e,t=!1){this.rowHeight=e,this.rowHeightEstimated=t,this.dispatchRowEvent("heightChanged")}setExpanded(e,t,o){this.beans.expansionSvc?.setExpanded(this,e,t,o)}setDataValue(e,t,o){const{colModel:i,valueSvc:s,gos:n,editSvc:r}=this.beans;if(e==null)return!1;let a=i.getColOrColDefCol(e);if(!a)return!1;const l=a.colDef.pivotValueColumn;!this.group&&!this.rowPinned&&l&&(a=l);const d=s.getValueForDisplay({column:a,node:this,from:"data"}).value;if(n.get("readOnlyEdit")){const{beans:{eventSvc:u},data:h,rowIndex:g,rowPinned:p}=this;return u.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:g,rowPinned:p,column:a,colDef:a.colDef,data:h,node:this,oldValue:d,newValue:t,value:t,source:o}),!1}if(o!=="data"&&r&&!r.committing){const u=r.setDataValue({rowNode:this,column:a},t,o);if(u!=null)return u}const c=s.setValue(this,a,t,o);return this.dispatchCellChangedEvent(a,t,d),c&&this.pinnedSibling?.dispatchCellChangedEvent(a,t,d),c}getDataValue(e,t){const o=this.beans,i=o.colModel.getColOrColDefCol(e);if(!i)return;let s;if(t==="data"||!t){if(s=o.valueSvc.getValue(i,this,"data",!1),s==null)return s}else{const n=t==="data-raw",r=n||t==="value"?"data":t;if(s=o.valueSvc.getValue(i,this,r,n),n||s==null)return s;if(typeof s=="object"&&i.aggFunc){if(typeof s.toNumber=="function")return s.toNumber();if("value"in s)return s.value}if(t!=="value")return s}if(i.colDef.allowFormula){const n=o.formula;n?.isFormula(s)&&i.isAllowFormula()&&(s=n.resolveValue(i,this))}return s}updateHasChildren(){let e=this.group&&!this.footer||!!this.childrenAfterGroup?.length;const{rowChildrenSvc:t}=this.beans;t&&(e=t.getHasChildrenValue(this)),e!==this.__hasChildren&&(this.__hasChildren=!!e,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return this.__hasChildren==null&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(e,t,o){const i={type:"cellChanged",node:this,column:e,newValue:t,oldValue:o};this.__localEventService?.dispatchEvent(i)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();const e=this.rowPinned&&this.pinnedSibling;return e?e.isSelected():this.__selected}depthFirstSearch(e){const t=this.childrenAfterGroup;if(t)for(let o=0,i=t.length;o<i;++o)t[o].depthFirstSearch(e);e(this)}getAggregatedChildren(e,t){const o=this.beans;return o.aggChildrenSvc?.getAggregatedChildren(this,o.colModel.getCol(e),t)??[]}dispatchRowEvent(e){this.__localEventService?.dispatchEvent({type:e,node:this})}setSelected(e,t=!1,o="api"){this.beans.selectionSvc?.setNodesSelected({nodes:[this],newValue:e,clearSelection:t,source:o})}isRowPinned(){return!!this.rowPinned}__addEventListener(e,t){(this.__localEventService??(this.__localEventService=new LocalEventService)).addEventListener(e,t)}__removeEventListener(e,t){this.removeLocalListener(e,t)}addEventListener(e,t){this.beans.validation?.checkRowEvents(e);const o=this.__localEventService??(this.__localEventService=new LocalEventService);this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,o);const i=this.frameworkEventListenerService?.wrap(e,t)??t;o.addEventListener(e,i)}removeEventListener(e,t){const o=this.frameworkEventListenerService?.unwrap(e,t)??t;this.removeLocalListener(e,o)}removeLocalListener(e,t){const o=this.__localEventService;o&&(o.removeEventListener(e,t),o.noRegisteredListenersExist()&&(this.__localEventService=null))}isFullWidthCell(){if(_warn(61),this.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return e?e({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;const e=[];let t=this;for(;t?.key!=null;)e.push(t.key),t=t.parent;return e.reverse()}setRowIndex(e){this.rowIndex!==e&&(this.rowIndex=e,this.dispatchRowEvent("rowIndexChanged"))}setAllChildrenCount(e){this.allChildrenCount!==e&&(this.allChildrenCount=e,this.dispatchRowEvent("allChildrenCountChanged"))}setUiLevel(e){this.uiLevel!==e&&(this.uiLevel=e,this.dispatchRowEvent("uiLevelChanged"))}getFirstChild(){const e=this.childStore;return e?e.getFirstNode():this.childrenAfterSort?.[0]??null}_destroy(e){if(this.destroyed)return!1;this.destroyed=!0;const t=this.pinnedSibling;if(t?.rowPinned&&this.beans.pinnedRowModel?.pinRow(t,null),e===!0?this.clearRowTopAndRowIndex():e===!1?(this.setRowTop(null),this.setRowIndex(null)):(this.oldRowTop=null,this.rowTop=null,this.rowIndex=null,this.displayed=!1),!this.footer){const o=this.detailNode;o&&o._destroy(e);const i=this.sibling;i&&i._destroy(e)}return!0}};function _createGlobalRowEvent(e,t,o){return _addGridCommonParams(t,{type:o,node:e,data:e.data,rowIndex:e.rowIndex,rowPinned:e.rowPinned})}var IGNORED_SIBLING_PROPERTIES=new Set(["__autoHeights","__checkAutoHeightsDebounced","__localEventService","__objectId","_groupData","_leafs","childStore","destroyed","groupValue","oldRowTop","pinnedSibling","rowPinned","sticky","treeNodeFlags","treeParent"]),_createRowNodeSibling=(e,t)=>{const o=new RowNode(t);for(const i of Object.keys(e))IGNORED_SIBLING_PROPERTIES.has(i)||(o[i]=e[i]);return o.oldRowTop=null,o},_prevOrNextDisplayedRow=(e,t,o)=>{if(!o)return;let i=o.rowIndex;if(i==null)return;i+=t;const s=e.getRowCount();for(;i>=0&&i<s;){const n=e.getRow(i);if(!n||!n.footer&&!n.detail)return n;i+=t}},PinnedRows=class{constructor(e,t){this.beans=e,this.floating=t,this.all=new Set,this.visible=new Set,this.order=[],this.queued=new Set}size(){return this.visible.size}add(e){const{all:t,visible:o,order:i}=this;t.has(e)||(t.add(e),o.add(e),i.push(e),this.sort())}delete(e){this.all.delete(e),this.visible.delete(e),this.queued.delete(e.id),_removeFromArray(this.order,e)}has(e){return this.visible.has(e)}forEach(e){this.order.forEach(e)}getByIndex(e){return this.order[e]}getById(e){for(const t of this.visible)if(t.id==e)return t}clear(){const{all:e,visible:t,order:o,queued:i}=this;e.clear(),i.clear(),t.clear(),o.length=0}sort(){const{sortSvc:e,rowNodeSorter:t,gos:o}=this.beans,i=e?.getSortOptions()??[],s=this.order,n=_removeGrandTotalRow(s);if(s.sort((a,l)=>t?.compareRowNodes(i,a,l)||(a.pinnedSibling?.rowIndex??0)-(l.pinnedSibling?.rowIndex??0)),!n)return;const r=_getGrandTotalRow(o);r==="bottom"||r==="pinnedBottom"?this.order.push(n):this.order.unshift(n)}hide(e){const{all:t,visible:o}=this,i=o.size;return t.forEach(s=>e(s)?o.delete(s):o.add(s)),this.order=Array.from(o),this.sort(),i!=o.size}queue(e){this.queued.add(e)}unqueue(e){this.queued.delete(e)}forEachQueued(e){this.queued.forEach(e)}};function _isDisplayedAfterFilterCSRM(e){if(e.level===-1)return!0;const t=e.parent;return t?.childrenAfterSort?.some(o=>o==e)?_isDisplayedAfterFilterCSRM(t):!1}function _shouldHidePinnedRows(e,t){const{gos:o,rowModel:i,filterManager:s}=e;return _isServerSideRowModel(o,i)?!i.getRowNode(t.id):s?.isAnyFilterPresent()?!_isDisplayedAfterFilterCSRM(t):o.get("pivotMode")?!t.group:!1}function _isNodeGrandTotal(e){return!!e.footer&&e.level===-1}function _isPinnedNodeGrandTotal(e){return!!e.pinnedSibling&&_isNodeGrandTotal(e.pinnedSibling)}function _removeGrandTotalRow(e){const t=e.findIndex(_isPinnedNodeGrandTotal);if(t>-1)return e.splice(t,1)?.[0]}var ManualPinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.csrm=null,this.ssrm=!1}postConstruct(){const{gos:e,beans:t}=this;this.top=new PinnedRows(t,"top"),this.bottom=new PinnedRows(t,"bottom"),this.csrm=_getClientSideRowModel(t)??null,this.ssrm=t.rowModel.getType()==="serverSide";const o=s=>_shouldHidePinnedRows(t,s.pinnedSibling),i=()=>{const s=e.get("isRowPinned");s&&e.get("enableRowPinning")&&t.rowModel.forEachNode(n=>this.pinRow(n,s(n)),!0),this.refreshRowPositions(),this.dispatchRowPinnedEvents()};this.addManagedEventListeners({stylesChanged:this.onGridStylesChanges.bind(this),modelUpdated:({keepRenderedRows:s})=>{this.tryToEmptyQueues(),this.pinGrandTotalRow();let n=!1;this.forContainers(a=>{n||(n=a.hide(o))});const r=this.refreshRowPositions();(!s||r||n)&&this.dispatchRowPinnedEvents()},columnRowGroupChanged:()=>{this.forContainers(removeGroupRows),this.refreshRowPositions()},rowNodeDataChanged:({node:s})=>{(e.get("isRowPinnable")?.(s)??!0)||this.pinRow(s,null)},firstDataRendered:i}),this.addManagedPropertyListener("pivotMode",()=>{this.forContainers(s=>s.hide(o)),this.dispatchRowPinnedEvents()}),this.addManagedPropertyListener("grandTotalRow",({currentValue:s})=>{this._grandTotalPinned=_getGrandTotalPinnedFloat(s)}),this.addManagedPropertyListener("isRowPinned",i)}destroy(){this.reset(!1),super.destroy()}reset(e=!0){this.forContainers(t=>{const o=[];t.forEach(i=>o.push(i)),o.forEach(i=>this.pinRow(i,null)),t.clear()}),e&&this.dispatchRowPinnedEvents()}pinRow(e,t,o){if(t!=null&&e.destroyed)return;if(e.footer){const r=e.level;if(r>-1)return;const a=t==null&&e.rowPinned!=null;if(r===-1&&!a){this._grandTotalPinned=t;const l=this.csrm;l?l.reMapRows():this.ssrm&&this.pinGrandTotalRow();return}}const i=e.rowPinned??e.pinnedSibling?.rowPinned;if(i!=null&&t!=null&&t!=i){const r=e.rowPinned?e:e.pinnedSibling,a=e.rowPinned?e.pinnedSibling:e;this.pinRow(r,null,o),this.pinRow(a,t,o);return}const n=o&&getSpannedRows(this.beans,e,o);if(n){n.forEach(r=>this.pinRow(r,t));return}if(t==null){const r=e.rowPinned?e:e.pinnedSibling,a=this.findPinnedRowNode(r);if(!a)return;a.delete(r);const l=r.pinnedSibling;_destroyRowNodeSibling(r),this.refreshRowPositions(t),this.dispatchRowPinnedEvents(l)}else{const r=_createPinnedSibling(this.beans,e,t),a=this.getContainer(t);a.add(r),_shouldHidePinnedRows(this.beans,e)&&a.hide(l=>_shouldHidePinnedRows(this.beans,l.pinnedSibling)),this.refreshRowPositions(t),this.dispatchRowPinnedEvents(e)}}isManual(){return!0}isEmpty(e){return this.getContainer(e).size()===0}isRowsToRender(e){return!this.isEmpty(e)}ensureRowHeightsValid(){let e=!1,t=0;const o=i=>{if(i.rowHeightEstimated){const s=_getRowHeightForNode(this.beans,i);i.setRowTop(t),i.setRowHeight(s.height),t+=s.height,e=!0}};return this.bottom.forEach(o),t=0,this.top.forEach(o),this.eventSvc.dispatchEvent({type:"pinnedHeightChanged"}),e}getPinnedTopTotalHeight(){return getTotalHeight(this.top)}getPinnedBottomTotalHeight(){return getTotalHeight(this.bottom)}getPinnedTopRowCount(){return this.top.size()}getPinnedBottomRowCount(){return this.bottom.size()}getPinnedTopRow(e){return this.top.getByIndex(e)}getPinnedBottomRow(e){return this.bottom.getByIndex(e)}getPinnedRowById(e,t){return this.getContainer(t).getById(e)}forEachPinnedRow(e,t){this.getContainer(e).forEach(t)}getPinnedState(){const e=t=>{const o=[];return this.forEachPinnedRow(t,i=>{const s=i.pinnedSibling?.id;s!=null&&o.push(s)}),o};return{top:e("top"),bottom:e("bottom")}}setPinnedState(e){this.forContainers((t,o)=>{for(const i of e[o]){const s=this.beans.rowModel.getRowNode(i);s?this.pinRow(s,o):t.queue(i)}})}getGrandTotalPinned(){return this._grandTotalPinned}setGrandTotalPinned(e){this._grandTotalPinned=e}tryToEmptyQueues(){this.forContainers((e,t)=>{const o=new Set;e.forEachQueued(i=>{const s=this.beans.rowModel.getRowNode(i);s&&o.add(s)});for(const i of o)e.unqueue(i.id),this.pinRow(i,t)})}pinGrandTotalRow(){const{beans:e,_grandTotalPinned:t}=this,o=this.csrm||this.ssrm?e.rowModel.rootNode?.sibling:void 0;if(!o)return;const i=o.pinnedSibling,s=i&&this.findPinnedRowNode(i);if(t){if(s&&s.floating!==t&&(_destroyRowNodeSibling(i),s.delete(i)),s?.floating!==t){const n=_createPinnedSibling(e,o,t);this.getContainer(t).add(n)}}else{if(!s)return;_destroyRowNodeSibling(i),s.delete(i)}}onGridStylesChanges(e){e.rowHeightChanged&&this.forContainers(t=>t.forEach(o=>o.setRowHeight(o.rowHeight,!0)))}getContainer(e){return e==="top"?this.top:this.bottom}findPinnedRowNode(e){if(this.top.has(e))return this.top;if(this.bottom.has(e))return this.bottom}refreshRowPositions(e){const t=i=>refreshRowPositions(this.beans,i);if(e)return t(this.getContainer(e));let o=!1;return this.forContainers(i=>{const s=t(i);o||(o=s)}),o}forContainers(e){e(this.top,"top"),e(this.bottom,"bottom")}dispatchRowPinnedEvents(e){this.eventSvc.dispatchEvent({type:"pinnedRowsChanged"}),e?.dispatchRowEvent("rowPinned")}};function refreshRowPositions(e,t){let o=0,i=!1;return t.forEach((s,n)=>{if(i||(i=s.rowTop!==o),s.setRowTop(o),s.rowHeightEstimated||s.rowHeight==null){const r=_getRowHeightForNode(e,s).height;i||(i=s.rowHeight!==r),s.setRowHeight(r)}s.setRowIndex(n),o+=s.rowHeight}),i}function _createPinnedSibling(e,t,o){if(t.pinnedSibling)return t.pinnedSibling;const i=_createRowNodeSibling(t,e);i.setRowTop(null),i.setRowIndex(null),i.rowPinned=o;const s=o==="top"?ROW_ID_PREFIX_TOP_PINNED:ROW_ID_PREFIX_BOTTOM_PINNED;return i.id=`${s}${o}-${t.id}`,i.pinnedSibling=t,t.pinnedSibling=i,i}function _destroyRowNodeSibling(e){if(!e.pinnedSibling)return;e.rowPinned=null,e._destroy(!1);const t=e.pinnedSibling;e.pinnedSibling=void 0,t&&(t.pinnedSibling=void 0,t.rowPinned=null)}function removeGroupRows(e){const t=new Set;e.forEach(o=>{o.group&&t.add(o)}),t.forEach(o=>e.delete(o))}function getSpannedRows(e,t,o){const{rowSpanSvc:i}=e,s=(o&&i?.isCellSpanning(o,t))??!1;if(o&&s)return i?.getCellSpan(o,t)?.spannedNodes}function getTotalHeight(e){const t=e.size();if(t===0)return 0;const o=e.getByIndex(t-1);return o===void 0?0:o.rowTop+o.rowHeight}var StaticPinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.nextId=0,this.pinnedTopRows={cache:{},order:[]},this.pinnedBottomRows={cache:{},order:[]}}postConstruct(){const e=this.gos;this.setPinnedRowData(e.get("pinnedTopRowData"),"top"),this.setPinnedRowData(e.get("pinnedBottomRowData"),"bottom"),this.addManagedPropertyListener("pinnedTopRowData",t=>this.setPinnedRowData(t.currentValue,"top")),this.addManagedPropertyListener("pinnedBottomRowData",t=>this.setPinnedRowData(t.currentValue,"bottom")),this.addManagedEventListeners({stylesChanged:this.onGridStylesChanges.bind(this)})}reset(){}isEmpty(e){return this.getCache(e).order.length===0}isRowsToRender(e){return!this.isEmpty(e)}isManual(){return!1}pinRow(e,t){}onGridStylesChanges(e){if(e.rowHeightChanged){const t=o=>{o.setRowHeight(o.rowHeight,!0)};forEach(this.pinnedBottomRows,t),forEach(this.pinnedTopRows,t)}}ensureRowHeightsValid(){let e=!1,t=0;const o=i=>{i.rowHeightEstimated&&(i.setRowHeight(_getRowHeightForNode(this.beans,i).height),e=!0),i.rowTop!==t&&(i.setRowTop(t),e=!0),t+=i.rowHeight};return forEach(this.pinnedBottomRows,o),t=0,forEach(this.pinnedTopRows,o),this.eventSvc.dispatchEvent({type:"pinnedHeightChanged"}),e}setPinnedRowData(e,t){this.updateNodesFromRowData(e,t),this.eventSvc.dispatchEvent({type:"pinnedRowDataChanged"})}updateNodesFromRowData(e,t){const o=this.getCache(t);if(e===void 0){o.order.length=0,o.cache={};return}const i=_getRowIdCallback(this.gos),s=t==="top"?ROW_ID_PREFIX_TOP_PINNED:ROW_ID_PREFIX_BOTTOM_PINNED,n=new Set(o.order),r=[],a=new Set;let l=0,d=-1;for(const c of e){const u=i?.({data:c,level:0,rowPinned:t})??s+this.nextId++;if(a.has(u)){_warn(96,{id:u,data:c});continue}d++,a.add(u),r.push(u);const h=getById(o,u);if(h!==void 0)h.data!==c&&h.updateData(c),l+=this.setRowTopAndRowIndex(h,l,d),n.delete(u);else{const g=new RowNode(this.beans);g.id=u,g.data=c,g.rowPinned=t,l+=this.setRowTopAndRowIndex(g,l,d),o.cache[u]=g,o.order.push(u)}}for(const c of n)getById(o,c)?.clearRowTopAndRowIndex(),delete o.cache[c];o.order=r}setRowTopAndRowIndex(e,t,o){return e.setRowTop(t),e.setRowHeight(_getRowHeightForNode(this.beans,e).height),e.setRowIndex(o),e.rowHeight}getPinnedTopTotalHeight(){return getTotalHeight2(this.pinnedTopRows)}getPinnedBottomTotalHeight(){return getTotalHeight2(this.pinnedBottomRows)}getPinnedTopRowCount(){return getSize(this.pinnedTopRows)}getPinnedBottomRowCount(){return getSize(this.pinnedBottomRows)}getPinnedTopRow(e){return getByIndex(this.pinnedTopRows,e)}getPinnedBottomRow(e){return getByIndex(this.pinnedBottomRows,e)}getPinnedRowById(e,t){return getById(this.getCache(t),e)}forEachPinnedRow(e,t){return forEach(this.getCache(e),t)}getCache(e){return e==="top"?this.pinnedTopRows:this.pinnedBottomRows}getPinnedState(){return{top:[],bottom:[]}}setPinnedState(){}getGrandTotalPinned(){}setGrandTotalPinned(){}};function getTotalHeight2(e){const t=getSize(e);if(t===0)return 0;const o=getByIndex(e,t-1);return o===void 0?0:o.rowTop+o.rowHeight}function getById(e,t){return e.cache[t]}function getByIndex(e,t){return getById(e,e.order[t])}function forEach(e,t){e.order.forEach((o,i)=>{const s=getById(e,o);s&&t(s,i)})}function getSize(e){return e.order.length}var PinnedRowModel=class extends BeanStub{constructor(){super(...arguments),this.beanName="pinnedRowModel"}postConstruct(){const{gos:e}=this,t=()=>{const o=e.get("enableRowPinning"),i=_getGrandTotalRow(e),n=!!o||(i==="pinnedBottom"||i==="pinnedTop"),r=n?this.inner instanceof StaticPinnedRowModel:this.inner instanceof ManualPinnedRowModel;this.inner&&r&&this.destroyBean(this.inner),(r||!this.inner)&&(this.inner=this.createManagedBean(n?new ManualPinnedRowModel:new StaticPinnedRowModel))};this.addManagedPropertyListeners(["enableRowPinning","grandTotalRow"],t),t()}reset(){return this.inner.reset()}isEmpty(e){return this.inner.isEmpty(e)}isManual(){return this.inner.isManual()}isRowsToRender(e){return this.inner.isRowsToRender(e)}pinRow(e,t,o){return this.inner.pinRow(e,t,o)}ensureRowHeightsValid(){return this.inner.ensureRowHeightsValid()}getPinnedRowById(e,t){return this.inner.getPinnedRowById(e,t)}getPinnedTopTotalHeight(){return this.inner.getPinnedTopTotalHeight()}getPinnedBottomTotalHeight(){return this.inner.getPinnedBottomTotalHeight()}getPinnedTopRowCount(){return this.inner.getPinnedTopRowCount()}getPinnedBottomRowCount(){return this.inner.getPinnedBottomRowCount()}getPinnedTopRow(e){return this.inner.getPinnedTopRow(e)}getPinnedBottomRow(e){return this.inner.getPinnedBottomRow(e)}forEachPinnedRow(e,t){return this.inner.forEachPinnedRow(e,t)}getPinnedState(){return this.inner.getPinnedState()}setPinnedState(e){return this.inner.setPinnedState(e)}setGrandTotalPinned(e){return this.inner.setGrandTotalPinned(e)}getGrandTotalPinned(){return this.inner.getGrandTotalPinned()}},ServerSideTransactionResultStatus=(e=>(e.Applied="Applied",e.StoreNotFound="StoreNotFound",e.StoreLoading="StoreLoading",e.StoreWaitingToLoad="StoreWaitingToLoad",e.StoreLoadingFailed="StoreLoadingFailed",e.StoreWrongType="StoreWrongType",e.Cancelled="Cancelled",e.StoreNotStarted="StoreNotStarted",e))(ServerSideTransactionResultStatus||{}),DOUBLE_TAP_MILLISECONDS=500,LONG_PRESS_MILLISECONDS=550,handledTouchEvents,addHandledTouchEvent=e=>{if(!handledTouchEvents)handledTouchEvents=new WeakSet;else if(handledTouchEvents.has(e))return!1;return handledTouchEvents.add(e),!0},TouchListener=class{constructor(e,t=!1){this.eElement=e,this.preventClick=t,this.startListener=null,this.handlers=[],this.eventSvc=void 0,this.touchStart=null,this.lastTapTime=null,this.longPressTimer=0,this.moved=!1}addEventListener(e,t){let o=this.eventSvc;if(!o){if(o===null)return;this.eventSvc=o=new LocalEventService;const i=this.onTouchStart.bind(this);this.startListener=i,this.eElement.addEventListener("touchstart",i,{passive:!0})}o.addEventListener(e,t)}removeEventListener(e,t){this.eventSvc?.removeEventListener(e,t)}onTouchStart(e){if(this.touchStart||!addHandledTouchEvent(e))return;const t=e.touches[0];this.touchStart=t;const o=this.handlers;if(!o.length){const i=this.eElement,s=i.ownerDocument,n=this.onTouchMove.bind(this),r=this.onTouchEnd.bind(this),a=this.onTouchCancel.bind(this),l={passive:!0},d={passive:!1};addTempEventHandlers(o,[i,"touchmove",n,l],[s,"touchcancel",a,l],[s,"touchend",r,d],[s,"contextmenu",preventEventDefault,d])}this.clearLongPress(),this.longPressTimer=window.setTimeout(()=>{this.longPressTimer=0,this.touchStart===t&&!this.moved&&(this.moved=!0,this.eventSvc?.dispatchEvent({type:"longTap",touchStart:t,touchEvent:e}))},LONG_PRESS_MILLISECONDS)}onTouchMove(e){const{moved:t,touchStart:o}=this;if(!t&&o){const i=_getFirstActiveTouch(o,e.touches);i&&!_areEventsNear(i,o,4)&&(this.clearLongPress(),this.moved=!0)}}onTouchEnd(e){const t=this.touchStart;!t||!_getFirstActiveTouch(t,e.changedTouches)||(this.moved||(this.eventSvc?.dispatchEvent({type:"tap",touchStart:t}),this.checkDoubleTap(t)),this.preventClick&&preventEventDefault(e),this.cancel())}onTouchCancel(e){const t=this.touchStart;!t||!_getFirstActiveTouch(t,e.changedTouches)||(this.lastTapTime=null,this.cancel())}checkDoubleTap(e){let t=Date.now();const o=this.lastTapTime;o&&t-o>DOUBLE_TAP_MILLISECONDS&&(this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:e}),t=null),this.lastTapTime=t}cancel(){this.clearLongPress(),clearTempEventHandlers(this.handlers),this.touchStart=null}clearLongPress(){this.longPressTimer!==0&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=0),this.moved=!1}destroy(){const e=this.startListener;e&&(this.startListener=null,this.eElement.removeEventListener("touchstart",e)),this.cancel(),this.eElement=null,this.eventSvc=null}},CellRangeType=(e=>(e[e.VALUE=0]="VALUE",e[e.DIMENSION=1]="DIMENSION",e))(CellRangeType||{}),contextId=1,AgContext=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=contextId++,e?.beanClasses&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){this.id=e.id,this.beans.context=this,this.destroyCallback=e.destroyCallback;for(const t of Object.keys(e.providedBeanInstances))this.beans[t]=e.providedBeanInstances[t];for(const t of e.beanClasses){const o=new t;o.beanName?this.beans[o.beanName]=o:console.error(`Bean ${t.name} is missing beanName`),this.createdBeans.push(o)}for(const t of e.derivedBeans??[]){const{beanName:o,bean:i}=t(this);this.beans[o]=i,this.createdBeans.push(i)}e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){return this.initBeans([e],t),e}initBeans(e,t){const o=this.beans;for(const i of e)i.preWireBeans?.(o),i.wireBeans?.(o);for(const i of e)i.preConstruct?.();t&&e.forEach(t);for(const i of e)i.postConstruct?.()}getBeans(){return this.beans}getBean(e){return this.beans[e]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}};function createGridApi(e){return{beanName:"gridApi",bean:e.getBean("apiFunctionSvc").api}}var orderedCoreBeans=["licenseManager","environment","eventSvc","gos","paginationAutoPageSizeSvc","apiFunctionSvc","gridApi","registry","agCompUtils","userCompFactory","rowContainerHeight","horizontalResizeSvc","localeSvc","pinnedRowModel","dragSvc","colGroupSvc","visibleCols","popupSvc","selectionSvc","colFilter","quickFilter","filterManager","colModel","headerNavigation","pageBounds","pagination","pageBoundsListener","rowSpanSvc","stickyRowSvc","rowRenderer","expressionSvc","alignedGridsSvc","navigation","valueCache","valueSvc","autoWidthCalc","filterMenuFactory","dragAndDrop","focusSvc","cellNavigation","cellStyles","scrollVisibleSvc","sortSvc","colHover","colAnimation","autoColSvc","selectionColSvc","changeDetectionSvc","animationFrameSvc","undoRedo","colDefFactory","rowStyleSvc","rowNodeBlockLoader","rowNodeSorter","ctrlsSvc","pinnedCols","dataTypeSvc","syncSvc","overlays","stateSvc","expansionSvc","apiEventSvc","ariaAnnounce","menuSvc","colMoves","colAutosize","colFlex","colResize","pivotColsSvc","valueColsSvc","rowGroupColsSvc","colNames","colViewport","pivotResultCols","showRowGroupCols","validation"],beanNamePosition=Object.fromEntries(orderedCoreBeans.map((e,t)=>[e,t]));function gridBeanInitComparator(e,t){const o=(e.beanName?beanNamePosition[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER,i=(t.beanName?beanNamePosition[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return o-i}function gridBeanDestroyComparator(e,t){return e?.beanName==="gridDestroySvc"?-1:t?.beanName==="gridDestroySvc"?1:0}function _createCellId(e){const{rowIndex:t,rowPinned:o,column:i}=e;return`${t}.${o??"null"}.${i.getId()}`}function _areCellsEqual(e,t){const o=e.column===t.column,i=e.rowPinned===t.rowPinned,s=e.rowIndex===t.rowIndex;return o&&i&&s}function _isRowBefore(e,t){switch(e.rowPinned){case"top":if(t.rowPinned!=="top")return!0;break;case"bottom":if(t.rowPinned!=="bottom")return!1;break;default:if(_exists(t.rowPinned))return t.rowPinned!=="top";break}return e.rowIndex<t.rowIndex}function _isSameRow(e,t){return!e&&!t?!0:!e||!t?!1:e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned}function _getFirstRow(e){let t=0,o;const{pinnedRowModel:i,rowModel:s,pageBounds:n}=e;return i?.getPinnedTopRowCount()?o="top":s.getRowCount()?(o=null,t=n.getFirstRow()):i?.getPinnedBottomRowCount()&&(o="bottom"),o===void 0?null:{rowIndex:t,rowPinned:o}}function _getLastRow(e){let t,o=null;const{pinnedRowModel:i,pageBounds:s}=e,n=i?.getPinnedBottomRowCount(),r=i?.getPinnedTopRowCount();return n?(o="bottom",t=n-1):e.rowModel.getRowCount()?t=s.getLastRow():r&&(o="top",t=r-1),t===void 0?null:{rowIndex:t,rowPinned:o}}function _getRowNode(e,t){switch(t.rowPinned){case"top":return e.pinnedRowModel?.getPinnedTopRow(t.rowIndex);case"bottom":return e.pinnedRowModel?.getPinnedBottomRow(t.rowIndex);default:return e.rowModel.getRow(t.rowIndex)}}function _getCellByPosition(e,t){const o=e.spannedRowRenderer?.getCellByPosition(t);if(o)return o;const i=e.rowRenderer.getRowByPosition(t);return i?i.getCellCtrl(t.column):null}function _getRowById(e,t,o){const{rowModel:i,pinnedRowModel:s}=e;let n;return n??(n=i?.getRowNode(t)),o?n??(n=s?.getPinnedRowById(t,o)):(n??(n=s?.getPinnedRowById(t,"top")),n??(n=s?.getPinnedRowById(t,"bottom"))),n}function _getRowAbove(e,t,o=!1){const{rowIndex:i,rowPinned:s}=t,{pageBounds:n,pinnedRowModel:r,rowModel:a}=e;if(i===0)return s==="top"?null:s==="bottom"&&a.isRowsToRender()?{rowIndex:n.getLastRow(),rowPinned:null}:r?.isRowsToRender("top")?{rowIndex:r.getPinnedTopRowCount()-1,rowPinned:"top"}:null;if(o){const l=s?void 0:a.getRow(i);return getNextStickyPosition(e,l,!0)??{rowIndex:i-1,rowPinned:s}}return{rowIndex:i-1,rowPinned:s}}function _getAbsoluteRowIndex(e,t){const{pinnedRowModel:o,rowModel:i}=e,s=o?.getPinnedTopRowCount()??0,n=i.getRowCount(),{rowPinned:r,rowIndex:a}=t;return r==="top"?a:r==="bottom"?s+n+a:s+a}function _getRowBelow(e,t,o=!1){const{rowIndex:i,rowPinned:s}=t,{pageBounds:n,pinnedRowModel:r,rowModel:a}=e;if(isLastRowInContainer(e,t))return s==="bottom"?null:s==="top"&&a.isRowsToRender()?{rowIndex:n.getFirstRow(),rowPinned:null}:r?.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;if(o){const l=s?void 0:a.getRow(i);return getNextStickyPosition(e,l)??{rowIndex:i+1,rowPinned:s}}return{rowIndex:i+1,rowPinned:s}}function getNextStickyPosition(e,t,o=!1){const{gos:i,rowRenderer:s}=e;if(!t?.sticky||!_isGroupRowsSticky(i))return;const n=s.getStickyTopRowCtrls(),r=s.getStickyBottomRowCtrls(),a=!r.some(u=>u.rowNode.rowIndex===t.rowIndex),l=a?n:r,d=(o?-1:1)*(a?-1:1);let c;for(let u=0;u<l.length;u++)if(l[u].rowNode.rowIndex===t.rowIndex){c=l[u+d];break}return c?{rowIndex:c.rowNode.rowIndex,rowPinned:null}:void 0}function isLastRowInContainer(e,t){const{rowPinned:o,rowIndex:i}=t,{pinnedRowModel:s,pageBounds:n}=e;return o==="top"?(s?.getPinnedTopRowCount()??0)-1<=i:o==="bottom"?(s?.getPinnedBottomRowCount()??0)-1<=i:n.getLastRow()<=i}function _addFocusableContainerListener(e,t,o){t.addManagedElementListeners(o,{keydown:i=>{if(!i.defaultPrevented&&!_shouldSkipFocusableContainerListener(i)&&i.key===KeyCode.TAB){const s=i.shiftKey;_findNextFocusableElement(e,o,!1,s)||_focusNextGridCoreContainer(e,s)&&i.preventDefault()}}})}function _focusGridInnerElement(e,t){return e.ctrlsSvc.get("gridCtrl").focusInnerElement(t)}function _isHeaderFocusSuppressed(e){return e.gos.get("suppressHeaderFocus")||!!e.overlays?.exclusive}function _isCellFocusSuppressed(e){return e.gos.get("suppressCellFocus")||!!e.overlays?.exclusive}function _focusNextGridCoreContainer(e,t,o=!1){const i=e.ctrlsSvc.get("gridCtrl"),s=i.focusNextInnerContainer(t);return s===!0?!0:s===!1?s:((o||!t&&!i.isDetailGrid()&&i.isFocusInsideGridBody())&&i.forceFocusOutOfContainer(t),!1)}function _attemptToRestoreCellFocus(e,t){const o=e.focusSvc,i=o.getFocusedCell();if(i&&t&&_areCellsEqual(i,t)){const{rowIndex:s,rowPinned:n,column:r}=t;_isNothingFocused(e)&&o.setFocusedCell({rowIndex:s,column:r,rowPinned:n,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!_isKeyboardMode()})}}function _getDefaultTabTargetForContainer(e,t){const o=e.getFocusableContainerName();return o==="gridBody"?t():_runWithContainerFocusAllowed(e,()=>_findFocusableElements(e.getGui(),".ag-tab-guard").length>0)?o:null}function _runWithContainerFocusAllowed(e,t){e.setAllowFocus?.(!0);try{return t()}finally{e.setAllowFocus?.(!1)}}var AG_GRID_SKIP_FOCUSABLE_CONTAINER="__ag_Grid_Skip_Focusable_Container";function _skipFocusableContainerListenerForAgGrid(e){e[AG_GRID_SKIP_FOCUSABLE_CONTAINER]=!0}function _shouldSkipFocusableContainerListener(e){return e[AG_GRID_SKIP_FOCUSABLE_CONTAINER]===!0}function getHeaderRowCount(e){return e.cols?e.cols.treeDepth+1:-1}function getFocusHeaderRowCount(e){return e.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function getGroupRowsHeight(e){const t=[],o=e.ctrlsSvc.getHeaderRowContainerCtrls();for(const i of o){if(!i)continue;const s=i.getGroupRowCount()||0;for(let n=0;n<s;n++){const r=i.getGroupRowCtrlAtIndex(n),a=t[n];if(r){const l=getColumnGroupHeaderRowHeight(e,r);(a==null||l>a)&&(t[n]=l)}}}return t}function getColumnGroupHeaderRowHeight(e,t){let i=e.colModel.pivotMode?getPivotGroupHeaderHeight(e):getGroupHeaderHeight(e);const s=t.getHeaderCellCtrls();for(const n of s){const{column:r}=n,a=r.getAutoHeaderHeight();a!=null&&a>i&&r.isAutoHeaderHeight()&&(i=a)}return i}function getColumnHeaderRowHeight(e){let o=e.colModel.pivotMode?getPivotHeaderHeight(e):getHeaderHeight(e);return e.colModel.forAllCols(i=>{const s=i.getAutoHeaderHeight();s!=null&&s>o&&i.isAutoHeaderHeight()&&(o=s)}),o}function getHeaderHeight(e){return e.gos.get("headerHeight")??e.environment.getDefaultHeaderHeight()}function getFloatingFiltersHeight(e){return e.gos.get("floatingFiltersHeight")??getHeaderHeight(e)}function getGroupHeaderHeight(e){return e.gos.get("groupHeaderHeight")??getHeaderHeight(e)}function getPivotHeaderHeight(e){return e.gos.get("pivotHeaderHeight")??getHeaderHeight(e)}function getPivotGroupHeaderHeight(e){return e.gos.get("pivotGroupHeaderHeight")??getGroupHeaderHeight(e)}function isHeaderPositionEqual(e,t){return e.headerRowIndex===t.headerRowIndex&&e.column===t.column}function isHeaderPosition(e){return e?.headerRowIndex!=null}var GridHeaderCtrl=class extends BeanStub{setComp(e,t,o){this.comp=e,this.eGui=t;const{beans:i}=this,{headerNavigation:s,touchSvc:n,ctrlsSvc:r}=i;s&&this.createManagedBean(new ManagedFocusFeature(o,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,i),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,i)}),this.onPivotModeChanged(i),this.setupHeaderHeight();const a=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:a}),n?.mockHeaderContextMenu(this,a),r.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({headerRowsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>_requestAnimationFrame(this.beans,()=>e()),stylesChanged:e,advancedFilterEnabledChanged:e})}setHeaderHeight(){const{beans:e}=this;let t=0;const o=getGroupRowsHeight(e).reduce((r,a)=>r+a,0),i=getColumnHeaderRowHeight(e);e.filterManager?.hasFloatingFilters()&&(t+=getFloatingFiltersHeight(e)),t+=o,t+=i;const s=e.environment.getHeaderRowBorderWidth(),n=t+s;if(this.headerHeightWithBorder!==n){this.headerHeightWithBorder=n;const r=`${n}px`;this.comp.setHeightAndMinHeight(r)}this.headerHeight!==t&&(this.headerHeight=t,this.eventSvc.dispatchEvent({type:"headerHeightChanged"}))}onPivotModeChanged(e){const t=e.colModel.pivotMode;this.comp.toggleCss("ag-pivot-on",t),this.comp.toggleCss("ag-pivot-off",!t)}onDisplayedColumnsChanged(e){const o=e.visibleCols.allCols.some(i=>i.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",o)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),o=e.shiftKey,i=o!==t?"LEFT":"RIGHT",{beans:s}=this,{headerNavigation:n,focusSvc:r}=s;(n.navigateHorizontally(i,!0,e)||!o&&r.focusOverlay(!1)||_focusNextGridCoreContainer(s,o,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;const{headerNavigation:o}=this.beans;switch(e.key){case KeyCode.LEFT:t="LEFT";case KeyCode.RIGHT:{_exists(t)||(t="RIGHT"),o.navigateHorizontally(t,!1,e)&&e.preventDefault();break}case KeyCode.UP:t="UP";case KeyCode.DOWN:{_exists(t)||(t="DOWN"),o.navigateVertically(t,e)&&e.preventDefault();break}default:return}}onFocusOut(e){const{relatedTarget:t}=e,{eGui:o,beans:i}=this;!t&&o.contains(_getActiveDomElement(i))||o.contains(t)||(i.focusSvc.focusedHeader=null)}onHeaderContextMenu(e,t,o){const{menuSvc:i,ctrlsSvc:s}=this.beans;if(!e&&!o||!i?.isHeaderContextMenuEnabled())return;const{target:n}=e??t;(n===this.eGui||n===s.getHeaderRowContainerCtrl()?.eViewport)&&i.showHeaderContextMenu(void 0,e,o)}},AbstractHeaderCellComp=class extends Component{constructor(e,t){super(e),this.ctrl=t}getCtrl(){return this.ctrl}},HeaderCellElement={tag:"div",cls:"ag-header-cell",role:"columnheader",children:[{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"},{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"}]},HeaderCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderCellElement,e),this.eResize=RefPlaceholder,this.eHeaderCompWrapper=RefPlaceholder,this.headerCompVersion=0}postConstruct(){const e=this.getGui(),t=()=>{const i=this.ctrl.getSelectAllGui();i&&(this.eResize.insertAdjacentElement("afterend",i),this.addDestroyFunc(()=>i.remove()))},o={setWidth:i=>e.style.width=i,toggleCss:(i,s)=>this.toggleCss(i,s),setUserStyles:i=>_addStylesToElement(e,i),setAriaSort:i=>i?_setAriaSort(e,i):_removeAriaSort(e),setUserCompDetails:i=>this.setUserCompDetails(i),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:t,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp(o,this.getGui(),this.eResize,this.eHeaderCompWrapper,void 0),t()}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){this.headerComp&&(this.headerCompGui?.remove(),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0)}setUserCompDetails(e){this.headerCompVersion++;const t=this.headerCompVersion;e.newAgStackInstance().then(o=>this.afterCompCreated(t,o))}afterCompCreated(e,t){if(e!=this.headerCompVersion||!this.isAlive()){this.destroyBean(t);return}this.destroyHeaderComp(),this.headerComp=t,this.headerCompGui=t.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())}},HeaderGroupCellCompElement={tag:"div",cls:"ag-header-group-cell",role:"columnheader",children:[{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"},{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"}]},HeaderGroupCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderGroupCellCompElement,e),this.eResize=RefPlaceholder,this.eHeaderCompWrapper=RefPlaceholder}postConstruct(){const e=this.getGui(),t=(i,s)=>s!=null?e.setAttribute(i,s):e.removeAttribute(i),o={toggleCss:(i,s)=>this.toggleCss(i,s),setUserStyles:i=>_addStylesToElement(e,i),setHeaderWrapperHidden:i=>{i?this.eHeaderCompWrapper.style.setProperty("display","none"):this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:i=>{i!=null?this.eHeaderCompWrapper.style.setProperty("max-height",`${i}px`):this.eHeaderCompWrapper.style.removeProperty("max-height"),this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",i!=null)},setResizableDisplayed:i=>_setDisplayed(this.eResize,i),setWidth:i=>e.style.width=i,setAriaExpanded:i=>t("aria-expanded",i),setUserCompDetails:i=>this.setUserCompDetails(i),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp(o,e,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails(e){e.newAgStackInstance().then(t=>this.afterHeaderCompCreated(t))}afterHeaderCompCreated(e){const t=()=>this.destroyBean(e);if(!this.isAlive()){t();return}const o=this.getGui(),i=e.getGui();this.eHeaderCompWrapper.appendChild(i),this.addDestroyFunc(t),this.headerGroupComp=e,this.ctrl.setDragSource(o)}},HeaderFilterCellCompElement={tag:"div",cls:"ag-header-cell ag-floating-filter",role:"gridcell",children:[{tag:"div",ref:"eFloatingFilterBody",role:"presentation"},{tag:"div",ref:"eButtonWrapper",cls:"ag-floating-filter-button ag-hidden",role:"presentation",children:[{tag:"button",ref:"eButtonShowMainFilter",cls:"ag-button ag-floating-filter-button-button",attrs:{type:"button",tabindex:"-1"}}]}]},HeaderFilterCellComp=class extends AbstractHeaderCellComp{constructor(e){super(HeaderFilterCellCompElement,e),this.eFloatingFilterBody=RefPlaceholder,this.eButtonWrapper=RefPlaceholder,this.eButtonShowMainFilter=RefPlaceholder}postConstruct(){const e=this.getGui(),t={toggleCss:(o,i)=>this.toggleCss(o,i),setUserStyles:o=>_addStylesToElement(e,o),addOrRemoveBodyCssClass:(o,i)=>this.eFloatingFilterBody.classList.toggle(o,i),setButtonWrapperDisplayed:o=>_setDisplayed(this.eButtonWrapper,o),setCompDetails:o=>this.setCompDetails(o),getFloatingFilterComp:()=>this.compPromise,setWidth:o=>e.style.width=o,setMenuIcon:o=>this.eButtonShowMainFilter.appendChild(o)};this.ctrl.setComp(t,e,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails(e){if(!e){this.destroyFloatingFilterComp(),this.compPromise=null;return}this.compPromise=e.newAgStackInstance(),this.compPromise.then(t=>this.afterCompCreated(t))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp?.getGui().remove(),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp)}afterCompCreated(e){if(e){if(!this.isAlive()){this.destroyBean(e);return}this.destroyFloatingFilterComp(),this.floatingFilterComp=e,this.eFloatingFilterBody.appendChild(e.getGui()),e.afterGuiAttached?.()}}},HeaderRowComp=class extends Component{constructor(e){super({tag:"div",cls:e.headerRowClass,role:"row"}),this.ctrl=e,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),_setAriaRowIndex(this.getGui(),this.ctrl.getAriaRowIndex());const t={setHeight:o=>this.getGui().style.height=o,setTop:o=>this.getGui().style.top=o,setHeaderCtrls:(o,i)=>this.setHeaderCtrls(o,i),setWidth:o=>this.getGui().style.width=o,setRowIndex:o=>_setAriaRowIndex(this.getGui(),o)};this.ctrl.setComp(t,void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(e,t){if(!this.isAlive())return;const o=this.headerComps;this.headerComps={};for(const i of e){const s=i.instanceId;let n=o[s];delete o[s],n==null&&(n=this.createHeaderComp(i),this.getGui().appendChild(n.getGui())),this.headerComps[s]=n}if(Object.values(o).forEach(i=>{i.getGui().remove(),this.destroyBean(i)}),t){const i=Object.values(this.headerComps);i.sort((n,r)=>{const a=n.getCtrl().column.getLeft(),l=r.getCtrl().column.getLeft();return a-l});const s=i.map(n=>n.getGui());_setDomChildOrder(this.getGui(),s)}}createHeaderComp(e){let t;switch(this.ctrl.type){case"group":t=new HeaderGroupCellComp(e);break;case"filter":t=new HeaderFilterCellComp(e);break;default:t=new HeaderCellComp(e);break}return this.createBean(t),t.setParentComponent(this),t}},CenterWidthFeature=class extends BeanStub{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=_isDomLayout(this.gos,"print"),{visibleCols:t,scrollVisibleSvc:o}=this.beans,i=t.bodyWidth,s=t.getColsLeftWidth(),n=t.getDisplayedColumnsRightWidth();let r;e?r=i+s+n:(r=i,this.addSpacer&&(this.gos.get("enableRtl")?s:n)===0&&o.verticalScrollShowing&&(r+=o.getScrollbarWidth())),this.callback(r)}},EmptyBean=class extends BeanStub{};function setupCompBean(e,t,o){return o&&e.addDestroyFunc(()=>t.destroyBean(o)),o??e}var SetLeftFeature=class extends BeanStub{constructor(e,t,o,i){super(),this.columnOrGroup=e,this.eCell=t,this.colsSpanning=i,this.columnOrGroup=e,this.ariaEl=t.querySelector("[role=columnheader]")||t,this.beans=o}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){const{beans:e,colsSpanning:t}=this;return e.gos.get("enableRtl")&&t?_last(t):this.columnOrGroup}postConstruct(){const e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){const{gos:e,colAnimation:t}=this.beans,o=e.get("suppressColumnMoveAnimation"),i=_exists(this.columnOrGroup.getOldLeft());t?.isActive()&&i&&!o?this.animateInLeft():this.onLeftChanged()}animateInLeft(){const e=this.getColumnOrGroup(),t=this.modifyLeftForPrintLayout(e,e.getOldLeft()),o=this.modifyLeftForPrintLayout(e,e.getLeft());this.setLeft(t),this.actualLeft=o,this.beans.colAnimation.executeNextVMTurn(()=>{this.actualLeft===o&&this.setLeft(o)})}onLeftChanged(){const e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){const{gos:o,visibleCols:i}=this.beans;if(!_isDomLayout(o,"print")||e.getPinned()==="left")return t;const n=i.getColsLeftWidth();if(e.getPinned()==="right"){const r=i.bodyWidth;return n+r+t}return n+t}setLeft(e){if(_exists(e)&&(this.eCell.style.left=`${e}px`),isColumnGroup(this.columnOrGroup)){const t=this.columnOrGroup.getLeafColumns();if(!t.length)return;t.length>1&&_setAriaColSpan(this.ariaEl,t.length)}}},CSS_FIRST_COLUMN="ag-column-first",CSS_LAST_COLUMN="ag-column-last";function _getHeaderClassesFromColDef(e,t,o,i){return _missing(e)?[]:getColumnClassesFromCollDef(e.headerClass,e,t,o,i)}function _getToolPanelClassesFromColDef(e,t,o,i){return _missing(e)?[]:getColumnClassesFromCollDef(e.toolPanelClass,e,t,o,i)}function refreshFirstAndLastStyles(e,t,o){e.toggleCss(CSS_FIRST_COLUMN,o.isColAtEdge(t,"first")),e.toggleCss(CSS_LAST_COLUMN,o.isColAtEdge(t,"last"))}function getClassParams(e,t,o,i){return _addGridCommonParams(t,{colDef:e,column:o,columnGroup:i})}function getColumnClassesFromCollDef(e,t,o,i,s){if(_missing(e))return[];let n;if(typeof e=="function"){const r=getClassParams(t,o,i,s);n=e(r)}else n=e;return typeof n=="string"?[n]:Array.isArray(n)?[...n]:[]}var instanceIdSequence2=0,DOM_DATA_KEY_HEADER_CTRL="headerCtrl",AbstractHeaderCellCtrl=class extends BeanStub{constructor(e,t){super(),this.column=e,this.rowCtrl=t,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=e.getUniqueId()+"-"+instanceIdSequence2++}postConstruct(){const e=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],e),this.addManagedEventListeners({overlayExclusiveChanged:e})}setComp(e,t,o,i,s){t.setAttribute("col-id",this.column.colIdSanitised),this.wireComp(e,t,o,i,s),this.reAttemptToFocus&&(this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0))}shouldStopEventPropagation(e){const{headerRowIndex:t,column:o}=this.beans.focusSvc.focusedHeader,i=o.getDefinition(),s=i?.suppressHeaderKeyboardEvent;if(!_exists(s))return!1;const n=_addGridCommonParams(this.gos,{colDef:i,column:o,headerRowIndex:t,event:e});return!!s(n)}getWrapperHasFocus(){return _getActiveDomElement(this.beans)===this.eGui}setGui(e,t){this.eGui=e,this.addDomData(t),t.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),t.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}refreshHeaderStyles(){const e=this.column.getDefinition();if(!e)return;const{headerStyle:t}=e;let o;if(typeof t=="function"){const i=this.getHeaderClassParams();o=t(i)}else o=t;o&&this.comp.setUserStyles(o)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(e){const{wrapperElement:t,checkMeasuringCallback:o,compBean:i}=e,{beans:s}=this,n=u=>{if(!this.isAlive()||!i.isAlive())return;const{paddingTop:h,paddingBottom:g,borderBottomWidth:p,borderTopWidth:f}=_getElementSize(this.eGui),m=h+g+p+f,w=t.offsetHeight+m;if(u<5){const b=!_getDocument(s)?.contains(t),S=w==0;if(b||S){_batchCall(()=>n(u+1),"raf",s);return}}this.setColHeaderHeight(this.column,w)};let r=!1,a;const l=()=>{const u=this.column.isAutoHeaderHeight();u&&!r&&d(),!u&&r&&c()},d=()=>{r=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),n(0),a=_observeResize(this.beans,t,()=>n(0))},c=()=>{r=!1,a&&a(),this.comp.toggleCss("ag-header-cell-auto-height",!1),a=void 0};l(),i.addDestroyFunc(()=>c()),i.addManagedListeners(this.column,{widthChanged:()=>r&&n(0)}),i.addManagedEventListeners({sortChanged:()=>{r&&window.setTimeout(()=>n(0))}}),o&&o(l)}onDisplayedColumnsChanged(){const{comp:e,column:t,beans:o,eGui:i}=this;!e||!t||!i||(refreshFirstAndLastStyles(e,t,o.visibleCols),_setAriaColIndex(i,o.visibleCols.getAriaColIndex(t)))}addResizeAndMoveKeyboardListeners(e){e.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){const e=_isHeaderFocusSuppressed(this.beans);this.eGui&&_addOrRemoveAttribute(this.eGui,"tabindex",e?null:"-1")}onGuiKeyDown(e){const t=_getActiveDomElement(this.beans),o=e.key===KeyCode.LEFT||e.key===KeyCode.RIGHT;if(this.isResizing&&(e.preventDefault(),e.stopImmediatePropagation()),t!==this.eGui||!e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey)return;if((this.isResizing||o)&&(e.preventDefault(),e.stopImmediatePropagation()),(e.ctrlKey||e.metaKey)&&_normaliseQwertyAzerty(e)===KeyCode.C)return this.beans.clipboardSvc?.copyToClipboard();if(!o)return;const n=e.key===KeyCode.LEFT!==this.gos.get("enableRtl")?"left":"right";if(e.altKey){this.isResizing=!0,this.resizeMultiplier+=1;const r=this.getViewportAdjustedResizeDiff(e);this.resizeHeader(r,e.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(n)}moveHeader(e){this.beans.colMoves?.moveHeader(e,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff(e){const t=this.getResizeDiff(e),{pinnedCols:o}=this.beans;return o?o.getHeaderResizeDiff(t,this.column):t}getResizeDiff(e){const{gos:t,column:o}=this;let i=e.key===KeyCode.LEFT!==t.get("enableRtl");const s=o.getPinned(),n=t.get("enableRtl");return s&&n!==(s==="right")&&(i=!i),(i?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150))}handleKeyDown(e){const t=this.getWrapperHasFocus();switch(e.key){case KeyCode.PAGE_DOWN:case KeyCode.PAGE_UP:case KeyCode.PAGE_HOME:case KeyCode.PAGE_END:t&&e.preventDefault()}}addDomData(e){const t=DOM_DATA_KEY_HEADER_CTRL,{eGui:o,gos:i}=this;_setDomData(i,o,t,this),e.addDestroyFunc(()=>_setDomData(i,o,t,null))}focus(e){if(!this.isAlive())return!1;const{eGui:t}=this;return t?(this.lastFocusEvent=e||null,t.focus()):this.reAttemptToFocus=!0,!0}focusThis(){this.beans.focusSvc.focusedHeader={headerRowIndex:this.rowCtrl.rowIndex,column:this.column}}removeDragSource(){this.dragSource&&(this.beans.dragAndDrop?.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(e,t,o){const i=e??t,{menuSvc:s,gos:n}=this.beans;n.get("preventDefaultOnContextMenu")&&i.preventDefault(),s?.isHeaderContextMenuEnabled(o)&&s.showHeaderContextMenu(o,e,t),this.dispatchColumnMouseEvent("columnHeaderContextMenu",o)}dispatchColumnMouseEvent(e,t){this.eventSvc.dispatchEvent({type:e,column:t})}setColHeaderHeight(e,t){if(!e.setAutoHeaderHeight(t))return;const{eventSvc:o}=this;e.isColumn?o.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"}):o.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.rowCtrl=null}},HeaderCellCtrl=class extends AbstractHeaderCellCtrl{constructor(){super(...arguments),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map}wireComp(e,t,o,i,s){this.comp=e;const{rowCtrl:n,column:r,beans:a}=this,{colResize:l,context:d,colHover:c,rangeSvc:u}=a,h=setupCompBean(this,d,s);this.setGui(t,h),this.updateState(),this.setupWidth(h),this.setupMovingCss(h),this.setupMenuClass(h),this.setupSortableClass(h),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:i,checkMeasuringCallback:p=>this.setRefreshFunction("measuring",p),compBean:h}),this.addColumnHoverListener(h),this.setupFilterClass(h),this.setupStylesFromColDef(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(h),this.setupSelectAll(h),this.setupUserComp(),this.refreshAria(),l?this.resizeFeature=h.createManagedBean(l.createResizeFeature(n.pinned,r,o,e,this)):_setDisplayed(o,!1),c?.createHoverFeature(h,[r],t),u?.createRangeHighlightFeature(h,r,e),h.createManagedBean(new SetLeftFeature(r,t,a)),h.createManagedBean(new ManagedFocusFeature(t,{shouldStopEventPropagation:p=>this.shouldStopEventPropagation(p),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(h),h.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader","enableAdvancedFilter"],()=>this.refresh()),h.addManagedPropertyListener("cellSelection",()=>this.refreshAria()),h.addManagedListeners(r,{colDefChanged:()=>this.refresh(),formulaRefChanged:()=>this.refresh(),headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});const g=()=>this.checkDisplayName();h.addManagedEventListeners({columnValueChanged:g,columnRowGroupChanged:g,columnPivotChanged:g,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),h.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){this.beans.colResize?.resizeHeader(this.column,e,t)}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.colDef;return _addGridCommonParams(t.gos,{colDef:o,column:e,floatingFilter:!1})}setupUserComp(){const e=this.lookupUserCompDetails();e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(){const e=this.createParams(),t=this.column.getColDef();return _getHeaderCompDetails(this.beans.userCompFactory,t,e)}createParams(){const{menuSvc:e,sortSvc:t,colFilter:o,gos:i}=this.beans;return _addGridCommonParams(i,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!e?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!o&&(!this.openFilterEnabled||_isLegacyMenuEnabled(this.gos)),showColumnMenu:(n,r)=>{e?.showColumnMenu({column:this.column,buttonElement:n,positionBy:"button",onClosedCallback:r})},showColumnMenuAfterMouseClick:(n,r)=>{e?.showColumnMenu({column:this.column,mouseEvent:n,positionBy:"mouse",onClosedCallback:r})},showFilter:n=>{e?.showFilterMenu({column:this.column,buttonElement:n,containerType:"columnFilter",positionBy:"button"})},progressSort:n=>{t?.progressSort(this.column,!!n,"uiColumnSorted")},setSort:(n,r)=>{t?.setSortForColumn(this.column,_getSortDefFromInput(n),!!r,"uiColumnSorted")},eGridHeader:this.eGui,setTooltip:(n,r)=>{i.assertModuleRegistered("Tooltip",3),this.setupTooltip(n,r)}})}setupSelectAll(e){const{selectionSvc:t}=this.beans;t&&(this.selectAllFeature=e.createOptionalManagedBean(t.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),e.addManagedPropertyListener("rowSelection",()=>{const o=t.createSelectAllFeature(this.column);o&&!this.selectAllFeature?(this.selectAllFeature=e.createManagedBean(o),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui()):this.selectAllFeature&&!o&&(this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature))}))}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===KeyCode.SPACE?this.selectAllFeature?.onSpaceKeyDown(e):e.key===KeyCode.ENTER?this.onEnterKeyDown(e):e.key===KeyCode.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){const{column:t,gos:o,sortable:i,beans:s}=this;let n=!1;(e.ctrlKey||e.metaKey)&&(n=this.showMenuOnKeyPress(e,!0)),n||(!e.altKey&&_getEnableColumnSelection(o)?s.rangeSvc?.handleColumnSelection(t,e):i&&s.sortSvc?.progressSort(t,e.shiftKey,"uiColumnSorted"))}showMenuOnKeyPress(e,t){const o=this.comp.getUserCompInstance();return isHeaderComp(o)&&o.onMenuKeyboardShortcut(t)?(e.preventDefault(),!0):!1}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription()),_isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.eGui.contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,e,t)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){const e=()=>{const t=this.column.colDef,o=_getHeaderClassesFromColDef(t,this.gos,this.column,null),i=this.userHeaderClasses;this.userHeaderClasses=new Set(o);for(const s of o)i.has(s)?i.delete(s):this.comp.toggleCss(s,!0);for(const s of i)this.comp.toggleCss(s,!1)};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){this.dragSourceElement=e,this.removeDragSource(),!(!e||!this.draggable)&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null)}updateState(){const{menuSvc:e}=this.beans;this.menuEnabled=!!e?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!e?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(const e of Object.values(this.refreshFunctions))e()}refreshHeaderComp(){const e=this.lookupUserCompDetails();if(!e)return;(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==e.componentClass?this.attemptHeaderCompRefresh(e.params):!1)?this.setDragSource(this.dragSourceElement):this.setCompDetails(e)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){this.displayName!==this.calculateDisplayName()&&this.refresh()}workOutDraggable(){const e=this.column.colDef;return!!(!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){const t=()=>{const o=this.column.getActualWidth();this.comp.setWidth(`${o}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){const t=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){const t=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){const t=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){const t=()=>{const o=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",o),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const t=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=e===0,o=e===1;this.comp.toggleCss("ag-header-highlight-before",t),this.comp.toggleCss("ag-header-highlight-after",o)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:o,beans:i}=this,s=getGroupRowsHeight(this.beans),n=s.reduce((h,g)=>h+g,0)===0;if(o.toggleCss("ag-header-parent-hidden",n),!t.isSpanHeaderHeight()){e.style.removeProperty("top"),e.style.removeProperty("height"),o.toggleCss("ag-header-span-height",!1),o.toggleCss("ag-header-span-total",!1);return}const{numberOfParents:r,isSpanningTotal:a}=this.column.getColumnGroupPaddingInfo();o.toggleCss("ag-header-span-height",r>0);const l=getColumnHeaderRowHeight(i);if(r===0){o.toggleCss("ag-header-span-total",!1),e.style.setProperty("top","0px"),e.style.setProperty("height",`${l}px`);return}o.toggleCss("ag-header-span-total",a);const d=(this.column.getFirstRealParent()?.getLevel()??-1)+1,c=s.length-d;let u=0;for(let h=0;h<c;h++)u+=s[s.length-1-h];e.style.setProperty("top",`${-u}px`),e.style.setProperty("height",`${l+u}px`)}refreshAriaSort(){let e=null;const{beans:t,column:o,comp:i,sortable:s,gos:n}=this;if(s){const r=this.getLocaleTextFunc(),a=t.sortSvc?.getDisplaySortForColumn(o)??null;i.setAriaSort(_getAriaSortState(a)),e=_getEnableColumnSelection(n)?r("ariaSortableColumnWithCellSelection","Press ALT ENTER to sort"):r("ariaSortableColumn","Press ENTER to sort")}else i.setAriaSort();this.setAriaDescriptionProperty("sort",e)}refreshAriaMenu(){let e=null;this.menuEnabled&&(e=this.getLocaleTextFunc()("ariaMenuColumn","Press ALT DOWN to open column menu")),this.setAriaDescriptionProperty("menu",e)}refreshAriaFilterButton(){let e=null;const{openFilterEnabled:t,gos:o}=this;t&&!_isLegacyMenuEnabled(o)&&(e=this.getLocaleTextFunc()("ariaFilterColumn","Press CTRL ENTER to open filter")),this.setAriaDescriptionProperty("filterButton",e)}refreshAriaFiltered(){let e=null;this.column.isFilterActive()&&(e=this.getLocaleTextFunc()("ariaColumnFiltered","Column Filtered")),this.setAriaDescriptionProperty("filter",e)}refreshAriaCellSelection(){let e=null;const{gos:t,column:o}=this;_getEnableColumnSelection(t)&&!isRowNumberCol(o)&&(e=this.getLocaleTextFunc()("ariaColumnCellSelection","Press Enter to toggle selection for all visible cells in this column")),this.setAriaDescriptionProperty("cellSelection",e)}setAriaDescriptionProperty(e,t){const o=this.ariaDescriptionProperties;t!=null?o.set(e,t):o.delete(e)}announceAriaDescription(){const{beans:e,eGui:t,ariaDescriptionProperties:o}=this;if(!t.contains(_getActiveDomElement(e)))return;const i=Array.from(o.keys()).sort((s,n)=>s==="filter"?-1:n.charCodeAt(0)-s.charCodeAt(0)).map(s=>o.get(s)).join(". ");e.ariaAnnounce?.announceValue(i,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener(e){this.beans.colHover?.addHeaderColumnHoverListener(e,this.comp,this.column)}addActiveHeaderMouseListeners(e){const t=s=>this.handleMouseOverChange(s.type==="mouseenter"),o=()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},i=s=>this.handleContextMenuMouseEvent(s,void 0,this.column);e.addManagedListeners(this.eGui,{mouseenter:t,mouseleave:t,click:o,contextmenu:i})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.toggleCss("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return isHeaderComp(t)?t.getAnchorElementForMenu(e):this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function isHeaderComp(e){return typeof e?.getAnchorElementForMenu=="function"&&typeof e.onMenuKeyboardShortcut=="function"}var instanceIdSequence3=0,HeaderRowCtrl=class extends BeanStub{constructor(e,t,o){super(),this.rowIndex=e,this.pinned=t,this.type=o,this.instanceId=instanceIdSequence3++,this.comp=null,this.allCtrls=[];let i="ag-header-row-column";o==="group"?i="ag-header-row-group":o==="filter"&&(i="ag-header-row-filter"),this.headerRowClass=`ag-header-row ${i}`}setRowIndex(e){this.rowIndex=e,this.comp?.setRowIndex(this.getAriaRowIndex()),this.onRowHeightChanged()}postConstruct(){this.isPrintLayout=_isDomLayout(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return this.comp?this.allCtrls.every(e=>e.eGui!=null):!1}setComp(e,t,o=!0){this.comp=e,t=setupCompBean(this,this.beans.context,t),o&&(this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){const t=this.onRowHeightChanged.bind(this),o=this.onDisplayedColumnsChanged.bind(this);e.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:o,virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,stylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",o),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}onDisplayedColumnsChanged(){this.isPrintLayout=_isDomLayout(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}setWidth(){if(!this.comp)return;const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleCols:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){let e=0;const t=getGroupRowsHeight(this.beans);for(let s=0;s<t.length;s++){if(s===this.rowIndex&&this.type==="group")return{topOffset:e,rowHeight:t[s]};e+=t[s]}const o=getColumnHeaderRowHeight(this.beans);if(this.type==="column")return{topOffset:e,rowHeight:o};e+=o;const i=getFloatingFiltersHeight(this.beans);return{topOffset:e,rowHeight:i}}onVirtualColumnsChanged(e=!1){if(!this.comp)return;const t=this.getUpdatedHeaderCtrls(),o=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,o,e)}getUpdatedHeaderCtrls(){const e=this.ctrlsById;this.ctrlsById=new Map;const t=this.getColumnsInViewport();for(const i of t)this.recycleAndCreateHeaderCtrls(i,this.ctrlsById,e);const o=i=>{const{focusSvc:s,visibleCols:n}=this.beans;return s.isHeaderWrapperFocused(i)?n.isVisible(i.column):!1};if(e)for(const[i,s]of e)o(s)?this.ctrlsById.set(i,s):this.destroyBean(s);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls(e,t,o){if(e.isEmptyGroup())return;const i=e.getUniqueId();let s;if(o&&(s=o.get(i),o.delete(i)),s&&s.column!=e&&(this.destroyBean(s),s=void 0),s==null)switch(this.type){case"filter":{s=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,e,this));break}case"group":s=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,e,this));break;default:s=this.createBean(new HeaderCellCtrl(e,this));break}t.set(i,s)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];const e=[];for(const t of["left",null,"right"])e.push(...this.getComponentsToRender(t));return e}getComponentsToRender(e=this.pinned){return this.type==="group"?this.beans.colViewport.getHeadersToRender(e,this.rowIndex):this.beans.colViewport.getColumnHeadersToRender(e)}focusHeader(e,t){const o=this.allCtrls.find(s=>s.column==e);return o?o.focus(t):!1}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},HeaderRowContainerCtrl=class extends BeanStub{constructor(e){super(),this.pinned=e,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp(e,t){this.comp=e,this.eViewport=t;const{pinnedCols:o,ctrlsSvc:i,colModel:s,colMoves:n}=this.beans;this.setupCenterWidth(),o?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(n,this.eViewport);const r=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:r,advancedFilterEnabledChanged:r});const a=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;i.register(a,this),s.ready&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const{focusSvc:t,filterManager:o,visibleCols:i}=this.beans;let s=0;const n=t.getFocusHeaderToUseAfterRefresh(),r=()=>{const u=i.headerGroupRowCount;s=u,e||(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls));const h=this.groupsRowCtrls.length;if(h!==u){if(h>u){for(let g=u;g<h;g++)this.destroyBean(this.groupsRowCtrls[g]);this.groupsRowCtrls.length=u;return}for(let g=h;g<u;g++){const p=this.createBean(new HeaderRowCtrl(g,this.pinned,"group"));this.groupsRowCtrls.push(p)}}},a=()=>{const u=s++;if(this.hidden){this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl);return}this.columnsRowCtrl==null||!e?(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new HeaderRowCtrl(u,this.pinned,"column"))):this.columnsRowCtrl.rowIndex!==u&&this.columnsRowCtrl.setRowIndex(u)},l=()=>{this.includeFloatingFilter=!!o?.hasFloatingFilters()&&!this.hidden;const u=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){u();return}e||u();const h=s++;this.filtersRowCtrl?this.filtersRowCtrl.rowIndex!==h&&this.filtersRowCtrl.setRowIndex(h):this.filtersRowCtrl=this.createBean(new HeaderRowCtrl(h,this.pinned,"filter"))},d=this.getAllCtrls();r(),a(),l();const c=this.getAllCtrls();this.comp.setCtrls(c),this.restoreFocusOnHeader(t,n),d.length!==c.length&&this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn(e){const t=o=>o?.getHeaderCellCtrls().find(i=>i.column===e);if(isColumn(e))return t(this.columnsRowCtrl);if(this.groupsRowCtrls.length!==0)for(let o=0;o<this.groupsRowCtrls.length;o++){const i=t(this.groupsRowCtrls[o]);if(i)return i}}getHtmlElementForColumnHeader(e){return this.getHeaderCtrlForColumn(e)?.eGui??null}getRowType(e){return this.getAllCtrls()[e]?.type}focusHeader(e,t,o){const s=this.getAllCtrls()[e];return s?s.focusHeader(t,o):!1}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}destroy(){this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl),this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls),super.destroy()}setupDragAndDrop(e,t){const o=e?.createBodyDropTarget(this.pinned,t);o&&this.createManagedBean(o)}restoreFocusOnHeader(e,t){if(!t)return;const{column:o}=t;o.getPinned()==this.pinned&&e.focusHeaderPosition({headerPosition:t,scroll:!1})}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new CenterWidthFeature(e=>this.comp.setCenterWidth(`${e}px`),!0))}},PinnedLeftElement={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},PinnedRightElement={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},CenterElement={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},HeaderRowContainerComp=class extends Component{constructor(e){super(),this.eCenterContainer=RefPlaceholder,this.headerRowComps={},this.rowCompsList=[],this.pinned=e}postConstruct(){this.selectAndSetTemplate();const e={setDisplayed:o=>this.setDisplayed(o),setCtrls:o=>this.setCtrls(o),setCenterWidth:o=>this.eCenterContainer.style.width=o,setViewportScrollLeft:o=>this.getGui().scrollLeft=o,setPinnedContainerWidth:o=>{const i=this.getGui();i.style.width=o,i.style.maxWidth=o,i.style.minWidth=o}};this.createManagedBean(new HeaderRowContainerCtrl(this.pinned)).setComp(e,this.getGui())}selectAndSetTemplate(){const e=this.pinned=="left",t=this.pinned=="right",o=e?PinnedLeftElement:t?PinnedRightElement:CenterElement;this.setTemplate(o),this.eRowContainer=this.eCenterContainer!==RefPlaceholder?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(e){this.destroyBean(e),e.getGui().remove()}setCtrls(e){const t=this.headerRowComps;this.headerRowComps={},this.rowCompsList=[];let o;const i=s=>{const n=s.getGui();n.parentElement!=this.eRowContainer&&this.eRowContainer.appendChild(n),o&&_ensureDomOrder(this.eRowContainer,n,o),o=n};for(const s of e){const n=s.instanceId,r=t[n];delete t[n];const a=r||this.createBean(new HeaderRowComp(s));this.headerRowComps[n]=a,this.rowCompsList.push(a),i(a)}for(const s of Object.values(t))this.destroyRowComp(s)}},GridHeaderElement={tag:"div",cls:"ag-header",role:"presentation"},GridHeaderComp=class extends Component{constructor(){super(GridHeaderElement)}postConstruct(){const e={toggleCss:(i,s)=>this.toggleCss(i,s),setHeightAndMinHeight:i=>{this.getGui().style.height=i,this.getGui().style.minHeight=i}};this.createManagedBean(new GridHeaderCtrl).setComp(e,this.getGui(),this.getFocusableElement());const o=i=>{this.createManagedBean(i),this.appendChild(i)};o(new HeaderRowContainerComp("left")),o(new HeaderRowContainerComp(null)),o(new HeaderRowContainerComp("right"))}},GridHeaderSelector={selector:"AG-HEADER-ROOT",component:GridHeaderComp},LayoutCssClasses={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},LayoutFeature=class extends BeanStub{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.gos.get("domLayout"),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},o=t.autoHeight?LayoutCssClasses.AUTO_HEIGHT:t.print?LayoutCssClasses.PRINT:LayoutCssClasses.NORMAL;this.view.updateLayoutClasses(o,t)}},AbstractFakeScrollComp=class extends Component{constructor(e,t){super(),this.direction=t,this.eViewport=RefPlaceholder,this.eContainer=RefPlaceholder,this.hideTimeout=0,this.setTemplate(e)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",_isMacOsUserAgent()||_isIOSUserAgent())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.invisibleScrollbar=_isInvisibleScrollbar(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){const e=this.getGui(),t=()=>this.toggleCss("ag-scrollbar-active",!0),o=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:o,touchend:o})}onScrollVisibilityChanged(){this.invisibleScrollbar===void 0&&this.initialiseInvisibleScrollbar(),_requestAnimationFrame(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(this.hideTimeout&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=0),this.toggleCss("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.toggleCss("ag-scrollbar-scrolling",!1),this.hideTimeout=0},400)}})}attemptSettingScrollPosition(e){const t=this.eViewport;_waitUntil(this,()=>_isVisible(t),()=>this.setScrollPosition(e),100)}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}},FakeHScrollElement={tag:"div",cls:"ag-body-horizontal-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eLeftSpacer",cls:"ag-horizontal-left-spacer"},{tag:"div",ref:"eViewport",cls:"ag-body-horizontal-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-horizontal-scroll-container"}]},{tag:"div",ref:"eRightSpacer",cls:"ag-horizontal-right-spacer"}]},FakeHScrollComp=class extends AbstractFakeScrollComp{constructor(){super(FakeHScrollElement,"horizontal"),this.eLeftSpacer=RefPlaceholder,this.eRightSpacer=RefPlaceholder,this.setScrollVisibleDebounce=0}wireBeans(e){this.visibleCols=e.visibleCols,this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){super.postConstruct();const e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new CenterWidthFeature(t=>this.eContainer.style.width=`${t}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}destroy(){window.clearTimeout(this.setScrollVisibleDebounce),super.destroy()}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}refreshCompBottom(){if(!this.invisibleScrollbar)return;const e=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){const e=this.scrollVisibleSvc.verticalScrollShowing;let t=this.visibleCols.getDisplayedColumnsRightWidth();const o=!this.enableRtl&&e,i=this.scrollVisibleSvc.getScrollbarWidth();o&&(t+=i),_setFixedWidth(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=i);let s=this.visibleCols.getColsLeftWidth();this.enableRtl&&e&&(s+=i),_setFixedWidth(this.eLeftSpacer,s),this.eLeftSpacer.classList.toggle("ag-scroller-corner",s<=i)}setScrollVisible(){const e=this.scrollVisibleSvc.horizontalScrollShowing,t=this.invisibleScrollbar,o=this.gos.get("suppressHorizontalScroll"),i=e&&this.scrollVisibleSvc.getScrollbarWidth()||0,n=o?0:i===0&&t?16:i,r=()=>{this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",t),_setFixedHeight(this.getGui(),n),_setFixedHeight(this.eViewport,n),_setFixedHeight(this.eContainer,n),n||this.eContainer.style.setProperty("min-height","1px"),this.setVisible(e,{skipAriaHidden:!0})};window.clearTimeout(this.setScrollVisibleDebounce),e?this.setScrollVisibleDebounce=window.setTimeout(r,100):r()}getScrollPosition(){return _getScrollLeft(this.eViewport,this.enableRtl)}setScrollPosition(e){_isVisible(this.eViewport)||this.attemptSettingScrollPosition(e),_setScrollLeft(this.eViewport,e,this.enableRtl)}},FakeHScrollSelector={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:FakeHScrollComp},SetHeightFeature=class extends BeanStub{constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged(e){const t=e.uiContainerHeight,o=t!=null?`${t}px`:"";this.eContainer.style.height=o,this.eViewport&&(this.eViewport.style.height=o)}},FakeVScrollElement={tag:"div",cls:"ag-body-vertical-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eViewport",cls:"ag-body-vertical-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-vertical-scroll-container"}]}]},FakeVScrollComp=class extends AbstractFakeScrollComp{constructor(){super(FakeVScrollElement,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new SetHeightFeature(this.eContainer));const{ctrlsSvc:e}=this.beans;e.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,e)})}setScrollVisible(){const{scrollVisibleSvc:e}=this.beans,t=e.verticalScrollShowing,o=this.invisibleScrollbar,i=t&&e.getScrollbarWidth()||0,s=i===0&&o?16:i;this.toggleCss("ag-scrollbar-invisible",o),_setFixedWidth(this.getGui(),s),_setFixedWidth(this.eViewport,s),_setFixedWidth(this.eContainer,s),this.setDisplayed(t,{skipAriaHidden:!0})}onRowContainerHeightChanged(e){const o=e.getGridBodyCtrl().eBodyViewport,i=this.getScrollPosition(),s=o.scrollTop;i!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition(e,t){!t&&!_isVisible(this.eViewport)&&this.attemptSettingScrollPosition(e),this.eViewport.scrollTop=e}},FakeVScrollSelector={selector:"AG-FAKE-VERTICAL-SCROLL",component:FakeVScrollComp},Direction=(e=>(e[e.Vertical=0]="Vertical",e[e.Horizontal=1]="Horizontal",e))(Direction||{}),VIEWPORT="Viewport",FAKE_V_SCROLLBAR="fakeVScrollComp",HORIZONTAL_SOURCES=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],SCROLL_DEBOUNCE_TIMEOUT=100,SCROLL_END_TIMEOUT=150,GridBodyScrollFeature=class extends BeanStub{constructor(e){super(),this.clearRetryListenerFncs=[],this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.lastIsHorizontalScrollShowing=!1,this.scrollTimer=0,this.isScrollActive=!1,this.isVerticalPositionInvalidated=!0,this.isHorizontalPositionInvalidated=!0,this.eBodyViewport=e,this.resetLastHScrollDebounced=_debounce(this,()=>this.lastScrollSource[1]=null,SCROLL_END_TIMEOUT),this.resetLastVScrollDebounced=_debounce(this,()=>this.lastScrollSource[0]=null,SCROLL_END_TIMEOUT)}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.animationFrameSvc=e.animationFrameSvc,this.visibleCols=e.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");const e=this.invalidateVerticalScroll.bind(this),t=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:e,scrollGapChanged:t}),this.addManagedElementListeners(this.eBodyViewport,{scroll:e}),this.ctrlsSvc.whenReady(this,o=>{this.centerRowsCtrl=o.center,this.fakeVScrollComp=o.fakeVScrollComp,this.fakeHScrollComp=o.fakeHScrollComp,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}invalidateHorizontalScroll(){this.isHorizontalPositionInvalidated=!0}invalidateVerticalScroll(){this.isVerticalPositionInvalidated=!0}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.eViewport,{scroll:this.onHScroll.bind(this,VIEWPORT)});for(const e of HORIZONTAL_SOURCES){const t=this.ctrlsSvc.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){const e=this.gos.get("debounceVerticalScrollbar"),t=e?_debounce(this,this.onVScroll.bind(this,VIEWPORT),SCROLL_DEBOUNCE_TIMEOUT):this.onVScroll.bind(this,VIEWPORT),o=e?_debounce(this,this.onVScroll.bind(this,FAKE_V_SCROLLBAR),SCROLL_DEBOUNCE_TIMEOUT):this.onVScroll.bind(this,FAKE_V_SCROLLBAR);this.addManagedElementListeners(this.eBodyViewport,{scroll:t}),this.registerScrollPartner(this.fakeVScrollComp,o)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){this.centerRowsCtrl!=null&&(e===void 0&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(const t of[...HORIZONTAL_SOURCES,VIEWPORT]){if(this.lastScrollSource[1]===t)continue;const o=this.getViewportForSource(t);_setScrollLeft(o,e,this.enableRtl)}}getViewportForSource(e){return e===VIEWPORT?this.centerRowsCtrl.eViewport:this.ctrlsSvc.get(e).eViewport}isControllingScroll(e,t){return this.lastScrollSource[t]==null?(t===0?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;const t=this.centerRowsCtrl.eViewport,{scrollLeft:o}=t;if(this.shouldBlockScrollUpdate(1,o,!0))return;const i=_getScrollLeft(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(i),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;const t=e===VIEWPORT?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition();let o=t;if(this.shouldBlockScrollUpdate(0,o,!0))return;e===VIEWPORT?this.fakeVScrollComp.setScrollPosition(o):(this.eBodyViewport.scrollTop=t,o=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),o!==t&&this.fakeVScrollComp.setScrollPosition(o,!0));const{animationFrameSvc:i}=this;i?.setScrollTop(o),this.nextScrollTop=o,i?.active?i.schedule():this.scrollGridIfNeeded(!0),this.resetLastVScrollDebounced()}doHorizontalScroll(e){const t=this.fakeHScrollComp.getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}isScrolling(){return this.isScrollActive}fireScrollEvent(e){const t={type:"bodyScroll",direction:e===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.isScrollActive=!0,this.eventSvc.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{this.scrollTimer=0,this.isScrollActive=!1,this.eventSvc.dispatchEvent({...t,type:"bodyScrollEnd"})},SCROLL_END_TIMEOUT)}shouldBlockScrollUpdate(e,t,o=!1){return o&&!_isIOSUserAgent()?!1:e===0?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t)}shouldBlockVerticalScroll(e){const t=_getInnerHeight(this.eBodyViewport),{scrollHeight:o}=this.eBodyViewport;return e<0||e+t>o}shouldBlockHorizontalScroll(e){const t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:o}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>o}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){const e=this.scrollLeft;let t=!1;for(const o of HORIZONTAL_SOURCES)if(this.getViewportForSource(o).scrollLeft!==e){t=!0;break}t&&this.onHScroll(VIEWPORT)}scrollGridIfNeeded(e=!1){const t=this.scrollTop!=this.nextScrollTop;return t&&(this.scrollTop=this.nextScrollTop,e&&this.invalidateVerticalScroll(),this.redrawRowsAfterScroll()),t}setHorizontalScrollPosition(e,t=!1){const i=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(this.enableRtl?e=e>0?0:i:e=Math.min(Math.max(e,0),i)),_setScrollLeft(this.centerRowsCtrl.eViewport,Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=e}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){const{lastOffsetHeight:o,lastScrollTop:i}=this;return{top:i,bottom:i+o}}this.isVerticalPositionInvalidated=!1;const{scrollTop:e,offsetHeight:t}=this.eBodyViewport;return this.lastScrollTop=e,this.lastOffsetHeight=t,{top:e,bottom:e+t}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.isHorizontalPositionInvalidated&&(this.lastIsHorizontalScrollShowing=this.centerRowsCtrl.isHorizontalScrollShowing(),this.isHorizontalPositionInvalidated=!1),this.lastIsHorizontalScrollShowing}scrollHorizontally(e){const t=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.eViewport.scrollLeft-t}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible(e,t=null){const{rowModel:o}=this.beans,i=o.getRowCount();let s=-1;for(let n=0;n<i;n++){const r=o.getRow(n);if(typeof e=="function"){if(r&&e(r)){s=n;break}}else if(e===r||e===r.data){s=n;break}}s>=0&&this.ensureIndexVisible(s,t)}ensureIndexVisible(e,t,o=0){if(_isDomLayout(this.gos,"print"))return;const{rowModel:i}=this.beans,s=i.getRowCount();if(typeof e!="number"||e<0||e>=s){_warn(88,{index:e});return}this.clearRetryListeners();const{frameworkOverrides:n,pageBounds:r,rowContainerHeight:a,rowRenderer:l}=this.beans;n.wrapIncoming(()=>{const d=this.ctrlsSvc.getGridBodyCtrl(),c=i.getRow(e);let u,h,g=0;this.invalidateVerticalScroll();do{const{stickyTopHeight:p,stickyBottomHeight:f}=d,m=c.rowTop,C=c.rowHeight,w=r.getPixelOffset(),v=c.rowTop-w,b=v+c.rowHeight,S=this.getVScrollPosition(),y=a.divStretchOffset,R=S.top+y,E=S.bottom+y,x=E-R,P=a.getScrollPositionForPixel(v),F=a.getScrollPositionForPixel(b-x),M=Math.min((P+F)/2,v),D=R+p>v,I=E-f<b;let T=null;t==="top"?T=P-p:t==="bottom"?T=F+f:t==="middle"?T=M:D?T=P-p:I&&(F-P>x?T=P-p:T=F+f),T!==null&&(this.setVerticalScrollPosition(T),l.redraw({afterScroll:!0})),u=m!==c.rowTop||C!==c.rowHeight,h=p!==d.stickyTopHeight||f!==d.stickyBottomHeight,g++}while((u||h)&&g<10);if(this.animationFrameSvc?.flushAllFrames(),o<10&&(c?.stub||!this.beans.rowAutoHeight?.areRowsMeasured())){const p=this.getVScrollPosition().top;this.clearRetryListenerFncs=this.addManagedEventListeners({bodyScroll:()=>{const f=this.getVScrollPosition().top;p!==f&&this.clearRetryListeners()},modelUpdated:()=>{this.clearRetryListeners(),!(e>=i.getRowCount())&&this.ensureIndexVisible(e,t,o+1)}})}})}clearRetryListeners(){for(const e of this.clearRetryListenerFncs)e();this.clearRetryListenerFncs=[]}ensureColumnVisible(e,t="auto"){const{colModel:o,frameworkOverrides:i}=this.beans,s=o.getCol(e);if(!s||s.isPinned()||!this.visibleCols.isColDisplayed(s))return;const n=this.getPositionedHorizontalScroll(s,t);i.wrapIncoming(()=>{n!==null&&this.centerRowsCtrl.setCenterViewportScrollLeft(n),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll(e,t){const{columnBeforeStart:o,columnAfterEnd:i}=this.isColumnOutsideViewport(e),s=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),n=this.centerRowsCtrl.getCenterWidth(),r=this.enableRtl;let a=(r?o:i)||s,l=r?i:o;t!=="auto"&&(a=t==="start",l=t==="end");const d=t==="middle";if(a||l||d){const{colLeft:c,colMiddle:u,colRight:h}=this.getColumnBounds(e);return d?u-n/2:a?r?h:c:r?c-n:h-n}return null}isColumnOutsideViewport(e){const{start:t,end:o}=this.getViewportBounds(),{colLeft:i,colRight:s}=this.getColumnBounds(e),n=this.enableRtl,r=n?t>s:o<s,a=n?o<i:t>i;return{columnBeforeStart:r,columnAfterEnd:a}}getColumnBounds(e){const t=this.enableRtl,o=this.visibleCols.bodyWidth,i=e.getActualWidth(),s=e.getLeft(),n=t?-1:1,r=t?o-s:s,a=r+i*n,l=r+i/2*n;return{colLeft:r,colMiddle:l,colRight:a}}getViewportBounds(){const e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft(),o=t,i=e+t;return{start:o,end:i,width:e}}},AXES={horizontal:{overflow:e=>e.scrollWidth-e.clientWidth,scrollSize:e=>e.scrollWidth,clientSize:e=>e.clientWidth,opposite:"vertical"},vertical:{overflow:e=>e.scrollHeight-e.clientHeight,scrollSize:e=>e.scrollHeight,clientSize:e=>e.clientHeight,opposite:"horizontal"}};function _shouldShowHorizontalScroll(e,t,o=_getScrollbarWidth()||0,i,s){return shouldShowScroll(e,t,"horizontal",o,i,s)}function _shouldShowVerticalScroll(e,t,o=_getScrollbarWidth()||0,i,s){return shouldShowScroll(e,t,"vertical",o,i,s)}function shouldShowScroll(e,t,o,i,s,n){const r=AXES[o],a=AXES[r.opposite],l=s?_isVisible(s):!0,d=n?_isVisible(n):!0,c=r.overflow(e);if(c<=0)return!1;if(!t||i===0)return!0;const u=a.overflow(t);if(u<=0)return!0;if(c<=i){if(l&&d&&isScrollbarCausedByOppositeAxis({candidateOverflow:u,candidateScrollSize:a.scrollSize(t),candidateClientSize:a.clientSize(t),scrollbarWidth:i}))return!1;const h=r.clientSize(e)+i;return r.scrollSize(e)<=h}return!0}function isScrollbarCausedByOppositeAxis({candidateOverflow:e,candidateScrollSize:t,candidateClientSize:o,scrollbarWidth:i}){if(e<=0||e>i)return!1;const s=o+i;return t>o&&t<=s}var ViewportSizeFeature=class extends BeanStub{constructor(e){super(),this.centerContainerCtrl=e}wireBeans(e){this.scrollVisibleSvc=e.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){const{beans:e,centerContainerCtrl:t,gridBodyCtrl:o}=this,i=()=>{_requestAnimationFrame(e,()=>{this.onCenterViewportResized()})};t.registerViewportResizeListener(i),o.registerBodyViewportResizeListener(i)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){const{pinnedCols:e,colFlex:t}=this.beans;e?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();const o=this.centerContainerCtrl.getCenterWidth();o!==this.centerWidth&&(this.centerWidth=o,t?.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.scrollFeature.checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){const e=this.gridBodyCtrl.eBodyViewport,t=_getInnerHeight(e);this.bodyHeight!==t&&(this.bodyHeight=t,this.eventSvc.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){if(!this.isAlive())return;const e={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible(e)}onHorizontalViewportChanged(){const{centerContainerCtrl:e,beans:t}=this,o=e.getCenterWidth(),i=e.getViewportScrollLeft();t.colViewport.setScrollPosition(o,i)}};function _isEventFromPrintableCharacter(e){return e.altKey||e.ctrlKey||e.metaKey?!1:e.key?.length===1}function _suppressCellMouseEvent(e,t,o,i){const s=t.getColDef().cellRendererParams?.suppressMouseEventHandling;return suppressMouseEvent(e,t,o,i,s)}function _suppressFullWidthMouseEvent(e,t,o,i){const s=t?.suppressMouseEventHandling;return suppressMouseEvent(e,void 0,o,i,s)}function suppressMouseEvent(e,t,o,i,s){return s?s(_addGridCommonParams(e,{column:t,node:o,event:i})):!1}function _getCtrlForEventTarget(e,t,o){let i=t;for(;i;){const s=_getDomData(e,i,o);if(s)return s;i=i.parentElement}return null}var DOM_DATA_KEY_CELL_CTRL="cellCtrl";function _getCellCtrlForEventTarget(e,t){return _getCtrlForEventTarget(e,t,DOM_DATA_KEY_CELL_CTRL)}var DOM_DATA_KEY_ROW_CTRL="renderedRow";function _getRowCtrlForEventTarget(e,t){return _getCtrlForEventTarget(e,t,DOM_DATA_KEY_ROW_CTRL)}function _isUserSuppressingKeyboardEvent(e,t,o,i,s){const n=i?i.colDef.suppressKeyboardEvent:void 0;if(!n)return!1;const r=_addGridCommonParams(e,{event:t,editing:s,column:i,node:o,data:o.data,colDef:i.colDef});return!!(n&&n(r))}function _selectAllCells(e){const{pinnedRowModel:t,rowModel:o,rangeSvc:i,visibleCols:s}=e;if(!i||s.allCols.length===0)return;const n=t?.isEmpty("top")??!0,r=t?.isEmpty("bottom")??!0,a=n?null:"top";let l,d;r?(l=null,d=o.getRowCount()-1):(l="bottom",d=t?.getPinnedBottomRowCount()??-1),i.setCellRange({rowStartIndex:0,rowStartPinned:a,rowEndIndex:d,rowEndPinned:l})}var RowContainerEventsFeature=class extends BeanStub{constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.beans.touchSvc?.mockRowContextMenu(this),this.editSvc=this.beans.editSvc}addKeyboardListeners(){const e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){let e="mousedown";_isEventSupported("pointerdown")?e="pointerdown":_isEventSupported("touchstart")&&(e="touchstart");const t=["dblclick","contextmenu","mouseover","mouseout","click",e];for(const o of t){const i=this.processMouseEvent.bind(this,o);this.addManagedElementListeners(this.element,{[o]:i})}}processMouseEvent(e,t){if(!_isEventFromThisInstance(this.beans,t)||_isStopPropagationForAgGrid(t))return;const{cellCtrl:o,rowCtrl:i}=this.getControlsForEventTarget(t.target);e==="contextmenu"?(o?.column&&o.dispatchCellContextMenuEvent(t),this.beans.contextMenuSvc?.handleContextMenuMouseEvent(t,void 0,i,o)):(o&&o.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}getControlsForEventTarget(e){const{gos:t}=this;return{cellCtrl:_getCellCtrlForEventTarget(t,e),rowCtrl:_getRowCtrlForEventTarget(t,e)}}processKeyboardEvent(e,t){const{cellCtrl:o,rowCtrl:i}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(o?this.processCellKeyboardEvent(o,e,t):i?.isFullWidth()&&this.processFullWidthRowKeyboardEvent(i,e,t))}processCellKeyboardEvent(e,t,o){const i=this.editSvc?.isEditing(e,{withOpenEditor:!0})??!1;!_isUserSuppressingKeyboardEvent(this.gos,o,e.rowNode,e.column,i)&&t==="keydown"&&(!i&&this.beans.navigation?.handlePageScrollingKey(o)||e.onKeyDown(o),this.doGridOperations(o,i),_isEventFromPrintableCharacter(o)&&e.processCharacter(o)),t==="keydown"&&this.eventSvc.dispatchEvent(e.createEvent(o,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,o){const{rowNode:i}=e,{focusSvc:s,navigation:n,notesSvc:r}=this.beans,l=s.getFocusedCell()?.column;!_isUserSuppressingKeyboardEvent(this.gos,o,i,l,!1)&&t==="keydown"&&this.processFullWidthRowKeyDown(e,o,l,n,r),t==="keydown"&&this.eventSvc.dispatchEvent(e.createRowEvent("cellKeyDown",o))}processFullWidthRowKeyDown(e,t,o,i=this.beans.navigation,s=this.beans.notesSvc){switch(t.key){case KeyCode.PAGE_HOME:case KeyCode.PAGE_END:case KeyCode.PAGE_UP:case KeyCode.PAGE_DOWN:i?.handlePageScrollingKey(t,!0);return;case KeyCode.LEFT:case KeyCode.RIGHT:if(!this.gos.get("embedFullWidthRows"))return;case KeyCode.UP:case KeyCode.DOWN:e.onKeyboardNavigate(t);return;case KeyCode.F2:this.processFullWidthRowNoteShortcut(e,t,o,s);return;case KeyCode.TAB:e.onTabKeyDown(t);return;default:}}processFullWidthRowNoteShortcut(e,t,o,i=this.beans.notesSvc){if(!t.shiftKey||!i?.hasDataSource())return;const s=e.rowNode,n=e.findFullWidthInfoForEvent(t);let r;if(n){const{pinned:l}=n;r={rowNode:s,location:"fullWidthRow",pinned:l==="left"||l==="right"?l:void 0}}else o&&(r={rowNode:s,column:o});if(!r)return;const a=i.getNoteAccess(r);a&&(!a.isSuppressed||a.canView)&&(i.showNote(a.params,!0),t.preventDefault())}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey||t||!_isEventFromThisInstance(this.beans,e))return;const o=_normaliseQwertyAzerty(e),{clipboardSvc:i,undoRedo:s}=this.beans;if(o===KeyCode.A)return this.onCtrlAndA(e);if(o===KeyCode.C)return this.onCtrlAndC(i,e);if(o===KeyCode.D)return this.onCtrlAndD(i,e);if(o===KeyCode.V)return this.onCtrlAndV(i,e);if(o===KeyCode.X)return this.onCtrlAndX(i,e);if(o===KeyCode.Y)return this.onCtrlAndY(s);if(o===KeyCode.Z)return this.onCtrlAndZ(s,e)}onCtrlAndA(e){const{beans:{rowModel:t,rangeSvc:o,selectionSvc:i},gos:s}=this;o&&_isCellSelectionEnabled(s)&&!_getCtrlASelectsRows(s)&&t.isRowsToRender()?_selectAllCells(this.beans):i&&i.selectAllRowNodes({source:"keyboardSelectAll",selectAll:_getSelectAll(s)}),e.preventDefault()}onCtrlAndC(e,t){if(!e||this.gos.get("enableCellTextSelection"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.copyToClipboard())}onCtrlAndX(e,t){if(!e||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||(t.preventDefault(),e.cutToClipboard(void 0,"ui"))}onCtrlAndV(e,t){const{cellCtrl:o}=this.getControlsForEventTarget(t.target);this.editSvc?.isEditing(o,{withOpenEditor:!0})||e&&!this.gos.get("suppressClipboardPaste")&&e.pasteFromClipboard()}onCtrlAndD(e,t){e&&!this.gos.get("suppressClipboardPaste")&&e.copyRangeDown(),t.preventDefault()}onCtrlAndZ(e,t){!this.gos.get("undoRedoCellEditing")||!e||(t.preventDefault(),t.shiftKey?e.redo("ui"):e.undo("ui"))}onCtrlAndY(e){e?.redo("ui")}},getTopRowCtrls=e=>e.topRowCtrls,getStickyTopRowCtrls=e=>e.getStickyTopRowCtrls(),getStickyBottomRowCtrls=e=>e.getStickyBottomRowCtrls(),getBottomRowCtrls=e=>e.bottomRowCtrls,getCentreRowCtrls=e=>e.allRowCtrls,getSpannedTopRowCtrls=e=>e.getCtrls("top"),getSpannedCenterRowCtrls=e=>e.getCtrls("center"),getSpannedBottomRowCtrls=e=>e.getCtrls("bottom"),ContainerCssClasses={center:{type:"center",name:"center-cols",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:getCentreRowCtrls,getSpannedRowCtrls:getSpannedCenterRowCtrls},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:getCentreRowCtrls},topCenter:{type:"center",name:"floating-top",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:getTopRowCtrls,getSpannedRowCtrls:getSpannedTopRowCtrls},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:getTopRowCtrls},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:getStickyTopRowCtrls},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:getStickyTopRowCtrls},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:getStickyTopRowCtrls},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:getStickyTopRowCtrls},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:getStickyBottomRowCtrls},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:getStickyBottomRowCtrls},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:getStickyBottomRowCtrls},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:getStickyBottomRowCtrls},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:getBottomRowCtrls,getSpannedRowCtrls:getSpannedBottomRowCtrls},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:getBottomRowCtrls}};function _getRowViewportClass(e){return`ag-${_getRowContainerOptions(e).name}-viewport`}function _getRowContainerClass(e){const t=_getRowContainerOptions(e);return t.container??`ag-${t.name}-container`}function _getRowSpanContainerClass(e){return`ag-${_getRowContainerOptions(e).name}-spanned-cells-container`}function _getRowContainerOptions(e){return ContainerCssClasses[e]}var allTopNoFW=["topCenter","topLeft","topRight"],allBottomNoFW=["bottomCenter","bottomLeft","bottomRight"],allMiddleNoFW=["center","left","right"],allMiddle=["center","left","right","fullWidth"],allCenter=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],allLeft=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],allRight=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],allStickyTopNoFW=["stickyTopCenter","stickyTopLeft","stickyTopRight"],allStickyBottomNoFW=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],allStickyContainers=[...allStickyTopNoFW,"stickyTopFullWidth",...allStickyBottomNoFW,"stickyBottomFullWidth"],allNoFW=[...allTopNoFW,...allBottomNoFW,...allMiddleNoFW,...allStickyTopNoFW,...allStickyBottomNoFW],RowContainerCtrl=class extends BeanStub{constructor(e){super(),this.name=e,this.visible=!0,this.EMPTY_CTRLS=[],this.options=_getRowContainerOptions(e)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new ViewportSizeFeature(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.beans.ctrlsSvc.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}setComp(e,t,o,i){this.comp=e,this.eContainer=t,this.eSpannedContainer=o,this.eViewport=i,this.createManagedBean(new RowContainerEventsFeature(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();const{pinnedCols:s,rangeSvc:n}=this.beans,r=()=>this.onPinnedWidthChanged();this.forContainers(allLeft,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(s?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:r})}),this.forContainers(allRight,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(s?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:r})}),this.forContainers(allMiddle,()=>this.createManagedBean(new SetHeightFeature(this.eContainer,this.name==="center"?i:void 0))),n&&this.forContainers(allNoFW,()=>this.createManagedBean(n.createDragListenerFeature(this.eContainer))),this.forContainers(allCenter,()=>this.createManagedBean(new CenterWidthFeature(a=>this.comp.setContainerWidth(`${a}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.eViewport,{scroll:e})}addListeners(){const{spannedRowRenderer:e,gos:t}=this.beans,o=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({displayedColumnsChanged:o,displayedColumnsWidthChanged:o,displayedRowsChanged:i=>this.onDisplayedRowsChanged(i.afterScroll)}),o(),this.onDisplayedRowsChanged(),e&&this.options.getSpannedRowCtrls&&t.get("enableCellSpan")&&this.addManagedListeners(e,{spannedRowsUpdated:()=>{const i=this.options.getSpannedRowCtrls(e);i&&this.comp.setSpannedRowCtrls(i,!1)}})}listenOnDomOrder(){if(allStickyContainers.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}const t=()=>{const o=this.gos.get("ensureDomOrder"),i=_isDomLayout(this.gos,"print");this.comp.setDomOrder(o||i)};this.addManagedPropertyListener("domLayout",t),t()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){const{dragSvc:e}=this.beans;if(!e)return;const t=o=>{e.dragging&&o.cancelable&&o.preventDefault()};this.eContainer.addEventListener("touchmove",t,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",t))}onHorizontalViewportChanged(e=!1){const t=this.getCenterWidth(),o=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(t,o,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return _getInnerWidth(this.eViewport)}getCenterViewportScrollLeft(){return _getScrollLeft(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){const t=_observeResize(this.beans,this.eViewport,e);this.addDestroyFunc(()=>t())}isViewportInTheDOMTree(){return _isInDOM(this.eViewport)}getViewportScrollLeft(){return _getScrollLeft(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){const{beans:e,gos:t,eViewport:o}=this,i=t.get("alwaysShowHorizontalScroll"),{ctrlsSvc:s}=e,n=s.getGridBodyCtrl()?.eBodyViewport,r=s.get("fakeHScrollComp")?.getGui(),a=s.get("fakeVScrollComp")?.getGui();return i||_shouldShowHorizontalScroll(o,n,void 0,r,a)}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){_setScrollLeft(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(this.options.pinnedType!=null)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){const e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){const t=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||t.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}const o=_isDomLayout(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||o,n=t.filter(r=>{const a=r.isFullWidth();return this.options.fullWidth?!s&&a:s||!a});this.comp.setRowCtrls({rowCtrls:n,useFlushSync:e})}},CSS_CLASS_FORCE_VERTICAL_SCROLL="ag-force-vertical-scroll",CSS_CLASS_CELL_SELECTABLE="ag-selectable",CSS_CLASS_COLUMN_MOVING="ag-column-moving",GridBodyCtrl=class extends BeanStub{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.colModel=e.colModel,this.scrollVisibleSvc=e.scrollVisibleSvc,this.pinnedRowModel=e.pinnedRowModel,this.filterManager=e.filterManager,this.rowGroupColsSvc=e.rowGroupColsSvc}setComp(e,t,o,i,s,n,r){this.comp=e,this.eGridBody=t,this.eBodyViewport=o,this.eTop=i,this.eBottom=s,this.eStickyTop=n,this.eStickyBottom=r,this.eCenterColsViewport=o.querySelector(`.${_getRowViewportClass("center")}`),this.eFullWidthContainer=o.querySelector(`.${_getRowContainerClass("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",a=>this.setCellTextSelection(a.currentValue)),this.createManagedBean(new LayoutFeature(this.comp)),this.scrollFeature=this.createManagedBean(new GridBodyScrollFeature(o)),this.beans.rowDragSvc?.setupRowDrag(o,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([i,o,s,n,r]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(i),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){const e=this.setFloatingHeights.bind(this),t=this.setGridRootRole.bind(this),o=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,pinnedRowsChanged:e,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:t,columnPivotChanged:t,rowResizeStarted:o,rowResizeEnded:o}),this.addManagedPropertyListener("treeData",t)}toggleRowResizeStyles(e){const t=e.type==="rowResizeStarted";this.eBodyViewport.classList.toggle("ag-prevent-animation",t)}onGridColumnsChanged(){const e=this.beans.colModel.getCols();this.comp.setColumnCount(e.length)}onScrollVisibilityChanged(){const{scrollVisibleSvc:e}=this,t=e.verticalScrollShowing;this.setVerticalScrollPaddingVisible(t),this.setStickyWidth(t),this.setStickyBottomOffsetBottom();const o=t&&e.getScrollbarWidth()||0,i=_isInvisibleScrollbar()?16:0,s=`calc(100% + ${o+i}px)`;_requestAnimationFrame(this.beans,()=>this.comp.setBodyViewportWidth(s)),this.updateScrollingClasses()}setGridRootRole(){const{rowGroupColsSvc:e,colModel:t,gos:o}=this;let i=o.get("treeData");if(!i){const s=t.pivotMode;i=(e?e.columns.length:0)>=(s?2:1)}this.comp.setGridRootRole(i?"treegrid":"grid")}addFocusListeners(e){for(const t of e)this.addManagedElementListeners(t,{focusin:o=>{const{target:i}=o,s=_isElementChildOfClass(i,"ag-root",t);t.classList.toggle("ag-has-focus",!s)},focusout:o=>{const{target:i,relatedTarget:s}=o,n=t.contains(s),r=_isElementChildOfClass(s,"ag-root",t);_isElementChildOfClass(i,"ag-root",t)||(!n||r)&&t.classList.remove("ag-has-focus")}})}setColumnMovingCss(e){this.comp.setColumnMovingCss(CSS_CLASS_COLUMN_MOVING,e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss(CSS_CLASS_CELL_SELECTABLE,e)}updateScrollingClasses(){const{eGridBody:{classList:e},scrollVisibleSvc:t}=this;e.toggle("ag-body-vertical-content-no-gap",!t.verticalScrollGap),e.toggle("ag-body-horizontal-content-no-gap",!t.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){const e=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:t}=this.beans,o=t.isLastRowIndexKnown()?t.getRowCount():-1,i=o===-1?-1:e+o;this.comp.setRowCount(i)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){const t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){const{gos:e,comp:t,ctrlsSvc:o}=this,i=e.get("alwaysShowVerticalScroll"),s=i?CSS_CLASS_FORCE_VERTICAL_SCROLL:null,n=_isDomLayout(e,"normal");t.setAlwaysVerticalScrollClass(s,i);const r=o.get("center")?.eViewport,a=o.get("fakeHScrollComp")?.getGui(),l=o.get("fakeVScrollComp")?.getGui();return i||n&&_shouldShowVerticalScroll(this.eBodyViewport,r,void 0,l,a)}setupRowAnimationCssClass(){const{rowContainerHeight:e,environment:t}=this.beans;let o=t.sizesMeasured;const i=()=>{const s=o&&_isAnimateRows(this.gos)&&!e.stretching,n=s?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(n,s)};i(),this.addManagedEventListeners({heightScaleChanged:i}),this.addManagedPropertyListener("animateRows",i),this.addManagedEventListeners({stylesChanged:()=>{!o&&t.sizesMeasured&&(o=!0,i())}})}addBodyViewportListener(){const{eBodyViewport:e,eStickyTop:t,eStickyBottom:o,eTop:i,eBottom:s,beans:{popupSvc:n,touchSvc:r}}=this,a=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(e,{contextmenu:a}),r?.mockBodyContextMenu(this,a),this.addManagedElementListeners(e,{wheel:this.onBodyViewportWheel.bind(this,n)});const l=this.onStickyWheel.bind(this);for(const c of[t,o,i,s])this.addManagedElementListeners(c,{wheel:l});const d=this.onHorizontalWheel.bind(this);for(const c of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(c).eContainer,{wheel:d});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){const{deltaX:t,deltaY:o,shiftKey:i}=e;(i||Math.abs(t)>Math.abs(o))&&_isEventFromThisInstance(this.beans,e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){const{deltaY:t}=e;this.scrollVertically(t)>0&&e.preventDefault()}onHorizontalWheel(e){const{deltaX:t,deltaY:o,shiftKey:i}=e;(i||Math.abs(t)>Math.abs(o))&&this.scrollGridBodyToMatchEvent(e)}scrollGridBodyToMatchEvent(e){const{deltaX:t,deltaY:o}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||o})}onBodyViewportContextMenu(e,t,o){if(!e&&!o)return;this.gos.get("preventDefaultOnContextMenu")&&(e||o).preventDefault();const{target:i}=e||t;(i===this.eBodyViewport||i===this.ctrlsSvc.get("center").eViewport)&&this.beans.contextMenuSvc?.showContextMenu({mouseEvent:e,touchEvent:o,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel(e,t){this.gos.get("suppressScrollWhenPopupsAreOpen")&&e?.hasAnchoredPopup()&&t.preventDefault()}scrollVertically(e){const t=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}setFloatingHeights(){const{pinnedRowModel:e,beans:{environment:t}}=this,o=e?.getPinnedTopTotalHeight(),i=e?.getPinnedBottomTotalHeight(),s=t.getPinnedRowBorderWidth(),n=t.getRowBorderWidth(),r=s-n,a=o?r+o:0,l=i?r+i:0;this.comp.setTopHeight(a),this.comp.setBottomHeight(l),this.comp.setTopInvisible(a<=0),this.comp.setBottomInvisible(l<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}setStickyWidth(e){if(!e)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{const t=this.scrollVisibleSvc.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${t}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${t}px)`)}}setStickyTopOffsetTop(){const t=this.ctrlsSvc.get("gridHeaderCtrl").headerHeight+(this.filterManager?.getHeaderHeight()??0),o=this.pinnedRowModel?.getPinnedTopTotalHeight()??0;let i=0;t>0&&(i+=t),o>0&&(i+=o),i>0&&(i+=1),this.comp.setStickyTopTop(`${i}px`)}setStickyBottomOffsetBottom(){const{pinnedRowModel:e,scrollVisibleSvc:t,comp:o}=this,i=e?.getPinnedBottomTotalHeight()??0,n=t.horizontalScrollShowing&&t.getScrollbarWidth()||0,r=i+n;o.setStickyBottomBottom(`${r}px`)}};function _createElement(e){return _createAgElement(e)}var CellComp=class extends Component{constructor(e,t,o,i,s){super(),this.cellCtrl=t,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=e,this.gos=e.gos,this.column=t.column,this.rowNode=t.rowNode,this.eRow=i;const n=_createElement({tag:"div",role:t.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":t.column.colIdSanitised}});this.eCell=n;let r;t.isCellSpanning()?(r=_createElement({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),r.appendChild(n),this.setTemplateFromElement(r)):this.setTemplateFromElement(n),this.cellCssManager=new CssClassManager(()=>n),this.forceWrapper=t.isForceWrapper(),this.refreshWrapper(!1);const a={toggleCss:(l,d)=>this.cellCssManager.toggleCss(l,d),setUserStyles:l=>_addStylesToElement(n,l),getFocusableElement:()=>n,setIncludeSelection:l=>this.includeSelection=l,setIncludeRowDrag:l=>this.includeRowDrag=l,setIncludeDndSource:l=>this.includeDndSource=l,setRowResizerElement:l=>this.setRowResizerElement(l),setRenderDetails:(l,d,c)=>this.setRenderDetails(l,d,c),setEditDetails:(l,d,c)=>this.setEditDetails(l,d,c),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(l,d)=>this.refreshEditStyles(l,d)};t.setComp(a,n,r,this.eCellWrapper,o,s,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement(e){this.rowResizerElement&&_removeFromParent(this.rowResizerElement),this.rowResizerElement=e,e&&this.eCell.appendChild(e)}setRenderDetails(e,t,o){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=this.firstRender==null;const s=this.refreshWrapper(!1);this.refreshEditStyles(!1),e?!(o||s)&&this.refreshCellRenderer(e)||(this.destroyRenderer(),this.createCellRendererInstance(e)):(this.destroyRenderer(),this.insertValueWithoutCellRenderer(t)),this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement&&this.eCell.appendChild(this.rowResizerElement)}setEditDetails(e,t,o){e?this.createCellEditorInstance(e,t,o):this.destroyEditor()}removeControls(){const e=this.beans.context;this.checkboxSelectionComp=e.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=e.destroyBean(this.dndSourceComp),this.rowDraggingComp=e.destroyBean(this.rowDraggingComp)}refreshWrapper(e){const t=this.includeRowDrag||this.includeDndSource||this.includeSelection,o=t||this.forceWrapper,i=o&&this.eCellWrapper==null;i&&(this.eCellWrapper=_createElement({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper));const s=!o&&this.eCellWrapper!=null;s&&(_removeFromParent(this.eCellWrapper),this.eCellWrapper=void 0),this.cellCssManager.toggleCss("ag-cell-value",!o);const n=!e&&o,r=n&&this.eCellValue==null;if(r){const d=this.cellCtrl.getCellValueClass();this.eCellValue=_createElement({tag:"span",cls:d,role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue)}const a=!n&&this.eCellValue!=null;a&&(_removeFromParent(this.eCellValue),this.eCellValue=void 0);const l=i||s||r||a;return l&&this.removeControls(),!e&&t&&this.addControls(),l}addControls(){const{cellCtrl:e,eCellWrapper:t,eCellValue:o,includeRowDrag:i,includeDndSource:s,includeSelection:n}=this,r=a=>{a&&t.insertBefore(a.getGui(),o)};i&&this.rowDraggingComp==null&&(this.rowDraggingComp=e.createRowDragComp(),r(this.rowDraggingComp)),s&&this.dndSourceComp==null&&(this.dndSourceComp=e.createDndSource(),r(this.dndSourceComp)),n&&this.checkboxSelectionComp==null&&(this.checkboxSelectionComp=e.createSelectionCheckbox(),r(this.checkboxSelectionComp))}createCellEditorInstance(e,t,o){const i=this.editorVersion,s=e.newAgStackInstance(),{params:n}=e;s.then(a=>this.afterCellEditorCreated(i,a,n,t,o)),_missing(this.cellEditor)&&n.cellStartedEdit&&this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(e){const t=this.getParentOfValue();_clearElement(t);const o=_toString(e);o!=null&&(t.textContent=o)}destroyRenderer(){const{context:e}=this.beans;this.cellRenderer=e.destroyBean(this.cellRenderer),_removeFromParent(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){const{context:e}=this.beans;(this.cellEditorPopupWrapper?.getGui().contains(_getActiveDomElement(this.beans))||this.cellCtrl.hasBrowserFocus())&&this.eCell.focus({preventScroll:!0}),this.hideEditorPopup?.(),this.hideEditorPopup=void 0,this.cellEditor=e.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=e.destroyBean(this.cellEditorPopupWrapper),_removeFromParent(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(e){if(this.cellRenderer?.refresh==null||this.cellRendererClass!==e.componentClass)return!1;const t=this.cellRenderer.refresh(e.params);return t===!0||t===void 0}createCellRendererInstance(e){const t=this.rendererVersion,o=n=>r=>{if(this.rendererVersion!==t||!this.isAlive())return;const l=n.newAgStackInstance(),d=this.afterCellRendererCreated.bind(this,t,n.componentClass);l?.then(d)},{animationFrameSvc:i}=this.beans;let s;if(i?.active&&this.firstRender?s=(n,r=!1)=>{i.createTask(o(n),this.rowNode.rowIndex,"p2",n.componentFromFramework,r)}:s=n=>o(n)(),e.params?.deferRender&&!this.cellCtrl.rowNode.group){const{loadingComp:n,onReady:r}=this.cellCtrl.getDeferLoadingCellRenderer();n&&(s(n),r.then(()=>s(e,!0)))}else s(e)}afterCellRendererCreated(e,t,o){if(!this.isAlive()||e!==this.rendererVersion){this.beans.context.destroyBean(o);return}this.cellRenderer=o,this.cellRendererClass=t;const s=o.getGui();if(this.cellRendererGui=s,s!=null){const n=this.getParentOfValue();_clearElement(n),n.appendChild(s)}}afterCellEditorCreated(e,t,o,i,s){const n=e!==this.editorVersion,{context:r}=this.beans;if(n){r.destroyBean(t);return}if(t.isCancelBeforeStart?.()){r.destroyBean(t),this.cellCtrl.stopEditing(!0);return}if(!t.getGui){_warn(97,{colId:this.column.getId()}),r.destroyBean(t);return}this.cellEditor=t,this.cellEditorGui=t.getGui();const l=i||t.isPopup?.();l?this.addPopupCellEditor(o,s):this.addInCellEditor(),this.refreshEditStyles(!0,l),t.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(t),this.cellCtrl.cellEditorAttached()}refreshEditStyles(e,t){const{cellCssManager:o}=this;o.toggleCss("ag-cell-inline-editing",e&&!t),o.toggleCss("ag-cell-popup-editing",e&&!!t),o.toggleCss("ag-cell-not-inline-editing",!e||!!t)}addInCellEditor(){const{eCell:e}=this;e.contains(_getActiveDomElement(this.beans))&&e.focus(),this.destroyRenderer(),this.refreshWrapper(!0),_clearElement(this.getParentOfValue()),this.cellEditorGui&&this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor(e,t){const{gos:o,context:i,popupSvc:s,editSvc:n}=this.beans;o.get("editType")==="fullRow"&&_warn(98);const r=this.cellEditorPopupWrapper=i.createBean(n.createPopupEditorWrapper(e)),{cellEditor:a,cellEditorGui:l,eCell:d,rowNode:c,column:u,cellCtrl:h}=this,g=r.getGui();l&&g.appendChild(l);const p=o.get("stopEditingWhenCellsLoseFocus"),f=t??a.getPopupPosition?.()??"over",m=o.get("enableRtl"),C={ePopup:g,additionalParams:{column:u,rowNode:c},type:"popupCellEditor",eventSource:d,position:f,alignSide:m?"right":"left",keepWithinBounds:!0},w=s.positionPopupByComponent.bind(s,C),v=s.addPopup({modal:p,eChild:g,closeOnEsc:!0,closedCallback:b=>{h.onPopupEditorClosed(b)},anchorToElement:d,positionCallback:w,ariaOwns:d});v&&(this.hideEditorPopup=v.hideFunc)}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},RowComp=class extends Component{constructor(e,t,o){super(),this.cellComps=new Map,this.beans=t,this.rowCtrl=e;const i=_createElement({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(i,o),this.setTemplateFromElement(i);const s=i.style;this.domOrder=this.rowCtrl.getDomOrder();const n={setDomOrder:r=>this.domOrder=r,setCellCtrls:r=>this.setCellCtrls(r),showFullWidth:r=>this.showFullWidth(r),getFullWidthCellRenderer:()=>this.fullWidthCellRenderer,getFullWidthCellRendererParams:()=>this.fullWidthCellRendererParams,toggleCss:(r,a)=>this.toggleCss(r,a),setUserStyles:r=>_addStylesToElement(i,r),setTop:r=>s.top=r,setTransform:r=>s.transform=r,setRowIndex:r=>i.setAttribute("row-index",r),setRowId:r=>i.setAttribute("row-id",r),setRowBusinessKey:r=>i.setAttribute("row-business-key",r),refreshFullWidth:r=>{const a=r();return this.fullWidthCellRendererParams=a,this.fullWidthCellRenderer?.refresh?.(a)??!1}};e.setComp(n,this.getGui(),o,void 0),this.addDestroyFunc(()=>{e.unsetComp(o)})}setInitialStyle(e,t){const o=this.rowCtrl.getInitialTransform(t);if(o)e.style.setProperty("transform",o);else{const i=this.rowCtrl.getInitialRowTop(t);i&&e.style.setProperty("top",i)}}showFullWidth(e){const t=i=>{if(this.isAlive()){const s=i.getGui();this.getGui().appendChild(s),this.rowCtrl.setupDetailRowAutoHeight(s),this.setFullWidthRowComp(i,e.params)}else this.beans.context.destroyBean(i)};e.newAgStackInstance().then(t)}setCellCtrls(e){const t=new Map(this.cellComps);for(const o of e){const i=o.instanceId;this.cellComps.has(i)?t.delete(i):this.newCellComp(o)}this.destroyCells(t),this.ensureDomOrder(e)}ensureDomOrder(e){if(!this.domOrder)return;const t=[];for(const o of e){const i=this.cellComps.get(o.instanceId);i&&t.push(i.getGui())}_setDomChildOrder(this.getGui(),t)}newCellComp(e){const t=this.beans.editSvc?.isEditing(e,{withOpenEditor:!0})??!1,o=new CellComp(this.beans,e,this.rowCtrl.printLayout,this.getGui(),t);this.cellComps.set(e.instanceId,o),this.getGui().appendChild(o.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp(e,t){this.fullWidthCellRenderer=e,this.fullWidthCellRendererParams=t,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells(e){for(const t of e.values()){if(!t)continue;const o=t.cellCtrl.instanceId;this.cellComps.get(o)===t&&(t.detach(),t.destroy(),this.cellComps.delete(o))}}};function getElementParams(e,t,o){const i=!!o.gos.get("enableCellSpan")&&!!t.getSpannedRowCtrls,s={tag:"div",ref:"eContainer",cls:_getRowContainerClass(e),role:"rowgroup"};if(t.type==="center"||i){const n={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${_getRowSpanContainerClass(e)}`,role:"presentation"};return s.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${_getRowViewportClass(e)}`,role:"rowgroup",children:[s,i?n:null]}}return s}var RowContainerComp=class extends Component{constructor(e){super(),this.eViewport=RefPlaceholder,this.eContainer=RefPlaceholder,this.eSpannedContainer=RefPlaceholder,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=e?.name,this.options=_getRowContainerOptions(this.name)}postConstruct(){this.setTemplate(getElementParams(this.name,this.options,this.beans));const e={setHorizontalScroll:o=>this.eViewport.scrollLeft=o,setViewportHeight:o=>this.eViewport.style.height=o,setRowCtrls:({rowCtrls:o})=>this.setRowCtrls(o),setSpannedRowCtrls:o=>this.setRowCtrls(o,!0),setDomOrder:o=>{this.domOrder=o},setContainerWidth:o=>{this.eContainer.style.width=o,this.eSpannedContainer&&(this.eSpannedContainer.style.width=o)},setOffsetTop:o=>{const i=`translateY(${o})`;this.eContainer.style.transform=i,this.eSpannedContainer&&(this.eSpannedContainer.style.transform=i)}};this.createManagedBean(new RowContainerCtrl(this.name)).setComp(e,this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls(e,t){const{beans:o,options:i}=this,s=t?this.eSpannedContainer:this.eContainer,n=t?{...this.rowCompsWithSpan}:{...this.rowCompsNoSpan},r={};t?this.rowCompsWithSpan=r:this.rowCompsNoSpan=r,this.lastPlacedElement=null;const a=[];for(const l of e){const d=l.instanceId,c=n[d];let u;if(c)u=c,delete n[d];else{if(!l.rowNode.displayed)continue;u=new RowComp(l,o,i.type)}r[d]=u,a.push([u,!c])}this.removeOldRows(Object.values(n)),this.addRowNodes(a,s)}addRowNodes(e,t){const{domOrder:o}=this;for(const[i,s]of e){const n=i.getGui();o?this.ensureDomOrder(n,t):s&&t.appendChild(n)}}removeOldRows(e){for(const t of e)t.getGui().remove(),t.destroy()}ensureDomOrder(e,t){_ensureDomOrder(t,e,this.lastPlacedElement),this.lastPlacedElement=e}},RowContainerSelector={selector:"AG-ROW-CONTAINER",component:RowContainerComp};function makeRowContainers(e,t){return t.map(o=>{const i=`e${o[0].toUpperCase()+o.substring(1)}RowContainer`;return e[i]={name:o},{tag:"ag-row-container",ref:i,attrs:{name:o}}})}function getGridBodyTemplate(e){const t={},o={tag:"div",ref:"eGridRoot",cls:"ag-root ag-unselectable",children:[{tag:"ag-header-root"},{tag:"div",ref:"eTop",cls:"ag-floating-top",role:"presentation",children:makeRowContainers(t,["topLeft","topCenter","topRight","topFullWidth"])},{tag:"div",ref:"eBody",cls:"ag-body",role:"presentation",children:[{tag:"div",ref:"eBodyViewport",cls:"ag-body-viewport",role:"presentation",children:makeRowContainers(t,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:makeRowContainers(t,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:makeRowContainers(t,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:makeRowContainers(t,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},e?{tag:"ag-overlay-wrapper"}:null]};return{paramsMap:t,elementParams:o}}var GridBodyComp=class extends Component{constructor(){super(...arguments),this.eGridRoot=RefPlaceholder,this.eBodyViewport=RefPlaceholder,this.eStickyTop=RefPlaceholder,this.eStickyBottom=RefPlaceholder,this.eTop=RefPlaceholder,this.eBottom=RefPlaceholder,this.eBody=RefPlaceholder}postConstruct(){const{overlays:e,rangeSvc:t}=this.beans,o=e?.getOverlayWrapperSelector(),{paramsMap:i,elementParams:s}=getGridBodyTemplate(!!o);this.setTemplate(s,[...o?[o]:[],FakeHScrollSelector,FakeVScrollSelector,GridHeaderSelector,RowContainerSelector],i);const n=(a,l)=>{const d=`${a}px`;l.style.minHeight=d,l.style.height=d},r={setRowAnimationCssOnBodyViewport:(a,l)=>this.setRowAnimationCssOnBodyViewport(a,l),setColumnCount:a=>_setAriaColCount(this.getGui(),a),setRowCount:a=>_setAriaRowCount(this.getGui(),a),setTopHeight:a=>n(a,this.eTop),setBottomHeight:a=>n(a,this.eBottom),setTopInvisible:a=>this.eTop.classList.toggle("ag-invisible",a),setBottomInvisible:a=>this.eBottom.classList.toggle("ag-invisible",a),setStickyTopHeight:a=>this.eStickyTop.style.height=a,setStickyTopTop:a=>this.eStickyTop.style.top=a,setStickyTopWidth:a=>this.eStickyTop.style.width=a,setStickyBottomHeight:a=>{this.eStickyBottom.style.height=a,this.eStickyBottom.classList.toggle("ag-invisible",a==="0px")},setStickyBottomBottom:a=>this.eStickyBottom.style.bottom=a,setStickyBottomWidth:a=>this.eStickyBottom.style.width=a,setColumnMovingCss:(a,l)=>this.toggleCss(a,l),updateLayoutClasses:(a,l)=>{const d=[this.eBodyViewport.classList,this.eBody.classList];for(const c of d)c.toggle(LayoutCssClasses.AUTO_HEIGHT,l.autoHeight),c.toggle(LayoutCssClasses.NORMAL,l.normal),c.toggle(LayoutCssClasses.PRINT,l.print);this.toggleCss(LayoutCssClasses.AUTO_HEIGHT,l.autoHeight),this.toggleCss(LayoutCssClasses.NORMAL,l.normal),this.toggleCss(LayoutCssClasses.PRINT,l.print)},setAlwaysVerticalScrollClass:(a,l)=>this.eBodyViewport.classList.toggle(CSS_CLASS_FORCE_VERTICAL_SCROLL,l),registerBodyViewportResizeListener:a=>{const l=_observeResize(this.beans,this.eBodyViewport,a);this.addDestroyFunc(()=>l())},setPinnedTopBottomOverflowY:a=>this.eTop.style.overflowY=this.eBottom.style.overflowY=a,setCellSelectableCss:(a,l)=>{for(const d of[this.eTop,this.eBodyViewport,this.eBottom])d.classList.toggle(a,l)},setBodyViewportWidth:a=>this.eBodyViewport.style.width=a,setGridRootRole:a=>_setAriaRole(this.eGridRoot,a)};this.ctrl=this.createManagedBean(new GridBodyCtrl),this.ctrl.setComp(r,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),(t&&_isCellSelectionEnabled(this.gos)||_isMultiRowSelection(this.gos))&&_setAriaMultiSelectable(this.getGui(),!0)}setRowAnimationCssOnBodyViewport(e,t){const o=this.eBodyViewport.classList;o.toggle("ag-row-animation",t),o.toggle("ag-row-no-animation",!t)}getFocusableContainerName(){return"gridBody"}},GridBodySelector={selector:"AG-GRID-BODY",component:GridBodyComp},TabGuardClassNames={TAB_GUARD:"ag-tab-guard",TAB_GUARD_TOP:"ag-tab-guard-top",TAB_GUARD_BOTTOM:"ag-tab-guard-bottom"},AgTabGuardCtrl=class extends AgBeanStub{constructor(e,t){super(),this.stopPropagationCallbacks=t,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;const{comp:o,eTopGuard:i,eBottomGuard:s,focusTrapActive:n,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:a,focusInnerElement:l,onFocusIn:d,onFocusOut:c,shouldStopEventPropagation:u,onTabKeyDown:h,handleKeyDown:g,isEmpty:p,eFocusableElement:f}=e;this.comp=o,this.eTopGuard=i,this.eBottomGuard=s,this.providedFocusInnerElement=l,this.eFocusableElement=f,this.focusTrapActive=!!n,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!a,this.providedFocusIn=d,this.providedFocusOut=c,this.providedShouldStopEventPropagation=u,this.providedOnTabKeyDown=h,this.providedHandleKeyDown=g,this.providedIsEmpty=p}postConstruct(){this.createManagedBean(new AgManagedFocusFeature(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards();for(const e of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)})}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return this.providedShouldStopEventPropagation?this.providedShouldStopEventPropagation():!1}activateTabGuards(){if(this.forcingFocusOut)return;const e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty&&(this.providedIsEmpty?this.providedIsEmpty():_findFocusableElements(this.eFocusableElement,".ag-tab-guard").length===0)){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;const t=e.target===this.eBottomGuard;!(this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t))&&this.forceFocusOutWhenTabGuardsAreEmpty&&this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard)}findNextElementOutsideAndFocus(e){const t=_getDocument(this.beans),o=_findFocusableElements(t.body,null,!0),i=o.indexOf(e?this.eTopGuard:this.eBottomGuard);if(i===-1)return;let s,n;e?(s=0,n=i):(s=i+1,n=o.length);const r=o.slice(s,n),a=this.gos.get("tabIndex");r.sort((l,d)=>{const c=Number.parseInt(l.getAttribute("tabindex")||"0"),u=Number.parseInt(d.getAttribute("tabindex")||"0");return u===a?1:c===a?-1:c===0?1:u===0?-1:c-u}),r[e?r.length-1:0]?.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(e);return}if(this.focusTrapActive||e.defaultPrevented)return;const t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();const o=this.getNextFocusableElement(e.shiftKey);t&&setTimeout(()=>this.activateTabGuards(),0),o&&(o.focus(),e.preventDefault())}focusInnerElement(e=!1){const t=_findFocusableElements(this.eFocusableElement);return this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(-1,1)),t.length?(t[e?t.length-1:0].focus({preventScroll:!0}),!0):!1}getNextFocusableElement(e){return _findNextFocusableElement(this.beans,this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;const t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},AgTabGuardFeature=class extends AgBeanStub{constructor(e,t){super(),this.comp=e,this.stopPropagationCallbacks=t}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();const{eTopGuard:t,eBottomGuard:o,eFocusableElement:i,stopPropagationCallbacks:s}=this,n=[t,o],r={setTabIndex:C=>{for(const w of n)C==null?w.removeAttribute("tabindex"):w.setAttribute("tabindex",C)}};this.addTabGuards(t,o);const{focusTrapActive:a=!1,onFocusIn:l,onFocusOut:d,focusInnerElement:c,handleKeyDown:u,onTabKeyDown:h,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:f,isFocusableContainer:m}=e;this.tabGuardCtrl=this.createManagedBean(new AgTabGuardCtrl({comp:r,focusTrapActive:a,eTopGuard:t,eBottomGuard:o,eFocusableElement:i,onFocusIn:l,onFocusOut:d,focusInnerElement:c,handleKeyDown:u,onTabKeyDown:h,shouldStopEventPropagation:g,isEmpty:p,forceFocusOutWhenTabGuardsAreEmpty:f,isFocusableContainer:m},s))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){const t=_getDocument(this.beans).createElement("div"),o=e==="top"?TabGuardClassNames.TAB_GUARD_TOP:TabGuardClassNames.TAB_GUARD_BOTTOM;return t.classList.add(TabGuardClassNames.TAB_GUARD,o),_setAriaRole(t,"presentation"),t}addTabGuards(e,t){const o=this.eFocusableElement;o.prepend(e),o.append(t)}removeAllChildrenExceptTabGuards(){const e=[this.eTopGuard,this.eBottomGuard];_clearElement(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,o){_isNodeOrElement(t)||(t=t.getGui());const{eBottomGuard:i}=this;i?i.before(t):e(t,o)}destroy(){const{eTopGuard:e,eBottomGuard:t}=this;_removeFromParent(e),_removeFromParent(t),super.destroy()}},AgTabGuardComp=class extends AgComponentStub{initialiseTabGuard(e,t){this.tabGuardFeature=this.createManagedBean(new AgTabGuardFeature(this,t)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},TabGuardComp=class extends AgTabGuardComp{initialiseTabGuard(e){super.initialiseTabGuard(e,STOP_PROPAGATION_CALLBACKS)}},focusContainer=(e,t)=>_runWithContainerFocusAllowed(e,()=>_focusInto(e.getGui(),t,!1,!0)),getGridContainerName=e=>e?.getFocusableContainerName()??"external",getDefaultTabToNextGridContainerTargetName=e=>e==null?"external":typeof e=="string"?e:"gridBody",GridCtrl=class extends BeanStub{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}setComp(e,t,o){this.view=e,this.eGridHostDiv=t,this.eGui=o,this.eGui.setAttribute("grid-id",this.beans.context.getId());const{dragAndDrop:i,ctrlsSvc:s}=this.beans;i?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new LayoutFeature(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),this.gos.get("suppressContentVisibilityAuto")&&this.eGui.style.setProperty("content-visibility","visible");const n=_observeResize(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>n()),s.register("gridCtrl",this)}isDetailGrid(){return _findTabbableParent(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){const e=this.beans;return{paginationSelector:e.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:e.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:e.sideBar?.getSelector(),statusBarSelector:e.registry?.getSelector("AG-STATUS-BAR"),toolbarSelector:e.registry?.getSelector("AG-TOOLBAR"),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventSvc.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){const{view:t}=this;e===!1?t.setCursor(null):t.setCursor(e===1?"ew-resize":"ns-resize")}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){const t=this.getFocusableContainers(),{indexWithFocus:o,nextIndex:i}=this.getNextFocusableIndex(t,e),s=o===-1?e?t.length-1:0:i,{gos:n,beans:{focusSvc:r,navigation:a}}=this,l=n.getCallback("tabToNextGridContainer");if(l){const d=r.getDefaultTabToNextGridContainerTarget({backwards:e,focusableContainers:t,nextIndex:s}),c=getGridContainerName(t[s]),u=d==null&&c==="gridBody"?"gridBody":getDefaultTabToNextGridContainerTargetName(d),h=l({backwards:e,previousContainer:getGridContainerName(t[o]),nextContainer:u,defaultTarget:d});if(h!==void 0){if(typeof h=="boolean")return h;if(typeof h=="string"){if(h==="gridBody")return this.focusGridBodyDefault(e)||void 0;const g=t.find(p=>p.getFocusableContainerName()===h);if(!g){_consoleWarn(`tabToNextGridContainer - ${h} container not found`);return}return focusContainer(g,e)?!0:void 0}return isHeaderPosition(h)?r.focusHeaderPosition({headerPosition:h})||void 0:(a?.ensureCellVisible(h),r.setFocusedCell({...h,forceBrowserFocus:!0}),r.isCellFocused(h)||void 0)}}return this.focusNextInnerContainerDefault({backwards:e,focusableContainers:t,indexWithFocus:o,nextIndex:s})||void 0}focusInnerElement(e){const{gos:t,beans:o,beans:{focusSvc:i,visibleCols:s}}=this;if(t.getCallback("focusGridInnerElement")?.({fromBottom:!!e}))return!0;const r=this.getFocusableContainers();if(e)return this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:r,indexWithFocus:r.length,nextIndex:r.length-1})?!0:i.focusGridView({column:_last(s.allCols),backwards:!0});const a=s.allCols;if(t.get("headerHeight")===0||_isHeaderFocusSuppressed(o)){if(i.focusGridView({column:a[0],backwards:e}))return!0;for(let l=1;l<r.length;l++)if(_focusInto(r[l].getGui(),e))return!0;return!1}return i.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}isFocusInsideGridBody(){const e=this.getFocusableContainers(),{indexWithFocus:t}=this.getNextFocusableIndex(e);return e[t]?.getFocusableContainerName()==="gridBody"}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}allowFocusForNextCoreContainer(e){const t=this.view.getFocusableContainers(),{indexWithFocus:o,nextIndex:i}=this.getNextFocusableIndex(t,e);this.focusNextInnerContainerDefault({backwards:!!e,focusableContainers:t,indexWithFocus:o,nextIndex:i})||this.forceFocusOutOfContainer(e)}isFocusable(){const e=this.beans;return!_isCellFocusSuppressed(e)||!_isHeaderFocusSuppressed(e)||!!e.sideBar?.comp?.isDisplayed()}getNextFocusableIndex(e,t){const o=_getActiveDomElement(this.beans),i=e.findIndex(s=>s.getGui().contains(o));return{indexWithFocus:i,nextIndex:i+(t?-1:1)}}focusGridBodyDefault(e){const{gos:t,beans:o,beans:{focusSvc:i,visibleCols:{allCols:s}}}=this;return e?i.focusGridView({column:_last(s),backwards:!0}):t.get("headerHeight")===0||_isHeaderFocusSuppressed(o)?i.focusGridView({column:s[0]}):i.focusFirstHeader()}focusNextInnerContainerDefault(e){const{backwards:t,focusableContainers:o,indexWithFocus:i}=e,s=t?-1:1;for(let n=e.nextIndex;n>=0&&n<o.length;n+=s){const r=o[n];if(r.getFocusableContainerName()==="gridBody"&&(i===-1||(t?i>n:i<n))){if(this.focusGridBodyDefault(t))return!0;continue}if(focusContainer(r,t))return!0}return!1}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},GridComp=class extends TabGuardComp{constructor(e){super(),this.gridBody=RefPlaceholder,this.toolbar=RefPlaceholder,this.gridHeaderDropZones=RefPlaceholder,this.sideBar=RefPlaceholder,this.statusBar=RefPlaceholder,this.pagination=RefPlaceholder,this.rootWrapperBody=RefPlaceholder,this.eGridDiv=e}postConstruct(){const e={destroyGridUi:()=>this.destroyBean(this),setRtlClass:n=>this.addCss(n),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:n=>{this.getGui().style.userSelect=n??"",this.getGui().style.webkitUserSelect=n??""},setCursor:n=>{this.getGui().style.cursor=n??""}},t=this.createManagedBean(new GridCtrl),o=t.getOptionalSelectors(),i=this.createTemplate(o),s=[GridBodySelector,...Object.values(o).filter(n=>!!n)];this.setTemplate(i,s),t.setComp(e,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:n=>t.focusInnerElement(n),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!t.isFocusable()})}insertGridIntoDom(){const e=this.getGui();this.eGridDiv.appendChild(e),this.addDestroyFunc(()=>{e.remove(),_logIfDebug(this.gos,"Grid removed from DOM")})}updateLayoutClasses(e,t){const o=this.rootWrapperBody.classList,{AUTO_HEIGHT:i,NORMAL:s,PRINT:n}=LayoutCssClasses,{autoHeight:r,normal:a,print:l}=t;o.toggle(i,r),o.toggle(s,a),o.toggle(n,l),this.toggleCss(i,r),this.toggleCss(s,a),this.toggleCss(n,l)}createTemplate(e){const t=e.toolbarSelector?{tag:"ag-toolbar",ref:"toolbar"}:null,o=e.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,i=e.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,s=e.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,n=e.watermarkSelector?{tag:"ag-watermark"}:null,r=e.paginationSelector?{tag:"ag-pagination",ref:"pagination"}:null;return{tag:"div",cls:"ag-root-wrapper",role:"presentation",children:[t,o,{tag:"div",ref:"rootWrapperBody",cls:"ag-root-wrapper-body",role:"presentation",children:[{tag:"ag-grid-body",ref:"gridBody"},i]},s,r,n]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(e=!1){if(!e&&this.pagination?.isDisplayed()){this.pagination.forceFocusOutOfContainer(e);return}super.forceFocusOutOfContainer(e)}getFocusableContainers(){const e=[];this.toolbar&&e.push(this.toolbar),e.push(...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody);for(const t of[this.sideBar,this.statusBar,this.pagination])t&&e.push(t);return e.filter(t=>_isVisible(t.getGui()))}},mod=(e,t)=>{for(const o of Object.keys(t))t[o]=e;return t},gridApiFunctionsMap={dispatchEvent:"CommunityCore",...mod("CommunityCore",{destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,isModuleRegistered:0}),...mod("GridState",{getState:0,setState:0}),...mod("SharedRowSelection",{setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0}),...mod("RowApi",{redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRowIndex:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0}),...mod("ScrollApi",{getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0}),...mod("KeyboardNavigation",{getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0}),...mod("EventApi",{addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0}),...mod("ValueCache",{expireValueCache:0}),...mod("CellApi",{getCellValue:0}),...mod("SharedMenu",{showColumnMenu:0,hidePopupMenu:0}),...mod("Sort",{onSortChanged:0}),...mod("PinnedRow",{getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,forEachPinnedRow:0}),...mod("Overlay",{showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0}),...mod("RenderApi",{setGridAriaProperty:0,refreshCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0}),...mod("HighlightChanges",{flashCells:0}),...mod("RowDrag",{addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getRowDropPositionIndicator:0,setRowDropPositionIndicator:0}),...mod("ColumnApi",{getColumnDefs:0,getColumnDef:0,getDisplayNameForColumn:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnsVisible:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0}),...mod("ColumnAutoSize",{sizeColumnsToFit:0,autoSizeColumns:0,autoSizeAllColumns:0}),...mod("ColumnGroup",{setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumnGroup:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0}),...mod("ColumnMove",{moveColumnByIndex:0,moveColumns:0}),...mod("ColumnResize",{setColumnWidths:0}),...mod("ColumnHover",{isColumnHovered:0}),...mod("EditCore",{getCellEditorInstances:0,getEditingCells:0,getEditRowValues:0,stopEditing:0,startEditingCell:0,isEditing:0,validateEdit:0}),...mod("BatchEdit",{startBatchEdit:0,cancelBatchEdit:0,commitBatchEdit:0,isBatchEditing:0}),...mod("UndoRedoEdit",{undoCellEditing:0,redoCellEditing:0,getCurrentUndoSize:0,getCurrentRedoSize:0}),...mod("FilterCore",{isAnyFilterPresent:0,onFilterChanged:0}),...mod("ColumnFilter",{isColumnFilterPresent:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,hideColumnFilter:0,getColumnFilterHandler:0,doFilterAction:0}),...mod("QuickFilter",{isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0}),...mod("Notes",{getNote:0,setNote:0,refreshNotes:0}),...mod("Find",{findGetActiveMatch:0,findGetTotalMatches:0,findGoTo:0,findNext:0,findPrevious:0,findGetNumMatches:0,findGetParts:0,findClearActive:0,findRefresh:0}),...mod("Pagination",{paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0}),...mod("CsrmSsrmSharedApi",{expandAll:0,collapseAll:0,resetRowGroupExpansion:0}),...mod("SsrmInfiniteSharedApi",{setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...mod("ClientSideRowModelApi",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0,onRowHeightChanged:0,resetRowHeights:0}),...mod("CsvExport",{getDataAsCsv:0,exportDataAsCsv:0}),...mod("InfiniteRowModel",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...mod("AdvancedFilter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...mod("IntegratedCharts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...mod("Clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...mod("ExcelExport",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...mod("SharedMasterDetail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...mod("Formula",{refreshFormulas:0}),...mod("ContextMenu",{showContextMenu:0}),...mod("ColumnMenu",{showColumnChooser:0,hideColumnChooser:0}),...mod("CellSelection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...mod("SharedRowGrouping",{setRowGroupColumns:0,removeRowGroupColumns:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0}),...mod("SharedAggregation",{addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0}),...mod("SharedPivot",{isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumns:0,addValueColumns:0,setPivotColumns:0,removePivotColumns:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...mod("ServerSideRowModelApi",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0,onRowHeightChanged:0,resetRowHeights:0}),...mod("SideBar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...mod("Toolbar",{getToolbarItemInstance:0}),...mod("StatusBar",{getStatusPanel:0}),...mod("AiToolkit",{getStructuredSchema:0})},defaultFns={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},dispatchEvent=(e,t)=>e.eventSvc.dispatchEvent(t),GridApiClass=class{};Reflect.defineProperty(GridApiClass,"name",{value:"GridApi"});var ApiFunctionService=class extends BeanStub{constructor(){super(),this.beanName="apiFunctionSvc",this.api=new GridApiClass,this.fns={...defaultFns,dispatchEvent},this.preDestroyLink="";const{api:e}=this;for(const t of Object.keys(gridApiFunctionsMap))e[t]=this.makeApi(t)[t]}postConstruct(){this.preDestroyLink=this.beans.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(e,t){const{fns:o,beans:i}=this;o!==defaultFns&&(o[e]=i?.validation?.validateApiFunction(e,t)??t)}makeApi(e){return{[e]:(...t)=>{const{beans:o,fns:{[e]:i}}=this;return i?i(o,...t):this.apiNotFound(e)}}}apiNotFound(e){const{beans:t,gos:o,preDestroyLink:i}=this;if(!t)_warn(26,{fnName:e,preDestroyLink:i});else{const s=gridApiFunctionsMap[e];o.assertModuleRegistered(s,`api.${e}`)&&_warn(27,{fnName:e,module:s})}}destroy(){super.destroy(),this.fns=defaultFns,this.beans=null}};function getGridId(e){return e.context.getId()}function destroy(e){e.gridDestroySvc.destroy()}function isDestroyed(e){return e.gridDestroySvc.destroyCalled}function getGridOption(e,t){return e.gos.get(t)}function setGridOption(e,t,o){updateGridOptions(e,{[t]:o})}function updateGridOptions(e,t){e.gos.updateGridOptions({options:t})}function isModuleRegistered(e,t){const o=t.replace(/Module$/,"");return e.gos.isModuleRegistered(o)}function _createIcon(e,t,o){const i=_createIconNoSpan(e,t,o);if(i){const{className:n}=i;if(typeof n=="string"&&n.includes("ag-icon")||typeof n=="object"&&n["ag-icon"])return i}const s=_createElement({tag:"span"});return s.appendChild(i),s}function _createIconNoSpan(e,t,o){let i=null;e==="smallDown"?_warn(262):e==="smallLeft"?_warn(263):e==="smallRight"&&_warn(264);const s=o?.colDef.icons;if(s&&(i=s[e]),t.gos&&!i){const n=t.gos.get("icons");n&&(i=n[e])}if(i){let n;if(typeof i=="function")n=i();else if(typeof i=="string")n=i;else{_warn(38,{iconName:e});return}if(typeof n=="string")return _loadTemplate(n);if(_isNodeOrElement(n))return n;_warn(133,{iconName:e});return}else{const n=t.registry.getIcon(e);return n||t.validation?.validateIcon(e),_createElement({tag:"span",cls:`ag-icon ag-icon-${n??e}`,role:"presentation",attrs:{unselectable:"on"}})}}var DndSourceElement={tag:"div",cls:"ag-drag-handle ag-row-drag",attrs:{draggable:"true"}},DndSourceComp=class extends Component{constructor(e,t,o){super(DndSourceElement),this.rowNode=e,this.column=t,this.eCell=o}postConstruct(){this.getGui().appendChild(_createIconNoSpan("rowDrag",this.beans,null)),this.addGuiEventListener("mousedown",t=>{t.stopPropagation()}),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){const{rowNode:t,column:o,eCell:i,gos:s}=this,n=o.colDef.dndSourceOnRowDrag,r=e.dataTransfer;if(r.setDragImage(i,0,0),n){const a=_addGridCommonParams(s,{rowNode:t,dragEvent:e});n(a)}else try{const a=JSON.stringify(t.data);r.setData("application/json",a),r.setData("text/plain",a)}catch{}}checkVisibility(){const e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},dragAndDropImageComponent_default=".ag-dnd-ghost{align-items:center;background-color:var(--ag-drag-and-drop-image-background-color);border:var(--ag-drag-and-drop-image-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-drag-and-drop-image-shadow);color:var(--ag-text-color);cursor:move;display:flex;font-weight:500;gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);text-overflow:ellipsis;transform:translateY(calc(var(--ag-spacing)*2));white-space:nowrap}.ag-dnd-ghost-not-allowed{border:var(--ag-drag-and-drop-image-not-allowed-border)}",DragAndDropElement={tag:"div",children:[{tag:"div",ref:"eGhost",cls:"ag-dnd-ghost ag-unselectable",children:[{tag:"span",ref:"eIcon",cls:"ag-dnd-ghost-icon ag-shake-left-to-right"},{tag:"div",ref:"eLabel",cls:"ag-dnd-ghost-label"}]}]},DragAndDropImageComponent2=class extends Component{constructor(){super(),this.dragSource=null,this.eIcon=RefPlaceholder,this.eLabel=RefPlaceholder,this.eGhost=RefPlaceholder,this.registerCSS(dragAndDropImageComponent_default)}postConstruct(){const e=t=>_createIcon(t,this.beans,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(DragAndDropElement),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t){const{eGhost:o,eIcon:i,dragSource:s,dropIconMap:n,gos:r}=this;_clearElement(i),e||(e=s?.getDefaultIconName?s.getDefaultIconName():"notAllowed");const a=n[e];o.classList.toggle("ag-dnd-ghost-not-allowed",e==="notAllowed"),i.classList.toggle("ag-shake-left-to-right",t),!(a===n.hide&&r.get("suppressDragLeaveHidesColumns"))&&a&&i.appendChild(a)}setLabel(e){this.eLabel.textContent=e}};function addRowDropZone(e,t){e.rowDragSvc?.rowDragFeature?.addRowDropZone(t)}function removeRowDropZone(e,t){const o=e.dragAndDrop?.findExternalZone(t.getContainer());o&&e.dragAndDrop?.removeDropTarget(o)}function getRowDropZoneParams(e,t){return e.rowDragSvc?.rowDragFeature?.getRowDropZone(t)}function getRowDropPositionIndicator(e){const t=e.rowDropHighlightSvc;return t?{row:t.row,dropIndicatorPosition:t.position}:{row:null,dropIndicatorPosition:"none"}}function setRowDropPositionIndicator(e,t){const o=e.rowDropHighlightSvc;if(!o)return;const i=t?.row;let s=t?.dropIndicatorPosition;s!=="above"&&s!=="below"&&s!=="inside"&&(s="none");const n=i?.rowIndex;n==null||s==="none"?o.clear():o.set(i,s)}var tryPointerCapture=(e,t)=>{if(t!=null&&e?.setPointerCapture)try{return e.setPointerCapture(t),e.hasPointerCapture(t)}catch{}return!1},capturePointer=(e,t)=>{if(typeof PointerEvent>"u"||!(t instanceof PointerEvent))return null;const o=t.pointerId;if(!tryPointerCapture(e,o))return null;const i={eElement:e,pointerId:o,onLost(s){pointerLostHandler(i,s)}};return e.addEventListener("lostpointercapture",i.onLost),i},releasePointerCapture=e=>{if(!e)return;removeLostHandler(e);const{eElement:t,pointerId:o}=e;if(t){try{t.releasePointerCapture(o)}catch{}e.eElement=null}},removeLostHandler=e=>{const{eElement:t,onLost:o}=e;t&&o&&(t.removeEventListener("lostpointercapture",o),e.onLost=null)},pointerLostHandler=(e,t)=>{removeLostHandler(e);const{eElement:o,pointerId:i}=e;o&&t.pointerId===i&&tryPointerCapture(o,i)},activePointerDrags,handledDragEvents,PASSIVE_TRUE={passive:!0},PASSIVE_FALSE={passive:!1},addHandledDragEvent=e=>{if(!handledDragEvents)handledDragEvents=new WeakSet;else if(handledDragEvents.has(e))return!1;return handledDragEvents.add(e),!0},BaseDragService=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="dragSvc",this.dragging=!1,this.drag=null,this.dragSources=[]}get startTarget(){return this.drag?.start.target??null}isPointer(){return!!activePointerDrags?.has(_getRootNode(this.beans))}hasPointerCapture(){const e=this.drag?.pointerCapture;return!!(e&&this.beans.eRootDiv.hasPointerCapture?.(e.pointerId))}destroy(){this.drag&&this.cancelDrag();const e=this.dragSources;for(const t of e)destroyDragSourceEntry(t);e.length=0,super.destroy()}removeDragSource(e){const t=this.dragSources;for(let o=0,i=t.length;o<i;++o){const s=t[o];if(s.params===e){t.splice(o,1),destroyDragSourceEntry(s);break}}}addDragSource(e){if(!this.isAlive())return;const{eElement:t,includeTouch:o}=e,i=[];let s;if(o){const d=t.style;d&&(s=d.touchAction,d.touchAction="none")}const n={handlers:i,params:e,oldTouchAction:s};this.dragSources.push(n),addTempEventHandlers(i,[t,"pointerdown",d=>this.onPointerDown(e,d),PASSIVE_FALSE],[t,"mousedown",d=>this.onMouseDown(e,d)]);const l=this.gos.get("suppressTouch");o&&!l&&addTempEventHandlers(i,[t,"touchstart",c=>this.onTouchStart(e,c),PASSIVE_FALSE])}cancelDrag(e){const t=this.drag;e??(e=t?.eElement),e&&this.eventSvc.dispatchEvent({type:"dragCancelled",target:e}),t?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent(e){const t=e.type;return(t==="mousemove"||t==="pointermove")&&e.cancelable&&_isEventFromThisInstance(this.beans,e)&&!_isFocusableFormField(getEventTargetElement(e))}initDrag(e,...t){this.drag=e;const o=this.beans,i=a=>this.onScroll(a),s=a=>this.onKeyDown(a),n=_getRootNode(o),r=_getDocument(o);addTempEventHandlers(e.handlers,[n,"contextmenu",preventEventDefault],[n,"keydown",s],[r,"scroll",i,{capture:!0}],[r.defaultView||window,"scroll",i],...t)}destroyDrag(){this.dragging=!1;const e=this.drag;if(e){const t=e.rootEl;activePointerDrags?.get(t)===e&&activePointerDrags.delete(t),this.drag=null,releasePointerCapture(e.pointerCapture),clearTempEventHandlers(e.handlers)}}onPointerDown(e,t){if(this.isPointer())return;const o=this.beans;if(handledDragEvents?.has(t))return;const i=t.pointerType;if(i==="touch"&&(o.gos.get("suppressTouch")||!e.includeTouch||(e.stopPropagationForTouch&&t.stopPropagation(),_isFocusableFormField(getEventTargetElement(t))))||!t.isPrimary||i==="mouse"&&t.button!==0)return;this.destroyDrag();const s=_getRootNode(o),n=e.eElement,r=t.pointerId,a=new Dragging(s,e,t,r);activePointerDrags??(activePointerDrags=new WeakMap),activePointerDrags.set(s,a);const l=h=>{h.pointerId===r&&this.onMouseOrPointerMove(h)},d=h=>{h.pointerId===r&&this.onMouseOrPointerUp(h)},c=h=>{h.pointerId===r&&addHandledDragEvent(h)&&this.cancelDrag()},u=h=>this.draggingPreventDefault(h);this.initDrag(a,[s,"pointerup",d],[s,"pointercancel",c],[s,"pointermove",l,PASSIVE_FALSE],[s,"touchmove",u,PASSIVE_FALSE],[n,"mousemove",u,PASSIVE_FALSE]),e.dragStartPixels===0?this.onMouseOrPointerMove(t):addHandledDragEvent(t)}onTouchStart(e,t){if(this.gos.get("suppressTouch")||!e.includeTouch||!addHandledDragEvent(t)||_isFocusableFormField(getEventTargetElement(t)))return;if(e.stopPropagationForTouch&&t.stopPropagation(),this.isPointer()){this.dragging&&preventEventDefault(t);return}this.destroyDrag();const i=this.beans,s=_getRootNode(i),n=new Dragging(s,e,t.touches[0]),r=h=>this.onTouchMove(h),a=h=>this.onTouchUp(h),l=h=>this.onTouchCancel(h),d=h=>this.draggingPreventDefault(h),c=_getRootNode(i),u=t.target??e.eElement;this.initDrag(n,[u,"touchmove",r,PASSIVE_TRUE],[u,"touchend",a,PASSIVE_TRUE],[u,"touchcancel",l,PASSIVE_TRUE],[c,"touchmove",d,PASSIVE_FALSE],[c,"touchend",a,PASSIVE_FALSE],[c,"touchcancel",l,PASSIVE_FALSE]),e.dragStartPixels===0&&this.onMove(n.start)}draggingPreventDefault(e){this.dragging&&preventEventDefault(e)}onMouseDown(e,t){if(t.button!==0||handledDragEvents?.has(t)||this.isPointer())return;const o=this.beans;this.destroyDrag();const i=new Dragging(_getRootNode(o),e,t),s=a=>this.onMouseOrPointerMove(a),n=a=>this.onMouseOrPointerUp(a),r=_getRootNode(o);this.initDrag(i,[r,"mousemove",s],[r,"mouseup",n]),e.dragStartPixels===0?this.onMouseOrPointerMove(t):addHandledDragEvent(t)}onScroll(e){if(!addHandledDragEvent(e))return;const t=this.drag,o=t?.lastDrag;o&&this.dragging&&t.params?.onDragging?.(o)}onMouseOrPointerMove(e){addHandledDragEvent(e)&&(_isBrowserSafari()&&_getDocument(this.beans).getSelection()?.removeAllRanges(),this.shouldPreventMouseEvent(e)&&preventEventDefault(e),this.onMove(e))}onTouchCancel(e){const t=this.drag;!t||!addHandledDragEvent(e)||_getFirstActiveTouch(t.start,e.changedTouches)&&this.cancelDrag()}onTouchMove(e){const t=this.drag;if(!t||!addHandledDragEvent(e))return;const o=_getFirstActiveTouch(t.start,e.touches);o&&(this.onMove(o),this.draggingPreventDefault(e))}onMove(e){const t=this.drag;if(!t)return;t.lastDrag=e;const o=t.params;if(!this.dragging){const i=t.start,n=o.dragStartPixels??4;if(_areEventsNear(e,i,n)||(this.dragging=!0,o.capturePointer&&(t.pointerCapture=capturePointer(this.beans.eRootDiv,e)),this.eventSvc.dispatchEvent({type:"dragStarted",target:o.eElement}),o.onDragStart?.(i),this.drag!==t)||(o.onDragging?.(i),this.drag!==t))return}o.onDragging?.(e)}onTouchUp(e){const t=this.drag;t&&addHandledDragEvent(e)&&this.onUp(_getFirstActiveTouch(t.start,e.changedTouches))}onMouseOrPointerUp(e){addHandledDragEvent(e)&&this.onUp(e)}onUp(e){const t=this.drag;t&&(e||(e=t.lastDrag),e&&this.dragging&&(this.dragging=!1,t.params.onDragStop?.(e),this.eventSvc.dispatchEvent({type:"dragStopped",target:t.params.eElement})),this.destroyDrag())}onKeyDown(e){e.key===KeyCode.ESCAPE&&this.cancelDrag()}},destroyDragSourceEntry=e=>{clearTempEventHandlers(e.handlers);const t=e.oldTouchAction;if(t!=null){const o=e.params.eElement.style;o&&(o.touchAction=t)}},Dragging=class{constructor(e,t,o,i=null){this.rootEl=e,this.params=t,this.start=o,this.pointerId=i,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=t.eElement}},getEventTargetElement=e=>{const t=e.target;return t instanceof Element?t:null},DragService=class extends BaseDragService{shouldPreventMouseEvent(e){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent(e)}},HorizontalResizeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="horizontalResizeSvc"}addResizeBar(e){const t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:o}=this.beans;return o.addDragSource(t),()=>o.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();const o=t instanceof MouseEvent&&t.shiftKey===!0;e.onResizeStart(o)}setResizeIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(1),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){const e=this.beans.ctrlsSvc.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},RowDragElement={tag:"div",cls:"ag-drag-handle ag-row-drag",attrs:{"aria-hidden":"true"}},SKIP_ARIA_HIDDEN={skipAriaHidden:!0},RowDragComp=class extends Component{constructor(e,t,o,i,s,n=!1){super(),this.cellValueFn=e,this.rowNode=t,this.column=o,this.customGui=i,this.dragStartPixels=s,this.alwaysVisible=n,this.dragSource=null,this.disabled=!1}isCustomGui(){return this.customGui!=null}postConstruct(){const{beans:e,customGui:t}=this;t?this.setDragElement(t,this.dragStartPixels):(this.setTemplate(RowDragElement),this.getGui().appendChild(_createIconNoSpan("rowDrag",e,null)),this.addDragSource()),this.alwaysVisible||this.initCellDrag()}initCellDrag(){const{beans:e,rowNode:t}=this,o=this.refreshVisibility.bind(this);this.addManagedListeners(e.eventSvc,{rowDragVisibilityChanged:o}),this.addManagedListeners(t,{dataChanged:o,cellChanged:o}),this.refreshVisibility()}setDragElement(e,t){this.setTemplateFromElement(e,void 0,void 0,!0),this.addDragSource(t)}refreshVisibility(){if(this.alwaysVisible)return;const{beans:e,column:t,rowNode:o}=this,{gos:i,dragAndDrop:s,rowDragSvc:n}=e,r=n?.visibility;let l=!(r==="suppress"||r==="hidden"&&!s?.hasExternalDropZones()),d=l;if(l&&!this.isCustomGui()&&t){const c=t.getColDef().rowDrag;if(c===!1)l=!1;else{const u=typeof c=="function";d=t.isRowDrag(o),l=u||d}}l&&d&&o.footer&&i.get("rowDragManaged")&&(d=!1,l=!0),d&&(d=l),l||this.setDisplayed(l,SKIP_ARIA_HIDDEN),d||this.setVisible(d,SKIP_ARIA_HIDDEN),this.setDisabled(!d||r==="disabled"&&!s?.hasExternalDropZones()),l&&this.setDisplayed(l,SKIP_ARIA_HIDDEN),d&&this.setVisible(d,SKIP_ARIA_HIDDEN)}setDisabled(e){e!==this.disabled&&(this.disabled=e,this.getGui()?.classList?.toggle("ag-drag-handle-disabled",e))}getSelectedNodes(){const e=this.rowNode;if(!this.gos.get("rowDragMultiRow"))return[e];const o=this.beans.selectionSvc?.getSelectedNodes()??[];return o.indexOf(e)!==-1?o:[e]}getDragItem(){const{column:e,rowNode:t}=this;return{rowNode:t,rowNodes:this.getSelectedNodes(),columns:e?[e]:void 0,defaultTextValue:this.cellValueFn()}}addDragSource(e=4){if(this.dragSource&&this.removeDragSource(),this.gos.get("rowDragManaged")&&this.rowNode.footer)return;const t=this.getGui();if(this.gos.get("enableCellTextSelection")){this.removeMouseDownListener();const i=_isEventSupported("pointerdown")?{pointerdown:preventEventDefault}:{mousedown:preventEventDefault};this.mouseDownListener=this.addManagedElementListeners(t,i)[0]}const o=this.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:i=>this.getDragItemName(i,o),getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDrop.addDragSource(this.dragSource,!0)}getDragItemName(e,t){const o=e?.dragItem||this.getDragItem(),i=(e?.dropTarget?.rows.length??o.rowNodes?.length)||1,s=this.column?.getColDef()?.rowDragText??this.gos.get("rowDragText");if(s)return s(o,i);if(i!==1)return`${i} ${t("rowDragRows","rows")}`;const n=this.cellValueFn();return n||`1 ${t("rowDragRow","rows")}`}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDrop.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},AutoScrollService=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=e.scrollAxis.includes("x"),this.scrollVertically=e.scrollAxis.includes("y"),this.scrollByTick=e.scrollByTick??20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return this.tickingInterval!==null}check(e,t=!1){const o=!this.scrollVertically||t||this.shouldSkipVerticalScroll(),i=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if(o&&i)return;const s=this.scrollContainer.getBoundingClientRect(),n=this.scrollByTick;this.tickLeft=!i&&e.clientX<s.left+n,this.tickRight=!i&&e.clientX>s.right-n,this.tickUp=!o&&e.clientY<s.top+n,this.tickDown=!o&&e.clientY>s.bottom-n,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){this.tickingInterval===null&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;const e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){const t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){const t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},ChangedRowNodes=class{constructor(){this.reordered=!1,this.removals=[],this.updates=new Set,this.adds=new Set}},_csrmFirstLeaf=e=>{let t=e.childrenAfterGroup;for(;t?.length;){const o=t[0];if(o.sourceRowIndex>=0)return o;t=o.childrenAfterGroup}},_csrmReorderAllLeafs=(e,t,o,i)=>{if(!t.size||!e)return!1;let s=!1;const n=e.length??0;let r=-1;o&&(r=o.sourceRowIndex,o=r<0?_csrmFirstLeaf(o):null,o&&(r=o.sourceRowIndex)),r<0||r>=n?r=n:i||++r;let a=r,l=Math.min(r,n-1);for(const u of t){const h=u.sourceRowIndex;h<a&&(a=h),h>l&&(l=h)}let d=a;for(let u=a;u<r;++u){const h=e[u];t.has(h)||(h.sourceRowIndex!==d&&(h.sourceRowIndex=d,e[d]=h,s=!0),++d)}let c=l;for(let u=l;u>=r;--u){const h=e[u];t.has(h)||(h.sourceRowIndex!==c&&(h.sourceRowIndex=c,e[c]=h,s=!0),--c)}for(const u of t)u.sourceRowIndex!==d&&(u.sourceRowIndex=d,e[d]=u,s=!0),++d;return s};function _getCellPositionForEvent(e,t){return _getCellCtrlForEventTarget(e,t.target)?.getFocusedCellPosition()??null}function _getNormalisedMousePosition(e,t){const o=_isDomLayout(e.gos,"normal"),i=t;let s,n;i.clientX!=null||i.clientY!=null?(s=i.clientX,n=i.clientY):(s=i.x,n=i.y);const{pageFirstPixel:r}=e.pageBounds.getCurrentPagePixelRange();if(n+=r,o){const a=e.ctrlsSvc.getScrollFeature(),l=a.getVScrollPosition(),d=a.getHScrollPosition();s+=d.left,n+=l.top}return{x:s,y:n}}var POINTER_INSIDE_THRESHOLD=.25,RowDragFeature=class extends BeanStub{constructor(e){super(),this.eContainer=e,this.lastDraggingEvent=null,this.autoScroll=null,this.autoScrollChanged=!1,this.autoScrollChanging=!1,this.autoScrollOldV=null}postConstruct(){const e=this.beans;e.ctrlsSvc.whenReady(this,t=>{const o=()=>t.gridBodyCtrl.scrollFeature.getVScrollPosition().top,i=new AutoScrollService({scrollContainer:t.gridBodyCtrl.eBodyViewport,scrollAxis:"y",getVerticalPosition:o,setVerticalPosition:s=>t.gridBodyCtrl.scrollFeature.setVerticalScrollPosition(s),onScrollCallback:()=>{const s=o();if(this.autoScrollOldV!==s){this.autoScrollOldV=s,this.autoScrollChanging=!0;return}const n=this.autoScrollChanging;this.autoScrollChanged=n,this.autoScrollChanging=!1,n&&(e.dragAndDrop?.nudge(),this.autoScrollChanged=!1)}});this.autoScroll=i,this.clearAutoScroll()})}destroy(){super.destroy(),this.clearAutoScroll(),this.autoScroll=null,this.lastDraggingEvent=null,this.eContainer=null}getContainer(){return this.eContainer}isInterestedIn(e){return e===2}getIconName(e){return e?.dropTarget?.allowed===!1||this.beans.rowDragSvc.visibility!=="visible"?"notAllowed":"move"}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];const t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){const o=this.beans.selectionSvc?.getSelectedNodes();if(o&&o.indexOf(t)>=0)return o.slice().sort(compareRowIndex)}return[t]}onDragEnter(e){this.dragging(e,!0)}onDragging(e){this.dragging(e,!1)}dragging(e,t){const{lastDraggingEvent:o,beans:i}=this;if(t){const a=this.getRowNodes(e);e.dragItem.rowNodes=a,setRowNodesDragging(a,!0)}this.lastDraggingEvent=e;const s=e.fromNudge,n=this.makeRowsDrop(o,e,s,!1);i.rowDropHighlightSvc?.fromDrag(e),t&&this.dispatchGridEvent("rowDragEnter",e),this.dispatchGridEvent("rowDragMove",e);const r=this.autoScroll;n?.rowDragManaged&&n.moved&&n.allowed&&n.sameGrid&&!n.suppressMoveWhenRowDragging&&(!s&&!r?.scrolling||this.autoScrollChanged)&&this.dropRows(n),r?.check(e.event)}isFromThisGrid(e){return e.dragSource.dragSourceDomDataKey===this.gos.getDomDataKey()}makeRowsDrop(e,t,o,i){const{beans:s,gos:n}=this,r=this.newRowsDrop(t,i),a=s.rowModel;if(t.dropTarget=r,t.changed=!1,!r)return null;let{sameGrid:l,rootNode:d,source:c,target:u}=r;u??(u=a.getRow(a.getRowCount()-1)??null);const h=this.beans.groupEditSvc,g=!!h?.canSetParent(r);let p=null;if(u?.footer){const m=_prevOrNextDisplayedRow(a,-1,u)??_prevOrNextDisplayedRow(a,1,u);g&&(p=u.sibling??d),u=m??null}u?.detail&&(u=u.parent),r.moved&&(r.moved=c!==u);let f=.5;if(u&&(l&&r.moved&&(p||!g)?f=c.rowIndex>u.rowIndex?-.5:.5:f=(r.y-u.rowTop-u.rowHeight/2)/u.rowHeight||0),!g&&l&&u&&r.moved&&_isClientSideRowModel(n)){const m=deltaDraggingTarget(a,r);m&&(f=c.rowIndex>m.rowIndex?-.5:.5,u=m,r.moved&&(r.moved=c!==u))}return r.target=u,r.newParent=p,r.pointerPos=computePointerPos(u,r.y),r.yDelta=f,h?.fixRowsDrop(r,g,o,f),this.validateRowsDrop(r,g,i),t.changed||(t.changed=rowsDropChanged(e?.dropTarget,r)),r}newRowsDrop(e,t){const{beans:o,gos:i}=this,s=o.rowModel.rootNode,n=_isClientSideRowModel(i)?i.get("rowDragManaged"):!1,r=i.get("suppressMoveWhenRowDragging"),a=this.isFromThisGrid(e);let{rowNode:l,rowNodes:d}=e.dragItem;if(d||(d=l?[l]:[]),l||(l=d[0]),!l||!s)return null;const c=this.beans.dragAndDrop.isDropZoneWithinThisGrid(e);let u=!0;n&&(!d.length||o.rowDragSvc.visibility!=="visible"||(r||!a)&&!c)&&(u=!1);const h=_getNormalisedMousePosition(o,e).y,g=this.getOverNode(h);return{api:o.gridApi,context:o.gridOptions.context,draggingEvent:e,rowDragManaged:n,suppressMoveWhenRowDragging:r,sameGrid:a,withinGrid:c,treeData:!1,rootNode:s,moved:l!==g,y:h,overNode:g,overIndex:g?.rowIndex??-1,pointerPos:"none",position:"none",source:l,target:g??null,newParent:null,rows:d,allowed:u,highlight:!t&&n&&r&&(c||!a),yDelta:0,inside:!1,droppedManaged:!1}}validateRowsDrop(e,t,o){const{source:i,target:s,yDelta:n,inside:r,moved:a,rowDragManaged:l,suppressMoveWhenRowDragging:d}=e;e.moved&&(e.moved=i!==s);const{position:c,fallbackPosition:u}=this.computeDropPosition(a,r,n);e.position=c,t||(e.newParent=null),this.enforceSuppressMoveWhenRowDragging(e,d,"initial");const h=(!l||e.allowed)&&this.gos.get("isRowValidDropPosition");h&&this.applyDropValidator(e,t,o,l,h),l&&(e.rows=this.filterRows(e)),this.beans.groupEditSvc?.clearNewSameParent(e,t),this.enforceSuppressMoveWhenRowDragging(e,d,"final"),e.position==="inside"&&(!e.allowed||!e.newParent)&&(e.position=u)}computeDropPosition(e,t,o){const i=o<0?"above":"below";return e?{position:t?"inside":i,fallbackPosition:i}:{position:"none",fallbackPosition:i}}enforceSuppressMoveWhenRowDragging(e,t,o){if(t){if(o==="initial"){e.moved||(e.allowed=!1);return}(!e.rows.length||e.position==="none")&&(e.allowed=!1)}}applyDropValidator(e,t,o,i,s){this.beans.groupEditSvc?.clearNewSameParent(e,t);const n=s(e);if(!n){e.allowed=!1;return}if(typeof n!="object")return;n.rows!==void 0&&(e.rows=n.rows??[]),t&&n.newParent!==void 0&&(e.newParent=n.newParent),n.target!==void 0&&(e.target=n.target),n.position&&(e.position=n.position),n.allowed!==void 0?e.allowed=n.allowed:i||(e.allowed=!0);const r=e.draggingEvent;n.changed&&r&&(r.changed=!0),!o&&n.highlight!==void 0&&(e.highlight=n.highlight)}addRowDropZone(e){if(!e.getContainer()){_warn(55);return}const t=this.beans.dragAndDrop;if(t.findExternalZone(e.getContainer())){_warn(56);return}const o=e.fromGrid?e:{getContainer:e.getContainer,onDragEnter:e.onDragEnter&&(s=>e.onDragEnter(this.rowDragEvent("rowDragEnter",s))),onDragLeave:e.onDragLeave&&(s=>e.onDragLeave(this.rowDragEvent("rowDragLeave",s))),onDragging:e.onDragging&&(s=>e.onDragging(this.rowDragEvent("rowDragMove",s))),onDragStop:e.onDragStop&&(s=>e.onDragStop(this.rowDragEvent("rowDragEnd",s))),onDragCancel:e.onDragCancel&&(s=>e.onDragCancel(this.rowDragEvent("rowDragCancel",s)))},i={isInterestedIn:s=>s===2,getIconName:()=>"move",external:!0,...o};t.addDropTarget(i),this.addDestroyFunc(()=>t.removeDropTarget(i))}getRowDropZone(e){return{getContainer:this.getContainer.bind(this),onDragEnter:o=>{this.onDragEnter(o),e?.onDragEnter?.(this.rowDragEvent("rowDragEnter",o))},onDragLeave:o=>{this.onDragLeave(o),e?.onDragLeave?.(this.rowDragEvent("rowDragLeave",o))},onDragging:o=>{this.onDragging(o),e?.onDragging?.(this.rowDragEvent("rowDragMove",o))},onDragStop:o=>{this.onDragStop(o),e?.onDragStop?.(this.rowDragEvent("rowDragEnd",o))},onDragCancel:o=>{this.onDragCancel(o),e?.onDragCancel?.(this.rowDragEvent("rowDragCancel",o))},fromGrid:!0}}getOverNode(e){const{pageBounds:t,rowModel:o}=this.beans,s=e>t.getCurrentPagePixelRange().pageLastPixel?-1:o.getRowIndexAtPixel(e);return s>=0?o.getRow(s):void 0}rowDragEvent(e,t){const o=this.beans,{dragItem:i,dropTarget:s,event:n,vDirection:r}=t,a=s?.rootNode===o.rowModel.rootNode,l=a?s.y:_getNormalisedMousePosition(o,t).y,d=a?s.overNode:this.getOverNode(l),c=a?s.overIndex:d?.rowIndex??-1;return{api:o.gridApi,context:o.gridOptions.context,type:e,event:n,node:i.rowNode,nodes:i.rowNodes,overIndex:c,overNode:d,y:l,vDirection:r,rowsDrop:s}}dispatchGridEvent(e,t){const o=this.rowDragEvent(e,t);this.eventSvc.dispatchEvent(o)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e,!1)}onDragStop(e){const t=this.lastDraggingEvent?.dropTarget??null,o=this.makeRowsDrop(this.lastDraggingEvent,e,!1,!0);this.dispatchGridEvent("rowDragEnd",e),o?.allowed&&o.rowDragManaged&&(!t?.droppedManaged||rowsDropChanged(t,o))&&this.dropRows(o),this.stopDragging(e,!0)}onDragCancel(e){this.dispatchGridEvent("rowDragCancel",e),this.stopDragging(e,!0)}stopDragging(e,t){this.clearAutoScroll(),this.beans.groupEditSvc?.stopDragging(t),this.beans.rowDropHighlightSvc?.fromDrag(null),setRowNodesDragging(e.dragItem.rowNodes,!1),this.lastDraggingEvent=null}clearAutoScroll(){this.autoScroll?.ensureCleared(),this.autoScrollChanged=!1,this.autoScrollChanging=!1,this.autoScrollOldV=null}dropRows(e){return e.droppedManaged=!0,e.sameGrid?this.csrmMoveRows(e):this.csrmAddRows(e)}csrmAddRows({position:e,target:t,rows:o}){const i=_getRowIdCallback(this.gos),s=this.beans.rowModel,n=o.filter(({data:a,rowPinned:l})=>!s.getRowNode(i?.({data:a,level:0,rowPinned:l})??a.id)).map(({data:a})=>a);if(n.length===0)return!1;let r;if(t){const a=t.sourceRowIndex>=0?t:_csrmFirstLeaf(t);a&&(r=a.sourceRowIndex+(e==="above"?0:1))}return s.updateRowData({add:n,addIndex:r}),!0}filterRows(e){const{groupEditSvc:t}=this.beans,{rows:o,sameGrid:i}=e;let s;for(let n=0,r=o.length;n<r;++n){let a=!0;const l=o[n];(!l||l.footer||i&&l.destroyed&&!l.group||!this.csrmGetLeaf(l))&&(a=!1),a&&t&&!t.canDropRow(l,e)&&(a=!1),a?s?.push(l):s??(s=o.slice(0,n))}return s??o}csrmMoveRows(e){const t=this.beans.groupEditSvc;return t?.isGroupingDrop(e)?t.dropGroupEdit(e):this.csrmMoveRowsReorder(e)}csrmMoveRowsReorder({position:e,target:t,rows:o,newParent:i,rootNode:s}){let n=!1;const r=new Set;for(const h of o){i&&h.parent!==i&&(h.treeParent=i,n=!0);const g=this.csrmGetLeaf(h);g&&r.add(g)}if(!n&&r.size===0)return!1;const a=this.beans.focusSvc,l=a.getFocusedCell(),d=l&&_getCellByPosition(this.beans,l);if(r.size&&_csrmReorderAllLeafs(s._leafs,r,t,e==="above")&&(n=!0),!n)return!1;const c=this.beans.rowModel,u=new ChangedRowNodes;return u.reordered=!0,c.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:u}),d?d.focusCell():a.clearFocusedCell(),!0}csrmGetLeaf(e){if(e.sourceRowIndex>=0)return e.destroyed?void 0:e;const t=this.beans.groupEditSvc;return t?t.csrmFirstLeaf(e):_csrmFirstLeaf(e)}},rowsDropChanged=(e,t)=>e!==t&&(e?.sameGrid!==t.sameGrid||e?.allowed!==t.allowed||e?.position!==t.position||e?.target!==t.target||e?.source!==t.source||e?.newParent!==t.newParent||!_areEqual(e?.rows,t.rows)),compareRowIndex=({rowIndex:e},{rowIndex:t})=>e!==null&&t!==null?e-t:0,setRowNodesDragging=(e,t)=>{for(let o=0,i=e?.length||0;o<i;++o){const s=e[o];s.dragging!==t&&(s.dragging=t,s.dispatchRowEvent("draggingChanged"))}},deltaDraggingTarget=(e,t)=>{let o=null,i=t.target;if(i&&t.rows.indexOf(i)<0)return null;const s=t.source;if(!i||!s)return null;let n=i.rowIndex-s.rowIndex;const r=n<0?-1:1;n=t.suppressMoveWhenRowDragging?Math.abs(n):1;const a=new Set(t.rows);do{const l=_prevOrNextDisplayedRow(e,r,i);if(!l)break;a.has(l)||(o=l,--n),i=l}while(n>0);return o},computePointerPos=(e,t)=>{const o=e?.rowTop,i=e?.rowHeight??0;if(o==null||!i||i<=0)return"none";const s=t-o,n=i*POINTER_INSIDE_THRESHOLD;return s<=n?"above":s>=i-n?"below":"inside"},RowDragService=class extends BeanStub{constructor(){super(...arguments),this.beanName="rowDragSvc",this.rowDragFeature=null,this.visibility="suppress"}setupRowDrag(e,t){const o=t.createManagedBean(new RowDragFeature(e)),i=this.beans.dragAndDrop;i.addDropTarget(o),t.addDestroyFunc(()=>i.removeDropTarget(o)),this.rowDragFeature=o;const s=()=>this.refreshVisibility();this.addManagedPropertyListeners(["rowDragManaged","suppressRowDrag","refreshAfterGroupEdit"],s),this.addManagedEventListeners({newColumnsLoaded:s,columnRowGroupChanged:s,columnPivotModeChanged:s,sortChanged:s,filterChanged:s}),this.visibility=this.computeVisibility()}createRowDragComp(e,t,o,i,s,n){return new RowDragComp(e,t,o,i,s,n)}createRowDragCompForRow(e,t){if(_isCellSelectionEnabled(this.gos))return;const o=this.getLocaleTextFunc();return this.createRowDragComp(()=>`1 ${o("rowDragRow","row")}`,e,void 0,t,void 0,!0)}createRowDragCompForCell(e,t,o,i,s,n){const r=this.gos;return r.get("rowDragManaged")&&(!_isClientSideRowModel(r)||r.get("pagination"))?void 0:this.createRowDragComp(o,e,t,i,s,n)}cancelRowDrag(){this.rowDragFeature?.lastDraggingEvent&&this.beans.dragSvc?.cancelDrag()}computeVisibility(){const e=this.beans,t=e.gos;if(t.get("suppressRowDrag"))return"suppress";if(!t.get("rowDragManaged"))return"visible";const i=e.colModel.pivotMode;return(i||e.rowGroupColsSvc?.columns?.length)&&!t.get("refreshAfterGroupEdit")?"hidden":i||e.filterManager?.isAnyFilterPresent()||e.sortSvc?.isSortActive()?"disabled":"visible"}refreshVisibility(){const e=this.visibility,t=this.computeVisibility();e!==t&&(this.visibility=t,this.eventSvc?.dispatchEvent({type:"rowDragVisibilityChanged"}))}},RowDropHighlightService=class extends BeanStub{constructor(){super(...arguments),this.beanName="rowDropHighlightSvc",this.uiLevel=0,this.dragging=!1,this.row=null,this.position="none"}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this)})}onModelUpdated(){const e=this.row,t=this.dragging;!e||e?.rowIndex===null||this.position==="none"?this.clear():this.set(e,this.position),this.dragging=t}destroy(){this.clear(),super.destroy()}clear(){const e=this.row;this.dragging=!1,e&&(this.uiLevel=0,this.position="none",this.row=null,e.dispatchRowEvent("rowHighlightChanged"))}set(e,t){const o=e!==this.row,i=e.uiLevel,s=t!==this.position,n=i!==this.uiLevel;this.dragging=!1,(o||s||n)&&(o&&this.clear(),this.uiLevel=i,this.position=t,this.row=e,e.dispatchRowEvent("rowHighlightChanged"))}fromDrag(e){const t=e?.dropTarget;if(t){const{highlight:o,target:i,position:s}=t;if(o&&i&&s!=="none"){this.set(i,s),this.dragging=!0;return}}this.dragging&&this.clear()}},DragModule={moduleName:"Drag",version:VERSION,beans:[DragService]},DragAndDropModule={moduleName:"DragAndDrop",version:VERSION,dynamicBeans:{dndSourceComp:DndSourceComp},icons:{rowDrag:"grip"}},SharedDragAndDropModule={moduleName:"SharedDragAndDrop",version:VERSION,beans:[DragAndDropService],dependsOn:[DragModule],userComponents:{agDragAndDropImage:DragAndDropImageComponent2},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}},RowDragModule={moduleName:"RowDrag",version:VERSION,beans:[RowDropHighlightService,RowDragService],apiFunctions:{addRowDropZone,removeRowDropZone,getRowDropZoneParams,getRowDropPositionIndicator,setRowDropPositionIndicator},dependsOn:[SharedDragAndDropModule]},HorizontalResizeModule={moduleName:"HorizontalResize",version:VERSION,beans:[HorizontalResizeService],dependsOn:[DragModule]},column_moving_default=":where(.ag-ltr) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:left .2s}.ag-header-group-cell{transition:left .2s,width .2s}}:where(.ag-rtl) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:right .2s}.ag-header-group-cell{transition:right .2s,width .2s}}",ColumnAnimationService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colAnimation",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){if(this.active)return;const{gos:e}=this;e.get("suppressColumnMoveAnimation")||e.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;const e=this.animationThreadCount,{gridBodyCtrl:t}=this;t.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&t.setColumnMovingCss(!1)})}flush(e,t){const{executeNextFuncs:o,executeLaterFuncs:i}=this;if(o.length===0&&i.length===0){e(),t();return}const s=n=>{for(;n.length;){const r=n.pop();r&&r()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{e(),s(o)},0),window.setTimeout(()=>{t(),s(i)},200)})}};function moveColumnByIndex(e,t,o){e.colMoves?.moveColumnByIndex(t,o,"api")}function moveColumns(e,t,o){e.colMoves?.moveColumns(t,o,"api")}var BodyDropPivotTarget=class extends BeanStub{constructor(e){super(),this.pinned=e,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;if(t)for(const o of t)o.primary&&(o.isAnyFunctionActive()||(o.isAllowValue()?this.columnsToAggregate.push(o):o.isAllowRowGroup()?this.columnsToGroup.push(o):o.isAllowPivot()&&this.columnsToPivot.push(o)))}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){const{valueColsSvc:t,rowGroupColsSvc:o,pivotColsSvc:i}=this.beans;this.columnsToAggregate.length>0&&t?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&o?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&i?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function sortColsLikeCols(e,t){!t||t.length<=1||t.filter(i=>e.indexOf(i)<0).length>0||t.sort((i,s)=>{const n=e.indexOf(i),r=e.indexOf(s);return n-r})}function getColsToMove(e){const t=[...e];for(const o of e){let i=null,s=o.parent;for(;s?.getDisplayedLeafColumns().length===1;)i=s,s=s.parent;if(i!=null){const r=!!i.getColGroupDef()?.marryChildren?i.getProvidedColumnGroup().getLeafColumns():i.getLeafColumns();for(const a of r)t.includes(a)||t.push(a)}}return t}function getLowestFragMove(e,t,o,i){const s=i.allCols;let n=null,r=null;for(let a=0;a<e.length;a++){const l=e[a],d=o.getProposedColumnOrder(t,l);if(!o.doesOrderPassRules(d))continue;const c=d.filter(h=>s.includes(h));if(r===null)r=c;else if(!_areEqual(c,r))break;const u=groupFragCount(d);(n===null||u<n.fragCount)&&(n={move:l,fragCount:u})}return n}function getBestColumnMoveIndexFromXPosition(e){const{isFromHeader:t,fromLeft:o,xPosition:i,fromEnter:s,fakeEvent:n,pinned:r,gos:a,colModel:l,colMoves:d,visibleCols:c}=e;let{allMovingColumns:u}=e;t&&(u=getColsToMove(u));const h=u.slice();sortColsLikeCols(l.getCols(),h);const g=calculateValidMoves({movingCols:h,draggingRight:o,xPosition:i,pinned:r,gos:a,colModel:l,visibleCols:c}),p=calculateOldIndex(h,l);if(g.length===0)return;const f=g[0];if(p!==null&&(t||!s)&&!n&&(!o&&f>=p||o&&f<=p))return;const C=getLowestFragMove(g,h,d,c);if(!C)return;const w=C.move;if(!(w>l.getCols().length-h.length))return{columns:h,toIndex:w}}function attemptMoveColumns(e){const{columns:t,toIndex:o}=getBestColumnMoveIndexFromXPosition(e)||{},{finished:i,colMoves:s}=e;return!t||o==null?null:(s.moveColumns(t,o,"uiColumnMoved",i),i?null:{columns:t,toIndex:o})}function calculateOldIndex(e,t){const o=t.getCols(),i=e.map(l=>o.indexOf(l)).sort((l,d)=>l-d),s=i[0];return _last(i)-s!==i.length-1?null:s}function groupFragCount(e){function t(i){const s=[];let n=i.getOriginalParent();for(;n!=null;)s.push(n),n=n.getOriginalParent();return s}let o=0;for(let i=0;i<e.length-1;i++){let s=t(e[i]),n=t(e[i+1]);[s,n]=s.length>n.length?[s,n]:[n,s];for(const r of s)n.indexOf(r)===-1&&o++}return o}function getDisplayedColumns(e,t){switch(t){case"left":return e.leftCols;case"right":return e.rightCols;default:return e.centerCols}}function calculateValidMoves(e){const{movingCols:t,draggingRight:o,xPosition:i,pinned:s,gos:n,colModel:r,visibleCols:a}=e;if(n.get("suppressMovableColumns")||t.some(v=>v.colDef.suppressMovable))return[];const d=getDisplayedColumns(a,s),c=r.getCols(),u=d.filter(v=>t.includes(v)),h=d.filter(v=>!t.includes(v)),g=c.filter(v=>!t.includes(v));let p=0,f=i;if(o){let v=0;for(const b of u)v+=b.getActualWidth();f-=v}if(f>0){for(let v=0;v<h.length;v++){const b=h[v];if(f-=b.getActualWidth(),f<0)break;p++}o&&p++}let m;if(p>0){const v=h[p-1];m=g.indexOf(v)+1}else m=g.indexOf(h[0]),m===-1&&(m=0);const C=[m],w=(v,b)=>v-b;if(o){let v=m+1;const b=c.length-1;for(;v<=b;)C.push(v),v++;C.sort(w)}else{let v=m;const b=c.length-1;let S=c[v];for(;v<=b&&d.indexOf(S)<0;)v++,C.push(v),S=c[v];v=m-1;const y=0;for(;v>=y;)C.push(v),v--;C.sort(w).reverse()}return C}function normaliseX(e){const{pinned:t,fromKeyboard:o,gos:i,ctrlsSvc:s,useHeaderRow:n,skipScrollPadding:r}=e;let a=s.getHeaderRowContainerCtrl(t)?.eViewport,{x:l}=e;return a?(o&&(l-=a.getBoundingClientRect().left),i.get("enableRtl")&&(n&&(a=a.querySelector(".ag-header-row")),l=a.clientWidth-l),t==null&&!r&&(l+=s.get("center").getCenterViewportScrollLeft()),l):0}function setColumnsMoving(e,t){for(const o of e)o.moving=t,o.dispatchColEvent("movingChanged","uiColumnMoved")}var MOVE_FAIL_THRESHOLD=7,SCROLL_MOVE_WIDTH=100,SCROLL_GAP_NEEDED_BEFORE_MOVE=SCROLL_MOVE_WIDTH/2,SCROLL_ACCELERATION_RATE=5,SCROLL_TIME_INTERVAL=100,MoveColumnFeature=class extends BeanStub{constructor(e){super(),this.pinned=e,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!_exists(e)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){const{pinned:e,lastDraggingEvent:t}=this,{dragItem:o}=t||{},i=o?.columns??[];for(const s of i){const n=s.getPinned();if(s.getColDef().lockPinned){if(n==e)return"move";continue}const r=o?.containerType;if(r===e||!e)return"move";if(e&&(!n||r!==e))return"pinned"}return"notAllowed"}onDragEnter(e){const t=e.dragItem,o=t.columns;if(e.dragSource.type===0)this.setColumnsVisible(o,!0,"uiColumnDragged");else{const s=t.visibleState,n=(o||[]).filter(r=>s[r.getId()]&&!r.isVisible());this.setColumnsVisible(n,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(o,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,o=!1,i=!1){const{gos:s,ctrlsSvc:n}=this.beans,r=s.get("suppressMoveWhenColumnDragging");if(i&&!r){this.finishColumnMoving();return}if(this.lastDraggingEvent=e,!e||!i&&_missing(e.hDirection))return;const a=normaliseX({x:e.x,pinned:this.pinned,gos:s,ctrlsSvc:n});t||this.checkCenterForScrolling(a),r?this.handleColumnDragWhileSuppressingMovement(e,t,o,a,i):this.handleColumnDragWhileAllowingMovement(e,t,o,a,i)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.updateDragItemContainerType(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,o){if(!e?.length)return;const i=e.filter(s=>!s.getColDef().lockVisible);i.length&&this.beans.colModel.setColsVisible(i,t,o)}finishColumnMoving(){this.clearHighlighted();const e=this.lastMovedInfo;if(!e)return;const{columns:t,toIndex:o}=e;this.beans.colMoves.moveColumns(t,o,"uiColumnMoved",!0)}updateDragItemContainerType(){const{lastDraggingEvent:e}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!e)return;const t=e.dragItem;t&&(t.containerType=this.pinned)}handleColumnDragWhileSuppressingMovement(e,t,o,i,s){const n=this.getAllMovingColumns(e,!0);if(s){const r=this.isAttemptingToPin(n);r&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:a,xPosition:l}=this.getNormalisedXPositionInfo(n,r)||{};if(a==null||l==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:l,fromEnter:t,fakeEvent:o,fromLeft:a})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,i)}}handleColumnDragWhileAllowingMovement(e,t,o,i,s){const n=this.getAllMovingColumns(e),r=this.normaliseDirection(e.hDirection)==="right",a=e.dragSource.type===1,l=this.getMoveColumnParams({allMovingColumns:n,isFromHeader:a,xPosition:i,fromLeft:r,fromEnter:t,fakeEvent:o}),d=attemptMoveColumns({...l,finished:s});d&&(this.lastMovedInfo=d)}getAllMovingColumns(e,t=!1){const o=e.dragSource.getDragItem();let i;t?(i=o.columnsInSplit,i||(i=o.columns)):i=o.columns;const s=n=>n.colDef.lockPinned?n.getPinned()==this.pinned:!0;return i?i.filter(s):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:o,xPosition:i,fromLeft:s,fromEnter:n,fakeEvent:r}=e,{gos:a,colModel:l,colMoves:d,visibleCols:c}=this.beans;return{allMovingColumns:t,isFromHeader:o,fromLeft:s,xPosition:i,pinned:this.pinned,fromEnter:n,fakeEvent:r,gos:a,colModel:l,colMoves:d,visibleCols:c}}highlightHoveredColumn(e,t){const{gos:o,colModel:i}=this.beans,s=o.get("enableRtl"),n=i.getCols().filter(c=>c.isVisible()&&c.getPinned()===this.pinned);let r=null,a=null,l=null;for(const c of n){if(a=c.getActualWidth(),r=this.getNormalisedColumnLeft(c,0,s),r!=null){const u=r+a;if(r<=t&&u>=t){l=c;break}}r=null,a=null}if(l)e.indexOf(l)!==-1&&(l=null);else{for(let c=n.length-1;c>=0;c--){const u=n[c],h=n[c].parent;if(!h){l=u;break}const g=h?.getDisplayedLeafColumns();if(g.length){l=_last(g);break}}if(!l)return;r=this.getNormalisedColumnLeft(l,0,s),a=l.getActualWidth()}if(l==null||r==null||a==null){this.lastHighlightedColumn?.column!==l&&this.clearHighlighted();return}let d;if(t-r<a/2){const c=n.indexOf(l);c===0?d=0:(d=1,l=n[c-1])}else d=1;(this.lastHighlightedColumn?.column!==l||this.lastHighlightedColumn?.position!==d)&&this.clearHighlighted(),setColumnHighlighted(l,d),this.lastHighlightedColumn={column:l,position:d}}getNormalisedXPositionInfo(e,t){const{gos:o,visibleCols:i}=this.beans,s=o.get("enableRtl"),{firstMovingCol:n,column:r,position:a}=this.getColumnMoveAndTargetInfo(e,t,s);if(!n||!r||a==null)return;const l=i.allCols,d=l.indexOf(n),c=l.indexOf(r),u=a===0,h=d<c||d===c&&!u;let g=0;if(u?h&&(g-=1):h||(g+=1),c+g===d)return;const p=l[c+g];if(!p)return;const f=this.getNormalisedColumnLeft(p,20,s);return{fromLeft:h,xPosition:f}}getColumnMoveAndTargetInfo(e,t,o){const i=this.lastHighlightedColumn||{},{firstMovingCol:s,lastMovingCol:n}=findFirstAndLastMovingColumns(e);if(!s||!n||i.column||!t)return{firstMovingCol:s,...i};const a=this.getPinDirection()==="left";return{firstMovingCol:s,position:a?1:0,column:a!==o?s:n}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case"left":return"right";case"right":return"left"}return e}getNormalisedColumnLeft(e,t,o){const{gos:i,ctrlsSvc:s}=this.beans,n=e.getLeft();if(n==null)return null;const r=e.getActualWidth();return normaliseX({x:o?n+r-t:n+t,pinned:e.getPinned(),useHeaderRow:o,skipScrollPadding:!0,gos:i,ctrlsSvc:s})}isAttemptingToPin(e){const t=this.needToMoveLeft||this.needToMoveRight,o=this.failedMoveAttempts>MOVE_FAIL_THRESHOLD;return t&&o||e.some(i=>i.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){const{allMovingColumns:t,xPosition:o,fromEnter:i,fakeEvent:s,fromLeft:n}=e,r=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:o,fromLeft:n,fromEnter:i,fakeEvent:s}),{columns:a,toIndex:l}=getBestColumnMoveIndexFromXPosition(r)||{};a&&l!=null&&(this.lastMovedInfo={columns:a,toIndex:l}),this.finishColumnMoving()}clearHighlighted(){const{lastHighlightedColumn:e}=this;e&&(setColumnHighlighted(e.column,null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;const t=this.beans.ctrlsSvc.get("center"),o=t.getCenterViewportScrollLeft(),i=o+t.getCenterWidth();let s,n;this.gos.get("enableRtl")?(s=e<o+SCROLL_GAP_NEEDED_BEFORE_MOVE,n=e>i-SCROLL_GAP_NEEDED_BEFORE_MOVE):(n=e<o+SCROLL_GAP_NEEDED_BEFORE_MOVE,s=e>i-SCROLL_GAP_NEEDED_BEFORE_MOVE),this.needToMoveRight=s,this.needToMoveLeft=n,n||s?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),SCROLL_TIME_INTERVAL),this.beans.dragAndDrop.setDragImageCompIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.beans.dragAndDrop.setDragImageCompIcon(this.getIconName()))}moveInterval(){let e;this.intervalCount++,e=10+this.intervalCount*SCROLL_ACCELERATION_RATE,e>SCROLL_MOVE_WIDTH&&(e=SCROLL_MOVE_WIDTH);let t=null;const o=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft?t=o.scrollHorizontally(-e):this.needToMoveRight&&(t=o.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;const{pinnedCols:i,dragAndDrop:s,gos:n}=this.beans;if(this.failedMoveAttempts<=MOVE_FAIL_THRESHOLD+1||!i)return;if(s.setDragImageCompIcon("pinned"),!n.get("suppressMoveWhenColumnDragging")){const r=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(r,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(e,t,o=!1){const i=(e||[]).filter(r=>!r.colDef.lockPinned);if(!i.length)return 0;o&&(t=this.getPinDirection());const{pinnedCols:s,dragAndDrop:n}=this.beans;return s?.setColsPinned(i,t,"uiColumnDragged"),o&&n.nudge(),i.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function setColumnHighlighted(e,t){e.highlighted!==t&&(e.highlighted=t,e.dispatchColEvent("headerHighlightChanged","uiColumnMoved"))}function findFirstAndLastMovingColumns(e){const t=e.length;let o,i;for(let s=0;s<t;s++){if(!o){const n=e[s];n.getLeft()!=null&&(o=n)}if(!i){const n=e[t-1-s];n.getLeft()!=null&&(i=n)}if(o&&i)break}return{firstMovingCol:o,lastMovingCol:i}}var BodyDropTarget=class extends BeanStub{constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){const{ctrlsSvc:e,dragAndDrop:t}=this.beans,o=this.pinned;e.whenReady(this,i=>{let s;const n=i.gridBodyCtrl.eBodyViewport;switch(o){case"left":s=[[n,i.left.eContainer],[i.bottomLeft.eContainer],[i.topLeft.eContainer]];break;case"right":s=[[n,i.right.eContainer],[i.bottomRight.eContainer],[i.topRight.eContainer]];break;default:s=[[n,i.center.eViewport],[i.bottomCenter.eViewport],[i.topCenter.eViewport]];break}this.eSecondaryContainers=s}),this.moveColumnFeature=this.createManagedBean(new MoveColumnFeature(o)),this.bodyDropPivotTarget=this.createManagedBean(new BodyDropPivotTarget(o)),t.addDropTarget(this),this.addDestroyFunc(()=>t.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.beans.colModel.pivotMode&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}};function placeLockedColumns(e,t){const o=[],i=[],s=[];return e.forEach(r=>{const a=r.colDef.lockPosition;a==="right"?s.push(r):a==="left"||a===!0?o.push(r):i.push(r)}),t.get("enableRtl")?[...s,...i,...o]:[...o,...i,...s]}function doesMovePassMarryChildren(e,t){let o=!0;return depthFirstOriginalTreeSearch(null,t,i=>{if(!isProvidedColumnGroup(i))return;const s=i;if(!s.getColGroupDef()?.marryChildren)return;const a=[];for(const h of s.getLeafColumns()){const g=e.indexOf(h);a.push(g)}const l=Math.max.apply(Math,a),d=Math.min.apply(Math,a),c=l-d,u=s.getLeafColumns().length-1;c>u&&(o=!1)}),o}var ColumnMoveService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colMoves"}moveColumnByIndex(e,t,o){const i=this.beans.colModel.getCols();if(!i)return;const s=i[e];this.moveColumns([s],t,o)}moveColumns(e,t,o,i=!0){const{colModel:s,colAnimation:n,visibleCols:r,eventSvc:a}=this.beans,l=s.getCols();if(!l)return;if(t>l.length-e.length){_warn(30,{toIndex:t});return}n?.start();const d=s.getColsForKeys(e);this.doesMovePassRules(d,t)&&(_moveInArray(s.getCols(),d,t),r.refresh(o),a.dispatchEvent({type:"columnMoved",columns:d,column:d.length===1?d[0]:null,toIndex:t,finished:i,source:o})),n?.finish()}doesMovePassRules(e,t){const o=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(o)}doesOrderPassRules(e){const{colModel:t,gos:o}=this.beans;return!(!doesMovePassMarryChildren(e,t.getColTree())||!(s=>{const n=d=>d?d==="left"||d===!0?-1:1:0,r=o.get("enableRtl");let a=r?1:-1,l=!0;for(const d of s){const c=n(d.colDef.lockPosition);r?c>a&&(l=!1):c<a&&(l=!1),a=c}return l})(e))}getProposedColumnOrder(e,t){const i=this.beans.colModel.getCols().slice();return _moveInArray(i,e,t),i}createBodyDropTarget(e,t){return new BodyDropTarget(e,t)}moveHeader(e,t,o,i,s){const{ctrlsSvc:n,gos:r,colModel:a,visibleCols:l,focusSvc:d}=this.beans,c=t.getBoundingClientRect(),u=c.left,h=isColumnGroup(o),g=h?c.width:o.getActualWidth(),p=e==="left"!==r.get("enableRtl"),f=normaliseX({x:p?u-20:u+g+20,pinned:i,fromKeyboard:!0,gos:r,ctrlsSvc:n}),m=d.focusedHeader;attemptMoveColumns({allMovingColumns:h?o.getLeafColumns():[o],isFromHeader:!0,fromLeft:e==="right",xPosition:f,pinned:i,fromEnter:!1,fakeEvent:!1,gos:r,colModel:a,colMoves:this,visibleCols:l,finished:!0});let C;if(h){const w=o.getDisplayedLeafColumns();C=p?w[0]:_last(w)}else C=o;if(n.getScrollFeature().ensureColumnVisible(C,"auto"),(!s.isAlive()||r.get("ensureDomOrder"))&&m){let w;if(h){const v=o.getGroupId(),b=o.getLeafColumns();if(!b.length)return;const S=b[0].parent;if(!S)return;w=findGroupWidthId(S,v)}else w=o;w&&d.focusHeaderPosition({headerPosition:{...m,column:w}})}}setDragSourceForHeader(e,t,o){const{gos:i,colModel:s,dragAndDrop:n,visibleCols:r}=this.beans;let a=!i.get("suppressDragLeaveHidesColumns");const l=isColumnGroup(t),d=l?t.getProvidedColumnGroup().getLeafColumns():[t],u={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",getDragItem:l?()=>createDragItemForGroup(t,r.allCols):()=>createDragItem(t),dragItemName:o,onDragStarted:()=>{a=!i.get("suppressDragLeaveHidesColumns"),setColumnsMoving(d,!0)},onDragStopped:()=>setColumnsMoving(d,!1),onDragCancelled:()=>setColumnsMoving(d,!1),onGridEnter:h=>{if(a){const{columns:g=[],visibleState:p}=h??{},f=l?C=>!p||p[C.getColId()]:()=>!0,m=g.filter(C=>!C.getColDef().lockVisible&&f(C));s.setColsVisible(m,!0,"uiColumnMoved")}},onGridExit:h=>{if(a){const g=h?.columns?.filter(p=>!p.getColDef().lockVisible)||[];s.setColsVisible(g,!1,"uiColumnMoved")}}};return n.addDragSource(u,!0),u}};function findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.parent}}function createDragItem(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t,containerType:e.pinned}}function createDragItemForGroup(e,t){const o=e.getProvidedColumnGroup().getLeafColumns(),i={};for(const a of o)i[a.getId()]=a.isVisible();const s=[];for(const a of t)o.indexOf(a)>=0&&(s.push(a),_removeFromArray(o,a));for(const a of o)s.push(a);const n=[],r=e.getLeafColumns();for(const a of s)r.indexOf(a)!==-1&&n.push(a);return{columns:s,columnsInSplit:n,visibleState:i,containerType:n[0]?.pinned}}var ColumnMoveModule={moduleName:"ColumnMove",version:VERSION,beans:[ColumnMoveService,ColumnAnimationService],apiFunctions:{moveColumnByIndex,moveColumns},dependsOn:[SharedDragAndDropModule],css:[column_moving_default]},AutoWidthCalculator=class extends BeanStub{constructor(){super(...arguments),this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,e=>{this.centerRowContainerCtrl=e.center})}getPreferredWidthForColumn(e,t){const o=this.getHeaderCellForColumn(e);if(!o)return-1;const i=this.beans.rowRenderer.getAllCellsNotSpanningForColumn(e);return t||i.push(o),this.getPreferredWidthForElements(i)}getPreferredWidthForColumnGroup(e){const t=this.getHeaderCellForColumn(e);return t?this.getPreferredWidthForElements([t]):-1}getPreferredWidthForElements(e,t){const o=document.createElement("form");o.style.position="fixed";const i=this.centerRowContainerCtrl.eContainer;for(const n of e)this.cloneItemIntoDummy(n,o);i.appendChild(o);const s=Math.ceil(o.getBoundingClientRect().width);return o.remove(),t=t??this.gos.get("autoSizePadding"),s+t}getHeaderCellForColumn(e){let t=null;for(const o of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){const i=o.getHtmlElementForColumnHeader(e);i!=null&&(t=i)}return t}cloneItemIntoDummy(e,t){const o=e.cloneNode(!0);o.style.width="",o.style.position="static",o.style.left="";const i=document.createElement("div"),s=i.classList;["ag-header-cell","ag-header-group-cell"].some(a=>o.classList.contains(a))?(s.add("ag-header","ag-header-row"),i.style.position="static"):s.add("ag-row");let r=e.parentElement;for(;r;){if(["ag-header-row","ag-row"].some(l=>r.classList.contains(l))){for(let l=0;l<r.classList.length;l++){const d=r.classList[l];d!="ag-row-position-absolute"&&s.add(d)}break}r=r.parentElement}i.appendChild(o),t.appendChild(i)}},AutoWidthModule={moduleName:"AutoWidth",version:VERSION,beans:[AutoWidthCalculator]};function setColumnWidths(e,t,o=!0,i="api"){e.colResize?.setColumnWidths(t,!1,o,i)}function getCommonValue(e,t){if(!e||e.length==0)return;const o=t(e[0]);for(let i=1;i<e.length;i++)if(o!==t(e[i]))return;return o}function dispatchColumnPinnedEvent(e,t,o){if(!t.length)return;const i=t.length===1?t[0]:null,s=getCommonValue(t,n=>n.getPinned());e.dispatchEvent({type:"columnPinned",pinned:s??null,columns:t,column:i,source:o})}function dispatchColumnVisibleEvent(e,t,o){if(!t.length)return;const i=t.length===1?t[0]:null,s=getCommonValue(t,n=>n.isVisible());e.dispatchEvent({type:"columnVisible",visible:s,columns:t,column:i,source:o})}function dispatchColumnChangedEvent(e,t,o,i){e.dispatchEvent({type:t,columns:o,column:o?.length==1?o[0]:null,source:i})}function dispatchColumnResizedEvent(e,t,o,i,s=null){t?.length&&e.dispatchEvent({type:"columnResized",columns:t,column:t.length===1?t[0]:null,flexColumns:s,finished:o,source:i})}var GroupResizeFeature=class extends BeanStub{constructor(e,t,o,i){super(),this.comp=e,this.eResize=t,this.pinned=o,this.columnGroup=i}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}const{horizontalResizeSvc:e,gos:t,colAutosize:o}=this.beans,i=e.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});this.addDestroyFunc(i),!t.get("suppressAutoSize")&&o&&this.addDestroyFunc(o.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart(e){const{columnsToResize:t,resizeStartWidth:o,resizeRatios:i,groupAfterColumns:s,groupAfterStartWidth:n,groupAfterRatios:r}=this.getInitialValues(e);this.resizeCols=t,this.resizeStartWidth=o,this.resizeRatios=i,this.resizeTakeFromCols=s,this.resizeTakeFromStartWidth=n,this.resizeTakeFromRatios=r,this.toggleColumnResizing(!0)}onResizing(e,t,o="uiColumnResized"){const i=this.normaliseDragChange(t),s=this.resizeStartWidth+i;this.resizeColumnsFromLocalValues(s,o,e)}getInitialValues(e){const t=l=>l.reduce((d,c)=>d+c.getActualWidth(),0),o=(l,d)=>l.map(c=>c.getActualWidth()/d),i=this.getColumnsToResize(),s=t(i),n=o(i,s),r={columnsToResize:i,resizeStartWidth:s,resizeRatios:n};let a=null;if(e&&(a=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null),a){const l=a.getDisplayedLeafColumns(),d=r.groupAfterColumns=l.filter(u=>u.isResizable()),c=r.groupAfterStartWidth=t(d);r.groupAfterRatios=o(d,c)}else r.groupAfterColumns=void 0,r.groupAfterStartWidth=void 0,r.groupAfterRatios=void 0;return r}resizeLeafColumnsToFit(e){const t=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),o=this.getInitialValues();t>o.resizeStartWidth&&this.resizeColumns(o,t,e,!0)}resizeColumnsFromLocalValues(e,t,o=!0){if(!this.resizeCols||!this.resizeRatios)return;const i={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(i,e,t,o)}resizeColumns(e,t,o,i=!0){const{columnsToResize:s,resizeStartWidth:n,resizeRatios:r,groupAfterColumns:a,groupAfterStartWidth:l,groupAfterRatios:d}=e,c=[];if(c.push({columns:s,ratios:r,width:t}),a){const u=t-n;c.push({columns:a,ratios:d,width:l-u})}this.beans.colResize?.resizeColumnSets({resizeSets:c,finished:i,source:o}),i&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.toggleCss("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(t=>t.isResizable())}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}},ResizeFeature=class extends BeanStub{constructor(e,t,o,i,s){super(),this.pinned=e,this.column=t,this.eResize=o,this.comp=i,this.ctrl=s}postConstruct(){const e=[];let t,o;const i=()=>{if(_setDisplayed(this.eResize,t),!t)return;const{horizontalResizeSvc:r,colAutosize:a}=this.beans,l=r.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});e.push(l),o&&a&&e.push(a.addColumnAutosizeListeners(this.eResize,this.column))},s=()=>{for(const r of e)r();e.length=0},n=()=>{const r=this.column.isResizable(),a=!this.gos.get("suppressAutoSize")&&!this.column.colDef.suppressAutoSize;(r!==t||a!==o)&&(t=r,o=a,s(),i())};n(),this.addDestroyFunc(s),this.ctrl.setRefreshFunction("resize",n)}onResizing(e,t){const{column:o,lastResizeAmount:i,resizeStartWidth:s,beans:n}=this,r=this.normaliseResizeAmount(t),a=s+r,l=[{key:o,newWidth:a}],{pinnedCols:d,ctrlsSvc:c,colResize:u}=n;if(this.column.getPinned()){const h=d?.leftWidth??0,g=d?.rightWidth??0,p=_getInnerWidth(c.getGridBodyCtrl().eBodyViewport)-50;if(h+g+(r-i)>p)return}this.lastResizeAmount=r,u?.setColumnWidths(l,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1)}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.column.resizing=e,this.comp.toggleCss("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const o=this.pinned!=="left",i=this.pinned==="right";return this.gos.get("enableRtl")?o&&(t*=-1):i&&(t*=-1),t}},ColumnResizeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colResize"}setColumnWidths(e,t,o,i){const s=[],{colModel:n,gos:r,visibleCols:a}=this.beans;for(const l of e){const d=n.getColDefColOrCol(l.key);if(!d)continue;if(s.push({width:l.newWidth,ratios:[1],columns:[d]}),r.get("colResizeDefault")==="shift"&&(t=!t),t){const u=a.getColAfter(d);if(!u)continue;const h=d.getActualWidth()-l.newWidth,g=u.getActualWidth()+h;s.push({width:g,ratios:[1],columns:[u]})}}s.length!==0&&this.resizeColumnSets({resizeSets:s,finished:o,source:i})}resizeColumnSets(e){const{resizeSets:t,finished:o,source:i}=e;if(!(!t||t.every(c=>checkMinAndMaxWidthsForSet(c)))){if(o){const c=t&&t.length>0?t[0].columns:null;dispatchColumnResizedEvent(this.eventSvc,c,o,i)}return}const n=[],r=[];for(const c of t){const{width:u,columns:h,ratios:g}=c,p={},f={};for(const w of h)r.push(w);let m=!0,C=0;for(;m;){if(C++,C>1e3){_error(31);break}m=!1;const w=[];let v=0,b=u;h.forEach((y,R)=>{if(f[y.getId()])b-=p[y.getId()];else{w.push(y);const x=g[R];v+=x}});const S=1/v;w.forEach((y,R)=>{const E=R===w.length-1;let x;E?x=b:(x=Math.round(g[R]*u*S),b-=x);const P=y.getMinWidth(),F=y.getMaxWidth();x<P?(x=P,f[y.getId()]=!0,m=!0):F>0&&x>F&&(x=F,f[y.getId()]=!0,m=!0),p[y.getId()]=x})}for(const w of h){const v=p[w.getId()];w.getActualWidth()!==v&&(w.setActualWidth(v,i),n.push(w))}}const a=n.length>0;let l=[];if(a){const{colFlex:c,visibleCols:u,colViewport:h}=this.beans;l=c?.refreshFlexedColumns({resizingCols:r,skipSetLeft:!0})??[],u.setLeftValues(i),u.updateBodyWidths(),h.checkViewportColumns()}const d=r.concat(l);(a||o)&&dispatchColumnResizedEvent(this.eventSvc,d,o,i,l)}resizeHeader(e,t,o){if(!e.isResizable())return;const i=e.getActualWidth(),s=e.getMinWidth(),n=e.getMaxWidth(),r=Math.min(Math.max(i+t,s),n);this.setColumnWidths([{key:e,newWidth:r}],o,!0,"uiColumnResized")}createResizeFeature(e,t,o,i,s){return new ResizeFeature(e,t,o,i,s)}createGroupResizeFeature(e,t,o,i){return new GroupResizeFeature(e,t,o,i)}};function checkMinAndMaxWidthsForSet(e){const{columns:t,width:o}=e;let i=0,s=0,n=!0;for(const l of t){const d=l.getMinWidth();i+=d||0;const c=l.getMaxWidth();c>0?s+=c:n=!1}const r=o>=i,a=!n||o<=s;return r&&a}var ColumnResizeModule={moduleName:"ColumnResize",version:VERSION,beans:[ColumnResizeService],apiFunctions:{setColumnWidths},dependsOn:[HorizontalResizeModule,AutoWidthModule]},GroupWidthFeature=class extends BeanStub{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);for(const t of this.columnGroup.getLeafColumns())t.__addEventListener("widthChanged",e),t.__addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.__removeEventListener("widthChanged",e),t.__removeEventListener("visibleChanged",e)})}removeListenersOnChildrenColumns(){for(const e of this.removeChildListenersFuncs)e();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.toggleCss("ag-hidden",e===0)}},HeaderGroupCellCtrl=class extends AbstractHeaderCellCtrl{constructor(){super(...arguments),this.onSuppressColMoveChange=()=>{!this.isAlive()||this.isSuppressMoving()?this.removeDragSource():this.dragSource||this.setDragSource(this.eGui)}}wireComp(e,t,o,i,s){const{column:n,beans:r}=this,{context:a,colNames:l,colHover:d,rangeSvc:c,colResize:u}=r;this.comp=e,s=setupCompBean(this,a,s),this.setGui(t,s),this.displayName=l.getDisplayNameForColumnGroup(n,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss(s),this.setupExpandable(s),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:i,compBean:s}),this.setupUserComp(),this.addHeaderMouseListeners(s,i),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();const h=this.rowCtrl.pinned,g=n.getProvidedColumnGroup().getLeafColumns();d?.createHoverFeature(s,g,t),c?.createRangeHighlightFeature(s,n,e),s.createManagedBean(new SetLeftFeature(n,t,r)),s.createManagedBean(new GroupWidthFeature(e,n)),u?this.resizeFeature=s.createManagedBean(u.createGroupResizeFeature(e,o,h,n)):e.setResizableDisplayed(!1),s.createManagedBean(new ManagedFocusFeature(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(s,g),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),s.addManagedPropertyListener("cellSelection",()=>this.refreshAnnouncement()),s.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(s),s.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){const{column:e,beans:t}=this,o=e.getDefinition();return _addGridCommonParams(t.gos,{colDef:o,columnGroup:e,floatingFilter:!1})}refreshMaxHeaderHeight(){const{gos:e,comp:t}=this,o=e.get("groupHeaderHeight");o!=null?o===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(o):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(const o of t)e.addManagedListeners(o,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,o)})}onLeafColumnHighlightChanged(e){const t=this.column.getDisplayedLeafColumns(),o=t[0]===e,i=_last(t)===e;if(!o&&!i)return;const s=e.getHighlighted(),n=!!this.rowCtrl.getHeaderCellCtrls().find(l=>l.column.isMoving());let r=!1,a=!1;if(n){const l=this.beans.gos.get("enableRtl"),d=s===1,c=s===0;o&&(l?a=d:r=c),i&&(l?r=c:a=d)}this.comp.toggleCss("ag-header-highlight-before",r),this.comp.toggleCss("ag-header-highlight-after",a)}resizeHeader(e,t){const{resizeFeature:o}=this;if(!o)return;const i=o.getInitialValues(t);o.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}resizeLeafColumnsToFit(e){this.resizeFeature?.resizeLeafColumnsToFit(e)}setupUserComp(){const{colGroupSvc:e,userCompFactory:t,gos:o,enterpriseMenuFactory:i}=this.beans,s=this.column,n=s.getProvidedColumnGroup(),r=_addGridCommonParams(o,{displayName:this.displayName,columnGroup:s,setExpanded:l=>{e.setColumnGroupOpened(n,l,"gridInitializing")},setTooltip:(l,d)=>{o.assertModuleRegistered("Tooltip",3),this.setupTooltip(l,d)},showColumnMenu:(l,d)=>i?.showMenuAfterButtonClick(n,l,"columnMenu",d),showColumnMenuAfterMouseClick:(l,d)=>i?.showMenuAfterMouseEvent(n,l,"columnMenu",d),eGridHeader:this.eGui}),a=_getHeaderGroupCompDetails(t,r);a&&this.comp.setUserCompDetails(a)}addHeaderMouseListeners(e,t){const{column:o,comp:i,beans:{rangeSvc:s},gos:n}=this,r=c=>this.handleMouseOverChange(c.type==="mouseenter"),a=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",o.getProvidedColumnGroup()),l=c=>this.handleContextMenuMouseEvent(c,void 0,o.getProvidedColumnGroup());e.addManagedListeners(this.eGui,{mouseenter:r,mouseleave:r,click:a,contextmenu:l}),i.toggleCss("ag-header-group-cell-selectable",_getEnableColumnSelection(n));const d=s?.createHeaderGroupCellMouseListenerFeature(this.column,t);d&&this.createManagedBean(d)}handleMouseOverChange(e){this.eventSvc.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,e,t)}setupExpandable(e){const t=this.column.getProvidedColumnGroup();this.refreshExpanded();const o=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:o,expandableChanged:o})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0),this.refreshHeaderStyles(),this.refreshAnnouncement()}addClasses(){const{column:e}=this,t=e.getColGroupDef(),o=_getHeaderClassesFromColDef(t,this.gos,null,e);e.isPadding()?(o.push("ag-header-group-cell-no-group"),e.getLeafColumns().every(s=>s.isSpanHeaderHeight())&&o.push("ag-header-span-height")):(o.push("ag-header-group-cell-with-group"),t?.wrapHeaderText&&o.push("ag-header-cell-wrap-text"));for(const i of o)this.comp.toggleCss(i,!0)}setupMovingCss(e){const{column:t}=this,i=t.getProvidedColumnGroup().getLeafColumns(),s=()=>this.comp.toggleCss("ag-header-cell-moving",t.isMoving());for(const n of i)e.addManagedListeners(n,{movingChanged:s});s()}onFocusIn(e){this.eGui.contains(e.relatedTarget)||(this.focusThis(),this.announceAriaDescription())}handleKeyDown(e){if(super.handleKeyDown(e),!this.getWrapperHasFocus())return;const{column:o,expandable:i,gos:s,beans:n}=this,r=_getEnableColumnSelection(s);if(e.key==KeyCode.ENTER){if(r&&!e.altKey)n.rangeSvc?.handleColumnSelection(o,e);else if(i){const a=!o.isExpanded();n.colGroupSvc.setColumnGroupOpened(o.getProvidedColumnGroup(),a,"uiColumnExpanded")}}}refreshAnnouncement(){let e;const{gos:t,expandable:o}=this,i=_getEnableColumnSelection(t),s=this.getLocaleTextFunc();i&&o?e=s("ariaColumnGroupCellSelectionAndExpansion","Press Enter to toggle selection for all visible cells in this column group. Press ALT ENTER to expand or collapse this column group"):i?e=s("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group"):o&&(e=s("ariaColumnGroupExpansion","Press ENTER to expand or collapse this column group")),this.ariaAnnouncement=e}announceAriaDescription(){const{beans:e,eGui:t,ariaAnnouncement:o}=this;!o||!t.contains(_getActiveDomElement(e))||e.ariaAnnounce?.announceValue(o,"columnHeader")}setDragSource(e){!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),e&&(this.dragSource=this.beans.colMoves?.setDragSourceForHeader(e,this.column,this.displayName)??null))}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some(e=>e.colDef.suppressMovable||e.colDef.lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function setColumnGroupOpened(e,t,o){e.colGroupSvc?.setColumnGroupOpened(t,o,"api")}function getColumnGroup(e,t,o){return e.colGroupSvc?.getColumnGroup(t,o)??null}function getProvidedColumnGroup(e,t){return e.colGroupSvc?.getProvidedColGroup(t)??null}function getDisplayNameForColumnGroup(e,t,o){return e.colNames.getDisplayNameForColumnGroup(t,o)||""}function getColumnGroupState(e){return e.colGroupSvc?.getColumnGroupState()??[]}function setColumnGroupState(e,t){e.colGroupSvc?.setColumnGroupState(t,"api")}function resetColumnGroupState(e){e.colGroupSvc?.resetColumnGroupState("api")}function getLeftDisplayedColumnGroups(e){return e.visibleCols.treeLeft}function getCenterDisplayedColumnGroups(e){return e.visibleCols.treeCenter}function getRightDisplayedColumnGroups(e){return e.visibleCols.treeRight}function getAllDisplayedColumnGroups(e){return e.visibleCols.getAllTrees()}var GroupInstanceIdCreator=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let o;return typeof t!="number"?o=0:o=t+1,this.existingIds[e]=o,o}};function _removeAllFromUnorderedArray(e,t){for(let o=0;o<t.length;o++){const i=e.indexOf(t[o]);i>=0&&(e[i]=e[e.length-1],e.pop())}}var VisibleColsService=class extends BeanStub{constructor(){super(...arguments),this.beanName="visibleCols",this.colsAndGroupsMap={},this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.headerGroupRowCount=0,this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.isBodyWidthDirty=!0}refresh(e,t=!1){const{colFlex:o,colModel:i,colGroupSvc:s,colViewport:n,selectionColSvc:r}=this.beans;t||this.buildTrees(i,s),s?.updateOpenClosedVisibility(),this.leftCols=pickDisplayedCols(this.treeLeft),this.centerCols=pickDisplayedCols(this.treeCenter),this.rightCols=pickDisplayedCols(this.treeRight),r?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(i),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues(e),this.autoHeightCols=this.allCols.filter(a=>a.isAutoHeight()),o?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(i,this.leftCols,this.rightCols,e),n.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:e})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let e=0;for(const t of this.allCols){let o=t.parent;for(;o;){if(!o.isPadding()){const i=o.getProvidedColumnGroup().getLevel()+1;i>e&&(e=i);break}o=o.parent}}return e}updateBodyWidths(){const e=getWidthOfColsInList(this.centerCols),t=getWidthOfColsInList(this.leftCols),o=getWidthOfColsInList(this.rightCols);this.isBodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==o)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=o,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e,t,o,i){let s,n;this.gos.get("enableRtl")?(s=t?t[0]:null,n=o?_last(o):null):(s=t?_last(t):null,n=o?o[0]:null);for(const r of e.getCols())r.setLastLeftPinned(r===s,i),r.setFirstRightPinned(r===n,i)}buildTrees(e,t){const o=e.getColsToShow(),i=o.filter(l=>l.getPinned()=="left"),s=o.filter(l=>l.getPinned()=="right"),n=o.filter(l=>l.getPinned()!="left"&&l.getPinned()!="right"),r=new GroupInstanceIdCreator,a=l=>t?t.createColumnGroups(l):l.columns;this.treeLeft=a({columns:i,idCreator:r,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=a({columns:s,idCreator:r,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=a({columns:n,idCreator:r,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder(e){const t=e.getCols(),o=[],i=[],s=[];for(const n of t){const r=n.getPinned();r?r===!0||r==="left"?o.push(n):s.push(n):i.push(n)}this.ariaOrderColumns=o.concat(i).concat(s)}getAriaColIndex(e){let t;return isColumnGroup(e)?t=e.getLeafColumns()[0]:t=e,this.ariaOrderColumns.indexOf(t)+1}setLeftValuesOfGroups(){for(const e of[this.treeLeft,this.treeRight,this.treeCenter])for(const t of e)isColumnGroup(t)&&t.checkLeft()}setLeftValuesOfCols(e){const{colModel:t}=this.beans;if(!t.getColDefCols())return;const i=t.getCols().slice(0),s=this.gos.get("enableRtl");for(const n of[this.leftCols,this.rightCols,this.centerCols]){if(s){let r=getWidthOfColsInList(n);for(const a of n)r-=a.getActualWidth(),a.setLeft(r,e)}else{let r=0;for(const a of n)a.setLeft(r,e),r+=a.getActualWidth()}_removeAllFromUnorderedArray(i,n)}for(const n of i)n.setLeft(null,e)}joinCols(){this.gos.get("enableRtl")?this.allCols=this.rightCols.concat(this.centerCols).concat(this.leftCols):this.allCols=this.leftCols.concat(this.centerCols).concat(this.rightCols)}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}isColDisplayed(e){return this.allCols.indexOf(e)>=0}getLeftColsForRow(e){const{leftCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getRightColsForRow(e){const{rightCols:t,beans:{colModel:o}}=this;return o.colSpanActive?this.getColsForRow(e,t):t}getColsForRow(e,t,o,i){const s=[];let n=null;for(let r=0;r<t.length;r++){const a=t[r],l=t.length-r,d=Math.min(a.getColSpan(e),l),c=[a];if(d>1){const h=d-1;for(let g=1;g<=h;g++)c.push(t[r+g]);r+=h}let u;if(o){u=!1;for(const h of c)o(h)&&(u=!0)}else u=!0;u&&(s.length===0&&n&&i&&i(a)&&s.push(n),s.push(a)),n=a}return s}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore(e){const t=this.allCols,o=t.indexOf(e);return o>0?t[o-1]:null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};depthFirstAllColumnTreeSearch(this.treeCenter,!1,e),depthFirstAllColumnTreeSearch(this.treeLeft,!1,e),depthFirstAllColumnTreeSearch(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}getFirstColumn(){const e=this.gos.get("enableRtl"),t=["leftCols","centerCols","rightCols"];e&&t.reverse();for(let o=0;o<t.length;o++){const i=this[t[o]];if(i.length)return e?_last(i):i[0]}return null}getColAfter(e){const t=this.allCols,o=t.indexOf(e);return o<t.length-1?t[o+1]:null}getColsLeftWidth(){return getWidthOfColsInList(this.leftCols)}getDisplayedColumnsRightWidth(){return getWidthOfColsInList(this.rightCols)}isColAtEdge(e,t){const o=this.allCols;if(!o.length)return!1;const i=t==="first";let s;if(isColumnGroup(e)){const n=e.getDisplayedLeafColumns();if(!n.length)return!1;s=i?n[0]:_last(n)}else s=e;return(i?o[0]:_last(o))===s}};function depthFirstAllColumnTreeSearch(e,t,o){if(e)for(let i=0;i<e.length;i++){const s=e[i];if(isColumnGroup(s)){const n=t?s.getDisplayedChildren():s.getChildren();depthFirstAllColumnTreeSearch(n,t,o)}o(s)}}function pickDisplayedCols(e){const t=[];return depthFirstAllColumnTreeSearch(e,!0,o=>{isColumn(o)&&t.push(o)}),t}var ColumnGroupService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colGroupSvc"}getColumnGroupState(){const e=[],t=this.beans.colModel.getColTree();return depthFirstOriginalTreeSearch(null,t,o=>{isProvidedColumnGroup(o)&&e.push({groupId:o.getGroupId(),open:o.isExpanded()})}),e}resetColumnGroupState(e){const t=this.beans.colModel.getColDefColTree();if(!t)return;const o=[];depthFirstOriginalTreeSearch(null,t,i=>{if(isProvidedColumnGroup(i)){const s=i.getColGroupDef(),n={groupId:i.getGroupId(),open:s?s.openByDefault:void 0};o.push(n)}}),this.setColumnGroupState(o,e)}setColumnGroupState(e,t){const{colModel:o,colAnimation:i,visibleCols:s,eventSvc:n}=this.beans;if(!o.getColTree().length)return;i?.start();const a=[];for(const l of e){const d=l.groupId,c=l.open,u=this.getProvidedColGroup(d);u&&u.isExpanded()!==c&&(u.setExpanded(c),a.push(u))}s.refresh(t,!0),a.length&&n.dispatchEvent({type:"columnGroupOpened",columnGroup:a.length===1?a[0]:void 0,columnGroups:a}),i?.finish()}setColumnGroupOpened(e,t,o){let i;isProvidedColumnGroup(e)?i=e.getId():i=e||"",this.setColumnGroupState([{groupId:i,open:t}],o)}getProvidedColGroup(e){let t=null;return depthFirstOriginalTreeSearch(null,this.beans.colModel.getColTree(),o=>{isProvidedColumnGroup(o)&&o.getId()===e&&(t=o)}),t}getGroupAtDirection(e,t){const o=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),i=e.getDisplayedLeafColumns(),s=t==="After"?_last(i):i[0],n=`getCol${t}`;for(;;){const r=this.beans.visibleCols[n](s);if(!r)return null;const a=this.getColGroupAtLevel(r,o);if(a!==e)return a}}getColGroupAtLevel(e,t){let o=e.parent,i,s;for(;i=o.getProvidedColumnGroup().getLevel(),s=o.getPaddingLevel(),!(i+s<=t);)o=o.parent;return o}updateOpenClosedVisibility(){const e=this.beans.visibleCols.getAllTrees();depthFirstAllColumnTreeSearch(e,!1,t=>{isColumnGroup(t)&&t.calculateDisplayedColumns()})}getColumnGroup(e,t){if(!e)return null;if(isColumnGroup(e))return e;const o=this.beans.visibleCols.getAllTrees(),i=typeof t=="number";let s=null;return depthFirstAllColumnTreeSearch(o,!1,n=>{if(isColumnGroup(n)){const r=n;let a;i?a=e===r.getGroupId()&&t===r.getPartId():a=e===r.getGroupId(),a&&(s=r)}}),s}createColumnGroups(e){const{columns:t,idCreator:o,pinned:i,oldDisplayedGroups:s,isStandaloneStructure:n}=e,r=this.mapOldGroupsById(s),a=[];let l=t;for(;l.length;){const d=l;l=[];let c=0;const u=h=>{const g=c;c=h;const p=d[g],m=(isColumnGroup(p)?p.getProvidedColumnGroup():p).getOriginalParent();if(m==null){for(let w=g;w<h;w++)a.push(d[w]);return}const C=this.createColumnGroup(m,o,r,i,n);for(let w=g;w<h;w++)C.addChild(d[w]);l.push(C)};for(let h=1;h<d.length;h++){const g=d[h],f=(isColumnGroup(g)?g.getProvidedColumnGroup():g).getOriginalParent(),m=d[c],w=(isColumnGroup(m)?m.getProvidedColumnGroup():m).getOriginalParent();f!==w&&u(h)}c<d.length&&u(d.length)}return n||this.setupParentsIntoCols(a,null),a}createProvidedColumnGroup(e,t,o,i,s,n,r){const a=s.getUniqueKey(t.groupId||null,null),l=createMergedColGroupDef(this.beans,t,a),d=new AgProvidedColumnGroup(l,a,!1,o);this.createBean(d);const c=this.findExistingGroup(t,n);c&&n.splice(c.idx,1);const u=c?.group;u&&d.setExpanded(u.isExpanded());const h=_recursivelyCreateColumns(this.beans,l.children,o+1,e,i,s,n,r);return d.setChildren(h),d}balanceColumnTree(e,t,o,i){const s=[];for(let n=0;n<e.length;n++){const r=e[n];if(isProvidedColumnGroup(r)){const a=r,l=this.balanceColumnTree(a.getChildren(),t+1,o,i);a.setChildren(l),s.push(a)}else{let a,l;for(let d=t;d<o;d++){const c=i.getUniqueKey(null,null),u=createMergedColGroupDef(this.beans,null,c),h=new AgProvidedColumnGroup(u,c,!0,d);this.createBean(h),l&&l.setChildren([h]),l=h,a||(a=l)}if(a&&l)if(s.push(a),e.some(c=>isProvidedColumnGroup(c))){l.setChildren([r]);continue}else{l.setChildren(e);break}s.push(r)}}return s}findDepth(e){let t=0,o=e;for(;o?.[0]&&isProvidedColumnGroup(o[0]);)t++,o=o[0].getChildren();return t}findMaxDepth(e,t){let o=t;for(let i=0;i<e.length;i++){const s=e[i];if(isProvidedColumnGroup(s)){const n=s,r=this.findMaxDepth(n.getChildren(),t+1);o<r&&(o=r)}}return o}balanceTreeForAutoCols(e,t){const o=[];for(const i of e){let s=i;for(let n=t-1;n>=0;n--){const r=new AgProvidedColumnGroup(null,`FAKE_PATH_${i.getId()}_${n}`,!0,n);this.createBean(r),r.setChildren([s]),s.originalParent=r,s=r}t===0&&(i.originalParent=null),o.push(s)}return o}findExistingGroup(e,t){if(e.groupId!=null)for(let i=0;i<t.length;i++){const s=t[i];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:i,group:s}}}createColumnGroup(e,t,o,i,s){const n=e.getGroupId(),r=t.getInstanceIdForKey(n),a=createUniqueColumnGroupId(n,r);let l=o[a];return l&&l.getProvidedColumnGroup()!==e&&(l=null),_exists(l)?l.reset():(l=new AgColumnGroup(e,n,r,i),s||this.createBean(l)),l}mapOldGroupsById(e){const t={},o=i=>{for(const s of i)if(isColumnGroup(s)){const n=s;t[s.getUniqueId()]=n,o(n.getChildren())}};return e&&o(e),t}setupParentsIntoCols(e,t){for(const o of e??[])if(o.parent!==t&&(this.beans.colViewport.colsWithinViewportHash=""),o.parent=t,isColumnGroup(o)){const i=o;this.setupParentsIntoCols(i.getChildren(),i)}}},ColumnGroupModule={moduleName:"ColumnGroup",version:VERSION,dynamicBeans:{headerGroupCellCtrl:HeaderGroupCellCtrl},beans:[ColumnGroupService],apiFunctions:{getAllDisplayedColumnGroups,getCenterDisplayedColumnGroups,getColumnGroup,getColumnGroupState,getDisplayNameForColumnGroup,getLeftDisplayedColumnGroups,getProvidedColumnGroup,getRightDisplayedColumnGroups,resetColumnGroupState,setColumnGroupOpened,setColumnGroupState}};function _applyColumnState(e,t,o){const{colModel:i,rowGroupColsSvc:s,pivotColsSvc:n,autoColSvc:r,selectionColSvc:a,colAnimation:l,visibleCols:d,pivotResultCols:c,environment:u,valueColsSvc:h,eventSvc:g,gos:p}=e,f=i.getColDefCols()??[],m=a?.getColumns();if(!f.length&&!m?.length)return!1;if(t?.state&&!t.state.forEach)return _warn(32),!1;const C=(S,y,R,E,x)=>{if(!S)return;const P=getValueFactory(y,t.defaultState),F=P("flex").value1,M=P("sort").value1,D=P("sortType").value1,I=_isSortDirectionValid(M)||_isSortTypeValid(D),T=_normalizeSortType(D),G=_normalizeSortDirection(M),N=I?{type:T,direction:G}:void 0;if(updateSomeColumnState(e,S,P("hide").value1,N,P("sortIndex").value1,P("pinned").value1,F,o),F==null){const L=P("width").value1;if(L!=null){const H=S.getColDef().minWidth??u.getDefaultColumnMinWidth();H!=null&&L>=H&&S.setActualWidth(L,o)}}x||!S.primary||(h?.syncColumnWithState(S,o,P),s?.syncColumnWithState(S,o,P,R),n?.syncColumnWithState(S,o,P,E))},w=(S,y,R)=>{const E=_compareColumnStatesAndDispatchEvents(e,o),x=y.slice(),P={},F={},M=[],D=[],I=[];let T=0;const G=s?.columns.slice()??[],N=n?.columns.slice()??[];for(const A of S){const O=A.colId;if(O.startsWith(GROUP_AUTO_COLUMN_ID)){M.push(A),I.push(A);continue}if(isColumnSelectionCol(O)){D.push(A),I.push(A);continue}const B=R(O);B?(C(B,A,P,F,!1),_removeFromArray(x,B)):(I.push(A),T+=1)}const L=A=>C(A,null,P,F,!1);x.forEach(L),s?.sortColumns(comparatorByIndex.bind(s,P,G)),n?.sortColumns(comparatorByIndex.bind(n,F,N)),i.refreshCols(!1,o);const H=(A,O,z=[])=>{for(const B of O){const W=A(B.colId);_removeFromArray(z,W),C(W,B,null,null,!0)}z.forEach(L)};return H(A=>r?.getColumn(A)??null,M,r?.getColumns()?.slice()),H(A=>a?.getColumn(A)??null,D,a?.getColumns()?.slice()),orderLiveColsLikeState(t,i,p),d.refresh(o),g.dispatchEvent({type:"columnEverythingChanged",source:o}),E(),{unmatchedAndAutoStates:I,unmatchedCount:T}};l?.start();let{unmatchedAndAutoStates:v,unmatchedCount:b}=w(t.state||[],f,S=>i.getColDefCol(S));if(v.length>0||_exists(t.defaultState)){const S=c?.getPivotResultCols()?.list??[];b=w(v,S,y=>c?.getPivotResultCol(y)??null).unmatchedCount}return l?.finish(),b===0}function _resetColumnState(e,t){const{colModel:o,autoColSvc:i,selectionColSvc:s,eventSvc:n,gos:r}=e;if(!o.getColDefCols()?.length)return;const l=o.getColDefColTree(),d=_getColumnsFromTree(l),c=[];let u=1e3,h=1e3;const g=w=>{const v=getColumnStateFromColDef(w);_missing(v.rowGroupIndex)&&v.rowGroup&&(v.rowGroupIndex=u++),_missing(v.pivotIndex)&&v.pivot&&(v.pivotIndex=h++),c.push(v)};i?.getColumns()?.forEach(g),s?.getColumns()?.forEach(g),d?.forEach(g),_applyColumnState(e,{state:c},t);const p=i?.getColumns()??[],C=[...s?.getColumns()??[],...p,...d].map(w=>({colId:w.colId}));_applyColumnState(e,{state:C,applyOrder:!0},t),n.dispatchEvent(_addGridCommonParams(r,{type:"columnsReset",source:t}))}function _compareColumnStatesAndDispatchEvents(e,t){const{rowGroupColsSvc:o,pivotColsSvc:i,valueColsSvc:s,colModel:n,sortSvc:r,eventSvc:a}=e,l={rowGroupColumns:o?.columns.slice()??[],pivotColumns:i?.columns.slice()??[],valueColumns:s?.columns.slice()??[]},d=_getColumnState(e),c={};for(const u of d)c[u.colId]=u;return()=>{const u=(y,R,E,x)=>{const P=R.map(x),F=E.map(x);if(_areEqual(P,F))return;const D=new Set(R);for(const T of E)D.delete(T)||D.add(T);const I=[...D];a.dispatchEvent({type:y,columns:I,column:I.length===1?I[0]:null,source:t})},h=y=>{const R=[];return n.forAllCols(E=>{const x=c[E.colId];x&&y(x,E)&&R.push(E)}),R},g=y=>y.colId;u("columnRowGroupChanged",l.rowGroupColumns,o?.columns??[],g),u("columnPivotChanged",l.pivotColumns,i?.columns??[],g);const f=h((y,R)=>{const E=y.aggFunc!=null,x=E!=R.isValueActive(),P=E&&y.aggFunc!=R.getAggFunc();return x||P});f.length>0&&dispatchColumnChangedEvent(a,"columnValueChanged",f,t),dispatchColumnResizedEvent(a,h((y,R)=>y.width!=R.getActualWidth()),!0,t),dispatchColumnPinnedEvent(a,h((y,R)=>y.pinned!=R.getPinned()),t),dispatchColumnVisibleEvent(a,h((y,R)=>y.hide==R.isVisible()),t);const b=h((y,R)=>!_areSortDefsEqual(R.getSortDef(),{type:_normalizeSortType(y.sortType),direction:_normalizeSortDirection(y.sort)})||y.sortIndex!=R.getSortIndex());b.length>0&&r?.dispatchSortChangedEvents(t,b);const S=_getColumnState(e);normaliseColumnMovedEventForColumnState(d,S,t,n,a)}}function _getColumnState(e){const{colModel:t,rowGroupColsSvc:o,pivotColsSvc:i}=e,s=t.getColDefCols();if(_missing(s)||!t.isAlive())return[];const n=o?.columns,r=i?.columns,a=[],l=c=>{const u=c.isRowGroupActive()&&n?n.indexOf(c):null,h=c.isPivotActive()&&r?r.indexOf(c):null,g=c.isValueActive()?c.getAggFunc():null,p=c.getSortIndex()!=null?c.getSortIndex():null;a.push({colId:c.colId,width:c.getActualWidth(),hide:!c.isVisible(),pinned:c.getPinned(),sort:c.getSort(),sortType:c.getSortDef()?.type,sortIndex:p,aggFunc:g,rowGroup:c.isRowGroupActive(),rowGroupIndex:u,pivot:c.isPivotActive(),pivotIndex:h,flex:c.getFlex()??null})};t.forAllCols(c=>l(c));const d=new Map(t.getCols().map((c,u)=>[c.colId,u]));return a.sort((c,u)=>{const h=d.has(c.colId)?d.get(c.colId):-1,g=d.has(u.colId)?d.get(u.colId):-1;return h-g}),a}function getColumnStateFromColDef(e){const t=(m,C)=>m??C??null,o=e.colDef,i=_getSortDefFromInput(t(o.sort,o.initialSort)),s=i.direction,n=i.type,r=t(o.sortIndex,o.initialSortIndex),a=t(o.hide,o.initialHide),l=t(o.pinned,o.initialPinned),d=t(o.width,o.initialWidth),c=t(o.flex,o.initialFlex);let u=t(o.rowGroupIndex,o.initialRowGroupIndex),h=t(o.rowGroup,o.initialRowGroup);u==null&&!h&&(u=null,h=null);let g=t(o.pivotIndex,o.initialPivotIndex),p=t(o.pivot,o.initialPivot);g==null&&!p&&(g=null,p=null);const f=t(o.aggFunc,o.initialAggFunc);return{colId:e.colId,sort:s,sortType:n,sortIndex:r,hide:a,pinned:l,width:d,flex:c,rowGroup:h,rowGroupIndex:u,pivot:p,pivotIndex:g,aggFunc:f}}function orderLiveColsLikeState(e,t,o){if(!e.applyOrder||!e.state)return;const i=[];for(const s of e.state)s.colId!=null&&i.push(s.colId);sortColsLikeKeys(t.cols,i,t,o)}function sortColsLikeKeys(e,t,o,i){if(e==null)return;let s=[];const n={};for(const a of t){if(n[a])continue;const l=e.map[a];l&&(s.push(l),n[a]=!0)}let r=0;for(const a of e.list){const l=a.colId;if(n[l]!=null)continue;l.startsWith(GROUP_AUTO_COLUMN_ID)?s.splice(r++,0,a):s.push(a)}if(s=placeLockedColumns(s,i),!doesMovePassMarryChildren(s,o.getColTree())){_warn(39);return}e.list=s}function normaliseColumnMovedEventForColumnState(e,t,o,i,s){const n={};for(const c of t)n[c.colId]=c;const r={};for(const c of e)n[c.colId]&&(r[c.colId]=!0);const a=e.filter(c=>r[c.colId]),l=t.filter(c=>r[c.colId]),d=[];l.forEach((c,u)=>{const h=a?.[u];if(h&&h.colId!==c.colId){const g=i.getCol(h.colId);g&&d.push(g)}}),d.length&&s.dispatchEvent({type:"columnMoved",columns:d,column:d.length===1?d[0]:null,finished:!0,source:o})}var comparatorByIndex=(e,t,o,i)=>{const s=e[o.getId()],n=e[i.getId()],r=s!=null,a=n!=null;if(r&&a)return s-n;if(r)return-1;if(a)return 1;const l=t.indexOf(o),d=t.indexOf(i),c=l>=0,u=d>=0;return c&&u?l-d:c?-1:1},ColumnModel=class extends BeanStub{constructor(){super(...arguments),this.beanName="colModel",this.pivotMode=!1,this.ready=!1,this.changeEventsDispatching=!1}postConstruct(){this.pivotMode=this.gos.get("pivotMode"),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents","groupHideColumnsUntilExpanded","rowNumbers","hidePaddedHeaderRows"],e=>this.refreshAll(_convertColumnEventSourceType(e.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",e=>this.setPivotMode(this.gos.get("pivotMode"),_convertColumnEventSourceType(e.source)))}createColsFromColDefs(e){const{beans:t}=this,{valueCache:o,colAutosize:i,rowGroupColsSvc:s,pivotColsSvc:n,valueColsSvc:r,visibleCols:a,eventSvc:l,groupHierarchyColSvc:d}=t,c=this.colDefs?_compareColumnStatesAndDispatchEvents(t,e):void 0;o?.expire();const u=this.colDefCols?.list,h=this.colDefCols?.tree,g=_createColumnTree(t,this.colDefs,!0,h,e);_destroyColumnTree(t,this.colDefCols?.tree,g.columnTree);const p=g.columnTree,f=g.treeDepth,m=_getColumnsFromTree(p),C={};for(const w of m)C[w.getId()]=w;this.colDefCols={tree:p,treeDepth:f,list:m,map:C},this.createColumnsForService([d],this.colDefCols,e),s?.extractCols(e,u),n?.extractCols(e,u),r?.extractCols(e,u),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,e),this.changeEventsDispatching=!1,a.refresh(e),l.dispatchEvent({type:"columnEverythingChanged",source:e}),c&&(this.changeEventsDispatching=!0,c(),this.changeEventsDispatching=!1),l.dispatchEvent({type:"newColumnsLoaded",source:e}),e==="gridInitializing"&&i?.applyAutosizeStrategy()}refreshCols(e,t){if(!this.colDefCols)return;const o=this.cols?.tree;this.saveColOrder();const{autoColSvc:i,selectionColSvc:s,rowNumbersSvc:n,quickFilter:r,pivotResultCols:a,showRowGroupCols:l,rowAutoHeight:d,visibleCols:c,colViewport:u,eventSvc:h,formula:g}=this.beans,p=this.selectCols(a,this.colDefCols);g?.setFormulasActive(p),this.createColumnsForService([i,s,n],p,t);const f=_shouldMaintainColumnOrder(this.gos,this.showingPivotResult);(!e||f)&&this.restoreColOrder(p),this.positionLockedCols(p),l?.refresh(),r?.refreshCols(),this.setColSpanActive(),d?.setAutoHeightActive(p),c.clear(),u.clear(),_areEqual(o,this.cols.tree)||h.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService(e,t,o){for(const i of e)i&&(i.createColumns(t,s=>{this.lastOrder=s(this.lastOrder),this.lastPivotOrder=s(this.lastPivotOrder)},o),i.addColumns(t))}selectCols(e,t){const o=e?.getPivotResultCols()??null;this.showingPivotResult=o!=null;const{map:i,list:s,tree:n,treeDepth:r}=o??t;return this.cols={list:s.slice(),map:{...i},tree:n.slice(),treeDepth:r},o&&(o.list.some(l=>this.cols?.map[l.colId]!==void 0)||(this.lastPivotOrder=null)),this.cols}getColsToShow(){if(!this.cols)return[];const{beans:e,showingPivotResult:t,cols:o}=this,{valueColsSvc:i,selectionColSvc:s,gos:n}=e,r=this.pivotMode&&!t,a=s?.isSelectionColumnEnabled(),l=_isRowNumbers(e),d=i?.columns,c=_isGroupHideColumnsUntilExpanded(n);return o.list.filter(h=>{const g=isColumnGroupAutoCol(h);return r?d?.includes(h)||g&&(!c||h.isVisible())||a&&isColumnSelectionCol(h)||l&&isRowNumberCol(h):g&&!c||h.isVisible()})}refreshAll(e){this.ready&&(this.refreshCols(!1,e),this.beans.visibleCols.refresh(e))}setColsVisible(e,t=!1,o){_applyColumnState(this.beans,{state:e.map(i=>({colId:typeof i=="string"?i:i.colId,hide:!t}))},o)}restoreColOrder(e){const t=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!t)return;const o=t.filter(u=>e.map[u.getId()]!=null);if(o.length===0)return;if(o.length===e.list.length){e.list=o;return}const i=u=>{const h=u.getOriginalParent();return h?h.getChildren().length>1?!0:i(h):!1};if(!o.some(u=>i(u))){const u=new Set(o);for(const h of e.list)u.has(h)||o.push(h);e.list=o;return}const s=new Map;for(let u=0;u<o.length;u++){const h=o[u];s.set(h,u)}const n=e.list.filter(u=>!s.has(u));if(n.length===0){e.list=o;return}const r=(u,h)=>{const g=h?h.getOriginalParent():u.getOriginalParent();if(!g)return null;let p=null,f=null;for(const m of g.getChildren())if(!(m===h||m===u)){if(m instanceof AgColumn){const C=s.get(m);if(C==null)continue;(p==null||p<C)&&(p=C,f=m);continue}m.forEachLeafColumn(C=>{const w=s.get(C);w!=null&&(p==null||p<w)&&(p=w,f=C)})}return f??r(u,g)},a=[],l=new Map;for(const u of n){const h=r(u,null);if(h==null){a.push(u);continue}const g=l.get(h);g===void 0?l.set(h,u):Array.isArray(g)?g.push(u):l.set(h,[g,u])}const d=new Array(e.list.length);let c=d.length-1;for(let u=a.length-1;u>=0;u--)d[c--]=a[u];for(let u=o.length-1;u>=0;u--){const h=o[u],g=l.get(h);if(g)if(Array.isArray(g))for(let p=g.length-1;p>=0;p--){const f=g[p];d[c--]=f}else d[c--]=g;d[c--]=h}e.list=d}positionLockedCols(e){e.list=placeLockedColumns(e.list,this.gos)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list??null:this.lastOrder=this.cols?.list??null}getColumnDefs(e){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],e)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some(e=>e.getColDef().colSpan!=null)}isPivotMode(){return this.pivotMode}setPivotMode(e,t){if(e===this.pivotMode||(this.pivotMode=e,!this.ready))return;this.refreshCols(!1,t);const{visibleCols:o,eventSvc:i}=this.beans;o.refresh(t),i.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){const e=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!e?.length}recreateColumnDefs(e){if(!this.cols)return;this.beans.autoColSvc?.updateColumns(e);const t=_convertColumnEventSourceType(e.source);this.createColsFromColDefs(t)}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){_destroyColumnTree(this.beans,this.colDefCols?.tree),super.destroy()}getColTree(){return this.cols?.tree??[]}getColDefColTree(){return this.colDefCols?.tree??[]}getColDefCols(){return this.colDefCols?.list??null}getCols(){return this.cols?.list??[]}forAllCols(e){const{pivotResultCols:t,autoColSvc:o,selectionColSvc:i,groupHierarchyColSvc:s}=this.beans;_forAll(this.colDefCols?.list,e)||_forAll(o?.columns?.list,e)||_forAll(i?.columns?.list,e)||_forAll(s?.columns?.list,e)||_forAll(t?.getPivotResultCols()?.list,e)}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){return this.getColFromCollection(e,this.colDefCols)??this.getColFromServiceCols(e)}getColDefColOrCol(e){return e==null?null:this.getColFromCollection(e,this.colDefCols)??this.getColFromCollection(e,this.cols)??this.getColFromServiceCols(e)}getColOrColDefCol(e){return e==null?null:this.getColFromCollection(e,this.cols)??this.getColFromCollection(e,this.colDefCols)??this.getColFromServiceCols(e)}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)??this.getColFromServiceCols(e)}getColById(e){return this.cols?.map[e]??null}getColFromCollection(e,t){if(t==null)return null;const o=t.map;if(typeof e=="string"&&o[e])return o[e];const i=t.list;for(let s=0,n=i.length;s<n;++s)if(_columnsMatch(i[s],e))return i[s];return null}getColFromServiceCols(e){const t=this.beans;return t.autoColSvc?.getColumn(e)??t.selectionColSvc?.getColumn(e)??t.groupHierarchyColSvc?.getColumn(e)??null}},agAbstractLabel_default=".ag-label{white-space:nowrap}:where(.ag-ltr) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-label-align-right) .ag-label{order:1}:where(.ag-ltr) :where(.ag-label-align-right) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) :where(.ag-label-align-right) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-label-align-right){.ag-label,.ag-wrapper{flex:none}}.ag-label-align-top{align-items:flex-start;flex-direction:column}:where(.ag-label-align-top){.ag-label,.ag-wrapper{align-self:stretch}}.ag-label-ellipsis{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-label-align-top) .ag-label{margin-bottom:calc(var(--ag-spacing)*.5)}",AgAbstractLabel=class extends AgComponentStub{constructor(e,t,o){super(t,o),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{},this.registerCSS(agAbstractLabel_default)}postConstruct(){this.addCss("ag-labeled"),this.eLabel.classList.add("ag-label");const{labelSeparator:e,label:t,labelWidth:o,labelAlignment:i,disabled:s,labelEllipsis:n}=this.config;s!=null&&this.setDisabled(s),e!=null&&this.setLabelSeparator(e),t!=null&&this.setLabel(t),o!=null&&this.setLabelWidth(o),n!=null&&this.setLabelEllipsis(n),this.setLabelAlignment(i||this.labelAlignment),this.refreshLabel()}refreshLabel(){const{label:e,eLabel:t}=this;_clearElement(t),typeof e=="string"?t.innerText=e+this.labelSeparator:e&&t.appendChild(e),e===""?(_setDisplayed(t,!1),_setAriaRole(t,"presentation")):(_setDisplayed(t,!0),_setAriaRole(t,null))}setLabelSeparator(e){return this.labelSeparator===e?this:(this.labelSeparator=e,this.label!=null&&this.refreshLabel(),this)}getLabelId(){const e=this.eLabel;return e.id=e.id||`ag-${this.getCompId()}-label`,e.id}getLabel(){return this.label}setLabel(e){return this.label===e?this:(this.label=e,this.refreshLabel(),this)}setLabelAlignment(e){const o=this.getGui().classList;return o.toggle("ag-label-align-left",e==="left"),o.toggle("ag-label-align-right",e==="right"),o.toggle("ag-label-align-top",e==="top"),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return this.label==null?this:(_setElementWidth(this.eLabel,e),this)}setDisabled(e){e=!!e;const t=this.getGui();return _setDisabled(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},AgAbstractField=class extends AgAbstractLabel{constructor(e,t,o,i){super(e,t,o),this.className=i}postConstruct(){super.postConstruct();const{width:e,value:t,onValueChange:o,ariaLabel:i}=this.config;e!=null&&this.setWidth(e),t!=null&&this.setValue(t),o!=null&&this.onValueChange(o),i!=null&&this.setAriaLabel(i),this.className&&this.addCss(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){const e=this.getAriaElement(),t=this.getLabelId(),o=this.getLabel();o==null||o==""||_getAriaLabel(e)!==null?_setAriaLabelledBy(e,""):_setAriaLabelledBy(e,t??"")}setAriaLabel(e){return _setAriaLabel(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return _setFixedWidth(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e?this:(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"}),this)}};function buildTemplate(e){return{tag:"div",role:"presentation",children:[{tag:"div",ref:"eLabel",cls:"ag-input-field-label"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-input-wrapper",role:"presentation",children:[{tag:e,ref:"eInput",cls:"ag-input-field-input"}]}]}}var AgAbstractInputField=class extends AgAbstractField{constructor(e,t,o="text",i="input"){super(e,e?.template??buildTemplate(i),[],t),this.inputType=o,this.displayFieldTag=i,this.eLabel=RefPlaceholder,this.eWrapper=RefPlaceholder,this.eInput=RefPlaceholder}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);const{eLabel:e,eWrapper:t,eInput:o,className:i}=this;e.classList.add(`${i}-label`),t.classList.add(`${i}-input-wrapper`),o.classList.add(`${i}-input`),this.addCss("ag-input-field"),o.id=o.id||`ag-${this.getCompId()}-input`;const{inputName:s,inputWidth:n,inputPlaceholder:r,autoComplete:a,tabIndex:l}=this.config;s!=null&&this.setInputName(s),n!=null&&this.setInputWidth(n),r!=null&&this.setInputPlaceholder(r),a!=null&&this.setAutoComplete(a),this.addInputListeners(),this.activateTabIndex([o],l)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(e){this.displayFieldTag==="input"&&(this.inputType=e,_addOrRemoveAttribute(this.eInput,"type",e))}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth(e){return _setElementWidth(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){const t=this.eInput;return t.maxLength=e,this}setInputPlaceholder(e){return _addOrRemoveAttribute(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return _setAriaLabel(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return _setDisabled(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(e===!0)_addOrRemoveAttribute(this.eInput,"autocomplete",null);else{const t=typeof e=="string"?e:"off";_addOrRemoveAttribute(this.eInput,"autocomplete",t)}return this}},AgCheckbox=class extends AgAbstractInputField{constructor(e,t="ag-checkbox",o="checkbox"){super(e,t,o),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();const{readOnly:e,passive:t,name:o}=this.config;typeof e=="boolean"&&this.setReadOnly(e),typeof t=="boolean"&&this.setPassive(t),o!=null&&this.setName(o)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return this.selected===void 0?!0:!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;const e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){const t=this.getInputElement();return t.name=e,this}isSelected(){return this.selected}setSelected(e,t){if(this.isSelected()===e)return;this.previousValue=this.isSelected(),e=this.selected=typeof e=="boolean"?e:void 0;const o=this.eInput;o.checked=e,o.indeterminate=e===void 0,t||this.dispatchChange(this.selected,this.previousValue)}dispatchChange(e,t,o){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:o});const i=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:i.id,name:i.name,selected:e,previousValue:t})}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;const t=this.isSelected(),o=this.selected=e.target.checked;this.refreshSelectedClass(o),this.dispatchChange(o,t,e)}refreshSelectedClass(e){const t=this.eWrapper.classList;t.toggle("ag-checked",e===!0),t.toggle("ag-indeterminate",e==null)}},AgCheckboxSelector={selector:"AG-CHECKBOX",component:AgCheckbox},checkboxCellRenderer_default=".ag-checkbox-cell{height:100%}",CheckboxCellRendererElement={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},CheckboxCellRenderer=class extends Component{constructor(){super(CheckboxCellRendererElement,[AgCheckboxSelector]),this.eCheckbox=RefPlaceholder,this.registerCSS(checkboxCellRenderer_default)}init(e){this.refresh(e);const{eCheckbox:t,beans:o}=this,i=t.getInputElement();i.setAttribute("tabindex","-1"),_setAriaLive(i,"polite"),this.addManagedListeners(i,{click:s=>{if(_stopPropagationForAgGrid(s),t.isDisabled())return;const n=t.getValue();this.onCheckboxChanged(n)},dblclick:s=>{_stopPropagationForAgGrid(s)}}),this.addManagedElementListeners(e.eGridCell,{keydown:s=>{if(s.key===KeyCode.SPACE&&!t.isDisabled()){e.eGridCell===_getActiveDomElement(o)&&t.toggle();const n=t.getValue();this.onCheckboxChanged(n),s.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){let t,o=!0;const{value:i,column:s,node:n}=e;if(n.group&&s)if(typeof i=="boolean")t=i;else{const u=s.getColId();u.startsWith(GROUP_AUTO_COLUMN_ID)?t=i==null||i===""?void 0:i==="true":n.aggData?.[u]!==void 0||n.sourceRowIndex>=0?t=i??void 0:o=!1}else t=i??void 0;const{eCheckbox:r}=this;if(!o){r.setDisplayed(!1);return}r.setValue(t);const a=e.disabled??!s?.isCellEditable(n);r.setDisabled(a);const l=this.getLocaleTextFunc(),d=_getAriaCheckboxStateName(l,t),c=a?d:`${l("ariaToggleCellValue","Press SPACE to toggle cell value")} (${d})`;r.setInputAriaLabel(c)}onCheckboxChanged(e){const{params:t}=this,{column:o,node:i,value:s}=t,{editSvc:n}=this.beans;if(!o)return;const r={rowNode:i,column:o};n?.dispatchCellEvent(r,null,"cellEditingStarted",{value:s});const a=i.setDataValue(o,e,"ui");n?.dispatchCellEvent(r,null,"cellEditingStopped",{oldValue:s,newValue:e,valueChanged:a}),a||this.updateCheckbox(t)}},SkeletonCellRendererElement={tag:"div",cls:"ag-skeleton-container"},SkeletonCellRenderer=class extends Component{constructor(){super(SkeletonCellRendererElement)}init(e){const t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc(()=>_setAriaLabelledBy(e.eParentOfValue)),_setAriaLabelledBy(e.eParentOfValue,t),e.deferRender?this.setupLoading(e):e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){const e=this.getLocaleTextFunc();this.getGui().textContent=e("loadingError","ERR");const t=e("ariaSkeletonCellLoadingFailed","Row failed to load");_setAriaLabel(this.getGui(),t)}setupLoading(e){const t=_createElement({tag:"div",cls:"ag-skeleton-effect"}),o=e.node.rowIndex;if(o!=null){const n=75+25*(o%2===0?Math.sin(o):Math.cos(o));t.style.width=`${n}%`}this.getGui().appendChild(t);const i=this.getLocaleTextFunc(),s=e.deferRender?i("ariaDeferSkeletonCellLoading","Cell is loading"):i("ariaSkeletonCellLoading","Row data is loading");_setAriaLabel(this.getGui(),s)}refresh(e){return!1}},CheckboxCellRendererModule={moduleName:"CheckboxCellRenderer",version:VERSION,userComponents:{agCheckboxCellRenderer:CheckboxCellRenderer}},SkeletonCellRendererModule={moduleName:"SkeletonCellRenderer",version:VERSION,userComponents:{agSkeletonCellRenderer:SkeletonCellRenderer}};function getColumnDef(e,t){const o=e.colModel.getColDefColOrCol(t);return o?o.colDef:null}function getColumnDefs(e){return e.colModel.getColumnDefs(!0)}function getDisplayNameForColumn(e,t,o){return e.colNames.getDisplayNameForColumn(t,o)||""}function getColumn(e,t){return e.colModel.getColDefColOrCol(t)}function getColumns(e){return e.colModel.getColDefCols()}function applyColumnState(e,t){return _applyColumnState(e,t,"api")}function getColumnState(e){return _getColumnState(e)}function resetColumnState(e){_resetColumnState(e,"api")}function isPinning(e){return e.visibleCols.isPinningLeft()||e.visibleCols.isPinningRight()}function isPinningLeft(e){return e.visibleCols.isPinningLeft()}function isPinningRight(e){return e.visibleCols.isPinningRight()}function getDisplayedColAfter(e,t){return e.visibleCols.getColAfter(t)}function getDisplayedColBefore(e,t){return e.visibleCols.getColBefore(t)}function setColumnsVisible(e,t,o){e.colModel.setColsVisible(t,o,"api")}function setColumnsPinned(e,t,o){e.pinnedCols?.setColsPinned(t,o,"api")}function getAllGridColumns(e){return e.colModel.getCols()}function getDisplayedLeftColumns(e){return e.visibleCols.leftCols}function getDisplayedCenterColumns(e){return e.visibleCols.centerCols}function getDisplayedRightColumns(e){return e.visibleCols.rightCols}function getAllDisplayedColumns(e){return e.visibleCols.allCols}function getAllDisplayedVirtualColumns(e){return e.colViewport.getViewportColumns()}function _deepCloneDefinition(e,t){if(!e)return;const o=e,i={};for(const s of Object.keys(o)){if(t&&t.indexOf(s)>=0||SKIP_JS_BUILTINS.has(s))continue;const n=o[s];typeof n=="object"&&n!==null&&n.constructor===Object?i[s]=_deepCloneDefinition(n):i[s]=n}return i}var ColumnDefFactory=class extends BeanStub{constructor(){super(...arguments),this.beanName="colDefFactory"}wireBeans(e){this.rowGroupColsSvc=e.rowGroupColsSvc,this.pivotColsSvc=e.pivotColsSvc}getColumnDefs(e,t,o,i,s=!1){const n=e.slice();t?n.sort((l,d)=>o.indexOf(l)-o.indexOf(d)):(o||s)&&n.sort((l,d)=>i.indexOf(l)-i.indexOf(d));const r=this.rowGroupColsSvc?.columns,a=this.pivotColsSvc?.columns;return this.buildColumnDefs(n,r,a)}buildColumnDefs(e,t=[],o=[]){const i=[],s={};for(const n of e){const r=this.createDefFromColumn(n,t,o);let a=!0,l=r,d=n.getOriginalParent(),c=null;for(;d;){if(d.isPadding()){d=d.getOriginalParent();continue}const u=s[d.getGroupId()];if(u){u.children.push(l),a=!1;break}const h=this.createDefFromGroup(d);if(h&&(h.children=[l],s[h.groupId]=h,l=h,d=d.getOriginalParent()),d!=null&&c===d){a=!1;break}c=d}a&&i.push(l)}return i}createDefFromGroup(e){const t=_deepCloneDefinition(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,o){const i=_deepCloneDefinition(e.colDef);return i.colId=e.colId,i.width=e.getActualWidth(),i.rowGroup=e.isRowGroupActive(),i.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,i.pivot=e.isPivotActive(),i.pivotIndex=e.isPivotActive()?o.indexOf(e):null,i.aggFunc=e.isValueActive()?e.getAggFunc():null,i.hide=e.isVisible()?void 0:!0,i.pinned=e.isPinned()?e.getPinned():null,i.sort=e.getSortDef(),i.sortIndex=e.getSortIndex()!=null?e.getSortIndex():null,i}},ColumnFlexService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns(e={}){const t=e.source??"flex";e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth);const o=this.flexViewportWidth,{visibleCols:i,colDelayRenderSvc:s}=this.beans,n=i.centerCols;let r=-1;if(e.resizingCols){const f=new Set(e.resizingCols);for(let m=n.length-1;m>=0;m--)if(f.has(n[m])){r=m;break}}let a=!1;const l=n.map((f,m)=>{const C=f.getFlex(),w=C!=null&&C>0&&m>r;return a||(a=w),{col:f,isFlex:w,flex:Math.max(0,C??0),initialSize:f.getActualWidth(),min:f.getMinWidth(),max:f.getMaxWidth(),targetSize:0}});if(a?(s?.hideColumns("colFlex"),this.columnsHidden=!0):this.columnsHidden&&this.revealColumns(s),!o||!a)return[];let d=l.length,c=l.reduce((f,m)=>f+m.flex,0),u=o;const h=(f,m)=>{f.frozenSize=m,f.col.setActualWidth(m,t),u-=m,c-=f.flex,d-=1},g=f=>f.frozenSize!=null;for(const f of l)f.isFlex||h(f,f.initialSize);for(;d>0;){const f=Math.round(c<1?u*c:u);let m,C=0,w=0;for(const S of l){if(g(S))continue;m=S,w+=f*(S.flex/c);const y=w-C,R=Math.round(y);S.targetSize=R,C+=R}m&&(m.targetSize+=f-C);let v=0;for(const S of l){if(g(S))continue;const y=S.targetSize,R=Math.min(Math.max(y,S.min),S.max);v+=R-y,S.violationType=R===y?void 0:R<y?"max":"min",S.targetSize=R}const b=v===0?"all":v>0?"min":"max";for(const S of l)g(S)||(b==="all"||S.violationType===b)&&h(S,S.targetSize)}e.skipSetLeft||i.setLeftValues(t),e.updateBodyWidths&&i.updateBodyWidths();const p=l.filter(f=>f.isFlex&&!f.violationType).map(f=>f.col);if(e.fireResizedEvent){const f=l.filter(C=>C.initialSize!==C.frozenSize).map(C=>C.col),m=l.filter(C=>C.flex).map(C=>C.col);dispatchColumnResizedEvent(this.eventSvc,f,!0,t,m)}return this.revealColumns(s),p}revealColumns(e){this.columnsHidden&&(e?.revealColumns("colFlex"),this.columnsHidden=!1)}initCol(e){const{flex:t,initialFlex:o}=e.colDef;t!==void 0?e.flex=t:o!==void 0&&(e.flex=o)}setColFlex(e,t){e.flex=t??null,e.dispatchStateUpdatedEvent("flex")}},_parseBigIntOrNull=e=>{if(typeof e=="bigint")return e;let t;if(typeof e=="number")t=e;else if(typeof e=="string"&&(t=e.trim(),t===""||(t.endsWith("n")&&(t=t.slice(0,-1)),!/^[+-]?\d+$/.test(t))))return null;if(t==null)return null;try{return BigInt(t)}catch{return null}},DATE_TIME_SEPARATOR="T",DATE_TIME_SEPARATOR_REGEXP=new RegExp(`[${DATE_TIME_SEPARATOR} ]`),DATE_TIME_REGEXP=new RegExp(`^\\d{4}-\\d{2}-\\d{2}(${DATE_TIME_SEPARATOR}\\d{2}:\\d{2}:\\d{2}\\D?)?`);function _padStartWidthZeros(e,t){return e.toString().padStart(t,"0")}function _serialiseDate(e,t=!0,o=DATE_TIME_SEPARATOR){if(!e)return null;let i=[e.getFullYear(),e.getMonth()+1,e.getDate()].map(s=>_padStartWidthZeros(s,2)).join("-");return t&&(i+=o+[e.getHours(),e.getMinutes(),e.getSeconds()].map(s=>_padStartWidthZeros(s,2)).join(":")),i}function _getDateParts(e,t=!0){return e?t?[String(e.getFullYear()),String(e.getMonth()+1),_padStartWidthZeros(e.getDate(),2),_padStartWidthZeros(e.getHours(),2),`:${_padStartWidthZeros(e.getMinutes(),2)}`,`:${_padStartWidthZeros(e.getSeconds(),2)}`]:[e.getFullYear(),e.getMonth()+1,_padStartWidthZeros(e.getDate(),2)].map(String):null}var calculateOrdinal=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"},MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"],DAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function _dateToFormattedString(e,t){if(t==null)return _serialiseDate(e,!1);const o=_padStartWidthZeros(e.getFullYear(),4),i={YYYY:()=>o.slice(o.length-4,o.length),YY:()=>o.slice(o.length-2,o.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>MONTHS[e.getMonth()],MMM:()=>MONTHS[e.getMonth()].slice(0,3),MM:()=>_padStartWidthZeros(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${calculateOrdinal(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${calculateOrdinal(e.getDate())}`,DD:()=>_padStartWidthZeros(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>DAYS[e.getDay()],ddd:()=>DAYS[e.getDay()].slice(0,3),dd:()=>DAYS[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${calculateOrdinal(e.getDay())}`,d:()=>`${e.getDay()}`},s=new RegExp(Object.keys(i).join("|"),"g");return t.replace(s,n=>n in i?i[n]():n)}function _isValidDate(e,t=!1){return!!_parseDateTimeFromString(e,t)}function _isValidDateTime(e){return _isValidDate(e,!0)}function _parseDateTimeFromString(e,t=!1,o){if(!e||!o&&!DATE_TIME_REGEXP.test(e))return null;const[i,s]=e.split(DATE_TIME_SEPARATOR_REGEXP);if(!i)return null;const n=i.split("-").map(g=>Number.parseInt(g,10));if(n.filter(g=>!isNaN(g)).length!==3)return null;const[r,a,l]=n,d=new Date(r,a-1,l);if(d.getFullYear()!==r||d.getMonth()!==a-1||d.getDate()!==l||!s&&t)return null;if(!s||s==="00:00:00")return d;const[c,u,h]=s.split(":").map(g=>Number.parseInt(g,10));if(c>=0&&c<24)d.setHours(c);else if(t)return null;if(u>=0&&u<60)d.setMinutes(u);else if(t)return null;if(h>=0&&h<60)d.setSeconds(h);else if(t)return null;return d}function _getValueUsingDotField(e,t){const o=t.split(".");let i=e;for(let s=0;s<o.length;s++){if(i==null)return;i=i[o[s]]}return i}var SORTED_CELL_DATA_TYPES_FOR_MATCHING=["dateTimeString","dateString","text","number","bigint","boolean","date"],DataTypeService=class extends BeanStub{constructor(){super(...arguments),this.beanName="dataTypeSvc",this.dataTypeDefinitions={},this.isPendingInference=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[],this.columnDefinitionPropsPerDataType={number(){return{cellEditor:"agNumberCellEditor"}},bigint({filterModuleBean:e}){return e?{cellEditor:"agTextCellEditor"}:{cellEditor:"agTextCellEditor",comparator:{default:bigintComparator,absolute:bigintAbsoluteComparator}}},boolean(){return{cellEditor:"agCheckboxCellEditor",cellRenderer:"agCheckboxCellRenderer",getFindText:()=>null,suppressKeyboardEvent:({node:e,event:t,column:o})=>t.key===KeyCode.SPACE&&o.isCellEditable(e)}},date({formatValue:e}){return{cellEditor:"agDateCellEditor",keyCreator:e}},dateString({formatValue:e}){return{cellEditor:"agDateStringCellEditor",keyCreator:e}},dateTime(e){return this.date(e)},dateTimeString(e){return this.dateString(e)},object({formatValue:e,colModel:t,colId:o}){return{cellEditorParams:{useFormatter:!0},comparator:(i,s)=>{const n=t.getColDefCol(o),r=n?.colDef;if(!n||!r)return 0;const a=i==null?"":e({column:n,node:null,value:i}),l=s==null?"":e({column:n,node:null,value:s});return a===l?0:a>l?1:-1},keyCreator:e}},text(){return{}}}}wireBeans(e){this.colModel=e.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",e=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs(e)})}processDataTypeDefinitions(){const e=this.getDefaultDataTypes(),t={},o={},i=c=>u=>{const{column:h,node:g,value:p}=u;let f=h.getColDef().valueFormatter;return f===c.groupSafeValueFormatter&&(f=c.valueFormatter),this.beans.valueSvc.formatValue(h,g,p,f)};for(const c of Object.keys(e)){const u=e[c],h={...u,groupSafeValueFormatter:createGroupSafeValueFormatter(u,this.gos)};t[c]=h,o[c]=i(h)}const s=this.gos.get("dataTypeDefinitions")??{},n={};for(const c of Object.keys(s)){const u=s[c],h=this.processDataTypeDefinition(u,s,[c],e);h&&(t[c]=h,u.dataTypeMatcher&&(n[c]=u.dataTypeMatcher),o[c]=i(h))}const{valueParser:r,valueFormatter:a}=e.object,{valueParser:l,valueFormatter:d}=t.object;this.hasObjectValueParser=l!==r,this.hasObjectValueFormatter=d!==a,this.formatValueFuncs=o,this.dataTypeDefinitions=t,this.dataTypeMatchers=this.sortKeysInMatchers(n,e)}sortKeysInMatchers(e,t){const o={...e};for(const i of SORTED_CELL_DATA_TYPES_FOR_MATCHING)delete o[i],o[i]=e[i]??t[i].dataTypeMatcher;return o}processDataTypeDefinition(e,t,o,i){let s;const n=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let r=i[n];const a=t[n];if(r&&a&&(r=a),!validateDataTypeDefinition(e,r,n))return;s=mergeDataTypeDefinitions(r,e)}else{if(o.includes(n)){_warn(44);return}const r=t[n];if(!validateDataTypeDefinition(e,r,n))return;const a=this.processDataTypeDefinition(r,t,[...o,n],i);if(!a)return;s=mergeDataTypeDefinitions(a,e)}return{...s,groupSafeValueFormatter:createGroupSafeValueFormatter(s,this.gos)}}updateColDefAndGetColumnType(e,t,o){let{cellDataType:i}=t;i===void 0&&(i=e.cellDataType);const{field:s}=t;if((i==null||i===!0)&&(i=this.canInferCellDataType(e,t)?this.inferCellDataType(s,o):!1),this.addFormulaCellEditorToColDef(e,t),!i){e.cellDataType=!1;return}const n=this.dataTypeDefinitions[i];if(!n){_warn(47,{cellDataType:i});return}return e.cellDataType=i,n.groupSafeValueFormatter&&(e.valueFormatter=n.groupSafeValueFormatter),n.valueParser&&(e.valueParser=n.valueParser),n.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,i,n,o),n.columnTypes}addFormulaCellEditorToColDef(e,t){!(t.allowFormula??e.allowFormula)||t.cellEditor||(e.cellEditor="agFormulaCellEditor")}addColumnListeners(e){if(!this.isPendingInference)return;const t=this.columnStateUpdatesPendingInference[e.colId];if(!t)return;const o=i=>{t.add(i.key)};e.__addEventListener("columnStateUpdated",o),this.columnStateUpdateListenerDestroyFuncs.push(()=>e.__removeEventListener("columnStateUpdated",o))}canInferCellDataType(e,t){const{gos:o}=this;if(!_isClientSideRowModel(o))return!1;const i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(doColDefPropsPreventInference(t,i))return!1;const s=t.type===null?e.type:t.type;if(s){const n=o.get("columnTypes")??{};if(convertColumnTypes(s).some(a=>{const l=n[a.trim()];return l&&doColDefPropsPreventInference(l,i)}))return!1}return!doColDefPropsPreventInference(e,i)}inferCellDataType(e,t){if(!e)return;let o;const i=this.getInitialData();return i?o=e.includes(".")&&!this.gos.get("suppressFieldDotNotation")?_getValueUsingDotField(i,e):i[e]:this.initWaitForRowData(t),o==null?void 0:Object.keys(this.dataTypeMatchers).find(n=>this.dataTypeMatchers[n](o))??"object"}getInitialData(){const e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{const t=this.beans.rowModel.rootNode?._leafs;if(t?.length)return t[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isPendingInference)return;this.isPendingInference=!0;const t=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:o,eventSvc:i}=this.beans;t&&o&&(o.shouldQueueResizeOperations=!0);const[s]=this.addManagedEventListeners({rowDataUpdateStarted:n=>{const{firstRowData:r}=n;r&&(s?.(),this.isPendingInference=!1,this.processColumnsPendingInference(r,t),this.columnStateUpdatesPendingInference={},t&&o?.processResizeOperations(),i.dispatchEvent({type:"dataTypesInferred"}))}})}processColumnsPendingInference(e,t){this.initialData=e;const o=[];this.destroyColumnStateUpdateListeners();const i={},s={};for(const n of Object.keys(this.columnStateUpdatesPendingInference)){const r=this.columnStateUpdatesPendingInference[n],a=this.colModel.getCol(n);if(!a)continue;const l=a.colDef;if(!this.resetColDefIntoCol(a,"cellDataTypeInferred"))continue;const d=a.colDef;if(t&&d.type&&d.type!==l.type){const c=getUpdatedColumnState(a,r);c.rowGroup&&c.rowGroupIndex==null&&(i[n]=c),c.pivot&&c.pivotIndex==null&&(s[n]=c),o.push(c)}}t&&o.push(...this.generateColumnStateForRowGroupAndPivotIndexes(i,s)),o.length&&_applyColumnState(this.beans,{state:o},"cellDataTypeInferred"),this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes(e,t){const o={},{rowGroupColsSvc:i,pivotColsSvc:s}=this.beans;return i?.restoreColumnOrder(o,e),s?.restoreColumnOrder(o,t),Object.values(o)}resetColDefIntoCol(e,t){const o=e.getUserProvidedColDef();if(!o)return!1;const i=_addColumnDefaultAndTypes(this.beans,o,e.colId);return e.setColDef(i,o,t),!0}getDateStringTypeDefinition(e){const{dateString:t}=this.dataTypeDefinitions;return e?this.getDataTypeDefinition(e)??t:t}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDateIncludesTimeFlag(e){return e==="dateTime"||e==="dateTimeString"}getDataTypeDefinition(e){const t=e.colDef;if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(t==null)return!0;const o=this.getDataTypeDefinition(e)?.dataTypeMatcher;return!o||e.colDef.allowFormula&&this.beans.formula?.isFormula(t)?!0:o(t)}validateColDef(e,t,o,i){if(e.cellDataType==="object"){const s=l=>l?.cellDataType==null||l?.cellDataType===!0,n=s(t)&&s(o),r=l=>_warn(48,{property:l,inferred:n,colId:i}),{object:a}=this.dataTypeDefinitions;e.valueFormatter===a.groupSafeValueFormatter&&!this.hasObjectValueFormatter&&r("Formatter"),e.editable&&e.valueParser===a.valueParser&&!this.hasObjectValueParser&&r("Parser")}}postProcess(e){const t=e.cellDataType;if(!t||typeof t!="string")return;const{dataTypeDefinitions:o,beans:i,formatValueFuncs:s}=this,n=o[t];n&&i.colFilter?.setColDefPropsForDataType(e,n,s[t])}getFormatValue(e){return this.formatValueFuncs[e]}isColPendingInference(e){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[e]}setColDefPropertiesForBaseDataType(e,t,o,i){const s=this.formatValueFuncs[t],n=this.columnDefinitionPropsPerDataType[o.baseDataType]({colDef:e,cellDataType:t,colModel:this.colModel,dataTypeDefinition:o,colId:i,formatValue:s,filterModuleBean:this.beans.filterManager});e.cellEditor==="agFormulaCellEditor"&&n.cellEditor!==e.cellEditor&&(n.cellEditor=e.cellEditor),Object.assign(e,n)}getDateObjectTypeDef(e){const t=this.getLocaleTextFunc(),o=this.getDateIncludesTimeFlag(e);return{baseDataType:e,valueParser:i=>_parseDateTimeFromString(i.newValue&&String(i.newValue)),valueFormatter:i=>i.value==null?"":!(i.value instanceof Date)||isNaN(i.value.getTime())?t("invalidDate","Invalid Date"):_serialiseDate(i.value,o)??"",dataTypeMatcher:i=>i instanceof Date}}getDateStringTypeDef(e){const t=this.getDateIncludesTimeFlag(e);return{baseDataType:e,dateParser:o=>_parseDateTimeFromString(o)??void 0,dateFormatter:o=>_serialiseDate(o??null,t)??void 0,valueParser:o=>_isValidDate(String(o.newValue))?o.newValue:null,valueFormatter:o=>_isValidDate(String(o.value))?String(o.value):"",dataTypeMatcher:o=>typeof o=="string"&&_isValidDate(o)}}getDefaultDataTypes(){const e=this.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:t=>t.newValue?.trim?.()===""?null:Number(t.newValue),valueFormatter:t=>t.value==null?"":typeof t.value!="number"||isNaN(t.value)?e("invalidNumber","Invalid Number"):String(t.value),dataTypeMatcher:t=>typeof t=="number"},bigint:{baseDataType:"bigint",valueParser:t=>{const{newValue:o}=t;return o==null||typeof o=="string"&&o.trim()===""?null:_parseBigIntOrNull(o)},valueFormatter:t=>t.value==null?"":typeof t.value!="bigint"?e("invalidBigInt","Invalid BigInt"):String(t.value),dataTypeMatcher:t=>typeof t=="bigint"},text:{baseDataType:"text",valueParser:t=>t.newValue===""?null:_toStringOrNull(t.newValue),dataTypeMatcher:t=>typeof t=="string"},boolean:{baseDataType:"boolean",valueParser:t=>t.newValue==null?t.newValue:t.newValue?.trim?.()===""?null:String(t.newValue).toLowerCase()==="true",valueFormatter:t=>t.value==null?"":String(t.value),dataTypeMatcher:t=>typeof t=="boolean"},date:this.getDateObjectTypeDef("date"),dateString:this.getDateStringTypeDef("dateString"),dateTime:this.getDateObjectTypeDef("dateTime"),dateTimeString:{...this.getDateStringTypeDef("dateTimeString"),dataTypeMatcher:t=>typeof t=="string"&&_isValidDateTime(t)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:t=>_toStringOrNull(t.value)??""}}}destroyColumnStateUpdateListeners(){for(const e of this.columnStateUpdateListenerDestroyFuncs)e();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}};function mergeDataTypeDefinitions(e,t){const o={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(o.columnTypes=[...convertColumnTypes(e.columnTypes),...convertColumnTypes(t.columnTypes)]),o}function validateDataTypeDefinition(e,t,o){return t?t.baseDataType!==e.baseDataType?(_warn(46),!1):!0:(_warn(45,{parentCellDataType:o}),!1)}var isNumberOrBigintType=e=>typeof e=="bigint"||typeof e=="number",isNumberOrBigintBaseDataType=e=>e==="number"||e==="bigint";function createGroupSafeValueFormatter(e,t){if(e.valueFormatter)return o=>{const{node:i,colDef:s,column:n,value:r}=o;if(i?.group){const a=(s.pivotValueColumn??n).getAggFunc();if(a){if(a==="first"||a==="last")return e.valueFormatter(o);const{baseDataType:l}=e;if(isNumberOrBigintBaseDataType(l)&&a!=="count"){if(isNumberOrBigintType(r))return e.valueFormatter(o);if(r==null)return;if(typeof r=="object"){if(typeof r.toNumber=="function")return e.valueFormatter({...o,value:r.toNumber()});if("value"in r)return e.valueFormatter({...o,value:r.value})}}return}}else if(t.get("groupHideOpenParents")&&o.column.isRowGroupActive()&&typeof o.value=="string"&&!e.dataTypeMatcher?.(o.value))return;return e.valueFormatter(o)}}function doesColDefPropPreventInference(e,t,o,i){if(!t[o])return!1;const s=e[o];return s===null?(t[o]=!1,!1):i===void 0?!!s:s===i}function bigintComparator(e,t){if(e==null)return t==null?0:-1;if(t==null)return 1;const o=_parseBigIntOrNull(e),i=_parseBigIntOrNull(t);return o!=null&&i!=null?o===i?0:o>i?1:-1:0}function bigintAbsoluteComparator(e,t){if(e==null)return t==null?0:-1;if(t==null)return 1;const o=toAbsoluteBigInt(e),i=toAbsoluteBigInt(t);return o!=null&&i!=null?o===i?0:o>i?1:-1:0}function toAbsoluteBigInt(e){const t=_parseBigIntOrNull(e);return t==null?null:t<0n?-t:t}function doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([o,i])=>doesColDefPropPreventInference(e,t,o,i))}function getUpdatedColumnState(e,t){const o=getColumnStateFromColDef(e);for(const i of t)delete o[i],i==="rowGroup"?delete o.rowGroupIndex:i==="pivot"&&delete o.pivotIndex;return o}var DataTypeModule={moduleName:"DataType",version:VERSION,beans:[DataTypeService],dependsOn:[CheckboxCellRendererModule]},ColumnFlexModule={moduleName:"ColumnFlex",version:VERSION,beans:[ColumnFlexService]},ColumnApiModule={moduleName:"ColumnApi",version:VERSION,beans:[ColumnDefFactory],apiFunctions:{getColumnDef,getDisplayNameForColumn,getColumn,getColumns,applyColumnState,getColumnState,resetColumnState,isPinning,isPinningLeft,isPinningRight,getDisplayedColAfter,getDisplayedColBefore,setColumnsVisible,setColumnsPinned,getAllGridColumns,getDisplayedLeftColumns,getDisplayedCenterColumns,getDisplayedRightColumns,getAllDisplayedColumns,getAllDisplayedVirtualColumns,getColumnDefs}},ColumnNameService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colNames"}getDisplayNameForColumn(e,t,o=!1){if(!e)return null;const i=this.getHeaderName(e.getColDef(),e,null,null,t),{aggColNameSvc:s}=this.beans;return o&&s?s.getHeaderName(e,i):i}getDisplayNameForProvidedColumnGroup(e,t,o){const i=t?.getColGroupDef();return i?this.getHeaderName(i,null,e,t,o):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,o,i,s){const n=e.headerValueGetter;if(n){const r=_addGridCommonParams(this.gos,{colDef:e,column:t,columnGroup:o,providedColumnGroup:i,location:s});return typeof n=="function"?n(r):typeof n=="string"?this.beans.expressionSvc?.evaluate(n,r)??null:""}else{if(e.headerName!=null)return e.headerName;if(e.field)return _camelCaseToHumanText(e.field)}return""}},ColumnViewportService=class extends BeanStub{constructor(){super(...arguments),this.beanName="colViewport",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[]}wireBeans(e){this.visibleCols=e.visibleCols,this.colModel=e.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition(e,t,o=!1){const{visibleCols:i}=this,s=i.isBodyWidthDirty;if(!(e===this.scrollWidth&&t===this.scrollPosition&&!s)){if(this.scrollWidth=e,this.scrollPosition=t,i.isBodyWidthDirty=!0,this.gos.get("enableRtl")){const r=i.bodyWidth;this.viewportLeft=r-t-e,this.viewportRight=r-t}else this.viewportLeft=t,this.viewportRight=e+t;this.colModel.ready&&this.checkViewportColumns(o)}}getColumnHeadersToRender(e){switch(e){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender(e,t){let o;switch(e){case"left":o=this.rowsOfHeadersToRenderLeft[t];break;case"right":o=this.rowsOfHeadersToRenderRight[t];break;default:o=this.rowsOfHeadersToRenderCenter[t];break}return o??[]}extractViewportColumns(){const e=this.visibleCols.centerCols;this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[],this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return e.isAutoHeaderHeight()||isAnyParentAutoHeaderHeight(e)?!0:this.isColumnInRowViewport(e)}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;const t=e.getLeft()||0,o=t+e.getActualWidth(),i=this.viewportLeft-200,s=this.viewportRight+200,n=t<i&&o<i,r=t>s&&o>s;return!n&&!r}getViewportColumns(){const{leftCols:e,rightCols:t}=this.visibleCols;return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.colModel.colSpanActive)return this.colsWithinViewport;const t=n=>{const r=n.getLeft();return _exists(r)&&r>this.viewportLeft},o=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:i}=this,s=i.centerCols;return i.getColsForRow(e,s,o,t)}checkViewportColumns(e=!1){this.extractViewport()&&this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}calculateHeaderRows(){const{leftCols:e,rightCols:t}=this.visibleCols;this.columnsToRenderLeft=e,this.columnsToRenderRight=t,this.columnsToRenderCenter=this.colsWithinViewport;const o=i=>{const s=new Set,n={};for(const r of i){let a=r.parent;const l=r.isSpanHeaderHeight();for(;a&&!s.has(a);){if(l&&a.isPadding()){a=a.parent;continue}const c=a.getProvidedColumnGroup().getLevel();n[c]??(n[c]=[]),n[c].push(a),s.add(a),a=a.parent}}return n};this.rowsOfHeadersToRenderLeft=o(e),this.rowsOfHeadersToRenderRight=o(t),this.rowsOfHeadersToRenderCenter=o(this.headerColsWithinViewport)}extractViewport(){const e=i=>`${i.getId()}-${i.getPinned()||"normal"}`;this.extractViewportColumns();const t=this.getViewportColumns().map(e).join("#"),o=this.colsWithinViewportHash!==t;return o&&(this.colsWithinViewportHash=t,this.calculateHeaderRows()),o}};function isAnyParentAutoHeaderHeight(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.parent}return!1}var AgComponentUtils=class extends BeanStub{constructor(){super(...arguments),this.beanName="agCompUtils"}adaptFunction(e,t){if(!e.cellRenderer)return null;class o{refresh(){return!1}getGui(){return this.eGui}init(s){const n=t(s),r=typeof n;if(r==="string"||r==="number"||r==="boolean"){this.eGui=_loadTemplate("<span>"+n+"</span>");return}if(n==null){this.eGui=_createElement({tag:"span"});return}this.eGui=n}}return o}},CellRendererFunctionModule={moduleName:"CellRendererFunction",version:VERSION,beans:[AgComponentUtils]},BaseRegistry=class extends AgBeanStub{constructor(){super(...arguments),this.beanName="registry"}registerDynamicBeans(e){if(e){this.dynamicBeans??(this.dynamicBeans={});for(const t of Object.keys(e))this.dynamicBeans[t]=e[t]}}createDynamicBean(e,t,...o){if(!this.dynamicBeans)throw new Error(this.getDynamicError(e,!0));const i=this.dynamicBeans[e];if(i==null){if(t)throw new Error(this.getDynamicError(e,!1));return}return new i(...o)}};function isComponentMetaFunc(e){return typeof e=="object"&&!!e.getComp}var Registry=class extends BaseRegistry{constructor(){super(...arguments),this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){const e=this.gos.get("components");if(e!=null)for(const t of Object.keys(e))this.jsComps[t]=e[t]}registerModule(e){const{icons:t,userComponents:o,dynamicBeans:i,selectors:s}=e;if(o){const n=(r,a,l,d)=>{this.agGridDefaults[r]=a,(l||d)&&(this.agGridDefaultOverrides[r]={params:l,processParams:d})};for(const r of Object.keys(o)){let a=o[r];if(isComponentMetaFunc(a)&&(a=a.getComp(this.beans)),typeof a=="object"){const{classImp:l,params:d,processParams:c}=a;n(r,l,d,c)}else n(r,a)}}this.registerDynamicBeans(i);for(const n of s??[])this.selectors[n.selector]=n;if(t)for(const n of Object.keys(t))this.icons[n]=t[n]}getUserComponent(e,t){const o=(a,l,d,c)=>({componentFromFramework:l,component:a,params:d,processParams:c}),{frameworkOverrides:i}=this.beans,s=i.frameworkComponent(t,this.gos.get("components"));if(s!=null)return o(s,!0);const n=this.jsComps[t];if(n){const a=i.isFrameworkComponent(n);return o(n,a)}const r=this.agGridDefaults[t];if(r){const a=this.agGridDefaultOverrides[t];return o(r,!1,a?.params,a?.processParams)}return this.beans.validation?.missingUserComponent(e,t,this.agGridDefaults,this.jsComps),null}getSelector(e){return this.selectors[e]}getIcon(e){return this.icons[e]}getDynamicError(e,t){return t?_errMsg(279,{name:e}):this.beans.validation?.missingDynamicBean(e)??_errMsg(256)}},NUM_CTRLS=23,CtrlsService=class extends BeanStub{constructor(){super(...arguments),this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(const e of this.readyCallbacks)e(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){const e=Object.values(this.params);this.ready=e.length===NUM_CTRLS&&e.every(t=>t?.isAlive()??!1)}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc(()=>{const o=this.readyCallbacks.indexOf(t);o>=0&&this.readyCallbacks.splice(o,1)})}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc(()=>{this.updateReady()})}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){const{leftHeader:e,centerHeader:t,rightHeader:o}=this.params;return[e,o,t]}getHeaderRowContainerCtrl(e){const t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},shared_default=':where([class^=ag-]),:where([class^=ag-]):after,:where([class^=ag-]):before{box-sizing:border-box}:where([class^=ag-]):where(button){color:inherit}:where([class^=ag-]):where(div,span,label):focus-visible{box-shadow:inset var(--ag-focus-shadow);outline:none;&:where(.invalid){box-shadow:inset var(--ag-focus-error-shadow)}}:where([class^=ag-]) ::-ms-clear{display:none}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-tab-guard{display:block;height:0;position:absolute;width:0}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-measurement-container{height:0;overflow:hidden;visibility:hidden;width:0}.ag-measurement-element-border{display:inline-block}.ag-measurement-element-border:before{border-left:var(--ag-internal-measurement-border);content:"";display:block}.ag-popup-child{top:0;z-index:5}.ag-popup-child:where(:not(.ag-tooltip-custom)){box-shadow:var(--ag-popup-shadow)}.ag-input-wrapper,.ag-picker-field-wrapper{align-items:center;display:flex;flex:1 1 auto;line-height:normal;position:relative}.ag-input-field{align-items:center;display:flex;flex-direction:row}.ag-input-field-input:where(:not([type=checkbox],[type=radio])){flex:1 1 auto;min-width:0;width:100%}.ag-chart,.ag-dnd-ghost,.ag-external,.ag-popup,.ag-root-wrapper{cursor:default;line-height:normal;white-space:normal;-webkit-font-smoothing:antialiased;background-color:var(--ag-wrapper-background-color);color:var(--ag-text-color);color-scheme:var(--ag-browser-color-scheme);font-family:var(--ag-font-family);font-size:var(--ag-font-size);font-weight:var(--ag-font-weight);--ag-indentation-level:0}:where(.ag-icon):before{align-items:center;background-color:currentcolor;color:inherit;content:"";display:flex;font-family:inherit;font-size:var(--ag-icon-size);font-style:normal;font-variant:normal;height:var(--ag-icon-size);justify-content:center;line-height:var(--ag-icon-size);-webkit-mask-size:contain;mask-size:contain;text-transform:none;width:var(--ag-icon-size)}.ag-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;color:var(--ag-icon-color);display:block;height:var(--ag-icon-size);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-icon-size)}.ag-disabled .ag-icon,[disabled] .ag-icon{opacity:.5}.ag-icon-grip.ag-disabled,.ag-icon-grip[disabled]{opacity:.35}.ag-icon-loading{animation-duration:1s;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ag-resizer{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}:where(.ag-resizer){&.ag-resizer-topLeft{cursor:nwse-resize;height:5px;left:0;top:0;width:5px}&.ag-resizer-top{cursor:ns-resize;height:5px;left:5px;right:5px;top:0}&.ag-resizer-topRight{cursor:nesw-resize;height:5px;right:0;top:0;width:5px}&.ag-resizer-right{bottom:5px;cursor:ew-resize;right:0;top:5px;width:5px}&.ag-resizer-bottomRight{bottom:0;cursor:nwse-resize;height:5px;right:0;width:5px}&.ag-resizer-bottom{bottom:0;cursor:ns-resize;height:5px;left:5px;right:5px}&.ag-resizer-bottomLeft{bottom:0;cursor:nesw-resize;height:5px;left:0;width:5px}&.ag-resizer-left{bottom:5px;cursor:ew-resize;left:0;top:5px;width:5px}}.ag-menu{background-color:var(--ag-menu-background-color);border:var(--ag-menu-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-menu-shadow);color:var(--ag-menu-text-color);max-height:100%;overflow-y:auto;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}',IS_SSR=typeof window!="object"||!window?.document?.fonts?.forEach,FORCE_LEGACY_THEMES=!1,_injectGlobalCSS=(e,t,o,i,s,n,r=!1)=>{if(IS_SSR||FORCE_LEGACY_THEMES)return;let a=e;i&&(a=`@layer ${CSS.escape(i).replaceAll("\\.",".")} { ${e} }`);let l=injectionState.map.get(t);if(l||(l=[],injectionState.map.set(t,l)),l.some(h=>h.injectedCss===a))return;const d=document.createElement("style");n&&d.setAttribute("nonce",n),d.dataset.agCss=o,d.dataset.agCssVersion=VERSION,d.textContent=a;const c={rawCss:e,injectedCss:a,el:d,priority:s,isParams:r};let u;for(const h of l){if(h.priority>s)break;u=h}if(u){u.el.after(d);const h=l.indexOf(u);l.splice(h+1,0,c)}else t.nodeName==="STYLE"?t.after(d):t.insertBefore(d,t.querySelector(":not(title, meta)")),l.push(c)},_injectCoreAndModuleCSS=(e,t,o,i)=>{_injectGlobalCSS(shared_default,e,"shared",t,0,o),i?.forEach((s,n)=>s.forEach(r=>_injectGlobalCSS(r,e,n,t,0,o)))},_useParamsCss=(e,t,o,i,s,n)=>{if(IS_SSR||FORCE_LEGACY_THEMES)return;const r=injectionState.grids.get(e);r?r.paramsCss=t:injectionState.grids.set(e,{styleContainer:i,paramsCss:t}),removeStaleParamsCss(i),t&&o&&_injectGlobalCSS(t,i,o,s,2,n,!0)},_unregisterInstanceUsingThemingAPI=e=>{const t=injectionState.grids.get(e)?.styleContainer;if(!t)return;injectionState.grids.delete(e),Array.from(injectionState.grids.values()).some(i=>i.styleContainer===t)?removeStaleParamsCss(t):(removeStaleParamsCss(t,!0),injectionState.map.delete(t))},removeStaleParamsCss=(e,t=!1)=>{const o=new Set;for(const s of injectionState.grids.values())s.styleContainer===e&&o.add(s.paramsCss);const i=injectionState.map.get(e)??[];for(let s=i.length-1;s>=0;s--)(t||i[s].isParams&&!o.has(i[s].rawCss))&&(i[s].el.remove(),i.splice(s,1))},getInjectionState=()=>{const e=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=new Map);let t=e.get(VERSION);return t||(t={map:new WeakMap,grids:new Map,paramsId:0},e.set(VERSION,t)),t},injectionState=getInjectionState(),createPart=e=>new PartImpl(e),defaultModeName="$default",partCounter=0,PartImpl=class{constructor({feature:e,params:t,modeParams:o={},css:i,cssImports:s}){this.feature=e,this.css=i,this.cssImports=s,this.modeParams={[defaultModeName]:{...o[defaultModeName]??{},...t??{}},...o}}use(e,t,o){let i=this._inject;if(i==null){let{css:s}=this;if(s){const n=`ag-theme-${this.feature??"part"}-${++partCounter}`;typeof s=="function"&&(s=s()),s=`:where(.${n}) {
|
|
5
5
|
${s}
|
|
6
6
|
}
|
|
7
7
|
`;for(const r of this.cssImports??[])s=`@import url(${JSON.stringify(r)});
|