import React from 'react'; import { useStyles } from '../../core/hooks/useStyles'; import { useTheme } from '../../core/theme/ThemeProvider'; import { Text } from '../Text/Text'; interface ListProps extends React.HTMLAttributes { children: React.ReactNode; } export const List: React.FC = ({ children, className = '', ...props }) => { const { theme } = useTheme(); const createStyle = useStyles('list'); const listClass = createStyle({ listStyle: 'none', padding: 0, margin: 0, display: 'grid', backdropFilter: 'blur(8px)', borderRadius: '8px', border: `1px solid ${theme.colors.border}`, overflow: 'hidden', }); return ; }; interface ListItemProps extends React.LiHTMLAttributes { children: React.ReactNode; } export const ListItem: React.FC = ({ children, className = '', ...props }) => { const { theme } = useTheme(); const createStyle = useStyles('list-item'); const itemClass = createStyle({ display: 'grid', alignItems: 'center', gridTemplateColumns: '1fr auto', gap: theme.spacing.md, padding: `${theme.spacing.sm} ${theme.spacing.md}`, color: theme.colors.text, transition: 'background-color 0.2s', '&:hover': { backgroundColor: 'rgba(255, 255, 255, 0.05)', } }); return
  • {children}
  • ; }; interface ListItemBodyProps extends React.HTMLAttributes { children: React.ReactNode; } export const ListItemBody: React.FC = ({ children, className, ...props }) => { const createStyle = useStyles('list-item-body'); const bodyClass = createStyle({ minWidth: 0, }); return
    {children}
    ; } interface ListItemTextProps { primary: React.ReactNode; secondary?: React.ReactNode; } export const ListItemText: React.FC = ({ primary, secondary }) => { const { theme } = useTheme(); return (
    {primary} {secondary && {secondary}}
    ); };