@accelint/design-toolkit
Version:
An open-source component library to serve as part of the entire ecosystem of UX for Accelint.
74 lines (71 loc) • 1.9 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { MenuProps } from './types.js';
import 'react';
import 'react-aria-components';
import 'tailwind-variants';
import '../icon/types.js';
import './styles.js';
/**
* Menu - A dropdown menu component with keyboard navigation and selection
*
* Provides accessible dropdown menu functionality with support for single and
* multiple selection modes. Includes sections, separators, and submenu support
* with comprehensive keyboard navigation and ARIA compliance.
*
* @example
* // Basic menu with trigger
* <MenuTrigger>
* <Button>Open Menu</Button>
* <Menu>
* <MenuItem>Edit</MenuItem>
* <MenuItem>Copy</MenuItem>
* <MenuItem>Delete</MenuItem>
* </Menu>
* </MenuTrigger>
*
* @example
* // Menu with sections and separators
* <MenuTrigger>
* <Button>Open</Button>
* <Menu>
* <MenuSection>
* <MenuItem>New File</MenuItem>
* <MenuItem>Open File</MenuItem>
* </MenuSection>
*
* <MenuSeparator />
*
* <MenuItem>Settings</MenuItem>
* </Menu>
* </MenuTrigger>
*
* @example
* // Menu with selection
* <MenuTrigger>
* <Button>Group</Button>
* <Menu selectionMode='multiple'>
* <MenuItem>Option 1</MenuItem>
* <MenuItem>Option 2</MenuItem>
* </Menu>
* </MenuTrigger>
*
* @example
* // Menu with submenu
* <MenuTrigger>
* <Button>Actions</Button>
* <Menu>
* <MenuItem>New File</MenuItem>
* <MenuSubmenu>
* <MenuItem>Export</MenuItem>
* <Menu>
* <MenuItem>Export as PDF</MenuItem>
* <MenuItem>Export as CSV</MenuItem>
* <MenuItem>Export as JSON</MenuItem>
* </Menu>
* </MenuSubmenu>
* <MenuItem>Delete</MenuItem>
* </Menu>
* </MenuTrigger>
*/
declare function Menu<T extends object>({ ref, ...props }: MenuProps<T>): react_jsx_runtime.JSX.Element;
export { Menu };