-import Popover from '../popover/popover';
-import { formatFileSize, formatDate } from '../../common/formatters';
-import { DataItem } from './data-item';
-
-interface DataExplorerProps {
- items: DataItem[];
- onItemClick: (item: DataItem) => void;
+import ColumnSelector from "../../components/column-selector/column-selector";
+import DataTable, { DataColumns, DataItem } from "../../components/data-table/data-table";
+import { DataColumn } from "../../components/data-table/data-column";
+import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters';
+import SearchInput from '../search-input/search-input';
+
+interface DataExplorerProps<T> {
+ items: T[];
+ itemsAvailable: number;
+ columns: DataColumns<T>;
+ searchValue: string;
+ rowsPerPage: number;
+ rowsPerPageOptions?: number[];
+ page: number;
+ onSearch: (value: string) => void;
+ onRowClick: (item: T) => void;
+ onColumnToggle: (column: DataColumn<T>) => void;
+ onContextMenu: (event: React.MouseEvent<HTMLElement>, item: T) => void;
+ onSortToggle: (column: DataColumn<T>) => void;
+ onFiltersChange: (filters: DataTableFilterItem[], column: DataColumn<T>) => void;
+ onChangePage: (page: number) => void;
+ onChangeRowsPerPage: (rowsPerPage: number) => void;