ghost-portal/packages/react-components/src/Menu/index.tsx
2026-01-30 11:03:02 +01:00

40 lines
898 B
TypeScript

// Copyright 2017-2026 @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;