@segmentify/ui 0.0.23 → 0.0.24

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/dist/ui.css CHANGED
@@ -20,6 +20,9 @@
20
20
  --ui-color-gray-400: #9fa6b2;
21
21
  --ui-color-gray-500: #6b7280;
22
22
  --ui-color-gray-600: #4b5563;
23
+ --ui-color-zinc-700: oklch(37% 0.013 285.805);
24
+ --ui-color-neutral-200: oklch(92.2% 0 0);
25
+ --ui-color-neutral-300: oklch(87% 0 0);
23
26
  --ui-color-neutral-500: oklch(55.6% 0 0);
24
27
  --ui-color-neutral-700: oklch(37.1% 0 0);
25
28
  --ui-color-neutral-800: oklch(26.9% 0 0);
@@ -32,8 +35,6 @@
32
35
  --ui-container-lg: 32rem;
33
36
  --ui-container-2xl: 42rem;
34
37
  --ui-container-3xl: 48rem;
35
- --ui-container-5xl: 64rem;
36
- --ui-container-6xl: 72rem;
37
38
  --ui-text-xs: 0.75rem;
38
39
  --ui-text-xs--line-height: calc(1 / 0.75);
39
40
  --ui-text-sm: 0.875rem;
@@ -50,6 +51,7 @@
50
51
  --ui-text-4xl--line-height: calc(2.5 / 2.25);
51
52
  --ui-text-7xl: 4.5rem;
52
53
  --ui-text-7xl--line-height: 1;
54
+ --ui-font-weight-light: 300;
53
55
  --ui-font-weight-normal: 400;
54
56
  --ui-font-weight-medium: 500;
55
57
  --ui-font-weight-semibold: 600;
@@ -285,9 +287,6 @@
285
287
  .ui\:relative {
286
288
  position: relative;
287
289
  }
288
- .ui\:sticky {
289
- position: sticky;
290
- }
291
290
  .ui\:inset-0 {
292
291
  inset: calc(var(--ui-spacing) * 0);
293
292
  }
@@ -390,9 +389,6 @@
390
389
  .ui\:-mx-1 {
391
390
  margin-inline: calc(var(--ui-spacing) * -1);
392
391
  }
393
- .ui\:-mx-4 {
394
- margin-inline: calc(var(--ui-spacing) * -4);
395
- }
396
392
  .ui\:mx-2 {
397
393
  margin-inline: calc(var(--ui-spacing) * 2);
398
394
  }
@@ -453,21 +449,12 @@
453
449
  .ui\:mr-2 {
454
450
  margin-right: calc(var(--ui-spacing) * 2);
455
451
  }
456
- .ui\:mb-0 {
457
- margin-bottom: calc(var(--ui-spacing) * 0);
458
- }
459
- .ui\:mb-1 {
460
- margin-bottom: calc(var(--ui-spacing) * 1);
461
- }
462
452
  .ui\:mb-2 {
463
453
  margin-bottom: calc(var(--ui-spacing) * 2);
464
454
  }
465
455
  .ui\:mb-4 {
466
456
  margin-bottom: calc(var(--ui-spacing) * 4);
467
457
  }
468
- .ui\:mb-6 {
469
- margin-bottom: calc(var(--ui-spacing) * 6);
470
- }
471
458
  .ui\:-ml-4 {
472
459
  margin-left: calc(var(--ui-spacing) * -4);
473
460
  }
@@ -508,10 +495,6 @@
508
495
  width: var(--cell-size);
509
496
  height: var(--cell-size);
510
497
  }
