44 lines
2.0 KiB
JavaScript
44 lines
2.0 KiB
JavaScript
import { themr } from 'react-css-themr';
|
|
import { LIST } from '../identifiers';
|
|
import { Avatar } from '../avatar';
|
|
import { Checkbox } from '../checkbox';
|
|
import { ListItemText } from './ListItemText';
|
|
import { ListItemAction } from './ListItemAction';
|
|
import { ListSubHeader } from './ListSubHeader';
|
|
import { ListDivider } from './ListDivider';
|
|
import { listFactory } from './List';
|
|
import { listItemFactory } from './ListItem';
|
|
import { listCheckboxFactory } from './ListCheckbox';
|
|
import { listItemActionsFactory } from './ListItemActions';
|
|
import { listItemContentFactory } from './ListItemContent';
|
|
import { listItemLayoutFactory } from './ListItemLayout';
|
|
import themedRippleFactory from '../ripple';
|
|
import theme from './theme.css';
|
|
|
|
const applyTheme = Component => themr(LIST, theme)(Component);
|
|
const ripple = themedRippleFactory({ centered: false, listItemIgnore: true });
|
|
const ThemedListItemAction = applyTheme(ListItemAction);
|
|
const ThemedListSubHeader = applyTheme(ListSubHeader);
|
|
const ThemedListItemText = applyTheme(ListItemText);
|
|
const ThemedListDivider = applyTheme(ListDivider);
|
|
const ThemedListItemContent = applyTheme(listItemContentFactory(ThemedListItemText));
|
|
const ThemedListItemActions = applyTheme(listItemActionsFactory(ThemedListItemAction));
|
|
const ThemedListItemLayout = applyTheme(
|
|
listItemLayoutFactory(Avatar, ThemedListItemContent, ThemedListItemActions),
|
|
);
|
|
const ThemedListCheckbox = applyTheme(listCheckboxFactory(Checkbox, ThemedListItemContent));
|
|
const ThemedListItem = applyTheme(
|
|
listItemFactory(ripple, ThemedListItemLayout, ThemedListItemContent),
|
|
);
|
|
const ThemedList = applyTheme(listFactory(ThemedListItem));
|
|
|
|
export { ThemedListItemActions as ListItemActions };
|
|
export { ThemedListItemContent as ListItemContent };
|
|
export { ThemedListItemLayout as ListItemLayout };
|
|
export { ThemedListSubHeader as ListSubHeader };
|
|
export { ThemedListItemText as ListItemText };
|
|
export { ThemedListCheckbox as ListCheckbox };
|
|
export { ThemedListDivider as ListDivider };
|
|
export { ThemedListItem as ListItem };
|
|
export { ThemedList as List };
|