UNPKG

@gechiui/components

Version:
71 lines (67 loc) 1.64 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; // @ts-nocheck /** * External dependencies */ import classnames from 'classnames'; /** * GeChiUI dependencies */ import { useCallback, useEffect, useState } from '@gechiui/element'; /** * Internal dependencies */ import { Tooltip } from './styles/range-control-styles'; export default function SimpleTooltip(_ref) { let { className, inputRef, tooltipPosition, show = false, style = {}, value = 0, renderTooltipContent = v => v, zIndex = 100, ...restProps } = _ref; const position = useTooltipPosition({ inputRef, tooltipPosition }); const classes = classnames('components-simple-tooltip', className); const styles = { ...style, zIndex }; return createElement(Tooltip, _extends({}, restProps, { "aria-hidden": show, className: classes, position: position, show: show, role: "tooltip", style: styles }), renderTooltipContent(value)); } function useTooltipPosition(_ref2) { let { inputRef, tooltipPosition } = _ref2; const [position, setPosition] = useState(); const setTooltipPosition = useCallback(() => { if (inputRef && inputRef.current) { setPosition(tooltipPosition); } }, [tooltipPosition]); useEffect(() => { setTooltipPosition(); }, [setTooltipPosition]); useEffect(() => { window.addEventListener('resize', setTooltipPosition); return () => { window.removeEventListener('resize', setTooltipPosition); }; }); return position; } //# sourceMappingURL=tooltip.js.map