@cryptlex/web-components 6.6.29 → 6.6.31

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.
@@ -22,6 +22,7 @@ type DataTableFactory<T extends object, TOperation extends keyof operations, TFi
22
22
  allowSelection?: boolean;
23
23
  filterConfig: TFilterConfig;
24
24
  initialFilters: TableFilter[];
25
+ Card?: (item: T, actions: SingleResourceAction<T>[], selection: CardSelectionProps) => React.ReactNode;
25
26
  previewFilters?: (keyof TFilterConfig)[];
26
27
  /** When provided, each row becomes a navigable link. Called with the row's data on click or Enter. */
27
28
  onRowNavigate?: (row: T) => void;
@@ -34,13 +35,300 @@ export declare function getColumnHelper<O extends keyof operations>(): ColumnHel
34
35
  /**
35
36
  * Hook for handling all data-table state. Used in DataTableContext
36
37
  */
37
- export declare function useDataTableState<T extends object, TOperation extends keyof operations, TFilterConfig extends FiltersConfig<TOperation> = FiltersConfig<TOperation>>({ path, pathParameters, columns, filterConfig, columnsToHideByDefault, allowSelection, initialFilters, previewFilters, tableActions, onRowNavigate, }: DataTableFactory<T, TOperation, TFilterConfig>): {
38
+ export declare function useDataTableState<T extends object, TOperation extends keyof operations, TFilterConfig extends FiltersConfig<TOperation> = FiltersConfig<TOperation>>({ path, pathParameters, columns, filterConfig, columnsToHideByDefault, allowSelection, initialFilters, previewFilters, tableActions, Card, onRowNavigate, }: DataTableFactory<T, TOperation, TFilterConfig>): {
38
39
  readonly tableState: DataTableState;
39
40
  readonly updateTableState: (updates: Partial<DataTableState>) => void;
40
- readonly query: import('@tanstack/react-query').UseQueryResult<{
41
+ readonly query: import('@tanstack/react-query').QueryObserverRefetchErrorResult<{
41
42
  data: T[];
42
43
  total: number;
43
- }, Error>;
44
+ nextPage: number;
45
+ }, Error> | import('@tanstack/react-query').QueryObserverSuccessResult<{
46
+ data: T[];
47
+ total: number;
48
+ nextPage: number;
49
+ }, Error> | import('@tanstack/react-query').QueryObserverLoadingErrorResult<{
50
+ data: T[];
51
+ total: number;
52
+ nextPage: number;
53
+ }, Error> | import('@tanstack/react-query').QueryObserverPendingResult<{
54
+ data: T[];
55
+ total: number;
56
+ nextPage: number;
57
+ }, Error> | import('@tanstack/react-query').QueryObserverPlaceholderResult<{
58
+ data: T[];
59
+ total: number;
60
+ nextPage: number;
61
+ }, Error> | {
62
+ data: {
63
+ data: T[];
64
+ total: number;
65
+ };
66
+ isLoading: boolean;
67
+ isFetching: boolean;
68
+ isError: boolean;
69
+ error: Error | null;
70
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
71
+ data: T[];
72
+ total: number;
73
+ nextPage: number;
74
+ }, unknown>, Error>>;
75
+ isPending: false;
76
+ isLoadingError: false;
77
+ isRefetchError: true;
78
+ isSuccess: false;
79
+ isPlaceholderData: false;
80
+ status: "error";
81
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
82
+ data: T[];
83
+ total: number;
84
+ nextPage: number;
85
+ }, unknown>, Error>>;
86
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
87
+ data: T[];
88
+ total: number;
89
+ nextPage: number;
90
+ }, unknown>, Error>>;
91
+ hasNextPage: boolean;
92
+ hasPreviousPage: boolean;
93
+ isFetchNextPageError: boolean;
94
+ isFetchingNextPage: boolean;
95
+ isFetchPreviousPageError: boolean;
96
+ isFetchingPreviousPage: boolean;
97
+ dataUpdatedAt: number;
98
+ errorUpdatedAt: number;
99
+ failureCount: number;
100
+ failureReason: Error | null;
101
+ errorUpdateCount: number;
102
+ isFetched: boolean;
103
+ isFetchedAfterMount: boolean;
104
+ isInitialLoading: boolean;
105
+ isPaused: boolean;
106
+ isRefetching: boolean;
107
+ isStale: boolean;
108
+ isEnabled: boolean;
109
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
110
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
111
+ data: T[];
112
+ total: number;
113
+ nextPage: number;
114
+ }, unknown>>;
115
+ } | {
116
+ data: {
117
+ data: T[];
118
+ total: number;
119
+ };
120
+ isLoading: boolean;
121
+ isFetching: boolean;
122
+ isError: boolean;
123
+ error: Error | null;
124
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
125
+ data: T[];
126
+ total: number;
127
+ nextPage: number;
128
+ }, unknown>, Error>>;
129
+ isPending: false;
130
+ isLoadingError: false;
131
+ isRefetchError: false;
132
+ isFetchNextPageError: false;
133
+ isFetchPreviousPageError: false;
134
+ isSuccess: true;
135
+ isPlaceholderData: false;
136
+ status: "success";
137
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
138
+ data: T[];
139
+ total: number;
140
+ nextPage: number;
141
+ }, unknown>, Error>>;
142
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
143
+ data: T[];
144
+ total: number;
145
+ nextPage: number;
146
+ }, unknown>, Error>>;
147
+ hasNextPage: boolean;
148
+ hasPreviousPage: boolean;
149
+ isFetchingNextPage: boolean;
150
+ isFetchingPreviousPage: boolean;
151
+ dataUpdatedAt: number;
152
+ errorUpdatedAt: number;
153
+ failureCount: number;
154
+ failureReason: Error | null;
155
+ errorUpdateCount: number;
156
+ isFetched: boolean;
157
+ isFetchedAfterMount: boolean;
158
+ isInitialLoading: boolean;
159
+ isPaused: boolean;
160
+ isRefetching: boolean;
161
+ isStale: boolean;
162
+ isEnabled: boolean;
163
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
164
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
165
+ data: T[];
166
+ total: number;
167
+ nextPage: number;
168
+ }, unknown>>;
169
+ } | {
170
+ data: {
171
+ data: T[];
172
+ total: number;
173
+ };
174
+ isLoading: boolean;
175
+ isFetching: boolean;
176
+ isError: boolean;
177
+ error: Error | null;
178
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
179
+ data: T[];
180
+ total: number;
181
+ nextPage: number;
182
+ }, unknown>, Error>>;
183
+ isPending: false;
184
+ isLoadingError: true;
185
+ isRefetchError: false;
186
+ isFetchNextPageError: false;
187
+ isFetchPreviousPageError: false;
188
+ isSuccess: false;
189
+ isPlaceholderData: false;
190
+ status: "error";
191
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
192
+ data: T[];
193
+ total: number;
194
+ nextPage: number;
195
+ }, unknown>, Error>>;
196
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
197
+ data: T[];
198
+ total: number;
199
+ nextPage: number;
200
+ }, unknown>, Error>>;
201
+ hasNextPage: boolean;
202
+ hasPreviousPage: boolean;
203
+ isFetchingNextPage: boolean;
204
+ isFetchingPreviousPage: boolean;
205
+ dataUpdatedAt: number;
206
+ errorUpdatedAt: number;
207
+ failureCount: number;
208
+ failureReason: Error | null;
209
+ errorUpdateCount: number;
210
+ isFetched: boolean;
211
+ isFetchedAfterMount: boolean;
212
+ isInitialLoading: boolean;
213
+ isPaused: boolean;
214
+ isRefetching: boolean;
215
+ isStale: boolean;
216
+ isEnabled: boolean;
217
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
218
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
219
+ data: T[];
220
+ total: number;
221
+ nextPage: number;
222
+ }, unknown>>;
223
+ } | {
224
+ data: {
225
+ data: T[];
226
+ total: number;
227
+ };
228
+ isLoading: boolean;
229
+ isFetching: boolean;
230
+ isError: boolean;
231
+ error: Error | null;
232
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
233
+ data: T[];
234
+ total: number;
235
+ nextPage: number;
236
+ }, unknown>, Error>>;
237
+ isPending: true;
238
+ isLoadingError: false;
239
+ isRefetchError: false;
240
+ isFetchNextPageError: false;
241
+ isFetchPreviousPageError: false;
242
+ isSuccess: false;
243
+ isPlaceholderData: false;
244
+ status: "pending";
245
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
246
+ data: T[];
247
+ total: number;
248
+ nextPage: number;
249
+ }, unknown>, Error>>;
250
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
251
+ data: T[];
252
+ total: number;
253
+ nextPage: number;
254
+ }, unknown>, Error>>;
255
+ hasNextPage: boolean;
256
+ hasPreviousPage: boolean;
257
+ isFetchingNextPage: boolean;
258
+ isFetchingPreviousPage: boolean;
259
+ dataUpdatedAt: number;
260
+ errorUpdatedAt: number;
261
+ failureCount: number;
262
+ failureReason: Error | null;
263
+ errorUpdateCount: number;
264
+ isFetched: boolean;
265
+ isFetchedAfterMount: boolean;
266
+ isInitialLoading: boolean;
267
+ isPaused: boolean;
268
+ isRefetching: boolean;
269
+ isStale: boolean;
270
+ isEnabled: boolean;
271
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
272
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
273
+ data: T[];
274
+ total: number;
275
+ nextPage: number;
276
+ }, unknown>>;
277
+ } | {
278
+ data: {
279
+ data: T[];
280
+ total: number;
281
+ };
282
+ isLoading: boolean;
283
+ isFetching: boolean;
284
+ isError: boolean;
285
+ error: Error | null;
286
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
287
+ data: T[];
288
+ total: number;
289
+ nextPage: number;
290
+ }, unknown>, Error>>;
291
+ isPending: false;
292
+ isLoadingError: false;
293
+ isRefetchError: false;
294
+ isSuccess: true;
295
+ isPlaceholderData: true;
296
+ isFetchNextPageError: false;
297
+ isFetchPreviousPageError: false;
298
+ status: "success";
299
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
300
+ data: T[];
301
+ total: number;
302
+ nextPage: number;
303
+ }, unknown>, Error>>;
304
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
305
+ data: T[];
306
+ total: number;
307
+ nextPage: number;
308
+ }, unknown>, Error>>;
309
+ hasNextPage: boolean;
310
+ hasPreviousPage: boolean;
311
+ isFetchingNextPage: boolean;
312
+ isFetchingPreviousPage: boolean;
313
+ dataUpdatedAt: number;
314
+ errorUpdatedAt: number;
315
+ failureCount: number;
316
+ failureReason: Error | null;
317
+ errorUpdateCount: number;
318
+ isFetched: boolean;
319
+ isFetchedAfterMount: boolean;
320
+ isInitialLoading: boolean;
321
+ isPaused: boolean;
322
+ isRefetching: boolean;
323
+ isStale: boolean;
324
+ isEnabled: boolean;
325
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
326
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
327
+ data: T[];
328
+ total: number;
329
+ nextPage: number;
330
+ }, unknown>>;
331
+ };
44
332
  readonly setSearchQuery: import('react').Dispatch<import('react').SetStateAction<string>>;
