sv5ui-plus 4.0.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/LICENSE +21 -0
- package/README.md +62 -0
- package/dist/adapters/notify.d.ts +29 -0
- package/dist/adapters/notify.js +88 -0
- package/dist/compat.d.ts +6 -0
- package/dist/compat.js +6 -0
- package/dist/components/BentoGrid/BentoCard.svelte +45 -0
- package/dist/components/BentoGrid/BentoCard.svelte.d.ts +4 -0
- package/dist/components/BentoGrid/BentoGrid.svelte +9 -0
- package/dist/components/BentoGrid/BentoGrid.svelte.d.ts +4 -0
- package/dist/components/BentoGrid/bento-grid.types.d.ts +47 -0
- package/dist/components/BentoGrid/bento-grid.types.js +1 -0
- package/dist/components/BentoGrid/bento-grid.variants.d.ts +30 -0
- package/dist/components/BentoGrid/bento-grid.variants.js +16 -0
- package/dist/components/BentoGrid/index.d.ts +5 -0
- package/dist/components/BentoGrid/index.js +5 -0
- package/dist/components/Chart/Chart.svelte +62 -0
- package/dist/components/Chart/Chart.svelte.d.ts +4 -0
- package/dist/components/Chart/chart.types.d.ts +16 -0
- package/dist/components/Chart/chart.types.js +1 -0
- package/dist/components/Chart/index.d.ts +2 -0
- package/dist/components/Chart/index.js +2 -0
- package/dist/components/Chat/ChatBubble.svelte +30 -0
- package/dist/components/Chat/ChatBubble.svelte.d.ts +4 -0
- package/dist/components/Chat/ChatInput.svelte +50 -0
- package/dist/components/Chat/ChatInput.svelte.d.ts +4 -0
- package/dist/components/Chat/ChatMessage.svelte +15 -0
- package/dist/components/Chat/ChatMessage.svelte.d.ts +4 -0
- package/dist/components/Chat/chat.types.d.ts +63 -0
- package/dist/components/Chat/chat.types.js +1 -0
- package/dist/components/Chat/chat.variants.d.ts +117 -0
- package/dist/components/Chat/chat.variants.js +47 -0
- package/dist/components/Chat/index.d.ts +6 -0
- package/dist/components/Chat/index.js +6 -0
- package/dist/components/CodeBlock/CodeBlock.svelte +66 -0
- package/dist/components/CodeBlock/CodeBlock.svelte.d.ts +5 -0
- package/dist/components/CodeBlock/code-block.types.d.ts +15 -0
- package/dist/components/CodeBlock/code-block.types.js +1 -0
- package/dist/components/CodeBlock/code-block.variants.d.ts +288 -0
- package/dist/components/CodeBlock/code-block.variants.js +69 -0
- package/dist/components/CodeBlock/index.d.ts +2 -0
- package/dist/components/CodeBlock/index.js +1 -0
- package/dist/components/ColorPicker/ColorPicker.svelte +109 -0
- package/dist/components/ColorPicker/ColorPicker.svelte.d.ts +4 -0
- package/dist/components/ColorPicker/color-picker.types.d.ts +26 -0
- package/dist/components/ColorPicker/color-picker.types.js +1 -0
- package/dist/components/ColorPicker/color-picker.variants.d.ts +69 -0
- package/dist/components/ColorPicker/color-picker.variants.js +13 -0
- package/dist/components/ColorPicker/index.d.ts +4 -0
- package/dist/components/ColorPicker/index.js +4 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.svelte +175 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.svelte.d.ts +10 -0
- package/dist/components/ConfirmDialog/confirm.d.ts +9 -0
- package/dist/components/ConfirmDialog/confirm.js +24 -0
- package/dist/components/ConfirmDialog/confirm.types.d.ts +21 -0
- package/dist/components/ConfirmDialog/confirm.types.js +1 -0
- package/dist/components/ConfirmDialog/index.d.ts +4 -0
- package/dist/components/ConfirmDialog/index.js +2 -0
- package/dist/components/Fonts/Fonts.svelte +32 -0
- package/dist/components/Fonts/Fonts.svelte.d.ts +5 -0
- package/dist/components/Fonts/fonts.d.ts +12 -0
- package/dist/components/Fonts/fonts.js +126 -0
- package/dist/components/Fonts/fonts.types.d.ts +40 -0
- package/dist/components/Fonts/fonts.types.js +1 -0
- package/dist/components/Fonts/index.d.ts +3 -0
- package/dist/components/Fonts/index.js +2 -0
- package/dist/components/List/List.svelte +14 -0
- package/dist/components/List/List.svelte.d.ts +4 -0
- package/dist/components/List/ListItem.svelte +64 -0
- package/dist/components/List/ListItem.svelte.d.ts +4 -0
- package/dist/components/List/index.d.ts +5 -0
- package/dist/components/List/index.js +5 -0
- package/dist/components/List/list.types.d.ts +62 -0
- package/dist/components/List/list.types.js +1 -0
- package/dist/components/List/list.variants.d.ts +99 -0
- package/dist/components/List/list.variants.js +42 -0
- package/dist/components/LocaleButton/LocaleButton.svelte +181 -0
- package/dist/components/LocaleButton/LocaleButton.svelte.d.ts +5 -0
- package/dist/components/LocaleButton/index.d.ts +2 -0
- package/dist/components/LocaleButton/index.js +1 -0
- package/dist/components/LocaleButton/locale-button.types.d.ts +208 -0
- package/dist/components/LocaleButton/locale-button.types.js +1 -0
- package/dist/components/LocaleButton/locale-button.variants.d.ts +245 -0
- package/dist/components/LocaleButton/locale-button.variants.js +98 -0
- package/dist/components/Marquee/Marquee.svelte +50 -0
- package/dist/components/Marquee/Marquee.svelte.d.ts +4 -0
- package/dist/components/Marquee/index.d.ts +4 -0
- package/dist/components/Marquee/index.js +4 -0
- package/dist/components/Marquee/marquee.types.d.ts +38 -0
- package/dist/components/Marquee/marquee.types.js +1 -0
- package/dist/components/Marquee/marquee.variants.d.ts +78 -0
- package/dist/components/Marquee/marquee.variants.js +28 -0
- package/dist/components/NavigationMenu/NavigationMenu.svelte +623 -0
- package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +5 -0
- package/dist/components/NavigationMenu/index.d.ts +2 -0
- package/dist/components/NavigationMenu/index.js +1 -0
- package/dist/components/NavigationMenu/navigation-menu.types.d.ts +245 -0
- package/dist/components/NavigationMenu/navigation-menu.types.js +1 -0
- package/dist/components/NavigationMenu/navigation-menu.variants.d.ts +543 -0
- package/dist/components/NavigationMenu/navigation-menu.variants.js +287 -0
- package/dist/components/NumberTicker/NumberTicker.svelte +59 -0
- package/dist/components/NumberTicker/NumberTicker.svelte.d.ts +4 -0
- package/dist/components/NumberTicker/index.d.ts +4 -0
- package/dist/components/NumberTicker/index.js +4 -0
- package/dist/components/NumberTicker/number-ticker.types.d.ts +26 -0
- package/dist/components/NumberTicker/number-ticker.types.js +1 -0
- package/dist/components/NumberTicker/number-ticker.variants.d.ts +27 -0
- package/dist/components/NumberTicker/number-ticker.variants.js +6 -0
- package/dist/components/PasswordInput/PasswordInput.svelte +182 -0
- package/dist/components/PasswordInput/PasswordInput.svelte.d.ts +5 -0
- package/dist/components/PasswordInput/index.d.ts +2 -0
- package/dist/components/PasswordInput/index.js +1 -0
- package/dist/components/PasswordInput/password-input.types.d.ts +111 -0
- package/dist/components/PasswordInput/password-input.types.js +1 -0
- package/dist/components/PasswordInput/password-input.variants.d.ts +273 -0
- package/dist/components/PasswordInput/password-input.variants.js +105 -0
- package/dist/components/Prose/Prose.svelte +13 -0
- package/dist/components/Prose/Prose.svelte.d.ts +4 -0
- package/dist/components/Prose/index.d.ts +4 -0
- package/dist/components/Prose/index.js +4 -0
- package/dist/components/Prose/prose.types.d.ts +22 -0
- package/dist/components/Prose/prose.types.js +1 -0
- package/dist/components/Prose/prose.variants.d.ts +45 -0
- package/dist/components/Prose/prose.variants.js +45 -0
- package/dist/components/Resizable/Resizable.svelte +9 -0
- package/dist/components/Resizable/Resizable.svelte.d.ts +4 -0
- package/dist/components/Resizable/index.d.ts +4 -0
- package/dist/components/Resizable/index.js +4 -0
- package/dist/components/Resizable/resizable.types.d.ts +18 -0
- package/dist/components/Resizable/resizable.types.js +1 -0
- package/dist/components/Resizable/resizable.variants.d.ts +48 -0
- package/dist/components/Resizable/resizable.variants.js +17 -0
- package/dist/components/ScrollArea/ScrollArea.svelte +54 -0
- package/dist/components/ScrollArea/ScrollArea.svelte.d.ts +4 -0
- package/dist/components/ScrollArea/index.d.ts +4 -0
- package/dist/components/ScrollArea/index.js +4 -0
- package/dist/components/ScrollArea/scroll-area.types.d.ts +27 -0
- package/dist/components/ScrollArea/scroll-area.types.js +1 -0
- package/dist/components/ScrollArea/scroll-area.variants.d.ts +45 -0
- package/dist/components/ScrollArea/scroll-area.variants.js +27 -0
- package/dist/components/Search/Search.svelte +94 -0
- package/dist/components/Search/Search.svelte.d.ts +4 -0
- package/dist/components/Search/index.d.ts +2 -0
- package/dist/components/Search/index.js +1 -0
- package/dist/components/Search/search.types.d.ts +40 -0
- package/dist/components/Search/search.types.js +1 -0
- package/dist/components/SortableGroup/SortableGroup.svelte +53 -0
- package/dist/components/SortableGroup/SortableGroup.svelte.d.ts +13 -0
- package/dist/components/SortableGroup/index.d.ts +1 -0
- package/dist/components/SortableGroup/index.js +1 -0
- package/dist/components/SortableList/SortableList.svelte +81 -0
- package/dist/components/SortableList/SortableList.svelte.d.ts +26 -0
- package/dist/components/SortableList/index.d.ts +2 -0
- package/dist/components/SortableList/index.js +1 -0
- package/dist/components/SortableList/sortable-list.types.d.ts +21 -0
- package/dist/components/SortableList/sortable-list.types.js +1 -0
- package/dist/components/Spotlight/Spotlight.svelte +31 -0
- package/dist/components/Spotlight/Spotlight.svelte.d.ts +4 -0
- package/dist/components/Spotlight/index.d.ts +4 -0
- package/dist/components/Spotlight/index.js +4 -0
- package/dist/components/Spotlight/spotlight.types.d.ts +22 -0
- package/dist/components/Spotlight/spotlight.types.js +1 -0
- package/dist/components/Spotlight/spotlight.variants.d.ts +39 -0
- package/dist/components/Spotlight/spotlight.variants.js +8 -0
- package/dist/components/TableBulkActionBar/TableBulkActionBar.svelte +38 -0
- package/dist/components/TableBulkActionBar/TableBulkActionBar.svelte.d.ts +5 -0
- package/dist/components/TableBulkActionBar/index.d.ts +2 -0
- package/dist/components/TableBulkActionBar/index.js +1 -0
- package/dist/components/TableBulkActionBar/table-bulk-action-bar.types.d.ts +31 -0
- package/dist/components/TableBulkActionBar/table-bulk-action-bar.types.js +1 -0
- package/dist/components/TableBulkActionBar/table-bulk-action-bar.variants.d.ts +52 -0
- package/dist/components/TableBulkActionBar/table-bulk-action-bar.variants.js +10 -0
- package/dist/components/TreeView/TreeView.svelte +95 -0
- package/dist/components/TreeView/TreeView.svelte.d.ts +4 -0
- package/dist/components/TreeView/index.d.ts +4 -0
- package/dist/components/TreeView/index.js +3 -0
- package/dist/components/TreeView/tree-view.types.d.ts +68 -0
- package/dist/components/TreeView/tree-view.types.js +1 -0
- package/dist/components/TreeView/tree-view.variants.d.ts +69 -0
- package/dist/components/TreeView/tree-view.variants.js +30 -0
- package/dist/config.d.ts +91 -0
- package/dist/config.js +124 -0
- package/dist/editor.d.ts +2 -0
- package/dist/editor.js +2 -0
- package/dist/form/resolve-form-field-name.d.ts +5 -0
- package/dist/form/resolve-form-field-name.js +11 -0
- package/dist/hooks/internal/DragDropProviderScope.svelte +29 -0
- package/dist/hooks/internal/DragDropProviderScope.svelte.d.ts +7 -0
- package/dist/hooks/internal/SortableProvider.svelte +68 -0
- package/dist/hooks/internal/SortableProvider.svelte.d.ts +30 -0
- package/dist/hooks/internal/drag-drop-context.d.ts +12 -0
- package/dist/hooks/internal/drag-drop-context.js +1 -0
- package/dist/hooks/internal/sortable-context.d.ts +26 -0
- package/dist/hooks/internal/sortable-context.js +2 -0
- package/dist/hooks/useDragDrop/index.d.ts +1 -0
- package/dist/hooks/useDragDrop/index.js +1 -0
- package/dist/hooks/useDragDrop/useDragDrop.svelte.d.ts +40 -0
- package/dist/hooks/useDragDrop/useDragDrop.svelte.js +128 -0
- package/dist/hooks/useSortable/index.d.ts +2 -0
- package/dist/hooks/useSortable/index.js +2 -0
- package/dist/hooks/useSortable/sortable-utils.d.ts +1 -0
- package/dist/hooks/useSortable/sortable-utils.js +13 -0
- package/dist/hooks/useSortable/useSortable.svelte.d.ts +60 -0
- package/dist/hooks/useSortable/useSortable.svelte.js +151 -0
- package/dist/hooks/utils.d.ts +1 -0
- package/dist/hooks/utils.js +3 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +30 -0
- package/dist/mcp/cursor.mcp.json +12 -0
- package/dist/mcp/install-template.mjs +55 -0
- package/dist/mcp/server.mjs +338 -0
- package/dist/mcp/sv5ui-plus-docs.data.json +17 -0
- package/dist/theme.css +64 -0
- package/package.json +176 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { ClassNameValue } from 'tailwind-merge';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
import type { NavigationMenuSlots, NavigationMenuVariantProps } from './navigation-menu.variants.js';
|
|
5
|
+
import type { AvatarProps } from 'sv5ui';
|
|
6
|
+
import type { BadgeProps } from 'sv5ui';
|
|
7
|
+
import type { ChipProps } from 'sv5ui';
|
|
8
|
+
import type { TooltipProps } from 'sv5ui';
|
|
9
|
+
import type { PopoverProps } from 'sv5ui';
|
|
10
|
+
import type { DrawerProps } from 'sv5ui';
|
|
11
|
+
/**
|
|
12
|
+
* The open value(s) of the menu.
|
|
13
|
+
* A single value string when `type='single'`, an array when `type='multiple'`
|
|
14
|
+
* (vertical only).
|
|
15
|
+
*/
|
|
16
|
+
export type NavigationMenuValue = string | string[];
|
|
17
|
+
/** Per-item semantic role. Defaults to `'link'`. */
|
|
18
|
+
export type NavigationMenuItemType = 'label' | 'trigger' | 'link';
|
|
19
|
+
/**
|
|
20
|
+
* A leaf entry inside a dropdown / mega-menu (an item's `children`).
|
|
21
|
+
*/
|
|
22
|
+
export interface NavigationMenuChildItem {
|
|
23
|
+
/** Text shown as the child link label. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Secondary text under the label (mega-menu descriptions). */
|
|
26
|
+
description?: string;
|
|
27
|
+
/** Iconify icon name shown before the label. */
|
|
28
|
+
icon?: string;
|
|
29
|
+
/** Destination URL. Rendered as a real `<a href>` for SEO. */
|
|
30
|
+
href?: string;
|
|
31
|
+
/** Anchor target (e.g. `'_blank'`). External links get `rel` automatically. */
|
|
32
|
+
target?: string;
|
|
33
|
+
/** Whether this child represents the current page (sets `aria-current`). */
|
|
34
|
+
active?: boolean;
|
|
35
|
+
/** Exact-match route detection for `active`. @default true */
|
|
36
|
+
exact?: boolean;
|
|
37
|
+
/** Fired on select. Call `event.preventDefault()` to keep the menu open. */
|
|
38
|
+
onSelect?: (event: Event) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Nested links. When set, this entry renders as a labeled group/column
|
|
41
|
+
* inside the mega-menu (a section header plus its links) instead of a
|
|
42
|
+
* single link. One level of nesting is supported.
|
|
43
|
+
*/
|
|
44
|
+
children?: NavigationMenuChildItem[];
|
|
45
|
+
/** Extra classes for the child link. */
|
|
46
|
+
class?: ClassNameValue;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A top-level navigation entry.
|
|
50
|
+
*
|
|
51
|
+
* Nodes with `children` render as a dropdown (horizontal) or an inline
|
|
52
|
+
* disclosure (vertical). Leaf nodes with `href` render as real anchors.
|
|
53
|
+
*
|
|
54
|
+
* Note: Nuxt UI's per-item `slot` field is intentionally dropped. Svelte has
|
|
55
|
+
* no dynamic named slots, so branch on `item` inside the shared `item`
|
|
56
|
+
* snippet instead (same decision as the Tree component).
|
|
57
|
+
*/
|
|
58
|
+
export interface NavigationMenuItem {
|
|
59
|
+
/** Text shown as the item label. */
|
|
60
|
+
label?: string;
|
|
61
|
+
/** Iconify icon name shown before the label. */
|
|
62
|
+
icon?: string;
|
|
63
|
+
/** Avatar shown before the label (takes precedence over `icon`). */
|
|
64
|
+
avatar?: AvatarProps;
|
|
65
|
+
/** Badge shown after the label (count / status). */
|
|
66
|
+
badge?: string | number | BadgeProps;
|
|
67
|
+
/** Chip dot overlaid on the leading avatar/icon. */
|
|
68
|
+
chip?: boolean | ChipProps;
|
|
69
|
+
/** Tooltip config used when the menu is `collapsed` (icons-only). */
|
|
70
|
+
tooltip?: boolean | TooltipProps;
|
|
71
|
+
/** Popover config used when the menu is `collapsed` (icons-only). */
|
|
72
|
+
popover?: boolean | PopoverProps;
|
|
73
|
+
/** Iconify name for the trailing expand/dropdown chevron. */
|
|
74
|
+
trailingIcon?: string;
|
|
75
|
+
/** Semantic role; defaults to `'link'` (or `'trigger'` when `children` set). */
|
|
76
|
+
type?: NavigationMenuItemType;
|
|
77
|
+
/** Whether the dropdown/disclosure starts open (uncontrolled). */
|
|
78
|
+
defaultOpen?: boolean;
|
|
79
|
+
/** Force the open state of this item's dropdown/disclosure. */
|
|
80
|
+
open?: boolean;
|
|
81
|
+
/** Unique value used as the open key. Falls back to the item index. */
|
|
82
|
+
value?: string;
|
|
83
|
+
/** Whether the item is non-interactive. */
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
/** Whether the item represents the current page (sets `aria-current`). */
|
|
86
|
+
active?: boolean;
|
|
87
|
+
/** Exact-match route detection for `active`. Overrides the menu-level `exact`. */
|
|
88
|
+
exact?: boolean;
|
|
89
|
+
/** Fired on select. Call `event.preventDefault()` to keep the menu open. */
|
|
90
|
+
onSelect?: (event: Event) => void;
|
|
91
|
+
/** Nested dropdown / mega-menu entries. */
|
|
92
|
+
children?: NavigationMenuChildItem[];
|
|
93
|
+
/** Destination URL (leaf items). Rendered as a real `<a href>` for SEO. */
|
|
94
|
+
href?: string;
|
|
95
|
+
/** Anchor target (e.g. `'_blank'`). External links get `rel` automatically. */
|
|
96
|
+
target?: string;
|
|
97
|
+
/** Secondary text (used by custom snippets). */
|
|
98
|
+
description?: string;
|
|
99
|
+
/** Extra classes for this item's `<li>`. */
|
|
100
|
+
class?: ClassNameValue;
|
|
101
|
+
/** Per-item slot class overrides. */
|
|
102
|
+
ui?: Partial<Record<NavigationMenuSlots, ClassNameValue>>;
|
|
103
|
+
}
|
|
104
|
+
/** Context passed to the item-level snippets. */
|
|
105
|
+
export interface NavigationMenuItemSlotProps {
|
|
106
|
+
/** The item data. */
|
|
107
|
+
item: NavigationMenuItem;
|
|
108
|
+
/** Zero-based index within its group. */
|
|
109
|
+
index: number;
|
|
110
|
+
/** Whether the item is the active route. */
|
|
111
|
+
active: boolean;
|
|
112
|
+
/** Whether the item's dropdown/disclosure is open. */
|
|
113
|
+
open: boolean;
|
|
114
|
+
}
|
|
115
|
+
/** Context passed to the `itemContent` snippet. */
|
|
116
|
+
export interface NavigationMenuContentSlotProps {
|
|
117
|
+
/** The parent item data. */
|
|
118
|
+
item: NavigationMenuItem;
|
|
119
|
+
/** Zero-based index within its group. */
|
|
120
|
+
index: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Props for the NavigationMenu component.
|
|
124
|
+
*
|
|
125
|
+
* Wraps the bits-ui NavigationMenu primitive for the horizontal (mega-menu)
|
|
126
|
+
* path and a wrapper-managed inline disclosure for the vertical path. Renders
|
|
127
|
+
* real anchor links (SEO), a nav landmark, and an optional baked-in mobile
|
|
128
|
+
* drawer below a breakpoint.
|
|
129
|
+
*/
|
|
130
|
+
export interface NavigationMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'class' | 'children' | 'onselect' | 'popover' | 'dir'> {
|
|
131
|
+
/** Bindable reference to the root element. */
|
|
132
|
+
ref?: HTMLElement | null;
|
|
133
|
+
/** The root element for the vertical path. @default 'nav' */
|
|
134
|
+
as?: keyof HTMLElementTagNameMap;
|
|
135
|
+
/**
|
|
136
|
+
* Selection model for vertical inline disclosures.
|
|
137
|
+
* `'multiple'` allows several open at once. @default 'multiple'
|
|
138
|
+
*/
|
|
139
|
+
type?: 'single' | 'multiple';
|
|
140
|
+
/** Open value(s). Use `bind:value` for two-way binding. */
|
|
141
|
+
value?: NavigationMenuValue;
|
|
142
|
+
/** Initial open value(s) when uncontrolled. */
|
|
143
|
+
defaultValue?: NavigationMenuValue;
|
|
144
|
+
/** Fired when the open value(s) change. */
|
|
145
|
+
onValueChange?: (value: NavigationMenuValue | undefined) => void;
|
|
146
|
+
/** Top-level items, or an array of arrays to render separated groups. */
|
|
147
|
+
items?: NavigationMenuItem[] | NavigationMenuItem[][];
|
|
148
|
+
/** Layout direction. @default 'horizontal' */
|
|
149
|
+
orientation?: NonNullable<NavigationMenuVariantProps['orientation']>;
|
|
150
|
+
/** Icons-only rail (vertical). Labels/children surface via tooltip/popover. */
|
|
151
|
+
collapsed?: boolean;
|
|
152
|
+
/** Whether expandable groups can be toggled (vertical). @default true */
|
|
153
|
+
collapsible?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Show a sliding active-route highlight bar. Ignored for the `pill`
|
|
156
|
+
* variant, whose filled background already marks the active item.
|
|
157
|
+
* @default false
|
|
158
|
+
*/
|
|
159
|
+
highlight?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Stack each item's icon above a small label. With `orientation='horizontal'`
|
|
162
|
+
* this yields a mobile-style bottom tab bar (equal-width tabs); with
|
|
163
|
+
* `orientation='vertical'` a compact rail that keeps labels under the icons.
|
|
164
|
+
* @default false
|
|
165
|
+
*/
|
|
166
|
+
stacked?: boolean;
|
|
167
|
+
/** Visual style of items. @default 'pill' */
|
|
168
|
+
variant?: NonNullable<NavigationMenuVariantProps['variant']>;
|
|
169
|
+
/** Color for active/highlight state and focus ring. @default 'primary' */
|
|
170
|
+
color?: NonNullable<NavigationMenuVariantProps['color']>;
|
|
171
|
+
/** Iconify name for the dropdown chevron. @default icons.chevronDown */
|
|
172
|
+
trailingIcon?: string;
|
|
173
|
+
/** External-link icon; `true` uses the default, a string overrides, `false` hides. */
|
|
174
|
+
externalIcon?: boolean | string;
|
|
175
|
+
/** Show an arrow pointing at the open trigger (horizontal). @default false */
|
|
176
|
+
arrow?: boolean;
|
|
177
|
+
/** Default tooltip config for collapsed items. */
|
|
178
|
+
tooltip?: boolean | TooltipProps;
|
|
179
|
+
/** Default popover config for collapsed items. */
|
|
180
|
+
popover?: boolean | PopoverProps;
|
|
181
|
+
/** Layout of the mega-menu content (horizontal only). @default 'horizontal' */
|
|
182
|
+
contentOrientation?: NonNullable<NavigationMenuVariantProps['contentOrientation']>;
|
|
183
|
+
/** Item field used as the label. @default 'label' */
|
|
184
|
+
labelKey?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Exact-match route auto-detection for active state. When `false`, a link
|
|
187
|
+
* is active for any route starting with its `href` (highlights parent
|
|
188
|
+
* routes). `aria-current="page"` remains exact-only. @default true
|
|
189
|
+
*/
|
|
190
|
+
exact?: boolean;
|
|
191
|
+
/** ms before a dropdown opens on hover. @default 0 */
|
|
192
|
+
delayDuration?: number;
|
|
193
|
+
/** ms window to reopen instantly after leaving. */
|
|
194
|
+
skipDelayDuration?: number;
|
|
195
|
+
/** Disable opening dropdowns on trigger click. @default false */
|
|
196
|
+
disableClickTrigger?: boolean;
|
|
197
|
+
/** Disable opening dropdowns on hover. @default false */
|
|
198
|
+
disableHoverTrigger?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* When `true`, hidden dropdown content is removed from the DOM.
|
|
201
|
+
* Set to `false` to keep it mounted (present but hidden) so crawlers
|
|
202
|
+
* can index the links. @default true
|
|
203
|
+
*/
|
|
204
|
+
unmountOnHide?: boolean;
|
|
205
|
+
/** Whether the whole menu is disabled. @default false */
|
|
206
|
+
disabled?: boolean;
|
|
207
|
+
/** Collapse into a mobile drawer below `mobileBreakpoint`. @default false */
|
|
208
|
+
drawer?: boolean;
|
|
209
|
+
/** Bindable open state of the mobile drawer. */
|
|
210
|
+
drawerOpen?: boolean;
|
|
211
|
+
/** Media query that triggers the mobile drawer. @default '(max-width: 767px)' */
|
|
212
|
+
mobileBreakpoint?: string;
|
|
213
|
+
/**
|
|
214
|
+
* CSS width of the mobile drawer panel. A fixed width prevents the drawer
|
|
215
|
+
* from reflowing when inline sections expand/collapse.
|
|
216
|
+
* @default 'min(20rem, 80vw)'
|
|
217
|
+
*/
|
|
218
|
+
drawerWidth?: string;
|
|
219
|
+
/** Extra props forwarded to the mobile Drawer. */
|
|
220
|
+
drawerProps?: Partial<DrawerProps>;
|
|
221
|
+
/** Extra classes for the root element. */
|
|
222
|
+
class?: ClassNameValue;
|
|
223
|
+
/** Slot class overrides. */
|
|
224
|
+
ui?: Partial<Record<NavigationMenuSlots, ClassNameValue>>;
|
|
225
|
+
/** Full custom row renderer. */
|
|
226
|
+
item?: Snippet<[NavigationMenuItemSlotProps]>;
|
|
227
|
+
/** Custom leading content (icon/avatar). */
|
|
228
|
+
itemLeading?: Snippet<[NavigationMenuItemSlotProps]>;
|
|
229
|
+
/** Custom label renderer. */
|
|
230
|
+
itemLabel?: Snippet<[NavigationMenuItemSlotProps]>;
|
|
231
|
+
/** Custom trailing content (badge/chevron), rendered inside the link. */
|
|
232
|
+
itemTrailing?: Snippet<[NavigationMenuItemSlotProps]>;
|
|
233
|
+
/**
|
|
234
|
+
* Interactive row actions (e.g. a DropdownMenu) shown on hover. Vertical
|
|
235
|
+
* only. Rendered as a sibling of the anchor (never nested inside it) so
|
|
236
|
+
* buttons/menus stay valid; also renders beside a `type: 'label'` header.
|
|
237
|
+
*/
|
|
238
|
+
itemActions?: Snippet<[NavigationMenuItemSlotProps]>;
|
|
239
|
+
/** Custom dropdown/mega-menu content renderer. */
|
|
240
|
+
itemContent?: Snippet<[NavigationMenuContentSlotProps]>;
|
|
241
|
+
/** Content before the list. */
|
|
242
|
+
listLeading?: Snippet<[]>;
|
|
243
|
+
/** Content after the list. */
|
|
244
|
+
listTrailing?: Snippet<[]>;
|
|
245
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|