26 lines
725 B
TypeScript
26 lines
725 B
TypeScript
'use client';
|
|
|
|
import React from 'react';
|
|
|
|
type Props = {
|
|
children: React.ReactNode;
|
|
} & React.HTMLAttributes<HTMLDivElement>;
|
|
|
|
function MenuItemRendererComponent({ children, ...rest }: Props) {
|
|
return (
|
|
<div
|
|
{...rest}
|
|
className={`${rest.className} box-shadow-normal !pb-2 py-2 transition-all duration-200 ease-out w-full bg-container rounded-3xl px-4 flex items-center justify-between gap-4`}>
|
|
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|
|
|
|
// Memoize with shallow comparison of props
|
|
const MenuItemRenderer = React.memo(MenuItemRendererComponent, (prevProps, nextProps) => {
|
|
return prevProps.className === nextProps.className && prevProps.children === nextProps.children;
|
|
});
|
|
|
|
export default MenuItemRenderer;
|