primereact 10.6.4 → 10.6.6

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 (201) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.cjs.js +2 -2
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +2 -2
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +2 -2
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.d.ts +8 -0
  9. package/autocomplete/autocomplete.cjs.js +1 -1
  10. package/autocomplete/autocomplete.esm.js +1 -1
  11. package/autocomplete/autocomplete.js +1 -1
  12. package/breadcrumb/breadcrumb.cjs.js +1 -1
  13. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  14. package/breadcrumb/breadcrumb.esm.js +1 -1
  15. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  16. package/breadcrumb/breadcrumb.js +1 -1
  17. package/breadcrumb/breadcrumb.min.js +1 -1
  18. package/calendar/calendar.cjs.js +3 -3
  19. package/calendar/calendar.cjs.min.js +1 -1
  20. package/calendar/calendar.esm.js +3 -3
  21. package/calendar/calendar.esm.min.js +1 -1
  22. package/calendar/calendar.js +3 -3
  23. package/calendar/calendar.min.js +1 -1
  24. package/chart/chart.d.ts +1 -13
  25. package/chips/chips.cjs.js +1 -1
  26. package/chips/chips.cjs.min.js +1 -1
  27. package/chips/chips.esm.js +1 -1
  28. package/chips/chips.esm.min.js +1 -1
  29. package/chips/chips.js +1 -1
  30. package/chips/chips.min.js +1 -1
  31. package/column/column.d.ts +6 -0
  32. package/core/core.js +95 -31
  33. package/core/core.min.js +8 -8
  34. package/datatable/datatable.cjs.js +68 -46
  35. package/datatable/datatable.cjs.min.js +1 -1
  36. package/datatable/datatable.d.ts +22 -0
  37. package/datatable/datatable.esm.js +68 -46
  38. package/datatable/datatable.esm.min.js +1 -1
  39. package/datatable/datatable.js +68 -46
  40. package/datatable/datatable.min.js +1 -1
  41. package/dialog/dialog.cjs.js +5 -3
  42. package/dialog/dialog.cjs.min.js +1 -1
  43. package/dialog/dialog.esm.js +5 -3
  44. package/dialog/dialog.esm.min.js +1 -1
  45. package/dialog/dialog.js +5 -3
  46. package/dialog/dialog.min.js +1 -1
  47. package/dropdown/dropdown.cjs.js +4 -4
  48. package/dropdown/dropdown.cjs.min.js +1 -1
  49. package/dropdown/dropdown.esm.js +4 -4
  50. package/dropdown/dropdown.esm.min.js +1 -1
  51. package/dropdown/dropdown.js +4 -4
  52. package/dropdown/dropdown.min.js +1 -1
  53. package/galleria/galleria.cjs.js +7 -0
  54. package/galleria/galleria.cjs.min.js +1 -1
  55. package/galleria/galleria.esm.js +8 -1
  56. package/galleria/galleria.esm.min.js +1 -1
  57. package/galleria/galleria.js +7 -0
  58. package/galleria/galleria.min.js +1 -1
  59. package/inputnumber/inputnumber.cjs.js +14 -11
  60. package/inputnumber/inputnumber.cjs.min.js +1 -1
  61. package/inputnumber/inputnumber.esm.js +14 -11
  62. package/inputnumber/inputnumber.esm.min.js +1 -1
  63. package/inputnumber/inputnumber.js +14 -11
  64. package/inputnumber/inputnumber.min.js +1 -1
  65. package/inputotp/inputotp.cjs.js +29 -1
  66. package/inputotp/inputotp.cjs.min.js +1 -1
  67. package/inputotp/inputotp.esm.js +30 -2
  68. package/inputotp/inputotp.esm.min.js +1 -1
  69. package/inputotp/inputotp.js +29 -1
  70. package/inputotp/inputotp.min.js +1 -1
  71. package/keyfilter/keyfilter.cjs.js +1 -1
  72. package/keyfilter/keyfilter.cjs.min.js +1 -1
  73. package/keyfilter/keyfilter.esm.js +1 -1
  74. package/keyfilter/keyfilter.esm.min.js +1 -1
  75. package/keyfilter/keyfilter.js +1 -1
  76. package/keyfilter/keyfilter.min.js +1 -1
  77. package/menubar/menubar.d.ts +4 -0
  78. package/metergroup/metergroup.cjs.js +3 -2
  79. package/metergroup/metergroup.cjs.min.js +1 -1
  80. package/metergroup/metergroup.esm.js +3 -2
  81. package/metergroup/metergroup.esm.min.js +1 -1
  82. package/metergroup/metergroup.js +3 -2
  83. package/metergroup/metergroup.min.js +1 -1
  84. package/multiselect/multiselect.cjs.js +3 -3
  85. package/multiselect/multiselect.cjs.min.js +1 -1
  86. package/multiselect/multiselect.esm.js +3 -3
  87. package/multiselect/multiselect.esm.min.js +1 -1
  88. package/multiselect/multiselect.js +3 -3
  89. package/multiselect/multiselect.min.js +1 -1
  90. package/package.json +1 -1
  91. package/paginator/paginator.cjs.js +1 -1
  92. package/paginator/paginator.cjs.min.js +1 -1
  93. package/paginator/paginator.esm.js +1 -1
  94. package/paginator/paginator.esm.min.js +1 -1
  95. package/paginator/paginator.js +1 -1
  96. package/paginator/paginator.min.js +1 -1
  97. package/panelmenu/panelmenu.cjs.js +13 -12
  98. package/panelmenu/panelmenu.cjs.min.js +1 -1
  99. package/panelmenu/panelmenu.d.ts +4 -0
  100. package/panelmenu/panelmenu.esm.js +13 -12
  101. package/panelmenu/panelmenu.esm.min.js +1 -1
  102. package/panelmenu/panelmenu.js +13 -12
  103. package/panelmenu/panelmenu.min.js +1 -1
  104. package/password/password.cjs.js +8 -2
  105. package/password/password.cjs.min.js +1 -1
  106. package/password/password.d.ts +4 -0
  107. package/password/password.esm.js +8 -2
  108. package/password/password.esm.min.js +1 -1
  109. package/password/password.js +8 -2
  110. package/password/password.min.js +1 -1
  111. package/primereact.all.cjs.js +2885 -1924
  112. package/primereact.all.cjs.min.js +1 -1
  113. package/primereact.all.esm.js +2882 -1925
  114. package/primereact.all.esm.min.js +1 -1
  115. package/primereact.all.js +2885 -1924
  116. package/primereact.all.min.js +1 -1
  117. package/resources/themes/arya-blue/theme.css +62 -0
  118. package/resources/themes/arya-green/theme.css +62 -0
  119. package/resources/themes/arya-orange/theme.css +62 -0
  120. package/resources/themes/bootstrap4-dark-blue/theme.css +62 -0
  121. package/resources/themes/bootstrap4-dark-purple/theme.css +207 -43
  122. package/resources/themes/bootstrap4-light-blue/theme.css +62 -0
  123. package/resources/themes/bootstrap4-light-purple/theme.css +207 -43
  124. package/resources/themes/fluent-light/theme.css +62 -0
  125. package/resources/themes/lara-dark-amber/theme.css +62 -9
  126. package/resources/themes/lara-dark-blue/theme.css +62 -9
  127. package/resources/themes/lara-dark-cyan/theme.css +62 -9
  128. package/resources/themes/lara-dark-green/theme.css +62 -9
  129. package/resources/themes/lara-dark-indigo/theme.css +62 -9
  130. package/resources/themes/lara-dark-pink/theme.css +62 -9
  131. package/resources/themes/lara-dark-teal/theme.css +62 -9
  132. package/resources/themes/lara-light-amber/theme.css +62 -9
  133. package/resources/themes/lara-light-blue/theme.css +62 -9
  134. package/resources/themes/lara-light-cyan/theme.css +62 -9
  135. package/resources/themes/lara-light-green/theme.css +62 -9
  136. package/resources/themes/lara-light-indigo/theme.css +62 -9
  137. package/resources/themes/lara-light-pink/theme.css +62 -9
  138. package/resources/themes/lara-light-teal/theme.css +62 -9
  139. package/resources/themes/luna-amber/theme.css +62 -0
  140. package/resources/themes/luna-blue/theme.css +62 -0
  141. package/resources/themes/luna-green/theme.css +62 -0
  142. package/resources/themes/luna-pink/theme.css +62 -0
  143. package/resources/themes/md-dark-deeppurple/theme.css +225 -43
  144. package/resources/themes/md-dark-indigo/theme.css +213 -151
  145. package/resources/themes/md-light-deeppurple/theme.css +225 -43
  146. package/resources/themes/md-light-indigo/theme.css +62 -0
  147. package/resources/themes/mdc-dark-deeppurple/theme.css +225 -43
  148. package/resources/themes/mdc-dark-indigo/theme.css +213 -151
  149. package/resources/themes/mdc-light-deeppurple/theme.css +225 -43
  150. package/resources/themes/mdc-light-indigo/theme.css +62 -0
  151. package/resources/themes/mira/theme.css +62 -0
  152. package/resources/themes/nano/theme.css +62 -0
  153. package/resources/themes/nova/theme.css +62 -0
  154. package/resources/themes/nova-accent/theme.css +62 -0
  155. package/resources/themes/nova-alt/theme.css +62 -0
  156. package/resources/themes/rhea/theme.css +62 -0
  157. package/resources/themes/saga-blue/theme.css +62 -0
  158. package/resources/themes/saga-green/theme.css +62 -0
  159. package/resources/themes/saga-orange/theme.css +62 -0
  160. package/resources/themes/soho-dark/theme.css +87 -25
  161. package/resources/themes/soho-light/theme.css +62 -0
  162. package/resources/themes/tailwind-light/theme.css +62 -0
  163. package/resources/themes/vela-blue/theme.css +62 -0
  164. package/resources/themes/vela-green/theme.css +62 -0
  165. package/resources/themes/vela-orange/theme.css +62 -0
  166. package/resources/themes/viva-dark/theme.css +62 -0
  167. package/resources/themes/viva-light/theme.css +62 -0
  168. package/stepper/stepper.d.ts +1 -1
  169. package/tabview/tabview.cjs.js +0 -2
  170. package/tabview/tabview.cjs.min.js +1 -1
  171. package/tabview/tabview.esm.js +0 -2
  172. package/tabview/tabview.esm.min.js +1 -1
  173. package/tabview/tabview.js +0 -2
  174. package/tabview/tabview.min.js +1 -1
  175. package/tooltip/tooltip.cjs.js +2 -2
  176. package/tooltip/tooltip.cjs.min.js +1 -1
  177. package/tooltip/tooltip.esm.js +2 -2
  178. package/tooltip/tooltip.esm.min.js +1 -1
  179. package/tooltip/tooltip.js +2 -2
  180. package/tooltip/tooltip.min.js +1 -1
  181. package/tree/tree.cjs.js +45 -8
  182. package/tree/tree.cjs.min.js +1 -1
  183. package/tree/tree.esm.js +45 -8
  184. package/tree/tree.esm.min.js +1 -1
  185. package/tree/tree.js +45 -8
  186. package/tree/tree.min.js +1 -1
  187. package/treetable/treetable.cjs.js +240 -7
  188. package/treetable/treetable.cjs.min.js +1 -1
  189. package/treetable/treetable.d.ts +29 -0
  190. package/treetable/treetable.esm.js +240 -7
  191. package/treetable/treetable.esm.min.js +1 -1
  192. package/treetable/treetable.js +240 -7
  193. package/treetable/treetable.min.js +1 -1
  194. package/utils/utils.d.ts +7 -4
  195. package/virtualscroller/virtualscroller.cjs.js +23 -1
  196. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  197. package/virtualscroller/virtualscroller.esm.js +23 -1
  198. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  199. package/virtualscroller/virtualscroller.js +23 -1
  200. package/virtualscroller/virtualscroller.min.js +1 -1
  201. package/web-types.json +67 -29
