primereact 9.6.0 → 9.6.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.
Files changed (58) hide show
  1. package/calendar/calendar.cjs.js +7 -5
  2. package/calendar/calendar.cjs.min.js +1 -1
  3. package/calendar/calendar.esm.js +7 -5
  4. package/calendar/calendar.esm.min.js +1 -1
  5. package/calendar/calendar.js +7 -5
  6. package/calendar/calendar.min.js +1 -1
  7. package/carousel/carousel.cjs.js +8 -8
  8. package/carousel/carousel.cjs.min.js +1 -1
  9. package/carousel/carousel.esm.js +9 -9
  10. package/carousel/carousel.esm.min.js +1 -1
  11. package/carousel/carousel.js +8 -8
  12. package/carousel/carousel.min.js +1 -1
  13. package/core/core.js +9 -11
  14. package/core/core.min.js +2 -2
  15. package/datatable/datatable.cjs.js +37 -24
  16. package/datatable/datatable.cjs.min.js +1 -1
  17. package/datatable/datatable.d.ts +119 -27
  18. package/datatable/datatable.esm.js +37 -24
  19. package/datatable/datatable.esm.min.js +1 -1
  20. package/datatable/datatable.js +37 -24
  21. package/datatable/datatable.min.js +1 -1
  22. package/dropdown/dropdown.cjs.js +1 -0
  23. package/dropdown/dropdown.cjs.min.js +1 -1
  24. package/dropdown/dropdown.esm.js +1 -0
  25. package/dropdown/dropdown.esm.min.js +1 -1
  26. package/dropdown/dropdown.js +1 -0
  27. package/dropdown/dropdown.min.js +1 -1
  28. package/fileupload/fileupload.cjs.js +2 -5
  29. package/fileupload/fileupload.cjs.min.js +1 -1
  30. package/fileupload/fileupload.esm.js +2 -5
  31. package/fileupload/fileupload.esm.min.js +1 -1
  32. package/fileupload/fileupload.js +2 -5
  33. package/fileupload/fileupload.min.js +1 -1
  34. package/package.json +1 -1
  35. package/primereact.all.cjs.js +65 -54
  36. package/primereact.all.cjs.min.js +1 -1
  37. package/primereact.all.esm.js +65 -54
  38. package/primereact.all.esm.min.js +1 -1
  39. package/primereact.all.js +65 -54
  40. package/primereact.all.min.js +1 -1
  41. package/resources/primereact.css +612 -612
  42. package/resources/primereact.min.css +1 -1
  43. package/slider/slider.cjs.js +2 -1
  44. package/slider/slider.cjs.min.js +1 -1
  45. package/slider/slider.esm.js +2 -1
  46. package/slider/slider.esm.min.js +1 -1
  47. package/slider/slider.js +2 -1
  48. package/slider/slider.min.js +1 -1
  49. package/tooltip/tooltip.cjs.js +1 -1
  50. package/tooltip/tooltip.cjs.min.js +1 -1
  51. package/tooltip/tooltip.esm.js +1 -1
  52. package/tooltip/tooltip.esm.min.js +1 -1
  53. package/tooltip/tooltip.js +1 -1
  54. package/tooltip/tooltip.min.js +1 -1
  55. package/utils/utils.cjs.js +7 -10
  56. package/utils/utils.esm.js +7 -10
  57. package/utils/utils.js +7 -10
  58. package/web-types.json +1 -1
@@ -291,15 +291,39 @@ interface DataTableContextMenuSelectionChangeEvent<TValue extends DataTableValue
291
291
  /**
292
292
  * Selection object.
293
293
  */
294
- value: DataTableSelection<TValue>;
294
+ value: TValue;
295
295
  }
296
296
 
297
297
  /**
298
- * Custom selection change event.
298
+ * Custom multiple selection change event.
299
299
  * @see {@link DataTableProps.onSelectionChange}
300
300
  * @event
301
301
  */
