svelora 3.0.6 → 3.0.8
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/BentoGrid/BentoCard.svelte +45 -0
- package/dist/BentoGrid/BentoCard.svelte.d.ts +4 -0
- package/dist/BentoGrid/BentoGrid.svelte +9 -0
- package/dist/BentoGrid/BentoGrid.svelte.d.ts +4 -0
- package/dist/BentoGrid/bento-grid.types.d.ts +47 -0
- package/dist/BentoGrid/bento-grid.types.js +1 -0
- package/dist/BentoGrid/bento-grid.variants.d.ts +30 -0
- package/dist/BentoGrid/bento-grid.variants.js +16 -0
- package/dist/BentoGrid/index.d.ts +5 -0
- package/dist/BentoGrid/index.js +5 -0
- package/dist/Chart/Chart.svelte +48 -0
- package/dist/Chart/Chart.svelte.d.ts +4 -0
- package/dist/Chart/chart.types.d.ts +16 -0
- package/dist/Chart/chart.types.js +1 -0
- package/dist/Chart/index.d.ts +2 -0
- package/dist/Chart/index.js +2 -0
- package/dist/Chat/ChatBubble.svelte +30 -0
- package/dist/Chat/ChatBubble.svelte.d.ts +4 -0
- package/dist/Chat/ChatInput.svelte +50 -0
- package/dist/Chat/ChatInput.svelte.d.ts +4 -0
- package/dist/Chat/ChatMessage.svelte +15 -0
- package/dist/Chat/ChatMessage.svelte.d.ts +4 -0
- package/dist/Chat/chat.types.d.ts +63 -0
- package/dist/Chat/chat.types.js +1 -0
- package/dist/Chat/chat.variants.d.ts +117 -0
- package/dist/Chat/chat.variants.js +47 -0
- package/dist/Chat/index.d.ts +6 -0
- package/dist/Chat/index.js +6 -0
- package/dist/ColorPicker/ColorPicker.svelte +109 -0
- package/dist/ColorPicker/ColorPicker.svelte.d.ts +4 -0
- package/dist/ColorPicker/color-picker.types.d.ts +26 -0
- package/dist/ColorPicker/color-picker.types.js +1 -0
- package/dist/ColorPicker/color-picker.variants.d.ts +69 -0
- package/dist/ColorPicker/color-picker.variants.js +13 -0
- package/dist/ColorPicker/index.d.ts +4 -0
- package/dist/ColorPicker/index.js +4 -0
- package/dist/DateRangePicker/DateRangePicker.svelte +59 -0
- package/dist/DateRangePicker/DateRangePicker.svelte.d.ts +4 -0
- package/dist/DateRangePicker/date-range-picker.types.d.ts +34 -0
- package/dist/DateRangePicker/date-range-picker.types.js +1 -0
- package/dist/DateRangePicker/date-range-picker.variants.d.ts +39 -0
- package/dist/DateRangePicker/date-range-picker.variants.js +20 -0
- package/dist/DateRangePicker/index.d.ts +4 -0
- package/dist/DateRangePicker/index.js +4 -0
- package/dist/List/List.svelte +14 -0
- package/dist/List/List.svelte.d.ts +4 -0
- package/dist/List/ListItem.svelte +64 -0
- package/dist/List/ListItem.svelte.d.ts +4 -0
- package/dist/List/index.d.ts +5 -0
- package/dist/List/index.js +5 -0
- package/dist/List/list.types.d.ts +62 -0
- package/dist/List/list.types.js +1 -0
- package/dist/List/list.variants.d.ts +99 -0
- package/dist/List/list.variants.js +42 -0
- package/dist/Marquee/Marquee.svelte +50 -0
- package/dist/Marquee/Marquee.svelte.d.ts +4 -0
- package/dist/Marquee/index.d.ts +4 -0
- package/dist/Marquee/index.js +4 -0
- package/dist/Marquee/marquee.types.d.ts +38 -0
- package/dist/Marquee/marquee.types.js +1 -0
- package/dist/Marquee/marquee.variants.d.ts +78 -0
- package/dist/Marquee/marquee.variants.js +28 -0
- package/dist/NavigationMenu/NavigationMenu.svelte +212 -0
- package/dist/NavigationMenu/NavigationMenu.svelte.d.ts +4 -0
- package/dist/NavigationMenu/index.d.ts +3 -0
- package/dist/NavigationMenu/index.js +3 -0
- package/dist/NavigationMenu/navigation-menu.types.d.ts +104 -0
- package/dist/NavigationMenu/navigation-menu.types.js +1 -0
- package/dist/NavigationMenu/navigation-menu.variants.d.ts +121 -0
- package/dist/NavigationMenu/navigation-menu.variants.js +64 -0
- package/dist/NumberTicker/NumberTicker.svelte +59 -0
- package/dist/NumberTicker/NumberTicker.svelte.d.ts +4 -0
- package/dist/NumberTicker/index.d.ts +4 -0
- package/dist/NumberTicker/index.js +4 -0
- package/dist/NumberTicker/number-ticker.types.d.ts +26 -0
- package/dist/NumberTicker/number-ticker.types.js +1 -0
- package/dist/NumberTicker/number-ticker.variants.d.ts +27 -0
- package/dist/NumberTicker/number-ticker.variants.js +6 -0
- package/dist/PasswordInput/PasswordInput.svelte +74 -0
- package/dist/PasswordInput/PasswordInput.svelte.d.ts +4 -0
- package/dist/PasswordInput/index.d.ts +4 -0
- package/dist/PasswordInput/index.js +4 -0
- package/dist/PasswordInput/password-input.types.d.ts +18 -0
- package/dist/PasswordInput/password-input.types.js +1 -0
- package/dist/PasswordInput/password-input.variants.d.ts +57 -0
- package/dist/PasswordInput/password-input.variants.js +11 -0
- package/dist/Prose/Prose.svelte +13 -0
- package/dist/Prose/Prose.svelte.d.ts +4 -0
- package/dist/Prose/index.d.ts +4 -0
- package/dist/Prose/index.js +4 -0
- package/dist/Prose/prose.types.d.ts +22 -0
- package/dist/Prose/prose.types.js +1 -0
- package/dist/Prose/prose.variants.d.ts +45 -0
- package/dist/Prose/prose.variants.js +45 -0
- package/dist/Rating/Rating.svelte +93 -0
- package/dist/Rating/Rating.svelte.d.ts +4 -0
- package/dist/Rating/index.d.ts +4 -0
- package/dist/Rating/index.js +4 -0
- package/dist/Rating/rating.types.d.ts +59 -0
- package/dist/Rating/rating.types.js +1 -0
- package/dist/Rating/rating.variants.d.ts +93 -0
- package/dist/Rating/rating.variants.js +32 -0
- package/dist/Resizable/Resizable.svelte +9 -0
- package/dist/Resizable/Resizable.svelte.d.ts +4 -0
- package/dist/Resizable/index.d.ts +4 -0
- package/dist/Resizable/index.js +4 -0
- package/dist/Resizable/resizable.types.d.ts +18 -0
- package/dist/Resizable/resizable.types.js +1 -0
- package/dist/Resizable/resizable.variants.d.ts +48 -0
- package/dist/Resizable/resizable.variants.js +17 -0
- package/dist/ScrollArea/ScrollArea.svelte +54 -0
- package/dist/ScrollArea/ScrollArea.svelte.d.ts +4 -0
- package/dist/ScrollArea/index.d.ts +4 -0
- package/dist/ScrollArea/index.js +4 -0
- package/dist/ScrollArea/scroll-area.types.d.ts +27 -0
- package/dist/ScrollArea/scroll-area.types.js +1 -0
- package/dist/ScrollArea/scroll-area.variants.d.ts +45 -0
- package/dist/ScrollArea/scroll-area.variants.js +27 -0
- package/dist/Search/Search.svelte +94 -0
- package/dist/Search/Search.svelte.d.ts +4 -0
- package/dist/Search/index.d.ts +2 -0
- package/dist/Search/index.js +1 -0
- package/dist/Search/search.types.d.ts +40 -0
- package/dist/Search/search.types.js +1 -0
- package/dist/Sidebar/Sidebar.svelte +30 -0
- package/dist/Sidebar/Sidebar.svelte.d.ts +4 -0
- package/dist/Sidebar/index.d.ts +4 -0
- package/dist/Sidebar/index.js +4 -0
- package/dist/Sidebar/sidebar.types.d.ts +31 -0
- package/dist/Sidebar/sidebar.types.js +1 -0
- package/dist/Sidebar/sidebar.variants.d.ts +69 -0
- package/dist/Sidebar/sidebar.variants.js +23 -0
- package/dist/Spotlight/Spotlight.svelte +31 -0
- package/dist/Spotlight/Spotlight.svelte.d.ts +4 -0
- package/dist/Spotlight/index.d.ts +4 -0
- package/dist/Spotlight/index.js +4 -0
- package/dist/Spotlight/spotlight.types.d.ts +22 -0
- package/dist/Spotlight/spotlight.types.js +1 -0
- package/dist/Spotlight/spotlight.variants.d.ts +39 -0
- package/dist/Spotlight/spotlight.variants.js +8 -0
- package/dist/TagsInput/TagsInput.svelte +100 -0
- package/dist/TagsInput/TagsInput.svelte.d.ts +4 -0
- package/dist/TagsInput/index.d.ts +4 -0
- package/dist/TagsInput/index.js +4 -0
- package/dist/TagsInput/tags-input.types.d.ts +32 -0
- package/dist/TagsInput/tags-input.types.js +1 -0
- package/dist/TagsInput/tags-input.variants.d.ts +45 -0
- package/dist/TagsInput/tags-input.variants.js +22 -0
- package/dist/TreeView/TreeView.svelte +95 -0
- package/dist/TreeView/TreeView.svelte.d.ts +4 -0
- package/dist/TreeView/index.d.ts +4 -0
- package/dist/TreeView/index.js +4 -0
- package/dist/TreeView/tree-view.types.d.ts +68 -0
- package/dist/TreeView/tree-view.types.js +1 -0
- package/dist/TreeView/tree-view.variants.d.ts +69 -0
- package/dist/TreeView/tree-view.variants.js +30 -0
- package/dist/docs/navigation.js +119 -0
- package/dist/index.d.ts +19 -2
- package/dist/index.js +19 -1
- package/dist/mcp/svelora-docs.data.json +44 -6
- package/package.json +9 -8
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const tagsInputVariants = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
base: 'flex flex-wrap items-center gap-2 p-2 w-full rounded-md border border-outline-variant bg-surface-50 dark:bg-surface-900 focus-within:ring-2 focus-within:ring-primary focus-within:border-primary transition-colors cursor-text',
|
|
5
|
+
tag: 'flex items-center gap-1 px-2.5 py-1 text-sm rounded-full bg-surface-200 dark:bg-surface-800 text-surface-900 dark:text-surface-50',
|
|
6
|
+
tagText: 'truncate max-w-[150px]',
|
|
7
|
+
removeButton: 'flex items-center justify-center w-4 h-4 rounded-full hover:bg-surface-300 dark:hover:bg-surface-700 transition-colors focus:outline-none focus:ring-2 focus:ring-primary',
|
|
8
|
+
input: 'flex-1 min-w-[120px] bg-transparent border-0 outline-none focus:ring-0 text-sm text-surface-900 dark:text-surface-50 placeholder:text-surface-500 dark:placeholder:text-surface-400 p-1'
|
|
9
|
+
},
|
|
10
|
+
variants: {
|
|
11
|
+
disabled: {
|
|
12
|
+
true: {
|
|
13
|
+
base: 'opacity-50 cursor-not-allowed',
|
|
14
|
+
input: 'cursor-not-allowed',
|
|
15
|
+
removeButton: 'pointer-events-none'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
disabled: false
|
|
21
|
+
}
|
|
22
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<script lang="ts">import { twMerge } from "tailwind-merge";
|
|
2
|
+
import Icon from "../Icon/Icon.svelte";
|
|
3
|
+
import { treeViewVariants } from "./tree-view.variants.js";
|
|
4
|
+
let { items = [], selectedIds = [], expandedIds = $bindable([]), size = "md", expandOnRowClick = true, class: className, onItemClick, onItemExpand, labelSnippet, ...restProps } = $props();
|
|
5
|
+
let styles = $derived(treeViewVariants({ size }));
|
|
6
|
+
// Internal state tracking for faster lookup
|
|
7
|
+
let expandedSet = $derived(new Set(expandedIds));
|
|
8
|
+
let selectedSet = $derived(new Set(selectedIds));
|
|
9
|
+
function toggleExpand(e, item) {
|
|
10
|
+
e.stopPropagation();
|
|
11
|
+
if (item.disabled || !item.children?.length) return;
|
|
12
|
+
const isExpanded = expandedSet.has(item.id);
|
|
13
|
+
if (isExpanded) {
|
|
14
|
+
expandedIds = expandedIds.filter((id) => id !== item.id);
|
|
15
|
+
} else {
|
|
16
|
+
expandedIds = [...expandedIds, item.id];
|
|
17
|
+
}
|
|
18
|
+
onItemExpand?.(item, !isExpanded);
|
|
19
|
+
}
|
|
20
|
+
function handleRowClick(e, item) {
|
|
21
|
+
if (item.disabled) return;
|
|
22
|
+
if (expandOnRowClick && item.children?.length) {
|
|
23
|
+
toggleExpand(e, item);
|
|
24
|
+
}
|
|
25
|
+
onItemClick?.(item);
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
{#snippet renderTree(treeItems: TreeItem[])}
|
|
30
|
+
<div class={styles.root()}>
|
|
31
|
+
{#each treeItems as item}
|
|
32
|
+
{@const hasChildren = item.children && item.children.length > 0}
|
|
33
|
+
{@const isExpanded = expandedSet.has(item.id)}
|
|
34
|
+
{@const isSelected = selectedSet.has(item.id)}
|
|
35
|
+
|
|
36
|
+
<div class={styles.item()}>
|
|
37
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
38
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
39
|
+
<div
|
|
40
|
+
class={twMerge(
|
|
41
|
+
styles.itemRow(),
|
|
42
|
+
isSelected && styles.itemRowActive(),
|
|
43
|
+
item.disabled && styles.itemRowDisabled()
|
|
44
|
+
)}
|
|
45
|
+
onclick={(e) => handleRowClick(e, item)}
|
|
46
|
+
>
|
|
47
|
+
<!-- Chevron / Spacer -->
|
|
48
|
+
<div class={styles.chevronWrapper()}>
|
|
49
|
+
{#if hasChildren}
|
|
50
|
+
<button
|
|
51
|
+
type="button"
|
|
52
|
+
class="w-full h-full flex items-center justify-center outline-none"
|
|
53
|
+
onclick={(e) => {
|
|
54
|
+
if (!expandOnRowClick) toggleExpand(e, item)
|
|
55
|
+
}}
|
|
56
|
+
tabindex="-1"
|
|
57
|
+
disabled={item.disabled}
|
|
58
|
+
>
|
|
59
|
+
<Icon
|
|
60
|
+
name="lucide:chevron-right"
|
|
61
|
+
class={twMerge(styles.chevron(), isExpanded && 'rotate-90')}
|
|
62
|
+
/>
|
|
63
|
+
</button>
|
|
64
|
+
{/if}
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<!-- Icon -->
|
|
68
|
+
{#if item.icon}
|
|
69
|
+
<Icon name={item.icon} class={styles.icon()} />
|
|
70
|
+
{/if}
|
|
71
|
+
|
|
72
|
+
<!-- Label -->
|
|
73
|
+
<div class={styles.label()}>
|
|
74
|
+
{#if labelSnippet}
|
|
75
|
+
{@render labelSnippet(item)}
|
|
76
|
+
{:else}
|
|
77
|
+
{item.label}
|
|
78
|
+
{/if}
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
<!-- Children -->
|
|
83
|
+
{#if hasChildren && isExpanded}
|
|
84
|
+
<div class={styles.childrenWrapper()}>
|
|
85
|
+
{@render renderTree(item.children!)}
|
|
86
|
+
</div>
|
|
87
|
+
{/if}
|
|
88
|
+
</div>
|
|
89
|
+
{/each}
|
|
90
|
+
</div>
|
|
91
|
+
{/snippet}
|
|
92
|
+
|
|
93
|
+
<div class={className} {...restProps}>
|
|
94
|
+
{@render renderTree(items)}
|
|
95
|
+
</div>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
+
import type { TreeViewVariantProps } from './tree-view.variants.js';
|
|
3
|
+
import type { Snippet } from 'svelte';
|
|
4
|
+
export interface TreeItem {
|
|
5
|
+
/**
|
|
6
|
+
* Unique identifier for the item.
|
|
7
|
+
*/
|
|
8
|
+
id: string | number;
|
|
9
|
+
/**
|
|
10
|
+
* Text label to display.
|
|
11
|
+
*/
|
|
12
|
+
label: string;
|
|
13
|
+
/**
|
|
14
|
+
* Optional icon name.
|
|
15
|
+
*/
|
|
16
|
+
icon?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the item is disabled.
|
|
19
|
+
*/
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Child items (for nested trees).
|
|
23
|
+
*/
|
|
24
|
+
children?: TreeItem[];
|
|
25
|
+
/**
|
|
26
|
+
* Any other custom data you want to attach.
|
|
27
|
+
*/
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}
|
|
30
|
+
export interface TreeViewProps extends HTMLAttributes<HTMLDivElement> {
|
|
31
|
+
/**
|
|
32
|
+
* Array of tree items to display.
|
|
33
|
+
*/
|
|
34
|
+
items: TreeItem[];
|
|
35
|
+
/**
|
|
36
|
+
* Currently selected item IDs.
|
|
37
|
+
*/
|
|
38
|
+
selectedIds?: (string | number)[];
|
|
39
|
+
/**
|
|
40
|
+
* Currently expanded item IDs.
|
|
41
|
+
*/
|
|
42
|
+
expandedIds?: (string | number)[];
|
|
43
|
+
/**
|
|
44
|
+
* Component size.
|
|
45
|
+
*/
|
|
46
|
+
size?: TreeViewVariantProps['size'];
|
|
47
|
+
/**
|
|
48
|
+
* Whether clicking the row expands the item, or only clicking the chevron expands it.
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
expandOnRowClick?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Additional CSS classes.
|
|
54
|
+
*/
|
|
55
|
+
class?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Event fired when an item is clicked.
|
|
58
|
+
*/
|
|
59
|
+
onItemClick?: (item: TreeItem) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Event fired when an item's expanded state changes.
|
|
62
|
+
*/
|
|
63
|
+
onItemExpand?: (item: TreeItem, isExpanded: boolean) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Custom snippet for rendering the label part of the item.
|
|
66
|
+
*/
|
|
67
|
+
labelSnippet?: Snippet<[TreeItem]>;
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
export declare const treeViewVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
size: {
|
|
4
|
+
sm: {
|
|
5
|
+
itemRow: string;
|
|
6
|
+
chevron: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
};
|
|
9
|
+
md: {
|
|
10
|
+
itemRow: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}, {
|
|
14
|
+
root: string;
|
|
15
|
+
item: string;
|
|
16
|
+
itemRow: string;
|
|
17
|
+
itemRowActive: string;
|
|
18
|
+
itemRowDisabled: string;
|
|
19
|
+
chevronWrapper: string;
|
|
20
|
+
chevron: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
label: string;
|
|
23
|
+
childrenWrapper: string;
|
|
24
|
+
}, undefined, {
|
|
25
|
+
size: {
|
|
26
|
+
sm: {
|
|
27
|
+
itemRow: string;
|
|
28
|
+
chevron: string;
|
|
29
|
+
icon: string;
|
|
30
|
+
};
|
|
31
|
+
md: {
|
|
32
|
+
itemRow: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}, {
|
|
36
|
+
root: string;
|
|
37
|
+
item: string;
|
|
38
|
+
itemRow: string;
|
|
39
|
+
itemRowActive: string;
|
|
40
|
+
itemRowDisabled: string;
|
|
41
|
+
chevronWrapper: string;
|
|
42
|
+
chevron: string;
|
|
43
|
+
icon: string;
|
|
44
|
+
label: string;
|
|
45
|
+
childrenWrapper: string;
|
|
46
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
47
|
+
size: {
|
|
48
|
+
sm: {
|
|
49
|
+
itemRow: string;
|
|
50
|
+
chevron: string;
|
|
51
|
+
icon: string;
|
|
52
|
+
};
|
|
53
|
+
md: {
|
|
54
|
+
itemRow: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
}, {
|
|
58
|
+
root: string;
|
|
59
|
+
item: string;
|
|
60
|
+
itemRow: string;
|
|
61
|
+
itemRowActive: string;
|
|
62
|
+
itemRowDisabled: string;
|
|
63
|
+
chevronWrapper: string;
|
|
64
|
+
chevron: string;
|
|
65
|
+
icon: string;
|
|
66
|
+
label: string;
|
|
67
|
+
childrenWrapper: string;
|
|
68
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
69
|
+
export type TreeViewVariantProps = VariantProps<typeof treeViewVariants>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const treeViewVariants = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
root: 'flex flex-col text-sm',
|
|
5
|
+
item: 'flex flex-col',
|
|
6
|
+
itemRow: 'flex items-center gap-1.5 py-1.5 px-2 rounded-md hover:bg-surface-100 dark:hover:bg-surface-800 cursor-pointer select-none transition-colors text-surface-900 dark:text-surface-50',
|
|
7
|
+
itemRowActive: 'bg-primary-50 dark:bg-primary-900/30 text-primary-900 dark:text-primary-100',
|
|
8
|
+
itemRowDisabled: 'opacity-50 cursor-not-allowed hover:bg-transparent dark:hover:bg-transparent',
|
|
9
|
+
chevronWrapper: 'flex items-center justify-center w-5 h-5 shrink-0 rounded hover:bg-surface-200 dark:hover:bg-surface-700 transition-colors',
|
|
10
|
+
chevron: 'w-4 h-4 transition-transform duration-200',
|
|
11
|
+
icon: 'w-4 h-4 shrink-0 text-surface-500 dark:text-surface-400',
|
|
12
|
+
label: 'truncate flex-1',
|
|
13
|
+
childrenWrapper: 'flex flex-col pl-4 ml-2.5 border-l border-outline-variant/50 mt-1'
|
|
14
|
+
},
|
|
15
|
+
variants: {
|
|
16
|
+
size: {
|
|
17
|
+
sm: {
|
|
18
|
+
itemRow: 'py-1 text-xs',
|
|
19
|
+
chevron: 'w-3 h-3',
|
|
20
|
+
icon: 'w-3 h-3'
|
|
21
|
+
},
|
|
22
|
+
md: {
|
|
23
|
+
itemRow: 'py-1.5 text-sm'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
size: 'md'
|
|
29
|
+
}
|
|
30
|
+
});
|
package/dist/docs/navigation.js
CHANGED
|
@@ -121,6 +121,12 @@ export const docsComponentGroups = [
|
|
|
121
121
|
{
|
|
122
122
|
title: 'Layout',
|
|
123
123
|
items: [
|
|
124
|
+
{
|
|
125
|
+
title: 'BentoGrid',
|
|
126
|
+
href: '/docs/components/bento-grid',
|
|
127
|
+
legacyHref: '/bento-grid',
|
|
128
|
+
icon: 'lucide:layout-dashboard'
|
|
129
|
+
},
|
|
124
130
|
{
|
|
125
131
|
title: 'Card',
|
|
126
132
|
href: '/docs/components/card',
|
|
@@ -133,6 +139,35 @@ export const docsComponentGroups = [
|
|
|
133
139
|
legacyHref: '/container',
|
|
134
140
|
icon: 'lucide:box'
|
|
135
141
|
},
|
|
142
|
+
{
|
|
143
|
+
title: 'Resizable',
|
|
144
|
+
href: '/docs/components/resizable',
|
|
145
|
+
legacyHref: '/resizable',
|
|
146
|
+
icon: 'lucide:layout-panel-left-right'
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
title: 'Modal',
|
|
150
|
+
href: '/docs/components/modal',
|
|
151
|
+
icon: 'lucide:layout-panel-left-right'
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
title: 'Navigation Menu',
|
|
155
|
+
href: '/docs/components/navigation-menu',
|
|
156
|
+
icon: 'lucide:compass',
|
|
157
|
+
description: 'A horizontal list of links with optional nested dropdowns.'
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
title: 'Scroll Area',
|
|
161
|
+
href: '/docs/components/scroll-area',
|
|
162
|
+
icon: 'lucide:scroll-text',
|
|
163
|
+
description: 'A customizable scrollable area with custom scrollbars.'
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
title: 'Search',
|
|
167
|
+
href: '/docs/components/search',
|
|
168
|
+
icon: 'lucide:search',
|
|
169
|
+
description: 'A flexible search input or command palette modal.'
|
|
170
|
+
},
|
|
136
171
|
{
|
|
137
172
|
title: 'Separator',
|
|
138
173
|
href: '/docs/components/separator',
|
|
@@ -150,6 +185,12 @@ export const docsComponentGroups = [
|
|
|
150
185
|
legacyHref: '/accordion',
|
|
151
186
|
icon: 'lucide:chevrons-down-up'
|
|
152
187
|
},
|
|
188
|
+
{
|
|
189
|
+
title: 'Chart',
|
|
190
|
+
href: '/docs/components/chart',
|
|
191
|
+
legacyHref: '/chart',
|
|
192
|
+
icon: 'lucide:bar-chart-2'
|
|
193
|
+
},
|
|
153
194
|
{
|
|
154
195
|
title: 'Avatar',
|
|
155
196
|
href: '/docs/components/avatar',
|
|
@@ -180,6 +221,24 @@ export const docsComponentGroups = [
|
|
|
180
221
|
legacyHref: '/chip',
|
|
181
222
|
icon: 'lucide:circle-dot'
|
|
182
223
|
},
|
|
224
|
+
{
|
|
225
|
+
title: 'List',
|
|
226
|
+
href: '/docs/components/list',
|
|
227
|
+
legacyHref: '/list',
|
|
228
|
+
icon: 'lucide:list'
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
title: 'NumberTicker',
|
|
232
|
+
href: '/docs/components/number-ticker',
|
|
233
|
+
legacyHref: '/number-ticker',
|
|
234
|
+
icon: 'lucide:clock-10'
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
title: 'Prose',
|
|
238
|
+
href: '/docs/components/prose',
|
|
239
|
+
legacyHref: '/prose',
|
|
240
|
+
icon: 'lucide:type'
|
|
241
|
+
},
|
|
183
242
|
{
|
|
184
243
|
title: 'Empty',
|
|
185
244
|
href: '/docs/components/empty',
|
|
@@ -209,6 +268,12 @@ export const docsComponentGroups = [
|
|
|
209
268
|
href: '/docs/components/table',
|
|
210
269
|
legacyHref: '/table',
|
|
211
270
|
icon: 'lucide:table'
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
title: 'TreeView',
|
|
274
|
+
href: '/docs/components/tree-view',
|
|
275
|
+
legacyHref: '/tree-view',
|
|
276
|
+
icon: 'lucide:folder-tree'
|
|
212
277
|
}
|
|
213
278
|
]
|
|
214
279
|
},
|
|
@@ -221,6 +286,12 @@ export const docsComponentGroups = [
|
|
|
221
286
|
legacyHref: '/checkbox',
|
|
222
287
|
icon: 'lucide:square-check'
|
|
223
288
|
},
|
|
289
|
+
{
|
|
290
|
+
title: 'ColorPicker',
|
|
291
|
+
href: '/docs/components/color-picker',
|
|
292
|
+
legacyHref: '/color-picker',
|
|
293
|
+
icon: 'lucide:pipette'
|
|
294
|
+
},
|
|
224
295
|
{
|
|
225
296
|
title: 'CheckboxGroup',
|
|
226
297
|
href: '/docs/components/checkbox-group',
|
|
@@ -275,6 +346,12 @@ export const docsComponentGroups = [
|
|
|
275
346
|
legacyHref: '/textarea',
|
|
276
347
|
icon: 'lucide:text'
|
|
277
348
|
},
|
|
349
|
+
{
|
|
350
|
+
title: 'PasswordInput',
|
|
351
|
+
href: '/docs/components/password-input',
|
|
352
|
+
legacyHref: '/password-input',
|
|
353
|
+
icon: 'lucide:key'
|
|
354
|
+
},
|
|
278
355
|
{
|
|
279
356
|
title: 'FileUpload',
|
|
280
357
|
href: '/docs/components/file-upload',
|
|
@@ -287,6 +364,18 @@ export const docsComponentGroups = [
|
|
|
287
364
|
legacyHref: '/pin-input',
|
|
288
365
|
icon: 'lucide:square-asterisk'
|
|
289
366
|
},
|
|
367
|
+
{
|
|
368
|
+
title: 'Rating',
|
|
369
|
+
href: '/docs/components/rating',
|
|
370
|
+
legacyHref: '/rating',
|
|
371
|
+
icon: 'lucide:star'
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
title: 'TagsInput',
|
|
375
|
+
href: '/docs/components/tags-input',
|
|
376
|
+
legacyHref: '/tags-input',
|
|
377
|
+
icon: 'lucide:tags'
|
|
378
|
+
},
|
|
290
379
|
{
|
|
291
380
|
title: 'FormField',
|
|
292
381
|
href: '/docs/components/form-field',
|
|
@@ -316,6 +405,18 @@ export const docsComponentGroups = [
|
|
|
316
405
|
legacyHref: '/banner',
|
|
317
406
|
icon: 'lucide:megaphone'
|
|
318
407
|
},
|
|
408
|
+
{
|
|
409
|
+
title: 'Chat',
|
|
410
|
+
href: '/docs/components/chat',
|
|
411
|
+
legacyHref: '/chat',
|
|
412
|
+
icon: 'lucide:message-circle'
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
title: 'Marquee',
|
|
416
|
+
href: '/docs/components/marquee',
|
|
417
|
+
legacyHref: '/marquee',
|
|
418
|
+
icon: 'lucide:move-right'
|
|
419
|
+
},
|
|
319
420
|
{
|
|
320
421
|
title: 'Progress',
|
|
321
422
|
href: '/docs/components/progress',
|
|
@@ -327,6 +428,12 @@ export const docsComponentGroups = [
|
|
|
327
428
|
href: '/docs/components/toast',
|
|
328
429
|
legacyHref: '/toast',
|
|
329
430
|
icon: 'lucide:message-square-warning'
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
title: 'Spotlight',
|
|
434
|
+
href: '/docs/components/spotlight',
|
|
435
|
+
legacyHref: '/spotlight',
|
|
436
|
+
icon: 'lucide:flashlight'
|
|
330
437
|
}
|
|
331
438
|
]
|
|
332
439
|
},
|
|
@@ -345,6 +452,12 @@ export const docsComponentGroups = [
|
|
|
345
452
|
legacyHref: '/pagination',
|
|
346
453
|
icon: 'lucide:ellipsis'
|
|
347
454
|
},
|
|
455
|
+
{
|
|
456
|
+
title: 'Sidebar',
|
|
457
|
+
href: '/docs/components/sidebar',
|
|
458
|
+
legacyHref: '/sidebar',
|
|
459
|
+
icon: 'lucide:layout-sidebar'
|
|
460
|
+
},
|
|
348
461
|
{
|
|
349
462
|
title: 'Stepper',
|
|
350
463
|
href: '/docs/components/stepper',
|
|
@@ -432,6 +545,12 @@ export const docsComponentGroups = [
|
|
|
432
545
|
href: '/docs/components/range-calendar',
|
|
433
546
|
legacyHref: '/range-calendar',
|
|
434
547
|
icon: 'lucide:calendar-range'
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
title: 'DateRangePicker',
|
|
551
|
+
href: '/docs/components/date-range-picker',
|
|
552
|
+
legacyHref: '/date-range-picker',
|
|
553
|
+
icon: 'lucide:calendar-days'
|
|
435
554
|
}
|
|
436
555
|
]
|
|
437
556
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { ModeWatcher, createInitialModeExpression, generateSetInitialModeExpression, mode, resetMode, setMode, setTheme, systemPrefersMode, theme, themeStorageKey, toggleMode, userPrefersMode, modeStorageKey } from 'mode-watcher';
|
|
2
|
-
export type { SystemModeValue, SystemPrefersMode, UserPrefersMode } from 'mode-watcher';
|
|
3
1
|
export * from './Accordion/index.js';
|
|
4
2
|
export * from './Alert/index.js';
|
|
5
3
|
export * from './Avatar/index.js';
|
|
6
4
|
export * from './AvatarGroup/index.js';
|
|
7
5
|
export * from './Badge/index.js';
|
|
8
6
|
export * from './Banner/index.js';
|
|
7
|
+
export * from './BentoGrid/index.js';
|
|
9
8
|
export * from './Breadcrumb/index.js';
|
|
10
9
|
export * from './Button/index.js';
|
|
11
10
|
export * from './Calendar/index.js';
|
|
12
11
|
export * from './Card/index.js';
|
|
13
12
|
export * from './Carousel/index.js';
|
|
13
|
+
export * from './Chat/index.js';
|
|
14
14
|
export * from './Checkbox/index.js';
|
|
15
15
|
export * from './CheckboxGroup/index.js';
|
|
16
16
|
export * from './Chip/index.js';
|
|
@@ -21,6 +21,7 @@ export * from './Container/index.js';
|
|
|
21
21
|
export * from './ContextMenu/index.js';
|
|
22
22
|
export type { UIConfig } from './config.js';
|
|
23
23
|
export { defineConfig } from './config.js';
|
|
24
|
+
export * from './DateRangePicker/index.js';
|
|
24
25
|
export * from './Drawer/index.js';
|
|
25
26
|
export * from './DropdownMenu/index.js';
|
|
26
27
|
export * from './Empty/index.js';
|
|
@@ -34,26 +35,42 @@ export * from './Icon/index.js';
|
|
|
34
35
|
export * from './Input/index.js';
|
|
35
36
|
export * from './Kbd/index.js';
|
|
36
37
|
export * from './Link/index.js';
|
|
38
|
+
export * from './List/index.js';
|
|
37
39
|
export * from './LocaleButton/index.js';
|
|
40
|
+
export * from './Marquee/index.js';
|
|
38
41
|
export * from './Modal/index.js';
|
|
42
|
+
export * from './NavigationMenu/index.js';
|
|
43
|
+
export * from './NumberTicker/index.js';
|
|
39
44
|
export * from './Pagination/index.js';
|
|
45
|
+
export * from './PasswordInput/index.js';
|
|
40
46
|
export * from './PinInput/index.js';
|
|
41
47
|
export * from './Popover/index.js';
|
|
42
48
|
export * from './Progress/index.js';
|
|
49
|
+
export * from './Prose/index.js';
|
|
43
50
|
export * from './RadioGroup/index.js';
|
|
51
|
+
export * from './Rating/index.js';
|
|
52
|
+
export * from './Resizable/index.js';
|
|
53
|
+
export * from './ScrollArea/index.js';
|
|
54
|
+
export * from './Search/index.js';
|
|
44
55
|
export * from './Select/index.js';
|
|
45
56
|
export * from './SelectMenu/index.js';
|
|
46
57
|
export * from './Separator/index.js';
|
|
58
|
+
export * from './Sidebar/index.js';
|
|
47
59
|
export * from './Skeleton/index.js';
|
|
48
60
|
export * from './Slideover/index.js';
|
|
49
61
|
export * from './Slider/index.js';
|
|
62
|
+
export * from './Spotlight/index.js';
|
|
50
63
|
export * from './Stepper/index.js';
|
|
51
64
|
export * from './Switch/index.js';
|
|
52
65
|
export * from './Table/index.js';
|
|
53
66
|
export * from './Tabs/index.js';
|
|
67
|
+
export * from './TagsInput/index.js';
|
|
54
68
|
export * from './Textarea/index.js';
|
|
55
69
|
export * from './ThemeModeButton/index.js';
|
|
56
70
|
export * from './Timeline/index.js';
|
|
57
71
|
export * from './Toast/index.js';
|
|
58
72
|
export * from './Tooltip/index.js';
|
|
73
|
+
export * from './TreeView/index.js';
|
|
59
74
|
export * from './User/index.js';
|
|
75
|
+
export * from './Chart/index.js';
|
|
76
|
+
export * from './ColorPicker/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
// Components
|
|
2
|
-
export { ModeWatcher, createInitialModeExpression, generateSetInitialModeExpression, mode, resetMode, setMode, setTheme, systemPrefersMode, theme, themeStorageKey, toggleMode, userPrefersMode, modeStorageKey } from 'mode-watcher';
|
|
3
2
|
export * from './Accordion/index.js';
|
|
4
3
|
export * from './Alert/index.js';
|
|
5
4
|
export * from './Avatar/index.js';
|
|
6
5
|
export * from './AvatarGroup/index.js';
|
|
7
6
|
export * from './Badge/index.js';
|
|
8
7
|
export * from './Banner/index.js';
|
|
8
|
+
export * from './BentoGrid/index.js';
|
|
9
9
|
export * from './Breadcrumb/index.js';
|
|
10
10
|
export * from './Button/index.js';
|
|
11
11
|
export * from './Calendar/index.js';
|
|
12
12
|
export * from './Card/index.js';
|
|
13
13
|
export * from './Carousel/index.js';
|
|
14
|
+
export * from './Chat/index.js';
|
|
14
15
|
export * from './Checkbox/index.js';
|
|
15
16
|
export * from './CheckboxGroup/index.js';
|
|
16
17
|
export * from './Chip/index.js';
|
|
@@ -21,6 +22,7 @@ export * from './Container/index.js';
|
|
|
21
22
|
export * from './ContextMenu/index.js';
|
|
22
23
|
// Configuration
|
|
23
24
|
export { defineConfig } from './config.js';
|
|
25
|
+
export * from './DateRangePicker/index.js';
|
|
24
26
|
export * from './Drawer/index.js';
|
|
25
27
|
export * from './DropdownMenu/index.js';
|
|
26
28
|
export * from './Empty/index.js';
|
|
@@ -35,26 +37,42 @@ export * from './Icon/index.js';
|
|
|
35
37
|
export * from './Input/index.js';
|
|
36
38
|
export * from './Kbd/index.js';
|
|
37
39
|
export * from './Link/index.js';
|
|
40
|
+
export * from './List/index.js';
|
|
38
41
|
export * from './LocaleButton/index.js';
|
|
42
|
+
export * from './Marquee/index.js';
|
|
39
43
|
export * from './Modal/index.js';
|
|
44
|
+
export * from './NavigationMenu/index.js';
|
|
45
|
+
export * from './NumberTicker/index.js';
|
|
40
46
|
export * from './Pagination/index.js';
|
|
47
|
+
export * from './PasswordInput/index.js';
|
|
41
48
|
export * from './PinInput/index.js';
|
|
42
49
|
export * from './Popover/index.js';
|
|
43
50
|
export * from './Progress/index.js';
|
|
51
|
+
export * from './Prose/index.js';
|
|
44
52
|
export * from './RadioGroup/index.js';
|
|
53
|
+
export * from './Rating/index.js';
|
|
54
|
+
export * from './Resizable/index.js';
|
|
55
|
+
export * from './ScrollArea/index.js';
|
|
56
|
+
export * from './Search/index.js';
|
|
45
57
|
export * from './Select/index.js';
|
|
46
58
|
export * from './SelectMenu/index.js';
|
|
47
59
|
export * from './Separator/index.js';
|
|
60
|
+
export * from './Sidebar/index.js';
|
|
48
61
|
export * from './Skeleton/index.js';
|
|
49
62
|
export * from './Slideover/index.js';
|
|
50
63
|
export * from './Slider/index.js';
|
|
64
|
+
export * from './Spotlight/index.js';
|
|
51
65
|
export * from './Stepper/index.js';
|
|
52
66
|
export * from './Switch/index.js';
|
|
53
67
|
export * from './Table/index.js';
|
|
54
68
|
export * from './Tabs/index.js';
|
|
69
|
+
export * from './TagsInput/index.js';
|
|
55
70
|
export * from './Textarea/index.js';
|
|
56
71
|
export * from './ThemeModeButton/index.js';
|
|
57
72
|
export * from './Timeline/index.js';
|
|
58
73
|
export * from './Toast/index.js';
|
|
59
74
|
export * from './Tooltip/index.js';
|
|
75
|
+
export * from './TreeView/index.js';
|
|
60
76
|
export * from './User/index.js';
|
|
77
|
+
export * from './Chart/index.js';
|
|
78
|
+
export * from './ColorPicker/index.js';
|