@kayord/ui 0.9.22 → 0.10.1

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.
Files changed (33) hide show
  1. package/dist/components/custom/data-table/DataTable.svelte +129 -117
  2. package/dist/components/custom/data-table/DataTable.svelte.d.ts +19 -28
  3. package/dist/components/custom/data-table/DataTableCheckbox.svelte +5 -8
  4. package/dist/components/custom/data-table/DataTableCheckbox.svelte.d.ts +4 -20
  5. package/dist/components/custom/{data-table-new → data-table}/Pagination.svelte.d.ts +2 -6
  6. package/dist/components/custom/{data-table-new → data-table}/VisibilitySelect.svelte.d.ts +2 -6
  7. package/dist/components/custom/data-table/index.d.ts +0 -1
  8. package/dist/components/custom/data-table/index.js +0 -1
  9. package/dist/components/custom/index.d.ts +0 -1
  10. package/dist/components/custom/index.js +0 -1
  11. package/dist/components/custom/loader/Loader.svelte.d.ts +1 -17
  12. package/dist/components/custom/theme-switch/ThemeSwitch.svelte.d.ts +2 -18
  13. package/dist/components/ui/card/card-content.svelte +1 -1
  14. package/dist/components/ui/card/card-header.svelte +1 -1
  15. package/dist/components/ui/carousel/carousel.svelte +1 -0
  16. package/dist/components/ui/resizable/resizable-handle.svelte.d.ts +4 -4
  17. package/package.json +16 -17
  18. package/dist/components/custom/data-table/DataTablePagination.svelte +0 -77
  19. package/dist/components/custom/data-table/DataTablePagination.svelte.d.ts +0 -25
  20. package/dist/components/custom/data-table/data.d.ts +0 -7
  21. package/dist/components/custom/data-table/data.js +0 -410
  22. package/dist/components/custom/data-table-new/DataTable.svelte +0 -176
  23. package/dist/components/custom/data-table-new/DataTable.svelte.d.ts +0 -36
  24. package/dist/components/custom/data-table-new/DataTableCheckbox.svelte +0 -14
  25. package/dist/components/custom/data-table-new/DataTableCheckbox.svelte.d.ts +0 -21
  26. package/dist/components/custom/data-table-new/index.d.ts +0 -1
  27. package/dist/components/custom/data-table-new/index.js +0 -1
  28. /package/dist/components/custom/{data-table-new → data-table}/FullscreenModeToggle.svelte +0 -0
  29. /package/dist/components/custom/{data-table-new → data-table}/FullscreenModeToggle.svelte.d.ts +0 -0
  30. /package/dist/components/custom/{data-table-new → data-table}/Pagination.svelte +0 -0
  31. /package/dist/components/custom/{data-table-new → data-table}/VisibilitySelect.svelte +0 -0
  32. /package/dist/components/custom/{data-table-new → data-table}/table.svelte.d.ts +0 -0
  33. /package/dist/components/custom/{data-table-new → data-table}/table.svelte.js +0 -0
@@ -1,109 +1,137 @@
1
- <script lang="ts">
2
- import ArrowDown from "lucide-svelte/icons/arrow-down";
3
- import ArrowUp from "lucide-svelte/icons/arrow-up";
1
+ <script lang="ts" generics="T">
2
+ import { FlexRender, type ColumnDef, type Table as TypeType, renderComponent } from "@tanstack/svelte-table";
3
+ import { Skeleton, Table } from "../../ui";
4
+ import Pagination from "./Pagination.svelte";
5
+ import type { Snippet } from "svelte";
4
6
  import { fade } from "svelte/transition";
7
+ import { ProgressLoading } from "../progress-loading";
8
+ import DataTableCheckbox from "./DataTableCheckbox.svelte";
9
+ import VisibilitySelect from "./VisibilitySelect.svelte";
10
+ import FullscreenModeToggle from "./FullscreenModeToggle.svelte";
11
+ import { cn } from "../../../utils";
12
+ import { tableStore } from "./table.svelte";
5
13
 
