aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
129 lines • 3.17 kB
TypeScript
import React from "react";
export interface NavigationItem {
id: string;
label: string;
href?: string;
icon?: React.ReactNode;
description?: string;
badge?: string | number;
disabled?: boolean;
external?: boolean;
children?: NavigationItem[];
action?: () => void;
separator?: boolean;
featured?: boolean;
}
export interface GlassNavigationMenuProps extends React.HTMLAttributes<HTMLElement> {
/**
* Navigation items
*/
items?: NavigationItem[];
/**
* Menu orientation
*/
orientation?: "horizontal" | "vertical";
/**
* Menu variant
*/
variant?: "default" | "sidebar" | "header";
/**
* Size variant
*/
size?: "sm" | "md" | "lg";
/**
* Active item ID
*/
activeItem?: string;
/**
* Custom className
*/
className?: string;
/**
* Whether menu is collapsed (for sidebar variant)
*/
collapsed?: boolean;
/**
* Callback when item is clicked
*/
onItemClick?: (item: NavigationItem) => void;
}
export interface GlassNavigationMenuContentProps {
/**
* Menu content
*/
children: React.ReactNode;
/**
* Content className
*/
className?: string;
/**
* Whether content is open
*/
isOpen?: boolean;
}
export interface GlassNavigationMenuItemProps {
/**
* Navigation item
*/
item: NavigationItem;
/**
* Whether item is active
*/
isActive?: boolean;
/**
* Whether item has submenu open
*/
hasSubmenuOpen?: boolean;
/**
* Whether menu is collapsed
*/
collapsed?: boolean;
/**
* Size variant
*/
size?: "sm" | "md" | "lg";
/**
* Callback when item is clicked
*/
onClick: (item: NavigationItem) => void;
/**
* Callback to toggle submenu
*/
onToggleSubmenu: (itemId: string) => void;
/**
* Custom className
*/
className?: string;
}
/**
* GlassNavigationMenu component
* Advanced glassmorphism navigation menu with nested items
*/
export declare const GlassNavigationMenu: React.FC<GlassNavigationMenuProps>;
/**
* GlassNavigationMenuContent component
* Container for navigation menu content
*/
export declare const GlassNavigationMenuContent: React.FC<GlassNavigationMenuContentProps>;
/**
* GlassNavigationMenuItem component
* Individual navigation menu item
*/
export declare const GlassNavigationMenuItem: React.FC<GlassNavigationMenuItemProps>;
/**
* Hook for managing navigation menu state
*/
export declare const useNavigationMenu: (initialActiveItem?: string) => {
activeItem: string | undefined;
setActiveItem: React.Dispatch<React.SetStateAction<string | undefined>>;
collapsed: boolean;
setCollapsed: React.Dispatch<React.SetStateAction<boolean>>;
navigateTo: (item: NavigationItem) => void;
toggleCollapsed: () => void;
};
/**
* Preset navigation configurations
*/
export declare const createDashboardNavigation: () => NavigationItem[];
export declare const createAdminNavigation: () => NavigationItem[];
//# sourceMappingURL=GlassNavigationMenu.d.ts.map