mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-12 01:11:41 +00:00
23 lines
919 B
TypeScript
23 lines
919 B
TypeScript
import { Dropdown as AntdDropdown } from 'antd';
|
|
import React, { useMemo } from 'react';
|
|
|
|
import { DropdownProps } from '@components/components/Dropdown/types';
|
|
import { useOverlayClassStackContext } from '@components/components/Utils/OverlayClassContext/OverlayClassContext';
|
|
|
|
export default function Dropdown({ children, overlayClassName, ...props }: React.PropsWithChildren<DropdownProps>) {
|
|
// Get all overlay classes from parents
|
|
const overlayClassNames = useOverlayClassStackContext();
|
|
const finalOverlayClassName = useMemo(() => {
|
|
if (overlayClassName) {
|
|
return [...overlayClassNames, overlayClassName].join(' ');
|
|
}
|
|
return overlayClassNames.join(' ');
|
|
}, [overlayClassName, overlayClassNames]);
|
|
|
|
return (
|
|
<AntdDropdown trigger={['click']} {...props} overlayClassName={finalOverlayClassName}>
|
|
{children}
|
|
</AntdDropdown>
|
|
);
|
|
}
|