@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
26 lines (20 loc) • 1.87 kB
JavaScript
'use strict';
var _tslib = require('../chunks/bundle-Conb-pOy.js');
var React = require('react');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
var SPACE_FROM_TRIGGER = 8;
function TooltipWrapper(_a) {
var _b = _a.className, className = _b === void 0 ? '' : _b, children = _a.children, hoverTooltip = _a.hoverTooltip;
var _c = React.useState(false), showHoverTooltip = _c[0], setShowHoverTooltip = _c[1];
var childrenRef = React.useRef();
return (React__default.default.createElement("div", { className: _tslib.__spreadArray(_tslib.__spreadArray([], (Array.isArray(className) ? className : [className]), true), [
'sendbird-tooltip-wrapper',
], false).join(' '), onMouseOver: function () { setShowHoverTooltip(true); }, onFocus: function () { setShowHoverTooltip(true); }, onMouseOut: function () { setShowHoverTooltip(false); }, onBlur: function () { setShowHoverTooltip(false); } },
React__default.default.createElement("div", { className: "sendbird-tooltip-wrapper__children", ref: childrenRef }, children),
showHoverTooltip && (React__default.default.createElement("div", { className: "sendbird-tooltip-wrapper__hover-tooltip", style: { bottom: "calc(100% + ".concat(SPACE_FROM_TRIGGER, "px)") } },
React__default.default.createElement("div", { className: "sendbird-tooltip-wrapper__hover-tooltip__inner" },
React__default.default.createElement("div", { className: "sendbird-tooltip-wrapper__hover-tooltip__inner__tooltip-container", style: { left: childrenRef.current ? "calc(".concat(childrenRef.current.offsetWidth / 2, "px - 50%)") : undefined } }, hoverTooltip))))));
}
module.exports = TooltipWrapper;
//# sourceMappingURL=TooltipWrapper.js.map