@procore/data-table 14.39.0 → 14.40.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,19 @@
1
1
  # Change Log
2
2
 
3
+ ## 14.40.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1c27b3d: Added `suppressBulkEditToasts` prop in order to allow consumers to use their own notifications when desired, for Bulk Editing.
8
+
9
+ ## 14.39.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 5688b5d: Improve performance for rendering column group headers
14
+ - Updated dependencies [f67398f]
15
+ - @procore/labs-datetime-select@0.2.0
16
+
3
17
  ## 14.39.0
4
18
 
5
19
  ### Minor Changes
@@ -57052,18 +57052,14 @@ var GenericHeaderRenderer = (props) => {
57052
57052
  // src/GenericHeader/GenericColumnGroupHeader.tsx
57053
57053
  function GenericColumnGroupHeader(props) {
57054
57054
  const I18n = coreReact.useI18nContext();
57055
- const { expanded: initialExpanded, expandable } = props.columnGroup.providedColumnGroup;
57056
- const [isExpanded, setIsExpanded] = React80__default.default.useState(initialExpanded);
57057
- React80__default.default.useEffect(() => {
57058
- props.setExpanded(isExpanded);
57059
- }, [isExpanded]);
57055
+ const { expanded, expandable } = props.columnGroup.providedColumnGroup;
57060
57056
  if (!props.displayName) {
57061
57057
  return null;
57062
57058
  }
57063
57059
  const tooltipText = I18n.t(
57064
- `dataTable.columnGroupToggle.${isExpanded ? "collapse" : "expand"}`
57060
+ `dataTable.columnGroupToggle.${expanded ? "collapse" : "expand"}`
57065
57061
  );
57066
- const ExpansionVariantIcon = isExpanded ? coreIcons.CaretsIn : coreIcons.CaretsOut;
57062
+ const ExpansionVariantIcon = expanded ? coreIcons.CaretsIn : coreIcons.CaretsOut;
57067
57063
  return /* @__PURE__ */ React80__default.default.createElement(React80__default.default.Fragment, null, /* @__PURE__ */ React80__default.default.createElement("div", { className: "ag-header-group-cell-label", role: "presentation" }, /* @__PURE__ */ React80__default.default.createElement("span", { className: "ag-header-group-text", role: "presentation" }, props.displayName)), expandable && /* @__PURE__ */ React80__default.default.createElement(
57068
57064
  coreReact.Tooltip,
57069
57065
  {
@@ -57076,7 +57072,7 @@ function GenericColumnGroupHeader(props) {
57076
57072
  {
57077
57073
  "aria-label": tooltipText,
57078
57074
  className: "expand-button",
57079
- onClick: () => setIsExpanded((v) => !v)
57075
+ onClick: () => props.setExpanded(!expanded)
57080
57076
  },
57081
57077
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
57082
57078
  )
@@ -57169,13 +57165,6 @@ function CustomLoader(params) {
57169
57165
  }
57170
57166
  return /* @__PURE__ */ React80__default.default.createElement(LevelIndents, { level: params.node.level, lastRowInGroup: false });
57171
57167
  }
57172
- var DefaultFrameworkComponents = {
57173
- agColumnHeader: GenericHeaderRenderer,
57174
- agLoadingCellRenderer: CustomLoader,
57175
- agColumnGroupHeader: GenericColumnGroupHeader,
57176
- loadingOverlayRenderer: Spinner,
57177
- emptyStateRenderer: EmptyState
57178
- };
57179
57168
  function getFrameworkComponents(tableProps) {
57180
57169
  const headerMenuConfig = {
57181
57170
  suppressResetColumnsOption: tableProps.suppressResetColumnsOption || false,
@@ -57189,6 +57178,13 @@ function getFrameworkComponents(tableProps) {
57189
57178
  tableProps.onSelectAll,
57190
57179
  tableProps.selectionSSREnabled
57191
57180
  );
57181
+ const DefaultFrameworkComponents = {
57182
+ agColumnHeader: GenericHeaderRenderer,
57183
+ agLoadingCellRenderer: CustomLoader,
57184
+ agColumnGroupHeader: GenericColumnGroupHeader,
57185
+ loadingOverlayRenderer: Spinner,
57186
+ emptyStateRenderer: EmptyState
57187
+ };
57192
57188
  DefaultFrameworkComponents["autoGroupCellRenderer"] = AutoGroupCellRenderer;
57193
57189
  return { ...DefaultFrameworkComponents, ...customFrameworkComponents };
57194
57190
  }
@@ -57856,6 +57852,7 @@ var InternalTableContext = React80__default.default.createContext({
57856
57852
  onExpandOrCollapseAll: () => {
57857
57853
  },
57858
57854
  onServerSideDataRequest: void 0,
57855
+ suppressBulkEditToasts: false,
57859
57856
  onTableConfigChange: () => {
57860
57857
  },
57861
57858
  updateServerSideDataSource: () => {
@@ -103666,7 +103663,7 @@ var BulkEditInput = (props) => {
103666
103663
  }
103667
103664
  };
103668
103665
  var BulkEdit = React80__default.default.forwardRef(
103669
- ({ onReset = noop4 }, ref) => {
103666
+ ({ onReset = noop4, suppressBulkEditToasts = false }, ref) => {
103670
103667
  var _a;
103671
103668
  const {
103672
103669
  analytics,
@@ -103771,14 +103768,18 @@ var BulkEdit = React80__default.default.forwardRef(
103771
103768
  await (onBulkEditUpdate == null ? void 0 : onBulkEditUpdate(bulkEditedRows).then((result) => {
103772
103769
  if (result === void 0) {
103773
103770
  gridApi == null ? void 0 : gridApi.refreshServerSide({ purge: true });
103774
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103771
+ if (!suppressBulkEditToasts) {
103772
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103773
+ }
103775
103774
  resetForm({});
103776
103775
  onReset();
103777
103776
  } else {
103778
103777
  throw new Error(result);
103779
103778
  }
103780
103779
  }).catch(() => {
103781
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103780
+ if (!suppressBulkEditToasts) {
103781
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103782
+ }
103782
103783
  }));
103783
103784
  } else {
103784
103785
  try {
@@ -103786,11 +103787,15 @@ var BulkEdit = React80__default.default.forwardRef(
103786
103787
  { update: clientSideItemsToUpdate },
103787
103788
  () => onBulkEditUpdate == null ? void 0 : onBulkEditUpdate(bulkEditedRows)
103788
103789
  );
103789
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103790
+ if (!suppressBulkEditToasts) {
103791
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103792
+ }
103790
103793
  resetForm({});
103791
103794
  onReset();
103792
103795
  } catch (error2) {
103793
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103796
+ if (!suppressBulkEditToasts) {
103797
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103798
+ }
103794
103799
  }
103795
103800
  }
103796
103801
  };
@@ -103824,7 +103829,7 @@ var BulkEdit = React80__default.default.forwardRef(
103824
103829
  }
103825
103830
  );
103826
103831
  var BulkEditPanel = ({}) => {
103827
- const { contextPanel } = useInternalTableContext();
103832
+ const { contextPanel, suppressBulkEditToasts } = useInternalTableContext();
103828
103833
  const I18n = coreReact.useI18nContext();
103829
103834
  const bulkEditRef = React80__default.default.useRef(null);
103830
103835
  return /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel, null, /* @__PURE__ */ React80__default.default.createElement(
@@ -103837,7 +103842,14 @@ var BulkEditPanel = ({}) => {
103837
103842
  }
103838
103843
  },
103839
103844
  /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Title, null, I18n.t("dataTable.bulkActions.editValues"))
103840
- ), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Body, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Section, null, /* @__PURE__ */ React80__default.default.createElement(BulkEdit, { ref: bulkEditRef, onReset: contextPanel.hide }))), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Footer, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.FooterActions, null, /* @__PURE__ */ React80__default.default.createElement(
103845
+ ), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Body, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Section, null, /* @__PURE__ */ React80__default.default.createElement(
103846
+ BulkEdit,
103847
+ {
103848
+ ref: bulkEditRef,
103849
+ onReset: contextPanel.hide,
103850
+ suppressBulkEditToasts
103851
+ }
103852
+ ))), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Footer, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.FooterActions, null, /* @__PURE__ */ React80__default.default.createElement(
103841
103853
  coreReact.Button,
103842
103854
  {
103843
103855
  key: "cancel",
@@ -109001,6 +109013,7 @@ var DataTable = ({
109001
109013
  onServerSideDataRequest,
109002
109014
  onTableConfigChange,
109003
109015
  showExpandCollapseAllToggle,
109016
+ suppressBulkEditToasts,
109004
109017
  translations: translations2 = {},
109005
109018
  enableCellTextSelection,
109006
109019
  localStoragePersistenceKey,
@@ -109250,6 +109263,7 @@ var DataTable = ({
109250
109263
  onBulkEditUpdate,
109251
109264
  onExpandOrCollapseAll,
109252
109265
  onServerSideDataRequest,
109266
+ suppressBulkEditToasts,
109253
109267
  onTableConfigChange: internalOnTableConfigChange,
109254
109268
  rowSelectionRef,
109255
109269
  expandCollapseStateRef,
@@ -112329,6 +112343,7 @@ var ClientSideDataTable = ({
112329
112343
  onBulkEditUpdate,
112330
112344
  onExpandOrCollapseAll,
112331
112345
  onTableConfigChange,
112346
+ suppressBulkEditToasts,
112332
112347
  translations: translations2 = {},
112333
112348
  enableCellTextSelection,
112334
112349
  localStoragePersistenceKey,
@@ -112348,6 +112363,7 @@ var ClientSideDataTable = ({
112348
112363
  onExpandOrCollapseAll,
112349
112364
  onTableConfigChange,
112350
112365
  showExpandCollapseAllToggle: true,
112366
+ suppressBulkEditToasts,
112351
112367
  translations: translations2,
112352
112368
  localStoragePersistenceKey,
112353
112369
  customBulkEditorFields,
@@ -116743,6 +116759,7 @@ var ServerSideDataTable = ({
116743
116759
  onTableConfigChange,
116744
116760
  enableCellTextSelection,
116745
116761
  showExpandCollapseAllToggle,
116762
+ suppressBulkEditToasts,
116746
116763
  translations: translations2 = {},
116747
116764
  localStoragePersistenceKey,
116748
116765
  enableCDN
@@ -116762,6 +116779,7 @@ var ServerSideDataTable = ({
116762
116779
  onServerSideDataRequest,
116763
116780
  onTableConfigChange,
116764
116781
  showExpandCollapseAllToggle,
116782
+ suppressBulkEditToasts,
116765
116783
  translations: translations2,
116766
116784
  customBulkEditorFields,
116767
116785
  enableCellTextSelection,
@@ -1162,6 +1162,11 @@ interface DataTableProps {
1162
1162
  * the updated values
1163
1163
  */
1164
1164
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1165
+ /**
1166
+ * When true, suppresses the success and error toast messages
1167
+ * that are normally shown after bulk edit operations
1168
+ */
1169
+ suppressBulkEditToasts?: boolean;
1165
1170
  localStoragePersistenceKey?: string;
1166
1171
  showExpandCollapseAllToggle?: boolean;
1167
1172
  translations?: DataTableTranslations;
@@ -1380,6 +1385,7 @@ interface InternalTableContext {
1380
1385
  filterStorage: IFilterStorage;
1381
1386
  onBulkEditUpdate: DataTableProps['onBulkEditUpdate'];
1382
1387
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1388
+ suppressBulkEditToasts?: DataTableProps['suppressBulkEditToasts'];
1383
1389
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1384
1390
  localStoragePersistenceKey?: string;
1385
1391
  onExpandOrCollapseAll?: (expanded: boolean) => void;
@@ -1463,7 +1469,7 @@ interface BulkActionProps {
1463
1469
  style?: React__default.CSSProperties;
1464
1470
  }
1465
1471
 
1466
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1472
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, suppressBulkEditToasts, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1467
1473
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1468
1474
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1469
1475
  ConfigPanelButton: React__default.FC<{}>;
@@ -1500,7 +1506,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1500
1506
 
1501
1507
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1502
1508
 
1503
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1509
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, suppressBulkEditToasts, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1504
1510
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1505
1511
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1506
1512
  ConfigPanelButton: React__default.FC<{}>;
@@ -1162,6 +1162,11 @@ interface DataTableProps {
1162
1162
  * the updated values
1163
1163
  */
1164
1164
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1165
+ /**
1166
+ * When true, suppresses the success and error toast messages
1167
+ * that are normally shown after bulk edit operations
1168
+ */
1169
+ suppressBulkEditToasts?: boolean;
1165
1170
  localStoragePersistenceKey?: string;
1166
1171
  showExpandCollapseAllToggle?: boolean;
1167
1172
  translations?: DataTableTranslations;
@@ -1380,6 +1385,7 @@ interface InternalTableContext {
1380
1385
  filterStorage: IFilterStorage;
1381
1386
  onBulkEditUpdate: DataTableProps['onBulkEditUpdate'];
1382
1387
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1388
+ suppressBulkEditToasts?: DataTableProps['suppressBulkEditToasts'];
1383
1389
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1384
1390
  localStoragePersistenceKey?: string;
1385
1391
  onExpandOrCollapseAll?: (expanded: boolean) => void;
@@ -1463,7 +1469,7 @@ interface BulkActionProps {
1463
1469
  style?: React__default.CSSProperties;
1464
1470
  }
1465
1471
 
1466
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1472
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, suppressBulkEditToasts, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1467
1473
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1468
1474
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1469
1475
  ConfigPanelButton: React__default.FC<{}>;
@@ -1500,7 +1506,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1500
1506
 
1501
1507
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1502
1508
 
1503
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1509
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, suppressBulkEditToasts, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1504
1510
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1505
1511
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1506
1512
  ConfigPanelButton: React__default.FC<{}>;
@@ -57039,18 +57039,14 @@ var GenericHeaderRenderer = (props) => {
57039
57039
  // src/GenericHeader/GenericColumnGroupHeader.tsx
57040
57040
  function GenericColumnGroupHeader(props) {
57041
57041
  const I18n = useI18nContext();
57042
- const { expanded: initialExpanded, expandable } = props.columnGroup.providedColumnGroup;
57043
- const [isExpanded, setIsExpanded] = React80.useState(initialExpanded);
57044
- React80.useEffect(() => {
57045
- props.setExpanded(isExpanded);
57046
- }, [isExpanded]);
57042
+ const { expanded, expandable } = props.columnGroup.providedColumnGroup;
57047
57043
  if (!props.displayName) {
57048
57044
  return null;
57049
57045
  }
57050
57046
  const tooltipText = I18n.t(
57051
- `dataTable.columnGroupToggle.${isExpanded ? "collapse" : "expand"}`
57047
+ `dataTable.columnGroupToggle.${expanded ? "collapse" : "expand"}`
57052
57048
  );
57053
- const ExpansionVariantIcon = isExpanded ? CaretsIn : CaretsOut;
57049
+ const ExpansionVariantIcon = expanded ? CaretsIn : CaretsOut;
57054
57050
  return /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ React80.createElement("div", { className: "ag-header-group-cell-label", role: "presentation" }, /* @__PURE__ */ React80.createElement("span", { className: "ag-header-group-text", role: "presentation" }, props.displayName)), expandable && /* @__PURE__ */ React80.createElement(
57055
57051
  Tooltip,
57056
57052
  {
@@ -57063,7 +57059,7 @@ function GenericColumnGroupHeader(props) {
57063
57059
  {
57064
57060
  "aria-label": tooltipText,
57065
57061
  className: "expand-button",
57066
- onClick: () => setIsExpanded((v) => !v)
57062
+ onClick: () => props.setExpanded(!expanded)
57067
57063
  },
57068
57064
  /* @__PURE__ */ React80.createElement(ExpansionVariantIcon, { size: "sm" })
57069
57065
  )
@@ -57156,13 +57152,6 @@ function CustomLoader(params) {
57156
57152
  }
57157
57153
  return /* @__PURE__ */ React80.createElement(LevelIndents, { level: params.node.level, lastRowInGroup: false });
57158
57154
  }
57159
- var DefaultFrameworkComponents = {
57160
- agColumnHeader: GenericHeaderRenderer,
57161
- agLoadingCellRenderer: CustomLoader,
57162
- agColumnGroupHeader: GenericColumnGroupHeader,
57163
- loadingOverlayRenderer: Spinner,
57164
- emptyStateRenderer: EmptyState
57165
- };
57166
57155
  function getFrameworkComponents(tableProps) {
57167
57156
  const headerMenuConfig = {
57168
57157
  suppressResetColumnsOption: tableProps.suppressResetColumnsOption || false,
@@ -57176,6 +57165,13 @@ function getFrameworkComponents(tableProps) {
57176
57165
  tableProps.onSelectAll,
57177
57166
  tableProps.selectionSSREnabled
57178
57167
  );
57168
+ const DefaultFrameworkComponents = {
57169
+ agColumnHeader: GenericHeaderRenderer,
57170
+ agLoadingCellRenderer: CustomLoader,
57171
+ agColumnGroupHeader: GenericColumnGroupHeader,
57172
+ loadingOverlayRenderer: Spinner,
57173
+ emptyStateRenderer: EmptyState
57174
+ };
57179
57175
  DefaultFrameworkComponents["autoGroupCellRenderer"] = AutoGroupCellRenderer;
57180
57176
  return { ...DefaultFrameworkComponents, ...customFrameworkComponents };
57181
57177
  }
@@ -57843,6 +57839,7 @@ var InternalTableContext = React80.createContext({
57843
57839
  onExpandOrCollapseAll: () => {
57844
57840
  },
57845
57841
  onServerSideDataRequest: void 0,
57842
+ suppressBulkEditToasts: false,
57846
57843
  onTableConfigChange: () => {
57847
57844
  },
57848
57845
  updateServerSideDataSource: () => {
@@ -103653,7 +103650,7 @@ var BulkEditInput = (props) => {
103653
103650
  }
103654
103651
  };
103655
103652
  var BulkEdit = React80.forwardRef(
103656
- ({ onReset = noop4 }, ref) => {
103653
+ ({ onReset = noop4, suppressBulkEditToasts = false }, ref) => {
103657
103654
  var _a;
103658
103655
  const {
103659
103656
  analytics,
@@ -103758,14 +103755,18 @@ var BulkEdit = React80.forwardRef(
103758
103755
  await (onBulkEditUpdate == null ? void 0 : onBulkEditUpdate(bulkEditedRows).then((result) => {
103759
103756
  if (result === void 0) {
103760
103757
  gridApi == null ? void 0 : gridApi.refreshServerSide({ purge: true });
103761
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103758
+ if (!suppressBulkEditToasts) {
103759
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103760
+ }
103762
103761
  resetForm({});
103763
103762
  onReset();
103764
103763
  } else {
103765
103764
  throw new Error(result);
103766
103765
  }
103767
103766
  }).catch(() => {
103768
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103767
+ if (!suppressBulkEditToasts) {
103768
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103769
+ }
103769
103770
  }));
103770
103771
  } else {
103771
103772
  try {
@@ -103773,11 +103774,15 @@ var BulkEdit = React80.forwardRef(
103773
103774
  { update: clientSideItemsToUpdate },
103774
103775
  () => onBulkEditUpdate == null ? void 0 : onBulkEditUpdate(bulkEditedRows)
103775
103776
  );
103776
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103777
+ if (!suppressBulkEditToasts) {
103778
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103779
+ }
103777
103780
  resetForm({});
103778
103781
  onReset();
103779
103782
  } catch (error2) {
103780
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103783
+ if (!suppressBulkEditToasts) {
103784
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103785
+ }
103781
103786
  }
103782
103787
  }
103783
103788
  };
@@ -103811,7 +103816,7 @@ var BulkEdit = React80.forwardRef(
103811
103816
  }
103812
103817
  );
103813
103818
  var BulkEditPanel = ({}) => {
103814
- const { contextPanel } = useInternalTableContext();
103819
+ const { contextPanel, suppressBulkEditToasts } = useInternalTableContext();
103815
103820
  const I18n = useI18nContext();
103816
103821
  const bulkEditRef = React80.useRef(null);
103817
103822
  return /* @__PURE__ */ React80.createElement(Panel, null, /* @__PURE__ */ React80.createElement(
@@ -103824,7 +103829,14 @@ var BulkEditPanel = ({}) => {
103824
103829
  }
103825
103830
  },
103826
103831
  /* @__PURE__ */ React80.createElement(Panel.Title, null, I18n.t("dataTable.bulkActions.editValues"))
103827
- ), /* @__PURE__ */ React80.createElement(Panel.Body, null, /* @__PURE__ */ React80.createElement(Panel.Section, null, /* @__PURE__ */ React80.createElement(BulkEdit, { ref: bulkEditRef, onReset: contextPanel.hide }))), /* @__PURE__ */ React80.createElement(Panel.Footer, null, /* @__PURE__ */ React80.createElement(Panel.FooterActions, null, /* @__PURE__ */ React80.createElement(
103832
+ ), /* @__PURE__ */ React80.createElement(Panel.Body, null, /* @__PURE__ */ React80.createElement(Panel.Section, null, /* @__PURE__ */ React80.createElement(
103833
+ BulkEdit,
103834
+ {
103835
+ ref: bulkEditRef,
103836
+ onReset: contextPanel.hide,
103837
+ suppressBulkEditToasts
103838
+ }
103839
+ ))), /* @__PURE__ */ React80.createElement(Panel.Footer, null, /* @__PURE__ */ React80.createElement(Panel.FooterActions, null, /* @__PURE__ */ React80.createElement(
103828
103840
  Button,
103829
103841
  {
103830
103842
  key: "cancel",
@@ -108988,6 +109000,7 @@ var DataTable = ({
108988
109000
  onServerSideDataRequest,
108989
109001
  onTableConfigChange,
108990
109002
  showExpandCollapseAllToggle,
109003
+ suppressBulkEditToasts,
108991
109004
  translations: translations2 = {},
108992
109005
  enableCellTextSelection,
108993
109006
  localStoragePersistenceKey,
@@ -109237,6 +109250,7 @@ var DataTable = ({
109237
109250
  onBulkEditUpdate,
109238
109251
  onExpandOrCollapseAll,
109239
109252
  onServerSideDataRequest,
109253
+ suppressBulkEditToasts,
109240
109254
  onTableConfigChange: internalOnTableConfigChange,
109241
109255
  rowSelectionRef,
109242
109256
  expandCollapseStateRef,
@@ -112316,6 +112330,7 @@ var ClientSideDataTable = ({
112316
112330
  onBulkEditUpdate,
112317
112331
  onExpandOrCollapseAll,
112318
112332
  onTableConfigChange,
112333
+ suppressBulkEditToasts,
112319
112334
  translations: translations2 = {},
112320
112335
  enableCellTextSelection,
112321
112336
  localStoragePersistenceKey,
@@ -112335,6 +112350,7 @@ var ClientSideDataTable = ({
112335
112350
  onExpandOrCollapseAll,
112336
112351
  onTableConfigChange,
112337
112352
  showExpandCollapseAllToggle: true,
112353
+ suppressBulkEditToasts,
112338
112354
  translations: translations2,
112339
112355
  localStoragePersistenceKey,
112340
112356
  customBulkEditorFields,
@@ -116730,6 +116746,7 @@ var ServerSideDataTable = ({
116730
116746
  onTableConfigChange,
116731
116747
  enableCellTextSelection,
116732
116748
  showExpandCollapseAllToggle,
116749
+ suppressBulkEditToasts,
116733
116750
  translations: translations2 = {},
116734
116751
  localStoragePersistenceKey,
116735
116752
  enableCDN
@@ -116749,6 +116766,7 @@ var ServerSideDataTable = ({
116749
116766
  onServerSideDataRequest,
116750
116767
  onTableConfigChange,
116751
116768
  showExpandCollapseAllToggle,
116769
+ suppressBulkEditToasts,
116752
116770
  translations: translations2,
116753
116771
  customBulkEditorFields,
116754
116772
  enableCellTextSelection,
@@ -56966,18 +56966,14 @@ var GenericHeaderRenderer = (props) => {
56966
56966
  // src/GenericHeader/GenericColumnGroupHeader.tsx
56967
56967
  function GenericColumnGroupHeader(props) {
56968
56968
  const I18n = coreReact.useI18nContext();
56969
- const { expanded: initialExpanded, expandable } = props.columnGroup.providedColumnGroup;
56970
- const [isExpanded, setIsExpanded] = React80__default.default.useState(initialExpanded);
56971
- React80__default.default.useEffect(() => {
56972
- props.setExpanded(isExpanded);
56973
- }, [isExpanded]);
56969
+ const { expanded, expandable } = props.columnGroup.providedColumnGroup;
56974
56970
  if (!props.displayName) {
56975
56971
  return null;
56976
56972
  }
56977
56973
  const tooltipText = I18n.t(
56978
- `dataTable.columnGroupToggle.${isExpanded ? "collapse" : "expand"}`
56974
+ `dataTable.columnGroupToggle.${expanded ? "collapse" : "expand"}`
56979
56975
  );
56980
- const ExpansionVariantIcon = isExpanded ? coreIcons.CaretsIn : coreIcons.CaretsOut;
56976
+ const ExpansionVariantIcon = expanded ? coreIcons.CaretsIn : coreIcons.CaretsOut;
56981
56977
  return /* @__PURE__ */ React80__default.default.createElement(React80__default.default.Fragment, null, /* @__PURE__ */ React80__default.default.createElement("div", { className: "ag-header-group-cell-label", role: "presentation" }, /* @__PURE__ */ React80__default.default.createElement("span", { className: "ag-header-group-text", role: "presentation" }, props.displayName)), expandable && /* @__PURE__ */ React80__default.default.createElement(
56982
56978
  coreReact.Tooltip,
56983
56979
  {
@@ -56990,7 +56986,7 @@ function GenericColumnGroupHeader(props) {
56990
56986
  {
56991
56987
  "aria-label": tooltipText,
56992
56988
  className: "expand-button",
56993
- onClick: () => setIsExpanded((v) => !v)
56989
+ onClick: () => props.setExpanded(!expanded)
56994
56990
  },
56995
56991
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
56996
56992
  )
@@ -57081,13 +57077,6 @@ function CustomLoader(params) {
57081
57077
  }
57082
57078
  return /* @__PURE__ */ React80__default.default.createElement(LevelIndents, { level: params.node.level, lastRowInGroup: false });
57083
57079
  }
57084
- var DefaultFrameworkComponents = {
57085
- agColumnHeader: GenericHeaderRenderer,
57086
- agLoadingCellRenderer: CustomLoader,
57087
- agColumnGroupHeader: GenericColumnGroupHeader,
57088
- loadingOverlayRenderer: Spinner,
57089
- emptyStateRenderer: EmptyState
57090
- };
57091
57080
  function getFrameworkComponents(tableProps) {
57092
57081
  const headerMenuConfig = {
57093
57082
  suppressResetColumnsOption: tableProps.suppressResetColumnsOption || false,
@@ -57101,6 +57090,13 @@ function getFrameworkComponents(tableProps) {
57101
57090
  tableProps.onSelectAll,
57102
57091
  tableProps.selectionSSREnabled
57103
57092
  );
57093
+ const DefaultFrameworkComponents = {
57094
+ agColumnHeader: GenericHeaderRenderer,
57095
+ agLoadingCellRenderer: CustomLoader,
57096
+ agColumnGroupHeader: GenericColumnGroupHeader,
57097
+ loadingOverlayRenderer: Spinner,
57098
+ emptyStateRenderer: EmptyState
57099
+ };
57104
57100
  DefaultFrameworkComponents["autoGroupCellRenderer"] = AutoGroupCellRenderer;
57105
57101
  return { ...DefaultFrameworkComponents, ...customFrameworkComponents };
57106
57102
  }
@@ -57754,6 +57750,7 @@ var InternalTableContext = React80__default.default.createContext({
57754
57750
  onExpandOrCollapseAll: () => {
57755
57751
  },
57756
57752
  onServerSideDataRequest: void 0,
57753
+ suppressBulkEditToasts: false,
57757
57754
  onTableConfigChange: () => {
57758
57755
  },
57759
57756
  updateServerSideDataSource: () => {
@@ -103554,7 +103551,7 @@ var BulkEditInput = (props) => {
103554
103551
  }
103555
103552
  };
103556
103553
  var BulkEdit = React80__default.default.forwardRef(
103557
- ({ onReset = noop4 }, ref) => {
103554
+ ({ onReset = noop4, suppressBulkEditToasts = false }, ref) => {
103558
103555
  const {
103559
103556
  analytics,
103560
103557
  columnApi,
@@ -103656,14 +103653,18 @@ var BulkEdit = React80__default.default.forwardRef(
103656
103653
  await onBulkEditUpdate?.(bulkEditedRows).then((result) => {
103657
103654
  if (result === void 0) {
103658
103655
  gridApi?.refreshServerSide({ purge: true });
103659
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103656
+ if (!suppressBulkEditToasts) {
103657
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103658
+ }
103660
103659
  resetForm({});
103661
103660
  onReset();
103662
103661
  } else {
103663
103662
  throw new Error(result);
103664
103663
  }
103665
103664
  }).catch(() => {
103666
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103665
+ if (!suppressBulkEditToasts) {
103666
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103667
+ }
103667
103668
  });
103668
103669
  } else {
103669
103670
  try {
@@ -103671,11 +103672,15 @@ var BulkEdit = React80__default.default.forwardRef(
103671
103672
  { update: clientSideItemsToUpdate },
103672
103673
  () => onBulkEditUpdate?.(bulkEditedRows)
103673
103674
  );
103674
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103675
+ if (!suppressBulkEditToasts) {
103676
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103677
+ }
103675
103678
  resetForm({});
103676
103679
  onReset();
103677
103680
  } catch (error2) {
103678
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103681
+ if (!suppressBulkEditToasts) {
103682
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103683
+ }
103679
103684
  }
103680
103685
  }
103681
103686
  };
@@ -103703,7 +103708,7 @@ var BulkEdit = React80__default.default.forwardRef(
103703
103708
  }
103704
103709
  );
103705
103710
  var BulkEditPanel = ({}) => {
103706
- const { contextPanel } = useInternalTableContext();
103711
+ const { contextPanel, suppressBulkEditToasts } = useInternalTableContext();
103707
103712
  const I18n = coreReact.useI18nContext();
103708
103713
  const bulkEditRef = React80__default.default.useRef(null);
103709
103714
  return /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel, null, /* @__PURE__ */ React80__default.default.createElement(
@@ -103715,7 +103720,14 @@ var BulkEditPanel = ({}) => {
103715
103720
  }
103716
103721
  },
103717
103722
  /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Title, null, I18n.t("dataTable.bulkActions.editValues"))
103718
- ), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Body, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Section, null, /* @__PURE__ */ React80__default.default.createElement(BulkEdit, { ref: bulkEditRef, onReset: contextPanel.hide }))), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Footer, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.FooterActions, null, /* @__PURE__ */ React80__default.default.createElement(
103723
+ ), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Body, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Section, null, /* @__PURE__ */ React80__default.default.createElement(
103724
+ BulkEdit,
103725
+ {
103726
+ ref: bulkEditRef,
103727
+ onReset: contextPanel.hide,
103728
+ suppressBulkEditToasts
103729
+ }
103730
+ ))), /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.Footer, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Panel.FooterActions, null, /* @__PURE__ */ React80__default.default.createElement(
103719
103731
  coreReact.Button,
103720
103732
  {
103721
103733
  key: "cancel",
@@ -108850,6 +108862,7 @@ var DataTable = ({
108850
108862
  onServerSideDataRequest,
108851
108863
  onTableConfigChange,
108852
108864
  showExpandCollapseAllToggle,
108865
+ suppressBulkEditToasts,
108853
108866
  translations: translations2 = {},
108854
108867
  enableCellTextSelection,
108855
108868
  localStoragePersistenceKey,
@@ -109095,6 +109108,7 @@ var DataTable = ({
109095
109108
  onBulkEditUpdate,
109096
109109
  onExpandOrCollapseAll,
109097
109110
  onServerSideDataRequest,
109111
+ suppressBulkEditToasts,
109098
109112
  onTableConfigChange: internalOnTableConfigChange,
109099
109113
  rowSelectionRef,
109100
109114
  expandCollapseStateRef,
@@ -112099,6 +112113,7 @@ var ClientSideDataTable = ({
112099
112113
  onBulkEditUpdate,
112100
112114
  onExpandOrCollapseAll,
112101
112115
  onTableConfigChange,
112116
+ suppressBulkEditToasts,
112102
112117
  translations: translations2 = {},
112103
112118
  enableCellTextSelection,
112104
112119
  localStoragePersistenceKey,
@@ -112118,6 +112133,7 @@ var ClientSideDataTable = ({
112118
112133
  onExpandOrCollapseAll,
112119
112134
  onTableConfigChange,
112120
112135
  showExpandCollapseAllToggle: true,
112136
+ suppressBulkEditToasts,
112121
112137
  translations: translations2,
112122
112138
  localStoragePersistenceKey,
112123
112139
  customBulkEditorFields,
@@ -116512,6 +116528,7 @@ var ServerSideDataTable = ({
116512
116528
  onTableConfigChange,
116513
116529
  enableCellTextSelection,
116514
116530
  showExpandCollapseAllToggle,
116531
+ suppressBulkEditToasts,
116515
116532
  translations: translations2 = {},
116516
116533
  localStoragePersistenceKey,
116517
116534
  enableCDN
@@ -116531,6 +116548,7 @@ var ServerSideDataTable = ({
116531
116548
  onServerSideDataRequest,
116532
116549
  onTableConfigChange,
116533
116550
  showExpandCollapseAllToggle,
116551
+ suppressBulkEditToasts,
116534
116552
  translations: translations2,
116535
116553
  customBulkEditorFields,
116536
116554
  enableCellTextSelection,
@@ -1162,6 +1162,11 @@ interface DataTableProps {
1162
1162
  * the updated values
1163
1163
  */
1164
1164
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1165
+ /**
1166
+ * When true, suppresses the success and error toast messages
1167
+ * that are normally shown after bulk edit operations
1168
+ */
1169
+ suppressBulkEditToasts?: boolean;
1165
1170
  localStoragePersistenceKey?: string;
1166
1171
  showExpandCollapseAllToggle?: boolean;
1167
1172
  translations?: DataTableTranslations;
@@ -1380,6 +1385,7 @@ interface InternalTableContext {
1380
1385
  filterStorage: IFilterStorage;
1381
1386
  onBulkEditUpdate: DataTableProps['onBulkEditUpdate'];
1382
1387
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1388
+ suppressBulkEditToasts?: DataTableProps['suppressBulkEditToasts'];
1383
1389
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1384
1390
  localStoragePersistenceKey?: string;
1385
1391
  onExpandOrCollapseAll?: (expanded: boolean) => void;
@@ -1463,7 +1469,7 @@ interface BulkActionProps {
1463
1469
  style?: React__default.CSSProperties;
1464
1470
  }
1465
1471
 
1466
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1472
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, suppressBulkEditToasts, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1467
1473
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1468
1474
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1469
1475
  ConfigPanelButton: React__default.FC<{}>;
@@ -1500,7 +1506,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1500
1506
 
1501
1507
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1502
1508
 
1503
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1509
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, suppressBulkEditToasts, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1504
1510
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1505
1511
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1506
1512
  ConfigPanelButton: React__default.FC<{}>;
@@ -1162,6 +1162,11 @@ interface DataTableProps {
1162
1162
  * the updated values
1163
1163
  */
1164
1164
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1165
+ /**
1166
+ * When true, suppresses the success and error toast messages
1167
+ * that are normally shown after bulk edit operations
1168
+ */
1169
+ suppressBulkEditToasts?: boolean;
1165
1170
  localStoragePersistenceKey?: string;
1166
1171
  showExpandCollapseAllToggle?: boolean;
1167
1172
  translations?: DataTableTranslations;
@@ -1380,6 +1385,7 @@ interface InternalTableContext {
1380
1385
  filterStorage: IFilterStorage;
1381
1386
  onBulkEditUpdate: DataTableProps['onBulkEditUpdate'];
1382
1387
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1388
+ suppressBulkEditToasts?: DataTableProps['suppressBulkEditToasts'];
1383
1389
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1384
1390
  localStoragePersistenceKey?: string;
1385
1391
  onExpandOrCollapseAll?: (expanded: boolean) => void;
@@ -1463,7 +1469,7 @@ interface BulkActionProps {
1463
1469
  style?: React__default.CSSProperties;
1464
1470
  }
1465
1471
 
1466
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1472
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, suppressBulkEditToasts, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1467
1473
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1468
1474
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1469
1475
  ConfigPanelButton: React__default.FC<{}>;
@@ -1500,7 +1506,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1500
1506
 
1501
1507
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1502
1508
 
1503
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1509
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, suppressBulkEditToasts, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1504
1510
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1505
1511
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1506
1512
  ConfigPanelButton: React__default.FC<{}>;
@@ -56953,18 +56953,14 @@ var GenericHeaderRenderer = (props) => {
56953
56953
  // src/GenericHeader/GenericColumnGroupHeader.tsx
56954
56954
  function GenericColumnGroupHeader(props) {
56955
56955
  const I18n = useI18nContext();
56956
- const { expanded: initialExpanded, expandable } = props.columnGroup.providedColumnGroup;
56957
- const [isExpanded, setIsExpanded] = React80.useState(initialExpanded);
56958
- React80.useEffect(() => {
56959
- props.setExpanded(isExpanded);
56960
- }, [isExpanded]);
56956
+ const { expanded, expandable } = props.columnGroup.providedColumnGroup;
56961
56957
  if (!props.displayName) {
56962
56958
  return null;
56963
56959
  }
56964
56960
  const tooltipText = I18n.t(
56965
- `dataTable.columnGroupToggle.${isExpanded ? "collapse" : "expand"}`
56961
+ `dataTable.columnGroupToggle.${expanded ? "collapse" : "expand"}`
56966
56962
  );
56967
- const ExpansionVariantIcon = isExpanded ? CaretsIn : CaretsOut;
56963
+ const ExpansionVariantIcon = expanded ? CaretsIn : CaretsOut;
56968
56964
  return /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ React80.createElement("div", { className: "ag-header-group-cell-label", role: "presentation" }, /* @__PURE__ */ React80.createElement("span", { className: "ag-header-group-text", role: "presentation" }, props.displayName)), expandable && /* @__PURE__ */ React80.createElement(
56969
56965
  Tooltip,
56970
56966
  {
@@ -56977,7 +56973,7 @@ function GenericColumnGroupHeader(props) {
56977
56973
  {
56978
56974
  "aria-label": tooltipText,
56979
56975
  className: "expand-button",
56980
- onClick: () => setIsExpanded((v) => !v)
56976
+ onClick: () => props.setExpanded(!expanded)
56981
56977
  },
56982
56978
  /* @__PURE__ */ React80.createElement(ExpansionVariantIcon, { size: "sm" })
56983
56979
  )
@@ -57068,13 +57064,6 @@ function CustomLoader(params) {
57068
57064
  }
57069
57065
  return /* @__PURE__ */ React80.createElement(LevelIndents, { level: params.node.level, lastRowInGroup: false });
57070
57066
  }
57071
- var DefaultFrameworkComponents = {
57072
- agColumnHeader: GenericHeaderRenderer,
57073
- agLoadingCellRenderer: CustomLoader,
57074
- agColumnGroupHeader: GenericColumnGroupHeader,
57075
- loadingOverlayRenderer: Spinner,
57076
- emptyStateRenderer: EmptyState
57077
- };
57078
57067
  function getFrameworkComponents(tableProps) {
57079
57068
  const headerMenuConfig = {
57080
57069
  suppressResetColumnsOption: tableProps.suppressResetColumnsOption || false,
@@ -57088,6 +57077,13 @@ function getFrameworkComponents(tableProps) {
57088
57077
  tableProps.onSelectAll,
57089
57078
  tableProps.selectionSSREnabled
57090
57079
  );
57080
+ const DefaultFrameworkComponents = {
57081
+ agColumnHeader: GenericHeaderRenderer,
57082
+ agLoadingCellRenderer: CustomLoader,
57083
+ agColumnGroupHeader: GenericColumnGroupHeader,
57084
+ loadingOverlayRenderer: Spinner,
57085
+ emptyStateRenderer: EmptyState
57086
+ };
57091
57087
  DefaultFrameworkComponents["autoGroupCellRenderer"] = AutoGroupCellRenderer;
57092
57088
  return { ...DefaultFrameworkComponents, ...customFrameworkComponents };
57093
57089
  }
@@ -57741,6 +57737,7 @@ var InternalTableContext = React80.createContext({
57741
57737
  onExpandOrCollapseAll: () => {
57742
57738
  },
57743
57739
  onServerSideDataRequest: void 0,
57740
+ suppressBulkEditToasts: false,
57744
57741
  onTableConfigChange: () => {
57745
57742
  },
57746
57743
  updateServerSideDataSource: () => {
@@ -103541,7 +103538,7 @@ var BulkEditInput = (props) => {
103541
103538
  }
103542
103539
  };
103543
103540
  var BulkEdit = React80.forwardRef(
103544
- ({ onReset = noop4 }, ref) => {
103541
+ ({ onReset = noop4, suppressBulkEditToasts = false }, ref) => {
103545
103542
  const {
103546
103543
  analytics,
103547
103544
  columnApi,
@@ -103643,14 +103640,18 @@ var BulkEdit = React80.forwardRef(
103643
103640
  await onBulkEditUpdate?.(bulkEditedRows).then((result) => {
103644
103641
  if (result === void 0) {
103645
103642
  gridApi?.refreshServerSide({ purge: true });
103646
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103643
+ if (!suppressBulkEditToasts) {
103644
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103645
+ }
103647
103646
  resetForm({});
103648
103647
  onReset();
103649
103648
  } else {
103650
103649
  throw new Error(result);
103651
103650
  }
103652
103651
  }).catch(() => {
103653
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103652
+ if (!suppressBulkEditToasts) {
103653
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103654
+ }
103654
103655
  });
103655
103656
  } else {
103656
103657
  try {
@@ -103658,11 +103659,15 @@ var BulkEdit = React80.forwardRef(
103658
103659
  { update: clientSideItemsToUpdate },
103659
103660
  () => onBulkEditUpdate?.(bulkEditedRows)
103660
103661
  );
103661
- showToast.success(I18n.t("dataTable.bulkActions.success"));
103662
+ if (!suppressBulkEditToasts) {
103663
+ showToast.success(I18n.t("dataTable.bulkActions.success"));
103664
+ }
103662
103665
  resetForm({});
103663
103666
  onReset();
103664
103667
  } catch (error2) {
103665
- showToast.error(I18n.t("dataTable.bulkActions.error"));
103668
+ if (!suppressBulkEditToasts) {
103669
+ showToast.error(I18n.t("dataTable.bulkActions.error"));
103670
+ }
103666
103671
  }
103667
103672
  }
103668
103673
  };
@@ -103690,7 +103695,7 @@ var BulkEdit = React80.forwardRef(
103690
103695
  }
103691
103696
  );
103692
103697
  var BulkEditPanel = ({}) => {
103693
- const { contextPanel } = useInternalTableContext();
103698
+ const { contextPanel, suppressBulkEditToasts } = useInternalTableContext();
103694
103699
  const I18n = useI18nContext();
103695
103700
  const bulkEditRef = React80.useRef(null);
103696
103701
  return /* @__PURE__ */ React80.createElement(Panel, null, /* @__PURE__ */ React80.createElement(
@@ -103702,7 +103707,14 @@ var BulkEditPanel = ({}) => {
103702
103707
  }
103703
103708
  },
103704
103709
  /* @__PURE__ */ React80.createElement(Panel.Title, null, I18n.t("dataTable.bulkActions.editValues"))
103705
- ), /* @__PURE__ */ React80.createElement(Panel.Body, null, /* @__PURE__ */ React80.createElement(Panel.Section, null, /* @__PURE__ */ React80.createElement(BulkEdit, { ref: bulkEditRef, onReset: contextPanel.hide }))), /* @__PURE__ */ React80.createElement(Panel.Footer, null, /* @__PURE__ */ React80.createElement(Panel.FooterActions, null, /* @__PURE__ */ React80.createElement(
103710
+ ), /* @__PURE__ */ React80.createElement(Panel.Body, null, /* @__PURE__ */ React80.createElement(Panel.Section, null, /* @__PURE__ */ React80.createElement(
103711
+ BulkEdit,
103712
+ {
103713
+ ref: bulkEditRef,
103714
+ onReset: contextPanel.hide,
103715
+ suppressBulkEditToasts
103716
+ }
103717
+ ))), /* @__PURE__ */ React80.createElement(Panel.Footer, null, /* @__PURE__ */ React80.createElement(Panel.FooterActions, null, /* @__PURE__ */ React80.createElement(
103706
103718
  Button,
103707
103719
  {
103708
103720
  key: "cancel",
@@ -108837,6 +108849,7 @@ var DataTable = ({
108837
108849
  onServerSideDataRequest,
108838
108850
  onTableConfigChange,
108839
108851
  showExpandCollapseAllToggle,
108852
+ suppressBulkEditToasts,
108840
108853
  translations: translations2 = {},
108841
108854
  enableCellTextSelection,
108842
108855
  localStoragePersistenceKey,
@@ -109082,6 +109095,7 @@ var DataTable = ({
109082
109095
  onBulkEditUpdate,
109083
109096
  onExpandOrCollapseAll,
109084
109097
  onServerSideDataRequest,
109098
+ suppressBulkEditToasts,
109085
109099
  onTableConfigChange: internalOnTableConfigChange,
109086
109100
  rowSelectionRef,
109087
109101
  expandCollapseStateRef,
@@ -112086,6 +112100,7 @@ var ClientSideDataTable = ({
112086
112100
  onBulkEditUpdate,
112087
112101
  onExpandOrCollapseAll,
112088
112102
  onTableConfigChange,
112103
+ suppressBulkEditToasts,
112089
112104
  translations: translations2 = {},
112090
112105
  enableCellTextSelection,
112091
112106
  localStoragePersistenceKey,
@@ -112105,6 +112120,7 @@ var ClientSideDataTable = ({
112105
112120
  onExpandOrCollapseAll,
112106
112121
  onTableConfigChange,
112107
112122
  showExpandCollapseAllToggle: true,
112123
+ suppressBulkEditToasts,
112108
112124
  translations: translations2,
112109
112125
  localStoragePersistenceKey,
112110
112126
  customBulkEditorFields,
@@ -116499,6 +116515,7 @@ var ServerSideDataTable = ({
116499
116515
  onTableConfigChange,
116500
116516
  enableCellTextSelection,
116501
116517
  showExpandCollapseAllToggle,
116518
+ suppressBulkEditToasts,
116502
116519
  translations: translations2 = {},
116503
116520
  localStoragePersistenceKey,
116504
116521
  enableCDN
@@ -116518,6 +116535,7 @@ var ServerSideDataTable = ({
116518
116535
  onServerSideDataRequest,
116519
116536
  onTableConfigChange,
116520
116537
  showExpandCollapseAllToggle,
116538
+ suppressBulkEditToasts,
116521
116539
  translations: translations2,
116522
116540
  customBulkEditorFields,
116523
116541
  enableCellTextSelection,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procore/data-table",
3
- "version": "14.39.0",
3
+ "version": "14.40.0",
4
4
  "description": "Complex data grid built on top of ag-grid, with DST components and styles.",
5
5
  "author": "Procore Technologies",
6
6
  "homepage": "https://github.com/procore/core/tree/main/packages/data-table",
@@ -75,7 +75,7 @@
75
75
  "dependencies": {
76
76
  "@procore/cdn-translations": "0.1.13",
77
77
  "@procore/error-pages": "^0.2.3",
78
- "@procore/labs-datetime-select": "^0.1.3",
78
+ "@procore/labs-datetime-select": "^0.2.0",
79
79
  "@procore/labs-group-by-select": "4.1.0",
80
80
  "@procore/toast-alert": "^5.1.1",
81
81
  "@procore/web-sdk-storage": "^0.1.0",
@@ -106,19 +106,17 @@
106
106
  "@dotenvx/dotenvx": "1.6.4",
107
107
  "@ngneat/falso": "6.4.0",
108
108
  "@procore/core-css": "10.17.0",
109
- "@procore/core-icons": "^12.11.0",
109
+ "@procore/core-icons": "^12.12.0",
110
110
  "@procore/core-prettier": "10.2.0",
111
- "@procore/core-react": "^12.33.0",
111
+ "@procore/core-react": "^12.34.1",
112
112
  "@procore/eslint-config": "10.0.0",
113
113
  "@procore/globalization-toolkit": "3.1.0",
114
114
  "@procore/labs-financials-utils": "4.3.1",
115
115
  "@procore/labs-procore-environment": "5.0.1",
116
116
  "@procore/pseudolocalize": "^0.1.1",
117
- "@procore/storybook-addon": "^4.0.0",
118
- "@storybook/addon-docs": "^7.5.3",
119
- "@storybook/manager-api": "^7.5.3",
120
- "@storybook/react": "^7.5.3",
121
- "@storybook/react-webpack5": "^7.5.3",
117
+ "@procore/storybook-addon": "^4.6.0",
118
+ "@storybook/addon-webpack5-compiler-swc": "^4.0.2",
119
+ "@storybook/react-webpack5": "^9.1.16",
122
120
  "@testing-library/cypress": "10.0.1",
123
121
  "@testing-library/dom": "8.20.0",
124
122
  "@testing-library/jest-dom": "5.16.4",
@@ -149,6 +147,7 @@
149
147
  "eslint-plugin-prettier": "4.2.1",
150
148
  "eslint-plugin-react": "7.32.0",
151
149
  "eslint-plugin-react-hooks": "4.6.0",
150
+ "eslint-plugin-storybook": "^9.1.16",
152
151
  "http-server": "^14.1.1",
153
152
  "jest": "29.5.0",
154
153
  "miragejs": "0.1.45",
@@ -163,7 +162,7 @@
163
162
  "sass": "1.57.1",
164
163
  "sass-loader": "13.2.0",
165
164
  "start-server-and-test": "1.15.4",
166
- "storybook": "^7.5.3",
165
+ "storybook": "^9.1.17",
167
166
  "style-loader": "3.3.1",
168
167
  "styled-components": "6.1.18",
169
168
  "tsup": "^8.4.0",