import React from 'react';
import { Popper, PopperTrigger, PopperContent, usePopperContext } from '../Popper/Popper';
import { useStyles } from '../../core/hooks/useStyles';
import { useTheme } from '../../core/theme/ThemeProvider';
export const Dropdown: React.FC<{ children: React.ReactNode }> = ({ children }) => {children};
export const DropdownTrigger: React.FC<{ children: React.ReactNode }> = ({ children }) => {children};
export const DropdownContent: React.FC<{ children: React.ReactNode; className?: string }> = ({ children, className = '' }) => {
const { theme } = useTheme();
const createStyle = useStyles('dropdown-content');
const contentClass = createStyle({
backgroundColor: theme.colors.backgroundSecondary,
borderRadius: '6px',
border: `1px solid ${theme.colors.border}`,
boxShadow: `0 4px 12px rgba(0,0,0,0.5)`,
zIndex: 50,
overflow: 'hidden',
padding: '4px',
minWidth: '180px',
'@supports (backdrop-filter: none) or (-webkit-backdrop-filter: none)': {
backdropFilter: 'blur(16px)',
},
});
return {children};
};
export const DropdownItem: React.FC> = ({ children, className, ...props }) => {
const { theme } = useTheme();
const createStyle = useStyles('dropdown-item');
const { setIsOpen } = usePopperContext();
const itemClass = createStyle({
width: '100%',
padding: '8px 12px',
border: 'none',
backgroundColor: 'transparent',
textAlign: 'left',
cursor: 'pointer',
display: 'grid',
gridTemplateColumns: 'auto 1fr',
alignItems: 'center',
gap: theme.spacing.sm,
color: theme.colors.textSecondary,
transition: 'all 0.2s ease',
borderRadius: '4px',
fontSize: '14px',
'&:hover': {
backgroundColor: 'rgba(255, 255, 255, 0.1)',
color: theme.colors.text,
}
});
const handleClick = (e: React.MouseEvent) => {
props.onClick?.(e);
setIsOpen(false);
};
return ;
};