import React, { memo } from 'react'; import type { TooltipProps } from '@redocly/theme/core/types'; import { Tooltip as AnchorTooltip } from '@redocly/theme/components/Tooltip/AnchorTooltip'; import { Tooltip as JsTooltip } from '@redocly/theme/components/Tooltip/JsTooltip'; import { useThemeHooks } from '@redocly/theme/core/hooks'; import { getDefaultFallbackPlacements } from '@redocly/theme/core/utils'; function TooltipComponent(props: TooltipProps): React.ReactElement { const { useAnchorPositioning } = useThemeHooks(); const { isSupported } = useAnchorPositioning(); const fallbackPlacements = props.fallbackPlacements ?? getDefaultFallbackPlacements(props.placement ?? 'top'); if (isSupported) { return ( ); } return ; } export const Tooltip = memo(TooltipComponent); const prepareArrowPosition = (arrowPosition: TooltipProps['arrowPosition']) => { if (arrowPosition === 'bottom' || arrowPosition === 'top') { return 'center'; } return arrowPosition; };