@@ -1858,6 +1858,28 @@ export declare class DataTable<TValue extends DataTableValueArray> extends React
1858
1858
  * Saves the state.
1859
1859
  */
1860
1860
  public saveState(): void;
1861
+ /**
1862
+ * Retrieves the currently applied filters for the data table.
1863
+ * @returns {DataTableFilterMeta | undefined} The currently applied filters, if any, or undefined if no filters are set.
1864
+ */
1865
+ public getFilterMeta(): DataTableFilterMeta | undefined;
1866
+ /**
1867
+ * Sets the filters for the data table.
1868
+ * @param {DataTableFilterMeta} filters - The filters to be applied to the data table.
1869
+ * @returns {void}
1870
+ */
1871
+ public setFilterMeta(filters: DataTableFilterMeta): void;
1872
+ /**
1873
+ * Retrieves the currently applied multiple sort metadata for the data table.
1874
+ * @returns {DataTableSortMeta[] | undefined} The currently applied sorts, if any, or undefined if no sorts are set.
1875
+ */
1876
+ public getSortMeta(): DataTableSortMeta[] | undefined;
1877
+ /**
1878
+ * Sets the multiple sort metadata for the data table.
1879
+ * @param {DataTableSortMeta[]} sorts - The sorts to be applied to the data table.
1880
+ * @returns {void}
1881
+ */
1882
+ public setSortMeta(sorts: DataTableSortMeta[]): void;
1861
1883
  /**
1862
1884
  * Used to get container element.
1863
1885
  * @return {HTMLDivElement} Container element
@@ -168,6 +168,7 @@ var ColumnBase = ComponentBase.extend({
168
168
  body: null,
169
169
  bodyClassName: null,
170
170
  bodyStyle: null,
171
+ cellEditValidateOnClose: false,
171
172
  cellEditValidator: null,
172
173
  cellEditValidatorEvent: 'click',
173
174
  className: null,
@@ -1157,6 +1158,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1157
1158
  var selfClick = React.useRef(false);
1158
1159
  var tabindexTimeout = React.useRef(null);
1159
1160
  var initFocusTimeout = React.useRef(null);
1161
+ var editingRowDataStateRef = React.useRef(null);
1160
1162
  var _props$ptCallbacks = props.ptCallbacks,
1161
1163
  ptm = _props$ptCallbacks.ptm,
1162
1164
  ptmo = _props$ptCallbacks.ptmo,
@@ -1193,6 +1195,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1193
1195
  var isEditable = function isEditable() {
1194
1196
  return getColumnProp('editor');
1195
1197
  };
1198
+ var cellEditValidateOnClose = function cellEditValidateOnClose() {
1199
+ return getColumnProp('cellEditValidateOnClose');
1200
+ };
1196
1201
  var _useEventListener = useEventListener({
1197
1202
  type: 'click',
1198
1203
  listener: function listener(e) {
@@ -1275,40 +1280,37 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1275
1280
  unbindDocumentClickListener();
1276
1281
  OverlayService.off('overlay-click', overlayEventListener.current);
1277
1282
  overlayEventListener.current = null;
1283
+ editingRowDataStateRef.current = null;
1278
1284
  selfClick.current = false;
1279
1285
  }, 1);
1280
1286
  };
1281
1287
  var switchCellToViewMode = function switchCellToViewMode(event, submit) {
1282
1288
  var callbackParams = getCellCallbackParams(event);
1283
- setEditingRowDataState(function (prev) {
1284
- var newRowData = prev;
1285
- var newValue = resolveFieldData(newRowData);
1286
- var params = _objectSpread$a(_objectSpread$a({}, callbackParams), {}, {
1287
- newRowData: newRowData,
1288
- newValue: newValue
1289
- });
1290
- var onCellEditCancel = getColumnProp('onCellEditCancel');
1291
- var cellEditValidator = getColumnProp('cellEditValidator');
1292
- var onCellEditComplete = getColumnProp('onCellEditComplete');
1293
- if (!submit && onCellEditCancel) {
1294
- onCellEditCancel(params);
1295
- }
1296
- var valid = true;
1297
- if (!submit && cellEditValidator) {
1298
- valid = cellEditValidator(params);
1299
- }
1300
- if (valid) {
1301
- if (submit && onCellEditComplete) {
1302
- setTimeout(function () {
1303
- return onCellEditComplete(params);
1304
- });
1305
- }
1306
- closeCell(event);
1307
- } else {
1308
- event.preventDefault();
1309
- }
1310
- return newRowData;
1289
+ var newRowData = _objectSpread$a({}, editingRowDataStateRef.current);
1290
+ var newValue = resolveFieldData(newRowData);
1291
+ var params = _objectSpread$a(_objectSpread$a({}, callbackParams), {}, {
1292
+ newRowData: newRowData,
1293
+ newValue: newValue
1311
1294
  });
1295
+ var onCellEditCancel = getColumnProp('onCellEditCancel');
1296
+ var cellEditValidator = getColumnProp('cellEditValidator');
1297
+ var onCellEditComplete = getColumnProp('onCellEditComplete');
1298
+ if (!submit && onCellEditCancel) {
1299
+ onCellEditCancel(params);
1300
+ }
1301
+ var valid = true;
1302
+ if ((!submit || cellEditValidateOnClose()) && cellEditValidator) {
1303
+ valid = cellEditValidator(params);
1304
+ }
1305
+ if (valid) {
1306
+ if (submit && onCellEditComplete) {
1307
+ onCellEditComplete(params);
1308
+ }
1309
+ closeCell(event);
1310
+ } else {
1311
+ event.preventDefault();
1312
+ }
1313
+ setEditingRowDataState(newRowData);
1312
1314
  };
1313
1315
  var findNextSelectableCell = function findNextSelectableCell(cell) {
1314
1316
  var nextCell = cell.nextElementSibling;
@@ -1579,6 +1581,11 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1579
1581
  setEditingRowDataState(getEditingRowData());
1580
1582
  }
1581
1583
  }, [props.editingMeta]);
1584
+ React.useEffect(function () {
1585
+ if (editingRowDataState) {
1586
+ editingRowDataStateRef.current = editingRowDataState;
1587
+ }
1588
+ }, [editingRowDataState]);
1582
1589
  React.useEffect(function () {
1583
1590
  if (props.editMode === 'cell' || props.editMode === 'row') {
1584
1591
  var callbackParams = getCellCallbackParams();
@@ -1689,10 +1696,11 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1689
1696
  rowIndex: props.rowIndex,
1690
1697
  props: props.tableProps
1691
1698
  }) : true;
1699
+ var customIcon = getColumnProp('rowReorderIcon');
1692
1700
  var rowReorderIconProps = mergeProps({
1693
1701
  className: cx('rowReorderIcon')
1694
- }, getColumnPTOptions('rowReorderIcon'));
1695
- var rowReorderIcon = getColumnProp('rowReorderIcon') || /*#__PURE__*/React.createElement(BarsIcon, rowReorderIconProps);
1702
+ }, customIcon ? null : getColumnPTOptions('rowReorderIcon'));
1703
+ var rowReorderIcon = customIcon || /*#__PURE__*/React.createElement(BarsIcon, rowReorderIconProps);
1696
1704
  content = showReorder ? IconUtils.getJSXIcon(rowReorderIcon, _objectSpread$a({}, rowReorderIconProps), {
1697
1705
  props: props
1698
1706
  }) : null;
