svelte-multiselect
Version:
Svelte multi-select component
49 lines (48 loc) • 1.47 kB
TypeScript
import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
import type { TooltipOptions } from './attachments';
import type { NavRoute, NavRouteObject } from './types';
interface ItemSnippetParams {
route: NavRouteObject;
href: string;
label: string;
is_active: boolean;
is_dropdown: boolean;
render_default: Snippet;
}
type $$ComponentProps = {
routes: NavRoute[];
children?: Snippet<[{
is_open: boolean;
panel_id: string;
routes: NavRoute[];
}]>;
item?: Snippet<[ItemSnippetParams]>;
link?: Snippet<[{
href: string;
label: string;
isActive: boolean;
}]>;
menu_props?: HTMLAttributes<HTMLDivElement>;
link_props?: HTMLAttributes<HTMLAnchorElement>;
page?: {
url: {
pathname: string;
};
};
labels?: Record<string, string>;
tooltips?: Record<string, string | Omit<TooltipOptions, `disabled`>>;
tooltip_options?: Omit<TooltipOptions, `content`>;
breakpoint?: number;
dropdown_cooldown?: number;
onnavigate?: (data: {
href: string;
event: MouseEvent;
route: NavRouteObject;
}) => false | undefined;
onopen?: () => void;
onclose?: () => void;
} & Omit<HTMLAttributes<HTMLElementTagNameMap[`nav`]>, `children`>;
declare const Nav: import("svelte").Component<$$ComponentProps, {}, "">;
type Nav = ReturnType<typeof Nav>;
export default Nav;