UNPKG

@gulibs/vgrove-ui

Version:

VGrove UI component library built with HeroUI and React

41 lines 1.78 kB
import { type Selection, type TooltipProps } from '@heroui/react'; import type { Key } from '@react-types/shared'; import React from 'react'; import { type To } from 'react-router'; import { Listbox, ListboxItem, ListboxSection } from '../listbox'; import type { Collapseable } from '../types'; export type BaseMenuItemType = { key: Key; to: To; title?: string; icon?: string; tooltip?: TooltipProps; access?: string; hideInMenu?: boolean; description?: string; badge?: string; badgePlacement?: 'left' | 'right' | 'top' | 'bottom'; shortcut?: string; }; export type SidebarMenuItem = Omit<React.ComponentProps<typeof ListboxItem>, "children" | "href"> & BaseMenuItemType; export type SidebarMenuItems = SidebarMenuItem[]; export type SidebarMenuGroupItem = Omit<React.ComponentProps<typeof ListboxSection>, "items" | "children"> & { key: Key; items: SidebarMenuItems; description?: string; }; export type SidebarMenuGroupItems = SidebarMenuGroupItem[]; export type SidebarMenuItemsType = SidebarMenuItems | SidebarMenuGroupItems; export interface SidebarMenusProps extends Omit<React.ComponentProps<typeof Listbox>, "children" | "items" | "onAction" | "topContent" | "bottomContent" | "onSelectionChange">, Collapseable { items: SidebarMenuItemsType; defaultSelectionKey?: Key; topContent?: ((isCollapsed?: boolean) => React.ReactNode) | React.ReactNode; bottomContent?: ((isCollapsed?: boolean) => React.ReactNode) | React.ReactNode; onSelectionChange?: (keys: Selection) => void; showTooltips?: boolean; enableAnimations?: boolean; enableBadges?: boolean; enableShortcuts?: boolean; } export declare const SidebarMenus: React.FC<SidebarMenusProps>; //# sourceMappingURL=SidebarMenus.d.ts.map