@@ -2136,7 +2144,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
2136
2144
  focusedItem && focusedItem !== firstSelectedRow && (focusedItem.tabIndex = '-1');
2137
2145
  } else {
2138
2146
  rows[0].tabIndex = '0';
2139
- focusedItem !== rows[0] && (rows[rowIndex].tabIndex = '-1');
2147
+ focusedItem !== rows[0] && (rows[props.rowIndex].tabIndex = '-1');
2140
2148
  }
2141
2149
  }
2142
2150
  };
@@ -3036,6 +3044,7 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
3036
3044
  var event = e.originalEvent;
3037
3045
  if (!isUnsyled && DomHandler.hasClass(event.target, 'p-datatable-reorderablerow-handle')) {
3038
3046
  event.currentTarget.draggable = true;
3047
+ event.target.draggable = false;
3039
3048
  } else {
3040
3049
  event.currentTarget.draggable = false;
3041
3050
  }
@@ -5617,6 +5626,19 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
5617
5626
  });
5618
5627
  TableHeader.displayName = 'TableHeader';
5619
5628
 
5629
+ var getStorage = function getStorage(stateStorageProp) {
5630
+ switch (stateStorageProp) {
5631
+ case 'local':
5632
+ return window.localStorage;
5633
+ case 'session':
5634
+ return window.sessionStorage;
5635
+ case 'custom':
5636
+ return null;
5637
+ default:
5638
+ throw new Error(stateStorageProp + ' is not a valid value for the state storage, supported values are "local", "session" and "custom".');
5639
+ }
5640
+ };
5641
+
5620
5642
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
5621
5643
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5622
5644
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
@@ -5801,18 +5823,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5801
5823
  }
