UNPKG

@atlaskit/renderer

Version:
40 lines 1.33 kB
import React, { useContext } from 'react'; import { Mounter } from './mounter'; import { RendererContext as ActionsContext } from '../../RendererActionsContext'; import { useAnnotationRangeDispatch, useAnnotationRangeState } from '../contexts/AnnotationRangeContext'; import { useAnnotationHoverContext } from '../contexts/AnnotationHoverContext'; export const RangeValidator = props => { const { component, rendererRef, createAnalyticsEvent } = props; const actions = useContext(ActionsContext); const { clearHoverRange } = useAnnotationRangeDispatch(); const { range, type } = useAnnotationRangeState(); const { isWithinRange } = useAnnotationHoverContext(); if (!range || type !== 'hover') { return null; } const documentPosition = actions.getPositionFromRange(range); return /*#__PURE__*/React.createElement(Mounter, { isWithinRange: isWithinRange, range: range, wrapperDOM: rendererRef, component: component, onClose: clearHoverRange, documentPosition: documentPosition, isAnnotationAllowed: true, applyAnnotation: actions.applyAnnotation.bind(actions), generateIndexMatch: actions.generateAnnotationIndexMatch.bind(actions), createAnalyticsEvent: createAnalyticsEvent }); }; RangeValidator.displayName = 'HoverRangeValidator';