react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
40 lines • 1.37 kB
JavaScript
import { Registry } from '../../../lib/di';
import { withDefaultProps } from '../../../hocs/withDefaultProps';
import { cnMenu } from '../Menu';
import { MenuContainer } from '../Container/Menu-Container';
import { MenuGroup } from '../Group/Menu-Group';
import { MenuItem } from '../Item/Menu-Item';
import { ItemText } from '../ItemText/Menu-ItemText';
import { Textinput } from '../../Textinput/Textinput.bundle/desktop';
import { MenuSearch } from '../Search/Menu-Search';
import { ItemContent } from '../ItemContent/Menu-ItemContent';
import { ItemTick } from '../ItemTick/Menu-ItemTick';
// Build icon
import { compose } from '../../../lib/compose';
import { Icon as IconBase } from '../../Icon/Icon';
import { withModIconSizeS } from '../../Icon/_size/Icon_size_s';
import { withModIconGlyphCheck } from '../../Icon/_glyph/Icon_glyph_check';
var Icon = compose(withModIconGlyphCheck, withModIconSizeS)(IconBase);
Icon.defaultProps = {
size: 's',
scalable: true
};
export var regObjects = {
Container: MenuContainer,
Group: MenuGroup,
Item: MenuItem,
ItemText: ItemText,
// Search
Input: withDefaultProps(Textinput, {
hasClear: true,
size: 's'
}),
SearchInput: MenuSearch,
// Selected mods
ItemContent: ItemContent,
ItemTick: ItemTick,
ItemIcon: Icon
};
export var MenuRegistry = new Registry({
id: cnMenu()
}).fill(regObjects);