fluent-styles 1.60.0 → 1.62.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/README.md +542 -21
- package/lib/commonjs/index.js +24 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/table/index.js +650 -0
- package/lib/commonjs/table/index.js.map +1 -0
- package/lib/commonjs/table/usepaginatedquery.js +181 -0
- package/lib/commonjs/table/usepaginatedquery.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/table/index.js +644 -0
- package/lib/module/table/index.js.map +1 -0
- package/lib/module/table/usepaginatedquery.js +178 -0
- package/lib/module/table/usepaginatedquery.js.map +1 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/table/index.d.ts +107 -0
- package/lib/typescript/table/index.d.ts.map +1 -0
- package/lib/typescript/table/usepaginatedquery.d.ts +114 -0
- package/lib/typescript/table/usepaginatedquery.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/table/index.tsx +843 -0
- package/src/table/usepaginatedquery.tsx +275 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useCallback","ScrollView","FlatList","useWindowDimensions","Stack","StyledText","StyledCheckBox","StyledPressable","theme","palettes","jsx","_jsx","jsxs","_jsxs","DEFAULT_COLORS","background","white","headerBg","colors","gray","headerText","rowBg","rowAltBg","rowHoverBg","selectedBg","indigo","selectedBorder","border","divider","text","subText","sortActive","sortInactive","checkboxChecked","emptyText","SortIcon","direction","active","color","inactiveColor","gap","marginLeft","children","fontSize","lineHeight","Cell","width","align","isFirst","flex","undefined","alignItems","paddingHorizontal","paddingVertical","justifyContent","CardList","columns","data","selectable","selectedIds","onSelectionChange","cardRender","emptyNode","pagination","pageSize","onRowPress","colorOverrides","borderRadius","c","br","internalSelected","setInternalSelected","selectedIds_","toggle","id","next","includes","filter","s","page","setPage","ps","totalPages","Math","ceil","length","visible","slice","map","row","idx","isSelected","Fragment","primary","rest","onPress","disabled","borderWidth","borderColor","backgroundColor","borderLeftWidth","borderLeftColor","overflow","style","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","horizontal","borderBottomWidth","borderBottomColor","render","key","fontWeight","numberOfLines","checked","onCheck","size","checkedColor","col","title","min","p","max","opacity","StyledTable","controlledSelectedIds","sortKey","controlledSortKey","sortDirection","controlledSortDir","onSort","striped","showDivider","scrollable","bordered","virtualized","cardBreakpoint","forceTable","forceCards","externalPagination","currentPage","externalTotalPages","totalCount","onPageChange","loading","isCardMode","toggleRow","toggleAll","allIds","r","allSelected","every","internalSortKey","setInternalSortKey","internalSortDir","setInternalSortDir","activeSortKey","activeSortDir","handleSort","sortedData","useMemo","sort","a","b","av","bv","cmp","String","localeCompare","internalPage","setInternalPage","visibleData","useVirtualized","handlePageChange","rowStart","rowEnd","rowTotal","tableContent","borderTopLeftRadius","borderTopRightRadius","i","flexDirection","sortable","letterSpacing","borderBottomLeftRadius","borderBottomRightRadius","keyExtractor","extraData","scrollEnabled","renderItem","item","index","rowIndex","isLast","isAlt","colIndex","borderTopWidth","borderTopColor","Array","from","_","abs","reduce","acc","arr","push","position","top","left","right","bottom","showsHorizontalScrollIndicator"],"sourceRoot":"../../../src","sources":["table/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* usePaginatedQuery
|
|
5
|
+
*
|
|
6
|
+
* A generic hook that manages page state, loading, error, and data fetching
|
|
7
|
+
* for use with StyledTable's externalPagination mode.
|
|
8
|
+
*
|
|
9
|
+
* Works with:
|
|
10
|
+
* - REST / GraphQL APIs (pass a `fetcher` function)
|
|
11
|
+
* - Realm (pass a `realmQuery` function)
|
|
12
|
+
* - SQLite / WatermelonDB (pass a `fetcher` function)
|
|
13
|
+
* - Any async datasource
|
|
14
|
+
*
|
|
15
|
+
* Usage with REST API:
|
|
16
|
+
* const table = usePaginatedQuery({
|
|
17
|
+
* pageSize: 10,
|
|
18
|
+
* fetcher: async ({ page, pageSize, sortKey, sortDir }) => {
|
|
19
|
+
* const res = await api.get('/orders', { params: { page, pageSize, sortKey, sortDir } })
|
|
20
|
+
* return { data: res.data.items, totalCount: res.data.total }
|
|
21
|
+
* },
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* Usage with Realm:
|
|
25
|
+
* const table = usePaginatedQuery({
|
|
26
|
+
* pageSize: 10,
|
|
27
|
+
* realmQuery: ({ page, pageSize, sortKey, sortDir }) => {
|
|
28
|
+
* const results = realm.objects('Order')
|
|
29
|
+
* .sorted(sortKey ?? 'createdAt', sortDir === 'desc')
|
|
30
|
+
* const total = results.length
|
|
31
|
+
* const data = results.slice(page * pageSize, (page + 1) * pageSize)
|
|
32
|
+
* return { data: Array.from(data), totalCount: total }
|
|
33
|
+
* },
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* Then wire into StyledTable:
|
|
37
|
+
* <StyledTable
|
|
38
|
+
* {...table.tableProps}
|
|
39
|
+
* columns={COLUMNS}
|
|
40
|
+
* />
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
import { useState, useEffect, useCallback, useRef } from "react";
|
|
44
|
+
|
|
45
|
+
// ─── Types ────────────────────────────────────────────────────────────────────
|
|
46
|
+
|
|
47
|
+
// ─── Hook ─────────────────────────────────────────────────────────────────────
|
|
48
|
+
|
|
49
|
+
export function usePaginatedQuery(options) {
|
|
50
|
+
const {
|
|
51
|
+
pageSize = 10,
|
|
52
|
+
fetcher,
|
|
53
|
+
realmQuery,
|
|
54
|
+
initialSortKey = null,
|
|
55
|
+
initialSortDir = null,
|
|
56
|
+
initialSearch = "",
|
|
57
|
+
initialFilters = {},
|
|
58
|
+
searchDebounce = 300
|
|
59
|
+
} = options;
|
|
60
|
+
const [page, setPageState] = useState(0);
|
|
61
|
+
const [sortKey, setSortKey] = useState(initialSortKey);
|
|
62
|
+
const [sortDir, setSortDir] = useState(initialSortDir);
|
|
63
|
+
const [search, setSearchState] = useState(initialSearch);
|
|
64
|
+
const [filters, setFiltersState] = useState(initialFilters);
|
|
65
|
+
const [data, setData] = useState([]);
|
|
66
|
+
const [totalCount, setTotalCount] = useState(0);
|
|
67
|
+
const [loading, setLoading] = useState(false);
|
|
68
|
+
const [error, setError] = useState(null);
|
|
69
|
+
const [refreshKey, setRefreshKey] = useState(0);
|
|
70
|
+
|
|
71
|
+
// Debounced search
|
|
72
|
+
const searchTimerRef = useRef(null);
|
|
73
|
+
const [debouncedSearch, setDebouncedSearch] = useState(initialSearch);
|
|
74
|
+
const setSearch = useCallback(s => {
|
|
75
|
+
setSearchState(s);
|
|
76
|
+
if (searchTimerRef.current) clearTimeout(searchTimerRef.current);
|
|
77
|
+
searchTimerRef.current = setTimeout(() => {
|
|
78
|
+
setDebouncedSearch(s);
|
|
79
|
+
setPageState(0); // reset to first page on new search
|
|
80
|
+
}, searchDebounce);
|
|
81
|
+
}, [searchDebounce]);
|
|
82
|
+
const setPage = useCallback(p => {
|
|
83
|
+
setPageState(p);
|
|
84
|
+
}, []);
|
|
85
|
+
const setSort = useCallback((key, dir) => {
|
|
86
|
+
setSortKey(key);
|
|
87
|
+
setSortDir(dir);
|
|
88
|
+
setPageState(0); // reset to first page on sort change
|
|
89
|
+
}, []);
|
|
90
|
+
const setFilters = useCallback(f => {
|
|
91
|
+
setFiltersState(f);
|
|
92
|
+
setPageState(0);
|
|
93
|
+
}, []);
|
|
94
|
+
const refresh = useCallback(() => {
|
|
95
|
+
setRefreshKey(k => k + 1);
|
|
96
|
+
}, []);
|
|
97
|
+
const totalPages = Math.max(1, Math.ceil(totalCount / pageSize));
|
|
98
|
+
const params = {
|
|
99
|
+
page,
|
|
100
|
+
pageSize,
|
|
101
|
+
sortKey,
|
|
102
|
+
sortDir,
|
|
103
|
+
search: debouncedSearch,
|
|
104
|
+
filters
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// ── Realm (synchronous) ────────────────────────────────────────────────
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
if (!realmQuery) return;
|
|
110
|
+
try {
|
|
111
|
+
const result = realmQuery(params);
|
|
112
|
+
setData(result.data);
|
|
113
|
+
setTotalCount(result.totalCount);
|
|
114
|
+
setError(null);
|
|
115
|
+
} catch (e) {
|
|
116
|
+
setError(e instanceof Error ? e : new Error(String(e)));
|
|
117
|
+
}
|
|
118
|
+
}, [page, sortKey, sortDir, debouncedSearch, filters, refreshKey]);
|
|
119
|
+
|
|
120
|
+
// ── Async fetcher (REST / GraphQL / SQLite) ────────────────────────────
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!fetcher) return;
|
|
123
|
+
let cancelled = false;
|
|
124
|
+
const run = async () => {
|
|
125
|
+
setLoading(true);
|
|
126
|
+
setError(null);
|
|
127
|
+
try {
|
|
128
|
+
const result = await fetcher(params);
|
|
129
|
+
if (!cancelled) {
|
|
130
|
+
setData(result.data);
|
|
131
|
+
setTotalCount(result.totalCount);
|
|
132
|
+
}
|
|
133
|
+
} catch (e) {
|
|
134
|
+
if (!cancelled) {
|
|
135
|
+
setError(e instanceof Error ? e : new Error(String(e)));
|
|
136
|
+
}
|
|
137
|
+
} finally {
|
|
138
|
+
if (!cancelled) setLoading(false);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
run();
|
|
142
|
+
return () => {
|
|
143
|
+
cancelled = true;
|
|
144
|
+
};
|
|
145
|
+
}, [page, sortKey, sortDir, debouncedSearch, filters, refreshKey]);
|
|
146
|
+
return {
|
|
147
|
+
data,
|
|
148
|
+
loading,
|
|
149
|
+
error,
|
|
150
|
+
totalCount,
|
|
151
|
+
totalPages,
|
|
152
|
+
page,
|
|
153
|
+
pageSize,
|
|
154
|
+
setPage,
|
|
155
|
+
sortKey,
|
|
156
|
+
sortDir,
|
|
157
|
+
setSort,
|
|
158
|
+
search,
|
|
159
|
+
setSearch,
|
|
160
|
+
filters,
|
|
161
|
+
setFilters,
|
|
162
|
+
refresh,
|
|
163
|
+
tableProps: {
|
|
164
|
+
data,
|
|
165
|
+
loading,
|
|
166
|
+
externalPagination: true,
|
|
167
|
+
currentPage: page,
|
|
168
|
+
totalPages,
|
|
169
|
+
totalCount,
|
|
170
|
+
pageSize,
|
|
171
|
+
onPageChange: setPage,
|
|
172
|
+
sortKey,
|
|
173
|
+
sortDirection: sortDir,
|
|
174
|
+
onSort: setSort
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=usepaginatedquery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useCallback","useRef","usePaginatedQuery","options","pageSize","fetcher","realmQuery","initialSortKey","initialSortDir","initialSearch","initialFilters","searchDebounce","page","setPageState","sortKey","setSortKey","sortDir","setSortDir","search","setSearchState","filters","setFiltersState","data","setData","totalCount","setTotalCount","loading","setLoading","error","setError","refreshKey","setRefreshKey","searchTimerRef","debouncedSearch","setDebouncedSearch","setSearch","s","current","clearTimeout","setTimeout","setPage","p","setSort","key","dir","setFilters","f","refresh","k","totalPages","Math","max","ceil","params","result","e","Error","String","cancelled","run","tableProps","externalPagination","currentPage","onPageChange","sortDirection","onSort"],"sourceRoot":"../../../src","sources":["table/usepaginatedquery.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
type CompatNode = ReactNode;
|
|
3
|
+
export type ColumnAlign = "left" | "center" | "right";
|
|
4
|
+
export type SortDirection = "asc" | "desc" | null;
|
|
5
|
+
export interface TableColumn<T = any> {
|
|
6
|
+
/** Unique key — must match a key of the row data object */
|
|
7
|
+
key: string;
|
|
8
|
+
/** Header label */
|
|
9
|
+
title: string;
|
|
10
|
+
/** Fixed column width in px. If omitted the column stretches (flex: 1). */
|
|
11
|
+
width?: number;
|
|
12
|
+
/** Text alignment within the column — default "left" */
|
|
13
|
+
align?: ColumnAlign;
|
|
14
|
+
/** Allow sorting on this column */
|
|
15
|
+
sortable?: boolean;
|
|
16
|
+
/** Custom cell renderer. Receives the cell value + full row object + row index. */
|
|
17
|
+
render?: (value: any, row: T, index: number) => CompatNode;
|
|
18
|
+
}
|
|
19
|
+
export interface TableRow {
|
|
20
|
+
/** Must be unique across all rows */
|
|
21
|
+
id: string | number;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
export interface TableColors {
|
|
25
|
+
background: string;
|
|
26
|
+
headerBg: string;
|
|
27
|
+
headerText: string;
|
|
28
|
+
rowBg: string;
|
|
29
|
+
rowAltBg: string;
|
|
30
|
+
rowHoverBg: string;
|
|
31
|
+
selectedBg: string;
|
|
32
|
+
selectedBorder: string;
|
|
33
|
+
border: string;
|
|
34
|
+
divider: string;
|
|
35
|
+
text: string;
|
|
36
|
+
subText: string;
|
|
37
|
+
sortActive: string;
|
|
38
|
+
sortInactive: string;
|
|
39
|
+
checkboxChecked: string;
|
|
40
|
+
emptyText: string;
|
|
41
|
+
}
|
|
42
|
+
export interface StyledTableProps<T extends TableRow = TableRow> {
|
|
43
|
+
columns: TableColumn<T>[];
|
|
44
|
+
data: T[];
|
|
45
|
+
selectable?: boolean;
|
|
46
|
+
selectedIds?: (string | number)[];
|
|
47
|
+
onSelectionChange?: (ids: (string | number)[]) => void;
|
|
48
|
+
sortKey?: string | null;
|
|
49
|
+
sortDirection?: SortDirection;
|
|
50
|
+
onSort?: (key: string, direction: SortDirection) => void;
|
|
51
|
+
pagination?: boolean;
|
|
52
|
+
pageSize?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Switch to external pagination mode.
|
|
55
|
+
* The table renders `data` as-is (no internal slicing).
|
|
56
|
+
* Parent is responsible for fetching the correct page.
|
|
57
|
+
*/
|
|
58
|
+
externalPagination?: boolean;
|
|
59
|
+
/** Current 0-based page index (controlled) */
|
|
60
|
+
currentPage?: number;
|
|
61
|
+
/** Total number of pages from the datasource */
|
|
62
|
+
totalPages?: number;
|
|
63
|
+
/** Total record count from the datasource */
|
|
64
|
+
totalCount?: number;
|
|
65
|
+
/** Called when the user taps Prev / Next / a page number */
|
|
66
|
+
onPageChange?: (page: number) => void;
|
|
67
|
+
/** Show a loading skeleton over the rows while fetching */
|
|
68
|
+
loading?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Swap the row renderer from Stack.map → FlatList.
|
|
71
|
+
* Use when rendering 30+ unpaginated rows.
|
|
72
|
+
* Automatically true when data.length > 50 and pagination is off.
|
|
73
|
+
* Has no effect in card mode (CardList always uses map).
|
|
74
|
+
*/
|
|
75
|
+
virtualized?: boolean;
|
|
76
|
+
striped?: boolean;
|
|
77
|
+
/** Show a horizontal divider between rows */
|
|
78
|
+
showDivider?: boolean;
|
|
79
|
+
/** Horizontal scroll when content overflows */
|
|
80
|
+
scrollable?: boolean;
|
|
81
|
+
/** Empty state content */
|
|
82
|
+
emptyText?: string;
|
|
83
|
+
emptyNode?: CompatNode;
|
|
84
|
+
colors?: Partial<TableColors>;
|
|
85
|
+
borderRadius?: number;
|
|
86
|
+
/** Show outer card border */
|
|
87
|
+
bordered?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Width threshold below which rows render as cards instead of table rows.
|
|
90
|
+
* Default: 768 (phone portrait).
|
|
91
|
+
* Convenience shorthands: forceTable / forceCards override this entirely.
|
|
92
|
+
*/
|
|
93
|
+
cardBreakpoint?: number;
|
|
94
|
+
/** Always render as a table regardless of screen width */
|
|
95
|
+
forceTable?: boolean;
|
|
96
|
+
/** Always render as cards regardless of screen width */
|
|
97
|
+
forceCards?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Custom card renderer for each row in card mode.
|
|
100
|
+
* If omitted a default auto-generated card is shown using column definitions.
|
|
101
|
+
*/
|
|
102
|
+
cardRender?: (row: T, index: number, selected: boolean, onToggle?: () => void) => CompatNode;
|
|
103
|
+
onRowPress?: (row: T, index: number) => void;
|
|
104
|
+
}
|
|
105
|
+
export declare function StyledTable<T extends TableRow = TableRow>({ columns, data, selectable, selectedIds: controlledSelectedIds, onSelectionChange, sortKey: controlledSortKey, sortDirection: controlledSortDir, onSort, pagination, pageSize, striped, showDivider, scrollable, emptyText, emptyNode, colors: colorOverrides, borderRadius, bordered, virtualized, cardBreakpoint, forceTable, forceCards, cardRender, externalPagination, currentPage, totalPages: externalTotalPages, totalCount, onPageChange, loading, onRowPress, }: StyledTableProps<T>): React.JSX.Element;
|
|
106
|
+
export default StyledTable;
|
|
107
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePaginatedQuery
|
|
3
|
+
*
|
|
4
|
+
* A generic hook that manages page state, loading, error, and data fetching
|
|
5
|
+
* for use with StyledTable's externalPagination mode.
|
|
6
|
+
*
|
|
7
|
+
* Works with:
|
|
8
|
+
* - REST / GraphQL APIs (pass a `fetcher` function)
|
|
9
|
+
* - Realm (pass a `realmQuery` function)
|
|
10
|
+
* - SQLite / WatermelonDB (pass a `fetcher` function)
|
|
11
|
+
* - Any async datasource
|
|
12
|
+
*
|
|
13
|
+
* Usage with REST API:
|
|
14
|
+
* const table = usePaginatedQuery({
|
|
15
|
+
* pageSize: 10,
|
|
16
|
+
* fetcher: async ({ page, pageSize, sortKey, sortDir }) => {
|
|
17
|
+
* const res = await api.get('/orders', { params: { page, pageSize, sortKey, sortDir } })
|
|
18
|
+
* return { data: res.data.items, totalCount: res.data.total }
|
|
19
|
+
* },
|
|
20
|
+
* })
|
|
21
|
+
*
|
|
22
|
+
* Usage with Realm:
|
|
23
|
+
* const table = usePaginatedQuery({
|
|
24
|
+
* pageSize: 10,
|
|
25
|
+
* realmQuery: ({ page, pageSize, sortKey, sortDir }) => {
|
|
26
|
+
* const results = realm.objects('Order')
|
|
27
|
+
* .sorted(sortKey ?? 'createdAt', sortDir === 'desc')
|
|
28
|
+
* const total = results.length
|
|
29
|
+
* const data = results.slice(page * pageSize, (page + 1) * pageSize)
|
|
30
|
+
* return { data: Array.from(data), totalCount: total }
|
|
31
|
+
* },
|
|
32
|
+
* })
|
|
33
|
+
*
|
|
34
|
+
* Then wire into StyledTable:
|
|
35
|
+
* <StyledTable
|
|
36
|
+
* {...table.tableProps}
|
|
37
|
+
* columns={COLUMNS}
|
|
38
|
+
* />
|
|
39
|
+
*/
|
|
40
|
+
import type { SortDirection } from "./";
|
|
41
|
+
export interface PaginatedQueryParams {
|
|
42
|
+
page: number;
|
|
43
|
+
pageSize: number;
|
|
44
|
+
sortKey: string | null;
|
|
45
|
+
sortDir: SortDirection;
|
|
46
|
+
search?: string;
|
|
47
|
+
filters?: Record<string, any>;
|
|
48
|
+
}
|
|
49
|
+
export interface PaginatedQueryResult<T> {
|
|
50
|
+
data: T[];
|
|
51
|
+
totalCount: number;
|
|
52
|
+
}
|
|
53
|
+
export interface UsePaginatedQueryOptions<T> {
|
|
54
|
+
pageSize?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Async fetcher for REST / GraphQL / SQLite.
|
|
57
|
+
* Return `{ data, totalCount }`.
|
|
58
|
+
*/
|
|
59
|
+
fetcher?: (params: PaginatedQueryParams) => Promise<PaginatedQueryResult<T>>;
|
|
60
|
+
/**
|
|
61
|
+
* Synchronous Realm query function.
|
|
62
|
+
* Called whenever page / sort changes.
|
|
63
|
+
* Return `{ data, totalCount }`.
|
|
64
|
+
*/
|
|
65
|
+
realmQuery?: (params: PaginatedQueryParams) => PaginatedQueryResult<T>;
|
|
66
|
+
/** Initial sort column key */
|
|
67
|
+
initialSortKey?: string;
|
|
68
|
+
/** Initial sort direction */
|
|
69
|
+
initialSortDir?: SortDirection;
|
|
70
|
+
/** Initial search string */
|
|
71
|
+
initialSearch?: string;
|
|
72
|
+
/** Initial filter values */
|
|
73
|
+
initialFilters?: Record<string, any>;
|
|
74
|
+
/** Debounce ms for search input changes — default 300 */
|
|
75
|
+
searchDebounce?: number;
|
|
76
|
+
}
|
|
77
|
+
export interface UsePaginatedQueryReturn<T> {
|
|
78
|
+
data: T[];
|
|
79
|
+
loading: boolean;
|
|
80
|
+
error: Error | null;
|
|
81
|
+
totalCount: number;
|
|
82
|
+
totalPages: number;
|
|
83
|
+
page: number;
|
|
84
|
+
pageSize: number;
|
|
85
|
+
setPage: (page: number) => void;
|
|
86
|
+
sortKey: string | null;
|
|
87
|
+
sortDir: SortDirection;
|
|
88
|
+
setSort: (key: string, dir: SortDirection) => void;
|
|
89
|
+
search: string;
|
|
90
|
+
setSearch: (s: string) => void;
|
|
91
|
+
filters: Record<string, any>;
|
|
92
|
+
setFilters: (f: Record<string, any>) => void;
|
|
93
|
+
/** Manually re-fetch the current page (e.g. after a mutation) */
|
|
94
|
+
refresh: () => void;
|
|
95
|
+
/**
|
|
96
|
+
* Spread these directly onto StyledTable:
|
|
97
|
+
* <StyledTable {...table.tableProps} columns={COLUMNS} />
|
|
98
|
+
*/
|
|
99
|
+
tableProps: {
|
|
100
|
+
data: T[];
|
|
101
|
+
loading: boolean;
|
|
102
|
+
externalPagination: true;
|
|
103
|
+
currentPage: number;
|
|
104
|
+
totalPages: number;
|
|
105
|
+
totalCount: number;
|
|
106
|
+
pageSize: number;
|
|
107
|
+
onPageChange: (page: number) => void;
|
|
108
|
+
sortKey?: string | null;
|
|
109
|
+
sortDirection: SortDirection;
|
|
110
|
+
onSort: (key: string, dir: SortDirection) => void;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export declare function usePaginatedQuery<T>(options: UsePaginatedQueryOptions<T>): UsePaginatedQueryReturn<T>;
|
|
114
|
+
//# sourceMappingURL=usepaginatedquery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usepaginatedquery.d.ts","sourceRoot":"","sources":["../../../src/table/usepaginatedquery.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED