Files
Verso/services/web/frontend/js/features/ui/components/ol/ol-dropdown-menu-item.tsx
T
Tim Down b3edd2b6c6 Merge pull request #22288 from overleaf/td-history-dropdown-layout-fix
Fix history dropdown layout issue in Bootstrap 3

GitOrigin-RevId: 85709eaa45fd496128afb95738841894c5d211dd
2024-12-04 09:04:51 +00:00

45 lines
1.2 KiB
TypeScript

import { MenuItem, MenuItemProps } from 'react-bootstrap'
import { DropdownItem } from '@/features/ui/components/bootstrap-5/dropdown-menu'
import { DropdownItemProps } from '@/features/ui/components/types/dropdown-menu-props'
import BootstrapVersionSwitcher from '@/features/ui/components/bootstrap-5/bootstrap-version-switcher'
import DropdownListItem from '@/features/ui/components/bootstrap-5/dropdown-list-item'
type OLDropdownMenuItemProps = DropdownItemProps & {
bs3Props?: MenuItemProps
}
// This represents a menu item. It wraps the item within an <li> element.
function OLDropdownMenuItem(props: OLDropdownMenuItemProps) {
const { bs3Props, ...rest } = props
const bs3MenuItemProps: MenuItemProps = {
children: rest.leadingIcon ? (
<>
{rest.leadingIcon}
&nbsp;
{rest.children}
</>
) : (
rest.children
),
onClick: rest.onClick,
href: rest.href,
download: rest.download,
eventKey: rest.eventKey,
...bs3Props,
}
return (
<BootstrapVersionSwitcher
bs3={<MenuItem {...bs3MenuItemProps} />}
bs5={
<DropdownListItem>
<DropdownItem {...rest} />
</DropdownListItem>
}
/>
)
}
export default OLDropdownMenuItem