mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 02:43:49 +08:00
28 lines
819 B
TypeScript
28 lines
819 B
TypeScript
import type { RemixiconComponentType } from '@remixicon/react'
|
|
import * as React from 'react'
|
|
|
|
type MenuItemProps = {
|
|
name: string
|
|
Icon: RemixiconComponentType
|
|
handleClick?: () => void
|
|
}
|
|
|
|
const MenuItem = ({ Icon, name, handleClick }: MenuItemProps) => {
|
|
return (
|
|
<button
|
|
type="button"
|
|
className="flex appearance-none items-center gap-x-1 rounded-lg px-2 py-1.5 text-start outline-hidden hover:bg-state-base-hover focus-visible:ring-2 focus-visible:ring-state-accent-solid"
|
|
onClick={(e) => {
|
|
e.preventDefault()
|
|
e.stopPropagation()
|
|
handleClick?.()
|
|
}}
|
|
>
|
|
<Icon aria-hidden className="size-4 text-text-tertiary" />
|
|
<span className="px-1 system-md-regular text-text-secondary">{name}</span>
|
|
</button>
|
|
)
|
|
}
|
|
|
|
export default React.memo(MenuItem)
|