@valerius_petrini/corekit-ui 0.1.88 → 0.1.90
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/display/DataGrid/index.stories.svelte +18 -0
- package/dist/components/display/DataGrid/index.stories.svelte.d.ts +18 -0
- package/dist/components/display/DataGrid/index.svelte +44 -0
- package/dist/components/display/DataGrid/index.svelte.d.ts +4 -0
- package/dist/components/display/DataGrid/types.d.ts +12 -0
- package/dist/components/display/DataGrid/types.js +3 -0
- package/dist/components/display/Table/TableBody.svelte +22 -0
- package/dist/components/display/Table/TableBody.svelte.d.ts +4 -0
- package/dist/components/display/Table/TableCell.svelte +21 -0
- package/dist/components/display/Table/TableCell.svelte.d.ts +4 -0
- package/dist/components/display/Table/TableHeadCell.svelte +24 -0
- package/dist/components/display/Table/TableHeadCell.svelte.d.ts +4 -0
- package/dist/components/display/Table/TableHeader.svelte +14 -0
- package/dist/components/display/Table/TableHeader.svelte.d.ts +4 -0
- package/dist/components/display/Table/TableRow.svelte +14 -0
- package/dist/components/display/Table/TableRow.svelte.d.ts +4 -0
- package/dist/components/display/Table/index.stories.svelte +47 -0
- package/dist/components/display/Table/index.stories.svelte.d.ts +18 -0
- package/dist/components/display/Table/index.svelte +2 -25
- package/dist/components/display/Table/types.d.ts +10 -6
- package/dist/components/display/Table/types.js +0 -1
- package/dist/components/display/index.d.ts +14 -2
- package/dist/components/display/index.js +7 -1
- package/dist/components/display/table.d.ts +4 -0
- package/dist/components/display/table.js +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import DataGrid from "./index.svelte";
|
|
4
|
+
|
|
5
|
+
const { Story } = defineMeta({
|
|
6
|
+
title: "Components/Display/DataGrid",
|
|
7
|
+
component: DataGrid,
|
|
8
|
+
});
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<Story name="Default" args={{ tableHeaders:[
|
|
12
|
+
{ key: "name", label: "Name" },
|
|
13
|
+
{ key: "age", label: "Age" },
|
|
14
|
+
{ key: "email", label: "Email" },
|
|
15
|
+
], tableData: [
|
|
16
|
+
{ name: "John Doe", age: 30, email: "john.doe@example.com" },
|
|
17
|
+
{ name: "Jane Smith", age: 25, email: "jane.smith@example.com" }
|
|
18
|
+
] }}></Story>
|
|
@@ -0,0 +1,18 @@
|
|
|
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: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const Index: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type Index = InstanceType<typeof Index>;
|
|
18
|
+
export default Index;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { defaultTableClass, defaultTableHeaderClass, defaultTableCellClass, defaultTableBodyClass } from "../table";
|
|
3
|
+
import type { DataGridProps } from "./types";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
children = undefined,
|
|
8
|
+
class: className = "",
|
|
9
|
+
element = $bindable(),
|
|
10
|
+
tableHeaders = [],
|
|
11
|
+
tableData = [],
|
|
12
|
+
size = "md",
|
|
13
|
+
radius = "md",
|
|
14
|
+
...restProps
|
|
15
|
+
}: DataGridProps = $props();
|
|
16
|
+
|
|
17
|
+
const combinedTableClass = $derived(twMerge(
|
|
18
|
+
defaultTableClass,
|
|
19
|
+
className
|
|
20
|
+
));
|
|
21
|
+
|
|
22
|
+
const combinedTableHeaderClass = $derived(twMerge(defaultTableHeaderClass, defaultTableCellClass));
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<div class="overflow-auto w-full" bind:this={element}>
|
|
26
|
+
<table {...restProps} class={combinedTableClass}>
|
|
27
|
+
<thead>
|
|
28
|
+
<tr>
|
|
29
|
+
{#each tableHeaders as header}
|
|
30
|
+
<th class={combinedTableHeaderClass}>{header.label}</th>
|
|
31
|
+
{/each}
|
|
32
|
+
</tr>
|
|
33
|
+
</thead>
|
|
34
|
+
<tbody>
|
|
35
|
+
{#each tableData as row}
|
|
36
|
+
<tr class={defaultTableBodyClass}>
|
|
37
|
+
{#each tableHeaders as header}
|
|
38
|
+
<td class={defaultTableCellClass}>{row[header.key]}</td>
|
|
39
|
+
{/each}
|
|
40
|
+
</tr>
|
|
41
|
+
{/each}
|
|
42
|
+
</tbody>
|
|
43
|
+
</table>
|
|
44
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SizeStyle } from "../../../styles/size.js";
|
|
2
|
+
import type { BaseComponentProps } from "../../../types/BaseComponent.ts";
|
|
3
|
+
export interface DataGridHeaders {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DataGridProps extends BaseComponentProps {
|
|
8
|
+
tableHeaders?: DataGridHeaders[];
|
|
9
|
+
tableData?: any[];
|
|
10
|
+
size?: SizeStyle;
|
|
11
|
+
radius?: SizeStyle;
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
import type { TableBodyProps } from "./types";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
children = undefined,
|
|
9
|
+
class: className = "",
|
|
10
|
+
element = $bindable(),
|
|
11
|
+
...restProps
|
|
12
|
+
}: TableBodyProps = $props();
|
|
13
|
+
|
|
14
|
+
const combinedTableBodyClass = $derived(twMerge(
|
|
15
|
+
"[&_tr]:even:bg-sub-background [&_tr]:odd:bg-sub-background-hover",
|
|
16
|
+
className
|
|
17
|
+
));
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<tbody class={combinedTableBodyClass} bind:this={element} {...restProps}>
|
|
21
|
+
{@render children?.()}
|
|
22
|
+
</tbody>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
import { defaultTableCellClass } from "../table";
|
|
4
|
+
import type { TableCellProps } from "./types";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
children = undefined,
|
|
8
|
+
class: className = "",
|
|
9
|
+
element = $bindable(),
|
|
10
|
+
...restProps
|
|
11
|
+
}: TableCellProps = $props();
|
|
12
|
+
|
|
13
|
+
const combinedTableCellClass = $derived(twMerge(
|
|
14
|
+
defaultTableCellClass,
|
|
15
|
+
className
|
|
16
|
+
));
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<td class={combinedTableCellClass} bind:this={element} {...restProps}>
|
|
20
|
+
{@render children?.()}
|
|
21
|
+
</td>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
import { defaultTableCellClass, defaultTableHeaderClass } from "../table";
|
|
4
|
+
import type { TableHeadCellProps } from "./types";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
children = undefined,
|
|
8
|
+
class: className = "",
|
|
9
|
+
element = $bindable(),
|
|
10
|
+
size = "md",
|
|
11
|
+
radius = "md",
|
|
12
|
+
...restProps
|
|
13
|
+
}: TableHeadCellProps = $props();
|
|
14
|
+
|
|
15
|
+
const combinedTableHeaderClass = $derived(twMerge(
|
|
16
|
+
defaultTableHeaderClass,
|
|
17
|
+
defaultTableCellClass,
|
|
18
|
+
className
|
|
19
|
+
));
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<th class={combinedTableHeaderClass} bind:this={element} {...restProps}>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</th>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { TableHeaderProps } from "./types";
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
children = undefined,
|
|
6
|
+
class: className = "",
|
|
7
|
+
element = $bindable(),
|
|
8
|
+
...restProps
|
|
9
|
+
}: TableHeaderProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<thead class={className} bind:this={element} {...restProps}>
|
|
13
|
+
{@render children?.()}
|
|
14
|
+
</thead>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { TableRowProps } from "./types";
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
children = undefined,
|
|
6
|
+
class: className = "",
|
|
7
|
+
element = $bindable(),
|
|
8
|
+
...restProps
|
|
9
|
+
}: TableRowProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<tr class={className} bind:this={element} {...restProps}>
|
|
13
|
+
{@render children?.()}
|
|
14
|
+
</tr>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import Table from "./index.svelte";
|
|
4
|
+
import TableHeader from "./TableHeader.svelte";
|
|
5
|
+
import TableRow from "./TableRow.svelte";
|
|
6
|
+
import TableHeadCell from "./TableHeadCell.svelte";
|
|
7
|
+
import { TableBody } from "..";
|
|
8
|
+
import TableCell from "./TableCell.svelte";
|
|
9
|
+
import { Button } from "../../inputs";
|
|
10
|
+
import { Tooltip } from "../../overlay";
|
|
11
|
+
|
|
12
|
+
const { Story } = defineMeta({
|
|
13
|
+
title: "Components/Display/Table",
|
|
14
|
+
component: Table,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const userData = [
|
|
18
|
+
{ name: "John Doe", age: 30, email: "johndoe@email.com" },
|
|
19
|
+
{ name: "Jane Smith", age: 25, email: "janesmith@email.com" }
|
|
20
|
+
];
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<Story name="Default">
|
|
24
|
+
<TableHeader>
|
|
25
|
+
<TableRow>
|
|
26
|
+
<TableHeadCell>Name</TableHeadCell>
|
|
27
|
+
<TableHeadCell>Age</TableHeadCell>
|
|
28
|
+
<TableHeadCell>Email</TableHeadCell>
|
|
29
|
+
<TableHeadCell></TableHeadCell>
|
|
30
|
+
</TableRow>
|
|
31
|
+
</TableHeader>
|
|
32
|
+
|
|
33
|
+
<TableBody>
|
|
34
|
+
{#each userData as user}
|
|
35
|
+
<TableRow>
|
|
36
|
+
<TableCell>{user.name}</TableCell>
|
|
37
|
+
<TableCell>{user.age}</TableCell>
|
|
38
|
+
<TableCell>{user.email}</TableCell>
|
|
39
|
+
<TableCell>
|
|
40
|
+
<Tooltip text="Edit User">
|
|
41
|
+
<Button size="sm">Edit</Button>
|
|
42
|
+
</Tooltip>
|
|
43
|
+
</TableCell>
|
|
44
|
+
</TableRow>
|
|
45
|
+
{/each}
|
|
46
|
+
</TableBody>
|
|
47
|
+
</Story>
|
|
@@ -0,0 +1,18 @@
|
|
|
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: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const Index: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type Index = InstanceType<typeof Index>;
|
|
18
|
+
export default Index;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { defaultTableClass } from "../table";
|
|
2
3
|
import type { TableProps } from "./types";
|
|
3
4
|
import { twMerge } from "tailwind-merge";
|
|
4
5
|
|
|
@@ -6,43 +7,19 @@
|
|
|
6
7
|
children = undefined,
|
|
7
8
|
class: className = "",
|
|
8
9
|
element = $bindable(),
|
|
9
|
-
tableHeaders = [],
|
|
10
|
-
tableData = [],
|
|
11
10
|
size = "md",
|
|
12
11
|
radius = "md",
|
|
13
12
|
...restProps
|
|
14
13
|
}: TableProps = $props();
|
|
15
14
|
|
|
16
|
-
const defaultTableClass = "w-full border-collapse text-main-text border border-form-border border-l-0";
|
|
17
|
-
const defaultTableHeaderClass = "text-left border-b border-b-1 border-b-form-border bg-sub-background font-medium";
|
|
18
|
-
const defaultTableCellClass = "p-2 text-sm border-l border-l-[1px] border-l-form-border";
|
|
19
|
-
const defaultTableBodyClass = "even:bg-sub-background odd:bg-sub-background-hover";
|
|
20
|
-
|
|
21
15
|
const combinedTableClass = $derived(twMerge(
|
|
22
16
|
defaultTableClass,
|
|
23
17
|
className
|
|
24
18
|
));
|
|
25
|
-
|
|
26
|
-
const combinedTableHeaderClass = $derived(twMerge(defaultTableHeaderClass, defaultTableCellClass));
|
|
27
19
|
</script>
|
|
28
20
|
|
|
29
21
|
<div class="overflow-auto w-full" bind:this={element}>
|
|
30
22
|
<table {...restProps} class={combinedTableClass}>
|
|
31
|
-
|
|
32
|
-
<tr>
|
|
33
|
-
{#each tableHeaders as header}
|
|
34
|
-
<th class={combinedTableHeaderClass}>{header.label}</th>
|
|
35
|
-
{/each}
|
|
36
|
-
</tr>
|
|
37
|
-
</thead>
|
|
38
|
-
<tbody>
|
|
39
|
-
{#each tableData as row}
|
|
40
|
-
<tr class={defaultTableBodyClass}>
|
|
41
|
-
{#each tableHeaders as header}
|
|
42
|
-
<td class={defaultTableCellClass}>{row[header.key]}</td>
|
|
43
|
-
{/each}
|
|
44
|
-
</tr>
|
|
45
|
-
{/each}
|
|
46
|
-
</tbody>
|
|
23
|
+
{@render children()}
|
|
47
24
|
</table>
|
|
48
25
|
</div>
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { SizeStyle } from "../../../styles/size.js";
|
|
2
2
|
import type { BaseComponentProps } from "../../../types/BaseComponent.ts";
|
|
3
|
-
export interface TableHeaders {
|
|
4
|
-
key: string;
|
|
5
|
-
label: string;
|
|
6
|
-
}
|
|
7
3
|
export interface TableProps extends BaseComponentProps {
|
|
8
|
-
tableHeaders?: TableHeaders[];
|
|
9
|
-
tableData?: any[];
|
|
10
4
|
size?: SizeStyle;
|
|
11
5
|
radius?: SizeStyle;
|
|
12
6
|
}
|
|
7
|
+
export interface TableHeaderProps extends BaseComponentProps {
|
|
8
|
+
}
|
|
9
|
+
export interface TableHeadCellProps extends BaseComponentProps {
|
|
10
|
+
}
|
|
11
|
+
export interface TableCellProps extends BaseComponentProps {
|
|
12
|
+
}
|
|
13
|
+
export interface TableBodyProps extends BaseComponentProps {
|
|
14
|
+
}
|
|
15
|
+
export interface TableRowProps extends BaseComponentProps {
|
|
16
|
+
}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
export { default as Card } from "./Card/index.svelte";
|
|
2
|
-
export { default as
|
|
2
|
+
export { default as DataGrid } from "./DataGrid/index.svelte";
|
|
3
3
|
export { default as KBD } from "./KBD/index.svelte";
|
|
4
4
|
export { default as Skeleton } from "./Skeleton/index.svelte";
|
|
5
5
|
export { default as Accordion } from "./Accordion/index.svelte";
|
|
6
6
|
export { default as AccordionItem } from "./Accordion/AccordionItem.svelte";
|
|
7
7
|
export { default as Tree } from "./Tree/index.svelte";
|
|
8
8
|
export { default as TreeNode } from "./Tree/TreeNode.svelte";
|
|
9
|
+
export { default as Table } from "./Table/index.svelte";
|
|
10
|
+
export { default as TableHeader } from "./Table/TableHeader.svelte";
|
|
11
|
+
export { default as TableHeadCell } from "./Table/TableHeadCell.svelte";
|
|
12
|
+
export { default as TableCell } from "./Table/TableCell.svelte";
|
|
13
|
+
export { default as TableBody } from "./Table/TableBody.svelte";
|
|
14
|
+
export { default as TableRow } from "./Table/TableRow.svelte";
|
|
9
15
|
export type { CardProps } from "./Card/types.ts";
|
|
10
|
-
export type {
|
|
16
|
+
export type { DataGridProps } from "./DataGrid/types.ts";
|
|
11
17
|
export type { SkeletonProps } from "./Skeleton/types.ts";
|
|
12
18
|
export type { AccordionProps, AccordionItemProps, AccordionContext } from "./Accordion/types.ts";
|
|
13
19
|
export type { TreeProps, TreeNodeProps, TreeContext } from "./Tree/types.ts";
|
|
20
|
+
export type { TableProps } from "./Table/types.ts";
|
|
21
|
+
export type { TableHeaderProps } from "./Table/types.ts";
|
|
22
|
+
export type { TableHeadCellProps } from "./Table/types.ts";
|
|
23
|
+
export type { TableCellProps } from "./Table/types.ts";
|
|
24
|
+
export type { TableBodyProps } from "./Table/types.ts";
|
|
25
|
+
export type { TableRowProps } from "./Table/types.ts";
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
export { default as Card } from "./Card/index.svelte";
|
|
2
|
-
export { default as
|
|
2
|
+
export { default as DataGrid } from "./DataGrid/index.svelte";
|
|
3
3
|
export { default as KBD } from "./KBD/index.svelte";
|
|
4
4
|
export { default as Skeleton } from "./Skeleton/index.svelte";
|
|
5
5
|
export { default as Accordion } from "./Accordion/index.svelte";
|
|
6
6
|
export { default as AccordionItem } from "./Accordion/AccordionItem.svelte";
|
|
7
7
|
export { default as Tree } from "./Tree/index.svelte";
|
|
8
8
|
export { default as TreeNode } from "./Tree/TreeNode.svelte";
|
|
9
|
+
export { default as Table } from "./Table/index.svelte";
|
|
10
|
+
export { default as TableHeader } from "./Table/TableHeader.svelte";
|
|
11
|
+
export { default as TableHeadCell } from "./Table/TableHeadCell.svelte";
|
|
12
|
+
export { default as TableCell } from "./Table/TableCell.svelte";
|
|
13
|
+
export { default as TableBody } from "./Table/TableBody.svelte";
|
|
14
|
+
export { default as TableRow } from "./Table/TableRow.svelte";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const defaultTableClass = "w-full border-collapse text-main-text border border-form-border border-l-0";
|
|
2
|
+
export declare const defaultTableHeaderClass = "text-left border-b border-b-1 border-b-form-border bg-sub-background font-medium";
|
|
3
|
+
export declare const defaultTableCellClass = "p-2 text-sm border-l border-l-[1px] border-l-form-border";
|
|
4
|
+
export declare const defaultTableBodyClass = "even:bg-sub-background odd:bg-sub-background-hover";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const defaultTableClass = "w-full border-collapse text-main-text border border-form-border border-l-0";
|
|
2
|
+
export const defaultTableHeaderClass = "text-left border-b border-b-1 border-b-form-border bg-sub-background font-medium";
|
|
3
|
+
export const defaultTableCellClass = "p-2 text-sm border-l border-l-[1px] border-l-form-border";
|
|
4
|
+
export const defaultTableBodyClass = "even:bg-sub-background odd:bg-sub-background-hover";
|