@unicity/design-system
Version:
A comprehensive React component library built on Material-UI with advanced theming capabilities including neumorphism design support
104 lines • 2.13 kB
TypeScript
import React from 'react';
import { DrawerProps as MuiDrawerProps } from '@mui/material';
export interface DrawerItem {
/**
* Unique identifier
*/
id: string;
/**
* Display label
*/
label: string;
/**
* Icon component
*/
icon?: React.ReactNode;
/**
* Destination path/route
*/
path?: string;
/**
* Click handler
*/
onClick?: () => void;
/**
* Whether item is selected/active
*/
selected?: boolean;
/**
* Whether item is disabled
*/
disabled?: boolean;
/**
* Nested children items
*/
children?: DrawerItem[];
/**
* Whether children are expanded by default
*/
defaultExpanded?: boolean;
/**
* Badge content
*/
badge?: string | number;
/**
* Whether to show divider after item
*/
divider?: boolean;
}
export interface DrawerProps extends Omit<MuiDrawerProps, 'variant'> {
/**
* Whether drawer is open
*/
open: boolean;
/**
* Callback fired when drawer should close
*/
onClose?: () => void;
/**
* Callback fired when drawer should toggle
*/
onToggle?: () => void;
/**
* Drawer variant
*/
variant?: 'temporary' | 'permanent' | 'persistent';
/**
* Visual style variant
*/
styleVariant?: 'default' | 'mini' | 'rail';
/**
* Drawer anchor position
*/
anchor?: 'left' | 'right' | 'top' | 'bottom';
/**
* Navigation items
*/
items: DrawerItem[];
/**
* Header content
*/
header?: React.ReactNode;
/**
* Footer content
*/
footer?: React.ReactNode;
/**
* Whether to show close button in header
*/
showCloseButton?: boolean;
/**
* Custom width
*/
width?: number;
/**
* Whether to auto-close on mobile
*/
autoCloseMobile?: boolean;
/**
* Callback fired when item is clicked
*/
onItemClick?: (item: DrawerItem) => void;
}
export declare const Drawer: React.FC<DrawerProps>;
//# sourceMappingURL=Drawer.d.ts.map