@nguyentc21/react-native-tooltip
Version:
Simple tooltip for React native app
48 lines (47 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTooltipPosition = exports.useCaretPosition = void 0;
var _react = require("react");
var _generateTooltipPosition = _interopRequireDefault(require("../utils/tooltip/generateTooltipPosition"));
var _generateCaretPosition = _interopRequireDefault(require("../utils/caret/generateCaretPosition"));
var _constants = require("../constants");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const useTooltipPosition = ({
placement,
safeAreaInsets = _constants.DEFAULT_SAFE_AREA_INSETS,
dimension,
targetContentLayout,
tooltipContentLayout
}) => {
return (0, _react.useMemo)(() => {
if (!targetContentLayout) return undefined;
return (0, _generateTooltipPosition.default)({
dimension,
tooltipContentLayout,
targetContentLayout,
placement,
safeAreaInsets
});
}, [dimension.width, dimension.height, safeAreaInsets.top, safeAreaInsets.bottom, safeAreaInsets.left, safeAreaInsets.right, tooltipContentLayout, targetContentLayout, placement]);
};
exports.useTooltipPosition = useTooltipPosition;
const useCaretPosition = ({
placement,
targetContentLayout,
tooltipContentLayout,
caretSize
}) => {
return (0, _react.useMemo)(() => {
if (!targetContentLayout || !caretSize) return undefined;
return (0, _generateCaretPosition.default)({
placement,
caretSize,
targetContentLayout,
tooltipContentLayout
});
}, [placement, caretSize, targetContentLayout, tooltipContentLayout]);
};
exports.useCaretPosition = useCaretPosition;
//# sourceMappingURL=usePosition.js.map