import { memo } from 'react' type VariableMenuItemProps = { title: string icon?: JSX.Element extraElement?: JSX.Element isSelected: boolean queryString: string | null onClick: () => void onMouseEnter: () => void setRefElement?: (element: HTMLDivElement) => void } export const VariableMenuItem = memo(({ title, icon, extraElement, isSelected, queryString, onClick, onMouseEnter, setRefElement, }: VariableMenuItemProps) => { let before = title let middle = '' let after = '' if (queryString) { const regex = new RegExp(queryString, 'i') const match = regex.exec(title) if (match) { before = title.substring(0, match.index) middle = match[0] after = title.substring(match.index + match[0].length) } } return (
{icon}
{before} {middle} {after}
{extraElement}
) }) VariableMenuItem.displayName = 'VariableMenuItem'