UNPKG

@atlaskit/renderer

Version:
35 lines 1.58 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 var RangeValidator = function RangeValidator(props) { var component = props.component, rendererRef = props.rendererRef, createAnalyticsEvent = props.createAnalyticsEvent; var actions = useContext(ActionsContext); var _useAnnotationRangeDi = useAnnotationRangeDispatch(), clearHoverRange = _useAnnotationRangeDi.clearHoverRange; var _useAnnotationRangeSt = useAnnotationRangeState(), range = _useAnnotationRangeSt.range, type = _useAnnotationRangeSt.type; var _useAnnotationHoverCo = useAnnotationHoverContext(), isWithinRange = _useAnnotationHoverCo.isWithinRange; if (!range || type !== 'hover') { return null; } var 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';