@bsol-oss/react-datatable5 1.0.60 → 1.0.62

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 (51) hide show
  1. package/dist/index.d.ts +39 -6
  2. package/dist/index.js +319 -195
  3. package/dist/index.mjs +320 -200
  4. package/dist/types/components/Controls/DensityFeature.d.ts +23 -0
  5. package/dist/types/components/Controls/DensityToggleButton.d.ts +6 -0
  6. package/dist/types/components/Controls/EditFilterButton.d.ts +9 -0
  7. package/dist/types/components/Controls/EditOrderButton.d.ts +7 -0
  8. package/dist/types/components/Controls/EditSortingButton.d.ts +7 -0
  9. package/dist/types/components/Controls/EditViewButton.d.ts +7 -0
  10. package/dist/types/components/Controls/PageSizeControl.d.ts +4 -0
  11. package/dist/types/components/Controls/ResetFilteringButton.d.ts +4 -0
  12. package/dist/types/components/Controls/ResetSelectionButton.d.ts +4 -0
  13. package/dist/types/components/Controls/ResetSortingButton.d.ts +4 -0
  14. package/dist/types/components/Controls/RowCountText.d.ts +1 -0
  15. package/dist/types/components/Controls/SelectAllRowsToggle.d.ts +8 -0
  16. package/dist/types/components/DataTable/DataTable.d.ts +33 -0
  17. package/dist/types/components/DataTable/DataTableContext.d.ts +10 -0
  18. package/dist/types/components/DataTable/DataTableServer.d.ts +38 -0
  19. package/dist/types/components/DataTable/DefaultTable.d.ts +5 -0
  20. package/dist/types/components/DataTable/Table.d.ts +8 -0
  21. package/dist/types/components/DataTable/TableBody.d.ts +17 -0
  22. package/dist/types/components/DataTable/TableCardContainer.d.ts +6 -0
  23. package/dist/types/components/DataTable/TableCards.d.ts +4 -0
  24. package/dist/types/components/DataTable/TableComponent.d.ts +6 -0
  25. package/dist/types/components/DataTable/TableControls.d.ts +13 -0
  26. package/dist/types/components/DataTable/TableFilter.d.ts +19 -0
  27. package/dist/types/components/DataTable/TableFilterTags.d.ts +1 -0
  28. package/dist/types/components/DataTable/TableFooter.d.ts +7 -0
  29. package/dist/types/components/DataTable/TableHeader.d.ts +8 -0
  30. package/dist/types/components/DataTable/TableLoadingComponent.d.ts +5 -0
  31. package/dist/types/components/DataTable/TableOrderer.d.ts +1 -0
  32. package/dist/types/components/DataTable/TablePagination.d.ts +3 -0
  33. package/dist/types/components/DataTable/TableReloadButton.d.ts +4 -0
  34. package/dist/types/components/DataTable/TableSelector.d.ts +1 -0
  35. package/dist/types/components/DataTable/TableSorter.d.ts +1 -0
  36. package/dist/types/components/DataTable/TableViewer.d.ts +1 -0
  37. package/dist/types/components/DataTable/TextCell.d.ts +10 -0
  38. package/dist/types/components/DataTable/useDataFromUrl.d.ts +14 -0
  39. package/dist/types/components/DataTable/useDataTable.d.ts +7 -0
  40. package/dist/types/components/DefaultTable.d.ts +3 -7
  41. package/dist/types/components/Filter/DateRangeFilter.d.ts +9 -0
  42. package/dist/types/components/Filter/FilterOptions.d.ts +4 -0
  43. package/dist/types/components/Filter/GlobalFilter.d.ts +3 -0
  44. package/dist/types/components/Filter/RangeFilter.d.ts +11 -0
  45. package/dist/types/components/Filter/TagFilter.d.ts +8 -0
  46. package/dist/types/components/FilterOptions.d.ts +4 -0
  47. package/dist/types/components/TableControls.d.ts +13 -0
  48. package/dist/types/components/TableLoadingComponent.d.ts +5 -0
  49. package/dist/types/components/TableReloadButton.d.ts +4 -0
  50. package/dist/types/index.d.ts +35 -31
  51. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnFiltersState, SortingState, VisibilityState, Row, Table as Table$1 } from '@tanstack/react-table';