302
- interface DataTableSelectionChangeEvent<TValue extends DataTableValueArray> {
302
+ interface DataTableSelectionMultipleChangeEvent<TValue extends DataTableValueArray> {
303
+ /**
304
+ * Browser event.
305
+ */
306
+ originalEvent: React.SyntheticEvent;
307
+ /**
308
+ * Selection objects.
309
+ */
310
+ value: TValue;
311
+ /**
312
+ * Type of the selection.
313
+ */
314
+ type?: 'multiple' | 'all' | 'checkbox' | 'row' | undefined;
315
+ /**
316
+ * Extra options.
317
+ */
318
+ [key: string]: any;
319
+ }
320
+
321
+ /**
322
+ * Custom single selection change event.
323
+ * @see {@link DataTableProps.onSelectionChange}
324
+ * @event
325
+ */
326
+ interface DataTableSelectionSingleChangeEvent<TValue extends DataTableValueArray> {
303
327
  /**
304
328
  * Browser event.
305
329
  */
@@ -307,11 +331,35 @@ interface DataTableSelectionChangeEvent<TValue extends DataTableValueArray> {
307
331
  /**
308
332
  * Selection object.
309
333
  */
310
- value: DataTableSelection<TValue>;
334
+ value: TValue[number];
335
+ /**
336
+ * Type of the selection.
337
+ */
338
+ type?: 'single' | 'radio' | 'row';
339
+ /**
340
+ * Extra options.
341
+ */
342
+ [key: string]: any;
343
+ }
344
+
345
+ /**
346
+ * Custom cell selection change event.
347
+ * @see {@link DataTableProps.onSelectionChange}
348
+ * @event
349
+ */
350
+ interface DataTableSelectionCellChangeEvent<TValue extends DataTableValueArray> {
351
+ /**
352
+ * Browser event.
353
+ */
354
+ originalEvent: React.SyntheticEvent;
355
+ /**
356
+ * Selection objects.
357
+ */
358
+ value: DataTableCellSelection<TValue>;
311
359
  /**
312
360
  * Type of the selection.
313
361
  */
314
- type?: string;
362
+ type?: 'cell';
315
363
  /**
316
364
  * Extra options.
317
365
  */
@@ -699,8 +747,6 @@ type DataTableCellSelection<TValue extends DataTableValueArray> = {
699
747
  value: TValue[number][keyof TValue[number]];
700
748
  };
701
749
 
702
- type DataTableSelection<TValue extends DataTableValueArray> = DataTableRowData<TValue> | DataTableRowDataArray<TValue> | DataTableCellSelection<TValue>;
703
-
704
750
  export declare type DataTablePassThroughType<T> = PassThroughType<T, DataTablePassThroughMethodOptions<DataTableValueArray>>;
705
751
 
706
752
  /**
@@ -887,7 +933,7 @@ export interface DataTablePassThroughOptions {
887
933
  * Defines valid properties in DataTable component. In addition to these, all properties of HTMLDivElement can be used in this component.
888
934
  * @group Properties
889
935
  */
890
- export interface DataTableProps<TValue extends DataTableValueArray> extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'size' | 'onContextMenu' | 'ref' | 'value'> {
936
+ interface DataTableBaseProps<TValue extends DataTableValueArray> extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'size' | 'onContextMenu' | 'ref' | 'value'> {
891
937
  /**
892
938
  * Unique identifier of the element.
893
939
  */
@@ -910,11 +956,6 @@ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit
910
956
  * Icon to display in the checkbox.
911
957
  */
912
958
  checkIcon?: IconType<DataTableProps<TValue>> | undefined;
913
- /**
914
- * Whether to cell selection is enabled or not.
915
- * @defaultValue false
916
- */
917
- cellSelection?: boolean | undefined;
918
959
  /**
919
960
  * Style class of the component.
920
961
  */
@@ -1215,11 +1256,6 @@ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit
1215
1256
  * @defaultValue true
1216
1257
  */
1217
1258
  selectOnEdit?: boolean | undefined;
1218
- /**
1219
- * Selected row in single mode or an array of values in multiple mode.
1220
- * @defaultValue true
1221
- */
1222
- selection?: DataTableSelection<TValue> | undefined;
1223
1259
  /**
1224
1260
  * When a selectable row is clicked on RadioButton and Checkbox selection, it automatically decides whether to focus on elements such as checkbox or radio.
1225
1261
  * @defaultValue true
@@ -1229,10 +1265,6 @@ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit
1229
1265
  * A field property from the row to add Select &#123;field&#125; and Unselect &#123;field&#125; ARIA labels to checkbox/radio buttons.
1230
1266
  */
1231
1267
  selectionAriaLabel?: string | undefined;
1232
- /**
1233
- * Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
1234
- */
1235
- selectionMode?: 'single' | 'multiple' | 'checkbox' | 'radiobutton' | undefined;
1236
1268
  /**
1237
1269
  * When enabled with paginator and checkbox selection mode, the select all checkbox in the header will select all rows on the current page.
1238
1270
  * @defaultValue false
@@ -1486,11 +1518,6 @@ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit
1486
1518
  * @param {DataTableSelectAllChangeEvent} event - Custom select all change event.
1487
1519
  */
1488
1520
  onSelectAllChange?(event: DataTableSelectAllChangeEvent): void;
1489
- /**
1490
- * Callback to invoke when selection changes.
1491
- * @param {DataTableSelectionChangeEvent<TValue>} event - Custom selection change event.
1492
- */
1493
- onSelectionChange?(event: DataTableSelectionChangeEvent<TValue>): void;
1494
1521
  /**
1495
1522
  * Callback to invoke on sort.
1496
1523
  * @param {DataTableStateEvent} event - Custom state event.
@@ -1551,6 +1578,71 @@ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit
1551
1578
  pt?: DataTablePassThroughOptions;
1552
1579
  }
1553
1580
 
1581
+ interface DataTablePropsSingle<TValue extends DataTableValueArray> extends DataTableBaseProps<TValue> {
1582
+ /**
1583
+ * Whether to cell selection is enabled or not.
1584
+ * @defaultValue false
1585
+ */
1586
+ cellSelection?: false | undefined;
1587
+ /**
1588
+ * Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
1589
+ */
1590
+ selectionMode?: 'single' | 'radiobutton' | undefined;
1591
+ /**
1592
+ * Selected single value.
1593
+ */
1594
+ selection?: TValue[number] | undefined | null;
1595
+ /**
1596
+ * Callback to invoke when selection changes.
1597
+ * @param {DataTableSelectionSingleChangeEvent<TValue>} event - Custom selection change event.
1598
+ */
1599
+ onSelectionChange?(event: DataTableSelectionSingleChangeEvent<TValue>): void;
1600
+ }
1601
+
1602
+ interface DataTablePropsMultiple<TValue extends DataTableValueArray> extends DataTableBaseProps<TValue> {
1603
+ /**
1604
+ * Whether to cell selection is enabled or not.
1605
+ * @defaultValue false
1606
+ */
1607
+ cellSelection?: false | undefined;
1608
+ /**
1609
+ * Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
1610
+ */
1611
+ selectionMode: 'multiple' | 'checkbox' | null;
1612
+ /**
1613
+ * Selected array of values.
1614
+ */
1615
+ selection: TValue;
1616
+ /**
1617
+ * Callback to invoke when selection changes.
1618
+ * @param {DataTableSelectionMultipleChangeEvent<TValue>} event - Custom selection change event.
1619
+ */
1620
+ onSelectionChange?(event: DataTableSelectionMultipleChangeEvent<TValue>): void;
1621
+ }
1622
+
1623
+ interface DataTablePropsCell<TValue extends DataTableValueArray> extends DataTableBaseProps<TValue> {
1624
+ /**
1625
+ * Whether to cell selection is enabled or not.
1626
+ * @defaultValue false
1627
+ */
1628
+ cellSelection: true;
1629
+ /**
1630
+ * Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
1631
+ */
1632
+ selectionMode: 'single' | 'multiple';
1633
+ /**
1634
+ * Selected cells.
1635
+ */
1636
+ selection: DataTableCellSelection<TValue> | null;
1637
+ /**
1638
+ * Callback to invoke when selection changes.
1639
+ * @param {DataTableSelectionCellChangeEvent<TValue>} event - Custom selection change event.
1640
+ */
1641
+ onSelectionChange?(event: DataTableSelectionCellChangeEvent<TValue>): void;
1642
+ }
1643
+
1644
+ export type DataTableProps<TValue extends DataTableValueArray> = DataTablePropsSingle<TValue> | DataTablePropsMultiple<TValue> | DataTablePropsCell<TValue>;
1645
+
1554
1646
  /**
1555
1647
  * **PrimeReact - DataTable<TValue**
1556
1648
  *
@@ -570,7 +570,6 @@ var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
570
570
  }, getColumnPTOptions('hiddenInputWrapper'));
571
571
  var hiddenInputProps = mergeProps({
572
572
  name: name,
573
- ref: inputRef,
574
573
  type: 'radio',
575
574
  checked: props.checked,
576
575
  onFocus: function onFocus(e) {
@@ -598,7 +597,9 @@ var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
598
597
  var radiobuttonIconProps = mergeProps({
599
598
  className: 'p-radiobutton-icon'
600
599
  }, getColumnPTOptions('radiobuttonIcon'));
601
- return /*#__PURE__*/React.createElement("div", radiobuttonWrapperProps, /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", hiddenInputProps)), /*#__PURE__*/React.createElement("div", radiobuttonProps, /*#__PURE__*/React.createElement("div", radiobuttonIconProps)));
600
+ return /*#__PURE__*/React.createElement("div", radiobuttonWrapperProps, /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", _extends({
601
+ ref: inputRef
602
+ }, hiddenInputProps))), /*#__PURE__*/React.createElement("div", radiobuttonProps, /*#__PURE__*/React.createElement("div", radiobuttonIconProps)));
602
603
  });
