mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-04 22:15:55 -05:00
92eade7502
[web] BS5 pdf toolbar GitOrigin-RevId: a04091c9e936e52f47c3977b3149ffe613d43bb9
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import Tooltip from '@/features/ui/components/bootstrap-5/tooltip'
|
|
import BS3Tooltip from '@/shared/components/tooltip'
|
|
import BootstrapVersionSwitcher from '@/features/ui/components/bootstrap-5/bootstrap-version-switcher'
|
|
|
|
type OLTooltipProps = React.ComponentProps<typeof Tooltip> & {
|
|
bs3Props?: Record<string, unknown>
|
|
}
|
|
|
|
function OLTooltip(props: OLTooltipProps) {
|
|
const { bs3Props, ...bs5Props } = props
|
|
|
|
type BS3TooltipProps = React.ComponentProps<typeof BS3Tooltip>
|
|
|
|
const bs3TooltipProps: BS3TooltipProps = {
|
|
children: bs5Props.children,
|
|
id: bs5Props.id,
|
|
description: bs5Props.description,
|
|
tooltipProps: bs5Props.tooltipProps as BS3TooltipProps,
|
|
overlayProps: {
|
|
placement: bs5Props.overlayProps?.placement,
|
|
},
|
|
...bs3Props,
|
|
}
|
|
|
|
if ('hidden' in bs5Props) {
|
|
bs3TooltipProps.hidden = bs5Props.hidden
|
|
}
|
|
|
|
const delay = bs5Props.overlayProps?.delay
|
|
if (delay && typeof delay !== 'number') {
|
|
bs3TooltipProps.overlayProps = {
|
|
...bs3TooltipProps.overlayProps,
|
|
delayShow: delay.show,
|
|
delayHide: delay.hide,
|
|
}
|
|
}
|
|
|
|
return (
|
|
<BootstrapVersionSwitcher
|
|
bs3={<BS3Tooltip {...bs3TooltipProps} />}
|
|
bs5={<Tooltip {...bs5Props} />}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default OLTooltip
|