45
333
  readonly searchQuery: string;
46
334
  readonly tanTable: import('@tanstack/react-table').Table<any>;
@@ -59,16 +347,312 @@ export declare function useDataTableState<T extends object, TOperation extends k
59
347
  readonly filterConfig: TFilterConfig;
60
348
  readonly tableActions: TableAction<T>[];
61
349
  readonly pathParameters: NoInfer<ApiPathParameters<TOperation>> | undefined;
350
+ readonly viewMode: "card" | "table";
351
+ readonly setViewMode: import('react').Dispatch<import('react').SetStateAction<"card" | "table">>;
352
+ readonly Card: ((item: T, actions: SingleResourceAction<T>[], selection: CardSelectionProps) => React.ReactNode) | undefined;
353
+ readonly allowSelection: boolean;
62
354
  readonly previewFilters: (keyof TFilterConfig)[] | undefined;
355
+ readonly infiniteQuery: import('@tanstack/react-query').UseInfiniteQueryResult<import('@tanstack/react-query').InfiniteData<{
356
+ data: T[];
357
+ total: number;
358
+ nextPage: number;
359
+ }, unknown>, Error>;
63
360
  readonly onRowNavigate: ((row: T) => void) | undefined;
64
361
  };
65
362
  export declare const DataTableContext: import('react').Context<{
66
363
  readonly tableState: DataTableState;
67
364
  readonly updateTableState: (updates: Partial<DataTableState>) => void;
68
- readonly query: import('@tanstack/react-query').UseQueryResult<{
365
+ readonly query: import('@tanstack/react-query').QueryObserverRefetchErrorResult<{
366
+ data: object[];
367
+ total: number;
368
+ nextPage: number;
369
+ }, Error> | import('@tanstack/react-query').QueryObserverSuccessResult<{
370
+ data: object[];
371
+ total: number;
372
+ nextPage: number;
373
+ }, Error> | import('@tanstack/react-query').QueryObserverLoadingErrorResult<{
374
+ data: object[];
375
+ total: number;
376
+ nextPage: number;
377
+ }, Error> | import('@tanstack/react-query').QueryObserverPendingResult<{
69
378
  data: object[];
70
379
  total: number;
71
- }, Error>;
380
+ nextPage: number;
381
+ }, Error> | import('@tanstack/react-query').QueryObserverPlaceholderResult<{
382
+ data: object[];
383
+ total: number;
384
+ nextPage: number;
385
+ }, Error> | {
386
+ data: {
387
+ data: object[];
388
+ total: number;
389
+ };
390
+ isLoading: boolean;
391
+ isFetching: boolean;
392
+ isError: boolean;
393
+ error: Error | null;
394
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
395
+ data: object[];
396
+ total: number;
397
+ nextPage: number;
398
+ }, unknown>, Error>>;
399
+ isPending: false;
400
+ isLoadingError: false;
401
+ isRefetchError: true;
402
+ isSuccess: false;
403
+ isPlaceholderData: false;
404
+ status: "error";
405
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
406
+ data: object[];
407
+ total: number;
408
+ nextPage: number;
409
+ }, unknown>, Error>>;
410
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
411
+ data: object[];
412
+ total: number;
413
+ nextPage: number;
414
+ }, unknown>, Error>>;
415
+ hasNextPage: boolean;
416
+ hasPreviousPage: boolean;
417
+ isFetchNextPageError: boolean;
418
+ isFetchingNextPage: boolean;
419
+ isFetchPreviousPageError: boolean;
420
+ isFetchingPreviousPage: boolean;
421
+ dataUpdatedAt: number;
422
+ errorUpdatedAt: number;
423
+ failureCount: number;
424
+ failureReason: Error | null;
425
+ errorUpdateCount: number;
426
+ isFetched: boolean;
427
+ isFetchedAfterMount: boolean;
428
+ isInitialLoading: boolean;
429
+ isPaused: boolean;
430
+ isRefetching: boolean;
431
+ isStale: boolean;
432
+ isEnabled: boolean;
433
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
434
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
435
+ data: object[];
436
+ total: number;
437
+ nextPage: number;
438
+ }, unknown>>;
439
+ } | {
440
+ data: {
441
+ data: object[];
442
+ total: number;
443
+ };
444
+ isLoading: boolean;
445
+ isFetching: boolean;
446
+ isError: boolean;
447
+ error: Error | null;
448
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
449
+ data: object[];
450
+ total: number;
451
+ nextPage: number;
452
+ }, unknown>, Error>>;
453
+ isPending: false;
454
+ isLoadingError: false;
455
+ isRefetchError: false;
456
+ isFetchNextPageError: false;
457
+ isFetchPreviousPageError: false;
458
+ isSuccess: true;
459
+ isPlaceholderData: false;
460
+ status: "success";
461
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
462
+ data: object[];
463
+ total: number;
464
+ nextPage: number;
465
+ }, unknown>, Error>>;
466
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
467
+ data: object[];
468
+ total: number;
469
+ nextPage: number;
470
+ }, unknown>, Error>>;
471
+ hasNextPage: boolean;
472
+ hasPreviousPage: boolean;
473
+ isFetchingNextPage: boolean;
474
+ isFetchingPreviousPage: boolean;
475
+ dataUpdatedAt: number;
476
+ errorUpdatedAt: number;
477
+ failureCount: number;
478
+ failureReason: Error | null;
479
+ errorUpdateCount: number;
480
+ isFetched: boolean;
481
+ isFetchedAfterMount: boolean;
482
+ isInitialLoading: boolean;
483
+ isPaused: boolean;
484
+ isRefetching: boolean;
485
+ isStale: boolean;
486
+ isEnabled: boolean;
487
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
488
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
489
+ data: object[];
490
+ total: number;
491
+ nextPage: number;
492
+ }, unknown>>;
493
+ } | {
494
+ data: {
495
+ data: object[];
496
+ total: number;
497
+ };
498
+ isLoading: boolean;
499
+ isFetching: boolean;
500
+ isError: boolean;
501
+ error: Error | null;
502
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
503
+ data: object[];
504
+ total: number;
505
+ nextPage: number;
506
+ }, unknown>, Error>>;
507
+ isPending: false;
508
+ isLoadingError: true;
509
+ isRefetchError: false;
510
+ isFetchNextPageError: false;
511
+ isFetchPreviousPageError: false;
512
+ isSuccess: false;
513
+ isPlaceholderData: false;
514
+ status: "error";
515
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
516
+ data: object[];
517
+ total: number;
518
+ nextPage: number;
519
+ }, unknown>, Error>>;
520
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
521
+ data: object[];
522
+ total: number;
523
+ nextPage: number;
524
+ }, unknown>, Error>>;
525
+ hasNextPage: boolean;
526
+ hasPreviousPage: boolean;
527
+ isFetchingNextPage: boolean;
528
+ isFetchingPreviousPage: boolean;
529
+ dataUpdatedAt: number;
530
+ errorUpdatedAt: number;
531
+ failureCount: number;
532
+ failureReason: Error | null;
533
+ errorUpdateCount: number;
534
+ isFetched: boolean;
535
+ isFetchedAfterMount: boolean;
536
+ isInitialLoading: boolean;
537
+ isPaused: boolean;
538
+ isRefetching: boolean;
539
+ isStale: boolean;
540
+ isEnabled: boolean;
541
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
542
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
543
+ data: object[];
544
+ total: number;
545
+ nextPage: number;
546
+ }, unknown>>;
547
+ } | {
548
+ data: {
549
+ data: object[];
550
+ total: number;
551
+ };
552
+ isLoading: boolean;
553
+ isFetching: boolean;
554
+ isError: boolean;
555
+ error: Error | null;
556
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
557
+ data: object[];
558
+ total: number;
559
+ nextPage: number;
560
+ }, unknown>, Error>>;
561
+ isPending: true;
562
+ isLoadingError: false;
563
+ isRefetchError: false;
564
+ isFetchNextPageError: false;
565
+ isFetchPreviousPageError: false;
566
+ isSuccess: false;
567
+ isPlaceholderData: false;
568
+ status: "pending";
569
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
570
+ data: object[];
571
+ total: number;
572
+ nextPage: number;
573
+ }, unknown>, Error>>;
574
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
575
+ data: object[];
576
+ total: number;
577
+ nextPage: number;
578
+ }, unknown>, Error>>;
579
+ hasNextPage: boolean;
580
+ hasPreviousPage: boolean;
581
+ isFetchingNextPage: boolean;
582
+ isFetchingPreviousPage: boolean;
583
+ dataUpdatedAt: number;
584
+ errorUpdatedAt: number;
585
+ failureCount: number;
586
+ failureReason: Error | null;
587
+ errorUpdateCount: number;
588
+ isFetched: boolean;
589
+ isFetchedAfterMount: boolean;
590
+ isInitialLoading: boolean;
591
+ isPaused: boolean;
592
+ isRefetching: boolean;
593
+ isStale: boolean;
594
+ isEnabled: boolean;
595
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
596
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
597
+ data: object[];
598
+ total: number;
599
+ nextPage: number;
600
+ }, unknown>>;
601
+ } | {
602
+ data: {
603
+ data: object[];
604
+ total: number;
605
+ };
606
+ isLoading: boolean;
607
+ isFetching: boolean;
608
+ isError: boolean;
609
+ error: Error | null;
610
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
611
+ data: object[];
612
+ total: number;
613
+ nextPage: number;
614
+ }, unknown>, Error>>;
615
+ isPending: false;
616
+ isLoadingError: false;
617
+ isRefetchError: false;
618
+ isSuccess: true;
619
+ isPlaceholderData: true;
620
+ isFetchNextPageError: false;
621
+ isFetchPreviousPageError: false;
622
+ status: "success";
623
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
624
+ data: object[];
625
+ total: number;
626
+ nextPage: number;
627
+ }, unknown>, Error>>;
628
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
629
+ data: object[];
630
+ total: number;
631
+ nextPage: number;
632
+ }, unknown>, Error>>;
633
+ hasNextPage: boolean;
634
+ hasPreviousPage: boolean;
635
+ isFetchingNextPage: boolean;
636
+ isFetchingPreviousPage: boolean;
637
+ dataUpdatedAt: number;
638
+ errorUpdatedAt: number;
639
+ failureCount: number;
640
+ failureReason: Error | null;
641
+ errorUpdateCount: number;
642
+ isFetched: boolean;
643
+ isFetchedAfterMount: boolean;
644
+ isInitialLoading: boolean;
645
+ isPaused: boolean;
646
+ isRefetching: boolean;
647
+ isStale: boolean;
648
+ isEnabled: boolean;
649
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
650
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
651
+ data: object[];
652
+ total: number;
653
+ nextPage: number;
654
+ }, unknown>>;
655
+ };
72
656
  readonly setSearchQuery: import('react').Dispatch<import('react').SetStateAction<string>>;