603
604
  RowRadioButton.displayName = 'RowRadioButton';
604
605
 
@@ -1291,7 +1292,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1291
1292
  if (!isRowEditor && editor) {
1292
1293
  var editorKeyHelperProps = mergeProps({
1293
1294
  tabIndex: '0',
1294
- ref: keyHelperRef,
1295
1295
  className: 'p-cell-editor-key-helper p-hidden-accessible',
1296
1296
  onFocus: function onFocus(e) {
1297
1297
  return onEditorFocus(e);
@@ -1299,12 +1299,13 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1299
1299
  }, getColumnPTOptions('editorKeyHelperLabel'));
1300
1300
  var editorKeyHelperLabelProps = mergeProps(getColumnPTOptions('editorKeyHelper'));
1301
1301
  /* eslint-disable */
1302
- editorKeyHelper = /*#__PURE__*/React.createElement("a", editorKeyHelperProps, /*#__PURE__*/React.createElement("span", editorKeyHelperLabelProps));
1302
+ editorKeyHelper = /*#__PURE__*/React.createElement("a", _extends({
1303
+ ref: keyHelperRef
1304
+ }, editorKeyHelperProps), /*#__PURE__*/React.createElement("span", editorKeyHelperLabelProps));
1303
1305
  /* eslint-enable */
1304
1306
  }
1305
1307
 
1306
1308
  var bodyCellProps = mergeProps({
1307
- ref: elementRef,
1308
1309
  style: style,
1309
1310
  className: className,
1310
1311
  rowSpan: props.rowSpan,
@@ -1326,7 +1327,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1326
1327
  return _onMouseUp(e);
1327
1328
  }
1328
1329
  }, getColumnPTOptions('bodyCell'), getColumnPTOptions('root'));