5802
5824
  return columns;
5803
5825
  };
5804
- var getStorage = function getStorage() {
5805
- switch (props.stateStorage) {
5806
- case 'local':
5807
- return window.localStorage;
5808
- case 'session':
5809
- return window.sessionStorage;
5810
- case 'custom':
5811
- return null;
5812
- default:
5813
- throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are "local", "session" and "custom".');
5814
- }
5815
- };
5816
5826
  var saveState = function saveState() {
5817
5827
  var state = {};
5818
5828
  if (props.paginator) {
@@ -5848,7 +5858,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5848
5858
  props.customSaveState(state);
5849
5859
  }
5850
5860
  } else {
5851
- var storage = getStorage();
5861
+ var storage = getStorage(props.stateStorage);
5852
5862
  if (ObjectUtils.isNotEmpty(state)) {
5853
5863
  storage.setItem(props.stateKey, JSON.stringify(state));
5854
5864
  }
@@ -5858,7 +5868,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5858
5868
  }
5859
5869
  };
5860
5870
  var clearState = function clearState() {
5861
- var storage = getStorage();
5871
+ var storage = getStorage(props.stateStorage);
5862
5872
  if (storage && props.stateKey) {
5863
5873
  storage.removeItem(props.stateKey);
5864
5874
  }
@@ -5870,7 +5880,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5870
5880
  restoredState = props.customRestoreState();
5871
5881
  }
5872
5882
  } else {
5873
- var storage = getStorage();
5883
+ var storage = getStorage(props.stateStorage);
5874
5884
  var stateString = storage.getItem(props.stateKey);
5875
5885
  var dateFormat = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;
5876
5886
  var reviver = function reviver(key, value) {
@@ -6979,6 +6989,18 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
6979
6989
  restoreState: restoreState,
6980
6990
  restoreTableState: restoreTableState,
6981
6991
  saveState: saveState,
6992
+ getFilterMeta: function getFilterMeta() {
6993
+ return filtersState;
6994
+ },
6995
+ setFilterMeta: function setFilterMeta(filters) {
6996
+ return setFiltersState(filters);
6997
+ },
6998
+ getSortMeta: function getSortMeta() {
6999
+ return multiSortMetaState;
7000
+ },
7001
+ setSortMeta: function setSortMeta(sorts) {
7002
+ return setMultiSortMetaState(sorts);
7003
+ },
6982
7004
  getElement: function getElement() {
6983
7005
  return elementRef.current;
6984
7006
  },