@paubox/ui 0.23.0 → 1.1.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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@paubox/ui",
3
3
  "author": "Paubox, Inc.",
4
4
  "description": "Paubox Component Library",
5
- "version": "0.23.0",
5
+ "version": "1.1.0",
6
6
  "type": "module",
7
7
  "private": false,
8
8
  "publishConfig": {
@@ -1,16 +1,33 @@
1
- export interface PageInfo {
1
+ export interface PageInfoPageBased {
2
+ currentPage: number;
3
+ pageSize: number;
2
4
  pageCount: number;
3
5
  itemCount: number;
4
- currentPage: number;
5
- items: number;
6
6
  }
7
- interface PaginationProps {
8
- pageInfo: PageInfo;
7
+ export interface PageInfoCursorBased {
8
+ pageSize: number;
9
+ itemCount: number;
10
+ currentCursor: string[];
11
+ hasNextPage: boolean;
12
+ hasPrevPage: boolean;
13
+ pageIndex: number;
14
+ }
15
+ interface BasePaginationProps {
9
16
  isLoading: boolean;
10
17
  subText?: string;
11
18
  onPageSizeChange: (size: number) => void;
12
- onPageChange: (page: number) => void;
13
19
  testId?: string;
14
20
  }
15
- export declare const Pagination: ({ pageInfo, isLoading, onPageSizeChange, subText, onPageChange, testId, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
21
+ interface PagePaginationProps extends BasePaginationProps {
22
+ mode: 'page';
23
+ pageInfo: PageInfoPageBased;
24
+ onPageChange: (page: number) => void;
25
+ }
26
+ interface CursorPaginationProps extends BasePaginationProps {
27
+ mode: 'cursor';
28
+ pageInfo: PageInfoCursorBased;
29
+ onPageChange: (page: 'next' | 'prev') => void;
30
+ }
31
+ export type PaginationProps = PagePaginationProps | CursorPaginationProps;
32
+ export declare const Pagination: ({ mode, pageInfo, isLoading, onPageSizeChange, subText, onPageChange, testId, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
16
33
  export {};
@@ -1,6 +1,6 @@
1
1
  import { HTMLProps } from 'react';
2
2
  import { ColumnDef, OnChangeFn, Row } from '@tanstack/react-table';
3
- import { PageInfo } from '../Pagination/Pagination';
3
+ import { PageInfoPageBased, PageInfoCursorBased } from '../Pagination/Pagination';
4
4
  export declare const TableContainer: import("@emotion/styled").StyledComponent<Omit<HTMLProps<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
5
5
  theme?: import("@emotion/react").Theme;
6
6
  }, {}, {}>;
@@ -19,7 +19,6 @@ export type TableColumn<T> = ColumnDef<T> & {
19
19
  sortable?: boolean;
20
20
  getter?: () => unknown;
21
21
  autoWidth?: boolean;
22
- tooltip?: boolean;
23
22
  };
24
23
  export interface RowSelectState {
25
24
  [x: string]: boolean;
@@ -43,10 +42,11 @@ interface TableRowProps<T> {
43
42
  contextMenuActions?: RowAction<T>[];
44
43
  }
45
44
  interface PaginationProps {
46
- pageInfo?: PageInfo;
45
+ paginationMode?: 'page' | 'cursor';
46
+ pageInfo?: PageInfoPageBased | PageInfoCursorBased;
47
47
  subText?: string;
48
48
  onPageSizeChange?: (size: number) => void;
49
- onPageChange?: (page: number) => void;
49
+ onPageChange?: (page: any) => void;
50
50
  }
51
51
  interface TableDataProps<T> {
52
52
  columns: TableColumn<T>[];
@@ -61,5 +61,5 @@ interface TableDataProps<T> {
61
61
  }
62
62
  export interface TableProps<T extends object> extends TableStyleProps, TableRowProps<T>, TableDataProps<T>, PaginationProps {
63
63
  }
64
- export declare const Table: <T extends object>({ columns, data, getRowId, isLoading, pageInfo, subText, onPageSizeChange, onPageChange, sortBy, sortOrder, onSortChange, enableRowSelection, selectedRows, onRowSelectionChange, getRowDisabled, onRowClick, contextMenuActions, dense, height, error, testId, }: TableProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
64
+ export declare const Table: <T extends object>({ columns, data, getRowId, isLoading, paginationMode, pageInfo, subText, onPageSizeChange, onPageChange, sortBy, sortOrder, onSortChange, enableRowSelection, selectedRows, onRowSelectionChange, getRowDisabled, onRowClick, contextMenuActions, dense, height, error, testId, }: TableProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
65
65
  export {};