6
- import { Button, ProgressLoading, Skeleton } from "../../..";
7
- import { Subscribe, Render, type TableViewModel } from "svelte-headless-table";
8
- import * as Table from "../../ui/table";
9
- import DataTablePagination from "./DataTablePagination.svelte";
14
+ interface Props<T> {
15
+ table: TypeType<T>;
16
+ columns: ColumnDef<T>[];
17
+ isLoading?: boolean;
18
+ header?: Snippet;
19
+ subHeader?: Snippet;
20
+ footer?: Snippet;
21
+ leftToolbar?: Snippet;
22
+ rightToolbar?: Snippet;
23
+ noDataMessage?: string;
24
+ hideHeader?: boolean;
25
+ enableVisibility?: boolean;
26
+ enableFullscreen?: boolean;
27
+ }
10
28
 
11
- type RowData = Record<string, any>;
12
- type T = $$Generic<RowData>;
13
- export let tableViewModel: TableViewModel<T>;
29
+ let {
30
+ table,
31
+ columns,
32
+ isLoading = false,
33
+ header,
34
+ subHeader,
35
+ footer,
36
+ leftToolbar,
37
+ rightToolbar,
38
+ noDataMessage = "No data",
39
+ hideHeader = false,
40
+ enableVisibility = false,
41
+ enableFullscreen = false,
42
+ }: Props<T> = $props();
14
43
 
15
- export let title: string = "";
16
- export let isLoading: boolean = false;
17
- export let hideHeader: boolean = false;
44
+ const isPaginationEnabled = table.options.getPaginationRowModel !== undefined;
45
+ const enableRowSelection = table.options.enableRowSelection;
18
46
 
19
- export let noDataMessage: string | undefined = "No Data";
20
- export let serverItemCount: number | undefined = undefined;
21
-
22
- export let rowAction: ((row: T | undefined) => void) | undefined = undefined;
23
-
24
- export let showSelected: boolean = true;
25
- export let showRowsPerPage: boolean = false;
26
-
27
- const { headerRows, pageRows, tableAttrs, tableBodyAttrs, pluginStates, rows, flatColumns } = tableViewModel;
28
-
29
- // Sorting
30
- const isSortEnabled = pluginStates.sort != undefined;
31
- const sortKeys = isSortEnabled ? pluginStates.sort.sortKeys : undefined;
32
-
33
- // Paging
34
- const isPagingEnabled = pluginStates.page != undefined;
35
- const pageIndex = isPagingEnabled ? pluginStates.page.pageIndex : undefined;
36
- const pageSize = isPagingEnabled ? pluginStates.page.pageSize : undefined;
37
-
38
- // Select
39
- const isSelectEnabled = pluginStates.select != undefined;
40
- const selectedDataIds = isSelectEnabled ? pluginStates.select.selectedDataIds : undefined;
41
-
42
- const getOriginalData = (id: any) => {
43
- const data = $pageRows[id] as unknown as { original: T };
44
- return data.original;
45
- };
47
+ if (enableRowSelection) {
48
+ const rowSelectionColumn: ColumnDef<T> = {
49
+ id: "select",
50
+ // cell: (info) => "[]",
51
+ header: () =>
52
+ renderComponent(DataTableCheckbox, {
53
+ checked: table.getIsAllPageRowsSelected(),
54
+ onCheckedChange: () => table.toggleAllPageRowsSelected(),
55
+ }),
56
+ cell: (r) =>
57
+ renderComponent(DataTableCheckbox, {
58
+ checked: r.row.getIsSelected(),
59
+ onCheckedChange: () => r.row.toggleSelected(),
60
+ }),
61
+ enableResizing: false,
62
+ };
63
+ columns.unshift(rowSelectionColumn);
64
+ }
46
65
  </script>
47
66
 
