Menu
Die Menu-Komponente bietet eine flexible Möglichkeit, Navigationsmenüs und Dropdown-Menüs zu erstellen. Sie kann sowohl für horizontale als auch vertikale Menüs verwendet werden und unterstützt verschiedene Varianten und Größen.
Import
import { Menu, MenuItem, MenuDropdown } from '@smolitux/core';
Verwendung
Einfaches Menü
<Menu>
<MenuItem id="home">Home</MenuItem>
<MenuItem id="products">Produkte</MenuItem>
<MenuItem id="about">Über uns</MenuItem>
<MenuItem id="contact">Kontakt</MenuItem>
</Menu>
Menü mit Icons
import { HomeIcon, ShoppingCartIcon, InformationCircleIcon, MailIcon } from '@heroicons/react/outline';
<Menu>
<MenuItem id="home" icon={<HomeIcon className="w-5 h-5" />}>Home</MenuItem>
<MenuItem id="products" icon={<ShoppingCartIcon className="w-5 h-5" />}>Produkte</MenuItem>
<MenuItem id="about" icon={<InformationCircleIcon className="w-5 h-5" />}>Über uns</MenuItem>
<MenuItem id="contact" icon={<MailIcon className="w-5 h-5" />}>Kontakt</MenuItem>
</Menu>
Horizontales Menü
<Menu direction="horizontal">
<MenuItem id="home">Home</MenuItem>
<MenuItem id="products">Produkte</MenuItem>
<MenuItem id="about">Über uns</MenuItem>
<MenuItem id="contact">Kontakt</MenuItem>
</Menu>
Menü mit aktiven Items
import { useState } from 'react';
function ControlledMenu() {
const [activeItem, setActiveItem] = useState('home');
const handleItemSelect = (itemId) => {
setActiveItem(itemId);
};
return (
<Menu activeItem={activeItem} onItemSelect={handleItemSelect}>
<MenuItem id="home">Home</MenuItem>
<MenuItem id="products">Produkte</MenuItem>
<MenuItem id="about">Über uns</MenuItem>
<MenuItem id="contact">Kontakt</MenuItem>
</Menu>
);
}
Dropdown-Menü
<MenuDropdown
trigger={<Button>Optionen</Button>}
placement="bottom-start"
>
<MenuItem id="edit">Bearbeiten</MenuItem>
<MenuItem id="duplicate">Duplizieren</MenuItem>
<MenuItem id="delete">Löschen</MenuItem>
</MenuDropdown>