3
+ import { RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnFiltersState, SortingState, VisibilityState, Row, Table as Table$1, Column } from '@tanstack/react-table';
4
4
  import { RankingInfo } from '@tanstack/match-sorter-utils';
5
5
  import React$1, { ReactNode } from 'react';
6
6
  import * as react_icons_lib from 'react-icons/lib';
@@ -95,15 +95,23 @@ declare module "@tanstack/react-table" {
95
95
  }
96
96
  declare const DataTableServer: <TData>({ columns, url, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, onRowSelect, columnOrder: defaultColumnOrder, columnFilters: defaultColumnFilter, density, globalFilter: defaultGlobalFilter, pagination: defaultPagination, sorting: defaultSorting, rowSelection: defaultRowSelection, columnVisibility: defaultColumnVisibility, children, }: DataTableServerProps<TData>) => react_jsx_runtime.JSX.Element;
97
97
 
98
- interface DefaultTableProps {
98
+ interface TableControlsProps {
99
99
  totalText?: string;
100
100
  showFilter?: boolean;
101
- showFooter?: boolean;
102
101
  fitTableWidth?: boolean;
103
102
  fitTableHeight?: boolean;
104
103
  isMobile?: boolean;
104
+ children?: JSX.Element;
105
+ showFilterName?: boolean;
106
+ showFilterTags?: boolean;
107
+ filterOptions?: string[];
108
+ }
109
+ declare const TableControls: ({ totalText, showFilter, fitTableWidth, fitTableHeight, isMobile, children, showFilterName, showFilterTags, filterOptions, }: TableControlsProps) => react_jsx_runtime.JSX.Element;
110
+
111
+ interface DefaultTableProps extends TableControlsProps {
112
+ showFooter?: boolean;
105
113
  }
106
- declare const DefaultTable: ({ totalText, showFilter, showFooter, fitTableWidth, fitTableHeight, isMobile, }: DefaultTableProps) => react_jsx_runtime.JSX.Element;
114
+ declare const DefaultTable: ({ totalText, showFilter, showFooter, fitTableWidth, fitTableHeight, isMobile, filterOptions, showFilterTags, showFilterName, }: DefaultTableProps) => react_jsx_runtime.JSX.Element;
107
115
 
108
116
  interface DensityToggleButtonProps {
109
117
  icon?: React$1.ReactElement;
@@ -141,6 +149,11 @@ interface EditViewButtonProps {
141
149
  }
142
150
  declare const EditViewButton: ({ text, icon, title, }: EditViewButtonProps) => react_jsx_runtime.JSX.Element;
143
151
 
152
+ interface FilterOptionsProps {
153
+ column: string;
154
+ }
155
+ declare const FilterOptions: ({ column }: FilterOptionsProps) => react_jsx_runtime.JSX.Element;
156
+
144
157
  declare const GlobalFilter: ({ icon }: {
145
158
  icon?: react_icons_lib.IconType | undefined;
146
159
  }) => react_jsx_runtime.JSX.Element;
@@ -208,8 +221,18 @@ declare const TableComponent: <TData>({ render, }: TableRendererProps<TData>) =>
208
221
 
209
222
  declare module "@tanstack/react-table" {
210
223
  interface ColumnMeta<TData extends RowData, TValue> {
211
- filterVariant?: "text" | "range" | "select";
224
+ /**
225
+ * @note you should provide a proper `filterfn` to handle the filtering when choosing `boolean`, `dateRange` and `custom`
226
+ */
227
+ filterVariant?: "text" | "range" | "select" | "tag" | "boolean" | "dateRange" | "custom";
212
228
  filterOptions?: string[];
229
+ filterRangeConfig?: {
230
+ min: number;
231
+ max: number;
232
+ step: number;
233
+ defaultValue: [number, number];
234
+ };
235
+ renderFilter?: (column: Column<TData>) => JSX.Element;
213
236
  }
214
237
  }
215
238
  declare const TableFilter: () => react_jsx_runtime.JSX.Element;
@@ -233,12 +256,22 @@ interface TableHeaderProps {
233
256
  }
234
257
  declare const TableHeader: ({ canResize, pinnedBgColor, }: TableHeaderProps) => react_jsx_runtime.JSX.Element;
235
258
 
259
+ interface TableLoadingComponentProps {
260
+ render: (loading: boolean) => JSX.Element;
261
+ }
262
+ declare const TableLoadingComponent: ({ render, }: TableLoadingComponentProps) => react_jsx_runtime.JSX.Element;
263
+
236
264
  declare const TableOrderer: () => react_jsx_runtime.JSX.Element;
237
265
 
238
266
  interface PaginationProps {
239
267
  }
240
268
  declare const TablePagination: ({}: PaginationProps) => react_jsx_runtime.JSX.Element;
241
269
 
270
+ interface ReloadButtonProps {
271
+ text?: string;
272
+ }
273
+ declare const ReloadButton: ({ text }: ReloadButtonProps) => react_jsx_runtime.JSX.Element;
274
+
242
275
  declare const TableSelector: () => react_jsx_runtime.JSX.Element;
243
276
 
244
277
  declare const TableSorter: () => react_jsx_runtime.JSX.Element;
@@ -277,4 +310,4 @@ declare const useDataTable: () => {
277
310
  loading: boolean;
278
311
  };
279
312
 
280
- export { type DataResponse, DataTable, type DataTableProps, DataTableServer, type DataTableServerProps, DefaultTable, type DefaultTableProps, DensityToggleButton, type DensityToggleButtonProps, EditFilterButton, type EditFilterButtonProps, EditOrderButton, type EditOrderButtonProps, EditSortingButton, type EditSortingButtonProps, EditViewButton, type EditViewButtonProps, GlobalFilter, PageSizeControl, type PageSizeControlProps, type PaginationProps, ResetFilteringButton, type ResetFilteringButtonProps, ResetSelectionButton, type ResetSelectionButtonProps, ResetSortingButton, type ResetSortingButtonProps, type Result, RowCountText, Table, TableBody, type TableBodyProps, TableCardContainer, type TableCardContainerProps, TableCards, type TableCardsProps, TableComponent, TableFilter, TableFilterTags, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, TableOrderer, TablePagination, type TableProps, type TableRendererProps, type TableRowSelectorProps, TableSelector, TableSorter, TableViewer, TextCell, type TextCellProps, useDataFromUrl, type useDataFromUrlProps, type useDataFromUrlReturn, useDataTable };
313
+ export { type DataResponse, DataTable, type DataTableProps, DataTableServer, type DataTableServerProps, DefaultTable, type DefaultTableProps, DensityToggleButton, type DensityToggleButtonProps, EditFilterButton, type EditFilterButtonProps, EditOrderButton, type EditOrderButtonProps, EditSortingButton, type EditSortingButtonProps, EditViewButton, type EditViewButtonProps, FilterOptions, type FilterOptionsProps, GlobalFilter, PageSizeControl, type PageSizeControlProps, type PaginationProps, ReloadButton, type ReloadButtonProps, ResetFilteringButton, type ResetFilteringButtonProps, ResetSelectionButton, type ResetSelectionButtonProps, ResetSortingButton, type ResetSortingButtonProps, type Result, RowCountText, Table, TableBody, type TableBodyProps, TableCardContainer, type TableCardContainerProps, TableCards, type TableCardsProps, TableComponent, TableControls, type TableControlsProps, TableFilter, TableFilterTags, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, TableLoadingComponent, type TableLoadingComponentProps, TableOrderer, TablePagination, type TableProps, type TableRendererProps, type TableRowSelectorProps, TableSelector, TableSorter, TableViewer, TextCell, type TextCellProps, useDataFromUrl, type useDataFromUrlProps, type useDataFromUrlReturn, useDataTable };