@bluemarble/bm-components 1.13.3 → 1.14.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/dist/index.d.mts CHANGED
@@ -240,18 +240,20 @@ interface UseGridProps$1<T> {
240
240
  }
241
241
  declare function useGrid<T extends Record<string, any>>({ columns, filters, search, rowsPerPageOptions, defaultData: externalDefaultData, defaultCurrentPage, defaultSortedBy }: UseGridProps$1<T>): {
242
242
  data: T[];
243
- set: (data: T[]) => void;
244
- onSortBy: (prop: string) => void;
245
243
  sortedBy: SortedByProps$1[];
246
244
  defaultData: T[];
247
245
  columns: ColumnsProps<_mui_material.Theme>[];
248
246
  currentPage: number;
249
247
  totalNumberOfPages: number;
250
- onPageChange: (pageNumber: number) => void;
251
- setRowsPerPage: (rows: number) => void;
252
248
  rowsPerPageOptions: number[];
253
249
  rowsPerPage: number;
250
+ set: (data: T[]) => void;
251
+ onSortBy: (prop: string) => void;
252
+ onPageChange: (pageNumber: number) => void;
253
+ setRowsPerPage: (rows: number) => void;
254
+ appendSort: (prop: string, direction: 'desc' | 'asc') => void;
254
255
  setSort: (prop: string, direction: 'desc' | 'asc') => void;
256
+ clearSort: () => void;
255
257
  };
256
258
 
257
259
  interface ColumnsProps<T extends object = Theme> {
package/dist/index.d.ts CHANGED
@@ -240,18 +240,20 @@ interface UseGridProps$1<T> {
240
240
  }
241
241
  declare function useGrid<T extends Record<string, any>>({ columns, filters, search, rowsPerPageOptions, defaultData: externalDefaultData, defaultCurrentPage, defaultSortedBy }: UseGridProps$1<T>): {
242
242
  data: T[];
243
- set: (data: T[]) => void;
244
- onSortBy: (prop: string) => void;
245
243
  sortedBy: SortedByProps$1[];
246
244
  defaultData: T[];
247
245
  columns: ColumnsProps<_mui_material.Theme>[];
248
246
  currentPage: number;
249
247
  totalNumberOfPages: number;
250
- onPageChange: (pageNumber: number) => void;
251
- setRowsPerPage: (rows: number) => void;
252
248
  rowsPerPageOptions: number[];
253
249
  rowsPerPage: number;
250
+ set: (data: T[]) => void;
251
+ onSortBy: (prop: string) => void;
252
+ onPageChange: (pageNumber: number) => void;
253
+ setRowsPerPage: (rows: number) => void;
254
+ appendSort: (prop: string, direction: 'desc' | 'asc') => void;
254
255
  setSort: (prop: string, direction: 'desc' | 'asc') => void;
256
+ clearSort: () => void;
255
257
  };
256
258
 
257
259
  interface ColumnsProps<T extends object = Theme> {
package/dist/index.js CHANGED
@@ -4695,9 +4695,10 @@ function getObjectValue(obj) {
4695
4695
 
4696
4696
  // src/hooks/useFilter.ts
4697
4697
  function useFilter(props = { defaultFilters: [] }) {
4698
- const [selectedFilters, setSelectedFilters] = _react.useState.call(void 0,
4699
- (props == null ? void 0 : props.defaultFilters) || []
4700
- );
4698
+ const [selectedFilters, setSelectedFilters] = _react.useState.call(void 0, () => {
4699
+ const { defaultFilters } = props;
4700
+ return defaultFilters || [];
4701
+ });
4701
4702
  const filterBy = _react.useCallback.call(void 0, (newFilter) => {
4702
4703
  const propToCompare = (newFilter == null ? void 0 : newFilter.id) ? "id" : "prop";
4703
4704
  function removeRepeatedFilters(filter) {
@@ -4799,9 +4800,15 @@ function useGrid({
4799
4800
  },
4800
4801
  []
4801
4802
  );
4802
- const setSort = _react.useCallback.call(void 0, (prop, direction) => {
4803
+ const clearSort = _react.useCallback.call(void 0, () => {
4804
+ setSortedBy([]);
4805
+ }, []);
4806
+ const appendSort = _react.useCallback.call(void 0, (prop, direction) => {
4803
4807
  setSortedBy((prev) => [...prev, { prop, direction }]);
4804
4808
  }, []);
4809
+ const setSort = _react.useCallback.call(void 0, (prop, direction) => {
4810
+ setSortedBy([{ prop, direction }]);
4811
+ }, []);
4805
4812
  const onSortBy = _react.useCallback.call(void 0,
4806
4813
  (prop) => {
4807
4814
  if (!prop)
@@ -4889,18 +4896,20 @@ function useGrid({
4889
4896
  }, [externalDefaultData]);
4890
4897
  return {
4891
4898
  data: displayData,
4892
- set,
4893
- onSortBy,
4894
4899
  sortedBy,
4895
4900
  defaultData,
4896
4901
  columns,
4897
4902
  currentPage,
4898
4903
  totalNumberOfPages: totalNumberOfPages < 0 ? 0 : totalNumberOfPages,
4899
- onPageChange,
4900
- setRowsPerPage: onChangeRowsPerPage,
4901
4904
  rowsPerPageOptions,
4902
4905
  rowsPerPage,
4903
- setSort
4906
+ set,
4907
+ onSortBy,
4908
+ onPageChange,
4909
+ setRowsPerPage: onChangeRowsPerPage,
4910
+ appendSort,
4911
+ setSort,
4912
+ clearSort
4904
4913
  };
4905
4914
  }
4906
4915
  function searchKeysForValue(row, compare) {