1329
- return /*#__PURE__*/React.createElement("td", bodyCellProps, editorKeyHelper, title, content);
1330
+ return /*#__PURE__*/React.createElement("td", _extends({
1331
+ ref: elementRef
1332
+ }, bodyCellProps), editorKeyHelper, title, content);
1330
1333
  };
1331
1334
  return getVirtualScrollerOption('loading') ? createLoading() : createElement();
1332
1335
  });
@@ -2758,11 +2761,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2758
2761
  var content = props.empty ? createEmptyContent() : createContent();
2759
2762
  var ptKey = props.className === 'p-datatable-virtualscroller-spacer' ? 'virtualScrollerSpacer' : 'tbody';
2760
2763
  var tbodyProps = mergeProps({
2761
- ref: refCallback,
2762
2764
  style: props.style,
2763
2765
  className: props.className
2764
2766
  }, getColumnPTOptions(ptKey));
2765
- return /*#__PURE__*/React.createElement("tbody", tbodyProps, content);
2767
+ return /*#__PURE__*/React.createElement("tbody", _extends({
2768
+ ref: refCallback
2769
+ }, tbodyProps), content);
2766
2770
  }));
2767
2771
  TableBody.displayName = 'TableBody';
2768
2772
 
@@ -2858,14 +2862,15 @@ var FooterCell = /*#__PURE__*/React.memo(function (props) {
2858
2862
  props: props.tableProps
2859
2863
  });
