diff options
Diffstat (limited to 'src/components/organisms/navbar/navbar.tsx')
| -rw-r--r-- | src/components/organisms/navbar/navbar.tsx | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/src/components/organisms/navbar/navbar.tsx b/src/components/organisms/navbar/navbar.tsx index ee379e9..39f3c45 100644 --- a/src/components/organisms/navbar/navbar.tsx +++ b/src/components/organisms/navbar/navbar.tsx @@ -4,26 +4,8 @@ import { type ReactNode, } from 'react'; import { List, type ListProps } from '../../atoms'; -import { NavbarItem, type NavbarItemProps } from './navbar-item'; import styles from './navbar.module.scss'; -export type NavbarItemData = Pick< - NavbarItemProps, - | 'icon' - | 'id' - | 'isActive' - | 'label' - | 'modalHeading' - | 'modalVisibleFrom' - | 'onDeactivate' - | 'onToggle' - | 'showIconOnModal' -> & { - contents: ReactNode; -}; - -export type NavbarItems = [NavbarItemData, NavbarItemData?, NavbarItemData?]; - export type NavbarProps = Omit< ListProps<false, false>, 'children' | 'hideMarker' | 'isHierarchical' | 'isInline' | 'isOrdered' @@ -34,25 +16,18 @@ export type NavbarProps = Omit< * The number of items should not exceed 3 because of the modal position on * small screens. */ - items: NavbarItems; + children: ReactNode; }; const NavbarWithRef: ForwardRefRenderFunction<HTMLUListElement, NavbarProps> = ( - { className = '', items, ...props }, + { children, className = '', ...props }, ref ) => { const wrapperClass = `${styles.wrapper} ${className}`; - const navItems = items.filter( - (item): item is NavbarItemData => item !== undefined - ); return ( <List {...props} className={wrapperClass} hideMarker isInline ref={ref}> - {navItems.map(({ contents, ...item }) => ( - <NavbarItem {...item} className={styles.item} key={item.id}> - {contents} - </NavbarItem> - ))} + {children} </List> ); }; |
