* Use .js imports in src * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Add WP extension aliases * Bump dev * Additional * Additional * Adjust extensionAlias order
40 lines
898 B
TypeScript
40 lines
898 B
TypeScript
// Copyright 2017-2023 @polkadot/react-components authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import type { BaseProps, MenuType } from './types.js';
|
|
|
|
import React from 'react';
|
|
|
|
import { styled } from '../styled.js';
|
|
import Divider from './Divider.js';
|
|
import Header from './Header.js';
|
|
import Item from './Item.js';
|
|
|
|
function Base ({ children, className = '' }: BaseProps): React.ReactElement<BaseProps> {
|
|
return (
|
|
<StyledDiv className={`${className} ui--Menu`}>
|
|
{children}
|
|
</StyledDiv>
|
|
);
|
|
}
|
|
|
|
const StyledDiv = styled.div`
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 14.286rem;
|
|
margin: 1rem 0;
|
|
|
|
& > *:not(.ui--Menu__Item):not(.ui--Menu__Divider) {
|
|
margin-right: 1rem;
|
|
margin-left: 1rem;
|
|
}
|
|
`;
|
|
|
|
const Menu = React.memo(Base) as unknown as MenuType;
|
|
|
|
Menu.Divider = Divider;
|
|
Menu.Item = Item;
|
|
Menu.Header = Header;
|
|
|
|
export default Menu;
|