73
657
  readonly searchQuery: string;
74
658
  readonly tanTable: import('@tanstack/react-table').Table<any>;
@@ -553,16 +1137,312 @@ export declare const DataTableContext: import('react').Context<{
553
1137
  } | {
554
1138
  id: string;
555
1139
  } | undefined> | undefined;
1140
+ readonly viewMode: "card" | "table";
1141
+ readonly setViewMode: import('react').Dispatch<import('react').SetStateAction<"card" | "table">>;
1142
+ readonly Card: ((item: object, actions: SingleResourceAction<object>[], selection: CardSelectionProps) => React.ReactNode) | undefined;
1143
+ readonly allowSelection: boolean;
556
1144
  readonly previewFilters: string[] | undefined;
1145
+ readonly infiniteQuery: import('@tanstack/react-query').UseInfiniteQueryResult<import('@tanstack/react-query').InfiniteData<{
1146
+ data: object[];
1147
+ total: number;
1148
+ nextPage: number;
1149
+ }, unknown>, Error>;
557
1150
  readonly onRowNavigate: ((row: object) => void) | undefined;
558
1151
  } | null>;
559
1152
  export declare function useDataTable(): {
560
1153
  readonly tableState: DataTableState;
561
1154
  readonly updateTableState: (updates: Partial<DataTableState>) => void;
562
- readonly query: import('@tanstack/react-query').UseQueryResult<{
1155
+ readonly query: import('@tanstack/react-query').QueryObserverRefetchErrorResult<{
1156
+ data: object[];
1157
+ total: number;
1158
+ nextPage: number;
1159
+ }, Error> | import('@tanstack/react-query').QueryObserverSuccessResult<{
1160
+ data: object[];
1161
+ total: number;
1162
+ nextPage: number;
1163
+ }, Error> | import('@tanstack/react-query').QueryObserverLoadingErrorResult<{
1164
+ data: object[];
1165
+ total: number;
1166
+ nextPage: number;
1167
+ }, Error> | import('@tanstack/react-query').QueryObserverPendingResult<{
1168
+ data: object[];
1169
+ total: number;
1170
+ nextPage: number;
1171
+ }, Error> | import('@tanstack/react-query').QueryObserverPlaceholderResult<{
563
1172
  data: object[];
564
1173
  total: number;
565
- }, Error>;
1174
+ nextPage: number;
1175
+ }, Error> | {
1176
+ data: {
1177
+ data: object[];
1178
+ total: number;
1179
+ };
1180
+ isLoading: boolean;
1181
+ isFetching: boolean;
1182
+ isError: boolean;
1183
+ error: Error | null;
1184
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1185
+ data: object[];
1186
+ total: number;
1187
+ nextPage: number;
1188
+ }, unknown>, Error>>;
1189
+ isPending: false;
1190
+ isLoadingError: false;
1191
+ isRefetchError: true;
1192
+ isSuccess: false;
1193
+ isPlaceholderData: false;
1194
+ status: "error";
1195
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1196
+ data: object[];
1197
+ total: number;
1198
+ nextPage: number;
1199
+ }, unknown>, Error>>;
1200
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1201
+ data: object[];
1202
+ total: number;
1203
+ nextPage: number;
1204
+ }, unknown>, Error>>;
1205
+ hasNextPage: boolean;
1206
+ hasPreviousPage: boolean;
1207
+ isFetchNextPageError: boolean;
1208
+ isFetchingNextPage: boolean;
1209
+ isFetchPreviousPageError: boolean;
1210
+ isFetchingPreviousPage: boolean;
1211
+ dataUpdatedAt: number;
1212
+ errorUpdatedAt: number;
1213
+ failureCount: number;
1214
+ failureReason: Error | null;
1215
+ errorUpdateCount: number;
1216
+ isFetched: boolean;
1217
+ isFetchedAfterMount: boolean;
1218
+ isInitialLoading: boolean;
1219
+ isPaused: boolean;
1220
+ isRefetching: boolean;
1221
+ isStale: boolean;
1222
+ isEnabled: boolean;
1223
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
1224
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
1225
+ data: object[];
1226
+ total: number;
1227
+ nextPage: number;
1228
+ }, unknown>>;
1229
+ } | {
1230
+ data: {
1231
+ data: object[];
1232
+ total: number;
1233
+ };
1234
+ isLoading: boolean;
1235
+ isFetching: boolean;
1236
+ isError: boolean;
1237
+ error: Error | null;
1238
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1239
+ data: object[];
1240
+ total: number;
1241
+ nextPage: number;
1242
+ }, unknown>, Error>>;
1243
+ isPending: false;
1244
+ isLoadingError: false;
1245
+ isRefetchError: false;
1246
+ isFetchNextPageError: false;
1247
+ isFetchPreviousPageError: false;
1248
+ isSuccess: true;
1249
+ isPlaceholderData: false;
1250
+ status: "success";
1251
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1252
+ data: object[];
1253
+ total: number;
1254
+ nextPage: number;
1255
+ }, unknown>, Error>>;
1256
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1257
+ data: object[];
1258
+ total: number;
1259
+ nextPage: number;
1260
+ }, unknown>, Error>>;
1261
+ hasNextPage: boolean;
1262
+ hasPreviousPage: boolean;
1263
+ isFetchingNextPage: boolean;
1264
+ isFetchingPreviousPage: boolean;
1265
+ dataUpdatedAt: number;
1266
+ errorUpdatedAt: number;
1267
+ failureCount: number;
1268
+ failureReason: Error | null;
1269
+ errorUpdateCount: number;
1270
+ isFetched: boolean;
1271
+ isFetchedAfterMount: boolean;
1272
+ isInitialLoading: boolean;
1273
+ isPaused: boolean;
1274
+ isRefetching: boolean;
1275
+ isStale: boolean;
1276
+ isEnabled: boolean;
1277
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
1278
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
1279
+ data: object[];
1280
+ total: number;
1281
+ nextPage: number;
1282
+ }, unknown>>;
1283
+ } | {
1284
+ data: {
1285
+ data: object[];
1286
+ total: number;
1287
+ };
1288
+ isLoading: boolean;
1289
+ isFetching: boolean;
1290
+ isError: boolean;
1291
+ error: Error | null;
1292
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1293
+ data: object[];
1294
+ total: number;
1295
+ nextPage: number;
1296
+ }, unknown>, Error>>;
1297
+ isPending: false;
1298
+ isLoadingError: true;
1299
+ isRefetchError: false;
1300
+ isFetchNextPageError: false;
1301
+ isFetchPreviousPageError: false;
1302
+ isSuccess: false;
1303
+ isPlaceholderData: false;
1304
+ status: "error";
1305
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1306
+ data: object[];
1307
+ total: number;
1308
+ nextPage: number;
1309
+ }, unknown>, Error>>;
1310
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1311
+ data: object[];
1312
+ total: number;
1313
+ nextPage: number;
1314
+ }, unknown>, Error>>;
1315
+ hasNextPage: boolean;
1316
+ hasPreviousPage: boolean;
1317
+ isFetchingNextPage: boolean;
1318
+ isFetchingPreviousPage: boolean;
1319
+ dataUpdatedAt: number;
1320
+ errorUpdatedAt: number;
1321
+ failureCount: number;
1322
+ failureReason: Error | null;
1323
+ errorUpdateCount: number;
1324
+ isFetched: boolean;
1325
+ isFetchedAfterMount: boolean;
1326
+ isInitialLoading: boolean;
1327
+ isPaused: boolean;
1328
+ isRefetching: boolean;
1329
+ isStale: boolean;
1330
+ isEnabled: boolean;
1331
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
1332
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
1333
+ data: object[];
1334
+ total: number;
1335
+ nextPage: number;
1336
+ }, unknown>>;
1337
+ } | {
1338
+ data: {
1339
+ data: object[];
1340
+ total: number;
1341
+ };
1342
+ isLoading: boolean;
1343
+ isFetching: boolean;
1344
+ isError: boolean;
1345
+ error: Error | null;
1346
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1347
+ data: object[];
1348
+ total: number;
1349
+ nextPage: number;
1350
+ }, unknown>, Error>>;
1351
+ isPending: true;
1352
+ isLoadingError: false;
1353
+ isRefetchError: false;
1354
+ isFetchNextPageError: false;
1355
+ isFetchPreviousPageError: false;
1356
+ isSuccess: false;
1357
+ isPlaceholderData: false;
1358
+ status: "pending";
1359
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1360
+ data: object[];
1361
+ total: number;
1362
+ nextPage: number;
1363
+ }, unknown>, Error>>;
1364
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1365
+ data: object[];
1366
+ total: number;
1367
+ nextPage: number;
1368
+ }, unknown>, Error>>;
1369
+ hasNextPage: boolean;
1370
+ hasPreviousPage: boolean;
1371
+ isFetchingNextPage: boolean;
1372
+ isFetchingPreviousPage: boolean;
1373
+ dataUpdatedAt: number;
1374
+ errorUpdatedAt: number;
1375
+ failureCount: number;
1376
+ failureReason: Error | null;
1377
+ errorUpdateCount: number;
1378
+ isFetched: boolean;
1379
+ isFetchedAfterMount: boolean;
1380
+ isInitialLoading: boolean;
1381
+ isPaused: boolean;
1382
+ isRefetching: boolean;
1383
+ isStale: boolean;
1384
+ isEnabled: boolean;
1385
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
1386
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
1387
+ data: object[];
1388
+ total: number;
1389
+ nextPage: number;
1390
+ }, unknown>>;
1391
+ } | {
1392
+ data: {
1393
+ data: object[];
1394
+ total: number;
1395
+ };
1396
+ isLoading: boolean;
1397
+ isFetching: boolean;
1398
+ isError: boolean;
1399
+ error: Error | null;
1400
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1401
+ data: object[];
1402
+ total: number;
1403
+ nextPage: number;
1404
+ }, unknown>, Error>>;
1405
+ isPending: false;
1406
+ isLoadingError: false;
1407
+ isRefetchError: false;
1408
+ isSuccess: true;
1409
+ isPlaceholderData: true;
1410
+ isFetchNextPageError: false;
1411
+ isFetchPreviousPageError: false;
1412
+ status: "success";
1413
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1414
+ data: object[];
1415
+ total: number;
1416
+ nextPage: number;
1417
+ }, unknown>, Error>>;
1418
+ fetchPreviousPage: (options?: import('@tanstack/react-query').FetchPreviousPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<{
1419
+ data: object[];
1420
+ total: number;
1421
+ nextPage: number;
1422
+ }, unknown>, Error>>;
1423
+ hasNextPage: boolean;
1424
+ hasPreviousPage: boolean;
1425
+ isFetchingNextPage: boolean;
1426
+ isFetchingPreviousPage: boolean;
1427
+ dataUpdatedAt: number;
1428
+ errorUpdatedAt: number;
1429
+ failureCount: number;
1430
+ failureReason: Error | null;
1431
+ errorUpdateCount: number;
1432
+ isFetched: boolean;
1433
+ isFetchedAfterMount: boolean;
1434
+ isInitialLoading: boolean;
1435
+ isPaused: boolean;
1436
+ isRefetching: boolean;
1437
+ isStale: boolean;
1438
+ isEnabled: boolean;
1439
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
1440
+ promise: Promise<import('@tanstack/react-query').InfiniteData<{
1441
+ data: object[];
1442
+ total: number;
1443
+ nextPage: number;
1444
+ }, unknown>>;
1445
+ };
566
1446
  readonly setSearchQuery: import('react').Dispatch<import('react').SetStateAction<string>>;