2860
2864
  var footerCellProps = mergeProps({
2861
- ref: elementRef,
2862
2865
  style: style,
2863
2866
  className: className,
2864
2867
  role: 'cell',
2865
2868
  colSpan: colSpan,
2866
2869
  rowSpan: rowSpan
2867
2870
  }, getColumnPTOptions('footerCell'), getColumnPTOptions('root'));
2868
- return /*#__PURE__*/React.createElement("td", footerCellProps, content);
2871
+ return /*#__PURE__*/React.createElement("td", _extends({
2872
+ ref: elementRef
2873
+ }, footerCellProps), content);
2869
2874
  });
2870
2875
  FooterCell.displayName = 'FooterCell';
2871
2876
 
@@ -3404,7 +3409,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3404
3409
  });
3405
3410
  var label = filterLabel();
3406
3411
  var filterMenuButtonProps = mergeProps({
3407
- ref: iconRef,
3408
3412
  type: 'button',
3409
3413
  className: _className,
3410
3414
  'aria-haspopup': true,
@@ -3417,7 +3421,9 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3417
3421
  },
3418
3422
  'aria-label': label
3419
3423
  }, getColumnPTOptions('filterMenuButton'));
3420
- return /*#__PURE__*/React.createElement("button", filterMenuButtonProps, columnFilterIcon, /*#__PURE__*/React.createElement(Ripple, null));
3424
+ return /*#__PURE__*/React.createElement("button", _extends({
3425
+ ref: iconRef
3426
+ }, filterMenuButtonProps), columnFilterIcon, /*#__PURE__*/React.createElement(Ripple, null));
3421
3427
  }
3422
3428
  return null;
3423
3429
  };
@@ -3646,7 +3652,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3646
3652
  });
3647
3653
  var items = props.display === 'row' ? createRowItems() : createItems();
3648
3654
  var filterOverlayProps = mergeProps({
3649
- ref: overlayRef,
3650
3655
  style: style,
3651
3656
  className: className,
3652
3657
  onKeyDown: function onKeyDown(e) {
@@ -3672,7 +3677,9 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3672
3677
  onEntered: onOverlayEntered,
3673
3678
  onExit: onOverlayExit,
3674
3679
  onExited: onOverlayExited
3675
- }, /*#__PURE__*/React.createElement("div", filterOverlayProps, filterHeader, items, filterFooter)));
3680
+ }, /*#__PURE__*/React.createElement("div", _extends({
3681
+ ref: overlayRef
3682
+ }, filterOverlayProps), filterHeader, items, filterFooter)));
3676
3683
  };
