parent
f6bbbc56ba
commit
35a5733e82
@ -0,0 +1,27 @@
|
||||
import React from 'react';
|
||||
import '../style/deploy-dropdown.less';
|
||||
|
||||
interface DeployDropdownProps {
|
||||
items: { label: string; value: string; key: string; icon: React.ReactNode }[];
|
||||
onSelect: (item: {
|
||||
label: string;
|
||||
value: string;
|
||||
key: string;
|
||||
icon: React.ReactNode;
|
||||
}) => void;
|
||||
}
|
||||
|
||||
const DeployDropdown: React.FC<DeployDropdownProps> = ({ items, onSelect }) => {
|
||||
return (
|
||||
<div className="deploy-dropdown">
|
||||
{items.map((item) => (
|
||||
<div key={item.key} onClick={() => onSelect(item)} className="item">
|
||||
<span className="icon">{item.icon}</span>
|
||||
<span className="label">{item.label}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DeployDropdown;
|
||||
@ -0,0 +1,28 @@
|
||||
.deploy-dropdown {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
padding: var(--ant-padding-xxs);
|
||||
background-color: var(--ant-color-bg-elevated);
|
||||
background-clip: padding-box;
|
||||
border-radius: var(--ant-border-radius-lg);
|
||||
outline: none;
|
||||
box-shadow: var(--ant-box-shadow-secondary);
|
||||
|
||||
.item {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: var(--ant-dropdown-padding-block)
|
||||
var(--ant-control-padding-horizontal);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ant-control-item-bg-hover);
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue