@nguyentc21/react-native-tooltip
Version:
Simple tooltip for React native app
40 lines • 1.3 kB
JavaScript
import { useMemo } from 'react';
import generateTooltipPosition from '../utils/tooltip/generateTooltipPosition';
import generateCaretPosition from '../utils/caret/generateCaretPosition';
import { DEFAULT_SAFE_AREA_INSETS } from '../constants';
const useTooltipPosition = ({
placement,
safeAreaInsets = DEFAULT_SAFE_AREA_INSETS,
dimension,
targetContentLayout,
tooltipContentLayout
}) => {
return useMemo(() => {
if (!targetContentLayout) return undefined;
return generateTooltipPosition({
dimension,
tooltipContentLayout,
targetContentLayout,
placement,
safeAreaInsets
});
}, [dimension.width, dimension.height, safeAreaInsets.top, safeAreaInsets.bottom, safeAreaInsets.left, safeAreaInsets.right, tooltipContentLayout, targetContentLayout, placement]);
};
const useCaretPosition = ({
placement,
targetContentLayout,
tooltipContentLayout,
caretSize
}) => {
return useMemo(() => {
if (!targetContentLayout || !caretSize) return undefined;
return generateCaretPosition({
placement,
caretSize,
targetContentLayout,
tooltipContentLayout
});
}, [placement, caretSize, targetContentLayout, tooltipContentLayout]);
};
export { useTooltipPosition, useCaretPosition };
//# sourceMappingURL=usePosition.js.map