567
1447
  readonly searchQuery: string;
568
1448
  readonly tanTable: import('@tanstack/react-table').Table<any>;
@@ -1047,7 +1927,16 @@ export declare function useDataTable(): {
1047
1927
  } | {
1048
1928
  id: string;
1049
1929
  } | undefined> | undefined;
1930
+ readonly viewMode: "card" | "table";
1931
+ readonly setViewMode: import('react').Dispatch<import('react').SetStateAction<"card" | "table">>;
1932
+ readonly Card: ((item: object, actions: SingleResourceAction<object>[], selection: CardSelectionProps) => React.ReactNode) | undefined;
1933
+ readonly allowSelection: boolean;
1050
1934
  readonly previewFilters: string[] | undefined;
1935
+ readonly infiniteQuery: import('@tanstack/react-query').UseInfiniteQueryResult<import('@tanstack/react-query').InfiniteData<{
1936
+ data: object[];
1937
+ total: number;
1938
+ nextPage: number;
1939
+ }, unknown>, Error>;
1051
1940
  readonly onRowNavigate: ((row: object) => void) | undefined;
1052
1941
  };
1053
1942
  export declare function DataTableProvider<T extends object, TOperation extends keyof operations>({ children, ...props }: {
@@ -1055,6 +1944,11 @@ export declare function DataTableProvider<T extends object, TOperation extends k
1055
1944
  } & ReturnType<typeof useDataTableState<T, TOperation>>): import("react/jsx-runtime").JSX.Element;
1056
1945
  export type DataTableProps = React.ComponentProps<'section'>;
1057
1946
  export declare function DataTable({ className, ...props }: DataTableProps): import("react/jsx-runtime").JSX.Element;
1947
+ export type CardSelectionProps = {
1948
+ isSelected: boolean;
1949
+ onToggle: () => void;
1950
+ allowSelection: boolean;
1951
+ };
1058
1952
  /** Base properties shared by all table actions */
1059
1953
  type ActionBase = {
1060
1954
  label: string;