@xcelsior/ui-spreadsheets 1.1.15 → 1.1.17

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/dist/index.mjs CHANGED
@@ -1322,7 +1322,8 @@ var SpreadsheetToolbar = ({
1322
1322
  activeFilterCount,
1323
1323
  " filter",
1324
1324
  activeFilterCount !== 1 ? "s" : "",
1325
- " active"
1325
+ " ",
1326
+ "active"
1326
1327
  ] }),
1327
1328
  showFiltersPanel ? /* @__PURE__ */ jsx4(HiChevronUp, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx4(HiChevronDown, { className: "h-3 w-3" })
1328
1329
  ]
@@ -1386,7 +1387,7 @@ var SpreadsheetToolbar = ({
1386
1387
  ]
1387
1388
  }
1388
1389
  ),
1389
- showMoreMenu && /* @__PURE__ */ jsxs4("div", { className: "absolute right-0 top-full mt-1 bg-white border border-gray-200 shadow-lg rounded py-1 min-w-[180px] z-20", children: [
1390
+ showMoreMenu && /* @__PURE__ */ jsxs4("div", { className: "absolute right-0 top-full mt-1 bg-white border border-gray-200 shadow-lg rounded py-1 min-w-[180px] z-50", children: [
1390
1391
  onSettings && /* @__PURE__ */ jsxs4(
1391
1392
  "button",
1392
1393
  {
@@ -3624,6 +3625,7 @@ function Spreadsheet({
3624
3625
  onSelectionChange,
3625
3626
  onSortChange,
3626
3627
  onFilterChange,
3628
+ afterFiltered,
3627
3629
  onRowClick,
3628
3630
  onRowDoubleClick,
3629
3631
  onAddCellComment,
@@ -3792,6 +3794,23 @@ function Spreadsheet({
3792
3794
  },
3793
3795
  [controlledPageSize, controlledCurrentPage, onPageChange]
3794
3796
  );
3797
+ const resetPaginationToFirstPage = useCallback7(() => {
3798
+ if (controlledCurrentPage === void 0) {
3799
+ setInternalCurrentPage(1);
3800
+ }
3801
+ onPageChange?.(1, pageSize);
3802
+ }, [controlledCurrentPage, onPageChange, pageSize]);
3803
+ const handleFilterChangeWithReset = useCallback7(
3804
+ (columnId, filter) => {
3805
+ handleFilterChange(columnId, filter);
3806
+ resetPaginationToFirstPage();
3807
+ },
3808
+ [handleFilterChange, resetPaginationToFirstPage]
3809
+ );
3810
+ const clearAllFiltersWithReset = useCallback7(() => {
3811
+ clearAllFilters();
3812
+ resetPaginationToFirstPage();
3813
+ }, [clearAllFilters, resetPaginationToFirstPage]);
3795
3814
  useEffect6(() => {
3796
3815
  setSpreadsheetSettings((prev) => ({
3797
3816
  ...prev,
@@ -3986,6 +4005,11 @@ function Spreadsheet({
3986
4005
  setInternalCurrentPage(1);
3987
4006
  }
3988
4007
  }, [totalPages, currentPage, serverSide]);
4008
+ const afterFilteredRef = useRef5(afterFiltered);
4009
+ afterFilteredRef.current = afterFiltered;
4010
+ useEffect6(() => {
4011
+ afterFilteredRef.current?.(filteredData.toArray());
4012
+ }, [filteredData]);
3989
4013
  const handleRowSelect = useCallback7(
3990
4014
  (rowId, event) => {
3991
4015
  if (!enableRowSelection) return;
@@ -4204,10 +4228,10 @@ function Spreadsheet({
4204
4228
  saveStatus,
4205
4229
  autoSave: spreadsheetSettings.autoSave,
4206
4230
  hasActiveFilters,
4207
- onClearFilters: clearAllFilters,
4231
+ onClearFilters: clearAllFiltersWithReset,
4208
4232
  filters,
4209
4233
  columns,
4210
- onClearFilter: (columnId) => handleFilterChange(columnId, void 0),
4234
+ onClearFilter: (columnId) => handleFilterChangeWithReset(columnId, void 0),
4211
4235
  showFiltersPanel,
4212
4236
  onToggleFiltersPanel: () => setShowFiltersPanel(!showFiltersPanel),
4213
4237
  onZoomIn: () => setZoom((z) => Math.min(z + 10, 200)),
@@ -4349,7 +4373,10 @@ function Spreadsheet({
4349
4373
  {
4350
4374
  column,
4351
4375
  filter: filters[column.id],
4352
- onFilterChange: (filter) => handleFilterChange(column.id, filter),
4376
+ onFilterChange: (filter) => handleFilterChangeWithReset(
4377
+ column.id,
4378
+ filter
4379
+ ),
4353
4380
  onClose: () => setActiveFilterColumn(null)
4354
4381
  }
4355
4382
  )