48
- <div class="w-full">
49
- <div class="m-2 rounded-md border">
67
+ <div
68
+ class={cn(
69
+ "w-full",
70
+ tableStore.isFullscreen ? "absolute left-0 top-0 z-10 h-screen bg-background transition-all" : "w-full"
71
+ )}
72
+ >
73
+ <div class="py-2">
74
+ {#if header}
75
+ {@render header()}
76
+ {:else}
77
+ <div class="flex items-center justify-between gap-2">
78
+ <div>
79
+ {#if leftToolbar}
80
+ {@render leftToolbar()}
81
+ {/if}
82
+ </div>
83
+ <div></div>
84
+ <div class="flex items-center justify-between gap-2">
85
+ {#if rightToolbar}
86
+ {@render rightToolbar()}
87
+ {/if}
88
+ {#if enableVisibility}
89
+ <div>
90
+ <VisibilitySelect {table} />
91
+ </div>
92
+ {/if}
93
+ {#if enableFullscreen}
94
+ <div>
95
+ <FullscreenModeToggle />
96
+ </div>
97
+ {/if}
98
+ </div>
99
+ </div>
100
+ {/if}
101
+ </div>
102
+
103
+ <div class="rounded-md border">
50
104
  {#if isLoading}
51
105
  <span in:fade={{ duration: 300 }}>
52
106
  <ProgressLoading class="h-1" />
53
107
  </span>
54
- {:else}
55
- <div class="h-1"></div>
56
108
  {/if}
57
- {#if $$slots.header || title.length > 0}
58
- <div class="overflow-hidden rounded-t-md">
59
- {#if $$slots.header}
60
- <slot name="header" />
61
- {:else}
62
- <h1 class="p-2 text-center text-lg">
63
- {title}
64
- </h1>
65
- {/if}
66
- </div>
67
- {/if}
68
- {#if $$slots.subHeader}
69
- <slot name="subHeader" />
109
+
110
+ {#if subHeader}
111
+ {@render subHeader()}
70
112
  {/if}
71
- <Table.Root {...$tableAttrs} class="table-auto">
113
+
114
+ <Table.Root class="table-auto">
72
115
  {#if !hideHeader}
73
116
  <Table.Header>
74
- {#each $headerRows as headerRow}
75
- <Subscribe rowAttrs={headerRow.attrs()}>
76
- <Table.Row>
77
- {#each headerRow.cells as cell (cell.id)}
78
- <Subscribe attrs={cell.attrs()} let:attrs props={cell.props()} let:props>
79
- <Table.Head {...attrs} class="[&:has([role=checkbox])]:pl-4">
80
- {#if isSortEnabled}
81
- <Button variant="ghost" on:click={props.sort.toggle}>
82
- <Render of={cell.render()} />
83
- {#each $sortKeys as sortKey}
84
- {#if sortKey?.id === cell.id && sortKey?.order == "desc"}
85
- <ArrowDown class="ml-2 h-4 w-4" />
86
- {:else if sortKey?.id === cell.id && sortKey?.order === "asc"}
87
- <ArrowUp class="ml-2 h-4 w-4" />
88
- {/if}
89
- {/each}
90
- </Button>
91
- {:else}
92
- <Render of={cell.render()} />
93
- {/if}
94
- </Table.Head>
95
- </Subscribe>
96
- {/each}
97
- </Table.Row>
98
- </Subscribe>
117
+ {#each table.getHeaderGroups() as headerGroup}
118
+ <Table.Row>
119
+ {#each headerGroup.headers as header}
120
+ <Table.Head colspan={header.colSpan}>
121
+ {#if !header.isPlaceholder}
122
+ <FlexRender content={header.column.columnDef.header} context={header.getContext()} />
123
+ {/if}
124
+ </Table.Head>
125
+ {/each}
126
+ </Table.Row>
99
127
  {/each}
100
128
  </Table.Header>
101
129
  {/if}
102
- <Table.Body {...$tableBodyAttrs}>
103
- {#if isLoading && $rows.length == 0}
130
+ <Table.Body>
131
+ {#if isLoading && table.getRowModel().rows.length == 0}
104
132
  {#each { length: 5 } as _, i}
105
133
  <Table.Row>
106
- {#each flatColumns as cell}
134
+ {#each columns as _cell}
107
135
  <Table.Cell>
108
136
  <Skeleton class="h-4" />
109
137
  </Table.Cell>
@@ -111,30 +139,21 @@
111
139
  </Table.Row>
112
140
  {/each}
113
141
  {:else}
114
- {#if $rows.length == 0}
142
+ {#if table.getRowModel().rows.length == 0}
115
143
  <Table.Row>
116
- <Table.Cell colspan={flatColumns.length}>
144
+ <Table.Cell colspan={table.getAllColumns().length}>
117
145
  <div class="text-center">{noDataMessage}</div>
118
146
  </Table.Cell>
119
147
  </Table.Row>
120
148
  {/if}
121
- {#each $pageRows as row (row.id)}
122
- <Subscribe rowAttrs={row.attrs()} let:rowAttrs rowProps={row.props()} let:rowProps>
123
- <Table.Row
124
- {...rowAttrs}
125
- data-state={isSelectEnabled && rowProps.select.selected ? "selected" : "false"}
126
- class={rowAction == undefined ? "" : "hover:cursor-pointer"}
127
- on:click={() => (rowAction != undefined ? rowAction(getOriginalData(row.id)) : undefined)}
128
- >
129
- {#each row.cells as cell (cell.id)}
130
- <Subscribe attrs={cell.attrs()} let:attrs>
131
- <Table.Cell {...attrs}>
132
- <Render of={cell.render()} />
133
- </Table.Cell>
134
- </Subscribe>
135
- {/each}
136
- </Table.Row>
137
- </Subscribe>
149
+ {#each table.getRowModel().rows as row}
150
+ <Table.Row data-state={row.getIsSelected() && "selected"}>
151
+ {#each row.getVisibleCells() as cell}
152
+ <Table.Cell style={`width: ${cell.getContext().column.getSize()}px;`}>
153
+ <FlexRender content={cell.column.columnDef.cell} context={cell.getContext()} />
154
+ </Table.Cell>
155
+ {/each}
156
+ </Table.Row>
138
157
  {/each}
139
158
  {/if}
140
159
  </Table.Body>
@@ -145,20 +164,13 @@
145
164
  </span>
146
165
  {/if}
147
166
  </div>
148
- <div class="flex items-center">
149
- <div class="flex-1 px-2 text-sm text-muted-foreground">
150
- {#if isSelectEnabled && showSelected}
151
- {Object.keys($selectedDataIds).length} of {serverItemCount ?? $rows.length} row(s) selected.
152
- {/if}
153
- </div>
154
- {#if isPagingEnabled}
155
- <DataTablePagination tableModel={tableViewModel} {showRowsPerPage} />
156
- {/if}
157
- </div>
167
+ {#if isPaginationEnabled}
168
+ <Pagination {table} />
169
+ {/if}
158
170
 
159
- {#if $$slots.footer}
171
+ {#if footer}
160
172
  <div class="overflow-hidden rounded-b-md">
161
- <slot name="footer" />
173
+ {@render footer()}
162
174
  </div>
163
175
  {/if}
164
176
  </div>
@@ -1,41 +1,32 @@
1
- import { type TableViewModel } from "svelte-headless-table";
2
- type RowData = Record<string, any>;
3
- declare class __sveltets_Render<T extends RowData> {
1
+ import { type ColumnDef, type Table as TypeType } from "@tanstack/svelte-table";
2
+ import type { Snippet } from "svelte";
3
+ declare class __sveltets_Render<T> {
4
4
  props(): {
5
- tableViewModel: TableViewModel<T, import("svelte-headless-table/dist/types/TablePlugin").AnyPlugins>;
6
- title?: string;
5
+ table: TypeType<T>;
6
+ columns: ColumnDef<T>[];
7
7
  isLoading?: boolean;
8
+ header?: Snippet;
9
+ subHeader?: Snippet;
10
+ footer?: Snippet;
11
+ leftToolbar?: Snippet;
12
+ rightToolbar?: Snippet;
13
+ noDataMessage?: string;
8
14
  hideHeader?: boolean;
9
- noDataMessage?: string | undefined;
10
- serverItemCount?: number | undefined;
11
- rowAction?: ((row: T | undefined) => void) | undefined;
12
- showSelected?: boolean;
13
- showRowsPerPage?: boolean;
15
+ enableVisibility?: boolean;
16
+ enableFullscreen?: boolean;
14
17
  };
15
- events(): {} & {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots(): {
19
- header: {};
20
- subHeader: {};
21
- footer: {};
22
- };
23
- bindings(): string;
18
+ events(): {};
19
+ slots(): {};
20
+ bindings(): "";
24
21
  exports(): {};
25
22
  }
26
23
  interface $$IsomorphicComponent {
27
- new <T extends RowData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']> & {
28
- children?: any;
29
- }>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
24
+ new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
30
25
  $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
31
26
  } & ReturnType<__sveltets_Render<T>['exports']>;
32
- <T extends RowData>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {
33
- $$events?: ReturnType<__sveltets_Render<T>['events']>;
34
- $$slots?: ReturnType<__sveltets_Render<T>['slots']>;
35
- children?: any;
36
- }): ReturnType<__sveltets_Render<T>['exports']>;
27
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
37
28
  z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
38
29
  }
39
30
  declare const DataTable: $$IsomorphicComponent;
40
- type DataTable<T extends RowData> = InstanceType<typeof DataTable<T>>;
31
+ type DataTable<T> = InstanceType<typeof DataTable<T>>;
41
32
  export default DataTable;
@@ -2,16 +2,13 @@
2
2
  import { Checkbox } from "../../ui/checkbox";
3
3
  import { cn } from "../../../utils";
4
4
  import type { ComponentProps } from "svelte";
5
- import type { Writable } from "svelte/store";
6
5
 
7
- interface DataTableCheckboxProps extends Omit<ComponentProps<Checkbox>, "checked"> {
8
- checked: Writable<boolean>;
6
+ interface Props extends Omit<ComponentProps<Checkbox>, "checked"> {
7
+ checked?: boolean | "indeterminate";
8
+ class?: string;
9
9
  }
10
10
 
11
- type $$Props = DataTableCheckboxProps;
12
- let className: $$Props["class"] = undefined;
13
- export { className as class };
14
- export let checked: $$Props["checked"];
11
+ let { checked, class: className, ...rest }: Props = $props();
15
12
  </script>
16
13
 
17
- <Checkbox bind:checked={$checked} class={cn(className)} />
14
+ <Checkbox bind:checked class={cn(className)} {...rest} />
@@ -1,21 +1,5 @@
1
- import type { Writable } from "svelte/store";
2
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
- $$bindings?: Bindings;
5
- } & Exports;
6
- (internal: unknown, props: Props & {
7
- $$events?: Events;
8
- $$slots?: Slots;
9
- }): Exports & {
10
- $set?: any;
11
- $on?: any;
12
- };
13
- z_$$bindings?: Bindings;
14
- }
15
- declare const DataTableCheckbox: $$__sveltets_2_IsomorphicComponent<Omit<import("bits-ui").CheckboxProps, "checked"> & {
16
- checked: Writable<boolean>;
17
- }, {
18
- [evt: string]: CustomEvent<any>;
19
- }, {}, {}, string>;
20
- type DataTableCheckbox = InstanceType<typeof DataTableCheckbox>;
1
+ declare const DataTableCheckbox: import("svelte").Component<Omit<import("bits-ui").CheckboxProps, "checked"> & {
2
+ checked?: boolean | "indeterminate";
3
+ class?: string;
4
+ }, {}, "">;
21
5
  export default DataTableCheckbox;
@@ -4,9 +4,7 @@ declare class __sveltets_Render<T> {
4
4
  table: Table<T>;
5
5
  canChangePageSize?: boolean;
6
6
  };
7
- events(): {} & {
8
- [evt: string]: CustomEvent<any>;
9
- };
7
+ events(): {};
10
8
  slots(): {};
11
9
  bindings(): "";
12
10
  exports(): {};
@@ -15,9 +13,7 @@ interface $$IsomorphicComponent {
15
13
  new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
16
14
  $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
17
15
  } & ReturnType<__sveltets_Render<T>['exports']>;
18
- <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {
19
- $$events?: ReturnType<__sveltets_Render<T>['events']>;
20
- }): ReturnType<__sveltets_Render<T>['exports']>;
16
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
17
  z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
22
18
  }
23
19
  declare const Pagination: $$IsomorphicComponent;
@@ -3,9 +3,7 @@ declare class __sveltets_Render<T> {
3
3
  props(): {
4
4
  table: Table<T>;
5
5
  };
6
- events(): {} & {
7
- [evt: string]: CustomEvent<any>;
8
- };
6
+ events(): {};
9
7
  slots(): {};
10
8
  bindings(): "";
11
9
  exports(): {};
@@ -14,9 +12,7 @@ interface $$IsomorphicComponent {
14
12
  new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
15
13
  $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
16
14
  } & ReturnType<__sveltets_Render<T>['exports']>;
17
- <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {
18
- $$events?: ReturnType<__sveltets_Render<T>['events']>;
19
- }): ReturnType<__sveltets_Render<T>['exports']>;
15
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
20
16
  z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
21
17
  }
22
18
  declare const VisibilitySelect: $$IsomorphicComponent;
@@ -1,2 +1 @@
1
1
  export { default as DataTable } from "./DataTable.svelte";
2
- export { default as DataTableCheckbox } from "./DataTableCheckbox.svelte";
@@ -1,2 +1 @@
1
1
  export { default as DataTable } from "./DataTable.svelte";
2
- export { default as DataTableCheckbox } from "./DataTableCheckbox.svelte";
@@ -1,5 +1,4 @@
1
1
  export { Loader } from "./loader/index.js";
2
2
  export { ThemeSwitch } from "./theme-switch/index.js";
3
3
  export * from "./data-table/index.js";
4
- export * from "./data-table-new/index.js";
5
4
  export { ProgressLoading } from "./progress-loading/index.js";
@@ -1,5 +1,4 @@
1
1
  export { Loader } from "./loader/index.js";
2
2
  export { ThemeSwitch } from "./theme-switch/index.js";
3
3
  export * from "./data-table/index.js";
4
- export * from "./data-table-new/index.js";
5
4
  export { ProgressLoading } from "./progress-loading/index.js";
@@ -1,17 +1,4 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const Loader: $$__sveltets_2_IsomorphicComponent<{
1
+ declare const Loader: import("svelte").Component<{
15
2
  class?: string | undefined | null;
16
3
  isLoading?: boolean;
17
4
  iconProps?: Omit<{
@@ -26,9 +13,6 @@ declare const Loader: $$__sveltets_2_IsomorphicComponent<{
26
13
  isLoading?: boolean;
27
14
  };
28
15
  }, {
29
- [evt: string]: CustomEvent<any>;
30
- }, {}, {
31
16
  class: string | null | undefined;
32
17
  }, "">;
33
- type Loader = InstanceType<typeof Loader>;
34
18
  export default Loader;
@@ -1,20 +1,4 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const ThemeSwitch: $$__sveltets_2_IsomorphicComponent<{
1
+ declare const ThemeSwitch: import("svelte").Component<{
15
2
  class?: string | undefined | null;
16
- }, {
17
- [evt: string]: CustomEvent<any>;
18
- }, {}, {}, "">;
19
- type ThemeSwitch = InstanceType<typeof ThemeSwitch>;
3
+ }, {}, "">;
20
4
  export default ThemeSwitch;
@@ -8,6 +8,6 @@
8
8
  export { className as class };
9
9
  </script>
10
10
 
11
- <div class={cn("p-6 pt-0", className)} {...$$restProps}>
11
+ <div class={cn("p-6", className)} {...$$restProps}>
12
12
  <slot />
13
13
  </div>
@@ -8,6 +8,6 @@
8
8
  export { className as class };
9
9
  </script>
10
10
 
11
- <div class={cn("flex flex-col space-y-1.5 p-6", className)} {...$$restProps}>
11
+ <div class={cn("flex flex-col space-y-1.5 p-6 pb-0", className)} {...$$restProps}>
12
12
  <slot />
13
13
  </div>
@@ -41,6 +41,7 @@
41
41
  if (!api) return;
42
42
  canScrollPrev.set(api.canScrollPrev());
43
43
  canScrollNext.set(api.canScrollNext());
44
+ selectedIndexStore.set(api.selectedScrollSnap());
44
45
  }
45
46
 
46
47
  $: if (api) {
@@ -12,10 +12,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
12
12
  z_$$bindings?: Bindings;
13
13
  }
14
14
  declare const ResizableHandle: $$__sveltets_2_IsomorphicComponent<{
15
- disabled?: boolean;
16
- onDraggingChange?: import("paneforge/dist/internal/types").PaneResizeHandleOnDragging;
17
- tabIndex?: number;
18
- el?: HTMLElement | null;
15
+ disabled?: boolean | undefined;
16
+ onDraggingChange?: import("paneforge/dist/internal/types").PaneResizeHandleOnDragging | undefined;
17
+ tabIndex?: number | undefined;
18
+ el?: HTMLElement | null | undefined;
19
19
  } & import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
20
20
  withHandle?: boolean;
21
21
  }, {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kayord/ui",
3
3
  "private": false,
4
- "version": "0.9.22",
4
+ "version": "0.10.1",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -26,22 +26,21 @@
26
26
  "!dist/**/*.spec.*"
27
27
  ],
28
28
  "peerDependencies": {
29
+ "@tanstack/svelte-table": "^9.0.0-alpha.10",
29
30
  "lucide-svelte": ">= 0.400.0 < 1.0.0",
30
31
  "svelte": "^4.0.0 || ^5.0.0-next.1",
31
32
  "sveltekit-superforms": "^2.15.1",
32
- "zod": "^3.23.8",
33
- "@tanstack/svelte-table": "^9.0.0-alpha.10"
33
+ "zod": "^3.23.8"
34
34
  },
35
35
  "dependencies": {
36
36
  "@internationalized/date": "^3.5.5",
37
- "bits-ui": "^0.21.13",
37
+ "bits-ui": "^0.21.15",
38
38
  "clsx": "^2.1.1",
39
39
  "cmdk-sv": "^0.0.18",
40
40
  "embla-carousel-svelte": "8.3.0",
41
41
  "formsnap": "^1.0.1",
42
42
  "mode-watcher": "^0.4.1",
43
- "paneforge": "^0.0.5",
44
- "svelte-headless-table": "^0.18.2",
43
+ "paneforge": "^0.0.6",
45
44
  "svelte-sonner": "^0.3.28",
46
45
  "tailwind-merge": "^2.5.2",
47
46
  "tailwind-variants": "^0.2.1",
@@ -49,31 +48,31 @@
49
48
  },
50
49
  "devDependencies": {
51
50
  "@sveltejs/adapter-auto": "^3.2.5",
52
- "@sveltejs/kit": "^2.5.28",
51
+ "@sveltejs/kit": "^2.6.1",
53
52
  "@sveltejs/package": "^2.3.5",
54
53
  "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
55
54
  "@tanstack/svelte-table": "9.0.0-alpha.10",
56
55
  "@testing-library/jest-dom": "^6.5.0",
57
56
  "@testing-library/svelte": "^5.2.1",
58
- "@typescript-eslint/eslint-plugin": "^8.6.0",
59
- "@typescript-eslint/parser": "^8.6.0",
57
+ "@typescript-eslint/eslint-plugin": "^8.8.0",
58
+ "@typescript-eslint/parser": "^8.8.0",
60
59
  "autoprefixer": "^10.4.20",
61
- "eslint": "^9.10.0",
60
+ "eslint": "^9.11.1",
62
61
  "eslint-config-prettier": "^9.1.0",
63
- "eslint-plugin-svelte": "^2.44.0",
62
+ "eslint-plugin-svelte": "^2.44.1",
64
63
  "happy-dom": "^15.7.4",
65
- "lucide-svelte": "^0.441.0",
64
+ "lucide-svelte": "^0.446.0",
66
65
  "postcss": "^8.4.47",
67
66
  "prettier": "^3.3.3",
68
- "prettier-plugin-svelte": "^3.2.6",
69
- "prettier-plugin-tailwindcss": "^0.6.6",
67
+ "prettier-plugin-svelte": "^3.2.7",
68
+ "prettier-plugin-tailwindcss": "^0.6.8",
70
69
  "publint": "^0.2.11",
71
70
  "svelte": "^5.0.0-next.238",
72
- "svelte-check": "^4.0.2",
73
- "tailwindcss": "^3.4.12",
71
+ "svelte-check": "^4.0.4",
72
+ "tailwindcss": "^3.4.13",
74
73
  "tslib": "^2.7.0",
75
74
  "typescript": "^5.6.2",
76
- "vite": "^5.4.6",
75
+ "vite": "^5.4.8",
77
76
  "vitest": "^2.1.1"
78
77
  },
79
78
  "svelte": "./dist/index.js",