import React, { forwardRef } from 'react' import { Dropdown as BS5Dropdown, DropdownToggle as BS5DropdownToggle, DropdownMenu as BS5DropdownMenu, DropdownItem as BS5DropdownItem, DropdownDivider as BS5DropdownDivider, DropdownHeader as BS5DropdownHeader, } from 'react-bootstrap-5' import type { DropdownProps, DropdownItemProps, DropdownToggleProps, DropdownMenuProps, DropdownDividerProps, DropdownHeaderProps, } from '@/features/ui/components/types/dropdown-menu-props' import MaterialIcon from '@/shared/components/material-icon' export function Dropdown({ ...props }: DropdownProps) { return } export const DropdownItem = forwardRef< typeof BS5DropdownItem, DropdownItemProps >( ( { active, children, description, leadingIcon, trailingIcon, ...props }, ref ) => { let leadingIconComponent = null if (leadingIcon) { if (typeof leadingIcon === 'string') { leadingIconComponent = ( ) } else { leadingIconComponent = ( ) } } let trailingIconComponent = null if (trailingIcon) { if (typeof trailingIcon === 'string') { const trailingIconType = active ? 'check' : trailingIcon trailingIconComponent = ( ) } else { trailingIconComponent = ( ) } } return ( {leadingIconComponent} {children} {trailingIconComponent} {description && ( {description} )} ) } ) DropdownItem.displayName = 'DropdownItem' export function DropdownToggle({ ...props }: DropdownToggleProps) { return } export function DropdownMenu({ as = 'ul', ...props }: DropdownMenuProps) { return } export function DropdownDivider({ as = 'li' }: DropdownDividerProps) { return } export function DropdownHeader({ as = 'li', ...props }: DropdownHeaderProps) { return }