@procore/data-table 14.15.0 → 14.17.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Change Log
2
2
 
3
+ ## 14.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d034e19666: Implement ability to sort filters alphabetically
8
+ - 51578b737a: Corrected the rendering of the external link icon in the `SelectCell` component
9
+
10
+ ### Patch Changes
11
+
12
+ - 9949dc0ed0: Fixing issue with expanded rows persistence opening all groups when the route is an object
13
+
14
+ ## 14.16.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 6f2dd3480: Allow horizontal scrolling of column headers when the table is empty
19
+ - f8689d54c: fix Select All being triggered when 0 rows
20
+
21
+ ### Patch Changes
22
+
23
+ - aeac00464: Fix issue with resetting ungrouped/grouped columns (UISP-215)[UISP-215 https://procoretech.atlassian.net/browse/UISP-215]
24
+
3
25
  ## 14.15.0
4
26
 
5
27
  ### Minor Changes
@@ -1424,7 +1424,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1424
1424
  animation-iteration-count: infinite;
1425
1425
  animation-name: ag-shake-left-to-right;
1426
1426
  }
1427
- @keyframes _ag-shake-left-to-right_ye2ai_369 {
1427
+ @keyframes _ag-shake-left-to-right_1t4e8_369 {
1428
1428
  from {
1429
1429
  padding-left: 6px;
1430
1430
  padding-right: 2px;
@@ -5425,7 +5425,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5425
5425
  animation-iteration-count: infinite;
5426
5426
  animation-timing-function: linear;
5427
5427
  }
5428
- @keyframes _spin_ye2ai_1 {
5428
+ @keyframes _spin_1t4e8_1 {
5429
5429
  from {
5430
5430
  transform: rotate(0deg);
5431
5431
  }
@@ -7556,11 +7556,11 @@ input[class^=ag-][type=range]:disabled {
7556
7556
  }
7557
7557
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-left-floating-bottom {
7558
7558
  z-index: 1;
7559
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7559
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7560
7560
  border-right: 1px solid #d6dadc;
7561
7561
  }
7562
7562
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-right-floating-bottom {
7563
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7563
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7564
7564
  border-left: 1px solid #d6dadc;
7565
7565
  }
7566
7566
  .ag-theme-alpine.ag-theme-alpine .ag-group-value {
@@ -7575,17 +7575,17 @@ input[class^=ag-][type=range]:disabled {
7575
7575
  overflow: visible;
7576
7576
  }
7577
7577
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-left-header {
7578
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7578
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7579
7579
  }
7580
7580
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container {
7581
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7581
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7582
7582
  border-right: 1px solid #d6dadc;
7583
7583
  }
7584
7584
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-right-header {
7585
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7585
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7586
7586
  }
7587
7587
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
7588
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7588
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7589
7589
  border-left: 1px solid #d6dadc;
7590
7590
  }
7591
7591
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container, .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
@@ -7731,7 +7731,7 @@ input[class^=ag-][type=range]:disabled {
7731
7731
  .ag-theme-alpine.ag-theme-alpine .ag-details-row-auto-height .ag-center-cols-viewport, .ag-theme-alpine.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport {
7732
7732
  min-height: 0px;
7733
7733
  }
7734
- .ag-theme-alpine.ag-theme-alpine .ag-overlay {
7734
+ .ag-theme-alpine.ag-theme-alpine .ag-overlay button {
7735
7735
  pointer-events: initial;
7736
7736
  }
7737
7737
  .ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
@@ -7930,7 +7930,7 @@ input[class^=ag-][type=range]:disabled {
7930
7930
  padding-left: 16px;
7931
7931
  }
7932
7932
 
7933
- div._contextPanel_ye2ai_7153 {
7933
+ div._contextPanel_1t4e8_7153 {
7934
7934
  width: 400px;
7935
7935
  transition: all ease 500ms;
7936
7936
  flex: 0 0 auto;
@@ -7939,7 +7939,7 @@ div._contextPanel_ye2ai_7153 {
7939
7939
  border: 1px solid #d6dadc;
7940
7940
  display: flex;
7941
7941
  }
7942
- div._contextPanel--hidden_ye2ai_7162 {
7942
+ div._contextPanel--hidden_1t4e8_7162 {
7943
7943
  border: none;
7944
7944
  overflow: hidden;
7945
7945
  padding: 0px;
@@ -7947,50 +7947,50 @@ div._contextPanel--hidden_ye2ai_7162 {
7947
7947
  width: 0px;
7948
7948
  }
7949
7949
 
7950
- ._contextPanelWrapper_ye2ai_7170 {
7950
+ ._contextPanelWrapper_1t4e8_7170 {
7951
7951
  position: relative;
7952
7952
  flex-grow: 1;
7953
7953
  }
7954
7954
 
7955
- ._contextPanelBody_ye2ai_7175 {
7955
+ ._contextPanelBody_1t4e8_7175 {
7956
7956
  width: clamp(380px, 400px, 100%);
7957
7957
  }
7958
7958
 
7959
- ._contextPanel-stickyHeader_ye2ai_7179 {
7959
+ ._contextPanel-stickyHeader_1t4e8_7179 {
7960
7960
  background-color: #ffffff;
7961
7961
  position: sticky;
7962
7962
  top: 0;
7963
7963
  z-index: 5;
7964
7964
  }
7965
7965
 
7966
- ._filters-list_ye2ai_7186 {
7966
+ ._filters-list_1t4e8_7186 {
7967
7967
  padding: 0;
7968
7968
  margin: 0;
7969
7969
  }
7970
- ._filters-list_ye2ai_7186 ol {
7970
+ ._filters-list_1t4e8_7186 ol {
7971
7971
  padding: 0;
7972
7972
  margin: 0;
7973
7973
  }
7974
7974
 
7975
- ._col-drag-column-icon_ye2ai_7195 {
7975
+ ._col-drag-column-icon_1t4e8_7195 {
7976
7976
  color: #6a767c;
7977
7977
  }
7978
7978
 
7979
- ._tabular-nums_ye2ai_7199 {
7979
+ ._tabular-nums_1t4e8_7199 {
7980
7980
  font-variant-numeric: tabular-nums;
7981
7981
  }`;
7982
7982
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7983
7983
  var styles_default = {
7984
- "contextPanel": "_contextPanel_ye2ai_7153",
7985
- "contextPanel--hidden": "_contextPanel--hidden_ye2ai_7162",
7986
- "contextPanelWrapper": "_contextPanelWrapper_ye2ai_7170",
7987
- "contextPanelBody": "_contextPanelBody_ye2ai_7175",
7988
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_ye2ai_7179",
7989
- "filters-list": "_filters-list_ye2ai_7186",
7990
- "col-drag-column-icon": "_col-drag-column-icon_ye2ai_7195",
7991
- "tabular-nums": "_tabular-nums_ye2ai_7199",
7992
- "ag-shake-left-to-right": "_ag-shake-left-to-right_ye2ai_369",
7993
- "spin": "_spin_ye2ai_1"
7984
+ "contextPanel": "_contextPanel_1t4e8_7153",
7985
+ "contextPanel--hidden": "_contextPanel--hidden_1t4e8_7162",
7986
+ "contextPanelWrapper": "_contextPanelWrapper_1t4e8_7170",
7987
+ "contextPanelBody": "_contextPanelBody_1t4e8_7175",
7988
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1t4e8_7179",
7989
+ "filters-list": "_filters-list_1t4e8_7186",
7990
+ "col-drag-column-icon": "_col-drag-column-icon_1t4e8_7195",
7991
+ "tabular-nums": "_tabular-nums_1t4e8_7199",
7992
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_1t4e8_369",
7993
+ "spin": "_spin_1t4e8_1"
7994
7994
  };
7995
7995
 
7996
7996
  // src/utils/getCellValueTypographyProps.ts
@@ -54201,6 +54201,38 @@ function sortColumnDefinitionsByFilterIndex(colDef1, colDef2) {
54201
54201
  }
54202
54202
  return filterIndex1 > filterIndex2 ? 1 : -1;
54203
54203
  }
54204
+ function assignAlphabeticalFilterIndices(columnDefinitions) {
54205
+ const newColumns = columnDefinitions.map((col) => ({
54206
+ ...col,
54207
+ filterProps: col.filterProps ? { ...col.filterProps } : void 0
54208
+ }));
54209
+ const filterColumns = newColumns.filter(
54210
+ (col) => col.filterRenderer || col.filterProps
54211
+ );
54212
+ const groups = {};
54213
+ filterColumns.forEach((col) => {
54214
+ var _a;
54215
+ const groupName = ((_a = col.filterProps) == null ? void 0 : _a.groupName) || "default";
54216
+ if (!groups[groupName]) {
54217
+ groups[groupName] = [];
54218
+ }
54219
+ groups[groupName].push(col);
54220
+ });
54221
+ Object.values(groups).forEach((groupCols) => {
54222
+ groupCols.sort((a, b) => {
54223
+ const headerA = a.headerName || "";
54224
+ const headerB = b.headerName || "";
54225
+ return headerA.localeCompare(headerB);
54226
+ });
54227
+ groupCols.forEach((col, idx) => {
54228
+ if (!col.filterProps) {
54229
+ col.filterProps = {};
54230
+ }
54231
+ col.filterProps.index = idx;
54232
+ });
54233
+ });
54234
+ return newColumns;
54235
+ }
54204
54236
 
54205
54237
  // src/state/useFilterState.ts
54206
54238
  function isNumberFilterModel(value) {
@@ -55976,7 +56008,10 @@ var DataTableCellRenderer = ({
55976
56008
  value
55977
56009
  };
55978
56010
  const hasValue = value !== void 0 && value !== null && value !== "";
55979
- const isSelectCellComponent = ((_c = (_b = columnDefinition.cellEditor) == null ? void 0 : _b.render) == null ? void 0 : _c.displayName) === "SelectCellEditor";
56011
+ const isSelectCellComponent = ((_c = (_b = columnDefinition.cellRendererSelector) == null ? void 0 : _b.call(columnDefinition, {
56012
+ ...columnDefinition.cellRendererParams,
56013
+ node
56014
+ }).component) == null ? void 0 : _c.displayName) === "SelectCellRenderer";
55980
56015
  const URL = isSelectCellComponent && ((_d = columnDefinition == null ? void 0 : columnDefinition.cellRendererParams) == null ? void 0 : _d.getURL) ? columnDefinition.cellRendererParams.getURL(value) : null;
55981
56016
  const startEditing = React76.useCallback(
55982
56017
  () => api.startEditingCell({
@@ -56314,6 +56349,7 @@ var getMainMenuItems = (props, I18n) => {
56314
56349
  }),
56315
56350
  value: "rowUnGroup",
56316
56351
  action() {
56352
+ props.columnApi.resetColumnState();
56317
56353
  props.columnApi.removeRowGroupColumn(props.column);
56318
56354
  }
56319
56355
  };
@@ -56323,6 +56359,7 @@ var getMainMenuItems = (props, I18n) => {
56323
56359
  }),
56324
56360
  value: "rowGroup",
56325
56361
  action() {
56362
+ props.columnApi.resetColumnState();
56326
56363
  props.columnApi.addRowGroupColumn(props.column);
56327
56364
  }
56328
56365
  };
@@ -78238,12 +78275,16 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
78238
78275
  };
78239
78276
 
78240
78277
  // src/utils/expandRows.ts
78278
+ function getStringifiedRoute(node) {
78279
+ var _a;
78280
+ return (_a = node.getRoute()) == null ? void 0 : _a.map((r) => typeof r === "object" ? JSON.stringify(r) : r);
78281
+ }
78241
78282
  var getGroupRowState = (gridApi, groupDefaultExpanded = 0) => {
78242
78283
  const expandedRoutes = [];
78243
78284
  const collapsedRoutes = [];
78244
78285
  if (gridApi) {
78245
78286
  gridApi.forEachNode((node) => {
78246
- const route = node.getRoute();
78287
+ const route = getStringifiedRoute(node);
78247
78288
  if (route) {
78248
78289
  const routePath = route.join(",");
78249
78290
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78264,7 +78305,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78264
78305
  const expandedRoutes = ((_a = tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
78265
78306
  const collapsedRoutes = ((_b = tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
78266
78307
  gridApi.forEachNode((node) => {
78267
- const route = node.getRoute();
78308
+ const route = getStringifiedRoute(node);
78268
78309
  if (route) {
78269
78310
  const routePath = route.join(",");
78270
78311
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78282,7 +78323,7 @@ var isRowOpenedByDefault = (node, tableConfig, groupDefaultExpanded = 0) => {
78282
78323
  var _a, _b;
78283
78324
  const expandedRoutes = ((_a = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
78284
78325
  const collapsedRoutes = ((_b = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
78285
- const route = node.getRoute();
78326
+ const route = getStringifiedRoute(node);
78286
78327
  if (!route) {
78287
78328
  return false;
78288
78329
  }
@@ -82688,7 +82729,7 @@ var Table = (props) => {
82688
82729
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
82689
82730
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
82690
82731
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
82691
- groupSelectsChildren: props.groupSelectsChildren || !onSSDR,
82732
+ groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
82692
82733
  groupSelectsFiltered: true,
82693
82734
  headerHeight: props.headerHeight,
82694
82735
  icons: tableIcons,
@@ -89396,6 +89437,7 @@ exports.SingleSelectQuickFilterRenderer = SingleSelectQuickFilterRenderer_defaul
89396
89437
  exports.TextCellEditor = TextCellEditor2;
89397
89438
  exports.TextCellRenderer = TextCellRenderer;
89398
89439
  exports.UNSAFE_useTableContext = UNSAFE_useTableContext;
89440
+ exports.assignAlphabeticalFilterIndices = assignAlphabeticalFilterIndices;
89399
89441
  exports.rowSize = rowSize;
89400
89442
  exports.useAnalyticsContext = useAnalyticsContext;
89401
89443
  exports.useRowSelectionState = useRowSelectionState;
@@ -1457,6 +1457,8 @@ declare const useRowSelectionState: () => IRowNode<any>[];
1457
1457
  declare function withDataTableEditor(Component: React__default.ForwardRefExoticComponent<any>, editorType: 'input' | 'select' | 'date' | 'textarea'): React__default.ForwardRefExoticComponent<ICellEditorParams>;
1458
1458
  declare function withDataTableRenderer(Component: React__default.ComponentType<any>, editorType?: 'input' | 'select' | 'date' | 'textarea'): React__default.FC<ICellRendererParams>;
1459
1459
 
1460
+ declare function assignAlphabeticalFilterIndices(columnDefinitions: ColumnDefinition[]): ColumnDefinition[];
1461
+
1460
1462
  declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number, timeout?: number, attempts?: number) => Promise<void>;
1461
1463
 
1462
1464
  /**
@@ -1469,4 +1471,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1469
1471
  */
1470
1472
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1471
1473
 
1472
- export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
1474
+ export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
@@ -1457,6 +1457,8 @@ declare const useRowSelectionState: () => IRowNode<any>[];
1457
1457
  declare function withDataTableEditor(Component: React__default.ForwardRefExoticComponent<any>, editorType: 'input' | 'select' | 'date' | 'textarea'): React__default.ForwardRefExoticComponent<ICellEditorParams>;
1458
1458
  declare function withDataTableRenderer(Component: React__default.ComponentType<any>, editorType?: 'input' | 'select' | 'date' | 'textarea'): React__default.FC<ICellRendererParams>;
1459
1459
 
1460
+ declare function assignAlphabeticalFilterIndices(columnDefinitions: ColumnDefinition[]): ColumnDefinition[];
1461
+
1460
1462
  declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number, timeout?: number, attempts?: number) => Promise<void>;
1461
1463
 
1462
1464
  /**
@@ -1469,4 +1471,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1469
1471
  */
1470
1472
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1471
1473
 
1472
- export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
1474
+ export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
@@ -1410,7 +1410,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1410
1410
  animation-iteration-count: infinite;
1411
1411
  animation-name: ag-shake-left-to-right;
1412
1412
  }
1413
- @keyframes _ag-shake-left-to-right_ye2ai_369 {
1413
+ @keyframes _ag-shake-left-to-right_1t4e8_369 {
1414
1414
  from {
1415
1415
  padding-left: 6px;
1416
1416
  padding-right: 2px;
@@ -5411,7 +5411,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5411
5411
  animation-iteration-count: infinite;
5412
5412
  animation-timing-function: linear;
5413
5413
  }
5414
- @keyframes _spin_ye2ai_1 {
5414
+ @keyframes _spin_1t4e8_1 {
5415
5415
  from {
5416
5416
  transform: rotate(0deg);
5417
5417
  }
@@ -7542,11 +7542,11 @@ input[class^=ag-][type=range]:disabled {
7542
7542
  }
7543
7543
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-left-floating-bottom {
7544
7544
  z-index: 1;
7545
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7545
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7546
7546
  border-right: 1px solid #d6dadc;
7547
7547
  }
7548
7548
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-right-floating-bottom {
7549
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7549
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7550
7550
  border-left: 1px solid #d6dadc;
7551
7551
  }
7552
7552
  .ag-theme-alpine.ag-theme-alpine .ag-group-value {
@@ -7561,17 +7561,17 @@ input[class^=ag-][type=range]:disabled {
7561
7561
  overflow: visible;
7562
7562
  }
7563
7563
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-left-header {
7564
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7564
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7565
7565
  }
7566
7566
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container {
7567
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7567
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7568
7568
  border-right: 1px solid #d6dadc;
7569
7569
  }
7570
7570
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-right-header {
7571
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7571
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7572
7572
  }
7573
7573
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
7574
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7574
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7575
7575
  border-left: 1px solid #d6dadc;
7576
7576
  }
7577
7577
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container, .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
@@ -7717,7 +7717,7 @@ input[class^=ag-][type=range]:disabled {
7717
7717
  .ag-theme-alpine.ag-theme-alpine .ag-details-row-auto-height .ag-center-cols-viewport, .ag-theme-alpine.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport {
7718
7718
  min-height: 0px;
7719
7719
  }
7720
- .ag-theme-alpine.ag-theme-alpine .ag-overlay {
7720
+ .ag-theme-alpine.ag-theme-alpine .ag-overlay button {
7721
7721
  pointer-events: initial;
7722
7722
  }
7723
7723
  .ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
@@ -7916,7 +7916,7 @@ input[class^=ag-][type=range]:disabled {
7916
7916
  padding-left: 16px;
7917
7917
  }
7918
7918
 
7919
- div._contextPanel_ye2ai_7153 {
7919
+ div._contextPanel_1t4e8_7153 {
7920
7920
  width: 400px;
7921
7921
  transition: all ease 500ms;
7922
7922
  flex: 0 0 auto;
@@ -7925,7 +7925,7 @@ div._contextPanel_ye2ai_7153 {
7925
7925
  border: 1px solid #d6dadc;
7926
7926
  display: flex;
7927
7927
  }
7928
- div._contextPanel--hidden_ye2ai_7162 {
7928
+ div._contextPanel--hidden_1t4e8_7162 {
7929
7929
  border: none;
7930
7930
  overflow: hidden;
7931
7931
  padding: 0px;
@@ -7933,50 +7933,50 @@ div._contextPanel--hidden_ye2ai_7162 {
7933
7933
  width: 0px;
7934
7934
  }
7935
7935
 
7936
- ._contextPanelWrapper_ye2ai_7170 {
7936
+ ._contextPanelWrapper_1t4e8_7170 {
7937
7937
  position: relative;
7938
7938
  flex-grow: 1;
7939
7939
  }
7940
7940
 
7941
- ._contextPanelBody_ye2ai_7175 {
7941
+ ._contextPanelBody_1t4e8_7175 {
7942
7942
  width: clamp(380px, 400px, 100%);
7943
7943
  }
7944
7944
 
7945
- ._contextPanel-stickyHeader_ye2ai_7179 {
7945
+ ._contextPanel-stickyHeader_1t4e8_7179 {
7946
7946
  background-color: #ffffff;
7947
7947
  position: sticky;
7948
7948
  top: 0;
7949
7949
  z-index: 5;
7950
7950
  }
7951
7951
 
7952
- ._filters-list_ye2ai_7186 {
7952
+ ._filters-list_1t4e8_7186 {
7953
7953
  padding: 0;
7954
7954
  margin: 0;
7955
7955
  }
7956
- ._filters-list_ye2ai_7186 ol {
7956
+ ._filters-list_1t4e8_7186 ol {
7957
7957
  padding: 0;
7958
7958
  margin: 0;
7959
7959
  }
7960
7960
 
7961
- ._col-drag-column-icon_ye2ai_7195 {
7961
+ ._col-drag-column-icon_1t4e8_7195 {
7962
7962
  color: #6a767c;
7963
7963
  }
7964
7964
 
7965
- ._tabular-nums_ye2ai_7199 {
7965
+ ._tabular-nums_1t4e8_7199 {
7966
7966
  font-variant-numeric: tabular-nums;
7967
7967
  }`;
7968
7968
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7969
7969
  var styles_default = {
7970
- "contextPanel": "_contextPanel_ye2ai_7153",
7971
- "contextPanel--hidden": "_contextPanel--hidden_ye2ai_7162",
7972
- "contextPanelWrapper": "_contextPanelWrapper_ye2ai_7170",
7973
- "contextPanelBody": "_contextPanelBody_ye2ai_7175",
7974
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_ye2ai_7179",
7975
- "filters-list": "_filters-list_ye2ai_7186",
7976
- "col-drag-column-icon": "_col-drag-column-icon_ye2ai_7195",
7977
- "tabular-nums": "_tabular-nums_ye2ai_7199",
7978
- "ag-shake-left-to-right": "_ag-shake-left-to-right_ye2ai_369",
7979
- "spin": "_spin_ye2ai_1"
7970
+ "contextPanel": "_contextPanel_1t4e8_7153",
7971
+ "contextPanel--hidden": "_contextPanel--hidden_1t4e8_7162",
7972
+ "contextPanelWrapper": "_contextPanelWrapper_1t4e8_7170",
7973
+ "contextPanelBody": "_contextPanelBody_1t4e8_7175",
7974
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1t4e8_7179",
7975
+ "filters-list": "_filters-list_1t4e8_7186",
7976
+ "col-drag-column-icon": "_col-drag-column-icon_1t4e8_7195",
7977
+ "tabular-nums": "_tabular-nums_1t4e8_7199",
7978
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_1t4e8_369",
7979
+ "spin": "_spin_1t4e8_1"
7980
7980
  };
7981
7981
 
7982
7982
  // src/utils/getCellValueTypographyProps.ts
@@ -54187,6 +54187,38 @@ function sortColumnDefinitionsByFilterIndex(colDef1, colDef2) {
54187
54187
  }
54188
54188
  return filterIndex1 > filterIndex2 ? 1 : -1;
54189
54189
  }
54190
+ function assignAlphabeticalFilterIndices(columnDefinitions) {
54191
+ const newColumns = columnDefinitions.map((col) => ({
54192
+ ...col,
54193
+ filterProps: col.filterProps ? { ...col.filterProps } : void 0
54194
+ }));
54195
+ const filterColumns = newColumns.filter(
54196
+ (col) => col.filterRenderer || col.filterProps
54197
+ );
54198
+ const groups = {};
54199
+ filterColumns.forEach((col) => {
54200
+ var _a;
54201
+ const groupName = ((_a = col.filterProps) == null ? void 0 : _a.groupName) || "default";
54202
+ if (!groups[groupName]) {
54203
+ groups[groupName] = [];
54204
+ }
54205
+ groups[groupName].push(col);
54206
+ });
54207
+ Object.values(groups).forEach((groupCols) => {
54208
+ groupCols.sort((a, b) => {
54209
+ const headerA = a.headerName || "";
54210
+ const headerB = b.headerName || "";
54211
+ return headerA.localeCompare(headerB);
54212
+ });
54213
+ groupCols.forEach((col, idx) => {
54214
+ if (!col.filterProps) {
54215
+ col.filterProps = {};
54216
+ }
54217
+ col.filterProps.index = idx;
54218
+ });
54219
+ });
54220
+ return newColumns;
54221
+ }
54190
54222
 
54191
54223
  // src/state/useFilterState.ts
54192
54224
  function isNumberFilterModel(value) {
@@ -55962,7 +55994,10 @@ var DataTableCellRenderer = ({
55962
55994
  value
55963
55995
  };
55964
55996
  const hasValue = value !== void 0 && value !== null && value !== "";
55965
- const isSelectCellComponent = ((_c = (_b = columnDefinition.cellEditor) == null ? void 0 : _b.render) == null ? void 0 : _c.displayName) === "SelectCellEditor";
55997
+ const isSelectCellComponent = ((_c = (_b = columnDefinition.cellRendererSelector) == null ? void 0 : _b.call(columnDefinition, {
55998
+ ...columnDefinition.cellRendererParams,
55999
+ node
56000
+ }).component) == null ? void 0 : _c.displayName) === "SelectCellRenderer";
55966
56001
  const URL = isSelectCellComponent && ((_d = columnDefinition == null ? void 0 : columnDefinition.cellRendererParams) == null ? void 0 : _d.getURL) ? columnDefinition.cellRendererParams.getURL(value) : null;
55967
56002
  const startEditing = useCallback(
55968
56003
  () => api.startEditingCell({
@@ -56300,6 +56335,7 @@ var getMainMenuItems = (props, I18n) => {
56300
56335
  }),
56301
56336
  value: "rowUnGroup",
56302
56337
  action() {
56338
+ props.columnApi.resetColumnState();
56303
56339
  props.columnApi.removeRowGroupColumn(props.column);
56304
56340
  }
56305
56341
  };
@@ -56309,6 +56345,7 @@ var getMainMenuItems = (props, I18n) => {
56309
56345
  }),
56310
56346
  value: "rowGroup",
56311
56347
  action() {
56348
+ props.columnApi.resetColumnState();
56312
56349
  props.columnApi.addRowGroupColumn(props.column);
56313
56350
  }
56314
56351
  };
@@ -78224,12 +78261,16 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
78224
78261
  };
78225
78262
 
78226
78263
  // src/utils/expandRows.ts
78264
+ function getStringifiedRoute(node) {
78265
+ var _a;
78266
+ return (_a = node.getRoute()) == null ? void 0 : _a.map((r) => typeof r === "object" ? JSON.stringify(r) : r);
78267
+ }
78227
78268
  var getGroupRowState = (gridApi, groupDefaultExpanded = 0) => {
78228
78269
  const expandedRoutes = [];
78229
78270
  const collapsedRoutes = [];
78230
78271
  if (gridApi) {
78231
78272
  gridApi.forEachNode((node) => {
78232
- const route = node.getRoute();
78273
+ const route = getStringifiedRoute(node);
78233
78274
  if (route) {
78234
78275
  const routePath = route.join(",");
78235
78276
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78250,7 +78291,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78250
78291
  const expandedRoutes = ((_a = tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
78251
78292
  const collapsedRoutes = ((_b = tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
78252
78293
  gridApi.forEachNode((node) => {
78253
- const route = node.getRoute();
78294
+ const route = getStringifiedRoute(node);
78254
78295
  if (route) {
78255
78296
  const routePath = route.join(",");
78256
78297
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78268,7 +78309,7 @@ var isRowOpenedByDefault = (node, tableConfig, groupDefaultExpanded = 0) => {
78268
78309
  var _a, _b;
78269
78310
  const expandedRoutes = ((_a = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
78270
78311
  const collapsedRoutes = ((_b = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
78271
- const route = node.getRoute();
78312
+ const route = getStringifiedRoute(node);
78272
78313
  if (!route) {
78273
78314
  return false;
78274
78315
  }
@@ -82674,7 +82715,7 @@ var Table = (props) => {
82674
82715
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
82675
82716
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
82676
82717
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
82677
- groupSelectsChildren: props.groupSelectsChildren || !onSSDR,
82718
+ groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
82678
82719
  groupSelectsFiltered: true,
82679
82720
  headerHeight: props.headerHeight,
82680
82721
  icons: tableIcons,
@@ -89341,4 +89382,4 @@ object-assign/index.js:
89341
89382
  *)
89342
89383
  */
89343
89384
 
89344
- export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
89385
+ export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
@@ -1422,7 +1422,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1422
1422
  animation-iteration-count: infinite;
1423
1423
  animation-name: ag-shake-left-to-right;
1424
1424
  }
1425
- @keyframes _ag-shake-left-to-right_ye2ai_369 {
1425
+ @keyframes _ag-shake-left-to-right_1t4e8_369 {
1426
1426
  from {
1427
1427
  padding-left: 6px;
1428
1428
  padding-right: 2px;
@@ -5423,7 +5423,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5423
5423
  animation-iteration-count: infinite;
5424
5424
  animation-timing-function: linear;
5425
5425
  }
5426
- @keyframes _spin_ye2ai_1 {
5426
+ @keyframes _spin_1t4e8_1 {
5427
5427
  from {
5428
5428
  transform: rotate(0deg);
5429
5429
  }
@@ -7554,11 +7554,11 @@ input[class^=ag-][type=range]:disabled {
7554
7554
  }
7555
7555
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-left-floating-bottom {
7556
7556
  z-index: 1;
7557
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7557
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7558
7558
  border-right: 1px solid #d6dadc;
7559
7559
  }
7560
7560
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-right-floating-bottom {
7561
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7561
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7562
7562
  border-left: 1px solid #d6dadc;
7563
7563
  }
7564
7564
  .ag-theme-alpine.ag-theme-alpine .ag-group-value {
@@ -7573,17 +7573,17 @@ input[class^=ag-][type=range]:disabled {
7573
7573
  overflow: visible;
7574
7574
  }
7575
7575
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-left-header {
7576
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7576
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7577
7577
  }
7578
7578
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container {
7579
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7579
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7580
7580
  border-right: 1px solid #d6dadc;
7581
7581
  }
7582
7582
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-right-header {
7583
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7583
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7584
7584
  }
7585
7585
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
7586
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7586
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7587
7587
  border-left: 1px solid #d6dadc;
7588
7588
  }
7589
7589
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container, .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
@@ -7729,7 +7729,7 @@ input[class^=ag-][type=range]:disabled {
7729
7729
  .ag-theme-alpine.ag-theme-alpine .ag-details-row-auto-height .ag-center-cols-viewport, .ag-theme-alpine.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport {
7730
7730
  min-height: 0px;
7731
7731
  }
7732
- .ag-theme-alpine.ag-theme-alpine .ag-overlay {
7732
+ .ag-theme-alpine.ag-theme-alpine .ag-overlay button {
7733
7733
  pointer-events: initial;
7734
7734
  }
7735
7735
  .ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
@@ -7928,7 +7928,7 @@ input[class^=ag-][type=range]:disabled {
7928
7928
  padding-left: 16px;
7929
7929
  }
7930
7930
 
7931
- div._contextPanel_ye2ai_7153 {
7931
+ div._contextPanel_1t4e8_7153 {
7932
7932
  width: 400px;
7933
7933
  transition: all ease 500ms;
7934
7934
  flex: 0 0 auto;
@@ -7937,7 +7937,7 @@ div._contextPanel_ye2ai_7153 {
7937
7937
  border: 1px solid #d6dadc;
7938
7938
  display: flex;
7939
7939
  }
7940
- div._contextPanel--hidden_ye2ai_7162 {
7940
+ div._contextPanel--hidden_1t4e8_7162 {
7941
7941
  border: none;
7942
7942
  overflow: hidden;
7943
7943
  padding: 0px;
@@ -7945,50 +7945,50 @@ div._contextPanel--hidden_ye2ai_7162 {
7945
7945
  width: 0px;
7946
7946
  }
7947
7947
 
7948
- ._contextPanelWrapper_ye2ai_7170 {
7948
+ ._contextPanelWrapper_1t4e8_7170 {
7949
7949
  position: relative;
7950
7950
  flex-grow: 1;
7951
7951
  }
7952
7952
 
7953
- ._contextPanelBody_ye2ai_7175 {
7953
+ ._contextPanelBody_1t4e8_7175 {
7954
7954
  width: clamp(380px, 400px, 100%);
7955
7955
  }
7956
7956
 
7957
- ._contextPanel-stickyHeader_ye2ai_7179 {
7957
+ ._contextPanel-stickyHeader_1t4e8_7179 {
7958
7958
  background-color: #ffffff;
7959
7959
  position: sticky;
7960
7960
  top: 0;
7961
7961
  z-index: 5;
7962
7962
  }
7963
7963
 
7964
- ._filters-list_ye2ai_7186 {
7964
+ ._filters-list_1t4e8_7186 {
7965
7965
  padding: 0;
7966
7966
  margin: 0;
7967
7967
  }
7968
- ._filters-list_ye2ai_7186 ol {
7968
+ ._filters-list_1t4e8_7186 ol {
7969
7969
  padding: 0;
7970
7970
  margin: 0;
7971
7971
  }
7972
7972
 
7973
- ._col-drag-column-icon_ye2ai_7195 {
7973
+ ._col-drag-column-icon_1t4e8_7195 {
7974
7974
  color: #6a767c;
7975
7975
  }
7976
7976
 
7977
- ._tabular-nums_ye2ai_7199 {
7977
+ ._tabular-nums_1t4e8_7199 {
7978
7978
  font-variant-numeric: tabular-nums;
7979
7979
  }`;
7980
7980
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7981
7981
  var styles_default = {
7982
- "contextPanel": "_contextPanel_ye2ai_7153",
7983
- "contextPanel--hidden": "_contextPanel--hidden_ye2ai_7162",
7984
- "contextPanelWrapper": "_contextPanelWrapper_ye2ai_7170",
7985
- "contextPanelBody": "_contextPanelBody_ye2ai_7175",
7986
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_ye2ai_7179",
7987
- "filters-list": "_filters-list_ye2ai_7186",
7988
- "col-drag-column-icon": "_col-drag-column-icon_ye2ai_7195",
7989
- "tabular-nums": "_tabular-nums_ye2ai_7199",
7990
- "ag-shake-left-to-right": "_ag-shake-left-to-right_ye2ai_369",
7991
- "spin": "_spin_ye2ai_1"
7982
+ "contextPanel": "_contextPanel_1t4e8_7153",
7983
+ "contextPanel--hidden": "_contextPanel--hidden_1t4e8_7162",
7984
+ "contextPanelWrapper": "_contextPanelWrapper_1t4e8_7170",
7985
+ "contextPanelBody": "_contextPanelBody_1t4e8_7175",
7986
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1t4e8_7179",
7987
+ "filters-list": "_filters-list_1t4e8_7186",
7988
+ "col-drag-column-icon": "_col-drag-column-icon_1t4e8_7195",
7989
+ "tabular-nums": "_tabular-nums_1t4e8_7199",
7990
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_1t4e8_369",
7991
+ "spin": "_spin_1t4e8_1"
7992
7992
  };
7993
7993
 
7994
7994
  // src/utils/getCellValueTypographyProps.ts
@@ -54156,6 +54156,37 @@ function sortColumnDefinitionsByFilterIndex(colDef1, colDef2) {
54156
54156
  }
54157
54157
  return filterIndex1 > filterIndex2 ? 1 : -1;
54158
54158
  }
54159
+ function assignAlphabeticalFilterIndices(columnDefinitions) {
54160
+ const newColumns = columnDefinitions.map((col) => ({
54161
+ ...col,
54162
+ filterProps: col.filterProps ? { ...col.filterProps } : void 0
54163
+ }));
54164
+ const filterColumns = newColumns.filter(
54165
+ (col) => col.filterRenderer || col.filterProps
54166
+ );
54167
+ const groups = {};
54168
+ filterColumns.forEach((col) => {
54169
+ const groupName = col.filterProps?.groupName || "default";
54170
+ if (!groups[groupName]) {
54171
+ groups[groupName] = [];
54172
+ }
54173
+ groups[groupName].push(col);
54174
+ });
54175
+ Object.values(groups).forEach((groupCols) => {
54176
+ groupCols.sort((a, b) => {
54177
+ const headerA = a.headerName || "";
54178
+ const headerB = b.headerName || "";
54179
+ return headerA.localeCompare(headerB);
54180
+ });
54181
+ groupCols.forEach((col, idx) => {
54182
+ if (!col.filterProps) {
54183
+ col.filterProps = {};
54184
+ }
54185
+ col.filterProps.index = idx;
54186
+ });
54187
+ });
54188
+ return newColumns;
54189
+ }
54159
54190
 
54160
54191
  // src/state/useFilterState.ts
54161
54192
  function isNumberFilterModel(value) {
@@ -55894,7 +55925,10 @@ var DataTableCellRenderer = ({
55894
55925
  value
55895
55926
  };
55896
55927
  const hasValue = value !== void 0 && value !== null && value !== "";
55897
- const isSelectCellComponent = columnDefinition.cellEditor?.render?.displayName === "SelectCellEditor";
55928
+ const isSelectCellComponent = columnDefinition.cellRendererSelector?.({
55929
+ ...columnDefinition.cellRendererParams,
55930
+ node
55931
+ }).component?.displayName === "SelectCellRenderer";
55898
55932
  const URL = isSelectCellComponent && columnDefinition?.cellRendererParams?.getURL ? columnDefinition.cellRendererParams.getURL(value) : null;
55899
55933
  const startEditing = React76.useCallback(
55900
55934
  () => api.startEditingCell({
@@ -56227,6 +56261,7 @@ var getMainMenuItems = (props, I18n) => {
56227
56261
  }),
56228
56262
  value: "rowUnGroup",
56229
56263
  action() {
56264
+ props.columnApi.resetColumnState();
56230
56265
  props.columnApi.removeRowGroupColumn(props.column);
56231
56266
  }
56232
56267
  };
@@ -56236,6 +56271,7 @@ var getMainMenuItems = (props, I18n) => {
56236
56271
  }),
56237
56272
  value: "rowGroup",
56238
56273
  action() {
56274
+ props.columnApi.resetColumnState();
56239
56275
  props.columnApi.addRowGroupColumn(props.column);
56240
56276
  }
56241
56277
  };
@@ -78086,12 +78122,15 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
78086
78122
  };
78087
78123
 
78088
78124
  // src/utils/expandRows.ts
78125
+ function getStringifiedRoute(node) {
78126
+ return node.getRoute()?.map((r) => typeof r === "object" ? JSON.stringify(r) : r);
78127
+ }
78089
78128
  var getGroupRowState = (gridApi, groupDefaultExpanded = 0) => {
78090
78129
  const expandedRoutes = [];
78091
78130
  const collapsedRoutes = [];
78092
78131
  if (gridApi) {
78093
78132
  gridApi.forEachNode((node) => {
78094
- const route = node.getRoute();
78133
+ const route = getStringifiedRoute(node);
78095
78134
  if (route) {
78096
78135
  const routePath = route.join(",");
78097
78136
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78111,7 +78150,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78111
78150
  const expandedRoutes = tableConfig.groupRowState?.expandedRoutes ?? [];
78112
78151
  const collapsedRoutes = tableConfig.groupRowState?.collapsedRoutes ?? [];
78113
78152
  gridApi.forEachNode((node) => {
78114
- const route = node.getRoute();
78153
+ const route = getStringifiedRoute(node);
78115
78154
  if (route) {
78116
78155
  const routePath = route.join(",");
78117
78156
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78128,7 +78167,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78128
78167
  var isRowOpenedByDefault = (node, tableConfig, groupDefaultExpanded = 0) => {
78129
78168
  const expandedRoutes = tableConfig?.groupRowState?.expandedRoutes ?? [];
78130
78169
  const collapsedRoutes = tableConfig?.groupRowState?.collapsedRoutes ?? [];
78131
- const route = node.getRoute();
78170
+ const route = getStringifiedRoute(node);
78132
78171
  if (!route) {
78133
78172
  return false;
78134
78173
  }
@@ -82484,7 +82523,7 @@ var Table = (props) => {
82484
82523
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
82485
82524
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
82486
82525
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
82487
- groupSelectsChildren: props.groupSelectsChildren || !onSSDR,
82526
+ groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
82488
82527
  groupSelectsFiltered: true,
82489
82528
  headerHeight: props.headerHeight,
82490
82529
  icons: tableIcons,
@@ -89149,6 +89188,7 @@ exports.SingleSelectQuickFilterRenderer = SingleSelectQuickFilterRenderer_defaul
89149
89188
  exports.TextCellEditor = TextCellEditor2;
89150
89189
  exports.TextCellRenderer = TextCellRenderer;
89151
89190
  exports.UNSAFE_useTableContext = UNSAFE_useTableContext;
89191
+ exports.assignAlphabeticalFilterIndices = assignAlphabeticalFilterIndices;
89152
89192
  exports.rowSize = rowSize;
89153
89193
  exports.useAnalyticsContext = useAnalyticsContext;
89154
89194
  exports.useRowSelectionState = useRowSelectionState;
@@ -1457,6 +1457,8 @@ declare const useRowSelectionState: () => IRowNode<any>[];
1457
1457
  declare function withDataTableEditor(Component: React__default.ForwardRefExoticComponent<any>, editorType: 'input' | 'select' | 'date' | 'textarea'): React__default.ForwardRefExoticComponent<ICellEditorParams>;
1458
1458
  declare function withDataTableRenderer(Component: React__default.ComponentType<any>, editorType?: 'input' | 'select' | 'date' | 'textarea'): React__default.FC<ICellRendererParams>;
1459
1459
 
1460
+ declare function assignAlphabeticalFilterIndices(columnDefinitions: ColumnDefinition[]): ColumnDefinition[];
1461
+
1460
1462
  declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number, timeout?: number, attempts?: number) => Promise<void>;
1461
1463
 
1462
1464
  /**
@@ -1469,4 +1471,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1469
1471
  */
1470
1472
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1471
1473
 
1472
- export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
1474
+ export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
@@ -1457,6 +1457,8 @@ declare const useRowSelectionState: () => IRowNode<any>[];
1457
1457
  declare function withDataTableEditor(Component: React__default.ForwardRefExoticComponent<any>, editorType: 'input' | 'select' | 'date' | 'textarea'): React__default.ForwardRefExoticComponent<ICellEditorParams>;
1458
1458
  declare function withDataTableRenderer(Component: React__default.ComponentType<any>, editorType?: 'input' | 'select' | 'date' | 'textarea'): React__default.FC<ICellRendererParams>;
1459
1459
 
1460
+ declare function assignAlphabeticalFilterIndices(columnDefinitions: ColumnDefinition[]): ColumnDefinition[];
1461
+
1460
1462
  declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number, timeout?: number, attempts?: number) => Promise<void>;
1461
1463
 
1462
1464
  /**
@@ -1469,4 +1471,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1469
1471
  */
1470
1472
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1471
1473
 
1472
- export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
1474
+ export { type AgDomLayout, type AgGetDetailRowDataParams, type AgSort, type AggregationFunction, type AnalyticEvent, _default$2 as Analytics, AnalyticsBulkClient, type AnalyticsBulkConfig, type AnalyticsClient, type AnalyticsConfig$1 as AnalyticsConfig, type AvatarStackItemFilter, type BooleanCellColumnDefinition, BooleanCellEditor, type BooleanCellEditorProps, BooleanCellRenderer, type BooleanCellRendererProps, type ButtonsCellColumnDefinition, ButtonsCellRenderer, type CSVExportConfig, type CellValueChangeParams, _default$1 as ClientSideDataTable, type ClientSideDataTableProps, type ColumnConfig, type ColumnDefinition, type ColumnGroupStateConfig, type CompanyCellColumnDefinition, CompanyCellRenderer, type CompanyCellRendererProps, type ContextPanelApi, type ContextPanelContent, type CurrencyCellColumnDefinition, CurrencyCellEditor, type CurrencyCellEditorProps, CurrencyCellRenderer, type CurrencyCellRendererProps, type CustomBulkEditorFields, type CustomEditorCell, type CustomFilter, type CustomFooterConfig, type CustomRendererCell, type DTExcelFormats, type DataTableCellEditorProps, type DataTableCellRendererProps, type DataTableConfig, type DataTableProps, type DataTableTranslations, type DateCellColumnDefinition, DateCellEditor, type DateCellEditorProps, DateCellRenderer, type DateCellRendererProps, DateFilterRenderer, type DateFilterSelectionType, QuickDateFilterRenderer as DateQuickFilterRenderer, type DateTimeCellColumnDefinition, DateTimeCellEditor, DateTimeCellRenderer, type DetailRowConfig, type EmptyRendererProps, type ExcelExportConfig, type ExtendedColDef, type FilterGroup, type FrameworkComponents, type GetDetailRowDataParams, type GetRowHeightWithFooters, GrandTotalsLabelRenderer, type GranularPartial, type GranularRequired, type GroupCellColumnDefinition, GroupCellRenderer, type HTMLStringExportConfig, type ISearchState, type IServerFilter, type IsEditableParams, type IsRowSelectable, type LinkCellColumnDefinition, LinkCellRenderer, type LinkCellRendererProps, type LocationColumnDefinition, type LocationFilterOpt, LocationFilterRenderer, LocationQuickFilterRenderer, type MultiSelectCellColumnDefinition, MultiSelectCellEditor, MultiSelectCellRenderer, type MultiSelectCellRendererProps, MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer, type NestedColumnDefinition, type NumberCellColumnDefinition, NumberCellEditor, type NumberCellEditorProps, NumberCellRenderer, type NumberCellRendererProps, NumberFilterRenderer, type PartialTableApi, type PeopleCellColumnDefinition, PeopleCellRenderer, type PeopleCellRendererProps, type PercentCellColumnDefinition, PercentCellEditor, type PercentCellEditorProps, PercentCellRenderer, type PercentCellRendererProps, PersonCellRenderer, type PillCellColumnDefinition, PillCellRenderer, type PillCellRendererProps, PillSelectCellEditor, type PillSelectCellEditorProps, type PinnedBottomRow, type RefreshServerSideDataParams, type RowActionsConfig, type RowActivePredicateParams, type RowGroupToggledEvent, type RowNode, type RowSelectablePredicateParams, type RowSelectionRef, SelectAllState, type SelectCellColumnDefinition, SelectCellEditor, type SelectCellEditorProps, SelectCellRenderer, type SelectCellRendererProps, _default as ServerSideDataTable, type DataTableProps as ServerSideDataTableProps, type ServerSideGetRowsParams, type ServerSideGetRowsRequest, type ServerSideParamsOptions, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TablePanelProps, type TableProps, type TextAreaCellColumnDefinition, type TextAreaCellEditorProps, type TextAreaCellRendererProps, type TextCellColumnDefinition, TextCellEditor, type TextCellEditorProps, TextCellRenderer, type TextCellRendererProps, UNSAFE_useTableContext, type UpdateServerSideDataSourceParams, type ValueGetterParams, type ValueParserParams, type ValueSetterParams, type ValueValidator, type ValueValidatorParams, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
@@ -1408,7 +1408,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1408
1408
  animation-iteration-count: infinite;
1409
1409
  animation-name: ag-shake-left-to-right;
1410
1410
  }
1411
- @keyframes _ag-shake-left-to-right_ye2ai_369 {
1411
+ @keyframes _ag-shake-left-to-right_1t4e8_369 {
1412
1412
  from {
1413
1413
  padding-left: 6px;
1414
1414
  padding-right: 2px;
@@ -5409,7 +5409,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5409
5409
  animation-iteration-count: infinite;
5410
5410
  animation-timing-function: linear;
5411
5411
  }
5412
- @keyframes _spin_ye2ai_1 {
5412
+ @keyframes _spin_1t4e8_1 {
5413
5413
  from {
5414
5414
  transform: rotate(0deg);
5415
5415
  }
@@ -7540,11 +7540,11 @@ input[class^=ag-][type=range]:disabled {
7540
7540
  }
7541
7541
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-left-floating-bottom {
7542
7542
  z-index: 1;
7543
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7543
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7544
7544
  border-right: 1px solid #d6dadc;
7545
7545
  }
7546
7546
  .ag-theme-alpine.ag-theme-alpine .ag-floating-bottom .ag-pinned-right-floating-bottom {
7547
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7547
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7548
7548
  border-left: 1px solid #d6dadc;
7549
7549
  }
7550
7550
  .ag-theme-alpine.ag-theme-alpine .ag-group-value {
@@ -7559,17 +7559,17 @@ input[class^=ag-][type=range]:disabled {
7559
7559
  overflow: visible;
7560
7560
  }
7561
7561
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-left-header {
7562
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7562
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7563
7563
  }
7564
7564
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container {
7565
- box-shadow: 3px 0px 12px 0.5px hsl(200, 8%, 90%);
7565
+ box-shadow: 3px -10px 12px 0.5px hsl(200, 8%, 90%);
7566
7566
  border-right: 1px solid #d6dadc;
7567
7567
  }
7568
7568
  .ag-theme-alpine.ag-theme-alpine .ag-header .ag-pinned-right-header {
7569
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7569
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7570
7570
  }
7571
7571
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
7572
- box-shadow: -3px 0px 12px 0.5px hsl(200, 8%, 90%);
7572
+ box-shadow: -3px -10px 12px 0.5px hsl(200, 8%, 90%);
7573
7573
  border-left: 1px solid #d6dadc;
7574
7574
  }
7575
7575
  .ag-theme-alpine.ag-theme-alpine .ag-pinned-left-cols-container, .ag-theme-alpine.ag-theme-alpine .ag-pinned-right-cols-container {
@@ -7715,7 +7715,7 @@ input[class^=ag-][type=range]:disabled {
7715
7715
  .ag-theme-alpine.ag-theme-alpine .ag-details-row-auto-height .ag-center-cols-viewport, .ag-theme-alpine.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport {
7716
7716
  min-height: 0px;
7717
7717
  }
7718
- .ag-theme-alpine.ag-theme-alpine .ag-overlay {
7718
+ .ag-theme-alpine.ag-theme-alpine .ag-overlay button {
7719
7719
  pointer-events: initial;
7720
7720
  }
7721
7721
  .ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
@@ -7914,7 +7914,7 @@ input[class^=ag-][type=range]:disabled {
7914
7914
  padding-left: 16px;
7915
7915
  }
7916
7916
 
7917
- div._contextPanel_ye2ai_7153 {
7917
+ div._contextPanel_1t4e8_7153 {
7918
7918
  width: 400px;
7919
7919
  transition: all ease 500ms;
7920
7920
  flex: 0 0 auto;
@@ -7923,7 +7923,7 @@ div._contextPanel_ye2ai_7153 {
7923
7923
  border: 1px solid #d6dadc;
7924
7924
  display: flex;
7925
7925
  }
7926
- div._contextPanel--hidden_ye2ai_7162 {
7926
+ div._contextPanel--hidden_1t4e8_7162 {
7927
7927
  border: none;
7928
7928
  overflow: hidden;
7929
7929
  padding: 0px;
@@ -7931,50 +7931,50 @@ div._contextPanel--hidden_ye2ai_7162 {
7931
7931
  width: 0px;
7932
7932
  }
7933
7933
 
7934
- ._contextPanelWrapper_ye2ai_7170 {
7934
+ ._contextPanelWrapper_1t4e8_7170 {
7935
7935
  position: relative;
7936
7936
  flex-grow: 1;
7937
7937
  }
7938
7938
 
7939
- ._contextPanelBody_ye2ai_7175 {
7939
+ ._contextPanelBody_1t4e8_7175 {
7940
7940
  width: clamp(380px, 400px, 100%);
7941
7941
  }
7942
7942
 
7943
- ._contextPanel-stickyHeader_ye2ai_7179 {
7943
+ ._contextPanel-stickyHeader_1t4e8_7179 {
7944
7944
  background-color: #ffffff;
7945
7945
  position: sticky;
7946
7946
  top: 0;
7947
7947
  z-index: 5;
7948
7948
  }
7949
7949
 
7950
- ._filters-list_ye2ai_7186 {
7950
+ ._filters-list_1t4e8_7186 {
7951
7951
  padding: 0;
7952
7952
  margin: 0;
7953
7953
  }
7954
- ._filters-list_ye2ai_7186 ol {
7954
+ ._filters-list_1t4e8_7186 ol {
7955
7955
  padding: 0;
7956
7956
  margin: 0;
7957
7957
  }
7958
7958
 
7959
- ._col-drag-column-icon_ye2ai_7195 {
7959
+ ._col-drag-column-icon_1t4e8_7195 {
7960
7960
  color: #6a767c;
7961
7961
  }
7962
7962
 
7963
- ._tabular-nums_ye2ai_7199 {
7963
+ ._tabular-nums_1t4e8_7199 {
7964
7964
  font-variant-numeric: tabular-nums;
7965
7965
  }`;
7966
7966
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7967
7967
  var styles_default = {
7968
- "contextPanel": "_contextPanel_ye2ai_7153",
7969
- "contextPanel--hidden": "_contextPanel--hidden_ye2ai_7162",
7970
- "contextPanelWrapper": "_contextPanelWrapper_ye2ai_7170",
7971
- "contextPanelBody": "_contextPanelBody_ye2ai_7175",
7972
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_ye2ai_7179",
7973
- "filters-list": "_filters-list_ye2ai_7186",
7974
- "col-drag-column-icon": "_col-drag-column-icon_ye2ai_7195",
7975
- "tabular-nums": "_tabular-nums_ye2ai_7199",
7976
- "ag-shake-left-to-right": "_ag-shake-left-to-right_ye2ai_369",
7977
- "spin": "_spin_ye2ai_1"
7968
+ "contextPanel": "_contextPanel_1t4e8_7153",
7969
+ "contextPanel--hidden": "_contextPanel--hidden_1t4e8_7162",
7970
+ "contextPanelWrapper": "_contextPanelWrapper_1t4e8_7170",
7971
+ "contextPanelBody": "_contextPanelBody_1t4e8_7175",
7972
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1t4e8_7179",
7973
+ "filters-list": "_filters-list_1t4e8_7186",
7974
+ "col-drag-column-icon": "_col-drag-column-icon_1t4e8_7195",
7975
+ "tabular-nums": "_tabular-nums_1t4e8_7199",
7976
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_1t4e8_369",
7977
+ "spin": "_spin_1t4e8_1"
7978
7978
  };
7979
7979
 
7980
7980
  // src/utils/getCellValueTypographyProps.ts
@@ -54142,6 +54142,37 @@ function sortColumnDefinitionsByFilterIndex(colDef1, colDef2) {
54142
54142
  }
54143
54143
  return filterIndex1 > filterIndex2 ? 1 : -1;
54144
54144
  }
54145
+ function assignAlphabeticalFilterIndices(columnDefinitions) {
54146
+ const newColumns = columnDefinitions.map((col) => ({
54147
+ ...col,
54148
+ filterProps: col.filterProps ? { ...col.filterProps } : void 0
54149
+ }));
54150
+ const filterColumns = newColumns.filter(
54151
+ (col) => col.filterRenderer || col.filterProps
54152
+ );
54153
+ const groups = {};
54154
+ filterColumns.forEach((col) => {
54155
+ const groupName = col.filterProps?.groupName || "default";
54156
+ if (!groups[groupName]) {
54157
+ groups[groupName] = [];
54158
+ }
54159
+ groups[groupName].push(col);
54160
+ });
54161
+ Object.values(groups).forEach((groupCols) => {
54162
+ groupCols.sort((a, b) => {
54163
+ const headerA = a.headerName || "";
54164
+ const headerB = b.headerName || "";
54165
+ return headerA.localeCompare(headerB);
54166
+ });
54167
+ groupCols.forEach((col, idx) => {
54168
+ if (!col.filterProps) {
54169
+ col.filterProps = {};
54170
+ }
54171
+ col.filterProps.index = idx;
54172
+ });
54173
+ });
54174
+ return newColumns;
54175
+ }
54145
54176
 
54146
54177
  // src/state/useFilterState.ts
54147
54178
  function isNumberFilterModel(value) {
@@ -55880,7 +55911,10 @@ var DataTableCellRenderer = ({
55880
55911
  value
55881
55912
  };
55882
55913
  const hasValue = value !== void 0 && value !== null && value !== "";
55883
- const isSelectCellComponent = columnDefinition.cellEditor?.render?.displayName === "SelectCellEditor";
55914
+ const isSelectCellComponent = columnDefinition.cellRendererSelector?.({
55915
+ ...columnDefinition.cellRendererParams,
55916
+ node
55917
+ }).component?.displayName === "SelectCellRenderer";
55884
55918
  const URL = isSelectCellComponent && columnDefinition?.cellRendererParams?.getURL ? columnDefinition.cellRendererParams.getURL(value) : null;
55885
55919
  const startEditing = useCallback(
55886
55920
  () => api.startEditingCell({
@@ -56213,6 +56247,7 @@ var getMainMenuItems = (props, I18n) => {
56213
56247
  }),
56214
56248
  value: "rowUnGroup",
56215
56249
  action() {
56250
+ props.columnApi.resetColumnState();
56216
56251
  props.columnApi.removeRowGroupColumn(props.column);
56217
56252
  }
56218
56253
  };
@@ -56222,6 +56257,7 @@ var getMainMenuItems = (props, I18n) => {
56222
56257
  }),
56223
56258
  value: "rowGroup",
56224
56259
  action() {
56260
+ props.columnApi.resetColumnState();
56225
56261
  props.columnApi.addRowGroupColumn(props.column);
56226
56262
  }
56227
56263
  };
@@ -78072,12 +78108,15 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
78072
78108
  };
78073
78109
 
78074
78110
  // src/utils/expandRows.ts
78111
+ function getStringifiedRoute(node) {
78112
+ return node.getRoute()?.map((r) => typeof r === "object" ? JSON.stringify(r) : r);
78113
+ }
78075
78114
  var getGroupRowState = (gridApi, groupDefaultExpanded = 0) => {
78076
78115
  const expandedRoutes = [];
78077
78116
  const collapsedRoutes = [];
78078
78117
  if (gridApi) {
78079
78118
  gridApi.forEachNode((node) => {
78080
- const route = node.getRoute();
78119
+ const route = getStringifiedRoute(node);
78081
78120
  if (route) {
78082
78121
  const routePath = route.join(",");
78083
78122
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78097,7 +78136,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78097
78136
  const expandedRoutes = tableConfig.groupRowState?.expandedRoutes ?? [];
78098
78137
  const collapsedRoutes = tableConfig.groupRowState?.collapsedRoutes ?? [];
78099
78138
  gridApi.forEachNode((node) => {
78100
- const route = node.getRoute();
78139
+ const route = getStringifiedRoute(node);
78101
78140
  if (route) {
78102
78141
  const routePath = route.join(",");
78103
78142
  const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
@@ -78114,7 +78153,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
78114
78153
  var isRowOpenedByDefault = (node, tableConfig, groupDefaultExpanded = 0) => {
78115
78154
  const expandedRoutes = tableConfig?.groupRowState?.expandedRoutes ?? [];
78116
78155
  const collapsedRoutes = tableConfig?.groupRowState?.collapsedRoutes ?? [];
78117
- const route = node.getRoute();
78156
+ const route = getStringifiedRoute(node);
78118
78157
  if (!route) {
78119
78158
  return false;
78120
78159
  }
@@ -82470,7 +82509,7 @@ var Table = (props) => {
82470
82509
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
82471
82510
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
82472
82511
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
82473
- groupSelectsChildren: props.groupSelectsChildren || !onSSDR,
82512
+ groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
82474
82513
  groupSelectsFiltered: true,
82475
82514
  headerHeight: props.headerHeight,
82476
82515
  icons: tableIcons,
@@ -89094,4 +89133,4 @@ object-assign/index.js:
89094
89133
  *)
89095
89134
  */
89096
89135
 
89097
- export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
89136
+ export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procore/data-table",
3
- "version": "14.15.0",
3
+ "version": "14.17.0",
4
4
  "description": "Complex data grid built on top of ag-grid, with DST components and styles.",
5
5
  "type": "module",
6
6
  "main": "dist/legacy/index.cjs",
@@ -111,7 +111,7 @@
111
111
  "@procore/core-css": "10.17.0",
112
112
  "@procore/core-icons": "12.2.0",
113
113
  "@procore/core-prettier": "10.2.0",
114
- "@procore/core-react": "12.12.0",
114
+ "@procore/core-react": "12.13.0",
115
115
  "@procore/eslint-config": "10.0.0",
116
116
  "@procore/globalization-toolkit": "3.1.0",
117
117
  "@procore/labs-financials-utils": "3.0.1",