compote-ui 0.65.1 → 0.67.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/dist/components/app-shell/app-shell-aside.svelte +16 -0
- package/dist/components/app-shell/app-shell-aside.svelte.d.ts +4 -0
- package/dist/components/app-shell/app-shell-footer.svelte +16 -0
- package/dist/components/app-shell/app-shell-footer.svelte.d.ts +4 -0
- package/dist/components/app-shell/app-shell-header.svelte +16 -0
- package/dist/components/app-shell/app-shell-header.svelte.d.ts +4 -0
- package/dist/components/app-shell/app-shell-main.svelte +10 -0
- package/dist/components/app-shell/app-shell-main.svelte.d.ts +4 -0
- package/dist/components/app-shell/app-shell-navbar.svelte +16 -0
- package/dist/components/app-shell/app-shell-navbar.svelte.d.ts +4 -0
- package/dist/components/app-shell/app-shell-section.svelte +17 -0
- package/dist/components/app-shell/app-shell-section.svelte.d.ts +7 -0
- package/dist/components/app-shell/app-shell.svelte +16 -0
- package/dist/components/app-shell/app-shell.svelte.d.ts +4 -0
- package/dist/components/app-shell/index.d.ts +7 -0
- package/dist/components/app-shell/index.js +7 -0
- package/dist/components/data-table-v9/create-table.svelte.d.ts +24 -46
- package/dist/components/data-table-v9/create-table.svelte.js +19 -2
- package/dist/components/data-table-v9/data-table-utils.d.ts +24 -46
- package/dist/components/data-table-v9/data-table-utils.js +11 -11
- package/dist/components/data-table-v9/features.d.ts +24 -46
- package/dist/components/data-table-v9/table-view-state.svelte.d.ts +96 -184
- package/dist/components/data-table-v9/table-view-state.svelte.js +5 -5
- package/dist/components/nav-rail/index.d.ts +2 -0
- package/dist/components/nav-rail/index.js +2 -0
- package/dist/components/nav-rail/nav-rail-item.svelte +54 -0
- package/dist/components/nav-rail/nav-rail-item.svelte.d.ts +12 -0
- package/dist/components/nav-rail/nav-rail.svelte +23 -0
- package/dist/components/nav-rail/nav-rail.svelte.d.ts +7 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +13 -13
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<aside
|
|
9
|
+
class={cn(
|
|
10
|
+
'col-start-3 row-start-2 flex w-72 flex-col overflow-hidden border-l border-border bg-surface-1',
|
|
11
|
+
className
|
|
12
|
+
)}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
</aside>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<footer
|
|
9
|
+
class={cn(
|
|
10
|
+
'col-span-full row-start-3 flex items-center border-t border-border bg-surface-1 px-4',
|
|
11
|
+
className
|
|
12
|
+
)}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
</footer>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<header
|
|
9
|
+
class={cn(
|
|
10
|
+
'col-span-full row-start-1 flex items-center border-b border-border bg-surface-1 px-4',
|
|
11
|
+
className
|
|
12
|
+
)}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
</header>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<main class={cn('col-start-2 row-start-2 min-w-0 overflow-y-auto p-6', className)} {...rest}>
|
|
9
|
+
{@render children?.()}
|
|
10
|
+
</main>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<nav
|
|
9
|
+
class={cn(
|
|
10
|
+
'col-start-1 row-start-2 flex w-60 flex-col overflow-hidden border-r border-border bg-surface-1',
|
|
11
|
+
className
|
|
12
|
+
)}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
</nav>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
type Props = HTMLAttributes<HTMLDivElement> & {
|
|
6
|
+
grow?: boolean;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
let { grow = false, class: className, children, ...rest }: Props = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
class={cn(grow ? 'min-h-0 flex-1 overflow-x-hidden overflow-y-auto' : 'shrink-0', className)}
|
|
14
|
+
{...rest}
|
|
15
|
+
>
|
|
16
|
+
{@render children?.()}
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
+
type Props = HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
grow?: boolean;
|
|
4
|
+
};
|
|
5
|
+
declare const AppShellSection: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type AppShellSection = ReturnType<typeof AppShellSection>;
|
|
7
|
+
export default AppShellSection;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
let { class: className, children, ...rest }: HTMLAttributes<HTMLDivElement> = $props();
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<div
|
|
9
|
+
class={cn(
|
|
10
|
+
'relative grid h-dvh grid-cols-[auto_1fr_auto] grid-rows-[auto_1fr_auto] bg-surface-document text-ink',
|
|
11
|
+
className
|
|
12
|
+
)}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as Root } from './app-shell.svelte';
|
|
2
|
+
export { default as Header } from './app-shell-header.svelte';
|
|
3
|
+
export { default as Navbar } from './app-shell-navbar.svelte';
|
|
4
|
+
export { default as Main } from './app-shell-main.svelte';
|
|
5
|
+
export { default as Aside } from './app-shell-aside.svelte';
|
|
6
|
+
export { default as Footer } from './app-shell-footer.svelte';
|
|
7
|
+
export { default as Section } from './app-shell-section.svelte';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as Root } from './app-shell.svelte';
|
|
2
|
+
export { default as Header } from './app-shell-header.svelte';
|
|
3
|
+
export { default as Navbar } from './app-shell-navbar.svelte';
|
|
4
|
+
export { default as Main } from './app-shell-main.svelte';
|
|
5
|
+
export { default as Aside } from './app-shell-aside.svelte';
|
|
6
|
+
export { default as Footer } from './app-shell-footer.svelte';
|
|
7
|
+
export { default as Section } from './app-shell-section.svelte';
|
|
@@ -44,54 +44,32 @@ export declare function createTable<T extends RowData>(options: CreateDataTableO
|
|
|
44
44
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
45
45
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
46
46
|
sortFns: {
|
|
47
|
-
alphanumeric:
|
|
48
|
-
alphanumericCaseSensitive:
|
|
49
|
-
basic:
|
|
50
|
-
datetime:
|
|
51
|
-
text:
|
|
52
|
-
textCaseSensitive:
|
|
47
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
48
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
49
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
50
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
51
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
52
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
53
53
|
};
|
|
54
54
|
filterFns: {
|
|
55
|
-
arrIncludes:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
74
|
-
autoRemove: (val: any) => boolean;
|
|
75
|
-
};
|
|
76
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
77
|
-
autoRemove: (val: any) => boolean;
|
|
78
|
-
resolveFilterValue: (val: any) => string;
|
|
79
|
-
};
|
|
80
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
81
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
82
|
-
autoRemove: (val: any) => boolean;
|
|
83
|
-
};
|
|
84
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
85
|
-
autoRemove: (val: any) => boolean;
|
|
86
|
-
resolveFilterValue: (val: any) => string;
|
|
87
|
-
};
|
|
88
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
89
|
-
autoRemove: (val: any) => boolean;
|
|
90
|
-
resolveFilterValue: (val: any) => string;
|
|
91
|
-
};
|
|
92
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
93
|
-
autoRemove: (val: any) => boolean;
|
|
94
|
-
};
|
|
55
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
56
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
57
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
58
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
59
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
60
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
61
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
62
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
63
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
64
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
65
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
66
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
67
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
68
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
69
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
70
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
71
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
72
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
95
73
|
};
|
|
96
74
|
columnMeta: DataTableColumnMeta;
|
|
97
75
|
}, T, import("@tanstack/table-core").TableState_ColumnFiltering & import("@tanstack/table-core").TableState_ColumnPinning & import("@tanstack/table-core").TableState_ColumnResizing & import("@tanstack/table-core").TableState_ColumnSizing & import("@tanstack/table-core").TableState_ColumnVisibility & import("@tanstack/table-core").TableState_GlobalFiltering & import("@tanstack/table-core").TableState_RowSelection & import("@tanstack/table-core").TableState_RowSorting>;
|
|
@@ -32,6 +32,21 @@ export function createTable(options) {
|
|
|
32
32
|
enableRowSelection: options.enableRowSelection ?? false,
|
|
33
33
|
enableMultiRowSelection: options.enableMultiRowSelection,
|
|
34
34
|
enableSorting: options.enableSorting,
|
|
35
|
+
// TanStack's default only inspects the FIRST row's value to decide whether a
|
|
36
|
+
// column participates in global search. If that value is null/undefined the
|
|
37
|
+
// column is excluded for the whole table, even when later rows have text.
|
|
38
|
+
// Treat null/undefined as unknown → allow; still exclude non-text values
|
|
39
|
+
// (booleans, objects, arrays) exactly as the default does.
|
|
40
|
+
// Explicit param/return types keep this callback's signature independent of
|
|
41
|
+
// `table` (which it closes over), avoiding a circular type inference. `as
|
|
42
|
+
// never` sidesteps the option's generic-function contextual type — matching
|
|
43
|
+
// the `filterFn as never` pattern above — so it doesn't perturb inference.
|
|
44
|
+
getColumnCanGlobalFilter: ((column) => {
|
|
45
|
+
const value = table
|
|
46
|
+
.getCoreRowModel()
|
|
47
|
+
.flatRows[0]?.getAllCellsByColumnId()[column.id]?.getValue();
|
|
48
|
+
return value == null || typeof value === 'string' || typeof value === 'number';
|
|
49
|
+
}),
|
|
35
50
|
debugTable: options.debugTable,
|
|
36
51
|
initialState: {
|
|
37
52
|
columnVisibility: initialColumnVisibility,
|
|
@@ -101,9 +116,11 @@ function createColumnSizing(columns) {
|
|
|
101
116
|
}
|
|
102
117
|
function createColumnPinning(columns) {
|
|
103
118
|
const leafCols = getLeafColumns(columns);
|
|
119
|
+
// Compote exposes `pinned: 'left' | 'right'` publicly; v9 uses logical
|
|
120
|
+
// start/end pinning state, so translate at this boundary.
|
|
104
121
|
return {
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
start: leafCols.filter((c) => c.pinned === 'left').map(getColumnId),
|
|
123
|
+
end: leafCols.filter((c) => c.pinned === 'right').map(getColumnId)
|
|
107
124
|
};
|
|
108
125
|
}
|
|
109
126
|
function createColumns(columns, localeCtx) {
|
|
@@ -38,54 +38,32 @@ export declare function getRowCells<T extends RowData>(row: Row<DataTableFeature
|
|
|
38
38
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
39
39
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
40
40
|
sortFns: {
|
|
41
|
-
alphanumeric:
|
|
42
|
-
alphanumericCaseSensitive:
|
|
43
|
-
basic:
|
|
44
|
-
datetime:
|
|
45
|
-
text:
|
|
46
|
-
textCaseSensitive:
|
|
41
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
42
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
43
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
44
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
45
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
46
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
47
47
|
};
|
|
48
48
|
filterFns: {
|
|
49
|
-
arrIncludes:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
68
|
-
autoRemove: (val: any) => boolean;
|
|
69
|
-
};
|
|
70
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
71
|
-
autoRemove: (val: any) => boolean;
|
|
72
|
-
resolveFilterValue: (val: any) => string;
|
|
73
|
-
};
|
|
74
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
75
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
76
|
-
autoRemove: (val: any) => boolean;
|
|
77
|
-
};
|
|
78
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
79
|
-
autoRemove: (val: any) => boolean;
|
|
80
|
-
resolveFilterValue: (val: any) => string;
|
|
81
|
-
};
|
|
82
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
83
|
-
autoRemove: (val: any) => boolean;
|
|
84
|
-
resolveFilterValue: (val: any) => string;
|
|
85
|
-
};
|
|
86
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
87
|
-
autoRemove: (val: any) => boolean;
|
|
88
|
-
};
|
|
49
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
50
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
51
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
52
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
53
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
54
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
55
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
56
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
57
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
58
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
59
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
60
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
61
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
62
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
63
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
64
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
65
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
66
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
89
67
|
};
|
|
90
68
|
columnMeta: DataTableColumnMeta;
|
|
91
69
|
}, T, unknown>[];
|
|
@@ -65,9 +65,9 @@ export function getRowCells(row, state) {
|
|
|
65
65
|
void state.columnPinning;
|
|
66
66
|
void state.columnSizing;
|
|
67
67
|
return [
|
|
68
|
-
...row.
|
|
68
|
+
...row.getStartVisibleCells(),
|
|
69
69
|
...row.getCenterVisibleCells(),
|
|
70
|
-
...row.
|
|
70
|
+
...row.getEndVisibleCells()
|
|
71
71
|
];
|
|
72
72
|
}
|
|
73
73
|
export function getBooleanCellValue(value) {
|
|
@@ -85,9 +85,9 @@ export function getPinningStyle(column, table, state, isHeader = false, isRowSel
|
|
|
85
85
|
return undefined;
|
|
86
86
|
const zIndex = isHeader ? 15 : 1;
|
|
87
87
|
const selectionOffset = isRowSelectionEnabled ? 40 : 0;
|
|
88
|
-
if (isPinned === '
|
|
89
|
-
const left = column.getStart('
|
|
90
|
-
const leftCols = table.
|
|
88
|
+
if (isPinned === 'start') {
|
|
89
|
+
const left = column.getStart('start') + selectionOffset;
|
|
90
|
+
const leftCols = table.getStartLeafColumns();
|
|
91
91
|
const isLastLeft = leftCols[leftCols.length - 1]?.id === column.id;
|
|
92
92
|
const shadow = !isHeader && isLastLeft
|
|
93
93
|
? 'box-shadow: -4px 0 4px -4px var(--compote-border) inset'
|
|
@@ -97,8 +97,8 @@ export function getPinningStyle(column, table, state, isHeader = false, isRowSel
|
|
|
97
97
|
.join('; ');
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
|
-
const right = column.getAfter('
|
|
101
|
-
const rightCols = table.
|
|
100
|
+
const right = column.getAfter('end');
|
|
101
|
+
const rightCols = table.getEndLeafColumns();
|
|
102
102
|
const isFirstRight = rightCols[0]?.id === column.id;
|
|
103
103
|
const shadow = !isHeader && isFirstRight
|
|
104
104
|
? 'box-shadow: 4px 0 4px -4px var(--compote-border) inset'
|
|
@@ -128,15 +128,15 @@ export function getGroupPinningStyle(header, section, state, isRowSelectionEnabl
|
|
|
128
128
|
const leafHeaders = collectLeafHeaders(header);
|
|
129
129
|
if (section === 'left') {
|
|
130
130
|
const first = leafHeaders[0];
|
|
131
|
-
if (first?.column.getIsPinned() !== '
|
|
131
|
+
if (first?.column.getIsPinned() !== 'start')
|
|
132
132
|
return undefined;
|
|
133
|
-
const left = first.column.getStart('
|
|
133
|
+
const left = first.column.getStart('start') + (isRowSelectionEnabled ? 40 : 0);
|
|
134
134
|
return `position: sticky; z-index: 15; left: ${left}px`;
|
|
135
135
|
}
|
|
136
136
|
const last = leafHeaders[leafHeaders.length - 1];
|
|
137
|
-
if (last?.column.getIsPinned() !== '
|
|
137
|
+
if (last?.column.getIsPinned() !== 'end')
|
|
138
138
|
return undefined;
|
|
139
|
-
return `position: sticky; z-index: 15; right: ${last.column.getAfter('
|
|
139
|
+
return `position: sticky; z-index: 15; right: ${last.column.getAfter('end')}px`;
|
|
140
140
|
}
|
|
141
141
|
export function getUrlCellValue(value) {
|
|
142
142
|
if (typeof value !== 'string' || value.trim() === '')
|
|
@@ -15,54 +15,32 @@ export declare const dataTableFeatures: {
|
|
|
15
15
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
16
16
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
17
17
|
sortFns: {
|
|
18
|
-
alphanumeric:
|
|
19
|
-
alphanumericCaseSensitive:
|
|
20
|
-
basic:
|
|
21
|
-
datetime:
|
|
22
|
-
text:
|
|
23
|
-
textCaseSensitive:
|
|
18
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
19
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
20
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
21
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
22
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
23
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
24
24
|
};
|
|
25
25
|
filterFns: {
|
|
26
|
-
arrIncludes:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
45
|
-
autoRemove: (val: any) => boolean;
|
|
46
|
-
};
|
|
47
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
48
|
-
autoRemove: (val: any) => boolean;
|
|
49
|
-
resolveFilterValue: (val: any) => string;
|
|
50
|
-
};
|
|
51
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
52
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
53
|
-
autoRemove: (val: any) => boolean;
|
|
54
|
-
};
|
|
55
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
56
|
-
autoRemove: (val: any) => boolean;
|
|
57
|
-
resolveFilterValue: (val: any) => string;
|
|
58
|
-
};
|
|
59
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
60
|
-
autoRemove: (val: any) => boolean;
|
|
61
|
-
resolveFilterValue: (val: any) => string;
|
|
62
|
-
};
|
|
63
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends import("@tanstack/table-core").RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
64
|
-
autoRemove: (val: any) => boolean;
|
|
65
|
-
};
|
|
26
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
27
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
28
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
29
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
30
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
31
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
32
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
33
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
34
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
35
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
36
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
37
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
38
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
39
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
40
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
41
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
42
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
43
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
66
44
|
};
|
|
67
45
|
columnMeta: DataTableColumnMeta;
|
|
68
46
|
};
|
|
@@ -35,54 +35,32 @@ export declare function createTableViewState<T extends RowData>(getTable: () =>
|
|
|
35
35
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
36
36
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
37
37
|
sortFns: {
|
|
38
|
-
alphanumeric:
|
|
39
|
-
alphanumericCaseSensitive:
|
|
40
|
-
basic:
|
|
41
|
-
datetime:
|
|
42
|
-
text:
|
|
43
|
-
textCaseSensitive:
|
|
38
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
39
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
40
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
41
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
42
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
43
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
44
44
|
};
|
|
45
45
|
filterFns: {
|
|
46
|
-
arrIncludes:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
65
|
-
autoRemove: (val: any) => boolean;
|
|
66
|
-
};
|
|
67
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
68
|
-
autoRemove: (val: any) => boolean;
|
|
69
|
-
resolveFilterValue: (val: any) => string;
|
|
70
|
-
};
|
|
71
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
72
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
73
|
-
autoRemove: (val: any) => boolean;
|
|
74
|
-
};
|
|
75
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
76
|
-
autoRemove: (val: any) => boolean;
|
|
77
|
-
resolveFilterValue: (val: any) => string;
|
|
78
|
-
};
|
|
79
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
80
|
-
autoRemove: (val: any) => boolean;
|
|
81
|
-
resolveFilterValue: (val: any) => string;
|
|
82
|
-
};
|
|
83
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
84
|
-
autoRemove: (val: any) => boolean;
|
|
85
|
-
};
|
|
46
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
47
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
48
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
49
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
50
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
51
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
52
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
53
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
54
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
55
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
56
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
57
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
58
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
59
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
60
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
61
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
62
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
63
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
86
64
|
};
|
|
87
65
|
columnMeta: import("./types").DataTableColumnMeta;
|
|
88
66
|
}, T>;
|
|
@@ -102,54 +80,32 @@ export declare function createTableViewState<T extends RowData>(getTable: () =>
|
|
|
102
80
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
103
81
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
104
82
|
sortFns: {
|
|
105
|
-
alphanumeric:
|
|
106
|
-
alphanumericCaseSensitive:
|
|
107
|
-
basic:
|
|
108
|
-
datetime:
|
|
109
|
-
text:
|
|
110
|
-
textCaseSensitive:
|
|
83
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
84
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
85
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
86
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
87
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
88
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
111
89
|
};
|
|
112
90
|
filterFns: {
|
|
113
|
-
arrIncludes:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
132
|
-
autoRemove: (val: any) => boolean;
|
|
133
|
-
};
|
|
134
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
135
|
-
autoRemove: (val: any) => boolean;
|
|
136
|
-
resolveFilterValue: (val: any) => string;
|
|
137
|
-
};
|
|
138
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
139
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
140
|
-
autoRemove: (val: any) => boolean;
|
|
141
|
-
};
|
|
142
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
143
|
-
autoRemove: (val: any) => boolean;
|
|
144
|
-
resolveFilterValue: (val: any) => string;
|
|
145
|
-
};
|
|
146
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
147
|
-
autoRemove: (val: any) => boolean;
|
|
148
|
-
resolveFilterValue: (val: any) => string;
|
|
149
|
-
};
|
|
150
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
151
|
-
autoRemove: (val: any) => boolean;
|
|
152
|
-
};
|
|
91
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
92
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
93
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
94
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
95
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
96
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
97
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
98
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
99
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
100
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
101
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
102
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
103
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
104
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
105
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
106
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
107
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
108
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
153
109
|
};
|
|
154
110
|
columnMeta: import("./types").DataTableColumnMeta;
|
|
155
111
|
}, T>[];
|
|
@@ -170,54 +126,32 @@ export declare function createTableViewState<T extends RowData>(getTable: () =>
|
|
|
170
126
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
171
127
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
172
128
|
sortFns: {
|
|
173
|
-
alphanumeric:
|
|
174
|
-
alphanumericCaseSensitive:
|
|
175
|
-
basic:
|
|
176
|
-
datetime:
|
|
177
|
-
text:
|
|
178
|
-
textCaseSensitive:
|
|
129
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
130
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
131
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
132
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
133
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
134
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
179
135
|
};
|
|
180
136
|
filterFns: {
|
|
181
|
-
arrIncludes:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
200
|
-
autoRemove: (val: any) => boolean;
|
|
201
|
-
};
|
|
202
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
203
|
-
autoRemove: (val: any) => boolean;
|
|
204
|
-
resolveFilterValue: (val: any) => string;
|
|
205
|
-
};
|
|
206
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
207
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
208
|
-
autoRemove: (val: any) => boolean;
|
|
209
|
-
};
|
|
210
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
211
|
-
autoRemove: (val: any) => boolean;
|
|
212
|
-
resolveFilterValue: (val: any) => string;
|
|
213
|
-
};
|
|
214
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
215
|
-
autoRemove: (val: any) => boolean;
|
|
216
|
-
resolveFilterValue: (val: any) => string;
|
|
217
|
-
};
|
|
218
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
219
|
-
autoRemove: (val: any) => boolean;
|
|
220
|
-
};
|
|
137
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
138
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
139
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
140
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
141
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
142
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
143
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
144
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
145
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
146
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
147
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
148
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
149
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
150
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
151
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
152
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
153
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
154
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
221
155
|
};
|
|
222
156
|
columnMeta: import("./types").DataTableColumnMeta;
|
|
223
157
|
}, T, unknown>[];
|
|
@@ -237,54 +171,32 @@ export declare function createTableViewState<T extends RowData>(getTable: () =>
|
|
|
237
171
|
facetedUniqueValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => Map<any, number>;
|
|
238
172
|
facetedMinMaxValues: (table: import("@tanstack/table-core").Table<import("@tanstack/table-core").TableFeatures, any>, columnId: string) => () => undefined | [number, number];
|
|
239
173
|
sortFns: {
|
|
240
|
-
alphanumeric:
|
|
241
|
-
alphanumericCaseSensitive:
|
|
242
|
-
basic:
|
|
243
|
-
datetime:
|
|
244
|
-
text:
|
|
245
|
-
textCaseSensitive:
|
|
174
|
+
alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
175
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
176
|
+
basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
177
|
+
datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
178
|
+
text: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
179
|
+
textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
|
|
246
180
|
};
|
|
247
181
|
filterFns: {
|
|
248
|
-
arrIncludes:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
equals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
267
|
-
autoRemove: (val: any) => boolean;
|
|
268
|
-
};
|
|
269
|
-
equalsString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
270
|
-
autoRemove: (val: any) => boolean;
|
|
271
|
-
resolveFilterValue: (val: any) => string;
|
|
272
|
-
};
|
|
273
|
-
inNumberRange: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: [number, number]) => boolean) & {
|
|
274
|
-
resolveFilterValue: (val: [any, any]) => readonly [number, number];
|
|
275
|
-
autoRemove: (val: any) => boolean;
|
|
276
|
-
};
|
|
277
|
-
includesString: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
278
|
-
autoRemove: (val: any) => boolean;
|
|
279
|
-
resolveFilterValue: (val: any) => string;
|
|
280
|
-
};
|
|
281
|
-
includesStringSensitive: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
282
|
-
autoRemove: (val: any) => boolean;
|
|
283
|
-
resolveFilterValue: (val: any) => string;
|
|
284
|
-
};
|
|
285
|
-
weakEquals: (<TFeatures extends import("@tanstack/table-core").TableFeatures, TData extends RowData>(row: import("@tanstack/table-core").Row<TFeatures, TData>, columnId: string, filterValue: unknown) => boolean) & {
|
|
286
|
-
autoRemove: (val: any) => boolean;
|
|
287
|
-
};
|
|
182
|
+
arrIncludes: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
183
|
+
arrIncludesAll: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
184
|
+
arrHas: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
185
|
+
arrIncludesSome: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
186
|
+
between: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
187
|
+
betweenInclusive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
188
|
+
empty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
189
|
+
endsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
190
|
+
equals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
191
|
+
equalsString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
192
|
+
equalsStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
193
|
+
inDateRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
194
|
+
inNumberRange: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
195
|
+
includesString: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
196
|
+
includesStringSensitive: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
197
|
+
notEmpty: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
198
|
+
startsWith: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
199
|
+
weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
|
|
288
200
|
};
|
|
289
201
|
columnMeta: import("./types").DataTableColumnMeta;
|
|
290
202
|
}, T, unknown> | undefined;
|
|
@@ -133,17 +133,17 @@ export function createTableViewState(getTable) {
|
|
|
133
133
|
*/
|
|
134
134
|
function buildHeaderGroups(table) {
|
|
135
135
|
const sections = new WeakMap();
|
|
136
|
-
const
|
|
136
|
+
const startHeaderGroups = table.getStartHeaderGroups();
|
|
137
137
|
const centerHeaderGroups = table.getCenterHeaderGroups();
|
|
138
|
-
const
|
|
138
|
+
const endHeaderGroups = table.getEndHeaderGroups();
|
|
139
139
|
const groups = centerHeaderGroups.map((headerGroup, index) => {
|
|
140
140
|
const parts = [
|
|
141
|
-
...(
|
|
141
|
+
...(startHeaderGroups[index]?.headers ?? []).map((header) => ({
|
|
142
142
|
header,
|
|
143
143
|
section: 'left'
|
|
144
144
|
})),
|
|
145
145
|
...headerGroup.headers.map((header) => ({ header, section: 'center' })),
|
|
146
|
-
...(
|
|
146
|
+
...(endHeaderGroups[index]?.headers ?? []).map((header) => ({
|
|
147
147
|
header,
|
|
148
148
|
section: 'right'
|
|
149
149
|
}))
|
|
@@ -174,7 +174,7 @@ function buildHeaderGroups(table) {
|
|
|
174
174
|
}
|
|
175
175
|
return {
|
|
176
176
|
...headerGroup,
|
|
177
|
-
id: `${
|
|
177
|
+
id: `${startHeaderGroups[index]?.id ?? ''}|${headerGroup.id}|${endHeaderGroups[index]?.id ?? ''}`,
|
|
178
178
|
headers
|
|
179
179
|
};
|
|
180
180
|
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { HTMLAnchorAttributes, HTMLButtonAttributes } from 'svelte/elements';
|
|
4
|
+
import { cn, type ClassValue } from 'tailwind-variants';
|
|
5
|
+
|
|
6
|
+
type Props = Omit<HTMLAnchorAttributes, 'class'> &
|
|
7
|
+
Omit<HTMLButtonAttributes, 'class'> & {
|
|
8
|
+
icon?: Snippet;
|
|
9
|
+
label: string;
|
|
10
|
+
active?: boolean;
|
|
11
|
+
class?: ClassValue;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
let { icon, label, active = false, class: className, ...rest }: Props = $props();
|
|
15
|
+
|
|
16
|
+
const base = $derived(
|
|
17
|
+
cn(
|
|
18
|
+
'flex items-center gap-3 w-full rounded-md p-2 text-left text-ink-dim transition-colors',
|
|
19
|
+
'hover:bg-surface-2 hover:text-ink data-active:bg-surface-2 data-active:text-primary',
|
|
20
|
+
className
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const iconBox = 'grid size-8 shrink-0 place-items-center [&>svg]:size-5';
|
|
25
|
+
const labelClass = cn(
|
|
26
|
+
'min-w-0 truncate whitespace-nowrap opacity-0 transition-opacity',
|
|
27
|
+
'group-hover:opacity-100 group-focus-within:opacity-100 group-data-expanded:opacity-100'
|
|
28
|
+
);
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
{#if rest.href}
|
|
32
|
+
<a
|
|
33
|
+
title={label}
|
|
34
|
+
aria-current={active ? 'page' : undefined}
|
|
35
|
+
data-active={active || undefined}
|
|
36
|
+
class={base}
|
|
37
|
+
{...rest}
|
|
38
|
+
>
|
|
39
|
+
<span class={iconBox}>{@render icon?.()}</span>
|
|
40
|
+
<span class={labelClass}>{label}</span>
|
|
41
|
+
</a>
|
|
42
|
+
{:else}
|
|
43
|
+
<button
|
|
44
|
+
type="button"
|
|
45
|
+
title={label}
|
|
46
|
+
aria-current={active ? 'page' : undefined}
|
|
47
|
+
data-active={active || undefined}
|
|
48
|
+
class={base}
|
|
49
|
+
{...rest}
|
|
50
|
+
>
|
|
51
|
+
<span class={iconBox}>{@render icon?.()}</span>
|
|
52
|
+
<span class={labelClass}>{label}</span>
|
|
53
|
+
</button>
|
|
54
|
+
{/if}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HTMLAnchorAttributes, HTMLButtonAttributes } from 'svelte/elements';
|
|
3
|
+
import { type ClassValue } from 'tailwind-variants';
|
|
4
|
+
type Props = Omit<HTMLAnchorAttributes, 'class'> & Omit<HTMLButtonAttributes, 'class'> & {
|
|
5
|
+
icon?: Snippet;
|
|
6
|
+
label: string;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
class?: ClassValue;
|
|
9
|
+
};
|
|
10
|
+
declare const NavRailItem: import("svelte").Component<Props, {}, "">;
|
|
11
|
+
type NavRailItem = ReturnType<typeof NavRailItem>;
|
|
12
|
+
export default NavRailItem;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
type Props = HTMLAttributes<HTMLElement> & {
|
|
6
|
+
expanded?: boolean;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
let { expanded = $bindable(false), class: className, children, ...rest }: Props = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<nav
|
|
13
|
+
data-expanded={expanded || undefined}
|
|
14
|
+
class={cn(
|
|
15
|
+
'group absolute inset-y-0 left-0 z-20 flex w-16 flex-col overflow-hidden',
|
|
16
|
+
'border-r border-border bg-surface-1 transition-[width] duration-200',
|
|
17
|
+
'hover:w-60 focus-within:w-60 data-expanded:w-60',
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...rest}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</nav>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
+
type Props = HTMLAttributes<HTMLElement> & {
|
|
3
|
+
expanded?: boolean;
|
|
4
|
+
};
|
|
5
|
+
declare const NavRail: import("svelte").Component<Props, {}, "expanded">;
|
|
6
|
+
type NavRail = ReturnType<typeof NavRail>;
|
|
7
|
+
export default NavRail;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * as AppShell from './components/app-shell';
|
|
1
2
|
export { default as Avatar } from './components/avatar/avatar.svelte';
|
|
2
3
|
export type { AvatarProps, AvatarSize } from './components/avatar/avatar.types';
|
|
3
4
|
export { default as Button } from './components/button/button.svelte';
|
|
@@ -65,6 +66,7 @@ export { default as Toggle } from './components/toggle/toggle.svelte';
|
|
|
65
66
|
export type { ToggleProps, ToggleSize } from './components/toggle/types';
|
|
66
67
|
export * as ToggleGroup from './components/toggle-group';
|
|
67
68
|
export * as Menu from './components/menu';
|
|
69
|
+
export * as NavRail from './components/nav-rail';
|
|
68
70
|
export * as Tooltip from './components/tooltip';
|
|
69
71
|
export * as Field from './components/field';
|
|
70
72
|
export * as Fieldset from './components/fieldset';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Reexport your entry components here
|
|
2
|
+
export * as AppShell from './components/app-shell';
|
|
2
3
|
export { default as Avatar } from './components/avatar/avatar.svelte';
|
|
3
4
|
export { default as Button } from './components/button/button.svelte';
|
|
4
5
|
export { default as LinkButton } from './components/button/link-button.svelte';
|
|
@@ -46,6 +47,7 @@ export { createToaster } from '@ark-ui/svelte/toast';
|
|
|
46
47
|
export { default as Toggle } from './components/toggle/toggle.svelte';
|
|
47
48
|
export * as ToggleGroup from './components/toggle-group';
|
|
48
49
|
export * as Menu from './components/menu';
|
|
50
|
+
export * as NavRail from './components/nav-rail';
|
|
49
51
|
export * as Tooltip from './components/tooltip';
|
|
50
52
|
export * as Field from './components/field';
|
|
51
53
|
export * as Fieldset from './components/fieldset';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "compote-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.67.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite dev --open",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"./theme.css": "./dist/theme.css"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@tanstack/svelte-table": ">=9.0.0-beta.
|
|
48
|
+
"@tanstack/svelte-table": ">=9.0.0-beta.38 <10",
|
|
49
49
|
"@tanstack/svelte-virtual": ">=3.0.0",
|
|
50
50
|
"svelte": "^5.0.0"
|
|
51
51
|
},
|
|
@@ -60,30 +60,30 @@
|
|
|
60
60
|
"@iconify-json/ph": "^1.2.2",
|
|
61
61
|
"@sveltejs/adapter-auto": "^7.0.0",
|
|
62
62
|
"@sveltejs/adapter-cloudflare": "^7.2.9",
|
|
63
|
-
"@sveltejs/kit": "^2.69.
|
|
63
|
+
"@sveltejs/kit": "^2.69.3",
|
|
64
64
|
"@sveltejs/package": "^2.5.8",
|
|
65
|
-
"@sveltejs/vite-plugin-svelte": "7.2.0",
|
|
65
|
+
"@sveltejs/vite-plugin-svelte": "^7.2.0",
|
|
66
66
|
"@tailwindcss/vite": "^4.3.2",
|
|
67
|
-
"@tanstack/intent": "^0.3.
|
|
68
|
-
"@tanstack/svelte-table": "
|
|
69
|
-
"@tanstack/svelte-virtual": "^3.13.
|
|
67
|
+
"@tanstack/intent": "^0.3.6",
|
|
68
|
+
"@tanstack/svelte-table": "9.0.0-beta.47",
|
|
69
|
+
"@tanstack/svelte-virtual": "^3.13.32",
|
|
70
70
|
"@types/node": "^22.20.0",
|
|
71
|
-
"eslint": "^10.
|
|
71
|
+
"eslint": "^10.7.0",
|
|
72
72
|
"eslint-config-prettier": "^10.1.8",
|
|
73
73
|
"eslint-plugin-svelte": "^3.19.0",
|
|
74
74
|
"globals": "^17.5.0",
|
|
75
|
-
"prettier": "^3.
|
|
75
|
+
"prettier": "^3.9.5",
|
|
76
76
|
"prettier-plugin-svelte": "^4.1.1",
|
|
77
77
|
"prettier-plugin-tailwindcss": "^0.8.0",
|
|
78
78
|
"publint": "^0.3.21",
|
|
79
|
-
"svelte": "^5.56.
|
|
79
|
+
"svelte": "^5.56.5",
|
|
80
80
|
"svelte-check": "^4.7.2",
|
|
81
81
|
"tailwindcss": "^4.3.2",
|
|
82
82
|
"tw-animate-css": "^1.4.0",
|
|
83
83
|
"typescript": "^6.0.3",
|
|
84
|
-
"typescript-eslint": "^8.
|
|
84
|
+
"typescript-eslint": "^8.64.0",
|
|
85
85
|
"unplugin-icons": "^23.0.1",
|
|
86
|
-
"vite": "^8.1.
|
|
86
|
+
"vite": "^8.1.4"
|
|
87
87
|
},
|
|
88
88
|
"keywords": [
|
|
89
89
|
"svelte",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"@fontsource-variable/nunito-sans": "^5.2.7",
|
|
95
95
|
"@internationalized/date": "^3.12.2",
|
|
96
96
|
"runed": "^0.37.1",
|
|
97
|
-
"svelte-tel-input": "^4.2
|
|
97
|
+
"svelte-tel-input": "^4.3.2",
|
|
98
98
|
"tailwind-merge": "^3.6.0",
|
|
99
99
|
"tailwind-variants": "^3.2.2"
|
|
100
100
|
},
|