@procore/data-table 14.46.1 → 14.46.2

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.
@@ -54298,7 +54298,7 @@ function ServerSideNumberFilterRenderer({
54298
54298
  },
54299
54299
  {
54300
54300
  id: "isEqual",
54301
- label: I18n.t("options.isEqual", {
54301
+ label: I18n.t("options.is_equal_to", {
54302
54302
  defaultValue: "Is Equal To",
54303
54303
  scope: "dataTable.filters.numberFilter"
54304
54304
  })
@@ -54785,26 +54785,19 @@ function serializeNode(node) {
54785
54785
  rowPinned: node.rowPinned
54786
54786
  };
54787
54787
  }
54788
- function transformToColDef(colDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54788
+ function transformToColDef(colDefinition, tableOptions) {
54789
54789
  if (isNestedColumnDefinition(colDefinition)) {
54790
54790
  return {
54791
54791
  ...colDefinition,
54792
54792
  children: colDefinition.children.map(
54793
- (childColDefinition) => transformColumnDefinitionToColDef(
54794
- childColDefinition,
54795
- enableGroupEditAndValidation,
54796
- enableDynamicRowHeight
54797
- )
54793
+ (childColDefinition) => transformColumnDefinitionToColDef(childColDefinition, tableOptions)
54798
54794
  )
54799
54795
  };
54800
54796
  }
54801
- return transformColumnDefinitionToColDef(
54802
- colDefinition,
54803
- enableGroupEditAndValidation,
54804
- enableDynamicRowHeight
54805
- );
54797
+ return transformColumnDefinitionToColDef(colDefinition, tableOptions);
54806
54798
  }
54807
- function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54799
+ function transformColumnDefinitionToColDef(dataTableColumnDefinition, tableOptions) {
54800
+ const { enableGroupEditAndValidation, enableDynamicRowHeight } = tableOptions;
54808
54801
  const {
54809
54802
  aggFunc,
54810
54803
  bulkEditable,
@@ -54847,7 +54840,8 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54847
54840
  };
54848
54841
  const cellClassRules = {
54849
54842
  "invalid-cell": function isValid(params) {
54850
- const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded);
54843
+ const shouldValidateGroupHeader = tableOptions.enableGroupHeaderEdit && params.node.group;
54844
+ const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded) || shouldValidateGroupHeader;
54851
54845
  return (shouldValidate && valueValidator && !valueValidator({
54852
54846
  columnDefinition: transformToColumnDefinition(params.colDef),
54853
54847
  data: params.data,
@@ -55184,12 +55178,8 @@ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowS
55184
55178
  }
55185
55179
  };
55186
55180
  }
55187
- function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55188
- const colDef = columnDefinition ? transformToColDef(
55189
- columnDefinition,
55190
- enableGroupEditAndValidation,
55191
- enableDynamicRowHeight
55192
- ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55181
+ function getDecoratedAutoGroupColDef(columnDefinition, tableOptions, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55182
+ const colDef = columnDefinition ? transformToColDef(columnDefinition, tableOptions) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55193
55183
  return addAutoGroupParams(
55194
55184
  colDef,
55195
55185
  isRowSelectable,
@@ -55200,12 +55190,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55200
55190
  }
55201
55191
 
55202
55192
  // src/CellRenderers/AutoGroupCell.scss
55203
- var css5 = `._autoGroupCell_1qx8z_1 {
55193
+ var css5 = `._autoGroupCell_1h6pf_1 {
55204
55194
  height: 100%;
55205
55195
  width: 100%;
55206
55196
  }
55207
55197
 
55208
- ._indent_1qx8z_6 {
55198
+ ._indent_1h6pf_6 {
55209
55199
  border-right: 1px solid #d6dadc;
55210
55200
  background: #f4f5f6;
55211
55201
  position: absolute;
@@ -55213,45 +55203,69 @@ var css5 = `._autoGroupCell_1qx8z_1 {
55213
55203
  bottom: -1px;
55214
55204
  width: 12px;
55215
55205
  }
55216
- ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55206
+ ._indent_1h6pf_6._innermostLastIndent_1h6pf_14 {
55217
55207
  bottom: 0px;
55218
55208
  }
55219
55209
 
55220
- ._expandableCaret_1qx8z_18 {
55210
+ ._expandableCaret_1h6pf_18 {
55221
55211
  margin-left: -8px;
55222
55212
  margin-right: 4px;
55223
55213
  width: 24px;
55224
55214
  flex-shrink: 0;
55225
55215
  }
55226
55216
 
55227
- ._expandCaret_1qx8z_25 {
55217
+ ._expandableCaretButton_1h6pf_25 {
55218
+ display: inline-flex;
55219
+ align-items: center;
55220
+ justify-content: center;
55221
+ width: 24px;
55222
+ height: 24px;
55223
+ padding: 0;
55224
+ margin-left: -8px;
55225
+ margin-right: 4px;
55226
+ border: none;
55227
+ border-radius: 2px;
55228
+ background: transparent;
55229
+ cursor: pointer;
55230
+ flex-shrink: 0;
55231
+ }
55232
+ ._expandableCaretButton_1h6pf_25:focus-visible {
55233
+ outline: 2px solid #2066df;
55234
+ outline-offset: 1px;
55235
+ }
55236
+ ._expandableCaretButton_1h6pf_25:hover {
55237
+ background-color: rgba(0, 0, 0, 0.06);
55238
+ }
55239
+
55240
+ ._expandCaret_1h6pf_48 {
55228
55241
  color: #2066df;
55229
55242
  cursor: pointer;
55230
55243
  }
55231
55244
 
55232
- ._collapseCaret_1qx8z_30 {
55245
+ ._collapseCaret_1h6pf_53 {
55233
55246
  color: #75838a;
55234
55247
  cursor: pointer;
55235
55248
  }
55236
55249
 
55237
- ._value_1qx8z_35 {
55250
+ ._value_1h6pf_58 {
55238
55251
  overflow: hidden;
55239
55252
  text-overflow: ellipsis;
55240
55253
  font-size: 12px;
55241
55254
  }
55242
- ._value_1qx8z_35._footer_1qx8z_40 {
55255
+ ._value_1h6pf_58._footer_1h6pf_63 {
55243
55256
  color: #6a767c;
55244
55257
  }`;
55245
55258
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55246
55259
  var AutoGroupCell_default = {
55247
- "autoGroupCell": "_autoGroupCell_1qx8z_1",
55248
- "indent": "_indent_1qx8z_6",
55249
- "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55250
- "expandableCaret": "_expandableCaret_1qx8z_18",
55251
- "expandCaret": "_expandCaret_1qx8z_25",
55252
- "collapseCaret": "_collapseCaret_1qx8z_30",
55253
- "value": "_value_1qx8z_35",
55254
- "footer": "_footer_1qx8z_40"
55260
+ "autoGroupCell": "_autoGroupCell_1h6pf_1",
55261
+ "indent": "_indent_1h6pf_6",
55262
+ "innermostLastIndent": "_innermostLastIndent_1h6pf_14",
55263
+ "expandableCaret": "_expandableCaret_1h6pf_18",
55264
+ "expandableCaretButton": "_expandableCaretButton_1h6pf_25",
55265
+ "expandCaret": "_expandCaret_1h6pf_48",
55266
+ "collapseCaret": "_collapseCaret_1h6pf_53",
55267
+ "value": "_value_1h6pf_58",
55268
+ "footer": "_footer_1h6pf_63"
55255
55269
  };
55256
55270
 
55257
55271
  // src/utils/rowSelectionHelpers.ts
@@ -55508,6 +55522,7 @@ var LevelIndents = (props) => {
55508
55522
  };
55509
55523
  function GroupCaret(props) {
55510
55524
  const mounted = React80__default.default.useRef(false);
55525
+ const buttonRef = React80__default.default.useRef(null);
55511
55526
  const [expanded, setExpanded] = React80.useState(props.node.expanded);
55512
55527
  const ExpandableCaret = expanded ? coreIcons.CaretDown : coreIcons.CaretRight;
55513
55528
  const I18n = coreReact.useI18nContext();
@@ -55518,6 +55533,16 @@ function GroupCaret(props) {
55518
55533
  }, 0);
55519
55534
  }
55520
55535
  }
55536
+ const handleToggle = () => {
55537
+ props.api.setRowNodeExpanded(props.node, !expanded);
55538
+ };
55539
+ const handleKeyDown = (event) => {
55540
+ if (event.key === "Enter" || event.key === " ") {
55541
+ event.preventDefault();
55542
+ event.stopPropagation();
55543
+ handleToggle();
55544
+ }
55545
+ };
55521
55546
  React80.useEffect(() => {
55522
55547
  mounted.current = true;
55523
55548
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
@@ -55530,20 +55555,45 @@ function GroupCaret(props) {
55530
55555
  );
55531
55556
  };
55532
55557
  }, []);
55558
+ React80.useEffect(() => {
55559
+ if (!props.node.isExpandable()) return;
55560
+ const cell2 = buttonRef.current?.closest(".ag-cell");
55561
+ if (!cell2) return;
55562
+ const handleCellKeyDown = (event) => {
55563
+ if (event.key !== "Enter" && event.key !== " ") return;
55564
+ if (!event.isTrusted) return;
55565
+ const target = event.target;
55566
+ if (target.closest("button") || target.closest("input")) return;
55567
+ event.preventDefault();
55568
+ event.stopImmediatePropagation();
55569
+ buttonRef.current?.click();
55570
+ };
55571
+ cell2.addEventListener("keydown", handleCellKeyDown, { capture: true });
55572
+ return () => {
55573
+ cell2.removeEventListener("keydown", handleCellKeyDown, { capture: true });
55574
+ };
55575
+ }, []);
55576
+ if (!props.node.isExpandable()) {
55577
+ return /* @__PURE__ */ React80__default.default.createElement("div", { className: AutoGroupCell_default.expandableCaret });
55578
+ }
55533
55579
  return /* @__PURE__ */ React80__default.default.createElement(
55534
- coreReact.Box,
55580
+ "button",
55535
55581
  {
55582
+ type: "button",
55583
+ ref: buttonRef,
55584
+ "aria-expanded": expanded,
55536
55585
  "aria-label": I18n.t(
55537
55586
  `dataTable.groupCell.${expanded ? "collapse" : "expand"}`
55538
55587
  ),
55539
- className: AutoGroupCell_default.expandableCaret,
55540
- role: "button"
55588
+ className: AutoGroupCell_default.expandableCaretButton,
55589
+ onClick: handleToggle,
55590
+ onKeyDown: handleKeyDown,
55591
+ "data-qa": "group-expand-collapse"
55541
55592
  },
55542
- props.node.isExpandable() && /* @__PURE__ */ React80__default.default.createElement(
55593
+ /* @__PURE__ */ React80__default.default.createElement(
55543
55594
  ExpandableCaret,
55544
55595
  {
55545
- className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret,
55546
- onClick: () => props.api.setRowNodeExpanded(props.node, !expanded)
55596
+ className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret
55547
55597
  }
55548
55598
  )
55549
55599
  );
@@ -56400,10 +56450,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56400
56450
  align-items: center;
56401
56451
  justify-content: center;
56402
56452
  background-color: #e3e6e8;
56453
+ border: none;
56403
56454
  border-radius: 2px;
56404
56455
  cursor: pointer;
56405
56456
  margin-right: 8px;
56406
56457
  }
56458
+ .data-table-container .ag-header-cell .expand-button:focus-visible {
56459
+ outline: 2px solid #2066df;
56460
+ outline-offset: 1px;
56461
+ }
56407
56462
  .data-table-container .ag-header-group-cell-with-group .ag-header-cell-comp-wrapper {
56408
56463
  width: 100%;
56409
56464
  overflow: hidden;
@@ -56416,10 +56471,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56416
56471
  align-items: center;
56417
56472
  justify-content: center;
56418
56473
  background-color: #e3e6e8;
56474
+ border: none;
56419
56475
  border-radius: 2px;
56420
56476
  cursor: pointer;
56421
56477
  margin-left: auto;
56422
56478
  }
56479
+ .data-table-container .ag-header-group-cell-with-group .expand-button:focus-visible {
56480
+ outline: 2px solid #2066df;
56481
+ outline-offset: 1px;
56482
+ }
56423
56483
  .data-table-container .auto-column-expand-tooltip-content {
56424
56484
  width: 96px;
56425
56485
  }
@@ -56567,6 +56627,7 @@ var GenericHeaderRenderer = (props) => {
56567
56627
  I18n
56568
56628
  );
56569
56629
  const headerCellRef = React80.useRef(null);
56630
+ const expandButtonRef = React80.useRef(null);
56570
56631
  const menuButtonRef = React80.useRef(null);
56571
56632
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56572
56633
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
@@ -56717,6 +56778,28 @@ var GenericHeaderRenderer = (props) => {
56717
56778
  );
56718
56779
  }
56719
56780
  React80__default.default.useEffect(updateExpandedState);
56781
+ React80__default.default.useEffect(() => {
56782
+ if (!isExpandable) return;
56783
+ const headerCell = headerCellRef.current?.closest(".ag-header-cell");
56784
+ if (!headerCell) return;
56785
+ const handleExpandKeyDown = (event) => {
56786
+ if (event.key !== "Enter" && event.key !== " ") return;
56787
+ if (!event.isTrusted) return;
56788
+ const target = event.target;
56789
+ if (target.closest("button") || target.closest("input")) return;
56790
+ event.preventDefault();
56791
+ event.stopImmediatePropagation();
56792
+ expandButtonRef.current?.click();
56793
+ };
56794
+ headerCell.addEventListener("keydown", handleExpandKeyDown, {
56795
+ capture: true
56796
+ });
56797
+ return () => {
56798
+ headerCell.removeEventListener("keydown", handleExpandKeyDown, {
56799
+ capture: true
56800
+ });
56801
+ };
56802
+ }, [isExpandable]);
56720
56803
  const [expansionVariant, setExpansionVariant] = React80__default.default.useState("closed");
56721
56804
  React80__default.default.useEffect(() => {
56722
56805
  const onExpandAllChange = (event) => {
@@ -56994,12 +57077,21 @@ var GenericHeaderRenderer = (props) => {
56994
57077
  overlay: /* @__PURE__ */ React80__default.default.createElement(coreReact.Tooltip.Content, { className: "auto-column-expand-tooltip-content" }, tooltipText[expansionVariant])
56995
57078
  },
56996
57079
  /* @__PURE__ */ React80__default.default.createElement(
56997
- "div",
57080
+ "button",
56998
57081
  {
57082
+ type: "button",
57083
+ ref: expandButtonRef,
57084
+ "aria-expanded": expansionVariant !== "closed",
56999
57085
  "aria-label": tooltipText[expansionVariant],
57000
57086
  className: "expand-button",
57001
57087
  onClick: onExpandToggle,
57002
- role: "button",
57088
+ onKeyDown: (e) => {
57089
+ if (e.key === "Enter" || e.key === " ") {
57090
+ e.preventDefault();
57091
+ e.stopPropagation();
57092
+ onExpandToggle(e);
57093
+ }
57094
+ },
57003
57095
  "data-qa": "expand-or-collapse-all-button"
57004
57096
  },
57005
57097
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
@@ -104555,11 +104647,10 @@ var ConfigurationColumns = React80__default.default.forwardRef(
104555
104647
  return columnDefs;
104556
104648
  }
104557
104649
  const columnDefinitionsMappedToDefs = columnDefinitions.map(
104558
- (colDef) => transformToColDef(
104559
- colDef,
104650
+ (colDef) => transformToColDef(colDef, {
104560
104651
  enableGroupEditAndValidation,
104561
104652
  enableDynamicRowHeight
104562
- )
104653
+ })
104563
104654
  );
104564
104655
  return toGroupedCols(columnDefinitionsMappedToDefs);
104565
104656
  });
@@ -104858,8 +104949,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104858
104949
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
104859
104950
  autoGroupColumnDef: getDecoratedAutoGroupColDef(
104860
104951
  detailRowConfig.autoGroupColumnDefinition,
104861
- enableGroupEditAndValidation,
104862
- enableDynamicRowHeight,
104952
+ {
104953
+ enableGroupEditAndValidation,
104954
+ enableDynamicRowHeight
104955
+ },
104863
104956
  isRowSelectable,
104864
104957
  false,
104865
104958
  detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -104871,11 +104964,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104871
104964
  },
104872
104965
  columnDefs: toGroupedCols(
104873
104966
  detailRowConfig.columnDefinitions.map(
104874
- (colDef) => transformToColDef(
104875
- colDef,
104967
+ (colDef) => transformToColDef(colDef, {
104876
104968
  enableGroupEditAndValidation,
104877
- colDef.autoHeight ?? enableDynamicRowHeight
104878
- )
104969
+ enableDynamicRowHeight: colDef.autoHeight ?? enableDynamicRowHeight
104970
+ })
104879
104971
  )
104880
104972
  ),
104881
104973
  groupsAlwaysExpanded: detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -110008,11 +110100,16 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
110008
110100
  };
110009
110101
  }
110010
110102
  var minimumColumnWidth = 140;
110103
+ function resolveGroupIncludeFooter(props, onSSDR) {
110104
+ if (props.enableGroupHeaderEdit) return false;
110105
+ if (!onSSDR && props.groupIncludeFooter === void 0) return true;
110106
+ return props.groupIncludeFooter;
110107
+ }
110011
110108
  function useComputeAgGridProps(props) {
110012
110109
  const internalTableContext = useInternalTableContext();
110013
110110
  const onSSDR = internalTableContext.onServerSideDataRequest;
110014
110111
  return {
110015
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110112
+ groupIncludeFooter: resolveGroupIncludeFooter(props, !!onSSDR),
110016
110113
  rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110017
110114
  rowModelType: onSSDR ? "serverSide" : void 0,
110018
110115
  groupSelectsChildren: (
@@ -110085,11 +110182,11 @@ var Table = (props) => {
110085
110182
  });
110086
110183
  const decoratedColDefs = React80__default.default.useMemo(
110087
110184
  () => internalTableContext.columnDefinitions?.map((colDef) => {
110088
- const newColDef = transformToColDef(
110089
- colDef,
110090
- internalTableContext.enableGroupEditAndValidation,
110091
- internalTableContext.enableDynamicRowHeight
110092
- );
110185
+ const newColDef = transformToColDef(colDef, {
110186
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110187
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight,
110188
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
110189
+ });
110093
110190
  return {
110094
110191
  ...newColDef,
110095
110192
  editable: overrideEditable(colDef.editable)
@@ -110375,8 +110472,10 @@ var Table = (props) => {
110375
110472
  const decoratedAutoGroupColDef = React80__default.default.useMemo(
110376
110473
  () => getDecoratedAutoGroupColDef(
110377
110474
  props?.autoGroupColumnDefinition,
110378
- internalTableContext.enableGroupEditAndValidation,
110379
- internalTableContext.enableDynamicRowHeight,
110475
+ {
110476
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110477
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight
110478
+ },
110380
110479
  isRowSelectable,
110381
110480
  props.siblingGroupsRowSelectionDisabled,
110382
110481
  props.groupsAlwaysExpanded ?? false,
@@ -1137,6 +1137,11 @@ interface DataTableTranslations {
1137
1137
  searchEmptyStateTitle?: string;
1138
1138
  tableName?: string;
1139
1139
  }
1140
+ interface TableOptions {
1141
+ enableGroupEditAndValidation: boolean;
1142
+ enableDynamicRowHeight: boolean;
1143
+ enableGroupHeaderEdit?: boolean;
1144
+ }
1140
1145
  interface DataTableProps {
1141
1146
  analytics?: AnalyticsConfig;
1142
1147
  columnDefinitions: (ColumnDefinition | NestedColumnDefinition)[];
@@ -1553,4 +1558,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1553
1558
  */
1554
1559
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1555
1560
 
1556
- 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 DTCellFocusedEvent, 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, ServerSideMultiNumberFilterRenderer, ServerSideNumberFilterRenderer, type ServerSideParamsOptions, SingleSelectFilterRenderer, 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 };
1561
+ 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 DTCellFocusedEvent, 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, ServerSideMultiNumberFilterRenderer, ServerSideNumberFilterRenderer, type ServerSideParamsOptions, SingleSelectFilterRenderer, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TableOptions, 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 };
@@ -1137,6 +1137,11 @@ interface DataTableTranslations {
1137
1137
  searchEmptyStateTitle?: string;
1138
1138
  tableName?: string;
1139
1139
  }
1140
+ interface TableOptions {
1141
+ enableGroupEditAndValidation: boolean;
1142
+ enableDynamicRowHeight: boolean;
1143
+ enableGroupHeaderEdit?: boolean;
1144
+ }
1140
1145
  interface DataTableProps {
1141
1146
  analytics?: AnalyticsConfig;
1142
1147
  columnDefinitions: (ColumnDefinition | NestedColumnDefinition)[];
@@ -1553,4 +1558,4 @@ declare const waitForAsyncCondition: (condition: Function, maxAttempts?: number,
1553
1558
  */
1554
1559
  declare const UNSAFE_useTableContext: () => InternalTableContext;
1555
1560
 
1556
- 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 DTCellFocusedEvent, 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, ServerSideMultiNumberFilterRenderer, ServerSideNumberFilterRenderer, type ServerSideParamsOptions, SingleSelectFilterRenderer, 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 };
1561
+ 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 DTCellFocusedEvent, 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, ServerSideMultiNumberFilterRenderer, ServerSideNumberFilterRenderer, type ServerSideParamsOptions, SingleSelectFilterRenderer, SingleSelectQuickFilterRenderer, type SortModel, type SuccessParams, type TableApi, type TableFrameworkComponents, type TableOptions, 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 };