511
- .ui\:size-1\.5 {
512
- width: calc(var(--ui-spacing) * 1.5);
513
- height: calc(var(--ui-spacing) * 1.5);
514
- }
515
498
  .ui\:size-2 {
516
499
  width: calc(var(--ui-spacing) * 2);
517
500
  height: calc(var(--ui-spacing) * 2);
@@ -626,8 +609,8 @@
626
609
  .ui\:max-h-\(--radix-dropdown-menu-content-available-height\) {
627
610
  max-height: var(--radix-dropdown-menu-content-available-height);
628
611
  }
629
- .ui\:max-h-10 {
630
- max-height: calc(var(--ui-spacing) * 10);
612
+ .ui\:max-h-9 {
613
+ max-height: calc(var(--ui-spacing) * 9);
631
614
  }
632
615
  .ui\:max-h-24 {
633
616
  max-height: calc(var(--ui-spacing) * 24);
@@ -638,9 +621,6 @@
638
621
  .ui\:max-h-96 {
639
622
  max-height: calc(var(--ui-spacing) * 96);
640
623
  }
641
- .ui\:max-h-\[50vh\] {
642
- max-height: 50vh;
643
- }
644
624
  .ui\:max-h-\[80vh\] {
645
625
  max-height: 80vh;
646
626
  }
@@ -704,12 +684,6 @@
704
684
  .ui\:w-10 {
705
685
  width: calc(var(--ui-spacing) * 10);
706
686
  }
707
- .ui\:w-20 {
708
- width: calc(var(--ui-spacing) * 20);
709
- }
710
- .ui\:w-32 {
711
- width: calc(var(--ui-spacing) * 32);
712
- }
713
687
  .ui\:w-48 {
714
688
  width: calc(var(--ui-spacing) * 48);
715
689
  }
@@ -764,24 +738,12 @@
764
738
  .ui\:max-w-3xl {
765
739
  max-width: var(--ui-container-3xl);
766
740
  }
767
- .ui\:max-w-5xl {
768
- max-width: var(--ui-container-5xl);
769
- }
770
- .ui\:max-w-6xl {
771
- max-width: var(--ui-container-6xl);
772
- }
773
- .ui\:max-w-40 {
774
- max-width: calc(var(--ui-spacing) * 40);
775
- }
776
741
  .ui\:max-w-80 {
777
742
  max-width: calc(var(--ui-spacing) * 80);
778
743
  }
779
744
  .ui\:max-w-96 {
780
745
  max-width: calc(var(--ui-spacing) * 96);
781
746
  }
782
- .ui\:max-w-\[200px\] {
783
- max-width: 200px;
784
- }
785
747
  .ui\:max-w-\[calc\(100\%-2rem\)\] {
786
748
  max-width: calc(100% - 2rem);
787
749
  }
@@ -818,6 +780,9 @@
818
780
  .ui\:min-w-\[8rem\] {
819
781
  min-width: 8rem;
820
782
  }
783
+ .ui\:min-w-full {
784
+ min-width: 100%;
785
+ }
821
786
  .ui\:flex-1 {
822
787
  flex: 1;
823
788
  }
@@ -833,9 +798,6 @@
833
798
  .ui\:basis-full {
834
799
  flex-basis: 100%;
835
800
  }
836
- .ui\:caption-bottom {
837
- caption-side: bottom;
838
- }
839
801
  .ui\:border-collapse {
840
802
  border-collapse: collapse;
841
803
  }
@@ -876,7 +838,7 @@
876
838
  --tw-translate-y: -50%;
877
839
  translate: var(--tw-translate-x) var(--tw-translate-y);
878
840
  }
879
- .ui\:translate-y-\[calc\(-50\%-2px\)\] {
841
+ .ui\:translate-y-\[calc\(-50\%_-_2px\)\] {
880
842
  --tw-translate-y: calc(-50% - 2px);
881
843
  translate: var(--tw-translate-x) var(--tw-translate-y);
882
844
  }
@@ -979,9 +941,6 @@
979
941
  .ui\:justify-center {
980
942
  justify-content: center;
981
943
  }
982
- .ui\:justify-end {
983
- justify-content: flex-end;
984
- }
985
944
  .ui\:justify-start {
986
945
  justify-content: flex-start;
987
946
  }
@@ -1027,13 +986,6 @@
1027
986
  margin-block-end: calc(calc(var(--ui-spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1028
987
  }
1029
988
  }
1030
- .ui\:space-y-2\.5 {
1031
- :where(& > :not(:last-child)) {
1032
- --tw-space-y-reverse: 0;
1033
- margin-block-start: calc(calc(var(--ui-spacing) * 2.5) * var(--tw-space-y-reverse));
1034
- margin-block-end: calc(calc(var(--ui-spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
1035
- }
1036
- }
1037
989
  .ui\:space-y-3 {
1038
990
  :where(& > :not(:last-child)) {
1039
991
  --tw-space-y-reverse: 0;
@@ -1168,10 +1120,6 @@
1168
1120
  border-style: var(--tw-border-style);
1169
1121
  border-width: 0px;
1170
1122
  }
1171
- .ui\:border-4 {
1172
- border-style: var(--tw-border-style);
1173
- border-width: 4px;
1174
- }
1175
1123
  .ui\:border-\[1\.5px\] {
1176
1124
  border-style: var(--tw-border-style);
1177
1125
  border-width: 1.5px;
@@ -1236,15 +1184,15 @@
1236
1184
  .ui\:border-input {
1237
1185
  border-color: var(--ui-color-input);
1238
1186
  }
1187
+ .ui\:border-neutral-200 {
1188
+ border-color: var(--ui-color-neutral-200);
1189
+ }
1239
1190
  .ui\:border-primary {
1240
1191
  border-color: var(--ui-color-primary);
1241
1192
  }
1242
1193
  .ui\:border-primary\! {
1243
1194
  border-color: var(--ui-color-primary) !important;
1244
1195
  }
1245
- .ui\:border-segmentify-200 {
1246
- border-color: var(--ui-color-segmentify-200);
1247
- }
1248
1196
  .ui\:border-sidebar-border {
1249
1197
  border-color: var(--ui-sidebar-border);
1250
1198
  }
@@ -1311,12 +1259,6 @@
1311
1259
  .ui\:bg-muted {
1312
1260
  background-color: var(--ui-color-muted);
1313
1261
  }
1314
- .ui\:bg-muted-foreground\/50 {
1315
- background-color: var(--ui-color-muted-foreground);
1316
- @supports (color: color-mix(in lab, red, red)) {
1317
- background-color: color-mix(in oklab, var(--ui-color-muted-foreground) 50%, transparent);
1318
- }
1319
- }
1320
1262
  .ui\:bg-muted\/30 {
1321
1263
  background-color: var(--ui-color-muted);
1322
1264
  @supports (color: color-mix(in lab, red, red)) {
@@ -1389,6 +1331,9 @@
1389
1331
  .ui\:bg-yellow-500 {
1390
1332
  background-color: var(--ui-color-yellow-500);
1391
1333
  }
1334
+ .ui\:bg-zinc-700 {
1335
+ background-color: var(--ui-color-zinc-700);
1336
+ }
1392
1337
  .ui\:fill-current {
1393
1338
  fill: currentcolor;
1394
1339
  }
@@ -1476,9 +1421,6 @@
1476
1421
  .ui\:py-6 {
1477
1422
  padding-block: calc(var(--ui-spacing) * 6);
1478
1423
  }
1479
- .ui\:py-8 {
1480
- padding-block: calc(var(--ui-spacing) * 8);
1481
- }
1482
1424
  .ui\:pt-0 {
1483
1425
  padding-top: calc(var(--ui-spacing) * 0);
1484
1426
  }
@@ -1524,9 +1466,6 @@
1524
1466
  .ui\:pl-4 {
1525
1467
  padding-left: calc(var(--ui-spacing) * 4);
1526
1468
  }
1527
- .ui\:pl-6 {
1528
- padding-left: calc(var(--ui-spacing) * 6);
1529
- }
1530
1469
  .ui\:pl-8 {
1531
1470
  padding-left: calc(var(--ui-spacing) * 8);
1532
1471
  }
@@ -1539,9 +1478,6 @@
1539
1478
  .ui\:text-right {
1540
1479
  text-align: right;
1541
1480
  }
1542
- .ui\:align-middle {
1543
- vertical-align: middle;
1544
- }
1545
1481
  .ui\:font-mono {
1546
1482
  font-family: var(--ui-font-mono);
1547
1483
  }
@@ -1602,6 +1538,10 @@
1602
1538
  --tw-font-weight: var(--ui-font-weight-bold);
1603
1539
  font-weight: var(--ui-font-weight-bold);
1604
1540
  }
1541
+ .ui\:font-light {
1542
+ --tw-font-weight: var(--ui-font-weight-light);
1543
+ font-weight: var(--ui-font-weight-light);
1544
+ }
1605
1545
  .ui\:font-medium {
1606
1546
  --tw-font-weight: var(--ui-font-weight-medium);
1607
1547
  font-weight: var(--ui-font-weight-medium);
@@ -1638,9 +1578,6 @@
1638
1578
  .ui\:text-accent-foreground {
1639
1579
  color: var(--ui-color-accent-foreground);
1640
1580
  }
1641
- .ui\:text-background {
1642
- color: var(--ui-color-background);
1643
- }
1644
1581
  .ui\:text-black-250 {
1645
1582
  color: var(--ui-color-black-250);
1646
1583
  }
@@ -2219,42 +2156,6 @@
2219
2156
  color: var(--ui-color-muted-foreground);
2220
2157
  }
2221
2158
  }
2222
- .ui\:before\:absolute {
2223
- &::before {
2224
- content: var(--tw-content);
2225
- position: absolute;
2226
- }
2227
- }
2228
- .ui\:before\:top-0 {
2229
- &::before {
2230
- content: var(--tw-content);
2231
- top: calc(var(--ui-spacing) * 0);
2232
- }
2233
- }
2234
- .ui\:before\:left-0 {
2235
- &::before {
2236
- content: var(--tw-content);
2237
- left: calc(var(--ui-spacing) * 0);
2238
- }
2239
- }
2240
- .ui\:before\:h-full {
2241
- &::before {
2242
- content: var(--tw-content);
2243
- height: 100%;
2244
- }
2245
- }
2246
- .ui\:before\:w-px {
2247
- &::before {
2248
- content: var(--tw-content);
2249
- width: 1px;
2250
- }
2251
- }
2252
- .ui\:before\:bg-border {
2253
- &::before {
2254
- content: var(--tw-content);
2255
- background-color: var(--ui-color-border);
2256
- }
2257
- }
2258
2159
  .ui\:after\:absolute {
2259
2160
  &::after {
2260
2161
  content: var(--tw-content);
@@ -2273,48 +2174,18 @@
2273
2174
  inset-block: calc(var(--ui-spacing) * 0);
2274
2175
  }
2275
2176
  }
2276
- .ui\:after\:top-0 {
2277
- &::after {
2278
- content: var(--tw-content);
2279
- top: calc(var(--ui-spacing) * 0);
2280
- }
2281
- }
2282
- .ui\:after\:right-0 {
2283
- &::after {
2284
- content: var(--tw-content);
2285
- right: calc(var(--ui-spacing) * 0);
2286
- }
2287
- }
2288
2177
  .ui\:after\:left-1\/2 {
2289
2178
  &::after {
2290
2179
  content: var(--tw-content);
2291
2180
  left: calc(1/2 * 100%);
2292
2181
  }
2293
2182
  }
2294
- .ui\:after\:h-full {
2295
- &::after {
2296
- content: var(--tw-content);
2297
- height: 100%;
2298
- }
2299
- }
2300
2183
  .ui\:after\:w-\[2px\] {
2301
2184
  &::after {
2302
2185
  content: var(--tw-content);
2303
2186
  width: 2px;
2304
2187
  }
2305
2188
  }
2306
- .ui\:after\:w-px {
2307
- &::after {
2308
- content: var(--tw-content);
2309
- width: 1px;
2310
- }
2311
- }
2312
- .ui\:after\:bg-border {
2313
- &::after {
2314
- content: var(--tw-content);
2315
- background-color: var(--ui-color-border);
2316
- }
2317
- }
2318
2189
  .ui\:group-data-\[collapsible\=offcanvas\]\:after\:left-full {
2319
2190
  &:is(:where(.ui\:group)[data-collapsible="offcanvas"] *) {
2320
2191
  &::after {
@@ -2435,6 +2306,13 @@
2435
2306
  }
2436
2307
  }
2437
2308
  }
2309
+ .ui\:hover\:bg-neutral-300 {
2310
+ &:hover {
2311
+ @media (hover: hover) {
2312
+ background-color: var(--ui-color-neutral-300);
2313
+ }
2314
+ }
2315
+ }
2438
2316
  .ui\:hover\:bg-neutral-800 {
2439
2317
  &:hover {
2440
2318
  @media (hover: hover) {
@@ -2483,6 +2361,13 @@
2483
2361
  }
2484
2362
  }
2485
2363
  }
2364
+ .ui\:hover\:bg-zinc-700 {
2365
+ &:hover {
2366
+ @media (hover: hover) {
2367
+ background-color: var(--ui-color-zinc-700);
2368
+ }
2369
+ }
2370
+ }
2486
2371
  .ui\:hover\:text-accent-foreground {
2487
2372
  &:hover {
2488
2373
  @media (hover: hover) {
@@ -3281,11 +3166,6 @@
3281
3166
  }
3282
3167
  }
3283
3168
  }
3284
- .ui\:data-\[state\=selected\]\:bg-muted {
3285
- &[data-state="selected"] {
3286
- background-color: var(--ui-color-muted);
3287
- }
3288
- }
3289
3169
  .ui\:data-\[state\=unchecked\]\:translate-x-0 {
3290
3170
  &[data-state="unchecked"] {
3291
3171
  --tw-translate-x: calc(var(--ui-spacing) * 0);
@@ -3620,6 +3500,11 @@
3620
3500
  color: var(--ui-color-muted-foreground);
3621
3501
  }
3622
3502
  }
3503
+ .ui\:dark\:text-white {
3504
+ &:is(.dark *) {
3505
+ color: var(--ui-color-white);
3506
+ }
3507
+ }
3623
3508
  .ui\:dark\:hover\:bg-input\/50 {
3624
3509
  &:is(.dark *) {
3625
3510
  &:hover {
@@ -3901,12 +3786,6 @@
3901
3786
  color: var(--ui-color-muted-foreground);
3902
3787
  }
3903
3788
  }
3904
- .ui\:\[\&_tr\]\:border-b {
3905
- & tr {
3906
- border-bottom-style: var(--tw-border-style);
3907
- border-bottom-width: 1px;
3908
- }
3909
- }
3910
3789
  .ui\:\[\&_tr\:last-child\]\:border-0 {
3911
3790
  & tr:last-child {
3912
3791
  border-style: var(--tw-border-style);
@@ -3947,14 +3826,6 @@
3947
3826
  }
3948
3827
  }
3949
3828
  }
3950
- .ui\:\*\:\[\[role\=checkbox\]\]\:translate-y-\[2px\] {
3951
- :is(& > *) {
3952
- &:is([role=checkbox]) {
3953
- --tw-translate-y: 2px;
3954
- translate: var(--tw-translate-x) var(--tw-translate-y);
3955
- }
3956
- }
3957
- }
3958
3829
  .ui\:\*\:\[span\]\:last\:flex {
3959
3830
  :is(& > *) {
3960
3831
  &:is(span) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@segmentify/ui",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "description": "A collection of reusable React UI components built with Tailwind CSS and Radix UI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +0,0 @@
1
- interface ColumnVisibilityProps {
2
- inputPlaceholder?: string;
3
- emptyMessage?: string;
4
- allOptionLabel?: string;
5
- }
6
- export declare function ColumnVisibility({ inputPlaceholder, emptyMessage, allOptionLabel, }: ColumnVisibilityProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,8 +0,0 @@
1
- import { ReactNode } from 'react';
2
- interface ContentProps {
3
- className?: string;
4
- loadingContent?: ReactNode;
5
- emptyContent?: ReactNode;
6
- }
7
- export declare function Content({ className, loadingContent, emptyContent, }: ContentProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
@@ -1,9 +0,0 @@
1
- import { type Table as TanstackTable } from '@tanstack/react-table';
2
- export interface DataTableContextValue<TData> {
3
- table: TanstackTable<TData>;
4
- isLoading: boolean;
5
- globalFilter: string;
6
- onGlobalFilterChange: (value: string) => void;
7
- }
8
- export declare const DataTableContext: import("react").Context<DataTableContextValue<unknown> | null>;
9
- export declare function useDataTableContext<TData>(): DataTableContextValue<TData>;
@@ -1,13 +0,0 @@
1
- import { Root } from './root';
2
- import { Toolbar } from './toolbar';
3
- import { Search } from './search';
4
- import { ColumnVisibility } from './column-visibility';
5
- import { Content } from './content';
6
- export declare const DataTable: {
7
- Root: typeof Root;
8
- Toolbar: typeof Toolbar;
9
- Search: typeof Search;
10
- ColumnVisibility: typeof ColumnVisibility;
11
- Content: typeof Content;
12
- Pagination: ({ showSelectedCount, previousLabel, nextLabel, className, }: import("./pagination").PaginationProps) => import("react/jsx-runtime").JSX.Element;
13
- };
@@ -1,7 +0,0 @@
1
- export interface PaginationProps {
2
- showSelectedCount?: boolean;
3
- previousLabel?: string;
4
- nextLabel?: string;
5
- className?: string;
6
- }
7
- export declare const Pagination: ({ showSelectedCount, previousLabel, nextLabel, className, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { type Table as TanstackTable } from '@tanstack/react-table';
3
- interface RootProps<TData> {
4
- table: TanstackTable<TData>;
5
- children: ReactNode;
6
- isLoading?: boolean;
7
- globalFilter?: string;
8
- onGlobalFilterChange?: (value: string) => void;
9
- className?: string;
10
- }
11
- export declare function Root<TData>({ table, children, isLoading, globalFilter, onGlobalFilterChange, className, }: RootProps<TData>): import("react/jsx-runtime").JSX.Element;
12
- export {};
@@ -1,7 +0,0 @@
1
- interface SearchProps {
2
- placeholder?: string;
3
- filterColumn?: string;
4
- className?: string;
5
- }
6
- export declare function Search({ placeholder, filterColumn, className }: SearchProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,7 +0,0 @@
1
- import { ReactNode } from 'react';
2
- interface ToolbarProps {
3
- children: ReactNode;
4
- className?: string;
5
- }
6
- export declare function Toolbar({ children, className }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,133 +0,0 @@
1
- import { type ColumnDef, type ColumnFiltersState, type SortingState, type VisibilityState, type PaginationState, type RowSelectionState, type Table } from '@tanstack/react-table';
2
- import { type UseQueryOptions } from '@tanstack/react-query';
3
- export interface FetcherParams {
4
- pageIndex: number;
5
- pageSize: number;
6
- sorting: SortingState;
7
- columnFilters: ColumnFiltersState;
8
- globalFilter: string;
9
- }
10
- export interface FetcherResponse<TData> {
11
- data: TData[];
12
- totalCount?: number;
13
- }
14
- export interface UseDataTableOptions<TData> {
15
- /**
16
- * Unique key for the query cache
17
- * @required
18
- */
19
- queryKey: string;
20
- /**
21
- * Column definitions for the table
22
- */
23
- columns: ColumnDef<TData>[];
24
- /**
25
- * Fetcher function to load data
26
- * Receives fetch params and should return data + optional totalCount
27
- */
28
- fetcher: (params: FetcherParams) => Promise<FetcherResponse<TData>>;
29
- /**
30
- * Initial page size
31
- * @default 10
32
- */
33
- initialPageSize?: number;
34
- /**
35
- * Initial sorting state
36
- */
37
- initialSorting?: SortingState;
38
- /**
39
- * Initial column visibility
40
- */
41
- initialColumnVisibility?: VisibilityState;
42
- /**
43
- * Whether pagination is handled manually (server-side)
44
- * @default false
45
- */
46
- manualPagination?: boolean;
47
- /**
48
- * Whether sorting is handled manually (server-side)
49
- * @default false
50
- */
51
- manualSorting?: boolean;
52
- /**
53
- * Whether filtering is handled manually (server-side)
54
- * @default false
55
- */
56
- manualFiltering?: boolean;
57
- /**
58
- * Additional react-query options
59
- * Allows customizing staleTime, gcTime, refetchInterval, etc.
60
- */
61
- queryOptions?: Omit<UseQueryOptions<FetcherResponse<TData>, Error>, 'queryKey' | 'queryFn'>;
62
- }
63
- export interface UseDataTableReturn<TData> {
64
- /**
65
- * The table instance from @tanstack/react-table
66
- */
67
- table: Table<TData>;
68
- /**
69
- * The current data array
70
- */
71
- data: TData[];
72
- /**
73
- * Whether the initial data is loading (no data yet)
74
- */
75
- isLoading: boolean;
76
- /**
77
- * Whether data is being fetched (including background refetches)
78
- */
79
- isFetching: boolean;
80
- /**
81
- * Whether a refetch is in progress
82
- */
83
- isRefetching: boolean;
84
- /**
85
- * Error if the fetch failed
86
- */
87
- error: Error | null;
88
- /**
89
- * Total count of items (for pagination)
90
- */
91
- totalCount: number;
92
- /**
93
- * Refetch the data
94
- */
95
- refetch: () => void;
96
- /**
97
- * Current global filter value
98
- */
99
- globalFilter: string;
100
- /**
101
- * Set the global filter
102
- */
103
- setGlobalFilter: (value: string) => void;
104
- /**
105
- * Current sorting state
106
- */
107
- sorting: SortingState;
108
- /**
109
- * Current pagination state
110
- */
111
- pagination: PaginationState;
112
- /**
113
- * Current column filters
114
- */
115
- columnFilters: ColumnFiltersState;
116
- /**
117
- * Current column visibility
118
- */
119
- columnVisibility: VisibilityState;
120
- /**
121
- * Current row selection
122
- */
123
- rowSelection: RowSelectionState;
124
- /**
125
- * Whether the query is in success state
126
- */
127
- isSuccess: boolean;
128
- /**
129
- * Whether the query is in error state
130
- */
131
- isError: boolean;
132
- }
133
- export declare function useDataTable<TData>({ queryKey, columns, fetcher, initialPageSize, initialSorting, initialColumnVisibility, manualPagination, manualSorting, manualFiltering, queryOptions, }: UseDataTableOptions<TData>): UseDataTableReturn<TData>;
package/dist/mock.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { ColumnDef } from '@tanstack/react-table';
2
- import { Product } from './app';
3
- export declare const columns: ColumnDef<Product>[];