3677
3684
  var className = classNames('p-column-filter p-fluid', {
3678
3685
  'p-column-filter-row': props.display === 'row',
@@ -4086,7 +4093,6 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
4086
4093
  var resizer = createResizer();
4087
4094
  var header = createHeader(sortMeta);
4088
4095
  var headerCellProps = mergeProps({
4089
- ref: elementRef,
4090
4096
  className: className,
4091
4097
  style: style,
4092
4098
  role: 'columnheader',
@@ -4116,7 +4122,9 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
4116
4122
  rowSpan: rowSpan,
4117
4123
  'aria-sort': ariaSort
4118
4124
  }, getColumnPTOptions('headerCell'), getColumnPTOptions('root'));
4119
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("th", headerCellProps, resizer, header), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4125
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("th", _extends({
4126
+ ref: elementRef
4127
+ }, headerCellProps), resizer, header), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4120
4128
  target: elementRef,
4121
4129
  content: headerTooltip
4122
4130
  }, headerTooltipOptions, {
@@ -5527,7 +5535,10 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5527
5535
  return data;
5528
5536
  };
5529
5537
  useMountEffect(function () {
5530
- attributeSelector.current = UniqueComponentId();
5538
+ if (elementRef.current) {
5539
+ attributeSelector.current = UniqueComponentId();
5540
+ elementRef.current.setAttribute(attributeSelector.current, '');
5541
+ }
5531
5542
 
5532
5543
  //setFiltersState(cloneFilters(props.filters)); // Github #4248
5533
5544
  setD_filtersState(cloneFilters(props.filters));
@@ -5539,7 +5550,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5539
5550
  }
5540
5551
  });
5541
5552
  useUpdateEffect(function () {
5542
- elementRef.current.setAttribute(attributeSelector.current, '');
5543
5553
  if (props.responsiveLayout === 'stack' && !props.scrollable) {
5544
5554
  createResponsiveStyle();
5545
5555
  }
@@ -5879,13 +5889,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5879
5889
  var _isVirtualScrollerDisabled = isVirtualScrollerDisabled();
5880
5890
  var virtualScrollerOptions = props.virtualScrollerOptions || {};
5881
5891
  var wrapperProps = mergeProps({
5882
- ref: wrapperRef,
5883
5892
  className: 'p-datatable-wrapper',
5884
5893
  style: {
5885
5894
  maxHeight: _isVirtualScrollerDisabled ? props.scrollHeight : null
5886
5895
  }
5887
5896
  }, ptCallbacks.ptm('wrapper'));
5888
- return /*#__PURE__*/React.createElement("div", wrapperProps, /*#__PURE__*/React.createElement(VirtualScroller, _extends({
5897
+ return /*#__PURE__*/React.createElement("div", _extends({
5898
+ ref: wrapperRef
5899
+ }, wrapperProps), /*#__PURE__*/React.createElement(VirtualScroller, _extends({
5889
5900
  ref: virtualScrollerRef
5890
5901
  }, virtualScrollerOptions, {
5891
5902
  items: processedData,
@@ -5969,13 +5980,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5969
5980
  var createResizeHelper = function createResizeHelper() {
5970
5981
  if (props.resizableColumns) {
5971
5982
  var resizeHelperProps = mergeProps({
5972
- ref: resizeHelperRef,
5973
5983
  className: 'p-column-resizer-helper',
5974
5984
  style: {
5975
5985
  display: 'none'
5976
5986
  }
5977
5987
  }, ptCallbacks.ptm('resizeHelper'));
5978
- return /*#__PURE__*/React.createElement("div", resizeHelperProps);
5988
+ return /*#__PURE__*/React.createElement("div", _extends({
5989
+ ref: resizeHelperRef
5990
+ }, resizeHelperProps));
5979
5991
  }
5980
5992
  return null;
5981
5993
  };
@@ -6041,13 +6053,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
6041
6053
  var resizeHelper = createResizeHelper();
6042
6054
  var reorderIndicators = createReorderIndicators();
6043
6055
  var rootProps = mergeProps({
6044
- ref: elementRef,
6045
6056
  id: props.id,
6046
6057
  className: className,
6047
6058
  style: props.style,
6048
6059
  'data-scrollselectors': '.p-datatable-wrapper'
6049
6060
  }, DataTableBase.getOtherProps(props), ptCallbacks.ptm('root'));
6050
- return /*#__PURE__*/React.createElement("div", rootProps, loader, header, paginatorTop, content, paginatorBottom, footer, resizeHelper, reorderIndicators);
6061
+ return /*#__PURE__*/React.createElement("div", _extends({
6062
+ ref: elementRef
6063
+ }, rootProps), loader, header, paginatorTop, content, paginatorBottom, footer, resizeHelper, reorderIndicators);
6051
6064
  });
6052
6065
  DataTable.displayName = 'DataTable';
6053
6066