SearchMenuItem.tsx 759 B

1234567891011121314151617181920212223242526272829303132333435
  1. import React from 'react';
  2. import type { GetItemProps } from '../interfaces/downshift';
  3. import styles from './SearchMenuItem.module.scss';
  4. type Props = {
  5. url: string
  6. index: number
  7. isActive: boolean
  8. getItemProps: GetItemProps
  9. children: React.ReactNode
  10. }
  11. export const SearchMenuItem = (props: Props): JSX.Element => {
  12. const {
  13. url, index, isActive, getItemProps, children,
  14. } = props;
  15. const itemMenuOptions = (
  16. getItemProps({
  17. index,
  18. item: { url },
  19. className: `d-flex align-items-center px-2 py-1 text-muted ${isActive ? 'active' : ''}`,
  20. })
  21. );
  22. return (
  23. <div className={`search-menu-item ${styles['search-menu-item']}`}>
  24. <li {...itemMenuOptions}>
  25. { children }
  26. </li>
  27. </div>
  28. );
  29. };